COMP5416 Kurose 交互题库题解:第一章 Introduction 全部 8 题(Week 1–2)

COMP5416 Kurose 交互题库题解:第一章 Introduction(Week 1–2,全部 8 题)

课程:COMP5416/COMP4416 — Advanced Network Technologies,Semester 2 2026 来源Kurose 官方交互练习站 第一章 8 道题,对应 考纲对照指南 里的「必做」清单 范围确认:这 8 题全部落在期中真实范围 Week 1–4 内(见 期中范围更正),可以放心刷

站上每道题点 "Another Problem Like This" 都会换一套新数字,下面记录的是抓取时生成的那一次实例—— 重点是每题的解法和公式,不是死记这一组数字。点开原题链接自己再练一遍新实例,把公式套进去验算。 所有数值已用 Python 独立复算,与官方 Show Solution 一致。


目录(按官方顺序,对应 Week 1–2)

# 题目 对应周 小问数
1 Circuit Switching Week 1–2 4
2 Quantitative Comparison of PS and CS Week 1–2 7
3 Car - Caravan Analogy Week 2 7
4 One-hop Transmission Delay Week 2 2
5 Queuing Delay Week 2 5
6 End-to-End Delay Week 2 10
7 End-to-End Throughput Week 2 5
8 The IP Stack and Protocol Layering Week 1 20

一、Circuit Switching

题目

环形电路交换网络,交换机 A、B、C、D 顺次相连:A–B 17 条电路,B–C 15 条,C–D 12 条,D–A 20 条

A B C D 17 circuits 15 12 circuits 20

上图是按本题数字重绘的示意图(原题配图见 Circuit Switching)。

Q1:任意时刻网络中最多能同时进行多少条连接?

四段链路互相独立,各自跑满即可:

Q2:跑满之后再来一个连接请求,会被接受吗?

不会(No)——四段链路的电路全部被占用,没有空闲电路,新请求直接被阻塞(这就是电路交换"硬预留、不排队、只拒绝"的特点)。

Q3:如果每条连接必须走 2 段连续跳(例如 A→C、B→D、C→A、D→B),顺时针连接,最多能同时进行多少条?

⚠️ 更正:环是 A→B→C→D→A 顺时针排列,所以 C→A 走的是 C-D、D-A(不是 C-B、B-A)。

4 条连接占用的链路段:A→C 占 A-B、B-C;B→D 占 B-C、C-D;C→A 占 C-D、D-A;D→B 占 D-A、A-B。设并发数为 ,约束:

关键技巧:把 4 段链路配成两组"对角"(A-B 配 C-D,B-C 配 D-A),每组两条约束相加,左边都等于总连接数,取更紧的上限:

(验证: 满足全部约束,总数恰好 29,瓶颈在 A-B+C-D 这一对。)

Q4:如果 A→C 需要 19 条连接、B→D 需要 13 条,四条链路够用吗?

总需求 ,而 Q3 算出的可用连接数上限是 29:


二、Quantitative Comparison of Packet Switching and Circuit Switching

题目

链路容量 200 Mbps,每用户需要 20 Mbps

  • 电路交换 个用户共享
  • 分组交换 个用户共享,每人只有 10% 的时间在发送

要求「前导零之后保留两位有效数字」。

Q1:电路交换最多支持多少用户?

Q2:19 个分组交换用户,电路交换支持得了吗?

,所以 No——分组交换敢接纳电路交换接纳不了的用户数,这就是统计复用的意义。

Q3:指定某一个用户在发送、其余 18 人沉默的概率?

Q4:任意一个用户(19 人中任选一个)在发送、其余人沉默的概率?

比 Q3 多乘一个组合数

📌 「指定哪一个」vs「任意一个」是这类题最容易失分的地方——后者要乘

Q5:一个用户发送时占用链路容量的比例?

Q6:恰好 10 个用户(19 人中任选 10 个)同时发送的概率?

标准二项分布

Q7:超过 10 个用户同时发送(链路过载)的概率?

核心结论:10 恰好是电路交换能支持的用户上限。分组交换接纳了近 2 倍的用户(19 vs 10),代价是千万分之三点五的极小概率会过载——统计复用用极小的风险换来大得多的容量。


三、Car - Caravan Analogy

题目

20 辆车组成的车队,收费站每 2 秒服务(放行)一辆车;放行后车辆以 10 km/s 驶向下一个收费站,两站间距 200 km。规定:车队必须全部到齐、排好队,第一辆车才能开始接受服务(store-and-forward 的类比)。

