二、真题实战

二、真题实战

习 题

1.主机甲与主机乙之间已建立一个TCP连接,主机甲向主机乙发送了两个连续的TCP报文段,分别包含300字节和500字节的有效载荷,第一个段的序列号为200,主机乙正确接收到两个段后,发送给主机甲的确认序列号是( )。

A.500 B.700 C.800 D.1000

2.主机甲和主机乙之间已建立了一个 TCP 连接,TCP 最大段长度为1000字节。若主机甲的当前拥塞窗口为4000字节,在主机甲向主机乙连续发送两个最大段后,成功收到主机乙发送的第一个段的确认段,确认段中通告的接收窗口大小为2000字节,则此时主机甲还可以向主机乙发送的最大字节数是( )。

A.1000 B.2000 C.3000 D.4000

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

A.300 B.500 C.1200 D.1400

4.主机甲与主机乙之间已建立一个TCP连接,双方持续有数据传输,且数据无差错与丢失。若主机甲收到1个来自乙的TCP报文段,该报文段的序号为1913、确认序号为2046、有效载荷为100字节,则主机甲立即发送给主机乙的TCP报文段的序号和确认序号分别是( )。

A.2046、2012 B.2046、2013 C.2047、2012 D.2047、2013

5.主机甲和主机乙已建立了TCP连接,主机甲始终以MSS=1KB大小的报文段发送数据,并一直有数据发送;主机乙每收到一个数据段都会发出一个接收窗口为10KB的确认段。若主机甲在t时刻发生超时时拥塞窗口为8KB,则从t时刻起,不再发生超时的情况下,经过10个RTT后,主机甲的发送窗口是( )。

A.10KB B.12KB C.14KB D.15KB

6.主机甲和主机乙新建一个TCP连接,主机甲的拥塞控制初始阈值为32KB,主机甲向主机乙始终以MSS=1KB大小的报文段发送数据,并一直有数据发送;主机乙为该连接分配16KB 接收缓存,并对每个数据段进行确认,忽略数据段传输延迟。若主机乙收到的数据全部存入缓存,不被取走,则主机甲从连接建立成功时刻起,未发送超时的情况下,经过4个RTT后,主机甲的发送窗口是( )。

A.1KB B.8KB C.16KB D.32KB

7.主机H通过快速以太网连接Internet,IP地址为192.168.0.8,服务器S的IP地址为211.68.71.80。当主机H与服务器S使用TCP通信时,在主机H上捕获的其中5个IP分组如表5-8所示。回答下列问题:

表5-8 在主机H上捕获的其中5个IP分组

(1)在表5-8中的IP分组中,哪几个是由主机H发送的?哪几个完成了TCP连接建立过程?哪几个在通过快速以太网传输时进行了填充?

(2)根据表5-8中的IP分组,分析服务器S已经收到的应用层数据字节数是多少?

(3)若表5-8中的某个IP分组在服务器S发出时的前40字节如下,则该IP分组到达主机H上时经过了多少个路由器?

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

注:IP分组头和TCP段头结构分别如图5-39和图5-40所示。

图5-39 IP分组头结构

图5-40 TCP 段头结构

解 析

1.D 解析 第一个报文段的序列号为200,两个TCP报文段长度为800字节,所以最后的确认序列号为1000。

2.A 解析 发送方的发送窗口的上限值取接收方窗口和拥塞窗口这两个值中较小的一个,于是此时发送方的发送窗口为min{4000,2000}=2000(B),由于发送方还没有收到第二个最大段的确认,因此此时主机甲还可以向主机乙发送的最大字节数为2000-1000=1000(B)。

3.B 解析 TCP报文段首部中的序号字段是指本报文段所发送的数据的第一个字节的序号。第三个报文段的序号为900,则第二个报文段的序号为900-400=500。而确认号是期待收到对方下一个报文段的第一个字节的序号。现在主机乙期待收到第二个报文段,故主机甲的确认号是500。

4.B 解析 确认序号ack是期望收到对方下一个报文段的数据的第一个字节的序号,序号seq是指本报文段所发送的数据的第一个字节的序号。主机甲收到1个来自主机乙的TCP报文段,该报文段的序号seq=1913、确认序号ack=2046、有效载荷为100字节,表明到序号1913+100-1=2012为止的所有数据主机甲均已收到,而主机乙期望收到下一个报文段的序号从2046开始。因此主机甲发给主机乙的TCP报文段的序号为seq=ack=2046和确认序号为ack1=seq+100=2013。

5.A 解析 当t时刻发生超时时,把ssthresh设为8的一半,即为4,且拥塞窗口设为1KB,然后经历10个RTT后,拥塞窗口的大小依次为2、4、5、6、7、8、9、10、11、12,而发送窗口取当时的拥塞窗口和接收窗口的最小值,而接收窗口始终为10KB,所以此时的发送窗口为10KB。实际上该题接收窗口一直为10KB,由此可知不管何时,发送窗口一定小于等于10KB,选项中只有A选项满足条件,可直接选择A项。

6.A 解析 发送窗口的大小=min[接收窗口,拥塞窗口]。4个RTT后,主机乙收到的数据全部存入缓存,不被取走,接收窗口只剩下1KB(16-1-2-4-8=1)缓存,使得主机甲的发送窗口为1KB。

7.解析 (1)由于表5-8中1、3、4号分组的源IP地址均为192.168.0.8(c0a8 0008H),因此1、3、4号分组是由主机H发送的。

表5-8中1号分组封装的TCP报文段的标识为02H(SYN=1,ACK=0),seq=846b 41c5H,2号分组封装的TCP报文段的FLAG为12H(SYN=1,ACK=1),seq=e059 9fefH,ack=846b 41c6H,3号分组封装的TCP报文段的标识为10H(ACK=1),seq=846b 41c6H,ack=e059 9ff0H,所以1、2、3号分组完成了TCP连接建立过程。

由于快速以太网数据帧有效载荷的最小长度为46字节,表5-8中3、5号分组的总长度为40(28H)字节,小于46字节,其余分组总长度均大于46字节,因此3、5号分组通过快速以太网传输时进行了填充。

(2)由3号分组封装的TCP段可知,发送应用层数据初始序号为seq=846b 41c6H,由5 号分组封装的TCP段可知,ack为seq=846b 41d6H,所以5号分组已经收到的应用层数据的字节数为846b 41d6H-846b 41c6H=10H=16。

(3)由于服务器S发出的IP分组的标识=6811H,因此该分组所对应的是表5-8中的5号分组。服务器S发出的IP分组的TTL=40H=64,5号分组的TTL=31H=49,64-49=15,所以,可以推断该IP分组到达主机H时经过了15个路由器。