以太网(MAC)帧
从TCP/IP协议栈的角度来说,MAC帧属于数据链路层的协议数据单元。
我们常说的以太网帧是MAC帧的子集,可以认为所有的以太网帧都是MAC帧,但并不是所有的MAC帧都是以太网帧。其他协议(如Wi-Fi、PPP等)也有各自的MAC帧格式。
MAC帧包括三部分:帧头,数据部分,帧尾
- 帧头和帧尾包含一些必要的控制信息,比如同步信息、地址信息、差错控制信息等
- 数据部分则包含网络层传下来的数据,比如ip数据包
有四种不同格式的以太网帧在使用,它们分别是:
- Ethernet II即DIX 2.0:Xerox与DEC、Intel在1982年制定的以太网标准帧格式。Cisco名称为:ARPA。
- Ethernet 802.3 raw:Novell在1983年公布的专用以太网标准帧格式。Cisco名称为:Novell-Ether。
- Ethernet 802.3 SAP:IEEE在1985年公布的Ethernet 802.3的SAP版本以太网帧格式。Cisco名称为:SAP。
- Ethernet 802.3 SNAP:IEEE在1985年公布的Ethernet 802.3的SNAP版本以太网帧格式。Cisco名称为:SNAP。
MAC层要求定界字符之后的内容要在64字节到1518个字节之间,其中包括14字节的目标和源MAC,4字节的CRC32值。并且报文帧之间的传递间隔要大于9.6us。
- 以太类帧型:占16个比特,表示协议类型。
-
- 0800:IP协议
- 0806:ARP 协议
- 86DD:IPv6
- 0000-05DC:IEEE 802.3,如果值大于 1500(0x05DC),说明是以太网类型字段,EthernetII 帧格式。如果值小于等于1500,说明是长度字段