一、单项选择题

2027 · OCR 辅助 · 原书检索 · 文字用于定位,公式与图表请回原页核验 · 本次导入快照

A. 25ms

B. 30ms

C. 160ms

D. 165ms

50. 【2019 统考真题】某客户通过一个 TCP 连接向服务器发送数据的部分过程如下图所示。客户在 $t_0$ 时刻第一次收到确认序号 ack_seq = 100 的段,并发送序号 seq = 100 的段,但发生丢失。若 TCP 支持快速重传,则客户重新发送 seq = 100 段的时刻是()。

A. $t_1$

B. $t_2$

C. $t_3$

D. $t_4$

原转写引用的配图未随 Markdown 保存,请回到原 PDF 核验。


51. 【2019 统考真题】若主机甲主动发起一个与主机乙的 TCP 连接,甲、乙选择的初始序号分别为 2018 和 2046,则第三次握手 TCP 段的确认序号是()。

A. 2018

B. 2019

C. 2046

D. 2047

52. 【2020 统考真题】若主机甲与主机乙已建立一条 TCP 连接,最大段长(MSS)为 1KB,往返时间(RTT)为 2ms,则在不出现拥塞的前提下,拥塞窗口从 8KB 增长到 32KB 所需的最长时间是()。

A. 4ms

B. 8ms

C. 24ms

D. 48ms

53. 【2020 统考真题】若主机甲与主机乙建立 TCP 连接时,发送的 SYN 段中的序号为 1000,在断开连接时,主机甲发送给主机乙的 FIN 段中的序号为 5001,则在无任何重传的情

<!-- page: 264 -->

2027年计算机网络考研复习指导

况下,甲向乙已经发送的应用层数据的字节数为()。

A. 4002

B. 4001

C. 4000

D. 3999

54. 【2021 统考真题】若客户首先向服务器发送 FIN 段请求断开 TCP 连接,则当客户收到服务器发送的 FIN 段并向服务器发送 ACK 段后,客户的 TCP 状态转换为()。

A. CLOSE_WAIT B. TIME_WAIT C. FIN_WAIT_1 D. FIN_WAIT_2

55. 【2021 统考真题】若大小为 12B 的应用层数据分别通过 1 个 UDP 数据根和 1 个 TCP 段传输,则该 UDP 数据根和 TCP 段实现的有效载荷(应用层数据)最大传输效率分别是()。

A. 37.5%, 16.7%

B. 37.5%, 37.5%

C. 60.0%, 16.7%

D. 60.0%, 37.5%

56. 【2021 统考真题】设主机甲通过 TCP 向主机乙发送数据,部分过程如下图所示。甲在 $t_0$ 时刻发送一个序号 $\mathrm{seq} = 501$、封紧 200B 数据的段,在 $t_1$ 时刻收到乙发送的序号 $\mathrm{seq} = 601$、确认序号 $\mathrm{ack\_seq} = 501$、接收窗口 $\mathrm{rcvwnd} = 500\mathrm{B}$ 的段,则甲在未收到新的确认段之前,可以继续向乙发送的数据序号范围是()。

原转写引用的配图未随 Markdown 保存,请回到原 PDF 核验。


A.  $501 \sim 1000$

B.  $601 \sim 1100$

C.  $701 \sim 1000$

D.  $801 \sim 1100$

57. 【2022 统考真题】假设主机甲和主机乙已建立一个 TCP 连接,最大段长 $\mathrm{MSS} = 1\mathrm{KB}$,甲一直向乙发送数据,当甲的拥塞窗口为 16KB 时,计时器发生了超时,则甲的拥塞窗口再次增长到 16KB 所需要的时间至少是()。

A. 4 RTT

B. 5 RTT

C. 11 RTT

D. 16 RTT

58. 【2022 统考真题】假设客户 C 和服务器 S 已建立一个 TCP 连接,通信往返时间 $\mathrm{RTT} = 50\mathrm{ms}$,最长报文段寿命 $\mathrm{MSL} = 800\mathrm{ms}$,数据传输结束后,C 主动请求断开连接。若从 C 主动向 S 发出 FIN 段时刻算起,则 C 和 S 进入 CLOSED 状态所需的时间至少分别是()。

