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 条。
上图是按本题数字重绘的示意图(原题配图见 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),每组两条约束相加,左边都等于总连接数,取更紧的上限:
(验证:
Q4:如果 A→C 需要 19 条连接、B→D 需要 13 条,四条链路够用吗?
总需求
二、Quantitative Comparison of Packet Switching and Circuit Switching
题目
链路容量 200 Mbps,每用户需要 20 Mbps:
- 电路交换:
个用户共享 - 分组交换:
个用户共享,每人只有 10% 的时间在发送( )
要求「前导零之后保留两位有效数字」。
Q1:电路交换最多支持多少用户?
Q2:19 个分组交换用户,电路交换支持得了吗?
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
题目
单跳链路,路由器发送长度
Q1:传输时延是多少?
Q2:这条链路每秒最多能发送多少个这样的分组?
📌
和 互为倒数——这是全课程用得最多的一对公式,务必闭眼秒答。
五、Queuing Delay
题目
固定传输速率
Q1:排队时延在实际中波动大吗?
是(Yes)——上面的公式只是粗略估计,真实网络里的排队时延受突发流量影响,波动远比公式暗示的剧烈。
Q2:当 时,排队时延是多少(毫秒)?
Q3:当
时呢?
📌 规律:
越接近 1,排队时延越向无穷大发散——这正是 Week 02 讲义 里那条经典的"排队时延 vs 流量强度"渐近曲线。 已经比 大不了 3 倍,排队时延却涨了将近一倍,体现了非线性。
Q4:假设缓冲区无限大, 时排队时延为 1.2825 ms,702
个分组到达,1 秒后缓冲区里还剩多少个?
思路:缓冲区是无限的,所以不存在丢包,问的是"1 秒内处理速度 vs 到达速度"的净积压。
链路每秒能处理的分组数
⚠️ 官方解答原文的表述是 "a − floor(1000/delay)",这个写法容易让人误解——本质是比较"到达速率"和"服务速率":只要
(未过载),无限缓冲区在 1 秒后必然被清空,剩余分组数恒为 0。
Q5:如果缓冲区最大只能放 587 个分组,上一问的 702 个到达分组会丢多少个?
📌 这里的"702 个到达"应理解为某个瞬间的突发到达(不是稳态到达速率
),缓冲区瞬间被这波突发流量填满并溢出——丢包数 = 到达数 − 缓冲区容量,跟稳态排队公式是两码事,做题时要分清"稳态平均"和"瞬时突发"两种情境。
六、End-to-End Delay
题目
三段链路:source → switch1 → switch2 →
destination,每台交换机都是 store-and-forward。分组长度
| 链路 | 传输速率 |
长度 |
|---|---|---|
| Link 1 | 1000 Mbps | 2 km |
| Link 2 | 1000 Mbps | 1000 km |
| Link 3 | 1000 Mbps | 3 km |
三段链路结构示意(原题配图见 End-to-End Delay)——每台 switch 都要 store-and-forward,具体数值见下表。
Q1–Q3:Link 1 的传输时延、传播时延、总时延
Q4–Q6:Link 2 的传输时延、传播时延、总时延
Q7–Q9:Link 3 的传输时延、传播时延、总时延
Q10:端到端总时延?
📌 三段传输时延完全一样(同样的
、同样的 ),总时延几乎完全由 Link 2 的传播时延主导(1000 km 的物理距离)——这是本题想让你看到的:当链路很长时,传播时延碾压传输时延;反过来局域网内传播时延常常可以忽略,传输时延才是主角。判断"该忽略哪个时延"永远要看具体数值的量级,不能死记结论。
七、End-to-End Throughput
题目
4 对客户端-服务器共享一条中间链路。中间共享链路容量
简化拓扑(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 层只在源和目的主机上出现,中间路由器完全看不到。
考点重点(第一章全览)
- 电路交换容量
链路容量 / 每用户带宽 ,多段共享链路时先找瓶颈段。 - "指定某个用户"vs"任意一个用户":后者要乘组合数
——本章两道概率题(PS vs CS、Queuing)反复考这个点。 - 二项分布是分组交换容量分析的核心:
,过载概率是尾和。 - store-and-forward:必须收完整个单元(分组/车队)才能转发,Car-Caravan 类比和 Lab 02 的报文分段题 是同一个模型的两种包装。
, :链路短时传播时延可忽略,链路长(跨城/跨国)时传播时延才是主角——具体看数值量级,不能死记结论。- 端到端吞吐量 = 路径瓶颈:
所有链路容量(共享链路按公平份额折算);瓶颈链路利用率恒为 1。 - 五层协议栈:路由器只到 Network 层,Transport/Application 只存在于两端主机;沿途每台路由器都会重复 Physical→Link 的拆装。
下一步
Chapter 2(应用层,Week 3–4,另外 8 题)见 COMP5416 Kurose 交互题库题解:第二章。