详解二次封装VLAN技术——QINQ


QinQ是对802.1Q的扩展,其核心思想是将用户私网VLAN tag封装到公网VLANtag上,报文带着两层tag穿越服务商的骨干网络,从而为用户提供一种较为简单的二层×××隧道。其特点是简单而易于管理,不需要信令的支持,仅仅通过静态配置即可实现,特别适用于小型的,以三层交换机为骨干的企业网或小规模城域网。图1为基于传统的802.1Q协议的网络,假设某用户的网络1和网络2位于两个不同地点,并分别通过服务提供商的PE1PE2接入骨干网,如果用户需要将网络1VLAN200-300和网2VLAN200-300互联起来,那么必须将CE1PE1PPE2CE2的相连端口都配置为Trunk属性,并允许通过VLAN200-300,这种配置方法必使用户的VLAN在骨干网络上可见,不仅耗费服务提供商宝贵的VLAN ID资源(一共只有4094VLAN ID资源),而且还需要服务提供商管理用户的VLAN号,用户没有自己规划VLAN的权利。

为了解决上述问题,QinQ协议向用户提供一个唯一的公网VLAN ID,这个特殊的VLANID被称Customer-ID,将用户私网VLAN tag封装在这个新的Customer-ID中,依靠它在公网中传播,用户私网VLANID在公网中被屏蔽,从而大大地节省了服务提供商紧缺的VLAN ID资源,如图2所示。

QinQ模式下,PE上用于用户接入的端口被称作用户端口。在用户端口上使能QinQ功能,并为每个用户分配一个Customer-ID,此处为3,不同的PE上应该为同一网络用户分配相同Customer-ID.当报文从CE1到达PE1时,带有用户内部网络的VLANtag 200-300,由于使能QinQ功能,PE上的用户端口将再次为报文加上另外一层VLAN tag,其ID就是分配给该用户Customer-ID.此后该报文在服务提供商网络中传播时仅在VLAN 3中进行且全程带有两VLAN tag(内层为进入PE1时的tag,外层为Customer-ID),但用户网络的VLAN信息对运营商网络来说是透明的。当报文到达PE2,从PE2 上的客户端口转发给CE2之前,外层VLANtag被剥去,CE2收到的报文内容与CE1发送的报文完全相同。PE1PE2之间的运营商网络对于用户来说,其作用就是提供了一条可靠的二层链路。

可见,使用QinQ组建×××具有如下特点:


无需信令来维持隧道的建立,通过简单的静态配置即可实现,免去了繁杂的配置,维护工

作。

运营商只需为每个用户分配一个Customer-ID,提升了可以同时支持的用户数目;而用户也具有选择和管理VLAN ID资源的最大自由度(从1-4096中任意选择)。

在运营商网络的内部,P设备无需支持QinQ功能,即传统的三层交换机完全可以满足需求,极大地保护了运营商的投资。

户网络具有较高的独立性,在服务提供商升级网络时,用户网络不必更改原有的配置


因此,无论是对于运营商还是用户来说,采用QinQ方式组建×××都是一种低成本,简便易行,易于管理的理想方式。


QinQ典型组网


下面通过一个典型的组网方案来说明QinQ的应用。

如图3所示,该网有两个用户,用户1需要将自己在A点的VLAN 1-100D点的VLAN 1-100接起来,用户2需要将自己在B点的VLAN 1-200C点的VLAN 1-200连接起来,传统802.1Q组网是不可能实现这一需求的,因为两个用户所使用的VLAN ID号有冲突,但是利QinQ却可轻易地实现这一需求

在图3中,中间的网络为服务提供商的网络,它由四台S3552实现×××用户的接入(网络中可能还有其它交换机,此处为简单起见,略去),相互之间通过环状千兆链路连接实现链路备份,使能STP协议。这四台设备之间通过Trunk端口连接,可透传任意VLAN报文,为了达到自VLAN学习的目的,还可启动GVRP协议。需要注意的是,所有这些二层协议只能在网络侧的端口使能,而不能在用户接入端口上使能,避免用户私有网络受到服务提供商网络的干扰。用户1使用Customer-ID 30QinQ端口进行接入,用户2使用Customer-ID 40QinQ端口进行接入,保证它们在公网上通过Trunk端口进行传输,互不影响。用户可在私网内部运行STP协议,实现链路备份。例如,用户1A点使用了两条链路连S3552STP可自动地将一条链路断开,避免形成环路。注意,此时S3552的两个QinQ接入端口均不能使能STP协议,这是因为它们属于用户私网拓扑,与公网无关。QinQ对其它特性的影响由于在用户接入端口使能了QinQ,导致×××用户的报文在网络上传播时带有两层VLANtag此时三层交换机的三层交换功能对于这种特殊的报文失效,因为交换机无法正确地获取报文内携带的IP地址等信息。但我们不必为此担心,因为×××报文只在Customer-ID对应的VLAN内作二层转发,根本无需使用三层信息进行转发。而对于运营商网络内的其它普通报文,由于属于不同的VLAN,三层转发不会受到影响。在使能QinQ的用户接入端口,仍然可以使用acl规则对报文进行流分类,流限速,重定向qos/acl*作,这无疑有利于运营商面向不同用户提供不同层次的差别服务。对于用户来说,选择适合自己需求的服务能够节省开支;而运营商也可以借此吸引更广泛的用户对象。