我的思想随着这些闪耀的绿叶而闪耀;我的心灵因了这日光的抚触而歌唱;

VLAN标签

华为认证 致远 281℃ 0评论

6.1.3  VLAN标签(1)

前面说了VLAN是二层协议,对应于IEEE 802.1q标准。这样一来,在二层的数据帧中会打上所属VLAN的标签,这就是IEEE 802.1q标签(Tag),也就是通常所说的VLAN标签。

1.传统以太网帧格式

传统的以太网数据帧中没有VLAN标签,其帧格式如图6-4所示。各字段说明如下。

(1)前导。前导(Preamble)字段占7个字节,由1和0交互构成(如10101010…),用于使PLS(物理层信号)子层电路与收到的帧达到时钟同步。

(2)帧起始。帧起始(Start-of-Frame Delimiter,SFD)字段占1个字节,前6位也是1和0交互构成,最后两位是连续的1,即10101011,表示一个帧的开始。前导码的作用是使接收端能根据”1″、”0″交互的比特模式迅速实现比特同步,当检测到连续两位”1″(即读到帧起始定界符字段SFD最末两位)时,便将后续的信息递交给MAC子层。

在以上两个字段中,早期的Intel和Xerox公司开发的以太网标准中是把SFD字段并入了Pre字段中,所以那时的MAC帧格式中没有SFD字段。只有后面由IEEE发布的以太网标准中才出现了SFD字段。但Pre和SFD这两个字段只是用来提醒接收端新的一帧到来了,并不计入MAC帧大小中。

(3)目的MAC地址/源MAC地址。目的MAC地址(Destination Address,DA)和源MAC地址(Source Addresses,SA)字段各占6个字节,分别用于标识接收站点的MAC地址和发送站点的MAC地址。它们可以是单播MAC地址,也可以是组播地址或广播MAC地址。地址字段最高位为”0″表示单播MAC地址,仅指定网络上某个特定站点;地址字段最高位为”1″、其余位不为全”1″表示组播MAC地址,指定网络上给定的多个站点;地址字段为全”1″,则表示广播MAC地址,指定网络上所有的站点。

(4)长度/类型。”长度/类型”(Length/Type)字段是一个二选一字段,也就是对具体的以太帧来说,它的含义不一样,占两个字节。在Ethernet I和Ethernet II以太网帧中,该字段为”类型”(Type)字段,指出帧中”数据”字段中的数据类型,总大于1 536(对应的十六进制为x600);如果是IEEE 802.3(包括Ethernet 802.3 raw、Ethernet 802.3 SAP、802.3/802.2 LLC和802.3/802.2 SNAP)以太网帧,则该字段为”长度”(Length)字段,值总小于或等于1 500(对应的十六进制为x5DC)。在IEEE 802.3以太网帧中,”数据”字段的长度为38~1 500个字节。

上面的DA、SA和Length/Type这三个字段组成MAC帧头部。Pre和SFD这两个字段通常不认为是MAC帧头部的组成部分。

(5)Data。”数据”(Data)字段对于不同的以太网帧所包括的内容也不一样,对于Ethernet I、Ethernet II和Ethernet 802.3 raw以太网帧,它就是从网络层来的数据包;而对于Ethernet 802.3 SAP、802.3/802.2 LLC和802.3/802.2 SNAP以太网帧,则是LLC帧全部内容,包括LLC帧头和来自网络层的数据包。也正如此,”数据字段”长度范围也各不一样,具体如下。

Ethernet I、Ethernet II帧”数据字段”长度范围为46~1 500个字节。

Ethernet 802.3 raw帧”数据字段”长度范围为44~1 498个字节。

Ethernet 802.3 SAP和802.3/802.2 LLC帧”数据字段”长度范围为43~1 497个字节。

Ethernet 802.2 SNAP帧”数据字段”长度范围为38~1 492个字节。

整体而言,该字段长度范围为38~1 500个字节。但无论怎样,总的MAC帧长度最小为64个字节,最长为1 518个字节(不包括”前导”字段和”帧起始字段”),如果不够64个字节时,要在”数据”字段中加上PAD填充字段。

