每种格式的以太网帧的开始处都有64比特(8字节)的前导字符,其中前7个字节称为前同步码(Preamble),内容是16进制数 0xAA,最后1字节为帧起始标志符0xAB,它标识着以太网帧的开始。前导字符的作用是使接收节点进行同步并做好接收数据帧的准备。
![以太网帧格式 - Xmo0 - ](https://upload-images.jianshu.io/upload_images/19331805-a5264e3d35970103?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
目前有四种在用的贞格式,它们分别是:
●Ethernet II即DIX 2.0:Xerox与DEC、Intel在1982年制定的以太网标准帧格式。Cisco名称为:ARPA。
Ethernet II类型以太网帧的最小长度为64字节(6+6+2+46+4),最大长度为1518字节(6+6+2+1500+4)。其中前12字节分别标识出发送数据帧的源节点MAC地址和接收数据帧的目标节点MAC地址。接下来的2个字节标识出以太网帧所携带的上层数据类型,如16进制数0x0800代表IP协议数据,16进制数0x809B代表AppleTalk协议数据,16进制数0x8138代表Novell类型协议数据等。在不定长的数据字段后是4个字节的帧校验序列(Frame Check Sequence,FCS),采用32位CRC循环冗余校验对从"目标MAC地址"字段到"数据"字段的数据进行校验。
●Ethernet 802.3 raw:Novell在1983年公布的专用以太网标准帧格式。Cisco名称为:Novell-Ether。
区分这两种格式的方法是判断类型/总长度字段值,大于1500则为类型值,贞格式则为Ethernet II,否则为Ethernet 802.3 raw。
●Ethernet 802.3 SAP:IEEE在1985年公布的Ethernet 802.3的SAP版本以太网帧格式。Cisco名称为:SAP。
![以太网帧格式 - Xmo0 - ](https://upload-images.jianshu.io/upload_images/19331805-07ccc6265d68735a?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
从图中可以看出,在Ethernet 802.3 SAP帧中,将原Ethernet 802.3 raw帧中2个字节的0xFFFF变为各1个字节的DSAP和SSAP,同时增加了1个字节的"控制"字段,构成了802.2逻辑链路控制(LLC)的首 部。LLC提供了无连接(LLC类型1)和面向连接(LLC类型2)的网络服务。LLC1是应用于以太网中,而LLC2应用在IBM SNA网络环境中。
新增的802.2 LLC首部包括两个服务访问点:源服务访问点(SSAP)和目标服务访问点(DSAP)。它们用于标识以太网帧所携带的上层数据类型,如16进制数 0x06代表IP协议数据,16进制数0xE0代表Novell类型协议数据,16进制数0xF0代表IBM NetBIOS类型协议数据等。
至于1个字节的"控制"字段,则基本不使用(一般被设为0x03,指明采用无连接服务的802.2无编号数据格式)。
●Ethernet 802.3 SNAP:IEEE在1985年公布的Ethernet 802.3的SNAP版本以太网帧格式。Cisco名称为:SNAP。
![以太网帧格式 - Xmo0 - ](https://upload-images.jianshu.io/upload_images/19331805-2a0af0fe447ff62d?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
Ethernet 802. 3 SNAP类型以太网帧格式和Ethernet 802. 3 SAP类型以太网帧格式的主要区别在于:
●2个字节的DSAP和SSAP字段内容被固定下来,其值为16进制数0xAA。
●1个字节的"控制"字段内容被固定下来,其值为16进制数0x03。
●增加了SNAP字段,由下面两项组成:
◆新增了3个字节的组织唯一标识符(Organizationally Unique Identifier,OUI ID)字段,其值通常等于MAC地址的前3字节,即网络适配器厂商代码。
◆2个字节的"类型"字段用来标识以太网帧所携带的上层数据类型。
今天的大多数TCP/IP应用都是用****Ethernet II帧格式,而交换机之间的BPDU(桥协议数据单元)数据包则是IEEE802.3/LLC的帧,VLAN Trunk协议如802.1Q和Cisco的CDP(思科发现协议)等则是采用IEEE802.3SNAP的帧。
附:Ethernet II帧格式类型字段中常用值及其对应的协议:
|
Ethertype
( 十六进制 )
|
协议
|
|
0x0000 - 0x05DC
|
IEEE 802.3 长度
|
|
0x0101 – 0x01FF
|
实验
|
|
0x0600
|
XEROX NS IDP
|
|
0x0660
0x0661
|
DLOG
|
|
0x0800
|
网际协议(IP)
|
|
0x0801
|
X.75 Internet
|
|
0x0802
|
NBS Internet
|
|
0x0803
|
ECMA Internet
|
|
0x0804
|
Chaosnet
|
|
0x0805
|
X.25 Level 3
|
|
0x0806
|
地址解析协议(ARP : Address Resolution Protocol)
|
|
0x0808
| 帧中继 ARP (Frame Relay ARP) [RFC1701] |
|
0x6559
| 原始帧中继(Raw Frame Relay) [RFC1701] |
|
0x8035
|
动态 DARP (DRARP:Dynamic RARP)
反向地址解析协议(RARP:Reverse Address Resolution Protocol)
|
|
0x8037
| Novell Netware IPX |
|
0x809B
| EtherTalk |
|
0x80D5
| IBM SNA Services over Ethernet |
|
0x 80F 3
|
AppleTalk 地址解析协议(AARP:AppleTalk Address Resolution Protocol)
|
|
0x8100
|
以太网自动保护开关(EAPS:Ethernet Automatic Protection Switching)
|
|
0x8137
|
因特网包交换(IPX:Internet Packet Exchange)
|
|
0x 814C
|
简单网络管理协议(SNMP:Simple Network Management Protocol)
|
|
0x86DD
|
网际协议v6 (IPv6,Internet Protocol version 6)
|
|
0x880B
|
点对点协议(PPP:Point-to-Point Protocol)
|
|
0x 880C
|
通用交换管理协议(GSMP:General Switch Management Protocol)
|
|
0x8847
|
多协议标签交换(单播) MPLS:Multi-Protocol Label Switching )
|
|
0x8848
|
多协议标签交换(组播)(MPLS, Multi-Protocol Label Switching )
|
|
0x8863
|
以太网上的 PPP(发现阶段)(PPPoE:PPP Over Ethernet )
|
|
0x8864
|
以太网上的 PPP(PPP 会话阶段) (PPPoE,PPP Over Ethernet)
|
|
0x88BB
|
轻量级访问点协议(LWAPP:Light Weight Access Point Protocol)
|
|
0x88CC
|
链接层发现协议(LLDP:Link Layer Discovery Protocol)
|
|
0x8E88
|
局域网上的 EAP(EAPOL:EAP over LAN)
|
|
0x9000
| 配置测试协议(Loopback) |
|
0x9100
|
VLAN 标签协议标识符(VLAN Tag Protocol Identifier)
|
|
0x9200
|
VLAN 标签协议标识符(VLAN Tag Protocol Identifier)
|
|
0xFFFF
|
保留
|