帧格式
帧格式分为两种,分别是Ethernet_II 型帧和IEEE 802.3
Ethernet_II
Ethernet_II 型帧
- Type字段值大于等于1536 (或者十六进制的0x0600)
- DMAC(Destination MAC)是目的MAC地址。DMAC字段长度为6个字节,标识帧的接收者。
- SMAC(Source MAC)是源MAC地址。SMAC字段长度为6个字节,标识帧的发送者。
- 类型字段(Type)用于标识数据字段中包含的高层协议,该字段长度为2个字节。
- 类型字段取值为0x0800的帧代表IP协议帧;
- 类型字段取值为0x0806的帧代表ARP协议帧。
- 数据字段(Data)是网络层数据,最小长度必须为46字节以保证帧长至少为64字节,数据字段的最大长度为1500字节。
- 循环冗余校验字段(FCS)提供了一种错误检测机制。该字段长度为4个字节。
IEEE 802.3
- Type字段值小于等于1500(或者十六进制的0x05DC)
- IEEE802.3帧格式类似于Ethernet_II帧,只是Ethernet_II帧的Type域被802.3帧的Length域取代,并且占用了Data字段的8个字节作为LLC和SNAP字段。
- Length字段定义了Data字段包含的字节数。
- 逻辑链路控制LLC(Logical Link Control)由目的服务访问点DSAP(Destination Service Access Point)、源服务访问点SSAP(Source Service Access Point)和 Control字段组成。
- SNAP(Sub-network Access Protocol)由机构代码(Org Code)和类型(Type)字段组成。Org Code三个字节都为0。Type字段的含义与Ethernet_II帧中的Type字段相同。
- IEEE802.3帧根据DSAP和SSAP字段的取值又可分为以下几类:
- 当DSAP和SSAP都取特定值0xff时,802.3帧就变成了Netware-ETHERNET帧,用来承载NetWare类型的数据。
- 当DSAP和SSAP都取特定值0xaa时,802.3帧就变成了ETHERNET_SNAP帧。ETHERNET_SNAP帧可以用于传输多种协议。
- DSAP和SSAP其他的取值均为纯IEEE802.3帧。