第五章课后作业——运输层

一.单选题(共11题)

1、主机甲与主机乙之间建立了一个TCP连接,主机甲向主机乙发送了3个连续的TCP段,分别包含300B,400B和500B的有效载荷,第3个段的序号为900,若主机乙仅正确收到第1和第3个段,则主机乙发送给主机甲的确认序号是多少?

A、300
B、500
C、400
D、1400

答案解析:
序号字段——占 4 字节。TCP 连接中传送的数据流中的每一个“字节”都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。
第一段序号是200
第二段是500=200+300(B)
第三段是900=500+400(B)。
主机乙仅正确收到第1段和第3段,由于TCP是累积确认,所以即使收到了第3段,没收到第2段下一个确认序号依然是200+300=500,也就是依旧等待发送方发送序号为500的TCP段,也就是第2段

2、当 TCP 接收端获得一个有效载荷大小 是1000和序列号为8000 的数据段时,有效载荷中的最后一个字节相关联的序列号是多少?

A、8999
B、7999
C、9000
D、8000

答案解析:序列号为8000,说明有效载荷中第一个字节相关联的序列号是8000,有效载荷大小为1000那最后一个字节的序列号就是8999。

3、TCP和UDP的熟知端口号的范围是多少?

A、0 to 1023
B、0 to 255
C、256 to 1023
D、1024 to 49151

答案解析:
熟知端口号:0~1023
登记端口号:1024~49151
动态端口:49151~65535

4、考虑一个RTT 为 20 ms的 TCP 连接。假设网络容量是 10 Mbps ,数据段长是 1000 Bytes。如果要充分利用网络容量,所需的滑动窗口大小是多少?

A、25000 packets
B、400 packets
C、40 packets
D、25 packets

答案解析:
理想的条件下,发送端发出一个数据包,经过一个RTT可以收到确认信息。为了充分利用网络容量,应该把窗口值设成一个RTT内可发送的数据量,这样当发送完最后一个数据包时(这里的最后一个说的是第一个RTT内的最后一个数据包),就刚好收到第一个数据包的确认,进而就可以接着发第二个RTT内的第一个数据包,充分利用时间不浪费。
滑动窗口大小:10Mbps * 20ms=200Kb=25000Byte。
我们用数据段的个数来衡量窗口大小,即换算成package就是25000/1000=25packages。

5、假设 TCP 接收端发送一个10000 的 ack ,WIN字段设置为 4000。下列哪个选项最好地描述了接收端状态?

A、接收端告诉发送端,当它接收到消息时它可能会发送多于 4000 字节的数据 (按序列号顺序)
B、接收端在序列空间(12000~15999)的任何位置都可接收4000字节的 新数据
C、接收端预期的下一个数据是 10000 序列号,并且它具有的缓冲空间可以用来接收到包括 13999 序列号的数据
D、接收端的缓冲空间可以用来接收到序列号4000的数据

答案解析:发出了10000的ACK说明0到9999都收到了。期待收到下一个也就是10000.WIN(接收窗口大小)设成4000说明可以缓存4000个,即从10000到13999.

6、SYN 数据段占用多少单位 (或字节) 的序列号空间?(也就是说,以下哪一个序列号的增量是SYN的)?

A、2
B、0
C、1
D、5
答案解析:它就是占用一个字节

7、考虑一个在有 20 millisecs(ms) 往返时间路径上的TCP流。假设它处于超过阈值的增大阶段,在时间 t = 100ms与 t = 120ms 间传送10个数据段。流在t = 140ms和 t = 160ms之间传输的数据段预期有多少(假设在此阶段没有数据段丢失)?

A、20
B、12
C、40
D、4

答案解析:超过阈值的增大阶段,就是拥塞避免阶段,这个阶段每轮传输的数据段比上一轮多1。100ms到120ms传了10个,那120ms到140ms就传11个,140ms到160ms就传12个.

8、设x 和 y 是接收端发送的两个连续的数据段携带的累积ACKs,x 在 y 之前发送。设与这两个数据段相关联的数据有效载荷的大小为 s。以下陈述中哪个是正确的?

A、x < = y
B、y < = x + s
C、y > = x + s
D、x < y

答案解析:
x在y之前发送,并且是两个连续数据段的ack,那只存在两种情况:1.在x或之前有传输错误待解决的数据段,所以x=y;2.传输无误,y=x+s。所以我觉得x < = y和y < = x + s都没问题,都是对的。

9、主机甲向主机乙发出一个(SYN,seq=11220)的TCP段,期望与主机乙建立TCP连接,若主机乙接受该连接请求,则主机乙向主机甲发送的正确的TCP段可能是:

A、(SYN=1,ACK=1,seq=11221,ack=11221)
B、(SYN=0,ACK=0,seq=11221,ack=11221)
C、(SYN=1,ACK=1,seq=11220,ack=11220)
D、(SYN=0,ACK=0,seq=11220,ack=11220)

答案解析:同意请求,所以SYN=ACK=1,ack=seq(甲)+1=11221,seq由乙决定,此处的11221与ack的11221没有关系

10、假设一个 TCP 流在慢启动阶段,k 个数据段在 t 与 t + RTT 之间被发送。假设仍然保持在慢启动阶段,预期有多少个数据段在 t + RTT 和t + 2 * RTT 发送?

A、2k
B、2k
C、k+1
D、k
答案解析:慢启动是指数增长,在达到ssthresh前都是2倍增长。k=2x,那么接下来可以发送2x+1=2k

11、下列哪些关于TCP 报头的陈述不准确?

A、TCP 段头被用来确定数据段应被传递到的套接字
B、TCP 段头允许接收端标记到目前为止接收了什么数据和可达的缓冲空间
C、TCP 段头有校验位,用来保护有效载荷
D、TCP 段头包含确定TCP 数据段的源和目的地的数

答案解析:
D、应该是源端口和目的端口

在这里插入图片描述

二.多选题(共1题)

1、下列哪个信息不是TCP端点发送的数据段头部中的一部分?

A、目的地 IP 地址
B、数据段大小
C、端点接收到的数据段中的目标端口
D、在 TCP 流中接收数据的端点中的可用缓冲空间
答案解析:《参照上图》TCP数据报头只有端口地址,没有IP地址。TCP数据段头只有段头长度和窗口值,没有数据段大小;事实上数据段大小可能会随着网络中间设备的性能变化而改变,所以这个数据的参考意义不大,用字节的序列号来实现按序功能就够了。

猜你喜欢

转载自blog.csdn.net/JGxzq/article/details/117520257
今日推荐