A.  $850\mathrm{ms},50\mathrm{ms}$

B.  $1650\mathrm{ms},50\mathrm{ms}$

C.  $850\mathrm{ms},75\mathrm{ms}$

D.  $1650\mathrm{ms},75\mathrm{ms}$

59. 【2024 统考真题】假设主机 H 通过 TCP 向服务器发送长度为 3000B 的报文,往返时间 $\mathrm{RTT} = 10\mathrm{ms}$,最长报文段寿命 $\mathrm{MSL} = 30\mathrm{s}$,最大报文段长度 $\mathrm{MSS} = 1000\mathrm{B}$,忽略 TCP 段的传输时延,报文传输结束后 H 首先请求断开连接,则从 H 请求建立 TCP 连接时刻起,到 H 进入 CLOSED 状态为止,所需的时间至少是()。

A. 30.03s

B. 30.04s

C. 60.03s

D. 60.04s

60. 【2025 统考真题】主机甲通过 TCP 向主机乙发送数据的部分过程如下图所示,seq 为序号,ack_seq 为确认序号,rcvwnd 为接收窗口。甲在 $t_0$ 时刻的拥塞窗口和发送窗口均为 2000B,拥塞控制阈值为 8000B,MSS = 1000B,甲始终以 MSS 发送 TCP 段。若甲在 $t_1$ 时刻收到如图所示的确认段,则甲在未收到新的确认段之前,还可继续向乙发送的 TCP 段数是()。

<!-- page: 265 -->

第5章 传输层
253

原转写引用的配图未随 Markdown 保存,请回到原 PDF 核验。

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

61. 【2025统考真题】Time 是一个提供时间查询服务的 C/S 架构网络应用,支持客户通过 UDP 或 TCP 向 Time 服务器请求时间服务。若某客户与某 Time 服务器通信的往返时间 RTT = 8ms,则该客户分别通过 UDP 和 TCP 向该服务器请求服务,所需的最少时间分别是( )。
A. 8ms, 8ms
B. 8ms, 16ms
C. 16ms, 8ms
D. 16ms, 16ms

## 二、综合应用题

01. 在使用 TCP 传输数据时,若有一个确认报文段丢失,则也不一定会引起与该确认报文段对应的数据的重传。试说明理由。
02. 若收到的报文段无差错,只是报文段失序,则 TCP 对此未做明确规定,而是让 TCP 的实现者自行确定。试讨论两种可能的方法的优劣:
1)将失序报文段丢弃。
2)先将失序报文段暂存于接收缓存内,待所缺序号的报文段收齐后再一起上交应用层。
03. 一个 TCP 连接要发送 3200B 的数据。第一个字节的编号为 10010。若前两个报文段各携带 1000B 的数据,最后一个报文段携带剩下的数据,写出每个报文段的序号。
04. 设 TCP 发送窗口的最大尺寸为 64KB,网络的平均往返时间为 20ms,问 TCP 所能得到的最大数据传输速率是多少?(只考虑单向传输,且假设信道带宽不受限)
05. 在一个 TCP 连接中,信道带宽为 100Mb/s,单个报文大小为 1000B,发送窗口固定为 60,端到端时延为 20ms。TCP 最多能达到的平均数据传输速率是多少?信道利用率是多少?(只考虑单向传输,确认报文的发送时延、各层协议的首部开销均忽略不计。)
06. 主机 A 基于 TCP 向主机 B 连续发送 3 个 TCP 报文段。第一个报文段的序号为 90,第二个报文段的序号为 120,第三个报文段的序号为 150。
1)第一、二个报文段中有多少数据?
2)假设第二个报文段丢失而其他两个报文段到达主机 B,在主机 B 发往主机 A 的确认报文中,确认序号应是多少?
07. 考虑在一条 TCP 连接上采用慢开始拥塞控制而不发生网络拥塞的情况下,接收窗口为 24KB,RTT 为 10ms,最大段长为 2KB,则需要多长时间才能发送第一个完全窗口?
08. 设 TCP 拥塞窗口的慢开始门限值初始为 12MSS,当拥塞窗口达到 16 时出现超时,再次进入慢开始阶段,则从此时起恢复到超时的拥塞窗口大小,需要多少个往返时延?
09. 假定 TCP 报文段载荷是 1500B,最大分组存活时间是 120s,要使得 TCP 报文段的序号不会循环回来而重叠,线路允许的最快速度是多大?(不考虑帧长限制)
10. 一个 TCP 连接使用 256kb/s 的链路,其端到端时延为 128ms。经测试发现吞吐率只有

