如上图为以太网的帧格式,以下是对每字段的字段、字段长度及作用的
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字节的长度;后者定义的有效长度值与前者定义的有效类型值无一相同,这样就容易区分两种帧格式了。
以上仅是个人学习笔记总结,如有不正确的,烦扰指正!