一个3200 bit长的TCP 报文传到IP 层,加上160 bit的首部后成为数据报。下面的互联网由两个局域网通过路由器连接起来。但第二个局域网所能传送的最长数据帧中的数据部分只有1200 bit。因此数据报在路由器必须进行分片。试问第二个局域网向其上层要传送多少比特的数据?
时间: 2024-01-24 16:18:55 浏览: 34
根据题意,原始的TCP报文长度为3200 bit,加上IP首部160 bit后,总长度为3360 bit。由于第二个局域网最长数据帧只有1200 bit,因此需要将3360 bit的数据报进行分片。
根据IP协议的规定,每个分片都要包含IP首部,因此每个分片的长度都应该小于等于第二个局域网最长数据帧的长度1200 bit。可以通过如下计算得出需要分成几个分片:
第一个分片:IP首部+1200-160=1140 bit 的数据
第二个分片:IP首部+1200-160=1140 bit 的数据
第三个分片:IP首部+880-160=720 bit 的数据
因此第二个局域网向其上层要传送的数据长度为1140+1140+720=3000 bit。
相关问题
16.一个3800bit长的TCP报文传到IP层,加上160bit的首部后成为数据报。下面的互联网由两个局域网通过路由器连接起来。但第二个局域网所能传送的最长数据帧中的数据部分只有1000bit,因此数据报在路由器必须进行分片。试问第二个局域网向其上层(IP层)要传送多少比特的数据?(要求写出计算过程)
对于一个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
用Verilog写一个带for循环的位宽转换,两个数据合为一个,64bit转为144bit
以下是使用 Verilog 编写的位宽转换模块,可以将两个 64 位的数据合并为一个 144 位的数据:
```
module bit_concat(
input [63:0] data1,
input [63:0] data2,
output reg [143:0] result
);
integer i;
always @(*) begin
result = {data1, data2};
for (i = 0; i < 16; i = i + 1) begin
result[7*i+6:7*i] = 0;
end
end
endmodule
```
这个模块的原理很简单,就是将两个 64 位的数据直接拼接起来,然后将每隔 8 位的低 7 位清零,从而将 128 位的数据转换为 144 位的数据。其中 for 循环用于遍历 16 个字节,每次处理一个字节的数据。
相关推荐
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)