admin管理员组

文章数量:1530518

2023年12月15日发(作者:)

少年易学老难成,一寸光阴不可轻 - 百度文库

以下是各种封装:

1. 以太网II封装:

以太网技术的基础是以太网帧,也作标准以太网帧,也称为ARPA,即以太网II帧(最初的以太网II标准也称为DIX,由Digital,Intel和Xerox三家发起公司的首字母拼合而成)。帧格式如下:

2Bs8Bytes6Bytes6Bytes46~1500BytesPreambleDes-MACSou-MACType4BytesFCSPayload图1:以太网II报文格式

下面解释以太网II帧中的各个字段:

• Preamble—也作“Syncword”,用来同步。(在这里为10101010)

• Des-MAC—此目的地址可以是广播地址0xFFFFFFFFFFFF;可以是基于目的节点MAC地址的特定的48比特的单播地址;或者多播地址。此MAC地址可以从协议同步期间消息的源地址字段中找到。

• Sou-MAC—此源地址是发送方的48比特的MAC地址。

• Type—即“以太网类型”,此字段用于识别上层协议。(详见下文)

• Payload—负载,即数据,包含了封装的数据(如:IP分组)。以太网II的数据有效长度范围是46~1500字节。

• FCS—此字段包含32比特的循环冗余校验(Cyclic Redundancy Check,CRC)值,用来校验损坏的帧。

最初的以太网II帧格式有一些缺陷。为了允许冲突检测,10Mbits/s以太网要求分组大小最小为64字节。这就意味着如果帧长达不到标准就必须用0来填充短帧。因此,上层协议需要包含一个“长度”字段来将实际数据与填充值区分开来。

幸运的是,为“以太网类型”字段所分配的值—0x0600XNS(施乐)、0x0800IP(Internet协议)和0x6003DECNET—总是大于十进制值1500(0x05DC)这一最大帧长度。所以IEEE的802委员会对这一任务的解决方案提供了一个标准,即802.3。此方法通过以长度两个8位组的“类型/协议”字段代替同样两个8位组的“以太网类型”字段。从而将以太网II帧与802.3帧区分开来。具体如下:

• 如果此字段值大于十进制值1500,则此字段表示以太网类型,且是类型II。

• 如果此字段值小于等于十进制值1500,则此字段表示长度,且是802.3。(相见2. IEEE 802.3 LLC封装中的描述)

2. IEEE 802.3 LLC封装:

1

少年易学老难成,一寸光阴不可轻 - 百度文库

由于在改进了以太网II帧后仍然需要一个新的分组来表示类型以识别上层协议,因此在802.3的基础帧中的“长度”字段后面又紧跟了一个逻辑链路控制首部(Logical Link Control,LLC,遵循IEEE 802.2)。帧格式如下:

8BytesPreamble6BytesDes-MAC6BytesSou-MAC2BsLen3BytesDSAPSSAPCTRL46~1500BytesPayload4BytesFCS

下面解释IEEE 802.3 LLC帧中的各个字段:

• Preamble—同以太网II帧。(此为10101011)

• Des-MAC—同以太网II帧。

• Sou-MAC—同以太网II帧。

• Len—即“长度”字段,此处为以太网II帧中“以太网类型”字段的替换,表示帧的长度,但是不包括前同步码(Preamble)、FCS、目的和源MAC地址以及长度字段本身等字段。

• DSAP—(Destination Service Access Point,目标服务接入点)字节,8位比特。当此值为0xAA时,表示子网访问协议(Subnetwork Access

Protocol,SNAP)。

• SSAP—(Source Service Access Point,来源服务接入点)字节,8位比特。当此值为0xAA时,表示子网访问协议(Subnetwork Access

Protocol,SNAP)。

• CTRL—“控制”字段,指定了LLC帧的类型。

• Payload—同以太网II帧。802.3LLC的数据有效长度范围是43~1497字节。

• FCS—同以太网II帧。值须重新计算。

3. IEEE 802.3 SNAP封装:

继承了802.3LLC的帧格式,并且添加了SNAP字段。

2Bs3Bytes5Bytes6Bytes6Bytes46~1500BytesDes-MACSou-MACLenDSAPSSAPCTRL8BytesPreamble4BytesFCSSNAPPayload

下面解释IEEE 802.3 SNAP帧中的各个字段:

• Preamble—同802.3LLC帧。

• Des-MAC—同802.3LLC帧。

• Sou-MAC—同802.3LLC帧。

• Len—同802.3LLC帧。

• DSAP—在此值为0xAA,表示SNAP。