这里所说的38~1 500个字节长度是在没有经过IEEE 802.1q VLAN协议重封装时的长度范围,如果封装了VLAN协议,则因为VLAN标签占用了4个字节,所以就整个以太网帧来说,”数据”字段的取值范围就为34~1 500个字节。有关IEEE 802.1q VLAN协议将在本章后面具体介绍。

(6)Frame Check Sequence。”帧校验序列”(FCS)字段占4个字节,包括32位的循环冗余校验(CRC)值,由发送端对MAC帧自DA字段到Data字段间(不包括Pre和SFD这两个字段)的二进制序列生成校验和,然后通过接收端对所接收的帧的以上部分重新计算,看两次校验的结果是否一样即可以得出所检验的帧在传输过程中是否已被破坏。

6.1.3  VLAN标签(2)

2.802.1q帧格式

IEEE 802.1q是虚拟桥接局域网的正式标准,对传统的Ethernet帧格式进行了修改,在”源MAC地址”字段和”长度/类型”字段之间插入了一个4字节的”802.1q Tag”字段。而这个”802.1q Tag”字段又包括了TPID、PRI、CFI和VLAN ID四个子字段,如图6-5所示。

“802.1q Tag”字段所包括的4个子字段的说明如下。

(1)TPID:”Tag Protocol Identifier”(标签协议标识符)字段,占两个字节(16位),表明这是一个添加了IEEE 802.1q标签的帧(区别于未加VLAN标签的帧),值固定为0x8100(表示封装了IEEE 802.1q VLAN协议)。如果不支持802.1q的设备(如用户主机、打印机等终端设备就不支持)收到这样的帧,就会将其丢弃。

(2)PRI:Priority(优先级)字段,占3位,表示0~7八个优先级(值越大,优先级越高),主要用于当交换机阻塞时,优先发送哪个数据帧,也就是QoS(服务质量)的应用,是在802.1p规范中被详细定义的。

(3)CFI:”Canonical Format Idicator”(标准格式指示器)字段,占1位,用来兼容以太网和令牌环网。用来标识MAC地址在传输介质中是否以标准格式进行封装,取值为0表示MAC地址以标准格式封装,为1表示以非标准格式封装,缺省取值为0,在以太网中该值总为0,表示以标准格式封装MAC地址。

【经验之谈】在这里要介绍一个绝大多数图书和文章都没有介绍的问题,那就是什么是”标准格式MAC地址”,什么是”非标准格式MAC地址”。其实,以太网(IEEE 802.3)和令牌总线网(IEEE 802.4)在传输介质中发送MAC地址字节的顺序是从低到高(也就是我们平时写MAC地址格式中的从右到左顺序),而令牌环网(IEEE 802.5)和IEEE 802.6标准中MAC地址字节在传输介绍中的发送顺序则相反,是从高到低的顺序。MAC地址字节的发送顺序也对应MAC地址字节的封装顺序,把IEEE 802.3和IEEE 802.4标准中的MAC地址封装顺序称之为”标准格式”(canonical form),而把IEEE 802.5和IEEE 802.6标准中的MAC地址封装顺序称之为”非标准格式”(non-canonical form)。例如一个MAC地址为12-34-56-78-9A-BC,以标准格式发送时,则它的比特次序为01001000 00101100 01101010 00011110 01011001 00111101,但是以非标准格式发送时,它的比特次序是00010010 00110100 01010110 01111000 10011010 10111100(注意,比较每个字节可以发现,它与前面的标准格式是次序相反的)。

(4)VID:”VLAN Identified”(VLAN标识)字段,占12位,指明VLAN的ID,取值范围为0~4 095,共4 096个,但由于0和4 095为协议保留取值,所以VLAN ID的实际有效取值范围是1~4 094。每个进入支持802.1q协议的交换机发送出来的数据包都会包含这个域,以指明自己属于哪一个VLAN。

转载请注明:致远博客 » VLAN标签

喜欢 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址