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地址。(注:ISL封装后可达1548字节,802.1Q封装后可达1522字节)
接下来的2个字节标识出以太网帧所携带的上层数据类型,如下:
IPv4: 0x0800
ARP:0x0806
PPPoE:0x8864
802.1Q tag: 0x8100
IPV6: 0x86DD
MPLS Label:0x8847
在不定长的数据字段后是4个字节的帧校验序列(Frame. Check Sequence,FCS)
EtherType 是以太帧里的一个字段,用来指明应用于帧数据字段的协议。根据 IEEE802.3,Length/EtherType 字段是两个八字节的字段,含义两者取一,这取决于其数值。在量化评估中,字段中的第一个八位字节是最重要的。而当字段值大于等于十进制值 1536 (即十六进制为 0600)时, EtherType 字段表示为 MAC 客户机协议(EtherType 解释)的种类。该字段的长度和 EtherType 详解是互斥的。
该类字段值取自 IEEE EtherType 字段寄存器。EtherType 字段是个极限空间,因此其分配是有限的。只有开发新的数据传输协议的人员需要使用 EtherType 字段,而不管他们实际上是否真正生产任何设备。IEEE RAC EtherType 字段批准权威机构负责检查和批准 EtherType 字段。
知名协议已经分配了 EtherType 值,下面表格中列出了 EtherType 字段中常用值及其对应的协议:
Ethertype |
协议 |
0x0000 - 0x05DC |
IEEE 802.3 长度 |
0x0101 – 0x01FF |
实验 |
0x0600 |
XEROX NS IDP |
0x0660 |
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) |
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 <unicast>) |
0x8848 |
多协议标签交换(组播)(MPLS, Multi-Protocol Label Switching <multicast>) |
0x8863 |
以太网上的 PPP(发现阶段)(PPPoE:PPP Over Ethernet <Discovery Stage>) |
0x8864 |
以太网上的 PPP(PPP 会话阶段) (PPPoE,PPP Over Ethernet<PPP Session Stage>) |
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 |
保留 |
EtherType :以太网类型字段及值
2. ARP (ARP Header长度:8字节)
硬件类型:1 表示以太网
协议类型:和Ethernet数据帧中类型字段相同
OP操作字段:1 表示ARP请求
2 表示ARP应答
3 表示RARP请求
4 表示RARP应答
3. 802.1q VLAN数据帧(4字节)
基于802.1Q的VLAN帧格式
- Type:长度为2字节,取值为0x8100,表示此帧的类型为802.1Q Tag帧。
- PRI:长度为3比特,可取0~7之间的值,表示帧的优先级,值越大优先级越高。该优先级主要为QoS差分服务提供参考依据(COS)。
-
VLAN Identifier (VID) : 长度12bits,可配置的VLAN ID取值范围为1~4094。通常vlan 0和vlan 4095预留,vlan1为缺省vlan,一般用于网管。
QinQ帧格式
4. PPP帧(除去信息字段后长度为:8字节)
PPP报文格式
PPP报文的内容是指Address、Control、Protocol和Information四个域的内容。各字段的含义如下。
- Flag域Flag域标识了一个物理帧的起始和结束,该字节为0x7E。
- Address域PPP协议是被运用在点对点的链路上,它可以唯一标识对方。因此使用PPP协议互连的两个通信设备无须知道对方的数据链路层地址。所以该字节已无任何意义,按照协议的规定将该字节填充为全1的广播地址。
- Control域同Address域一样,PPP数据帧的Control域也没有实际意义,按照协议的规定通信双方将该字节的内容填充为0x03。Address和Control域一起表示了此报文为PPP报文,即PPP报文头为FF03。
- Protocol域协议域可用来区分PPP数据帧中信息域所承载的数据报文的内容。
协议代码 |
协议类型 |
0021 |
Internet Protocol |
8021 |
Internet Protocol Control Protocol |
C021 |
Link Control Protocol |
C023 |
Password Authentication Protocol |
C223 |
Challenge Handshake Authentication Protocol |
-
Information域信息域最大长度是1500字节,其中包括填充域的内容。信息域的最大长度等于PPP协议中MRU(Maximum Receive Unit)的缺省值。
5. HDLC帧(除去信息字段后长度为:8字节)
HDLC帧格式
各字段的含义解释:
字段 |
长度(字节) |
含义 |
Protocol |
2 |
协议字段。表示Information域中的数据封装的协议类型。 |
Information |
N |
信息字段。可以是任意的二进制比特串,长度未作限定。其上限由FCS字段或通信节点的缓冲容量来决定,目前国际上用得较多的是1000~2000比特,而下限可以是0,即无信息字段。但是监控帧中不可有信息字段。 |
6. PPPoE报文(报文头长度为6字节)
windows系统pppoe MTU大小
默认和最大 PPPoE MTU 大小为 1,480 字节。对于某些 Internet 服务提供商 (ISP),您可能需要将 PPPoE 连接的 MTU 大小降至 1,400 和 1,480 之间的一个值(例如 1,454)。不要将 MTU 大小设置为小于 1,400。
路由器pppoe拨号时MTU为1492
7. MPLS Label
Label报文格式:
MPLS uses a 32-bit label field that contains the following information:
- 20-bit label (a number)
- 3-bit experimental field (usually used to carry IP precedence value)
- 1-bit bottom-of-stack indicator (indicates whether this is the last label before the IP header)
- 8-bit TTL (equal to the TTL in IP header),used to prevent indefinite looping of packets.