COMP5416 Midterm Quiz 模拟卷:20 题(依 Kurose 官方交互题型出题)

COMP5416 Midterm Quiz 模拟卷:20 题(Week 1–4 真实范围,另附 Week 5 自测)

课程:COMP5416/COMP4416 — Advanced Network Technologies,Semester 2 2026

⚠️ 真实考试信息:

  • 时间:Week 6
  • 权重:20%
  • 形式:20 道选择题
  • 范围:Week 1–4 —— 🔴 更正(Ed Discussion #22):曾有同学在 Ed 直接问 Prof. Gramoli「本周录播的 Transport 是否在 Quiz 范围内」, 老师明确回答 "No",后续同学追问 "so just week 1 to 4?" 未被反驳。之前记的"Week 1–5"是错的,Week 5 传输层不考。 下面的板块四(Q16–Q20,传输层)超出期中范围,留作期末自测,做期中冲刺时可以跳过。

✅ 本卷的出题依据:老师推荐的 Kurose 官方交互练习站。 每一题都对照该站某一道真实交互题的题型、提问方式和答案口径出的,题目下方标注了来源, 做完可以直接回站上点 "Another Problem Like This" 刷同类的无限新实例。

💡 建议用法:先掐 25 分钟做完,再对答案。 所有数值都用代码验算过。 对照指南(哪些题必做、哪些超纲)见 Kurose 交互练习指南。


试题

板块一:分层与网络性能(Week 1–2,教材第 1 章)


Q1. 下列描述对应 IP 协议栈的哪一层:「把数据报从源主机送到目的主机」?

  • A. 链路层(Link Layer)
  • B. 传输层(Transport Layer)
  • C. 网络层(Network Layer)
  • D. 应用层(Application Layer)

📎 题型来源:The IP Stack and Protocol Layering


Q2. 一个由交换机 A、B、C、D 构成的环形电路交换网络。设四条链路的电路数分别为 。任一时刻网络中最多能同时进行多少条连接?

官网会随机生成 ,所以这里不固定某一组数字;做官网题时直接把当前页面显示的四个 circuits 相加。

📎 题型来源:Circuit Switching


Q3. 承接上题的网络。现在规定每条连接都必须经过恰好 2 跳,且沿顺时针方向(即只允许 A→C、B→D、C→A、D→B 四种)。用 表示四条链路容量时,最多能同时进行多少条连接?

官网每次生成的 circuits 可能不同,因此答案应写成关于 的公式。

📎 题型来源:Circuit Switching(第 3 问)


Q4. 一条 100 Mbps 链路上有 8 个分组交换用户,每个用户传输时需要 25 Mbps,且只有 15% 的时间在传输。恰好有一个用户(任意一个)在传输、其余全部沉默的概率约为:

  • A. 0.048
  • B. 0.385
  • C. 0.150
  • D. 0.663

📎 题型来源:Quantitative Comparison of Packet Switching and Circuit Switching


Q5. 一条端到端路径由 3 段链路串联,分组长度 8000 比特,传播速率 3×10⁸ m/s:

链路 传输速率 长度
1 20 Mbps 2 km
2 500 Mbps 4000 km
3 50 Mbps 5 km

端到端总时延(传输 + 传播)约为:

  • A. 0.58 ms
  • B. 4.07 ms
  • C. 13.93 ms
  • D. 40.0 ms

📎 题型来源:End-to-End Delay


Q6. 四台服务器分别经三跳路径连到四台客户。中间的共享链路 R = 120 Mbps 由四对公平均分;每台服务器到共享链路的链路 Rs = 80 Mbps;共享链路到每台客户的链路 Rc = 15 Mbps。假设各服务器都以最大速率发送,则共享链路 R 的利用率是:

  • A. 0.1875
  • B. 0.125
  • C. 1.00
  • D. 0.50

📎 题型来源:End-to-End Throughput and Bottleneck Links


板块二:应用层(Week 3,教材第 2 章)


Q7. Alice 给 Bob 发邮件,两人的用户代理都使用 HTTP 收发。关于 SMTP 与 HTTP 的推拉性质,下列哪一项正确?

  • A. SMTP 是 pull,HTTP 是 push
  • B. SMTP 是 push,HTTP 是 pull
  • C. 两者都是 push
  • D. 两者都是 pull

📎 题型来源:Electronic Mail and SMTP


Q8. 承接上题。SMTP 使用的传输层协议和端口分别是:

  • A. TCP,25
  • B. TCP,80
  • C. UDP,25
  • D. UDP,53

📎 题型来源:Electronic Mail and SMTP


Q9. 客户与服务器之间 RTT = 45 ms,服务器把一个对象发上出链路需 2 ms,不含对象的 HTTP 消息传输时间忽略。客户依次发出 60 个请求(收到回复才发下一个),使用 HTTP/1.1 与 If-Modified-Since,其中 70% 的对象自上次下载后未改变。从发出第一个请求到最后一个请求完成,共需:

  • A. 2700 ms
  • B. 2712 ms
  • C. 2736 ms
  • D. 2820 ms

📎 题型来源:Browser Caching


Q10. 承接上题。对于那 70% 未改变的对象,服务器返回的状态码是:

  • A. 200 OK
  • B. 304 Not Modified
  • C. 301 Moved Permanently
  • D. 404 Not Found

📎 题型来源:Browser Caching(条件 GET 的前提)


板块三:DNS 与 P2P(Week 4,教材第 2 章)


Q11. DNS 使用哪种传输层协议:TCP、UDP、还是两者都用?

  • A. 只用 UDP
  • B. 只用 TCP
  • C. 两者都用(Both)
  • D. 视记录类型而定

📎 题型来源:DNS – Basics


Q12. 某 TLD DNS 服务器上有记录 (www.enterprise.com, dns.enterprise.com, NS) 与 (dns.enterprise.com, 146.54.20.201, A)。本地 DNS 代你查询 www.enterprise.com 并联系该 TLD 服务器时,会返回几条资源记录(RR)?

  • A. 1
  • B. 2
  • C. 3
  • D. 4

📎 题型来源:DNS – Basics


Q13. enterprise.com 的权威 DNS 服务器上有以下 4 条记录:

(www.enterprise.com,  west5.enterprise.com,  CNAME)
(west5.enterprise.com, 142.81.17.206, A)
(enterprise.com, mail.enterprise.com, MX)
(mail.enterprise.com, 247.29.157.43, A)

该权威服务器上共有几种不同类型的 RR?

  • A. 2
  • B. 3
  • C. 4
  • D. 5

📎 题型来源:DNS – Basics ⚠️ 本题官方口径有冲突,详解里单独说明 —— 务必看。


Q14. 一个 2400 Mbit 的文件要分发给 12 个对等方。服务器上传速率 90 Mbps,各对等方上传速率之和 190 Mbps,其中最小下载速率为 25 Mbps。用客户/服务器方式分发的最小时间是:

  • A. 96.00 秒
  • B. 102.86 秒
  • C. 26.67 秒
  • D. 320.00 秒

📎 题型来源:A comparison of client-server and P2P file distribution delays


Q15. 承接上题,改用 P2P 方式,最小分发时间与瓶颈分别是:

  • A. 26.67 秒;瓶颈是服务器上传
  • B. 96.00 秒;瓶颈是下载最慢的客户
  • C. 102.86 秒;瓶颈是系统总上传能力
  • D. 320.00 秒;瓶颈是服务器上传

📎 题型来源:A comparison of client-server and P2P file distribution delays


板块四:传输层(Week 5,教材第 3 章)—— 🔴 按 Ed #22 更正,本板块超出期中范围,仅作期末自测


Q16. 点击链接取一个网页,本地未缓存 IP,需访问 2 台 DNS 服务器: ms、 ms。与 Web 服务器之间 ms。网页含基础 HTML + 12 个很小的引用对象,客户最多支持 5 条并行 TCP 连接,使用持久 HTTP。忽略传输时间,总时延为:

  • A. 157 ms
  • B. 247 ms
  • C. 382 ms
  • D. 1192 ms

📎 题型来源:DNS and HTTP delays ⚠️ 这是本卷最容易错的一题。


Q17. 承接上题,其余条件不变,改用非持久 HTTP(仍最多 5 条并行连接),总时延为:

  • A. 247 ms
  • B. 292 ms
  • C. 382 ms
  • D. 1192 ms

📎 题型来源:DNS and HTTP delays


Q18. 计算下列两个 16 位字的 Internet 校验和:

1011001101011010
0110111010011101

校验和是:

  • A. 0010000111111000
  • B. 0010000111110111
  • C. 1101111000001000
  • D. 1101111000000111

📎 题型来源:Internet checksum


Q19. 一台服务器用同一个 UDP 套接字(端口 5300)同时与两个客户通信:客户甲的套接字端口 8100,客户乙的套接字端口 8200。服务器发往客户乙的那个段,其(源端口, 目的端口)是:

  • A. (8200, 5300)
  • B. (5300, 8200)
  • C. (8100, 8200)
  • D. (5300, 5300)

📎 题型来源:UDP Multiplexing and Demultiplexing


Q20. 一台 TCP 服务器在欢迎套接字端口 6950 上接受了三条连接:左侧客户(IP = A)的一条,源端口 5371;右侧客户(IP = C)的两条,源端口分别为 5412 和 6316。服务器上因这三条连接建立了几个套接字(不含欢迎套接字)?

  • A. 1
  • B. 2
  • C. 3
  • D. 4

📎 题型来源:TCP Multiplexing and Demultiplexing



答案与详解

答案速览

1 2 3 4 5 6 7 8 9 10
C B C B C D B A C B
11 12 13 14 15 16 17 18 19 20
C B B D C B C D B C

Q1 — 答案 C

网络层:把数据报(datagram)从源主机送到目的主机。

官方给的五句话对应关系(每句只对应一层,背下来就是送分题):

描述 层
「把帧从一个结点经某种介质传到另一个结点」 链路层
「处理来自应用层的段的交付,可靠或不可靠」 传输层
「把数据报从源主机送到目的主机」 网络层
「处理来自各种网络应用的消息」 应用层
「比特在线缆上」 物理层

⚠️ B 的陷阱:传输层管的是段(segment)、进程到进程;网络层管的是数据报、主机到主机。 看到「datagram」和「host to host」就选网络层。

📖 Week 01 讲义


Q2 — 通用答案

原理:每条链路上的电路可以各自独立地承载一条单跳连接,所以最大并发数就是四条链路容量之和。 官网刷新后数字会改变,但计算方法不变。

📖 Week 02 讲义


Q3 — 通用答案

设四种连接的条数: (占用 AB、BC), (占用 BC、CD), (占用 CD、DA), (占用 DA、AB)。

约束:

分别把两组对边约束相加:

以及

因此最大连接数为:

官网当前实例只需要把页面上的四个 circuits 代入。例如若 ,则答案为 。

一句话方法:找出两条「不共享变量、又覆盖全部连接类型」的链路,它们容量之和就是上界。 记忆方法:Q3 取两组对边容量和中的较小者,即 。

⚠️ 不要用总容量除以 2 估算 —— 瓶颈由两组对边容量中较小的那一组决定。

📖 Week 02 讲义

📌 参数来源:Kurose & Ross 官方 Circuit Switching interactive exercise。官网会为不同实例随机生成链路容量;本文保留通用公式,不固定某一次显示的数字。


Q4 — 答案 B

⚠️⚠️ 本题是官方最爱设的陷阱 —— 「指定某个用户」和「任意一个用户」差一个因子 :

问法 公式 本题值
某个指定用户在发、其余沉默 0.048
任意一个用户在发、其余沉默 0.385

A(0.048)就是漏乘 的结果。

💡 顺带记住配套结论:本题的链路电路交换只能支持 个用户, 而分组交换可以放 8 个 —— 「超过 4 个同时发」的概率只有 0.29%, 这就是分组交换用统计复用换来的效率。

📖 Week 02 讲义


Q5 — 答案 C

逐段算「传输时延 + 传播时延 」:

链路 小计
1
2
3

总时延

两个必须注意的单位坑:

  1. 公里要换成米(题目给 km,公式要 m)—— 4000 km = m
  2. 传播时延只跟「距离」有关,跟「速率」无关;传输时延只跟「速率」有关,跟「距离」无关

本题的教学点:链路 2 虽然速率最高(500 Mbps),却贡献了 95% 的总时延 —— 因为它有 4000 km 长。长距离链路由传播时延主导,短距离链路由传输时延主导。

📖 Week 02 讲义;Lab 02 解析


Q6 — 答案 D

第一步:找瓶颈

每对的吞吐瓶颈是

第二步:各链路利用率 = 瓶颈速率 ÷ 该链路容量

链路 计算 利用率
(服务器侧) 0.1875
(客户侧) 1.00
(共享,问的是这个) 0.50

⚠️ 共享链路的利用率要跟「它分给每对的份额 」比,不是跟 比。 ⚠️ A(0.1875)是 的利用率,看错了问的是哪条链路。

结论很直观:瓶颈链路的利用率一定是 1.00(它被跑满了), 其余链路都跑不满 —— 这正是「瓶颈」的定义。

📖 Week 02 讲义


Q7 — 答案 B

SMTP 是 push,HTTP 是 pull。

怎么理解:

协议 方向 谁发起
SMTP 把邮件「推」到对方的邮件服务器上 发送方
HTTP 从服务器「拉」东西下来 接收方(浏览器)

官方图里的三个点:

位置 协议
Alice 的 UA → Alice 的邮件服务器 SMTP
Alice 的邮件服务器 → Bob 的邮件服务器 SMTP
Bob 的邮件服务器 → Bob 的 UA HTTP(题目说 UA 用 HTTP)

⚠️ 注意最后一段:如果题目说 Bob 用 POP3 或 IMAP,那一段就是 POP3/IMAP —— SMTP 只负责「送到对方服务器」,最后一公里是取信协议。

📖 Week 03 讲义


Q8 — 答案 A

SMTP 用 TCP,端口 25。

顺带把端口全背了:

协议 端口
HTTP 80
SMTP 25
DNS 53
FTP 控制 / 数据 21 / 20

⚠️ 邮件相关的题几乎必考 25 这个数。

📖 Week 03 讲义


Q9 — 答案 C

每个请求各一个只有未命中的才真正传对象

公式:

总时间

两个关键理解:

  1. 每个请求都要花一个 RTT —— 哪怕对象没变,也得发条件 GET 去「问一声」, 这就是为什么第一项是 而不是
  2. 只有那 30% 变过的对象才需要真正传输 —— 未变的服务器只回 304,不含对象体

⚠️ A(2700)忘了加传输时间;D(2820)把命中率算反了(用 70% 而不是 30% 去乘)。

📖 Week 03 讲义


Q10 — 答案 B

304 Not Modified。

条件 GET 的完整机制:

方向 内容
客户 → 服务器 GET ... + If-Modified-Since: <date>
服务器(未改) 304 Not Modified,响应不含对象
服务器(已改) 200 OK + 对象数据

这正是 Q9 里「未命中才传对象」的协议层原因。

📖 Week 03 讲义


Q11 — 答案 C

Both(两者都用)。

官方原文:DNS 一般用 UDP,但在某些情况(如区域传送 zone transfer)会用 TCP,所以答案是 Both。

场景 协议
普通查询/应答 UDP(报文小、省一个建连 RTT)
区域传送(zone transfer) TCP(数据量大且必须可靠)
应答超过 512 字节 TCP(UDP 被截断后改用 TCP 重试)

⚠️ A 是最常见的错选。 很多题库把 DNS 写成「UDP」—— 但只要选项里出现 Both,本课程的官方答案就是 Both。 只有问「DNS 主要用哪个」时才答 UDP。

📖 Week 04 讲义;Week 05 Tutorial


Q12 — 答案 B

2 条:一条 NS 记录 + 一条 A 记录。

为什么必须成对返回:

  • NS 记录只告诉你权威服务器叫什么名字(dns.enterprise.com)
  • 不知道它的 IP 就联系不上它;若为解析这个名字再发一次查询,会陷入死循环
  • 所以 TLD 把对应的 A 记录一起塞进「附加区(Additional Section)」

这条随行的 A 记录有个正式名称:胶水记录(glue record)。

💡 同样的结构也出现在 MX 上:MX 记录的 value 是邮件服务器的「名字」, 要拿 IP 还得再查一条 A —— 「指名字的记录」永远需要一条 A 兜底。

📖 Week 04 讲义


Q13 — 答案 B(但这题的官方口径互相打架,必须读完)

按题面列出的 4 条记录数,类型是 CNAME、A、MX、A:

种

A 出现了两次,但只算一种类型 —— 问的是「类型数」不是「记录数」。

⚠️ 三个来源给出了两个不同答案

来源 答案
Kurose 交互题的自动判分答案 3
Kurose 交互题的文字解答 4(写的是 "A, CNAME, NS, and MX")
COMP5416 tutorial 的 Tutor's version 4

也就是说:Kurose 站上「机器判分的标准答案」是 3,但它自己的文字解答写的是 4 —— 站上自相矛盾,而课程的答案 PDF 抄的是那段文字解答(4)。

谁更有道理:3。 因为题面明确把 NS 记录列在 TLD 服务器上, 而问的是权威服务器上有几种。按题面数就是 3 种。 说 4 的理由是「现实中权威服务器也持有自己区域的 NS 记录」—— 这在现实里成立,但题面没把它列出来。

考试怎么办:

  • 如果题干和课程 tutorial 一字不差 → 写 4(跟助教的评分标准走)
  • 如果题干强调「根据上面列出的记录」 → 写 3
  • 两种理由都要能说出来,这题真正考的是「类型数 ≠ 记录数」这个点

📖 Week 05 Tutorial 详解


Q14 — 答案 D

秒

两项的含义:

项 含义
服务器必须逐份上传 N 个副本 —— 随 N 线性增长
下载最慢的那个客户至少要这么久

本题瓶颈是服务器上传(320 > 96)。

⚠️ A(96)只算了 ;B(102.86)是 P2P 的答案,看错了问的是哪种方式。

📖 Week 04 讲义


Q15 — 答案 C

秒

取到的是第三项 ⇒ 瓶颈是「系统总上传能力」。

⚠️⚠️ P2P 的第一项是 ,不是 —— 服务器只需要把文件上传「一份」,剩下的靠对等方之间互传。 这是本公式最常错的地方,也是 P2P 相对 C/S 的全部优势来源。

三项分别对应三种瓶颈:

取到哪项 瓶颈 官方答案代号
服务器上传 s
下载最慢的客户 c
系统总上传能力 cu

对比 Q14:同样的参数,C/S 要 320 秒,P2P 只要 102.86 秒 —— 快 3.1 倍。

📖 Week 04 讲义


Q16 — 答案 B(本卷最容易错的一题)

DNS 时延 ms

12 个对象、上限 5 条并行连接 ⇒ 要分 轮

基础对象轮,每轮个

⚠️⚠️ A(157 ms)就是那个陷阱 —— 它来自死记的错误公式 。

「持久 HTTP 只要 1 个 RTT」只在 (一轮取完)时成立。 本题 ,要分 3 轮,每轮各 1 个 RTT,所以是 而不是 。

官方解答的原话:取回前 5 个之后, "the remaining embedded objects can be retrieved (in parallel). This second round takes only one more RTT."

正确的三条公式:

情形 公式
非持久·串行
非持久·并行(上限 )
持久 + 并行(上限 )

只有「持久 + 流水线、不限并行连接数」才是恒定的 。

💡 课程 tutorial 那道题是 ,只有一轮,恰好掩盖了这个区别 —— 所以一定要拿 的实例练一遍。

📖 Week 05 Tutorial;Week 03 讲义


Q17 — 答案 C

同样分 3 轮,但非持久每轮要 2 个 RTT(建连 + 请求):

基础对象轮每轮

持久与非持久的差别,就是「每轮 1 个 RTT」还是「每轮 2 个 RTT」 —— 持久省掉的正是每轮的建连那一个 RTT。

本题两种方式相差 ms,恰好等于 3 轮 × 45 ms。

⚠️ D(1192 ms)是完全串行的答案( ),忽略了并行。

📖 Week 05 Tutorial


Q18 — 答案 D

第一步:相加

  1011001101011010      (45914)
+ 0110111010011101 (28317)
────────────────────
10010000111110111 ← 17 位,最高位是进位

第二步:回卷(把进位加回低 16 位)

  0010000111110111
+ 1
────────────────────
0010000111111000 ← SUM

第三步:取反

SUM      = 0010000111111000
取反 →
CHECKSUM = 1101111000000111

自检: (全 1)✓

⚠️ 三个干扰项分别对应三种典型错误:

选项 错在哪
A 给的是 SUM,忘了最后取反
B 忘了回卷那个 +1(拿 当和)
C 回卷漏加 1 之后才取反

手算三步口诀:相加 → 回卷 → 取反,一步都不能少。

📖 Week 05 讲义


Q19 — 答案 B

服务器发出的段:源端口 = 自己的 5300,目的端口 = 客户乙的 8200。

源目的

UDP 的关键性质:

事实 说明
UDP 套接字只由二元组标识 目的 IP + 目的端口
两个客户发来的段进同一个套接字 因为它们的目的端口都是 5300
服务器靠什么区分客户 靠 recvfrom() 返回的地址,不是靠套接字

发回复时,把「收到的源端口」当作「要发的目的端口」填回去 —— 这就是「源端口号提供了返回地址」的含义。

⚠️ A 把方向搞反了(那是客户乙发给服务器的段)。

📖 Week 05 讲义


Q20 — 答案 C

3 个套接字。

三个四元组互不相同 ⇒ 三个不同的套接字。

⚠️⚠️ 本题与 Q19 是刻意配对的对比题:

UDP(Q19) TCP(Q20)
套接字标识 二元组:目的 IP + 目的端口 四元组:源 IP + 源端口 + 目的 IP + 目的端口
多个客户 → 同一服务器端口 全进同一个套接字 各自独立的套接字
本题结果 1 个套接字 3 个套接字

注意右侧那台客户(IP = C)开了两条连接: 源 IP 相同、目的完全相同,只有源端口不同(5412 vs 6316),照样是两个套接字 —— 这正说明 TCP 用的是四元组而非二元组。

⚠️ A(1 个)就是把 TCP 当成 UDP 来想的结果。 💡 欢迎套接字(welcoming socket)不算在内 —— 它只负责接受连接请求。

📖 Week 05 讲义


考后复盘

一、按板块统计

板块 题号 对应笔记
分层与性能 Q1–Q6 Week 01 / Week 02
应用层 Q7–Q10 Week 03
DNS 与 P2P Q11–Q15 Week 04
传输层 Q16–Q20 Week 05 / Tutorial

二、公式速查

主题 公式
传输时延 / 传播时延 ;
端到端吞吐 路径上各链路容量 ;链路利用率 = 瓶颈速率 ÷ 该链路容量
电路交换最大连接 单跳:各链路电路数之和;限定路由时用最紧的一对链路求上界
分组交换概率 恰 个在发: ;任意一个:
条件 GET 总时间
非持久·串行
非持久·并行(上限 )
持久 + 并行(上限 )
C/S 分发时间
P2P 分发时间
Internet 校验和 相加 → 回卷 → 取反

三、最容易失分的 8 个点

  1. 持久 HTTP 死记「3 个 RTT」 —— 时要分 轮(Q16)
  2. 「指定某用户」漏乘 —— 任意一个要乘 (Q4)
  3. P2P 第一项写成 —— 应是 (Q15)
  4. 校验和忘了回卷或忘了取反 —— 三步一步都不能少(Q18)
  5. 把 TCP 当 UDP 想 —— 四元组 vs 二元组(Q19 / Q20)
  6. 条件 GET 漏算「每个请求都要一个 RTT」(Q9)
  7. RR 数「类型数 ≠ 记录数」(Q13)
  8. 共享链路利用率拿 而不是 去除(Q6)

四、想继续刷题

回 Kurose 交互练习站, 点每道题的 "Another Problem Like This" 可以无限生成新数字的同类题。

哪些题必做、哪些超纲,见 对照指南。

⚠️ 两个使用提醒:

  1. 站上的 Queuing Delay 那题用的闭式是 , 这个式子在 取最大、然后随 反而降到 0 —— 与教材「流量强度趋近 1 时排队时延趋于无穷」的定性结论相反。 考试按教材的定性结论答,那道交互题当熟悉概念用就好。
  2. 站上的 AI Tutors(Chapter 1–8 聊天机器人)平时可以用,但 Week 01 笔记记录的考试规则写明 midterm 禁止使用 AI。