通信人家园
标题:
以太网最小,最大字节长度
[查看完整版帖子]
[打印本页]
时间:
2011-7-13 14:36
作者:
ruanshuxian
标题:
以太网最小,最大字节长度
以太网最小字节长度(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,从而让所有的碰撞都能够被检测到
以太网帧的构成:
Preamble
Start-of-
Frame-Delimiter
Destination MAC
Source MAC
Type
Payload
CRC
Interframe
Gap
7 bytes
10101010
1 bytes
10101011
6 bytes
6bytes
2 Bytes
46-1500
bytes
4 Bytes
12 bytes
在传输完一个数据帧以后,在传输下一个数据帧之前,要传输12bytes的空闲帧
12 bytes = 12×8 = 96 bits
在10Mbit/s的网络中,传输1个bit 需要的时间为 1×10-7s
所以Interframe Gap 的时间为 96×10-7=9.6×10-6 s= 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 等
MTU1. MTU:Maximum Transmission Unit,设备发送数据时,任何比MTU大的数据包都会被分片,分片是在三层进行的,所以这里所说的MTU,指的是三层报文的长度,不包括二层的信息-------指的是最大IP报文的长度
2. 标准的以太网上,MTU值为1500bytes,不包括以太网头和CRC(Cyclic Redundancy Check),总共18bytes
时间:
2011-7-13 15:16
作者:
lizer
技术贴!顶一个
时间:
2011-8-22 10:54
作者:
冷笑书生
谢谢分享!!
时间:
2011-11-29 22:17
作者:
527wxq
好贴!说的很详细
通信人家园 (https://www.txrjy.com/)
Powered by C114