【计算机网络】练习题

时间:2024-03-18 17:48:15

  已知主机A和路由器R1连接,R1连接到路由器R2,R2与主机B连接。假定一个要发给主机B的TCP消息被传递给主机A,其中包含了900个字节的数据包和20个字节的TCP头。请写出在三条链路上传输的每个数据包中IP头部的 总长度、DF、MF、和Fragment offset字段。假定链路A-R1链路可以支持的最大帧长为1024字节,其中包括14字节的帧头;链路R1-R2可以支持的最大帧长为512字节,其中包括8字节的帧头;链路R2-B可以支持的最大帧长为512字节,其中包括12字节的帧头。(假设在每段链路上数据报分片都是优先按照最大帧长进行分片)

解析:

 

   首先大概画出示意图:

【计算机网络】练习题

1) A-R1链路上:

  帧长是数据链路层的概念,这一个链路允许的最大1024帧长减去14帧头后还有1010字节的数据长度。消息从传输层到网络层后,被加上IP头,一共900+20+20=940字节,小于链路层的数据部分长度1010,因此传输到这一链路上时不需要进行分片(有的地方分片也叫分段,关于它的过程,我们在后面细说)。并且从这个分析可得到在这一跳的ip数据报总长度即为940字节。

【计算机网络】练习题

 

我最开始在这里产生了一个疑问:为什么ip头是20字节长度呢?我们来进行分析:

ip头部有一个首部长度字段:

【计算机网络】练习题

  它指示IP数据报头部的总长度,IP数据报头部的总长度以4字节为单位,该字段占4位。当报头中无可选字段时,报头的总长度为5,也就是5×4=205×4=20字节(此时,报头长度的值为0101)。这就是说IP数据报头部固定部分长度为20字节。当IP头部长度为1111时,头部的固定长度为15×4=6015×4=60字节。然而在实际中,可选字段很少使用,因此ip头部默认长度20字节。 

 

 

  我们再来看DF和MF字段:

【计算机网络】练习题

  此处只有一个分片,因此MF=0,DF也为0. 

  在这里我们需要弄清楚分片的过程:

分片:

把一个数据报为了适合网络传输而分成多个数据报的过程称为分片,被分片后的各个IP数据报可能经过不同的路径到达目标主机。

一个IP数据报在传输过程中可能被分片,也可能不被分片。如果被分片,分片后的IP数据报和原来没有分片的IP数据报结构是相同的,即也是由IP头部和IP数据区两个部分组成:

【计算机网络】练习题

分片后的IP数据报,数据区是原IP数据报数据区的一个连续部分,头部是原IP数据报头部的复制,但与原来未分片的IP数据报头部有两点主要不同:标志和片偏移:

 分片后的头部是原IP数据报头部的复制!!我之前在这里理解有偏差,我以为分片后加上的头部是数据链路层的头部!!!

  最后来看片偏移字段:

  这个字段是为了标识出一个ip分组在分片后,某一个具体的片在原来分组当中的位置

  由于偏移是以8个字节为单位进行计算的,我们这里只有一个片,因此偏移为0.

2)分析完第一个链路,后面的就比较简单了。R1-R2链路,它允许的最大帧长为512字节,很显然不足以容纳所发消息的ip分组,因此要将ip分组进行分片。此时的ip分组为940字节。因为题目中已经说明在每段链路上数据报分片都是优先按照最大帧长进行分片,512-8-20=484字节,最接近这一数字且为8的倍数的数值为480,因此第一个分片的数据部分长度为480,再加上ip头部,一共500字节。第一个分片的后面还有分片,因此MF=1(MF字段可以用于确定分片是不是最后一个分片).此时偏移量为0.

  分片前的ip数据报数据部分长度为920字节,减去已经发送的480字节数据,还有440字节数据待发送。这个长度可以在R1-R2上传输,因此第二个分片总长度为440+20=460字节。第二个分片相对于初始ip分组,偏移了480字节,因此片偏移字段为480/8=60(偏移是以8个字节为单位进行计算).

  DF=0时才允许分片,因此这两个分片的DF字段均为0.

3)R2-B链路和前一链路情况相同。

 

综上所述:

A-R1:
Length = 940; DF = 0; MF = 0; Offset = 0
R1-R2:
(1) Length = 500; DF = 0; MF = 1; Offset = 0
(2) Length = 460; DF = 0; MF = 0; Offset = 60
R2-B:
(1) Length = 500;DF = 0; MF = 1; Offset = 0
(2) Length = 460; DF = 0; MF = 0; Offset = 60

 

终于完结?!!!!

 

参考博文https://blog.csdn.net/qq_22238021/article/details/80476498