Computer Networks

Computer Networks

本篇笔记主要讲解计算机网络的常见网络模型和常见协议。主要应对面试八股文场景和修考简答题。

催更|辅导|私塾兼职|联系偷偷:LifeGoesOn_Rio

1. 计算机网络概述

计算机网络(Computer Network)是由若干独立的计算机通过通信线路和网络设备互联起来,在网络协议(Network Protocol)的控制下,实现资源共享与信息传递的系统。

核心要点:

  • 独立性:每台计算机能独立工作。
  • 互联性:通过传输介质(有线/无线)和网络设备互连。
  • 共享性:硬件、软件、数据等资源共享。

计算机网络的功能

  1. 数据通信:实现不同计算机之间的信息交换。
  2. 资源共享:共享硬件(打印机)、软件(应用系统)、数据(数据库)。
  3. 分布式处理:多台计算机协同完成一项复杂任务。
  4. 提高可靠性:一台计算机故障时,任务可转移到其他机器。
  5. 负载均衡:通过网络合理分配计算或通信任务。

一个网络主要由三部分组成:

  • 硬件:主机、通信链路(双绞线、光纤、无线)、路由器、交换机等。
  • 软件:网络操作系统、各种网络协议、应用程序。
  • 协议:通信双方必须遵循的规则和约定(例如 TCP/IP 协议族)。

计算机网络的分类

按照不同标准可以有不同的分类方式:

  1. 按覆盖范围

    • 局域网(LAN, Local Area Network):范围小,速度快。
    • 城域网(MAN, Metropolitan Area Network):覆盖一个城市。
    • 广域网(WAN, Wide Area Network):覆盖范围广,常用互联网技术。
  2. 按拓扑结构

    • 总线型、星型、环型、网状型。
  3. 按使用者

    • 公用网(例如互联网)。
    • 专用网(例如企业内部网)。

计算机网络的性能指标

  1. 速率(Rate):数据传输速率,单位 bps。
  2. 带宽(Bandwidth):网络信道所能支持的最高速率。
  3. 吞吐量(Throughput):单位时间内通过网络的数据量。
  4. 时延(Delay):数据从源到目的地的时间,包括发送、传播、排队、处理时延。
  5. 时延带宽积:链路的“容量”衡量(传播时延 × 带宽)。
  6. 往返时延 RTT:数据报文往返一次所需时间。
  7. 丢包率:传输中丢失分组的比率。
  8. 可靠性:网络正常运行的稳定性。

计算机网络的体系结构

常见的两种分层模型:

  1. OSI七层模型

    • 物理层 → 数据链路层 → 网络层 → 传输层 → 会话层 → 表示层 → 应用层。
    • 主要是理论模型,定义清晰。
  2. TCP/IP四层模型

    • 网络接口层 → 网际层 → 传输层 → 应用层。
    • 目前互联网实际采用的模型。

计算机网络的发展阶段

  1. 单机时代:计算机独立运行。
  2. 联机批处理和分时系统:资源有限的共享。
  3. 计算机网络时代:通过局域网、广域网互联。
  4. 互联网时代:TCP/IP 协议广泛应用,全球互联。
  5. 下一代网络:IPv6、物联网、云计算、大数据、5G/6G。

1.1 互联网的构成

互联网是一个分层结构的大型网络系统,从功能上可以分为两大部分:

  • 网络边缘(Network Edge)
  • 网络核心(Network Core)

1.1.1 网络边缘(Network Edge)

定义
网络边缘是 所有连接到互联网的终端设备与其接入部分

主要组成

  1. 端系统(End Systems)

    • 又称为主机(Host),位于“边缘”位置。
    • 包括个人电脑、智能手机、服务器、物联网设备等。
  2. 接入网络(Access Networks)

    • 端系统与互联网核心连接的途径。

    • 常见方式:

      • 家庭网络(光纤接入、DSL、Wi-Fi)
      • 企业/校园网络(以太网、Wi-Fi)
      • 移动网络(4G/5G 基站接入)

边缘设备的作用

  • 运行网络应用(如浏览器、邮件客户端)。
  • 通过 传输层协议(TCP/UDP)进行进程间通信。

1.1.2 网络核心(Network Core)

定义
网络核心是由大量高速路由器和链路组成的“骨干网”,它是互联网的中枢部分,负责在端系统之间转发数据。

