报文大小计算

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

二层标准的MTU是1518,除去以太网帧的帧头(DMAC目的MAC地址48bit=6Bytes+SMAC源MAC地址48bit=6Bytes+Type域2bytes)14Bytes和帧尾CRC 校验部分4Bytes ,实际能载1500的IP报文。

三层的能够承载的TCP报文最大只能是1500(IPMTU),虽然IP报文的范围在64KB到65535,但受到二层MTU的限制。

IP MTU=MSS+20bytes(IP包头)+20bytes(TCP包头)。

tcp里有个字段MSS说的是TCP最大能携带的数据大小(不包括报头大小)。这个会在SYN 协商时确定。

一般TCP实际载荷为1500-20(IP报头)-20(TCP报头)=1460字节

如果TCP数据不大于1460就不需要进行分段处理。

这里说的是以太网承载IP报文,不包括其他协议的报文。

以太网最小字节长度(64 bytes)

以太网为什么要有最小字节限制:

以太网采用的是CSMA/CD方法在介质上传输数据,而CSMA/CD的特性要求有最小字节限制

CSMA/CD 为什么要有最小字节限制:

在CSMA/CD网络中,发送数据的一方在发送数据的同时会监听网络是否有碰撞。

一旦发送方发送完一个最后一个bit以后,仍然没有检测到碰撞,它就会认为,这次传输已经成功

A----------------------c(冲突)------------------------------------B

如果发送方(A)传输的是一个非常小的帧的话,它发送完帧以后,认为这次传输已经成功,被会在继续监听碰撞。

当数据在A与B之间进行传输时,B并没有检测到A发送帧的第一个bit,认为线路是空闲的,所以B就会发送帧,这样在线路上肯定会有碰撞。

碰撞发送以后,由于A不监听碰撞,所以A也不会进行碰撞处理,不会再重传帧,导致发出去的这个帧丢失,从而导致数据丢失

这就要求有最小的帧长限制

在IEEE802.3 Baseband 5-4-3中规定:在任意两个节点之间,最大的physical segments为5个,所以最多可以有4个repeaters在两个节点之间。

这5个physical segments 之间,只有三个可以连接节点,而其它的两个只能被当作延长网络之用

在使用10Base-5线缆的网络中,每个physical segment 最长是500米,所以,每个Ethernet 的最大长度是2500米

A------------Repeater1---------- Repeater2--------- Repeater3----------- Repeater4-----------B

|----------------------------------------------2500meter-------------------------------------|

最小时间要求:

A传送帧的第一个bit到达B,B开始传输,产生碰撞,发出碰撞信号,碰撞信号要在A传输完最后一个bit时,能够到达A,从而让A感知到碰撞,从而重传这个帧。

一个帧从A-B,B-A的这个时间被称为slot time,这个时间计算出来为57.6 μs.

在10Mbit/s的网络中,在57.6μs的时间内,能够传输576个bit,所以要求以太网帧的大小最小为576个bits,从而让所有的碰撞都能够被检测到

以太网帧的构成:

在传输完一个数据帧以后,在传输下一个数据帧之前,要传输12bytes的空闲帧

12 bytes = 12×8 = 96 bits

在10Mbit/s的网络中,传输1个bit 需要的时间为1×10-7s

所以Interframe Gap 的时间为96×10-7=9.6×10-6s= 9.6μs

在一个数据帧发送完以后,要等待9.6μs的时间,然后再传输下一个数据帧

576bits= 72 bytes

通常情况下我们所说的以太网长度,不包括preamble和start of frame delimiter,所以以太网最小长度为:72-8= 64 bytes

以太网的最大字节长度(1518/1522)

为什么在以太网中,三层的IP包长要规定为64~1500 字节,都是二层的Ethernet特性来决定的:

最小包长由CSMA/CD的最小检测碰撞时间来决定

最大包长没有特别的规定,但是考虑到如下的因数,将IP最大包长设置为1500 bytes:

1. 以太网是所有的终端共享传输介质,如果一台终端发送一个很长的帧,传输时将占用太多的时间,其它的终端将等待,直到这个帧传输完毕。帧越长,等待的时间将越长

2. 如果一个帧太长,如果在传输的过程中,发生一个传输错误,那么整个帧要重传,这样又要占有大量的时间,导致效率不高---—早期的以太网由于传输的错误率非常高

3. 帧越长,需要的缓存越大,1979年在设计网卡时,缓存的价格非常昂贵,所以当时选用1500 bytes作为最大的长度。

标准的以太网的最大字节长度为1518/1522:

untagged的frame最大帧长为1518

tagged的frame 最大帧长为1522

其它的长度都是设备厂商自己规定的:如Jumbo frame 等

MTU

1. MTU:Maximum Transmission Unit,设备发送数据时,任何比MTU大的数据包都会被分片,分片是在三层进行的,所以这里所说的MTU,指的是三层报文的长度,不包括二层的信息-------指的是最大IP报文的长度

2. 标准的以太网上,MTU值为1500bytes,不包括以太网头和CRC(Cyclic Redundancy Check),总共18bytes

相关文档
最新文档