计算机网络复习例题

part1各种时延的计算方法,分组交换、电路交换的相关计算 详细解释说明,配上例题讲透该知识点

3)例题 1:单链路时延(你必须一眼秒)

题: 一条链路 R=10 Mbps,距离 d=2000 km,传播速率 s=2×10^8 m/s,分组 L=1500 Bytes,不计排队/处理。求总时延。

解:

  • 单位换算:1500 Bytes=1500×8=12000 bits1500\text{ Bytes}=1500\times 8=12000\text{ bits}1500 Bytes=1500×8=12000 bits

  • 发送时延:

dtrans=1200010×106=0.0012 s=1.2 msd_{trans}=\frac{12000}{10\times 10^6}=0.0012\text{ s}=1.2\text{ ms}dtrans=10×10612000=0.0012 s=1.2 ms
  • 传播时延:2000 km=2×106 m2000\text{ km}=2\times 10^6\text{ m}2000 km=2×106 m

dprop=2×1062×108=0.01 s=10 msd_{prop}=\frac{2\times 10^6}{2\times 10^8}=0.01\text{ s}=10\text{ ms}dprop=2×1082×106=0.01 s=10 ms
  • 总时延:

d=1.2+10=11.2 msd=1.2+10=11.2\text{ ms}d=1.2+10=11.2 ms

结论:长距离通常传播时延占主导。


4)例题 2:多跳分组交换(存储-转发)——考试最爱

题: A→R1→R2→B 共 3 条链路(3 跳),每条链路速率都是 R=2 Mbps,每条链路传播时延都是 5 ms,分组 L=1000 Bytes,不计排队/处理。问端到端时延?

解:

  • L=1000×8=8000L=1000\times 8=8000L=1000×8=8000 bits

  • 每跳发送时延:

LR=80002×106=0.004 s=4 ms\frac{L}{R}=\frac{8000}{2\times 10^6}=0.004\text{ s}=4\text{ ms}RL=2×1068000=0.004 s=4 ms
  • 每跳传播时延:5 ms

  • 3 跳总时延:

d=3×(4+5)=27 msd=3\times(4+5)=27\text{ ms}d=3×(4+5)=27 ms

关键点:存储-转发 → 每跳都要算一次 L/RL/RL/R


5)例题 3:流水线(pipelining)发多个分组——综合题常出现

还是上题的 3 跳链路,发送/传播同样参数。现在 A 连续发送 K=10 个分组(每个 1000B),问“最后一个分组到达 B 的时间”?

套路:

  • 第一个分组到达时间:还是例题2的 272727 ms

  • 之后进入流水线:瓶颈由每跳发送时延主导(这里每跳发送都是 4 ms)

  • 后续每多一个分组,整体完成时间增加大约 4 ms(因为链路在持续以速率 R 发包)

所以:

T10≈27+(10−1)×4=63 msT_{10} \approx 27 + (10-1)\times 4 = 63\text{ ms}T1027+(101)×4=63 ms

一句话记忆

多分组流水线:第一个 = 全路径延迟;后续 = (K-1)×瓶颈发送时延


6)例题 4:电路交换 vs 分组交换(你截图那题的核心套路)

已知: 链路容量 200 Mbps。每用户需要 25 Mbps。

(1) 电路交换能支持多少用户?

Ncs=⌊20025⌋=8N_{cs}=\left\lfloor \frac{200}{25}\right\rfloor = 8Ncs=25200=8

8 个用户“硬切片”,第 9 个绝对不行。

(2) 分组交换的“统计复用”怎么考?

若每用户只在 p=0.1p=0.1p=0.1 的时间发送,且发送时仍需 25 Mbps。
链路最多同时容纳 8 个活跃用户(因为 8×25=200)。

令活跃用户数:

X∼Binomial(N,p)X\sim \text{Binomial}(N,p)XBinomial(N,p)
  • 不拥塞条件:X≤8X\le 8X8

  • 拥塞概率:

P(congestion)=P(X≥9)=1−∑k=08(Nk)pk(1−p)N−kP(\text{congestion})=P(X\ge 9)=1-\sum_{k=0}^{8}\binom{N}{k}p^k(1-p)^{N-k}P(congestion)=P(X9)=1k=08(kN)pk(1p)Nk

part2 一些典型报文头部格式、长度、字段含义:IPv4、TCP、UDP、802.3、802.11、HTTP等

综合例题 1:分片(IPv4)+ 以太网 MTU(802.3)+ TCP/UDP

题: 主机要发送一个 4000B 的 UDP 数据(应用层 payload),链路是 Ethernet(MTU=1500B)。IPv4 无选项(20B),UDP首部8B。问:
1)IPv4 会分成几片?
2)每片的 IP Total LengthMFFragment Offset 分别是多少?