关键功能

  1. 分组交换(Packet Switching)

    • 数据被分成一个个分组(Packet)。
    • 路由器根据分组首部信息逐跳转发。
    • 优点:高效、灵活、鲁棒性强。
  2. 路由(Routing)

    • 确定分组从源端到目的端所经过的路径。
    • 路由协议(如 OSPF、BGP)实现。
  3. 转发(Forwarding)

    • 根据路由表,把到达路由器的分组转发到合适的输出端口。

核心特征

  • 高速、大容量的链路和交换设备。
  • 没有应用运行(应用运行在网络边缘)。
  • 只提供数据传输通道

互联网的整体结构示意

[ 应用进程 ] ↔ [ 主机/端系统 ] ↔ [ 接入网络 ] ↔ [ 路由器 ] ↔ [ 网络核心 ] ↔ [ 路由器 ] ↔ [ 接入网络 ] ↔ [ 主机/端系统 ] ↔ [ 应用进程 ]
  • 两端:网络边缘,用户和应用运行的地方。
  • 中间:网络核心,完成数据的传输和交换。

1.2 网络分类

计算机网络的分类方式有多种,常见的依据有:覆盖范围、使用者、拓扑结构、交换方式。


1.2.1 按覆盖范围分类

  1. 局域网(LAN, Local Area Network)

    • 覆盖范围:几米到几公里(如办公室、学校、家庭)。
    • 特点:速率高(100Mbps – 10Gbps)、时延小、误码率低、建设成本低。
    • 技术:以太网、Wi-Fi。
  2. 城域网(MAN, Metropolitan Area Network)

    • 覆盖范围:一个城市范围(几公里到几十公里)。
    • 特点:连接多个局域网,速率比广域网高,通常由电信运营商建设。
    • 技术:光纤、以太网扩展技术。
  3. 广域网(WAN, Wide Area Network)

    • 覆盖范围:几十公里到全球。
    • 特点:连接不同地区的局域网或城域网,速率相对较低,误码率高。
    • 技术:IP/MPLS、骨干网、卫星通信。
    • 互联网就是最大的广域网

1.2.2 按使用者分类

  1. 公用网(Public Network)

    • 任何用户都可以申请使用。
    • 例如:互联网、电信运营商网络。
  2. 专用网(Private Network)

    • 为特定用户或机构服务。
    • 例如:企业内部网(Intranet)、军队网络、银行专用网络。

1.2.3 按拓扑结构分类

  1. 总线型(Bus)

    • 各结点通过一条共享总线连接。
    • 优点:结构简单、成本低。
    • 缺点:冲突多,可靠性差。
  2. 星型(Star)

    • 所有节点通过交换机/集线器连接到中心设备。
    • 优点:便于管理,局部故障不影响全网。
    • 缺点:中心设备失效导致全网瘫痪。
  3. 环型(Ring)

    • 各结点首尾相连形成一个环路。
    • 优点:避免冲突,带宽利用率高。
    • 缺点:单点故障可能导致全网中断。
  4. 网状型(Mesh)

    • 结点之间有多条路径互联。
    • 优点:可靠性高,容错性强。
    • 缺点:成本高,结构复杂。

1.2.4 按交换方式分类

  1. 电路交换

    • 特点:建立端到端专用信道(如电话网)。
    • 优点:通信质量有保证。
    • 缺点:信道利用率低。
  2. 报文交换

    • 以报文为单位存储转发。
    • 优点:信道利用率高。
    • 缺点:时延大(需存储完整报文)。
  3. 分组交换

    • 把报文切分为多个小分组逐跳转发。
    • 优点:高效、可靠、资源利用率高。
    • 缺点:可能存在分组乱序、丢失,需要上层协议处理。
    • 互联网采用分组交换

1.2.5 分类总结表

分类依据 类型 范围/特点 示例
覆盖范围 LAN 小范围,高速 家庭Wi-Fi
MAN 城市范围,中速 城市骨干网
WAN 跨地域,全球,速率较低 互联网
使用者 公用网 任何人可接入 互联网
专用网 特定机构使用 企业内网
拓扑结构 总线型 共享总线,简单,冲突多 早期以太网
星型 中心节点管理,局部可靠 以太网交换机
环型 节点串联成环,避免冲突 FDDI
网状型 多路径冗余,高可靠 互联网骨干网
交换方式 电路交换 专用信道,低利用率 电话网
报文交换 存储转发,时延大 早期电报网
分组交换 分组逐跳传输,高效 互联网

1.3 接入网(Access Networks)

接入网(Access Network)
用户端系统(End System)连接到 互联网边缘 的部分网络,称为接入网。它是用户进入互联网的“第一跳”。


