153214428.jpg

如上图为以太网的帧格式,以下是对每字段的字段、字段长度及作用的

1、前导码(Preamble)     7B  不算在以太帧里面,只是用定制帧开始,起同步作用。

2、帧开始符(SFD)        1B  标识一个帧的开始,代码为:10101011.

3、目的MAC地址            6B  指明帧的接受者

4、源MAC地址              6B  指明帧的发送者

5、长度(Length)         2B  帧的数据字段的长度(长度或类型)

6、类型(Type)           2B  帧中数据的协议类型(长度或类型)

7、数据和填充(Data and Pad)注 46~1500 高层的数据,通常为3层协议数据单元。

对于TCP/IP是IP数据包

8、帧校验序列(FCS)  4B   对接收网卡提供判断是否传输错误的一种方法,如果发现错误,丢弃此     帧

注:

如果帧长小于64字节,则要求“填充”,以使这个帧的长度达到64字节。


补充

Ethernet II和IEEE802.3的帧格式比较。

Ethernet II帧格式:

-----------------------------------------------------------------------------------------

| 前序 | 目的地址 | 源地址 | 类型 | 数据 | FCS |

-----------------------------------------------------------------------------------------

| 8 byte | 6 byte | 6 byte | 2 byte | 46~1500 byte | 4 byte|


IEEE802.3一般帧格式

-----------------------------------------------------------------------------------------

| 前序 | 帧起始定界符 | 目的地址 | 源地址 | 长度 | 数据 | FCS |

-----------------------------------------------------------------------------------------

| 7 byte | 1 byte | 2/6 byte |2/6 byte| 2 byte | 46~1500 byte | 4 byte |


Ethernet II和IEEE802.3的帧格式比较类似,主要的不同点在于前者定义的2字节的类型,而后者定义的是2字节的长度;后者定义的有效长度值与前者定义的有效类型值无一相同,这样就容易区分两种帧格式了。


以上仅是个人学习笔记总结,如有不正确的,烦扰指正!