电信运营网络上灵活QinQ的典型应用分析

时间:2022-08-08 11:01:31

电信运营网络上灵活QinQ的典型应用分析

基本的QinQ协议(802.1Q in 802.1Q),自从2002年12月通过了第一搞,中间经过了若干Draft修正,2006年5月发展成为正式的国际标准(Amendment to IEEE Std 802.1Q—2005),但是正因为其标准化的时间较短,不同的厂家对此技术有着不同的实现,名称亦不尽相同,Cisco称之为802.1Q Tunneling,HUAWEI称之为VLAN Tunneling,H3C称之为VLAN VPN,Extreme称之为Virtual MAN/vMANs等等,不过在框架上各个厂家大致相同。

目前在我国主流电信运营商网络上基本已经实现了全面的QinQ改造,但是针对特定的应用,基本QinQ(基于端口的QinQ)满足不了当前的业务需求,所以又发展出了灵活QinQ; 很多人对灵活QinQ的应用以及具体实现概念较为模糊,所以一旦出现灵活QinQ的业务故障便无从下手,本文以H3C设备S8500(软件版本HUAWEI VRP3.1)为例,系统地介绍灵活QinQ在城域网上的典型应用与具体实现。

1应用背景

1.1现象描述

QinQ业务简单的说就是在原有的802.1Q的报文基础上,再增加一层802.1Q标签头,从而实现私网VLAN透传公网达到二层VPN的应用效果。另一方面它还具有不同私网用户之间相同VLAN不透传,与公网有效分离,最大限度节省VLAN等特点。相对基于MPLS的二层VPN来讲,QinQ协议显得更为小巧简单,并且不需要信令协议的支持,可以通过纯静态配置实现。由于它的实现是基于802.1Q协议中的Trunk端口概念,要求隧道上的设备都必须支持802.1Q协议进行二层转发,所以QinQ协议只能适用于小型的,以三层交换机为骨干的企业网,或小规模的城域网。灵活QinQ的出现使得QinQ业务更加受到了关注和使用。

QinQ功能是指具备该功能的接口只能给它接收到的所有帧都加上相同VLAN ID的外层VLAN标签,即从该接口进入公网的所有帧都只能使用相同的公网VLAN ID。灵活QinQ功能对QinQ的功能进行了扩展,使得接口可以灵活地根据帧的私网VLAN ID给它加上不同公网VLAN ID的外层VLAN标签。

图1为目前最常用的灵活QinQ组网图,比较常见的电信宽带用户群一种是通过园区接入交换机接入的用户,另外一种就是大家比较熟悉的通过DSLAM接入的ADSL用户。

下面介绍一下这种组网的特点:

1、园区接入的用户VLAN101—200是属于普通用户接入,S8500给它分配使用的外层公网VLAN标签是1001。VLAN201—300的用户为园区接入的VIP用户,S8500给它分配的外层公网VLAN标签是1002。这些用户对网络的性能要求高,因此需要通过QOS保证VIP用户的带宽。

2、DSLAM接入的ADSL用户也是VLAN 101—300,他们通过PPPOE拨号获取IP从而访问internet。S8500给它分配的外层公网VLAN标签是1003。

3、VLAN 301是专门用于组播的VLAN, DSLAM和园区接入交换机的IPTV用户都是通过VLAN 301来收看组播节目的。IPTV客户端首先在DHCP服务器上获取到IP,然后通过在S8500上进行IGMP组加入来收看组播节目。

4、对于上网用户来说,S8500只是将在上网用户的报文上又增加了一层公网的标签而送交BAS处理,用户在BAS上实现认证鉴权和二层的终结。

2 配置与分析

2.1 配置举例

以宽带小区接入为例:

1、 先配置一个ACL 规则:(下转78页)

(上接75页)[S8505]display acl 4001

Link ACL 4001, 2 rules,

rule 0 permit ingress 101 to 200 egress any

rule 1 permit ingress 201 to 300 egress any

2、 在下行端口上:(接园区接入交换机)

interface GigabitEthernet2/1/1

port link—type hybrid

port hybrid VLAN 101 to 301 tagged

port hybrid VLAN 1 1001 to 1002 untagged

traffic—redirect inbound link—group 4001 rule 0 system—index 1 nested—VLAN 1001

traffic—redirect inbound link—group 4001 rule 1 system—index 2 nested—VLAN 1002

#使私网VLAN 101到200的用户的数据报文封装上外层公网VLAN1001标签

#使私网VLAN 201到300的用户的数据报文封装上外层公网VLAN1002标签

#在这个端口上配置VLAN1001和1002为untagged,目的是使下行流量在出此端口时去掉外层公网VLAN标签,从而使报文只带有私网VLAN标签。

3、 在公网侧做如下配置:(连接BAS的端口)

[S8505]display current—configuration interface GigabitEthernet2/1/7

description toBAS

port link—type trunk

port trunk permit VLAN 1001 1002

#使得向公网发送的报文携带有公网标签VLAN 1001 和VLAN 1002

此组网中是通过ACL方式来实现灵活QinQ功能,和普通QinQ不同的是使能灵活QinQ的端口上必须也要允许所有的私网用户VLAN通过。这就表明公网上不能再使用该段VLAN来进行接入了,否则会导致公私网业务相通的后果。

在此组网中,业务报文通过广播方式上送到BAS设备。这就要求不同的DSLAM或不同的园区交换机要使用不同的公网VLAN,否则会导致流量会广播至其他DSLAM或园区交换机上。

2.2 灵活QinQ中MAC地址的学习及报文转发机制

S8500的灵活QinQ是通过在VLAN内泛洪实现转发的,具体过程如下:

关于用户MAC的学习,当用户的内层VLAN存在于交换机上,并且下行口允许这些VLAN TAG通过,则将用户MAC学习到内层VLAN;否则不学习MAC。

对于下行口接收到的报文,首先会在内层VLAN 查找目标MAC,如果找到就加外层标签转发到目标端口,目标端口如果允许外层VLAN通过,就直接转发,否则丢弃;如果找不到目标MAC,就按照未知单播报文进行泛洪,但此时是在外层VLAN内泛洪,上行口允许此VLAN通过就从上行口转发出去了。

关于BAS的MAC地址,S8500接收到的是带有双层VLAN标签的报文,BAS的MAC会学习到外层VLAN的MAC地址表中。

从BAS回来的报文,S8500在外层标签的VLAN内找不到目标MAC(1、交换机学习到内层VLAN了2、或者没有学习到MAC),就进行泛洪操作转发到下行口,下行口去掉外层标签后转发回用户。

2.3 总结

灵活QinQ功能可以使电信运营商的网络构架更为灵活,在网络中广泛使用。其中S8500上的配置和MAC地址的学习过程对灵活QinQ的理解有很大帮助。

上一篇:我国医疗卫生体制存在的问题及对策 下一篇:狙猎秃鹰:特大网络贩枪案始末