1.3.1 常见的接入方式

  1. 家庭接入(Home Access)

    • 数字用户线路 DSL (Digital Subscriber Line)

      • 通过电话线提供高速数据接入。
      • 特点:上下行带宽不对称(Asymmetric)。
    • 有线电视接入 Cable Network

      • 使用有线电视网络传输互联网数据。
      • 特点:带宽共享,同一地区用户多时速率下降。
    • 光纤接入 FTTH (Fiber To The Home)

      • 光纤直接连接用户家庭,速率可达数百 Mbps 甚至更高。
      • 特点:带宽大,延迟小。
  2. 企业/学校接入(Enterprise/School Access)

    • 以太网 Ethernet

      • 局域网(LAN)中最常见的接入方式。
      • 提供数百 Mbps 到数十 Gbps 的速率。
    • Wi-Fi (Wireless Fidelity)

      • 无线局域网(WLAN),方便移动设备接入。
  3. 移动接入(Mobile Access)

    • 蜂窝移动网络 Cellular Networks

      • 2G/3G/4G/5G 网络。
      • 通过基站(Base Station)连接互联网。
    • 热点接入 Mobile Hotspot

      • 手机数据流量通过热点功能共享给其他设备。

1.3.2 接入网与物理介质

  1. 双绞线 Twisted Pair

    • 铜线,常用于电话线和以太网。
  2. 同轴电缆 Coaxial Cable

    • 电视信号和有线宽带常用。
  3. 光纤 Optical Fiber

    • 高带宽、低时延,抗电磁干扰。
  4. 无线信道 Wireless Channel

    • Wi-Fi、蜂窝通信。

1.3.3 影响接入网性能的因素

  • 带宽 Bandwidth:链路的最大传输速率。
  • 共享 Shared Medium:多个用户是否共享带宽(如 Cable)。
  • 时延 Latency/Delay:信号传播和排队的延迟。
  • 可靠性 Reliability:接入网络的稳定性。

1.3.4 小结表格

接入方式 英文 特点 典型速率
数字用户线路 DSL (Digital Subscriber Line) 电话线传输,上下行不对称 Mbps
有线电视接入 Cable Network 共享带宽,电视+网络 Mbps ~ Gbps
光纤入户 FTTH (Fiber To The Home) 高带宽,低延迟 百 Mbps ~ Gbps
以太网 Ethernet 局域网常用 百 Mbps ~ 十 Gbps
Wi-Fi Wireless Fidelity 无线局域网,便捷 十 Mbps ~ Gbps
蜂窝网络 Cellular Networks 移动接入,4G/5G 数十 Mbps ~ Gbps

1.4 网络核心的两大功能

互联网的 网络核心(Network Core) 由大量路由器(Router)和高速链路构成,它的主要任务是完成 数据分组在源和目的地之间的传输。其中有两个关键功能:


1.4.1 路由(Routing)

定义(Definition)
路由是确定 从源主机到目的主机 的一条或多条路径的过程。

核心任务

  • 建立并维护 路由表(Routing Table)
  • 根据全网的拓扑结构(Topology)和路由算法,计算出最佳路径。

实现方式

  • 静态路由(Static Routing):由管理员手工配置,适用于小型网络。
  • 动态路由(Dynamic Routing):由路由协议自动计算路径,适用于大型网络。

常见路由协议

  • 内部网关协议(IGP, Interior Gateway Protocol)

    • RIP (Routing Information Protocol)
    • OSPF (Open Shortest Path First)
  • 外部网关协议(EGP, Exterior Gateway Protocol)

    • BGP (Border Gateway Protocol)

关键词:路径选择(Path Selection)、全局视图(Global View)。


1.4.2 转发(Forwarding)

定义(Definition)
转发是 路由器将收到的分组发送到合适的输出接口 的过程。

核心任务

  • 查找路由表(或转发表 Forwarding Table)。
  • 把输入端口接收到的分组,转交到正确的输出端口。

实现方式

  • 基于目的地址(Destination-based Forwarding):最常见,根据 IP 地址决定转发端口。
  • 基于标签(Label-based Forwarding):如 MPLS (Multiprotocol Label Switching)。
  • 基于流(Flow-based Forwarding):软件定义网络(SDN)中的方式。

关键词:逐跳处理(Hop-by-hop)、局部操作(Local Action)。


1.4.3 路由 vs 转发 对比

功能 英文 作用范围 关注点 实现方式
路由 Routing 全网(Network-wide) 决定路径(Which path) 路由算法、协议
转发 Forwarding 单个路由器(Local) 把分组送出(Which port) 查转发表,执行转发