• SSAP—在此值为0xAA。

• CTRL—同802.3LLC帧。

2

少年易学老难成,一寸光阴不可轻 - 百度文库

• SNAP—即“子网访问协议(Subnetwork Access Protocol)”,SNAP首部包括3个字节的厂商代码和2个字节的本地代码。厂商代码为0x000000时表示本地代码是一个以太网类型II以便能向后兼容。这种新格式将“以太网类型”字段从它在以太网II中的原始位置向右移动的8个字节。

• Payload—同802.3LLC帧。802.3SNAP的数据有效长度范围是38~1492字节。

• FCS—同802.3LLC帧。值须重新计算。

4. IEEE 802.1Q封装:

802.1Q 的首部并非实际封入原始帧中,而是以太网II帧里,在原始帧里的MAC源地址字段与“以太网类型”字段之间添加一个32位元的域(field)。

8BytesPreamble6BytesDes-MAC6BytesSou-MAC4Bytes802.1Q Header2BsType46~1500BytesPayload4BytesFCS

下面解释IEEE 802.1Q帧中的各个字段:

• Preamble—同以太网II帧。

• Des-MAC—同以太网II帧。

• Sou-MAC—同以太网II帧。

• 802.1Q Header—表示了这是一个VLAN的帧,保存了VLAN的信息。(详见下文)

• Type—同以太网II帧。

• Payload—同以太网II帧。数据有效长度范围是46~1500字节。

• FCS—同以太网II帧。值须重新计算。

其中的802.1Q头部封装遵守如下格式:

16bitsTPID3bitsPCP1bitsTCICFIVID12bits

• TPID—标签协议识别符(Tag Protocal Identifier, TPID):一组16位元的域,用来识别802.1Q帧,其数值被设定在0x8100以用来辨别某个IEEE 802.1Q的帧为已被标签头部,因为这个域所被标定位置与以太网类型II帧中的“以太网类型”字段在未标签帧的域相同,这是为了用来区别未标签的帧。

• TCI—标签控制信息(Tag Control Information,TCI):长度为2字节,包含有PCP、CFI和VID3个字段。

3

少年易学老难成,一寸光阴不可轻 - 百度文库

• PCP—优先权代码点(Priority Code Point, PCP):以一组3位元的域当作IEEE 802.1P优先权的参考,从0(最低)到7(最高),用来对数据流(音讯、影像、档案等等)作传输的优先级,也被称为“服务等级(Class of Service,CoS)”。

• CFI—标准格式标识符(Canonical Format Indicator, CFI):1位元的域。若这个域的值为1,则MAC地指为非标准格式;若为0,则为标准格式;在以太交换器中它通常默认为0。在乙太和令牌环中,CFI用来解决两者的兼容性问题。若帧在以太端中接收数据,则CFI的值必须设为1,且这个端口不能与未标签的其他端口桥接。

• VID—虚拟局域网识别符(VLAN Identifier, VID): 12位元的域,用来具体指出帧是属于哪个特定VLAN的。值为0时,表示帧不属于任何一个VLAN;此时,802.1Q标签仅代表优先权。12位元的值0xFFF为保留值,其他的值都可用来做为总共4094个VLAN的标识符。在桥接器上,VLAN1在管理上作为保留值。

5. IEEE 802.1AD封装:

双重标记(IEEE 802.1AD),也叫作QinQ,对于互联网服务提供商(ISP)是非常有用的。它允许已被打上VLAN标签的混合数据从客户端送出时ISP仍然可以在内部使用VLAN。

6Bytes6Bytes4Bytes4Bytes2Bs46~1500BytesDes-MACSou-MAC802.1Q OuterTag802.1Q InnerTag8BytesPreamble4BytesFCSTypePayload

下面解释IEEE 802.1AD帧中的各个字段:

• Preamble—同以太网II帧。

• Des-MAC—同以太网II帧。

• Sou-MAC—同以太网II帧。

• 802.1Q OuterTag—外部标签(next to Source MAC and representing ISP

VLAN)会先于内部标签(inner)被解封装。此时,一个可变的TPID在16进位值可能为9100、9200或是9300,通常作为外部标签;然而在值为88a8时会违反802.1AD而无法作为外部标签。

• 802.1Q InnerTag—内部标签,格式同IEEE 802.1Q头部。

• Type—同以太网II帧。

• Payload—同以太网II帧。数据有效长度范围是46~1500字节。

• FCS—同以太网II帧。值须重新计算。

4

本文标签: 标签字段类型数据格式