【转】链路层常见报文格式及长度汇总

1、Ethernet帧(除去上层负载后长度为 18 字节)

以太帧有好多种,我们最常用到的是Ethernet II

Ethernet II即DIX 2.0:Xerox与DEC、Intel在1982年制定的以太网标准帧格式。Cisco名称为:ARPA

Ethernet帧
Ethernet帧

Ethernet II类型以太网帧的最小长度为64字节(6+6+2+46+4),最大长度为1518字节(6+6+2+1500+4)。(注:ISL封装后可达1548字节,802.1Q封装后可达1522字节)

  • 其中前12字节分别标识出发送数据帧的源节点MAC地址和接收数据帧的目标节点MAC地址;
  • 接下来的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 字节)

ARP
ARP
  • 硬件类型:1 表示以太网
  • 协议类型:和Ethernet数据帧中类型字段相同
  • OP操作字段:
    • 1 表示ARP请求
    • 2 表示ARP应答
    • 3 表示RARP请求
    • 4 表示RARP应答

3、802.1Q VLAN数据帧(4 字节)

基于802.1Q的VLAN帧格式
基于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预留,VLAN 1为缺省VLAN,一般用于网管。

4、QinQ数据帧

QinQ帧格式
QinQ帧格式

5、PPP帧(除去信息字段后长度为 8 字节)

PPP报文格式
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)的缺省值。

6、HDLC帧(除去信息字段后长度为 8 字节)

HDLC帧格式
HDLC帧格式

各字段的含义解释:

字段 长度(字节) 含义
Protocol 2 协议字段。表示Information域中的数据封装的协议类型。
Information N 信息字段。可以是任意的二进制比特串,长度未作限定。其上限由FCS字段或通信节点的缓冲容量来决定,目前国际上用得较多的是1000~2000比特,而下限可以是0,即无信息字段。但是监控帧中不可有信息字段。

7、PPPoE报文(报文头长度为 6 字节)

PPPoE报文
PPPoE报文

Windows系统PPPoE MTU大小:默认和最大PPPoE MTU大小为1480字节。对于某些Internet服务提供商(ISP),您可能需要将PPPoE连接的MTU大小降至1400和1480之间的一个值(例如1454)。不要将MTU大小设置为小于1400。

路由器PPPoE拨号时MTU为1492。

8、MPLS Label(4 字节)

Label报文格式:

MPLS Label
MPLS 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.

 

转自:http://blog.chinaunix.net/uid-20530497-id-2878069.html

打赏 赞(0)
比特币钱包
以太坊钱包
比特币钱包二维码图片

比特币钱包扫描二维码打赏

以太坊钱包二维码图片

以太坊钱包扫描二维码打赏

Was this article helpful?

Related Articles

Leave A Comment?

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据