<!-- page: 266 -->

2027年计算机网络考研复习指导

128kb/s。问窗口是多少?忽略 PDU 封装的协议开销及接收方应答分组的发送时间(假定应答分组长度很小)。

11. 假定 TCP 最大报文段的长度是 1KB,拥塞窗口被置为 18KB,并且发生了超时事件。若接着的 4 次送发量传输都是成功的,则该窗口将是多大?

12. 一个 TCP 首部的数据信息(十六进制表示)为 0x0D 28 00 15 50 5F A9 06 00 00 00 00 70 02 40 00 C0 29 00 00。TCP 首部的格式如下图所示。请回答:

1)源端口号和目的端口号各是多少?
2)发送的序号是多少?确认序号是多少?
3)TCP首部的长度是多少?
4)这是一个使用什么协议的TCP连接?该TCP连接的状态是什么?

原转写引用的配图未随 Markdown 保存,请回到原 PDF 核验。


13. 【2012统考真题】主机H通过快速以太网连接Internet,IP地址为192.168.0.8,服务器S的IP地址为211.68.71.80。H与S使用TCP通信时,在H上捕获的其中5个IP分组如表1所示。

表1

|  编号 | IP分组的前40B内容(十六进制)  |   |   |   |   |
| --- | --- | --- | --- | --- | --- |
|  1 | 45 00 00 30 | 01 9b 40 00 | 80 06 1d e8 | c0 a8 00 08 | d3 44 47 50  |
|   |  0b d9 13 88 | 84 6b 41 c5 | 00 00 00 00 | 70 02 43 80 | 5d b0 00 00  |
|  2 | 45 00 00 30 | 00 00 40 00 | 31 06 6e 83 | d3 44 47 50 | c0 a8 00 08  |
|   |  13 88 0b d9 | e0 59 9f ef | 84 6b 41 c6 | 70 12 16 d0 | 37 e1 00 00  |
|  3 | 45 00 00 28 | 01 9c 40 00 | 80 06 1d ef | c0 a8 00 08 | d3 44 47 50  |
|   |  0b d9 13 88 | 84 6b 41 c6 | e0 59 9f f0 | 50 10 43 80 | 2b 32 00 00  |
|  4 | 45 00 00 38 | 01 9d 40 00 | 80 06 1d de | c0 a8 00 08 | d3 44 47 50  |
|   |  0b d9 13 88 | 84 6b 41 c6 | e0 59 9f f0 | 50 18 43 80 | e6 55 00 00  |
|  5 | 45 00 00 28 | 68 11 40 00 | 31 06 06 7a | d3 44 47 50 | c0 a8 00 08  |
|   |  13 88 0b d9 | e0 59 9f f0 | 84 6b 41 d6 | 50 10 16 d0 | 57 d2 00 00  |

回答下列问题:

1)表1中的IP分组中,哪几个是由H发送的?哪几个完成了TCP连接建立过程?哪几个在通过快速以太网传输时进行了填充?
2)根据表1中的IP分组,分析S已经收到的应用层数据字节数是多少。
3)若表1中的某个IP分组在S发出时的前40B如表2所示,则该IP分组到达H时经过了多少个路由器?

表2

|  来自S的分组 | 45 00 00 28 | 68 11 40 00 | 40 06 ec ad | d3 44 47 50 | ca 76 01 06  |
| --- | --- | --- | --- | --- | --- |
|   |  13 88 a1 08 | e0 59 9f f0 | 84 6b 41 d6 | 50 10 16 d0 | b7 d6 00 00  |

