===================================================================================================================
常用以太网帧格式目前分为3种:
1. ethernet-II 即DIX2.0,当前以太网的事实标准,大多数TCP/IP都用这种格式
字段 字段长度(字节)
---------------------------------------
前导码(preamble) 8
目的MAC 6
源MAC 6
协议类型 2
数据/填充(注[1]) 46~1500
帧校验序列(FCS) 4
2. IEEE-802.3 + 802.2-LLC 目前交换机之间的BPDU(桥协议数据单元)包使用这种格式
字段 字段长度(字节)
---------------------------------------
前导码(preamble) 7
帧起始符(SFD) 1
目的MAC 6
源MAC 6
数据长度 2
LLC头(注[2]) 3
数据/填充(注[1]) 46~1500
帧校验序列(FCS) 4
3. IEEE-802.3 + 802.2-SNAP 目前802.1q等采用这种格式
字段 字段长度(字节)
---------------------------------------
前导码(preamble) 7
帧起始符(SFD) 1
目的MAC 6
源MAC 6
数据长度 2
扩展的LLC头(注[3]) 8
数据/填充(注[1]) 46~1500
帧校验序列(FCS) 4
注[1]: 如果数据长度小于46字节,则要求填充
注[2]: LLC头由DSAP、SSAP、Control字段组成,DSAP和SSAP两个服务访问点各占1各字节,但其中只有6bit用于标识上层协议
注[3]: 扩展的LLC头就是在原来的LLC头基础上新添加了一个2字节的协议类型域(必须同时将DSAP和SSAP的值置为0xAAAA),从而可以标识更多的上层协议
另外还添加了一个3字节的OUI字段用于代表不同的组织
为了保持兼容,IEEE没有分配0x0600(十进制1536)以下的数为协议类型代码,由于数据字段的最大值为1500字节,
所以很容易从源地址之后的2个字节来判断是那种类型的帧:
如果值超过0x0600则为类型字段,意味着是DIX帧;
如果值小于0x0600则为长度字段,意味着是IEEE帧
最后在1997年,IEEE-802.3经过IEEE802.3X标准的补充,支持这个字段作为类型字段和长度字段两种解释,确立了"两者都是IEEE 802.3格式"的定论。
自此,所有以太网帧都可以统称为802.3帧.
几种常用的协议类型:
IPv4: 0x0800
ARP: 0x0806
PPPoE: 0x8864
802.1q tag: 0x8100
IPv6: 0x86DD
802.1x: 0x888E
===================================================================================================================
ARP协议帧格式:
字段 字段长度(字节) 含义
-----------------------------------------------------------
硬件类型 2 以太网固定0x0001
协议类型 2 和DIX类型字段相同
硬件地址长度 1 硬件地址一般就是MAC,所以长度固定为6
协议长度 1 协议一般就是IP,所以长度固定为4
操作码 2 用来表示这个ARP报文的类型:arp请求-1 arp响应-2 rarp请求-3 rarp响应-4
源MAC 6 源mac地址
源IP 4 源ip地址
目的MAC 6 目的mac地址
目的IP 4 目的ip地址
====================================================================================================================
IEEE 802.1q协议帧格式:
字段 字段长度 含义
----------------------------------------------------------
前导码(preamble) 7 同802.3
帧起始符(SFD) 1 同802.3
目的MAC 6 同802.3
源MAC 6 同802.3
802.1q标签 -tpid 2 tag protocol id, 固定值0x8100
-tci 2 tag control info, 又可以细分为priority(3bit)、 cfi(1bit)、vid(12bit)
数据长度/协议类型 2 同802.3
数据/填充 42~1500 同802.3
帧校验序列(FCS) 4 同802.3
IEEE 802.1q协议帧和标准以太网帧区别:
802.1q协议帧属于802.3标准以太网帧的扩展,在标准以太网帧的源MAC和type/len之间插入了4字节的标签头字段,因此,
802.1q最大帧长由以太网帧标准的1518字节增加到1522字节。
常用以太网帧格式目前分为3种:
1. ethernet-II 即DIX2.0,当前以太网的事实标准,大多数TCP/IP都用这种格式
字段 字段长度(字节)
---------------------------------------
前导码(preamble) 8
目的MAC 6
源MAC 6
协议类型 2
数据/填充(注[1]) 46~1500
帧校验序列(FCS) 4
2. IEEE-802.3 + 802.2-LLC 目前交换机之间的BPDU(桥协议数据单元)包使用这种格式
字段 字段长度(字节)
---------------------------------------
前导码(preamble) 7
帧起始符(SFD) 1
目的MAC 6
源MAC 6
数据长度 2
LLC头(注[2]) 3
数据/填充(注[1]) 46~1500
帧校验序列(FCS) 4
3. IEEE-802.3 + 802.2-SNAP 目前802.1q等采用这种格式
字段 字段长度(字节)
---------------------------------------
前导码(preamble) 7
帧起始符(SFD) 1
目的MAC 6
源MAC 6
数据长度 2
扩展的LLC头(注[3]) 8
数据/填充(注[1]) 46~1500
帧校验序列(FCS) 4
注[1]: 如果数据长度小于46字节,则要求填充
注[2]: LLC头由DSAP、SSAP、Control字段组成,DSAP和SSAP两个服务访问点各占1各字节,但其中只有6bit用于标识上层协议
注[3]: 扩展的LLC头就是在原来的LLC头基础上新添加了一个2字节的协议类型域(必须同时将DSAP和SSAP的值置为0xAAAA),从而可以标识更多的上层协议
另外还添加了一个3字节的OUI字段用于代表不同的组织
为了保持兼容,IEEE没有分配0x0600(十进制1536)以下的数为协议类型代码,由于数据字段的最大值为1500字节,
所以很容易从源地址之后的2个字节来判断是那种类型的帧:
如果值超过0x0600则为类型字段,意味着是DIX帧;
如果值小于0x0600则为长度字段,意味着是IEEE帧
最后在1997年,IEEE-802.3经过IEEE802.3X标准的补充,支持这个字段作为类型字段和长度字段两种解释,确立了"两者都是IEEE 802.3格式"的定论。
自此,所有以太网帧都可以统称为802.3帧.
几种常用的协议类型:
IPv4: 0x0800
ARP: 0x0806
PPPoE: 0x8864
802.1q tag: 0x8100
IPv6: 0x86DD
802.1x: 0x888E
===================================================================================================================
ARP协议帧格式:
字段 字段长度(字节) 含义
-----------------------------------------------------------
硬件类型 2 以太网固定0x0001
协议类型 2 和DIX类型字段相同
硬件地址长度 1 硬件地址一般就是MAC,所以长度固定为6
协议长度 1 协议一般就是IP,所以长度固定为4
操作码 2 用来表示这个ARP报文的类型:arp请求-1 arp响应-2 rarp请求-3 rarp响应-4
源MAC 6 源mac地址
源IP 4 源ip地址
目的MAC 6 目的mac地址
目的IP 4 目的ip地址
====================================================================================================================
IEEE 802.1q协议帧格式:
字段 字段长度 含义
----------------------------------------------------------
前导码(preamble) 7 同802.3
帧起始符(SFD) 1 同802.3
目的MAC 6 同802.3
源MAC 6 同802.3
802.1q标签 -tpid 2 tag protocol id, 固定值0x8100
-tci 2 tag control info, 又可以细分为priority(3bit)、 cfi(1bit)、vid(12bit)
数据长度/协议类型 2 同802.3
数据/填充 42~1500 同802.3
帧校验序列(FCS) 4 同802.3
IEEE 802.1q协议帧和标准以太网帧区别:
802.1q协议帧属于802.3标准以太网帧的扩展,在标准以太网帧的源MAC和type/len之间插入了4字节的标签头字段,因此,
802.1q最大帧长由以太网帧标准的1518字节增加到1522字节。