参考:http://baike.baidu.com/view/1341440.htm
以太网帧格式,即在以太网帧头、帧尾中用于实现以太网功能的域。


图2 IEEE802.3以太帧头
| 字段 |
字段长度(字节) |
目的 |
| 前导码(Preamble) |
7 |
同步 |
| 帧开始符(SFD) |
1 |
标明下一个字节为目的MAC字段 |
| 目的MAC地址 |
6 |
指明帧的接受者 |
| 源MAC地址 |
6 |
指明帧的发送者 |
| 长度(Length) |
2 |
帧的数据字段的长度(长度或类型) |
| 类型(Type) |
2 |
帧中数据的协议类型(长度或类型) |
| 类型和填充(Data and Pad)注 |
46~1500 |
高层的数据,通常为3层协议数据单元。对于TCP/IP是IP数据包 |
| 帧校验序列(FCS) |
4 |
对接收网卡提供判断是否传输错误的一种方法,如果发现错误,丢弃此帧 |
注:如果数据包小于46字节,则要求“填充”,以使这个字段达到46字节。填充是必须的,因为数据字段要求至少46字节长(这个填充字符是否会发送呢?个人觉得应该是会的)。
以太网中的最小帧长的设定:
1,假设公共总线媒体长度为S,帧在媒体上的传播速度为0.7C(光速),网络的传输率为R(bps),帧长为L(bps),tPHY为某站的物理层时延;则有:
碰撞槽时间=2S/0.7C+2tPHY
因为Lmin/R=碰撞槽时间
所以Lmin =(2S/0.7C+2tPHY )×R ,Lmin 称为最小帧长度。
碰撞槽时间在以太网中是一个极为重要的参数,有如下特点:
(1)它是检测一次碰撞所需的最长时间。
(2)要求帧长度有个下限(即最短帧长)
(3)产生碰撞,就会出现帧碎片。
(4)如发生碰撞,要等待一定的时间。t=rT。(T为碰撞槽时间)
2,下面我们来估计在最坏情况下,检测到冲突所需的时间
(1)A和B是网上相距最远的两个主机,设信号在A和B之间传播时延为τ,假定A在t时刻开始发送一帧,则这个帧在t+τ时刻到达B,若B在t+τ-ε时刻开始发送一帧,则B在t+τ时就会检测到冲突,并发出阻塞信号。
(2)阻塞信号将在t+2τ时到达A。所以A必须在t+2τ时仍在发送才可以检测到冲突,所以一帧的发送时间必须大于2τ。
(3)按照标准,10Mbps以太网采用中继器时,连接最大长度为2500米,最多经过4个中继器,因此规定对于10Mbps以太网规定一帧的最小发送时间必须为51.2μs。
(3)51.2μs也就是512位数据在10Mbps以太网速率下的传播时间,常称为512位时。这个时间定义为以太网时隙。512位时=64字节,因此以太网帧的最小长度为512位时=64字节。