Computer Networks
Computer Networks
本篇笔记主要讲解计算机网络的常见网络模型和常见协议。主要应对面试八股文场景和修考简答题。
催更|辅导|私塾兼职|联系偷偷:LifeGoesOn_Rio
1. 计算机网络概述
计算机网络(Computer Network)是由若干独立的计算机通过通信线路和网络设备互联起来,在网络协议(Network Protocol)的控制下,实现资源共享与信息传递的系统。
核心要点:
- 独立性:每台计算机能独立工作。
- 互联性:通过传输介质(有线/无线)和网络设备互连。
- 共享性:硬件、软件、数据等资源共享。
计算机网络的功能
- 数据通信:实现不同计算机之间的信息交换。
- 资源共享:共享硬件(打印机)、软件(应用系统)、数据(数据库)。
- 分布式处理:多台计算机协同完成一项复杂任务。
- 提高可靠性:一台计算机故障时,任务可转移到其他机器。
- 负载均衡:通过网络合理分配计算或通信任务。
一个网络主要由三部分组成:
- 硬件:主机、通信链路(双绞线、光纤、无线)、路由器、交换机等。
- 软件:网络操作系统、各种网络协议、应用程序。
- 协议:通信双方必须遵循的规则和约定(例如 TCP/IP 协议族)。
计算机网络的分类
按照不同标准可以有不同的分类方式:
按覆盖范围
- 局域网(LAN, Local Area Network):范围小,速度快。
- 城域网(MAN, Metropolitan Area Network):覆盖一个城市。
- 广域网(WAN, Wide Area Network):覆盖范围广,常用互联网技术。
按拓扑结构
- 总线型、星型、环型、网状型。
按使用者
- 公用网(例如互联网)。
- 专用网(例如企业内部网)。
计算机网络的性能指标
- 速率(Rate):数据传输速率,单位 bps。
- 带宽(Bandwidth):网络信道所能支持的最高速率。
- 吞吐量(Throughput):单位时间内通过网络的数据量。
- 时延(Delay):数据从源到目的地的时间,包括发送、传播、排队、处理时延。
- 时延带宽积:链路的“容量”衡量(传播时延 × 带宽)。
- 往返时延 RTT:数据报文往返一次所需时间。
- 丢包率:传输中丢失分组的比率。
- 可靠性:网络正常运行的稳定性。
计算机网络的体系结构
常见的两种分层模型:
OSI七层模型
- 物理层 → 数据链路层 → 网络层 → 传输层 → 会话层 → 表示层 → 应用层。
- 主要是理论模型,定义清晰。
TCP/IP四层模型
- 网络接口层 → 网际层 → 传输层 → 应用层。
- 目前互联网实际采用的模型。
计算机网络的发展阶段
- 单机时代:计算机独立运行。
- 联机批处理和分时系统:资源有限的共享。
- 计算机网络时代:通过局域网、广域网互联。
- 互联网时代:TCP/IP 协议广泛应用,全球互联。
- 下一代网络:IPv6、物联网、云计算、大数据、5G/6G。
1.1 互联网的构成
互联网是一个分层结构的大型网络系统,从功能上可以分为两大部分:
- 网络边缘(Network Edge)
- 网络核心(Network Core)
1.1.1 网络边缘(Network Edge)
定义:
网络边缘是 所有连接到互联网的终端设备与其接入部分。
主要组成:
端系统(End Systems)
- 又称为主机(Host),位于“边缘”位置。
- 包括个人电脑、智能手机、服务器、物联网设备等。
接入网络(Access Networks)
端系统与互联网核心连接的途径。
常见方式:
- 家庭网络(光纤接入、DSL、Wi-Fi)
- 企业/校园网络(以太网、Wi-Fi)
- 移动网络(4G/5G 基站接入)
边缘设备的作用:
- 运行网络应用(如浏览器、邮件客户端)。
- 通过 传输层协议(TCP/UDP)进行进程间通信。
1.1.2 网络核心(Network Core)
定义:
网络核心是由大量高速路由器和链路组成的“骨干网”,它是互联网的中枢部分,负责在端系统之间转发数据。
关键功能:
分组交换(Packet Switching)
- 数据被分成一个个分组(Packet)。
- 路由器根据分组首部信息逐跳转发。
- 优点:高效、灵活、鲁棒性强。
路由(Routing)
- 确定分组从源端到目的端所经过的路径。
- 由 路由协议(如 OSPF、BGP)实现。
转发(Forwarding)
- 根据路由表,把到达路由器的分组转发到合适的输出端口。
核心特征:
- 高速、大容量的链路和交换设备。
- 没有应用运行(应用运行在网络边缘)。
- 只提供数据传输通道。
互联网的整体结构示意
[ 应用进程 ] ↔ [ 主机/端系统 ] ↔ [ 接入网络 ] ↔ [ 路由器 ] ↔ [ 网络核心 ] ↔ [ 路由器 ] ↔ [ 接入网络 ] ↔ [ 主机/端系统 ] ↔ [ 应用进程 ]
- 两端:网络边缘,用户和应用运行的地方。
- 中间:网络核心,完成数据的传输和交换。
1.2 网络分类
计算机网络的分类方式有多种,常见的依据有:覆盖范围、使用者、拓扑结构、交换方式。
1.2.1 按覆盖范围分类
局域网(LAN, Local Area Network)
- 覆盖范围:几米到几公里(如办公室、学校、家庭)。
- 特点:速率高(100Mbps – 10Gbps)、时延小、误码率低、建设成本低。
- 技术:以太网、Wi-Fi。
城域网(MAN, Metropolitan Area Network)
- 覆盖范围:一个城市范围(几公里到几十公里)。
- 特点:连接多个局域网,速率比广域网高,通常由电信运营商建设。
- 技术:光纤、以太网扩展技术。
广域网(WAN, Wide Area Network)
- 覆盖范围:几十公里到全球。
- 特点:连接不同地区的局域网或城域网,速率相对较低,误码率高。
- 技术:IP/MPLS、骨干网、卫星通信。
- 互联网就是最大的广域网。
1.2.2 按使用者分类
公用网(Public Network)
- 任何用户都可以申请使用。
- 例如:互联网、电信运营商网络。
专用网(Private Network)
- 为特定用户或机构服务。
- 例如:企业内部网(Intranet)、军队网络、银行专用网络。
1.2.3 按拓扑结构分类
总线型(Bus)
- 各结点通过一条共享总线连接。
- 优点:结构简单、成本低。
- 缺点:冲突多,可靠性差。
星型(Star)
- 所有节点通过交换机/集线器连接到中心设备。
- 优点:便于管理,局部故障不影响全网。
- 缺点:中心设备失效导致全网瘫痪。
环型(Ring)
- 各结点首尾相连形成一个环路。
- 优点:避免冲突,带宽利用率高。
- 缺点:单点故障可能导致全网中断。
网状型(Mesh)
- 结点之间有多条路径互联。
- 优点:可靠性高,容错性强。
- 缺点:成本高,结构复杂。
1.2.4 按交换方式分类
电路交换
- 特点:建立端到端专用信道(如电话网)。
- 优点:通信质量有保证。
- 缺点:信道利用率低。
报文交换
- 以报文为单位存储转发。
- 优点:信道利用率高。
- 缺点:时延大(需存储完整报文)。
分组交换
- 把报文切分为多个小分组逐跳转发。
- 优点:高效、可靠、资源利用率高。
- 缺点:可能存在分组乱序、丢失,需要上层协议处理。
- 互联网采用分组交换。
1.2.5 分类总结表
分类依据 | 类型 | 范围/特点 | 示例 |
---|---|---|---|
覆盖范围 | LAN | 小范围,高速 | 家庭Wi-Fi |
MAN | 城市范围,中速 | 城市骨干网 | |
WAN | 跨地域,全球,速率较低 | 互联网 | |
使用者 | 公用网 | 任何人可接入 | 互联网 |
专用网 | 特定机构使用 | 企业内网 | |
拓扑结构 | 总线型 | 共享总线,简单,冲突多 | 早期以太网 |
星型 | 中心节点管理,局部可靠 | 以太网交换机 | |
环型 | 节点串联成环,避免冲突 | FDDI | |
网状型 | 多路径冗余,高可靠 | 互联网骨干网 | |
交换方式 | 电路交换 | 专用信道,低利用率 | 电话网 |
报文交换 | 存储转发,时延大 | 早期电报网 | |
分组交换 | 分组逐跳传输,高效 | 互联网 |
1.3 接入网(Access Networks)
接入网(Access Network):
用户端系统(End System)连接到 互联网边缘 的部分网络,称为接入网。它是用户进入互联网的“第一跳”。
1.3.1 常见的接入方式
家庭接入(Home Access)
数字用户线路 DSL (Digital Subscriber Line)
- 通过电话线提供高速数据接入。
- 特点:上下行带宽不对称(Asymmetric)。
有线电视接入 Cable Network
- 使用有线电视网络传输互联网数据。
- 特点:带宽共享,同一地区用户多时速率下降。
光纤接入 FTTH (Fiber To The Home)
- 光纤直接连接用户家庭,速率可达数百 Mbps 甚至更高。
- 特点:带宽大,延迟小。
企业/学校接入(Enterprise/School Access)
以太网 Ethernet
- 局域网(LAN)中最常见的接入方式。
- 提供数百 Mbps 到数十 Gbps 的速率。
Wi-Fi (Wireless Fidelity)
- 无线局域网(WLAN),方便移动设备接入。
移动接入(Mobile Access)
蜂窝移动网络 Cellular Networks
- 2G/3G/4G/5G 网络。
- 通过基站(Base Station)连接互联网。
热点接入 Mobile Hotspot
- 手机数据流量通过热点功能共享给其他设备。
1.3.2 接入网与物理介质
双绞线 Twisted Pair
- 铜线,常用于电话线和以太网。
同轴电缆 Coaxial Cable
- 电视信号和有线宽带常用。
光纤 Optical Fiber
- 高带宽、低时延,抗电磁干扰。
无线信道 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 层,每层功能明确。
七层结构(由下到上):
物理层(Physical Layer)
- 功能:比特流传输(0/1),定义电气、机械、信号特性。
- 示例:网线、光纤、集线器。
数据链路层(Data Link Layer)
- 功能:把比特组合成帧(Frame),提供可靠的点对点或点对多点传输。
- 示例:以太网协议、MAC 地址、交换机。
网络层(Network Layer)
- 功能:实现主机到主机的数据传输,负责路由选择。
- 示例:IP 协议、路由器。
传输层(Transport Layer)
- 功能:端到端的通信,提供可靠或不可靠的数据传输。
- 示例:TCP、UDP。
会话层(Session Layer)
- 功能:管理会话、建立和维护通信。
- 示例:RPC、NetBIOS。
表示层(Presentation Layer)
- 功能:数据格式转换、加密、压缩。
- 示例:JPEG、MPEG、SSL。
应用层(Application Layer)
- 功能:为用户提供应用服务。
- 示例:HTTP、FTP、SMTP。
📌 特点:结构清晰,但过于理想化,实际应用较少。
1.5.2 TCP/IP 4层模型
定义(Definition):
TCP/IP 模型是互联网采用的事实标准,共 4 层,更贴近实际实现。
四层结构(由下到上):
网络接口层(Network Interface Layer / Link Layer)
- 功能:等同于 OSI 的物理层+数据链路层,负责主机与物理网络的通信。
- 示例:Ethernet、Wi-Fi、PPP。
网际层(Internet Layer)
- 功能:实现源主机到目标主机的数据传递和路由选择。
- 核心协议:IP(IPv4/IPv6)。
- 其他协议:ICMP、ARP、RARP。
传输层(Transport Layer)
- 功能:提供端到端的通信。
- 协议:TCP(可靠,面向连接)、UDP(不可靠,面向无连接)。
应用层(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)
数据从源点到目的点所需的总时间。由以下几个部分组成:
发送时延(Transmission Delay)
$$
d_{trans} = \frac{L}{R}
$$- $L$:分组长度(bit)
- $R$:发送速率(b/s)
传播时延(Propagation Delay)
$$
d_{prop} = \frac{d}{v}
$$- $d$:链路长度(m)
- $v$:信号传播速率(m/s),通常为光速的 2/3 ~ 3/4。
排队时延(Queuing Delay)
- 数据包在路由器缓存中等待的时间。
- 不确定,取决于网络拥塞程度。
处理时延(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、吞吐量、利用率,掌握公式就能解。