计算机网络期末复习
计算机网络期末复习
计算机网络》期末终极通关清单
🧮 模块一:核心公式与避坑速查
| 考点类别 | 核心公式 | ⚠️ 致命考场陷阱(必看) |
|---|---|---|
| 发送时延 | $D_{trans} = \frac{L}{R}$ | $R$ 是带宽(bps),$L$ 是包长(bits)。题目若给 $KB$,必须 $\times 8$! |
| 传播时延 | $D_{prop} = \frac{d}{v}$ | 电缆光纤 $v \approx 2 \times 10^8$ m/s,空气 $v \approx 3 \times 10^8$ m/s。 |
| 奈奎斯特定理 | $C = 2 \times BW \times \log_2(V)$ | 无噪声信道。$BW$ 单位是 Hz,$V$ 是电平级数。 |
| 香农定理 | $C = BW \times \log_2(1 + S/N)$ | 有噪声信道。若题目给 $dB$,必须先用 $dB = 10 \log_{10}(S/N)$ 解出 $S/N$ 纯数字,再代入公式! |
| 波特率与比特率 | $BitRate = BaudRate \times \log_2(V)$ | 若为 16-QAM,则 $V=16$,一个符号带 $\log_2(16)=4$ 个比特。 |
| 最小帧长 | $L_{min} = R \times 2\tau = R \times \frac{2d}{v}$ | $2\tau$ 是往返时延(RTT)。只有帧长 $\ge L_{min}$ 才能检测出冲突。 |
| 令牌桶突发时间 | $S = \frac{C}{M - \rho}$ | $C$为桶容量,$M$为线速,$\rho$为令牌生成速率。 |
| 停等协议效率 | $\eta = \frac{T_{trans}}{T_{trans} + RTT}$ | 分子是实际传数据的时间,分母是一个完整周期的总时间。 |
🛠️ 模块二:八大必考题型与【傻瓜式解题步骤】
题型 1:CDMA 码片序列解码 (必考)
- 题干特征:给出各站的码片序列 $A, B$ 和接收到的总信号 $S$,问 A 发了什么?
- 解题步骤:
- 写出式子:将总信号 $S$ 与目标站 $A$ 的码片序列进行点乘(内积)。
- 对应位相乘:注意负负得正!例如 $S=(-1, +1, -3…)$, $A=(-1, -1, -1…)$,则 $(-1\times-1) + (+1\times-1) + (-3\times-1)…$
- 求和除以长度:把乘出来的数相加,必须除以码片的总长度(通常是 8)。
- 得出结论:结果是
1$\rightarrow$ 发了比特1;结果是-1$\rightarrow$ 发了比特0;结果是0$\rightarrow$ 没发数据。
题型 2:CRC 循环冗余校验求发送串 (必考)
- 题干特征:给出数据 $M(x)$ 和生成多项式 $G(x)$,求实际发送的比特流。
- 解题步骤:
- 提取除数:将 $G(x)$ 化为二进制串,最高次幂记为 $r$。例如 $x^3+x+1 \rightarrow 1011$,$r=3$。
- 被除数补0:在原数据末尾补上 $r$ 个
0。 - 模2除法:用被除数除以除数,运算规则是“异或”(同则0,异则1)。每次将除数与被除数最高位的
1对齐异或,直到把有效数据位全消掉。 - 拼接结果:最后剩下的 $r$ 位余数就是 FCS。实际发送序列 =
原数据 + FCS。
题型 3:IPv4 数据报分片计算 (必考大题)
- 题干特征:IP包总长4000B,IP头20B,途经 MTU=1500B 的链路,求各分片参数。
- 解题步骤:
- 算净载荷上限:$MaxPayload = MTU - 20$ (IP头)。例如 $1500-20=1480$ B。
- 检查 8 的倍数(关键陷阱):算出来的净载荷必须能被 8 整除。若不能,向下取整到 8 的倍数!(1480能被8整除,OK)。
- 填表列分片:
- 分片1:长度 $1480+20=1500$。
MF = 1。Offset = 0。 - 分片2:长度 $1480+20=1500$。
MF = 1。Offset = 1480 / 8 = 185。 - 分片3:算剩余数据 ($4000-20-1480\times2 = 1020$)。长度 $1020+20=1040$。
MF = 0(最后一片)。Offset = (1480\times2) / 8 = 370。
- 分片1:长度 $1480+20=1500$。
题型 4:CIDR 路由表最长前缀匹配
- 题干特征:给出一条目标 IP,给出几个带掩码的路由表项(如
/16,/21,/24),问从哪个口转发。 - 解题步骤:
- 找差异字节:看目标 IP 和路由表 IP 在第几个字节开始不同(通常是第3个字节)。
- 转二进制:把那个不同的字节转成 8 位二进制。
- 按位核对:根据掩码长度(如
/21就是看前缀 21 位,即第3个字节的前 5 位),比对二进制是否一致。 - 最长匹配:如果有多个都一致,选掩码数字最大的那个(即最具体的路由)。
题型 5:交换机自学习算法推导
- 题干特征:交换机连接 A, B, C,MAC表为空。A发给B,B发给A,C发给A… 问交换机的动作。
- 解题步骤(每一步套这句话):
- 自学习:收到帧,立刻将“源 MAC”和“进入端口”写入 MAC 表。
- 查表决策:拿着“目的 MAC”去查表。
- 查不到 $\rightarrow$ 泛洪 (Flood)(发给除进端口外的所有端口)。
- 查到了,且端口 $\neq$ 进端口 $\rightarrow$ 精确转发 (Forward)。
- 查到了,且端口 $=$ 进端口 $\rightarrow$ 丢弃 (Drop)。
题型 6:Dijkstra 最短路径画表
- 题干特征:给一张图,求源点到所有点的路由表。
- 解题步骤:
- 建表:列是各个节点,行是迭代步骤 (Step)。
- 初始化:源点距离为 0,直连邻居填线段权重,其他填 $\infty$。
- 核心循环:每次在未确认的节点中选距离最小的作为跳板节点 $w$。
- 刷新邻居:看通过 $w$ 去邻居 $v$ 会不会更近?如果 $D(w) + Cost(w,v) < D(v)$,则更新 $D(v)$,并把 $v$ 的前驱记为 $w$。
题型 7:TCP 拥塞控制曲线/序列图 (终极Boss)
- 题干特征:给出
ssthresh和cwnd的初值,发生几次ACK,发生超时或 3 Dup ACK,求cwnd怎么变。 - 解题步骤:
- 慢开始阶段:
cwnd < ssthresh。每经过 1 个 RTT(收到全量ACK),cwnd翻倍 ($1 \rightarrow 2 \rightarrow 4 \rightarrow 8$)。 - 拥塞避免阶段:
cwnd >= ssthresh。每经过 1 个 RTT,cwnd加 1 ($8 \rightarrow 9 \rightarrow 10$)。 - 遇到 3 个重复 ACK (快重传/快恢复):
ssthresh= 当前cwnd / 2。- TCP Reno:
cwnd= 新ssthresh + 3,之后线性加 1。 - TCP Tahoe:
cwnd = 1,进入慢开始。
- 遇到 Timeout (超时):
ssthresh= 当前cwnd / 2。- 无论是 Reno 还是 Tahoe,
cwnd统统掉到 1,进入慢开始!
- 慢开始阶段:
题型 8:HTTP 报文参数提取
- 套路:纯阅读理解。
- 状态码:第一行
200 OK(成功),404 Not Found(失败)。 - 长度:找
Content-Length: XXX。 - 时间:找
Date: XXX。 - 最后修改:找
Last-Modified: XXX。 - 持久连接:找
Connection: Keep-Alive。
- 状态码:第一行
🧠 模块三:高频概念对比与避坑 (简答题大杀器)
1. 协议的“三座大山”与体系结构
- OSI vs TCP/IP:OSI 严格区分了服务、接口、协议,但实现复杂。TCP/IP 是事实标准,设计为沙漏型(IP层极简)。
- 虚电路 vs 数据报:虚电路(面向连接,路由器保存状态,按序到达);数据报(IP采用,无连接,每个包独立路由,可能乱序/丢包)。
2. 传输层双雄:TCP vs UDP
- TCP:面向连接、可靠传输、面向字节流、有流量控制(rwnd)和拥塞控制(cwnd)。用于 HTTP/FTP/SMTP。
- UDP:无连接、不可靠、面向报文、无拥塞控制(发多快算多快)。用于 DNS/流媒体(RTSP)/TFTP。
3. 滑动窗口双煞:GBN vs SR
- GBN (后退N帧):接收窗口 = 1。累计确认。如果中间丢了一个包,即使后面到了好包也丢弃。发送端超时后,重传丢失包及其后面的所有包。(浪费带宽)。
- SR (选择重传):接收窗口 > 1。独立确认。把乱序的好包缓存起来。发送端超时后,只重传丢失的那个包。(效率高但复杂)。
4. MAC层双盾:CSMA/CD vs CSMA/CA
- CSMA/CD (碰撞检测):用于有线以太网。边发边听,发现冲突立刻停止并发送 Jam 信号,使用二进制指数退避。
- CSMA/CA (碰撞避免):用于无线 WiFi。因为无线电衰减大且有隐藏终端问题,无法边发边听。用 RTS/CTS 控制帧提前预约信道。
5. 其他高频杂项
- NAT (网络地址转换):解决 IP 枯竭。重写内外网 IP 和端口,破坏了端到端原则。
- ARP vs ICMP:ARP 在局域网内广播找 IP 对应的 MAC 地址。ICMP 用于网络层传报错和控制报文(如 Ping, Traceroute)。
- 流媒体抗丢包:不重传,用 交织 (Interleaving) 技术将突发大错打散成微小误差,利用人耳容错率解决。
- IPv6 核心变化:128位地址,头部定长,绝对不允许路由器进行分片(包太大直接丢,让源主机切小了再发)。
本文由作者按照 CC BY 4.0 进行授权