📌 复习重点提示

  • 路由是 决定走哪条路,转发是 把车开上路
  • 路由是全局的,转发是局部的。
  • 考试常问:“路由和转发的区别与联系”。

1.5 网络分层

网络分层(Network Layering) 的基本思想:

  • 把复杂的计算机网络通信过程划分为若干功能相对独立的层次。
  • 每一层只关注自己职责,并通过接口向上一层提供服务。
  • 下层为上层提供服务,上层使用下层服务。

1.5.1 OSI 7层模型

定义(Definition)
OSI(Open Systems Interconnection)参考模型是 国际标准化组织(ISO) 提出的网络体系结构模型,共 7 层,每层功能明确。

七层结构(由下到上):

  1. 物理层(Physical Layer)

    • 功能:比特流传输(0/1),定义电气、机械、信号特性。
    • 示例:网线、光纤、集线器。
  2. 数据链路层(Data Link Layer)

    • 功能:把比特组合成帧(Frame),提供可靠的点对点或点对多点传输。
    • 示例:以太网协议、MAC 地址、交换机。
  3. 网络层(Network Layer)

    • 功能:实现主机到主机的数据传输,负责路由选择。
    • 示例:IP 协议、路由器。
  4. 传输层(Transport Layer)

    • 功能:端到端的通信,提供可靠或不可靠的数据传输。
    • 示例:TCP、UDP。
  5. 会话层(Session Layer)

    • 功能:管理会话、建立和维护通信。
    • 示例:RPC、NetBIOS。
  6. 表示层(Presentation Layer)

    • 功能:数据格式转换、加密、压缩。
    • 示例:JPEG、MPEG、SSL。
  7. 应用层(Application Layer)

    • 功能:为用户提供应用服务。
    • 示例:HTTP、FTP、SMTP。

📌 特点:结构清晰,但过于理想化,实际应用较少。


1.5.2 TCP/IP 4层模型

定义(Definition)
TCP/IP 模型是互联网采用的事实标准,共 4 层,更贴近实际实现。

四层结构(由下到上):

  1. 网络接口层(Network Interface Layer / Link Layer)

    • 功能:等同于 OSI 的物理层+数据链路层,负责主机与物理网络的通信。
    • 示例:Ethernet、Wi-Fi、PPP。
  2. 网际层(Internet Layer)

    • 功能:实现源主机到目标主机的数据传递和路由选择。
    • 核心协议:IP(IPv4/IPv6)。
    • 其他协议:ICMP、ARP、RARP。
  3. 传输层(Transport Layer)

    • 功能:提供端到端的通信。
    • 协议:TCP(可靠,面向连接)、UDP(不可靠,面向无连接)。
  4. 应用层(Application Layer)

    • 功能:直接为用户应用提供服务。
    • 协议:HTTP、DNS、SMTP、FTP、Telnet。

📌 特点:层次少,协议实用,互联网实际采用。


1.5.3 OSI vs TCP/IP 对比

层次 OSI 7层模型 TCP/IP 4层模型 示例协议
应用层 应用层 + 表示层 + 会话层 应用层 HTTP, FTP, DNS
传输层 传输层 传输层 TCP, UDP
网络层 网络层 网际层 IP, ICMP, ARP
数据链路层 数据链路层 + 物理层 网络接口层 Ethernet, Wi-Fi
网络分层模型

📌 复习重点提示

  • 考记忆:OSI 七层 vs TCP/IP 四层。
  • 考理解:为什么 TCP/IP 模型更实际?(简化层次,更符合互联网实现)。
  • 考应用:协议对应层次,如 HTTP 属于应用层,IP 属于网络层。

1.6 计算机网络的性能指标

1.6.1 速率(Rate)

  • 定义:数据传输速率,即单位时间内传输的数据量,常用 b/s(比特每秒)

  • 公式

    $$
    R = \frac{\text{数据量(bit)}}{\text{传输时间(s)}}
    $$

  • 注意:1 Byte = 8 bit。


1.6.2 带宽(Bandwidth)

  • 定义:信道所能支持的最高数据传输速率,单位 Hz 或 b/s
  • 本质:衡量信道“容量”的指标。

1.6.3 吞吐量(Throughput)

  • 定义:单位时间内实际传输的数据量。
  • 特点:受到带宽、时延、网络拥塞的影响。

1.6.4 时延(Delay / Latency)