<!-- page: 267 -->

第5章 传输层
255

IP分组头结构和TCP段头结构分别如图1和图2所示。

原转写引用的配图未随 Markdown 保存,请回到原 PDF 核验。

原转写引用的配图未随 Markdown 保存,请回到原 PDF 核验。

图1 IP分组头结构
图2 TCP段头结构

14. 【2016统考真题】假设下图中的H3访问Web服务器S时,S为新建的TCP连接分配了20KB( $\mathrm{K} = 1024$ )的接收缓存,最大段长 $\mathrm{MSS} = 1\mathrm{KB}$ ,平均往返时间 $\mathrm{RTT} = 200\mathrm{ms}$ 。H3建立连接时的初始序号为100,且持续以MSS大小的段向S发送数据,拥塞窗口初始阈值为32KB;S对收到的每个段进行确认,并通告新的接收窗口。假定TCP连接建立完成后,S端的TCP接收缓存仅有数据存入而无数据取出。请回答下列问题:

原转写引用的配图未随 Markdown 保存,请回到原 PDF 核验。


1)在TCP连接建立过程中,H3收到的S发送过来的第二次握手TCP段的SYN和ACK标志位的值分别是多少?确认序号是多少?
2)H3收到的第8个确认段所通告的接收窗口是多少?此时H3的拥塞窗口变为多少?

<!-- page: 268 -->

2027年计算机网络考研复习指导

H3 的发送窗口变为多少?

3)H3 的发送窗口等于 0 时,下一个待发送的数据段序号是多少?H3 从发送第 1 个数据段到发送窗口等于 0 时刻为止,平均数据传输速率是多少?(忽略段的传输时延。)
4)若 H3 与 S 之间的通信已经结束,在 $t$ 时刻 H3 请求断开该连接,则从 $t$ 时刻起,S 释放该连接的最短时间是多少?

## 5.3.8 答案与解析

### 一、单项选择题

#### 01. C

因为面向连接的服务需要建立连接,且需要保证数据的有序性和正确性,所以它比无连接的服务开销大,而速度和效率方面也要比无连接的服务差一些。

#### 02. C

TCP 中端口号 80 标识 Web 服务器端的 HTTP 进程,客户端访问 Web 服务器的 HTTP 进程的端口号由客户端的操作系统动态分配。因此答案为选项 C。

#### 03. D

客户端使用的端口号仅在客户进程运行时才动态地选择。应用进程通过端口号进行标识,端口号长度为 16 位。不同计算机的相同端口号是没有联系的,因此选项 D 错误。

#### 04. D

TCP 提供的是一对一全双工可靠的字节流服务,所以 TCP 并不支持广播。

#### 05. C

在 TCP 首部中没有目标主机 IP 地址,这是 IP 首部的字段。TCP 采用确认机制,并对错误或超时的分组进行重传,以保证数据的可靠性。TCP 会根据网络的最大传输单元 MTU 和最大报文段长度 MSS 将消息分成适当大小的段(参考本章疑难点),并在目标主机中进行重组。

#### 06. B

TCP 报文段和 UDP 数据报都包含源端口、目的端口、检验号。因为 UDP 提供不可靠的传输服务,不需要对报文编号,所以不会有序号字段,而 TCP 提供可靠的传输服务,因此需要设置序号字段。目的 IP 地址属于 IP 数据报中的内容。

#### 07. D

TCP 伪首部与 UDP 伪首部一样,包括 IP 分组首部的一部分。IP 首部中有一个协议字段,用于指明上层协议是 TCP 还是 UDP。17 代表 UDP,6 代表 TCP,所以选项 D 错误。对于选项 A,因为数据偏移字段的单位是 4B,所以当偏移取最大值时 TCP 首部长度为 $15 \times 4 = 60\mathrm{B}$。由于使用填充,所以长度总是 4B 的倍数,选项 C 正确。

#### 08. B

