1. ethernet帧(除去上层负载后长度为18字节)
以太帧有好多种,我们最常用到的是Ethernet II
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)
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帧格式
字段 长度 含义 Destination address 6字节 目的MAC地址。 Source address 6字节 源MAC地址。 Type 2字节 长度为2字节,表示帧类型。取值为0x8100时表示802.1Q Tag帧。如果不支持802.1Q的设备收到这样的帧,会将其丢弃。 PRI 3比特 Priority,长度为3比特,表示帧的优先级,取值范围为0~7,值越大优先级越高。用于当阻塞时,优先发送优先级高的数据包。 如果设置用户优先级,但是没有VLANID,则VLANID必须设置为0x000。
CFI 1比特 CFI (Canonical Format Indicator),长度为1比特,表示MAC地址是否是经典格式。CFI为0说明是标准格式,CFI为1表示为非标准格式。用于区分以太网帧、FDDI(Fiber Distributed Digital Interface)帧和令牌环网帧。在以太网中,CFI的值为0。 VID 12比特 LAN ID,长度为12比特,表示该帧所属的VLAN。在VRP中,可配置的VLAN ID取值范围为1~4094。0和4095协议中规定为保留的VLAN ID。 三种类型:
- Untagged帧:VID 不计
- Priority-tagged帧:VID为 0x000
- VLAN-tagged帧:VID范围0~4095
三个特殊的VID:
- 0x000:设置优先级但无VID
- 0x001:缺省VID
- 0xFFF:预留VID
Length/Type 2字节 指后续数据的字节长度,但不包括CRC检验码。 Data 42~1500字节 负载(可能包含填充位)。 CRC 4字节 用于帧内后续字节差错的循环冗余检验(也称为FCS或帧检验序列)。 VLAN帧
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.