解:

  • 原始 UDP 长度:UDP数据4000B + UDP首部8B = 4008B

  • 原始 IP 总长:IP首部20B + 4008B = 4028B

MTU=1500B → 每个 IP 分片最大 Total Length ≤1500B
其中 IP首部20B → 每片最大数据部分 = 1500-20=1480B(而且偏移单位8B,1480能被8整除,刚好)

分片数据(不含IP首部)总共4008B:

  • 第1片:1480B

  • 第2片:1480B

  • 第3片:剩余 4008-2960=1048B

于是:

  • 片1:Total Length = 20+1480=1500,MF=1,Offset=0

  • 片2:Total Length = 1500,MF=1,Offset=1480/8=185

  • 片3:Total Length = 20+1048=1068,MF=0,Offset=(1480+1480)/8=2960/8=370

✅ 这类题就是期末综合题常客。


9)综合例题 2:Wireshark 截到三次握手 + Seq/Ack + HTTP

抓包看到:

  1. C→S: SYN, Seq=1000

  2. S→C: SYN, ACK, Seq=5000, Ack=1001

  3. C→S: ACK, Seq=1001, Ack=5001

随后客户端发送 HTTP GET,长度(TCP payload)= 600B。

问题:
1)为什么第2步 Ack=1001?
2)HTTP GET 这段 TCP 的 Seq 应该是多少?发送后对方 Ack 多少?

解:
1)SYN 占用一个序号,所以对 Seq=1000 的 SYN 确认是 1000+1=1001
2)第三步之后,客户端下一次发送数据仍从 Seq=1001 开始。
GET payload=600B → 服务器确认号:

Ack=1001+600=1601Ack = 1001 + 600 = 1601Ack=1001+600=1601

✅ 这题把 TCP 的 Seq/Ack 和 HTTP 结合了,非常像“不会考单点”的风格。


10)综合例题 3:802.3 开销 + 吞吐/效率(协议头部影响)

题: 在 Ethernet 上发送一个 HTTP 响应对象 10KB(仅应用数据),使用 TCP/IP:

  • TCP首部20B,IP首部20B

  • Ethernet II 头14B,FCS 4B

  • MTU=1500B(指 IP payload 最大1500?注意:以太网数据字段最大1500B,对应 IP 包总长 ≤1514? 经典口径:Ethernet payload 1500B = IP包总长最多1500B)
    假设不考虑握手和重传,问:
    1)需要多少个 TCP 段?
    2)总共在链路上发送的字节数(含各层头部,不含前导码)?
    3)链路效率 = 应用数据 / 总发送量

解题套路:

  • MSS(每段 TCP payload) = 1500 - IP(20) - TCP(20) = 1460B

  • 应用数据 10KB = 10×1024=10240B
    段数:

⌈10240/1460⌉=⌈7.01⌉=8 segments\lceil 10240/1460 \rceil = \lceil 7.01\rceil = 8\ \text{segments}10240/1460=7.01=8 segments

每段上链路字节数:

  • TCP payload:前7段1460B,最后1段 10240-7×1460=...
    7×1460=10220,剩 20B

  • 每段额外头部(不含payload):TCP20 + IP20 + Eth(14+4)=58B

总发送量:

  • 前7段: (1460+58)×7

  • 最后段: (20+58)×1

=1518×7+78=10626+78=10704B=1518\times7 + 78 = 10626 + 78 = 10704\text{B}=1518×7+78=10626+78=10704B

效率:

η=10240/10704≈0.9566\eta = 10240/10704 \approx 0.9566η=10240/107040.9566

✅ 这题属于“计算型综合大题”:把 802.3 + IP + TCP + MTU 全揉一起。

part3 应用层:电子邮件协议、DNS、WEB访问的流程,HTTP1.0和1.1的区别,能够结合TCP 进行相关计算,DASH的基本原理

综合例题 5:DASH 自适应判断

题:
客户端最近 5 秒测得平均吞吐量为 3 Mbps。
可选视频码率为:1 Mbps、2 Mbps、4 Mbps。

问:客户端应选择哪个码率?为什么?


标准答案

    • 选择 2 Mbps

    • 原因:

      • 留出带宽余量

      • 避免缓冲区空转(rebuffering)

part4 TCP 和UDP的适用场合,TCP如何实现可靠传输,如何估计往返时延,如何设置超时重 传计时器,如何实现流量控制,如何判断拥塞,如何实现拥塞控制,拥塞控制算法

part5 网络层数据平面:IP分片、传统路由器的转发表、SDN OpenFlow 流表

转发表长什么样?

典型结构:

目的网络前缀输出接口
10.0.0.0/8 接口 1
10.1.0.0/16 接口 2
10.1.2.0/24 接口 3
默认 接口 4

3️⃣ 查表规则(必须会写)

⭐ 最长前缀匹配(Longest Prefix Match)

选择 匹配位数最多 的那一条


4️⃣ 例题 2(最长前缀匹配)

题:
目的 IP:10.1.2.7
转发表如上,问从哪个接口转发?

解:

  • 匹配 /8 ✔

  • 匹配 /16 ✔

  • 匹配 /24 ✔(最长)

👉 从接口 3 转发

例题 3(SDN 流表设计)

题:
要求:

  • 来自端口 1

  • 目的 IP = 10.1.2.7

  • 转发到端口 3

标准答案(照抄)

 
Match: in_port=1, ip_dst=10.1.2.7 Action: output=3

5️⃣ SDN + IP 分片的综合理解题

OpenFlow 交换机是否需要理解 IP 分片?

标准答法:

    • 数据平面仍然转发 IP 分片

    • 分片/重组仍由 IP 层(端系统)负责

    • SDN 控制的是转发规则,不改变 IP 协议语义

        • 个主机发送大小为 4000B(含 IP 头) 的 IP 数据报,
          经过:

          • 路由器 R1(MTU=1500B,传统路由器)

          • 路由器 R2(SDN 交换机,OpenFlow)

          R1 的转发表如下:

          前缀接口
          10.1.0.0/16 1
          默认 2

          R2 的 OpenFlow 规则:

           
          Match: ip_dst=10.1.2.0/24 Action: output=3

          目的 IP = 10.1.2.7

          问:

          1️⃣ R1 是否需要分片?若需要,写出分片信息
          2️⃣ R1 如何决定输出接口?
          3️⃣ R2 如何处理这些分片?


          标准答案要点(你考试可以照这个结构写)

          (1) IP 分片

          • 因 MTU=1500B,小于数据报长度 → 需要分片

          • 分片方式同前面分片计算(略)

          (2) R1 转发接口

          • 目的 IP=10.1.2.7

          • 匹配 10.1.0.0/16 → 接口 1(最长前缀)

          (3) R2 OpenFlow 转发

          • 每个 IP 分片都独立匹配流表

          • 匹配 ip_dst=10.1.2.0/24

          • 所有分片转发到端口 3

part6 网络层控制平面:AS 内部:RIP 路由和OSPF 路由的工作原理; AS 间:BGP (eBGP,iBGP工作原理),ICMP(Ping 和Tracert

 

part7 ARP的工作原理,请求的主机在本网和非本网。

part8 CSMA/CD 和CSMA/CA的区别(退避的条件,退避算法等),WLAN相关内容,如体系结 构、信道与关联、隐藏终端问题,如何缓解、802.3和

在一个 WLAN 中,STA A、STA C 同时向 AP B 发送数据。

1️⃣ 说明为什么 CSMA/CD 不适用于该场景
2️⃣ 描述 CSMA/CA 的退避过程
3️⃣ 指出可能出现的问题
4️⃣ 给出解决方案并解释其原理
5️⃣ 说明该过程中 802.11 帧头与 802.3 的主要不同


标准答案结构(你考试直接照抄)

1️⃣ CSMA/CD 不适用

  • 无线无法边发边听,不能检测冲突

2️⃣ CSMA/CA

  • 监听信道

  • 随机退避

  • ACK 确认

3️⃣ 问题

  • 隐藏终端导致冲突

4️⃣ 解决方案

  • 使用 RTS/CTS

  • 利用 NAV 避免其他节点发送

5️⃣ 头部区别

    • 802.11 使用多 MAC 地址支持 AP 架构

part9 如何为移动网络配置数据平面隧道

一个移动节点 MN 从 Home Network 移动到 Foreign Network。

1️⃣ 解释为什么需要数据平面隧道
2️⃣ 描述隧道建立的过程
3️⃣ 写出隧道中一个下行数据包的内外层 IP 头
4️⃣ 指出该机制是否影响 TCP 连接
5️⃣ 说明三角路由产生的原因


标准答案要点(你考试可以照抄)

(1) 原因

  • 移动导致 IP 改变

  • 需要保持对端通信连续

(2) 隧道建立

  • MN 获取 COA

  • 向 HA 注册

  • HA 与 COA 建立隧道

(3) 数据封装

 
Outer IP: HA → COA Inner IP: CN → MN_home

(4) TCP 影响

  • 不影响

  • TCP 仍以 Home Address 为端点

(5) 三角路由

    • 下行经 HA

    • 上行直达 CN

posted @ 2026-01-13 00:21  伟大的船长  阅读(27)  评论(0)    收藏  举报