Q1:一辆车进入服务到离开服务,要多久?

服务(收费)本身的耗时就是"发送一辆车"的时间:

Q2:整个车队在收费站服务完,要多久?

Q3:第一辆车离站后,到下一站要多久?

Q4:最后一辆车离站后,到下一站要多久?

跟 Q3 一样,任何一辆车在路上跑的时间都相同:

Q5:第一辆车离开收费站后,要多久才能在下一站开始被服务?

第一辆车要等其余 19 辆车全部到齐才能开始被下一站服务(store-and-forward 规则):

Q6:会不会同时有两辆车分别在两个收费站被服务?

不会(No)——下一站必须等全部车辆到齐才能开始服务,而本站服务完最后一辆车之后那辆车还要在路上跑一段时间,两站的"服务窗口"不会重叠。

Q7:会不会出现"零辆车在被服务"的情况(车队已经离开第一站、还没到第二站)?

会(Yes)——典型例子:最后一辆车已经被第一站放行,但还在路上没到第二站;此时所有车都不在"被服务"状态。

📌 这就是 store-and-forward 的核心直觉:必须等整个报文/车队攒齐才能转发,这也是它和"边到边传"的电路交换类比的本质区别。跟 Lab 02 的报文分段题 对照着看——分段之后就不用等整个车队,加速效果立竿见影。


四、One-hop Transmission Delay

题目

单跳链路,路由器发送长度 的分组,链路速率 。本例: bits, Mbps。

Q1:传输时延是多少?

Q2:这条链路每秒最多能发送多少个这样的分组?

📌 互为倒数——这是全课程用得最多的一对公式,务必闭眼秒答。


五、Queuing Delay

题目

固定传输速率 bps,固定分组长 bits, 为平均到达速率(分组/秒)。流量强度 ,排队时延公式为:

Q1:排队时延在实际中波动大吗?

是(Yes)——上面的公式只是粗略估计,真实网络里的排队时延受突发流量影响,波动远比公式暗示的剧烈。

Q2:当 时,排队时延是多少(毫秒)?

Q3:当 时呢?

📌 规律 越接近 1,排队时延越向无穷大发散——这正是 Week 02 讲义 里那条经典的"排队时延 vs 流量强度"渐近曲线。 已经比 大不了 3 倍,排队时延却涨了将近一倍,体现了非线性。

Q4:假设缓冲区无限大, 时排队时延为 1.2825 ms,702 个分组到达,1 秒后缓冲区里还剩多少个?

思路:缓冲区是无限的,所以不存在丢包,问的是"1 秒内处理速度 vs 到达速度"的净积压。

链路每秒能处理的分组数 个/秒,而到达速率 个/秒 远小于处理能力,所以 1 秒后队列会被完全清空

⚠️ 官方解答原文的表述是 "a − floor(1000/delay)",这个写法容易让人误解——本质是比较"到达速率"和"服务速率":只要 (未过载),无限缓冲区在 1 秒后必然被清空,剩余分组数恒为 0。

Q5:如果缓冲区最大只能放 587 个分组,上一问的 702 个到达分组会丢多少个?

📌 这里的"702 个到达"应理解为某个瞬间的突发到达(不是稳态到达速率 ),缓冲区瞬间被这波突发流量填满并溢出——丢包数 = 到达数 − 缓冲区容量,跟稳态排队公式是两码事,做题时要分清"稳态平均"和"瞬时突发"两种情境。


六、End-to-End Delay

题目

三段链路:source → switch1 → switch2 → destination,每台交换机都是 store-and-forward。分组长度 bits,光速传播 m/s。

链路 传输速率 长度
Link 1 1000 Mbps 2 km
Link 2 1000 Mbps 1000 km
Link 3 1000 Mbps 3 km
Source Switch 1 Switch 2 Link 1 Link 2 Link 3 Dest. 2 km 1000 km 3 km

三段链路结构示意(原题配图见 End-to-End Delay)——每台 switch 都要 store-and-forward,具体数值见下表。

Q10:端到端总时延?

📌 三段传输时延完全一样(同样的 、同样的 ),总时延几乎完全由 Link 2 的传播时延主导(1000 km 的物理距离)——这是本题想让你看到的:当链路很长时,传播时延碾压传输时延;反过来局域网内传播时延常常可以忽略,传输时延才是主角。判断"该忽略哪个时延"永远要看具体数值的量级,不能死记结论。