URG 是紧急位,其为 1 时表示报文段中有紧急数据,需要尽快发送。RST 是复位位,其为 1 时表示出现严重错误,必须释放连接,然后重新建立连接。ACK 是确认位,其为 1 时表示确认序号(ack)字段有效。FIN 为终止位,其为 1 时代表发送方请求释放单向连接,此时并没有完全释放连接,只有当接收方发送完数据并同样将 FIN 位置为 1 时才会释放连接。

#### 09. C

TCP 报文段首部中窗口字段的值指的是自己接收窗口的尺寸。

<!-- page: 269 -->

第5章 传输层
257

10. B

TCP 使用滑动窗口机制来进行流量控制。在 ACK 应答信息中,TCP 在接收端用 ACK 加上接收方允许接收数据范围的最大值回送给发送方,发送方把这个最大值当作发送窗口值,表明发送端在未收到确认之前可以发送的最大字节数,即 2000B。

11. C

TCP 的确认序号是指明接收方下一次希望收到的报文段的数据部分第一个字节的编号,可以看出,前一个已收到的报文段的最后一个字节的编号为 99,所以选项 C 正确。报文段的序号是其数据部分第一个字节的编号。选项 A、B 不正确,因为有可能已收到的这个报文段的数据部分不止一个字节,则报文段的编号就不为 99,但可以说编号为 99 的字节已收到。

12. A

两端主机在发出建立 TCP 连接的请求时,会在 TCP 首部写入 MSS(最大报文段长度)选项,告诉对方自己的接口能够适应的 MSS 的大小,然后在二者之间选择一个较小的值投入使用,此后 TCP 将以 MSS 的大小对数据进行分割发送。MSS 是在三次握手时计算得出的。

13. C

TCP 让每个发送方仅发送正确数量的数据,保持网络资源被利用但又不会过载。为了避免网络拥塞和接收方缓冲区溢出,TCP 发送方在任意时刻可以发送的最大数据流是接收方允许的窗口和拥塞窗口中的最小值。

14. D

TCP 为每个连接设有一个持续计时器,只要发送方收到对方的零窗口通知,就启动持续计时器。若计时器超时,则发送一个零窗口探测报文段,而对方就在确认这个探测报文段时给出现在的窗口值。若窗口值仍然为零,则发送方收到确认报文段后就重新设置持续计时器。

15. A

在 $40\mathrm{Gb / s}$ 的线路上传送数据,每秒可传送 $5\times 10^{9}\mathrm{B}$ 的数据,TCP 的序号字段有 32 位,共有 $2^{32}$ 个不同的序号,则可发送的时间是 $2^{32} / (5\times 10^{9}) = 0.859s = 859ms$。

16. C

拥塞窗口是发送端根据网络拥塞情况确定的窗口值。

17. C

参与 TCP 连接的两个进程中的任何一个都能提出释放连接的请求。

18. A、C

TCP 使用三次握手来建立连接,第一次握手时,A 发给 B 的 TCP 报文中应置其首部 SYN 位为 1,并选择序号 $\mathrm{seq} = X$,表明传送数据时的第一个数据字节的序号是 $X_{1}$。在第二次握手中,即 B 接收到报文后,发给 A 的确认报文段中应使 SYN = 1、ACK = 1,且序号 ACK $X_{i+1} = 1$(ACK 的下标为捎带的序号),同时告诉自己选择的序号 $\mathrm{seq} = Y$。

19. D

在 TCP 的“三次握手”中,第二次握手时,SYN 和 ACK 均被置为 1。

20. C

TCP 采用三报文握手建立连接,其中第一个报文是 TCP 连接请求,第二个报文是对 TCP 连接请求的确认,第三个报文是对 TCP 连接请求确认的确认。

21. B

A 向 B 发送的第一个 SYN 段虽然不携带数据,但仍会消耗一个序号 211,A 向 B 发送的第 4 次挥手报文段的 seq 等于 985,说明之前发送的数据的序号为 $212 \sim 984$,因为在断开连接时发送

<!-- page: 270 -->

2027年计算机网络考研复习指导

的第一个 FIN 段会消耗一个序号,因此发送的总数据量为 $984 - 212 = 772\mathrm{B}$。

22. C

