2016 - 2024

感恩一路有你

怎么查看数据包被分片了 一个数据包的大小是好多?

浏览量:1312 时间:2023-04-02 13:35:03 作者:采采

一个数据包的大小是好多?

1.数据链路层对数据帧的长度有限制,即链路层所能承受的最大数据长度。这个值

它被称为最大传输单位,即MTU。以以太网为例,这个值通常是1500字节。

2.对于IP数据包,也有一个长度。在IP报头中,IP分组的长度由16比特描述,也就是说,

一个IP包,最长可能是65535字节。

3.综合以上两个概念,第一个重要结论就出来了。如果IP数据包的大小超过了MTU值,则有必要。

分片,也就是把一个IP包分成多个部分,非常容易理解。一辆载重5T的货车要拉10T的货。

当然我也只是进了几次拉。

4.许多材料中经常提到IP碎片化,但我不。;我不认为它 it'把它分开很重要。重要的是另一件事。一个

数据包经过一个很大的网络,会经过多个网络,每个网络的MTU值都不一样。我们可以想象如果

接收方/发送方都是以太网,他们的MTU是1500。我们假设发送时,数据包会用1500封装。然而,

可惜传输中有一个X.25网络,它的MTU是576。会发生什么?我觉得这才是我们关心的。

当然结论很明显,这个数据包又要切片了,我们就开始拉火车了。在路上,不会有火车,只有汽车。

那辆车将被分成许多辆车...那个 这就是全部。更重要的是,在这种情况下,如果用 "没有碎片标志 ",那么

会发生什么?是的,数据包将被丢弃,但我收到了一个ICMP不可达错误,告诉你它需要被分段!

该网络中最小的MTU值称为路径MTU。我们应该有一个有效的手段来求这个值,最笨的方法可能是第一个。

使用traceroute查看所有节点,然后逐一ping……...

5.在传输层,也会有一个最大限制。当然,对于UDP,它只发送而不 I don'我不在乎其他任何事情,这已经不是我们讨论的问题了。这里

谈论TCP协议。说到尺寸,可能会让人想起TCP 著名的滑动窗口,它与收发器两端的缓存有关,在这里讨论。

是传输的最大数据包大小,因此不进行讨论。

在TCP的option字段中,有一个最大消息段长度(MSS),表示TCP向另一端传输的最大数据的长度。当一个连接被建立时,它被连接。

双方都要公布自己的MSS,也就是说和TCP的SYN logo一起。当然,对于传输来说,总是希望MSS越大越好。

现在超载这么严重,谁不 我不想拉更多的货...但是MSS对于以太网总是有一个限制,就是MTU-IP头长度-TCP头长度。

塔通经常是1500-20-201460。虽然它总是被期望很大(比如1460),但是大多数BSD实现都是512的倍数,比如1024...

6.回到切片。例如,在Win2000下执行以下命令:

平192.168.0.1 -l 1473

按照我刚才说的,1473 20(ip头)8(icmp头)1501比1500好,会碎片化,但是我们关心的是:

这个包怎么分?

你可以猜到,第一个包是

以太网IP报头ICMP报头1427的数据;

第二个切片包呢?

它可以是:

以太网IP报头ICMP的第一个1字节的数据

或者:

以太网IP第一个字节的数据

也就是说省略了ICMP头的封装。当然不能省略IP头,不然怎么传输...

其实TCP/IP协议采用的是后一种封装,一次可以节省8个字节。在IP报头中,有三个标志用于描述分段的数据包:

1.分片标志:如果一个包是分片的,则设置为1,除了最后一个分片;——这样,对于接收端来说,标志位可以作为重组权重。

基地之一;

2.碎片偏移标志:只有一个标志位表示你是否是碎片包是不够的。偏移标志位指示您的片段在原始数据报中的位置。

显然,这两个标志一旦结合起来,就很容易把支离破碎的包装重新组织起来。

3.不允许分片标志:如果这个标志是为数据包强制设置的,那么在需要分片的时候,……

LWIP协议怎么提高UDP速度?

首先物理层要支持。比如支持10Mbps的以太网最快可以传输1M/S,支持100Mbps的以太网可以传输10M/

s其次,物理层支持的速度很高,你的板卡处理能力也要跟上。如果你用的是Cort:1500字节),所以不适合大数据量的以太网传输。

数据 以太网 长度 IP TCP

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。