七、End-to-End Throughput

题目

4 对客户端-服务器共享一条中间链路。中间共享链路容量 Mbps;每台服务器到共享链路的容量 Mbps;共享链路到每个客户端的容量 Mbps。

4 × 服务器 共享链路 R = 300 Mbps 4 × 客户端 R_S = 50 Mbps(每条) R_C = 40 Mbps(每条)

简化拓扑(4 对连接结构相同,画一条代表其余三条;原题配图见 End-to-End Throughput)。

Q1:假设中间链路被 4 对连接公平分享,每对的最大端到端吞吐量是多少?

三段瓶颈里取最小值:

Q2:瓶颈链路是哪一段?

Q3:服务器端链路 的利用率?

Q4:客户端链路 的利用率?

Q5:共享链路 的利用率?

📌 瓶颈链路利用率恒为 1(Q4),因为吞吐量的上限就是按瓶颈定义的。这题和 Week 02 讲义 里 Figure 1.20 的"多对连接共享中间链路"是同一个模型,公式记住一条即可:端到端吞吐量 = 路径上所有链路容量的最小值(含共享链路按公平份额折算)


八、The IP Stack and Protocol Layering

题目

经典的 Kurose 封装图:source host 向下穿过五层协议栈(Application → Transport → Network → Link → Physical),经过两台路由器(只处理到 Network 层),到达 destination host 再向上穿过五层。图中一共标注了 15 个"box",依次对应传输路径上每一跳、每一层被封装/解封装的时刻。

Q1–Q5:五句描述对应哪一层

描述 对应层
"handles messages from a variety of network applications" Application
"passes frames from one node to another across some medium" Link
"moves datagrams from the source host to the destination host" Network
"handles the delivery of segments from the application layer, may be reliable or unreliable" Transport
"bits live on the wire" Physical

📌 这五句就是教材对五层协议栈职责最标准的表述,背下这五句原文基本等于背下了五层协议栈的功能划分。

Q6–Q20:15 个 box 分别对应哪一层

封装路径是 source(向下 5 层)→ 路由器 1(上到 Network 再下)→ 路由器 2(同样)→ destination(向上 5 层)

阶段 Box 编号 对应层
Source(向下封装) Box 1 Application
Box 2 Transport
Box 3 Network
Box 4 Link
Box 5 Physical
路由器 1(先上后下) Box 6 Physical(进)
Box 7 Link
Box 8 Physical(出,注意路由器只到 Network 层,不会拆到 Transport)
路由器 2 Box 9 Link
Box 10 Network
Box 11 Physical(进)
Box 12 Link
Box 13 Network
Destination(向上解封装) Box 14 Transport
Box 15 Application

⚠️ 最容易出错的点路由器只工作到网络层(Network),绝不会拆到 Transport 或 Application——这也是路由器和"三层设备"这个称呼的由来。做这类题时,先在图上标出"谁是路由器、谁是主机",主机才会走满五层,路由器永远只摸到 Network 就往下走。

另一个规律沿途经过几台路由器,Physical/Link 层就要被拆装几次,而 Network 层只在路由器上短暂出现(选路),Transport 和 Application 层只在源和目的主机上出现,中间路由器完全看不到。


考点重点(第一章全览)

  1. 电路交换容量 链路容量 / 每用户带宽,多段共享链路时先找瓶颈段
  2. "指定某个用户"vs"任意一个用户":后者要乘组合数 ——本章两道概率题(PS vs CS、Queuing)反复考这个点。
  3. 二项分布是分组交换容量分析的核心:,过载概率是尾和
  4. store-and-forward:必须收完整个单元(分组/车队)才能转发,Car-Caravan 类比和 Lab 02 的报文分段题 是同一个模型的两种包装。
  5. :链路短时传播时延可忽略,链路长(跨城/跨国)时传播时延才是主角——具体看数值量级,不能死记结论。
  6. 端到端吞吐量 = 路径瓶颈 所有链路容量(共享链路按公平份额折算);瓶颈链路利用率恒为 1。
  7. 五层协议栈:路由器只到 Network 层,Transport/Application 只存在于两端主机;沿途每台路由器都会重复 Physical→Link 的拆装。

下一步

Chapter 2(应用层,Week 3–4,另外 8 题)见 COMP5416 Kurose 交互题库题解:第二章