在 A 发向 B 的报文中,seq 表示发送的报文段中数据部分的第一个字节在 A 的发送缓存区中的编号,ack 表示 A 期望收到的下一个报文段的数据部分的第一个字节在 B 的发送缓存区中的编号。因此,同一个报文段中的 seq 和 ack 的值是没有联系的。在 B 发给 A 的报文(捎带确认)中,seq 值应和 A 发向 B 的报文中的 ack 值相同,即 201;ack 值表示 B 期望下次收到 A 发出的报文段的第一个字节的编号,应是 $200 + 2 = 202$。

23. B

FIN 位用来释放一个连接,它表示本方已没有数据要传输。然而,在关闭一个连接后,对方还可以继续发送数据,所以还有可能接收到数据。

24. D

客户向服务器发送 FIN 报文段 A,表示客户不再通过本连接向服务器发送数据,但服务器仍有可能继续向客户发送数据,假设服务器在发送 FIN 报文段 B 之前已向客户发送了 $k$ 字节的数据,则报文段 B 中的 seq 值为 $y + k$,选项 A、B 错误。报文段 A 是客户通过本连接发给服务器的最后一个报文段,会消耗一个序号(注意,尽管协议未禁止 FIN 段携带数据,但主流的操作系统一般不允许其携带数据),因此报文段 B 中的 ack 值一定为 $x + 1$,选项 C 错误,选项 D 正确。

25. C

本题中,一个 TCP 报文的首部长度是 20B,一个 IP 数据报的首部长度也是 20B,再加上 60B 的数据,一个 IP 数据报的总长度为 100B,可知数据占 $60\%$。

26. C

$t$ 时刻 TCP 客户请求断开连接,发出连接释放 FIN 报文段;题目问的是最短时间,所以当 TCP 服务器收到 TCP 客户发来的 FIN 报文段后不再发送数据,因此同时发出确认 ACK 报文段和连接释放 FIN 报文段,即直接跳过 CLOSE-WAIT 状态;TCP 客户收到 FIN 报文段后必须发出确认;TCP 服务器收到确认后就进入 CLOSED 状态,共经历 1.5RTT。

27. C

甲选择的初始序号为 200,建立 TCP 连接的第一个报文段不能携带数据,但要消耗一个序号。甲给乙发送的第二个报文段(第三次握手)的序号是 201,该报文段可以携带数据,若不携带数据,则不消耗序号,题中该报文段不携带数据,因此下一个数据报文段的序号仍是 201。

28. C

A 的初始序号为 1666,建立连接的第一个报文段不携带数据,但要消耗一个序号。A 给 B 发送的第二个报文段的序号是 1667,该报文段不携带数据,因此不消耗序号。下一个数据报文段的序号仍是 1667,1000B 的序号范围是 $1667 \sim 2666$,所以 B 接收后发送给 A 的确认序号是 2667。

29. C

TCP 提供的是可靠的字节流传输服务,使用窗口机制进行流量控制与拥塞控制。TCP 的滑动窗口机制是面向字节的,因此窗口大小的单位为字节。假设发送窗口的大小为 $N$,这意味着发送端可以在没有收到确认的情况下连续发送 $N$ 字节。

30. C

乙仅正确接收到第 1 个和第 3 个段,所以乙下次期望收到第 2 个段,乙发送给甲的确认序号即第 2 个段的序号。第 3 个段的序号为 1000,则第 2 个段的序号为 $1000 - 300 = 700$,所以确认序号为 700。

<!-- page: 271 -->

第5章 传输层
259

31. C

若在拥塞窗口为 34KB 时发生了超时事件,则慢开始门限值就被设定为 17KB,且 cwnd 重新设为 1KB。按照慢开始算法,第 1 个 RTT 后,cwnd = 2KB,第 2 个 RTT 后,cwnd = 4KB,第 3 个 RTT 后,cwnd = 8KB。当第 4 个 RTT 发出去的 8 个报文段的确认都收到后,cwnd = 16KB(此时还未超过慢开始门限值)。注意,题中“这些报文段均得到确认后”这句话很重要。

32. A

