以太网上使用两种标准帧格式。第一种是上世纪80年代提出的DIX v2格式,即Ethernet II格式。第二种是1983年提出的IEEE 802.3格式。
两种格式得区别在于Ethernet 格式种包含一个Type字段,标识以太网帧处理完之后将被发送到哪个上层协议进行处理,IEEE 802.3格式种,同样位置是长度字段。
Ethernet II 格式相对使用广泛。
从Type/Length字段值可以区分两种帧类型:当Type字段值小于等于1500(0x05DC)时,帧使用的是IEEE 802.3格式。当Type字段值大于等于1536(0x0600)时,帧使用的是Ethernet II格式
Ethernet II格式
Ethernet II格式种Data字段长度在46-1500B,故以太网数据帧的长度在64(6+6+2+46+4)-----1518(6+6+2+1500+4)字节之间
DMAC:目的MAC地址。字段长度6个字节,标识帧的接收者
SMAC:源MAC地址。字段长度6个字节,标识帧的发送者
Type:类型字段,字段长度2个字节,用于标识数据字段种包含的高层协议。
0x0800 代表 IP协议帧
0x0806 代表ARP协议帧
Data:数据字段是网络层数据,最小长度必须为46字节
FCS:循环冗余校验字段,提供了一种错误检测机制,字段长度为4个字节
IEEE802.3
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字段的取值,又可以分为以下几类:
1:当DSAP和SSAP都取特定值0xff时,802.3帧就变成了Netware-ETHERNET帧,用来承载NetWare类型的数据
2:当DSAP和SSAP都取特定值0xaa时,802.3帧就变成了ETHERNET_SNAP帧。此帧可以用于传输多种协议。
3:DSAP和SSAP其他的取值均为纯IEEE802.3帧
故可以说4种以太网帧