一个400字节长度的运输层报文,传递到IP层加上固定首部后形成IP数据报,若该IP数据报需通过MTU值为150 字节的二层链路,则需要分为几个分片,每个IP分片的MF标记、片偏移值、总长度为多少?
时间: 2024-02-16 17:01:15 浏览: 20
根据题目中给出的条件,我们需要将一个长度为400字节的运输层报文传递到MTU值为150字节的二层链路上。因为IP首部大小为20字节,所以每个IP数据报的大小为20字节加上运输层报文的大小。因此,每个IP数据报最大只能携带130字节(150字节MTU值减去20字节IP首部大小)的数据。
因此,我们需要将原始的400字节运输层报文分为多个IP分片。每个IP分片的大小为130字节,除了最后一个分片可能会小于130字节。每个IP分片需要添加20字节的IP首部,因此每个IP分片的总长度为150字节。
由于IP分片需要标记分片的位置和MF标记,以便接收方能够正确地重组原始数据报。因此,第一个IP分片的MF标记应该设置为1,代表还有后续分片,片偏移值为0。第二个分片的MF标记仍然设置为1,片偏移值应该为130/8=16。最后一个分片的MF标记应该设置为0,片偏移值为32。
因此,将一个长度为400字节的运输层报文传递到MTU值为150字节的二层链路上需要分为3个IP分片,每个IP分片的MF标记、片偏移值、总长度如下:
- 第一个IP分片:MF=1,片偏移值=0,总长度=150字节(包括20字节IP首部和130字节数据)
- 第二个IP分片:MF=1,片偏移值=16,总长度=150字节(包括20字节IP首部和130字节数据)
- 第三个IP分片:MF=0,片偏移值=32,总长度=80字节(包括20字节IP首部和60字节数据)
相关问题
某IP数据报长度为1500B,首部只有固定首部,DF=0。该报文经过MTU=820B的局域网,该报文需划分成 个较小的报文,每个报文的长度为
根据IP协议的要求,一个IP数据报的总长度包括首部和数据部分,最大为65535字节。但是,由于不同的网络类型和设备可能存在不同的MTU限制,因此当一个IP数据报的长度大于某个网络/设备的MTU限制时,需要进行分片。在本题中,IP数据报长度为1500B,需要经过MTU为820B的局域网,因此需要进行分片。
根据IP协议的要求,每个分片报文的总长度都必须是8的倍数。因此,首先需要计算出每个分片报文中数据部分的长度,即820字节减去固定首部的长度(假定为20字节)和该分片报文的偏移量(假定为0)。计算可得,每个分片报文的数据部分长度为800字节。因此,每个分片报文的总长度为820字节,其中固定首部长度为20字节,数据部分长度为800字节。
因此,该报文需划分成2个较小的报文,每个报文的长度为820字节,其中固定首部长度为20字节,数据部分长度为800字节。第一个分片报文的偏移量为0,MF标志位为1;第二个分片报文的偏移量为800字节,MF标志位为0。
IP数据报首部的长度可能为下列哪种:16B/64B/26B/24B
IP数据报首部的长度可能为16B、24B或者20B。
IP数据报的首部长度字段占4个比特位,表示首部的长度以32位字(4字节)为单位。因此,首部长度字段的值乘以4可以得到实际的首部长度。
常见的IP数据报首部长度是20字节(即20B),这是因为IP数据报的最小首部长度为20字节,不包括任何选项字段。
其他可能的首部长度是16字节(即16B)或24字节(即24B)。这可能是因为在某些情况下,IP数据报的首部中可能包含一些选项字段,从而增加了首部的长度。
而64B不是IP数据报首部长度的有效选项,因为IP数据报的首部长度字段只占4个比特位,无法表示64字节的长度。