接收窗口等于 10KB。发生超时后,拥塞窗口重设为 1,经过 10RTT 后,拥塞窗口一定大于 10KB。但甲的发送窗口取拥塞窗口和接收窗口中的较小值,即 10KB。

33. C

在慢开始和拥塞避免算法中,拥塞窗口初始为 1,窗口大小开始按指数增长。当拥塞窗口大于慢开始门限后停止慢开始算法,改用拥塞避免算法。此处慢开始的门限值初始为 8,当拥塞窗口增大到 8 时改用拥塞避免算法,窗口大小按线性增长,每次增加 1 个报文段,当增加到 12 时,出现超时,重新设门限值为 6(12 的一半),拥塞窗口再重新设为 1,执行慢开始算法,到门限值 6 时执行拥塞避免算法。因此,拥塞窗口大小的变化为 1, 2, 4, 8, 9, 10, 11, 12, 1, 2, 4, 6, 7, 8, 9, …,其中第 13 次传输时(第 12 个传输轮次后)拥塞窗口的大小为 7。

34. B

当拥塞窗口小于 ssthresh 时,拥塞窗口以指数方式增长,拥塞窗口从 2KB 到 16KB 需经过 3RTT,超过 16KB 后,每经过 1RTT,拥塞窗口加 1MSS,所以从 16KB 到 20KB 经过了 2RTT,共经过 5RTT,RTT = 10ms,故经过 50ms 后甲的发送窗口第一次为 20KB。

35. D

在慢开始阶段,每收到一个对新报文段的确认,拥塞窗口就加 1,因此每经过 1RTT,拥塞窗口就加倍。在 tRTT 时刻到 (t + 1)RTT 时刻之间发送了 k 个数据段,因此在这个 RTT 后,拥塞窗口由 k 变为 2k,所以在下一个 RTT 内预期将发送 2k 个数据段。

36. C

超时发生时,新门限值通常设置为此时拥塞窗口值的一半,而不是旧门限值的一半。

37. D

条件“收到了 3 个冗余 ACK 报文”说明此时应执行快恢复算法,因此慢开始门限值设为 17KB,并且此时 cwnd 也被设为 17KB,第 1 个 RTT 后,cwnd = 18KB,第 2 个 RTT 后,cwnd = 19KB,第 3 个 RTT 后,cwnd = 20KB,第 4 个 RTT 后,发出的报文全部得到确认,cwnd 再增加 1KB,变为 21KB。注意 cwnd 的增加都发生在收到确认报文后。

38. A

本题中出现了拥塞窗口和接收端窗口,为了保证 B 的接收缓存不发生溢出,发送窗口应该取两者的最小值。先看拥塞窗口,由于慢开始门限值为 2KB,第 1 个 RTT 中 A 拥塞窗口为 4KB,按照拥塞避免算法,收到 B 的确认报文后,拥塞窗口增长为 5KB。再看接收端窗口,B 通过确认报文中窗口字段向 A 通知接收端窗口,则接收端窗口为 2KB。因此在下一次发送数据时,A 的发送窗口应该为 2KB,即 1RTT 内最多发送 2KB。所以选项 A 正确。

39. B

按照慢开始算法,发送窗口的初始值为拥塞窗口的初始值,即 MSS 的大小 2KB,然后依次增大为 4KB、8KB、16KB,然后是接收窗口的大小 24KB,即达到第一个完全窗口。因此达到第一个完全窗口所需要的时间为 4RTT = 40ms。

40. B

<!-- page: 272 -->

2027年计算机网络考研复习指导

本题要求的是最小时间,且题目未给出拥塞窗口的门限值,所以拥塞窗口一直按指数增长是最快的。拥塞窗口从1KB增长到8KB需要3个RTT,即9ms,并在第1个RTT内发送1KB,在第2个RTT内发送2KB,在第3个RTT内发送4KB,累积发送 $1 + 2 + 4 = 7\mathrm{KB}$ ,这时乙的接收缓存还剩 $16 - 7 = 9\mathrm{KB}$ ,此时的发送窗口 $= \min \{\text{拥塞窗口}, \text{接收窗口}\} = 8\mathrm{KB}$ ,所以选B。