计算机网络期末复习笔记
适用谢希仁编著的《计算机网络》第8版
公式规则速查表
| 专题 | 公式/规则 | 使用条件 |
|---|---|---|
| 码元与比特率 | R = Baud × log2(V) | V 为码元状态数 |
| 奈奎斯特 | C = 2B log2(V) | 无噪声、带宽受限 |
| 香农 | C = B log2(1+S/N) | 有噪声;S/N 用线性值 |
| dB 换算 | SNR(dB)=10log10(S/N) | 先由 dB 还原 S/N |
| FDM | N×B+(N-1)×G≤W | G 为相邻信道保护带 |
| 发送时延 | Tt=L/R | L 用 bit,R 用 bit/s |
| CSMA/CD | Lmin=2TpR | 最小帧覆盖往返传播时延 |
| 停止等待 | U=Tt/(Tt+2Tp) | 通常忽略 ACK 发送和处理时延 |
| 滑动窗口 | Wmin=ceil(1+2Tp/Tt) | 希望发送方不因等待 ACK 空闲 |
| VLSM | 2^h-2≥H;p=32-h | H 为所需可用主机数 |
| RIP | 候选距离=邻居通告距离+1 | 16 及以上表示不可达 |
| TCP ACK | ack=已按序接收的最后字节+1 | 累计确认,SYN/FIN 各占一个序号 |
| CDMA 判决 | (收到码片序列·本站码片序列)/码片数 |
+1 发 1,-1 发 0,0 未发 |
一 概述
- 三网融合的三网指的是:电信网、有线电视网络、计算机网络
- 世界上第一个计算机网络是:ARPANET
- internet 是一个通用名词,泛指多个计算机网络互连形成的计算机网络;Internet 是一个专有名词,通常特指全球最大的、开放的、由众多网络相互连接而成的特定互联网,采用 TCP/IP 协议簇作为通信规则
- ISP是互联网服务提供商
- 网络边缘的端系统间通信方式有两大类:C/S方式(客户-服务器方式)和P2P方式(对等连接方式)
- 数据传输三种交换方式:电路交换,整个报文的比特流连续地从源点直达终点,在通信双方之间建立一条专用的物理通路,并在整个通信期间独占该通路;报文交换,整个报文先传送到相邻节点,全部存储下来后查找转发表,转发到下一个节点;分组交换,将长报文切成分组,逐段存储转发、可统计复用,资源利用率高,数据报服务和虚电路服务都属于分组交换
- 计算机网络的分类:PAN(Personal Area Network,个人局域网)、LAN(Local Area Network,局域网)、MAN(Metropolitan Area Network,城域网)、WAN(Wide Area Network,广域网)
- 总时延=发送时延+传播时延+处理时延+排队时延
- 发送时延:
L/R,由数据长度和发送速率决定 - 传播时延:
d/v,由距离和信号传播速率决定 - 处理时延:路由器/主机处理首部、查表、差错检测等所需时间
- 排队时延:分组在路由器输出队列等待的时间,网络繁忙时可能很大
- RTT(Round-Trip Time)是往返时间,用于评估性能;TTL(Time To Live)是生存时间,用于限制数据包在网络中的存在时间或跳数
- 网络协议的三个要素:语法、语义、同步。语法规定数据与控制信息的结构或格式;语义规定通信双方需要发出何种控制信息、完成何种动作以及做出何种响应;**同步(又称时序)**规定事件实现的先后顺序。
- 分层、实体、服务:
- 实体是能够发送或接收信息的软硬件进程
- 同层实体之间通过协议通信
- 下层向上层提供服务,上层通过服务访问点(SAP)使用下层服务
- 向下传递数据时逐层添加控制信息,称为封装;接收端逐层去掉控制信息,称为解封装
- 五层协议体系结构
| 层次 | PDU | 主要功能 |
|---|---|---|
| 应用层 | 报文 | 直接向用户应用进程提供网络服务 |
| 运输层 | 报文段 | 提供进程到进程的端到端通信 |
| 网络层 | 分组/数据报 | 寻址、路由、跨网络交付 |
| 数据链路层 | 帧 | 在相邻节点间传输帧,处理成帧和差错检测等问题 |
| 物理层 | 比特 | 在传输媒体上透明传送比特流 |
二 物理层
- 物理层有关的一些特性:
- 机械特性:接口的形状、尺寸、引脚数、排列等。
- 电气特性:电平、脉冲宽度、最大传输速率、传输距离等。
- 功能特性:每条线路的功能,例如数据线、控制线、时钟线。
- 过程特性:不同功能事件出现的先后顺序。
- 码元、波特率与比特率:
- 码元:固定时长的信号单元。
- 波特率:每秒传输的码元数,即每秒可能发生的信号变化次数。
- 若一个码元有
V种离散状态,则每码元最多可携带log2(V)bit。 - 比特率 = 波特率 × 每码元比特数。
- 奈奎斯特与香农:
- 奈奎斯特公式:
C=2B log2(V)。用于无噪声、带宽受限信道。 - 香农公式:
C=B log2(1+S/N)。用于有噪声信道。 SNR(dB)=10log10(S/N);若已知20 dB,则S/N=100。- 若题目同时给给出信道带宽、信噪比和码元等级,应分别计算两个上限,实际速率取较小值。
- 传输媒体:
- 导引型媒体:双绞线、同轴电缆、光纤。
- 非导引型媒体:无线电波、微波、红外线、卫星通信。
- 光纤:带宽最宽、衰减最小、抗电磁干扰能力最强。
-
频分复用 FDM:多个用户占用不同频段;相邻信道之间需要保护带。若每路信号带宽为
B、保护带为G、总带宽为W,则N×B+(N-1)×G≤W。 -
时分复用 TDM 与统计时分复用**:
- 时分复用:不同用户按固定时隙轮流使用同一信道。
- 统计时分复用:按需动态分配时隙,适合突发业务,通常效率更高。
-
波分复用 WDM:在光纤中使用不同波长的光进行复用,本质类似频分复用。
-
码分复用 CDMA:
- 每个站分配一组彼此正交的码片序列,码片通常取
+1/-1。 - 发送
1时发送本码片序列;发送0时发送其反码;未发送时贡献全 0。 - 信道中收到的是各站信号叠加结果。
- 接收端将收到序列与目标站码片序列做内积并除以码片数:
+1表示发 1,-1表示发 0,0表示未发。
- 线路编码:
- 非归零码 NRZ:一个比特周期内电平不回到零,长串相同位时缺少同步变化。
- 曼彻斯特编码:每个比特周期中间都有一次跳变,同时携带时钟信息;上跳/下跳表示 0 或 1 的具体约定以题目为准。
- 差分曼彻斯特编码:位中间始终跳变;位开始处是否跳变表示数据,抗极性反转能力较强。
- 宽带接入技术:
- ADSL:利用电话线提供宽带接入。
- HFC:光纤同轴混合网。
- FTTx:光纤接入到不同位置,例如 FTTH(光纤到户)。
三 数据链路层
-
数据链路与帧:数据链路是在一段点到点物理线路上实现通信所需的协议和硬件,帧是数据链路层 PDU。
-
数据链路层解决的三个基本问题:
- 封装成帧:在数据前后添加首部和尾部,确定帧边界。
- 差错检测:检测传输过程中是否产生比特差错。
- 可靠传输:数据中出现控制字符时不能被误认为帧边界或控制信息。
- HDLC 零比特填充法:
- HDLC 标志字段为
01111110。 - 发送端在数据中每出现连续 5 个
1,就在其后插入一个0。 - 接收端发现连续 5 个
1后的0时删除该0。
- CRC 循环冗余检验:
- 设生成多项式
G(x)的最高次数为r。 - 在原始数据后补
r个 0。 - 用补零后的数据除以生成多项式对应的二进制码,进行模 2 除法。
- 得到的
r位余数拼接在原始数据后发送。 - 模 2 除法不借位,减法等价于异或。
- 接收端余数为 0 只能说明未检测到差错;CRC 不能解决丢帧、重复、顺序、确认和重传问题,因此不等于可靠传输。
- PPP 协议:
- PPP 是点到点协议,常用于用户到 ISP 的点对点链路。
- 支持成帧、透明传输和差错检测。
- PPP 不负责纠错、可靠传输和流量控制。
- CSMA/CD:载波监听多址接入/碰撞检测。
- 发送前先监听信道。信道空闲则发送;忙则继续监听并推迟发送。
- 发送过程中继续监听,检测是否发生碰撞。
- 碰撞后立即停止发送,发送阻塞信号,按随机退避算法等待后重传。
- CSMA/CD 最小帧长:
- 发送站必须在最远端碰撞信号返回前仍处于发送状态,才能检测碰撞。
- 最小帧长:
Lmin=2TpR,其中Tp为单程传播时延,R为数据率。
- 集线器 Hub:
- 在物理层工作,只再生/转发比特,不识别 MAC 地址,不查转发表。
- 接入 Hub 的设备共享带宽,处于同一冲突域;传统共享以太网使用 CSMA/CD。
- 以太网 MAC 地址:
- MAC 地址长度为 48 位,通常写成 6 个十六进制字节。
- MAC 是数据链路层地址,用于当前局域网链路上的帧交付。
- 交换机自学习与转发:
- 收到帧后,交换机用源 MAC 地址和入端口建立/更新转发表。
- 目的 MAC 已知且目的端口不同于入端口:定向转发。
- 目的 MAC 未知:向除入端口外的所有端口泛洪。
- 目的端口就是入端口:过滤,不转发。
- 交换机按端口隔离冲突域;默认二层交换机不能隔离广播域。
- 扩展以太网:
- 物理层扩展:中继器、Hub 等,只延伸比特传输;相连网段的传输速率和数据链路层协议应相同。
- 数据链路层扩展:网桥、交换机,能识别 MAC 地址并选择性转发帧。
-
VLAN 虚拟局域网:用逻辑方式把一个物理 LAN 划分为多个广播域;不同 VLAN 之间的通信通常需要三层设备转发。
-
高速以太网与命名:
10BASE-T:10 表示 10 Mb/s,BASE 表示基带传输,T 表示双绞线。100BASE-T:100 Mb/s 以太网。- 吉比特以太网:1 Gb/s;10GbE:10 Gb/s。
- 交换机总带宽的常见题目口径:端口数 × 单端口速率;是否计算全双工要看题干要求。
- CSMA/CA:载波监听多址接入/碰撞避免:
- 无线局域网使用载波监听多址接入/碰撞避免,而不直接使用 CSMA/CD。
- 原因一:无线节点发送时难以同时可靠接收,碰撞检测代价高。
- 原因二:存在隐藏站,发送站无法检测所有碰撞。
- 通过随机退避、RTS/CTS 和 ACK 等机制尽量避免碰撞并提高可靠性。
- 冲突域与广播域:
- Hub 不隔离冲突域,也不隔离广播域。
- 交换机按端口隔离冲突域,但默认仍在同一广播域。
- VLAN 隔离广播域。
- 路由器隔离广播域。
四 网络层
- 网络层两种服务:
- 数据报服务:无连接、尽最大努力交付。IP 协议提供的是不可靠、无连接的数据报服务。
- 虚电路服务:先建立逻辑连接,分组携带较短的虚电路标识。
- IPv4 地址与 CIDR:
- IPv4 地址长度为 32 位,用点分十进制书写。
- CIDR 写法
a.b.c.d/p表示前p位为网络前缀。 /p地址块总地址数为2^(32-p);通常可用主机数为2^(32-p)-2。- 常用对应:
/8=255.0.0.0,/16=255.255.0.0,/24=255.255.255.0,/25=255.255.255.128。
- 同一子网判断:
- 分别计算两台主机的
IP 地址 AND 子网掩码。 - 网络号相同,说明在同一子网,可直接通过 ARP 获取目标 MAC 后发送帧。
- 网络号不同,发送方应把分组交给默认网关,由路由器转发。
- VLSM 可变长子网划分步骤:
- 根据主机数
H,找最小的h使2^h-2≥H。 - 前缀长度
p=32-h。 - 通常按主机数从大到小分配地址块。
- 地址块必须从相应块大小的边界开始,不能跨边界。
- 写出每个 LAN 的网络地址、前缀/掩码、广播地址、可用主机范围。
- 题目要求路由器使用“最大地址”时,通常指最大可用主机地址,不是广播地址。
- 传统分类地址、私有地址、特殊地址:
- A 类默认
/8,B 类默认/16,C 类默认/24;实际地址分配和转发以 CIDR/最长前缀匹配为准。 - 常见私有地址块:
10.0.0.0/8、172.16.0.0/12、192.168.0.0/16。
A 类中的特殊地址:
- 0.0.0.0/8:保留,表示“本网络”或默认路由。
- 127.0.0.0/8:回环地址(Loopback),用于本地进程间通信,数据报不离开主机。常用 127.0.0.1。
D 类(组播):224.0.0.0/24:本地链路组播,TTL 通常为 1,不经过路由器。例:
- 224.0.0.1:所有主机
- 224.0.0.2:所有路由器
- 224.0.0.9:RIP-2 路由器
- 224.0.0.5 / 224.0.0.6:OSPF
E 类保留用于未来或实验用途,不用于公共网络。255.255.255.255:受限广播地址。
| 类别 | 首字节二进制前缀 | 首字节十进制范围 | 地址范围(点分十进制) | 用途 |
|---|---|---|---|---|
| A | 0xxxxxxx |
0 ~ 127 | 0.0.0.0 ~ 127.255.255.255 | 大型网络 |
| B | 10xxxxxx |
128 ~ 191 | 128.0.0.0 ~ 191.255.255.255 | 中型网络 |
| C | 110xxxxx |
192 ~ 223 | 192.0.0.0 ~ 223.255.255.255 | 小型网络 |
| D | 1110xxxx |
224 ~ 239 | 224.0.0.0 ~ 239.255.255.255 | 组播(Multicast) |
| E | 1111xxxx |
240 ~ 255 | 240.0.0.0 ~ 255.255.255.255 | 保留/实验 |
网络号与主机号划分
| 类别 | 网络号位数 | 主机号位数 | 默认子网掩码 | 最大网络数 | 每网络最大主机数 |
|---|---|---|---|---|---|
| A | 8 位 | 24 位 | 255.0.0.0 /8 | 2⁷ = 126(0 和 127 保留) | 2²⁴ − 2 = 16,777,214 |
| B | 16 位 | 16 位 | 255.255.0.0 /16 | 2¹⁴ = 16,384 | 2¹⁶ − 2 = 65,534 |
| C | 24 位 | 8 位 | 255.255.255.0 /24 | 2²¹ = 2,097,152 | 2⁸ − 2 = 254 |
- IP 地址与 MAC 地址:
- IP 是网络层逻辑地址,负责跨网络寻址与路由。
- MAC 是数据链路层硬件地址,负责当前局域网链路的帧交付。
- 一个 IP 数据报在不同链路上传输时,源/目的 MAC 会改变;源/目的 IP 通常保持不变。
- ARP 地址解析协议:
- 已知同一局域网内目标 IPv4 地址,解析其 MAC 地址。
- 若目的主机不在本子网,主机 ARP 查询的是默认网关的 MAC 地址,不是远程目的主机的 MAC 地址。
- IPv4 数据报首部高频字段:
- 总长度:IP 数据报总长度。
- 标识、标志、片偏移:与分片和重组有关。
- TTL:防止数据报永久兜圈。
- 协议:指出上层协议,例如 TCP、UDP、ICMP。
- 首部校验和:只检验 IPv4 首部。
- 源地址、目的地址:源/目的 IPv4 地址。
- 分组转发与最长前缀匹配:
- 路由器按目的 IP 地址查找转发表。
- 若多个表项都匹配,选择前缀最长、最具体的一项。
- 直连网络无需下一跳;远程网络要填写下一跳 IP 或出接口。
- ICMP:用于报告差错和查询诊断。
ICMP(Internet Control Message Protocol,网际控制报文协议) 是 IP 层的配套协议,用于在 IP 主机与路由器之间传递控制信息与差错报告,本身并非高层协议,而是直接封装在 IP 数据报中传输(IP 协议字段值为 1)
ping使用 ICMP 回送请求和回答。traceroute/tracert与 TTL 超时机制相关。
- IPv6:
- IPv6 地址长度为 128 位。
- IPv6 基本首部更简化,取消首部校验和,使用扩展首部。
- IPv4 向 IPv6 过渡可采用双协议栈、隧道等方式。
- 自治系统与路由协议:
- AS(自治系统)是在统一管理下、采用统一内部路由策略的一组网络。
- AS 内部使用 IGP,例如 RIP、OSPF。
- AS 之间使用 EGP,典型协议为 BGP。
- RIP:
- RIP 是距离向量路由协议,度量为跳数。
- 最大可达跳数是 15;16 表示不可达。
- 收到邻居通告后,候选距离 = 邻居距离 + 1。
- 新目的网络:加入路由表。
- 候选路径更短:替换原表项。
- 原表项下一跳就是发送更新的邻居:即使距离变大,按该邻居新通告更新。
- OSPF 与 BGP:
- OSPF 是链路状态路由协议,路由器获得网络拓扑并运行Dijkstra最短路径算法,属于 IGP。
- BGP 是路径向量协议,用于不同 AS 之间,属于 EGP。
- 静态路由与路由聚合:
- 直连网络:路由表的下一跳可为空,写本地接口。
- 远程网络:写下一跳 IP 和/或出接口。
- 连续、相邻且通往同一下一跳的网络,可聚合成更短前缀以减少路由表项。
- NAT 与 VPN:
- NAT 在私有网络与公网之间转换 IP 地址/端口,用于缓解 IPv4 地址不足。
- VPN 在公网上建立逻辑专用网络。
- 网际组管理协议 IGMP:IGMP 是 TCP/IP 协议族中网络层 IP 数据报 的一个协议,协议号为 2,TTL 固定为 1(限制在本地子网),作用是管理 IPv4 网络中组播组成员关系,使路由器能够准确知道哪些主机属于哪些组播组,从而高效转发组播流量。
五 运输层
-
运输层的作用:提供进程到进程的逻辑通信。网络层负责主机到主机,运输层使用端口号区分同一主机上的不同应用进程。
-
端口号:端口号长度为 16 位。常见端口:FTP 21、TELNET 23、HTTP 80、TFTP 69
-
UDP:
- 无连接、尽最大努力交付、面向报文、首部开销小。
- 不保证可靠、有序、无重复交付。
- 适合实时性优先或由应用层自行处理可靠性的场景。
- TCP 的主要特点:
- 面向连接。
- 可靠传输。
- 全双工通信。
- 面向字节流。
- 通过序号、确认、校验、重传和窗口机制实现可靠性。
- 停止等待协议:
- 发送方发送一个分组后等待确认,收到 ACK 才发送下一个。
- 超时未收到确认则重传。
- 为区分新分组与重传分组,序号通常只需 0 和 1。
- 发送时延:
Tt=L/R。 - 忽略 ACK 发送时延和处理时延时:
U=Tt/(Tt+2Tp)。 - 若要使利用率至少为 50%,要求
Tt≥2Tp。
- 连续 ARQ 与滑动窗口:
- 允许发送方连续发送多个分组,不必每发送一个就等待 ACK。
- 窗口足够大时可以填满“管道”,避免链路因等待确认而空闲。
- 常用最小窗口:
Wmin=ceil(1+2Tp/Tt)。
- TCP 首部高频字段:
- 源端口、目的端口。
- 序号
seq。 - 确认号
ack。 - 首部长度。
- 控制位:URG、ACK、PSH、RST、SYN、FIN。
- 窗口、校验和、紧急指针。
- TCP 序号与确认号:
seq是本报文段数据部分第一个字节的编号。ack是期望收到对方的下一个字节编号。- 收到序号为
x、数据长度为L的按序报文段后,确认号通常为x+L。 - TCP 使用累计确认:ACK 值之前的所有字节均已按序收到。
- SYN 和 FIN 各消耗一个序号;纯 ACK 不消耗序号。
- TCP 三次握手:
- 客户端 → 服务器:
SYN=1,seq=x。 - 服务器 → 客户端:
SYN=1,ACK=1,seq=y,ack=x+1。 - 客户端 → 服务器:
ACK=1,seq=x+1,ack=y+1。 - 目的:双方同步初始序号,确认双向通信能力,避免旧的失效连接请求导致错误连接。
- TCP 四次挥手:
- 主动关闭方发送 FIN。
- 对方回复 ACK。
- 对方处理完剩余数据后发送 FIN。
- 主动关闭方回复最后 ACK。
- 主动关闭方进入 TIME-WAIT,处理迟到分组并确保最后 ACK 可重传。
- 流量控制:
- 防止发送方发送过快导致接收方来不及接收。
- TCP 通过接收窗口
rwnd实现;实际发送窗口受接收方通告窗口限制。
- 拥塞控制:
- 目的:防止网络过载,而不是只保护接收方。
- 关键变量:拥塞窗口
cwnd、慢启动门限ssthresh。 - 慢启动:
cwnd近似指数增长。 - 拥塞避免:达到
ssthresh后,cwnd近似线性增长。 - 三个重复 ACK:通常认为发生轻度丢包,真题口径为
ssthresh减半,cwnd减半。 - 超时:认为拥塞更严重,
ssthresh减半,cwnd置 1,重新慢启动。
- 流量控制与拥塞控制区别:
- 流量控制关注接收方是否来得及接收。
- 拥塞控制关注网络是否过载。
- TCP 实际允许的发送窗口通常受
min(rwnd, cwnd)限制。
六 应用层
-
DNS 的作用:将容易记忆的域名映射为 IP 地址,还可用于别名、邮件服务器定位等。
-
域名结构:采用层次结构,通常按
主机.机构.顶级域书写,例如h.c.com。 -
域名服务器层次:
- 根域名服务器。
- 顶级域名服务器。
- 权威域名服务器:保存某个域的最终记录。
- 本地域名服务器:通常由 ISP、学校或单位提供,主机首先向它查询。
- 递归查询与迭代查询:
- 递归查询:被查询服务器替请求者继续查询并返回最终答案。
- 迭代查询:服务器返回下一步应该查询的服务器线索。
- 常见模式:主机到本地域名服务器是递归查询;本地域名服务器到根、顶级域、权威服务器是迭代查询。
- DNS 缓存可以减少后续查询时延和服务器负载。
- FTP:
- 使用两条并行 TCP 连接。
- 控制连接传输命令和控制信息。
- 数据连接传输文件内容。
- FTP 控制连接常用端口为 21。
- TFTP 与 TELNET:
- TFTP 是简单文件传送协议,使用 UDP,常见端口 69,功能比 FTP 简化。
- TELNET 是远程终端协议,默认端口 23;明文传输,安全性不足。
- WWW、URL、HTML、HTTP:
- WWW 是分布式超文本系统。
- URL 是统一资源定位符,用于标识和定位资源。
- HTML 是超文本标记语言,用于描述网页文档。
- HTTP 是浏览器与 Web 服务器之间使用的应用层协议,默认端口为 80。
- HTTP:
- 常见请求方法:GET、POST。
- 响应报文通常包括状态行、首部和实体主体。
- 非持续连接通常一个对象一个 TCP 连接;持续连接可在一个 TCP 连接上传送多个对象,减少连接建立开销。
- 电子邮件:
- SMTP:用于发送邮件和服务器之间转发邮件。
- POP3、IMAP:用于用户读取邮件。
- MIME:扩展电子邮件内容类型,支持附件、非 ASCII 文本等。
- DHCP 动态主机配置协议:自动给主机分配 IP 地址、子网掩码、默认网关、DNS 服务器等参数。
- 基本过程:客户端发现(Discover)→ 服务器提供(Offer)→ 客户端请求(Request)→ 服务器确认(ACK)。
-
SNMP:简单网络管理协议,用于网络管理;涉及管理站、代理、管理信息库 MIB。
-
P2P 应用:多个对等方共同提供资源;可采用集中目录服务器或全分布式结构。
-
常见协议和端口速记:
| 协议/概念 | 用途与关键记忆 |
|---|---|
| DNS | 域名解析;主机到本地常递归,本地向外常迭代 |
| FTP | 控制连接 + 数据连接;TCP,控制端口 21 |
| HTTP | Web 传输协议;默认端口 80 |
| TELNET | 远程终端;默认端口 23 |
| TFTP | 简化文件传送;UDP,端口 69 |
| SMTP | 邮件发送和服务器间转发 |
| POP3 / IMAP | 邮件读取协议 |
| DHCP | 动态分配 IP、掩码、网关、DNS 等参数 |

