IEEE 802.1Q
此条目需要精通或熟悉相关主题的编者参与及协助编辑。 |
IEEE 802.1Q以及VLAN Tagging属于互联网下IEEE 802.1的标准规范,允许多个网桥在资讯不被外泄的情况下公开的共享同一个实体网络。IEEE 802.1Q -英文缩写写为dot1q,经常在实现以太网封装协议的架构下被提及。
IEEE 802.1Q定义一个关于VLAN连接介质访问控制层和IEEE 802.1D生成树协议的具体概念模型。这个模型允许各个独立的VLAN以交换机的数据链路层或路由器互相连接。
用途
[编辑]以VLAN的架构而言,可以想像一个公司的IT部门希望能够只使用一个实体企业网络端以提供个别独立的逻辑网络端,其他每个部门能够分配到一个独特的VLAN网络。企业网络中的边缘交换机用来替所有从装置仪器中送抵各个部门的数据帧(Data frames)插入适合的VLAN标记。当帧(frames)在网络中被交换时,VLAN标签会在被送回部门底下的装置时被移除。用这种方法资讯在被传到其它部门时就不会外泄或被嗅探。
数据包格式
[编辑]802.1Q 并非实际封入原始帧中。相反,在以太网帧格式里,在MAC地址源与以太网类型/长度的原始帧里添加一个32位的域(field)。VLAN标签领域必须遵守下列格式:
16 bits | 3 bits | 1 bit | 12 bits |
---|---|---|---|
TPID | PCP | CFI | VID |
- 标签协议识别符(Tag Protocol Identifier,TPID):一组16位的域其数值被设置在0x8100,以用来辨别某个IEEE 802.1Q的帧成为“已被标注的”,而这个域所被标定位置与乙太形式/长度与未标签帧的域相同,这是为了用来区别未标签的帧。
- 优先权代码点(Priority Code Point,PCP):以一组3位元的域当作IEEE 802.1p优先权的参考,从0(最低)到7(最高),用来对资料流(音频、影像、文件等)作传输的优先级。
- 标准格式指示(Canonical Format Indicator,CFI):1位元的域。若是这个域的值为1,则MAC地址则为非标准格式;若为0,则为标准格式;在以太网交换器中他通常默认为0。在以太网和令牌环中,CFI用来做为两者的兼容。若帧在乙太端中接收资料则CFI的值须设为1,且这个端口不能与未标签的其他端口桥接。
- 虚拟局域网识别符(VLAN Identifier,VID):12位的域,用来具体指出帧是属于哪个特定VLAN。值为0时,表示帧不属于任何一个VLAN;此时,802.1Q标签代表优先权。12位的值0x000和0xFFF为保留值,其他的值都可用来做为共4094个VLAN的识别符。在桥接器上,VLAN1在管理上做为保留值。这个12位的域可分为两个6位元的域以延伸目的(Destination)与源(Source)之48位地址,18位的三重标记(Triple-Tagging)可和原本的48位相加成为66位元的地址。
使用IEEE 802.2/SNAP涵盖了一组值为00-00-00的OUI域(所以SNAP信头的协议ID域属于以太网形式)。在以太网以外的情况下,SNAP信头的以太网形式数值被设为0x8100且前述的额外4个位元会被附加在SNAP开头之后。
因为插入VLAN标签会改变帧,在乙太外挂里802.1Q概括(encapsulation)会强迫检验原始的帧检查序列(Frame Check Sequence,FCS)域。这同时也会增加帧4位组的上限容量。
双重标记(IEEE 802.1ad)对于互联网提供者(ISP)是非常有用的。他允许当已被VLAN标签的混合资料从客户端提交时ISP仍能在内部使用VLAN。外部(outer, next to Source MAC and represening ISP VLAN)标签会先于内部(inner)标签。此时,一个可变的TPID在16进制值可能为9100、9200或是9300,通常作为外部标签;然而在值为88a8时会违反802.1ad而无法作为外部标签。
三重标记 也同样可行。12位的VID延伸出48位的目的与源地址成66位元。中间3位元的PCP域可作为虚拟TTL或Hop-Count以确保数据包不会成为无限循环;更复杂的形式则是使其中一位元超载成为ingress-egress的编码形式。PCP域的末三码用来替文件内容分层,从000 NR至111 XXX。在Payload段落找到的CFI3位元被组合并编码成Next Header(或是协议),仅有其中两码会被使用而产生4个协议,[NOP、ICMP、UDP、ENCAP]。NOP,No Protocol:用作IP byte/管流(pipe streams)中微小的Payload段落。ICMP供做控制用途。UDP增加端口数量,是一个从IP提交的半冗沉(semi-redundant)即可选择的校验和。ENCAP协议或是Payload形是允许前述所有的协议,不需序文就可以封中;其中内容必须包含CRC\FCS标签。TTL和长度被置于48位的地址域前让硬件优先读取以减少延迟。
中继端口及原生VLAN
[编辑]1998 802.1Q标准定义封装协议的第9项,借由加入VLAN标签可使复数VLAN透过一个链接多路复用,然而他却能够发送所有帧不论是否已被标记。因此,为了能够识别所发送的帧是否需要标签,有些厂商(尤其是思科系统)经常将中继端口以及原生VLAN的想法应用在中继器上。
中继端口的想法基于设计一个中继端口,他能够接收并转送帧。若中继端口接收到未标签的帧,此帧就会链接这个端口与原生VLAN。
假设有个802.1Q的端口有VLAN2、3、4,且VLAN2被当作原生VLAN,则在VLAN2中的帧会在不带有802.1Q信头的情况下离开前述的端口(它们属于普通的以太网);在此帧未带802.1Q信头时进入端口会被放入VLAN2里。与VLAN3和VLAN4的资讯流行为是可预测的,也就是说送抵VLAN3和4的帧是带有标记以识别他们,而离开VLAN3和4的帧也会携带各自的VLAN标签。
然而并不是所有的厂商都会使用这样的概念。
多重VLAN注册协议
[编辑]另外,IEEE 802.1Q定义了多重VLAN注册协议(Mutiple VLAN Registration Protocol,MVRP),它可应用于桥接器在具体网络上与VLAN的沟通。
在2007年,MVRP和IEEE 802.1ak-2007修正案取代了速度较慢的GARP VALN注册协议(GVRP)。
多重生成树协议
[编辑]2003年时推行了多重生成树协议(Mutiple Spanning Tree Protocol,MSTP)并定义了原始的IEEE 802.1s
参见
[编辑]- Shortest Path Bridging(SPB),IEEE 802.1aq
- VLAN Trunking Protocol(VTP),思科专有的VLAN管理协议
- Cisco Inter-Switch Link(ISL),思科专有的一种旧的VLAN聚合协议an older VLAN trunking protocol that is proprietary to Cisco
- Dynamic Trunking Protocol,思科另一种专有协议
参考资料
[编辑]- IEEE Std. 802.1Q-2005, Virtual Bridged Local Area Networks (PDF). [2010-06-25]. ISBN 0-7381-3662-X. (原始内容存档 (PDF)于2010-07-06).
- ISL & 802.1q Frame Formats(页面存档备份,存于互联网档案馆)