16.一个3800bit长的TCP报文传到IP层,加上160bit的首部后成为数据报。下面的互联网由两个局域网通过路由器连接起来。但第二个局域网所能传送的最长数据帧中的数据部分只有1000bit,因此数据报在路由器必须进行分片。试问第二个局域网向其上层(IP层)要传送多少比特的数据?(要求写出计算过程)
时间: 2024-01-24 14:18:49 浏览: 79
IP数据报分片1
对于一个3800bit长的TCP报文传到IP层,加上160bit的首部后成为的数据报,其总长度为3960bit(即3800+160)。
由于第二个局域网所能传送的最长数据帧中的数据部分只有1000bit,因此数据报在路由器必须进行分片。根据IP层分片的规则,数据报会被分成多个片段,每个片段的长度不超过第二个局域网能够传输的最大数据帧长度,即1000bit。同时,每个片段的大小必须是8的倍数。
那么,可以先计算出每个片段的长度。根据IP层分片的规则,每个片段的长度为:
1000 bit - 160 bit = 840 bit
即每个片段的数据部分长度为840bit。而由于每个片段的大小必须是8的倍数,因此实际每个片段的长度应该是848bit(即840bit+8bit)。
接下来需要计算分片后的数据报的总长度。由于每个片段都需要增加IP层的首部,因此每个片段的总长度为1000bit(即数据部分长度840bit+IP层首部长度160bit)。而原始数据报的总长度为3960bit,因此需要分成多少个片段才能传输完整的数据呢?
假设需要分成n个片段,则总长度应为:
n * 1000 bit
根据题意,这个总长度应该大于等于原始数据报的总长度3960 bit。因此有:
n * 1000 bit >= 3960 bit
解得:
n >= 3.96
由于分片必须是整数个,因此最少需要分成4个片段。而最后一个片段的长度不超过1000bit,因此它的数据部分长度应该是:
3960 bit - 3 * 1000 bit = 960 bit
即最后一个片段的总长度为960bit+IP层首部长度160bit=1120bit。
因此,第二个局域网向其上层(IP层)要传送的数据长度为:
3 * 1000 bit + 1120 bit = 4120 bit
阅读全文