数据从源点到目的点所需的总时间。由以下几个部分组成:

  1. 发送时延(Transmission Delay)

    $$
    d_{trans} = \frac{L}{R}
    $$

    • $L$:分组长度(bit)
    • $R$:发送速率(b/s)
  2. 传播时延(Propagation Delay)

    $$
    d_{prop} = \frac{d}{v}
    $$

    • $d$:链路长度(m)
    • $v$:信号传播速率(m/s),通常为光速的 2/3 ~ 3/4。
  3. 排队时延(Queuing Delay)

    • 数据包在路由器缓存中等待的时间。
    • 不确定,取决于网络拥塞程度。
  4. 处理时延(Processing Delay)

    • 路由器分析包头、查路由表所需的时间,一般为微秒级。

总时延

$$
d_{total} = d_{trans} + d_{prop} + d_{queue} + d_{proc}
$$


1.6.5 带宽-时延积(Bandwidth-Delay Product, BDP)

  • 定义:链路上最多能容纳的数据量。

  • 公式

    $$
    BDP = R \times d_{prop}
    $$

  • 单位:bit。

  • 含义:表示“在途的数据量”,又称“链路的容量”。


1.6.6 往返时延(Round Trip Time, RTT)

  • 定义:数据从源主机发送到目的主机,再返回确认所需的时间。
  • 在 TCP 中影响 超时重传(Timeout Retransmission) 的设定。

1.6.7 利用率(Utilization)

  • 链路利用率

    $$
    U = \frac{\text{有数据通过链路的时间}}{\text{链路总时间}}
    $$

  • 排队论公式(适用于 M/M/1 模型):

    • 平均队长:$\frac{\rho}{1-\rho}$
    • 平均排队时延:$\frac{\rho}{1-\rho} \cdot \frac{1}{\mu}$
    • 其中 $\rho = \frac{\lambda}{\mu}$ 表示业务强度。

1.6.8 计算题例题汇总


【例题1】发送时延与传播时延

主机 A 发送一个 1 MB 的文件到主机 B。链路带宽为 10 Mbps,链路长度为 1000 km,信号传播速率为 $2 \times 10^8$ m/s。求发送时延和传播时延。

解答

  • 文件大小:$1 \text{MB} = 8 \times 10^6 \text{bit}$。

  • 发送时延:

    $$
    d_{trans} = \frac{8 \times 10^6}{10 \times 10^6} = 0.8 \text{s}
    $$

  • 传播时延:

    $$
    d_{prop} = \frac{1000 \times 10^3}{2 \times 10^8} = 0.005 \text{s} = 5 \text{ms}
    $$

✅ 发送时延 0.8 s,传播时延 5 ms。


【例题2】带宽-时延积

已知链路带宽 100 Mbps,传播时延 20 ms,求链路的带宽-时延积,并换算成字节数。

解答

$$
BDP = R \times d_{prop} = 100 \times 10^6 \times 0.02 = 2 \times 10^6 \text{bit}
$$

换算:

$$
2 \times 10^6 / 8 = 250,000 \text{Byte} = 250 \text{KB}
$$

✅ 链路上最多能容纳 250 KB 数据。


【例题3】吞吐量与利用率

某链路带宽为 10 Mbps,实际传输速率为 8 Mbps,求吞吐量和利用率。

解答

  • 吞吐量 = 实际传输速率 = 8 Mbps。

  • 利用率:

    $$
    U = \frac{8}{10} = 0.8 = 80%
    $$

✅ 吞吐量 8 Mbps,利用率 80%。


【例题4】往返时延与TCP确认

主机 A 发送一个报文段给主机 B,传播时延为 10 ms,忽略处理时延和排队时延。若主机 B 在收到后立即返回 ACK,求往返时延(RTT)。

解答

$$
RTT = 2 \times d_{prop} = 2 \times 10 \text{ms} = 20 \text{ms}
$$

✅ RTT = 20 ms。


【例题5】时延比较题

假设链路 1:带宽高,传播时延长;链路 2:带宽低,传播时延短。问在小文件传输和大文件传输时,哪条链路更优?

解答

  • 小文件传输 → 传播时延占主导 → 传播时延短的链路更优。
  • 大文件传输 → 发送时延占主导 → 带宽高的链路更优。

✅ 总结:考试计算题常考 发送/传播时延、带宽-时延积、RTT、吞吐量、利用率,掌握公式就能解。


Computer Networks
http://toutou.zeabur.app/2025/02/09/computer-networks/
Author
toutou
Posted on
February 9, 2025
Licensed under