1单选(2分)
考虑一个RTT 为 20 ms的 TCP 连接。假设网络容量是 10 Mbps ,数据段长是 1000 Bytes。如果要充分利用网络容量,所需的滑动窗口大小是多少?
A.400 kilobits
B.200 kilobits
C.25000 packets
D.400 packets
【B】B、最佳窗口大小 W = 2BD = B * RTT (其中 D 是单向延迟, RTT = 2D)。对于这个问题,W = 0.02 * 10000000 位(bits) = 200kbits = 25kBytes=25 packets
2单选(2分)
考虑一个在有 20 millisecs 往返时间路径上的TCP流。假设它处于超过阈值的增大阶段,在时间 t = 100ms与 t = 120ms 间传送10个数据段。流在t = 140ms和 t = 160ms之间传输的数据段预期有多少(假设在此阶段没有数据段丢失)?
A.12
B.40
C.11
D.20
【A】A、在超过阈值的阶段,每1 个RTT内成功的传输,会让拥塞窗口值大小增加1
3单选(2分)
SYN 数据段占用多少单位 (或字节) 的序列号空间?(也就是说,以下哪一个序列号的增量是SYN的)?
A.2
B.1
C.0
D.最大段大小
【B】B、使用在 TCP 传输开始的SYN 数据段占用序列空间一个单位 (或字节)。如果 SYN 数据段有序列号为 1000, TCP 点传输的下一个数据段的序列号的 1001。
4单选(2分)
设x 和 y 是接收端发送的两个连续的数据段携带的累积ACKs,x 在 y 之前发送。设与这两个数据段相关联的数据有效载荷的大小为 s。以下陈述中哪个是正确的?
A.x < = y
B.y < = x + s
C.x < y
D.y > = x + s
【A】A、累积的ACK 数量不严格单调递增。如果中间有丢包现象,两次累计确认的值应该相当,即x=y。比如连续到达的两个段是x和x+s,当两个连续的段到达,那么会送的ack应该是x、x+s=y。
5单选(2分)
TCP和UDP的著名端口号的范围是多少?
A.0 to 255
B.0 to 1023
C.256 to 1023
D.1024 to 49151
【B】 B、端口号被分成了三段,第一段即是著名端口号,范围是0 - 1023.
6单选(2分)
假设一个 TCP 流在慢启动阶段,k 个数据段在 t 与 t + RTT 之间被发送。假设仍然保持在慢启动阶段,预期有多少个数据段在 t + RTT 和t + 2 * RTT 发送?
A.k
B.2k
C.2^k
D.k+1
【B】B、在慢启动阶段,拥塞窗口每 RTT增加一倍。(忽略上TCP 功能上的交互,如延迟 ACKs
7单选(2分)
主机甲与主机乙之间建立了一个TCP连接,主机甲向主机乙发送了3个连续的TCP段,分别包含300B,400B和500B的有效载荷,第3个段的序号为900,若主机乙仅正确收到第1和第3个段,则主机乙发送给主机甲的确认序号是多少?
A.1200
B.300
C.500
D.1400
【C】 C、从 “第3个段的序号为900 “,可以推断出初始序列号是:900-(300+400)=200,所以,第二个数据段的序列号应该是200+300=500。第二个数据段没有被B正确接收,所以B的ACK=500,告诉A从500序列号开始传输。
8单选(2分)
假设 TCP 接收端发送一个10000 的 ACK ,WIN字段设置为 4000。下列哪个选项最好地描述了接收端状态?
A.接收端预期的下一个数据是 10000 序列号,并且它具有的缓冲空间可以用来接收到包括 13999 序列号的数据
B.接收端在序列空间(12000~15999)的任何位置都可接收4000字节的 新数据
C.接收端告诉发送端,当它接收到消息时它可能会发送多于 4000 字节的数据 (按序列号顺序)
D.接收端的缓冲空间可以用来接收到序列号4000的数据
【A】A、接收端发送的这个信息表示,期待发方从10000开始发送,最多能发40000字节,即10000~13999编号的字节都可发送。B明显不对,大过接收端的处理能力 B、序号不对 D、意思不正确,4000指的是窗口大小,而非序列号。
9多选(2分)
下列哪个信息不是TCP端点发送的数据段头部中的一部分?
A.目的地 IP 地址
B.在 TCP 流中接收数据的端点中的可用缓冲空间
C.数据段大小
D.端点接收到的数据段中的目标端口
【AC】A、不对,这是分组头部内容 B、是WindowSize C、不对,段头部中只有段头长度字段 D、目的端口
10判断(2分)
TCP提供了面向连接的数据传输服务,保证了每一个字节的绝对可靠。【错误】
【解析】大部分情况是可以可靠传输的,但是也有可能出现一些特例,比如校验和验不出来的错误。