华为S3900灵活QinQ实现机制及配置指导书客户版.docx
《华为S3900灵活QinQ实现机制及配置指导书客户版.docx》由会员分享,可在线阅读,更多相关《华为S3900灵活QinQ实现机制及配置指导书客户版.docx(17页珍藏版)》请在冰豆网上搜索。
华为S3900灵活QinQ实现机制及配置指导书客户版
1.S3900的灵活QinQ实现原理
S3900的灵活QinQ报文转发流程如下:
首先报文从下行口(开启灵活QINQ功能)进入,交换机不管报文是否带TAG,都会打上值为PVID的外层Tag,并PVID所在的VLAN中进行转发,找到出端口;然后通过内部ACL根据内层VLAN(c-tag-vlan)值修改外层VLANID为配置的值(此处就是灵活QINQ的配置VLANID值)。
需要特殊说明的是:
一、S3900的灵活QinQ下,为了支持上行口出去带外层Tag,要求下行端口PVID对应的VLAN在上行口出去一定要带Tag,想要不带Tag则通过重定向去掉Tag的方式处理;
二、下行口上来的报文首先带PVID对应的外层VLAN,学习到的MAC地址也是在PVID对应的VLAN中,所以需要配置MAC地址映射,以避免上游下来的下行数据在S3900上广播。
2.S3900的灵活QinQ配置指导
组网:
说明:
S3900的e1/0/1为下行用户端口,g1/1/1,g1/1/2为上行端口,g1/1/1,g1/1/2为一个汇聚组。
Vlan18为网管VLAN,vlan1538为PPPOE用户的外层VLAN,vlan11为专线vlan,vlan200为除PPPOE业务外需要透传双层标签的业务VLAN;S3900上网管vlan接口的虚MAC地址为00e0-fc12-3457
要求:
S8500,S3900,DSLAM/lanswitch的管理VLAN相同,管理地址在同一网段。
要求管理地址之间可以互通,并且网管VLAN,专线,及VPN用户数据报文要求在S3900上单层VLAN透传。
配置步骤:
步骤1:
配置普通QinQ上行通路
在e1/0/1上配置PVID(举例1538)和端口类型和使能普通QinQ;同时在上行口上把VLAN1538设置成带Tag上行,由于两个上行口配置相同,以下步骤都只列出一个上行口G1/1/1。
vlan1538
#
interfaceEthernet1/0/1
undontdpenable
stpdisable
portlink-typehybrid
porthybridvlan1538untagged
undoporthybridvlan1
porthybridpvidvlan1538
vlan-vpnenable
#
interfaceGigabitEthernet1/1/1
undontdpenable
stpdisable
portlink-typehybrid
porthybridvlan1538tagged
undoporthybridvlan1
配置之后,上行数据从下行口上来时,无论报文带什么Tag,都会打上1538外层Tag,然后在VLAN1538内转发,MAC地址学习在VLAN1538中,如果确定需要从G1/1/1出去,则带双层Tag。
(浙江电信组网中,大部分DSLAM用户可以通过普通QinQ上,只要做到各DSLAM数据上行时,对应S3900上的PVID不一致就可以了)
步骤2:
配置灵活QinQ上行通路
部分VLAN需要转变外层VLAN,即灵活QinQ的功能,如内层VLAN1到10需要带上外层200的tag(不再是1538),如后续的IPTV用户。
需要在e1/0/1上进行相关配置。
同时VLAN200要在上行口G1/1/1上允许通过,并是带Tag出去
vlan200
#
vlan1538
#
interfaceEthernet1/0/1
undontdpenable
stpdisable
portlink-typehybrid
porthybridvlan2001538untagged
undoporthybridvlan1
porthybridpvidvlan1538
vlan-vpnenable
vlan-vpnvid200
raw-vlan-idinbound1to10
#
interfaceGigabitEthernet1/1/1
undontdpenable
stpdisable
portlink-typehybrid
porthybridvlan2001538tagged
undoporthybridvlan1
配置之后,上行数据从下行口上来时,如果带VLAN1至VLAN10的Tag,会先带上1538外层Tag,然后在VLAN1538内转发,MAC地址学习在VLAN1538中,然后把外层VLANID从1538改成200,如果确定需要从G1/1/1出去,则带双层Tag。
步骤3:
配置灵活QinQ上下行通路时的Mac地址映射
步骤2配置完了,内层VLAN为1~10的报文源mac地址学习在1538VLAN中,而从上行口输入的下行数据,外层VLAN为200,内层为1~10,会在VLAN200内转发。
这样由于VLAN不对称,就会出现目的mac查找不到,而在VLAN200内广播。
所以需要在下行口配置macmapping,把VLAN1538中的MAC地址映射到VLAN200中一份。
这样下行数据就能查到对应VLAN200的mac地址,从而走单播。
那么随着下行数据流(外层VLAN为200的)在S3900完成mac地址学习之后,是否以后的上行数据就不是广播,而是单播了呢?
其实不是的。
因为下行数据流的源MAC地址学习到VLAN200上,需要把VLAN200的mac地址映射到VLAN1538上,这样后期下行口上来的上行数据就能在VLAN1538中查到MAC地址从而实现已知单播转发。
interfaceEthernet1/0/1
undontdpenable
stpdisable
portlink-typehybrid
porthybridvlan2001538untagged
undoporthybridvlan1
porthybridpvidvlan1538
vlan-vpnenable
mac-address-mapping0source-vlan1538destination-vlan200
vlan-vpnvid200
raw-vlan-idinbound1to10
interfaceGigabitEthernet1/1/1
undontdpenable
stpdisable
portlink-typehybrid
porthybridvlan2001538tagged
undoporthybridvlan1
mac-address-mapping0source-vlan200destination-vlan1538
步骤4:
配置灵活QinQ上行通路时的专线VLAN用户
如果VLAN11为专线用户,此VLAN报文要求从G1/1/1上行口出去时只能带一层Tag,即还是VLAN11,而不是双tag。
这就需要用到ACL重定向来完成,把e1/0/1端口、内层VLAN为11的上行报文重定向到G1/1/1,并剥掉一层Tag。
同时配置上行口G1/1/1允许通过VLAN11。
aclnumber4999
rule0permitc-tag-vlan11
#
vlan11
#
vlan200
#
vlan1538
#
interfaceEthernet1/0/1
undontdpenable
stpdisable
portlink-typehybrid
porthybridvlan2001538untagged
porthybridvlan11tagged
undoporthybridvlan1
porthybridpvidvlan1538
vlan-vpnenable
mac-address-mapping0source-vlan1538destination-vlan200
traffic-redirectinboundlink-group4999rule0interfaceGigabitEthernet1/1/1untagged
vlan-vpnvid200
raw-vlan-idinbound1to10
#
interfaceGigabitEthernet1/1/1
undontdpenable
stpdisable
portlink-typehybrid
porthybridvlan112001538tagged
undoporthybridvlan1
mac-address-mapping0source-vlan200destination-vlan1538
这样配置之后,VLAN11的报文从G1/1/1端口出去时,只会带一层VLANTag。
对于VPN用户也可以同样处理。
如果是需要把组播业务放到S3900上层去复制,也可以用这种方式把组播VLAN的数据带一层Tag上行。
以上的步骤,把数据上行的过程介绍了一下。
反过来,到达上行口的下行数据通路如何处理呢?
从组网要求看都是带一层或者二层tag,所以上行口处理上比较简单,重点关注相关VLAN要允许通过。
上行口的PVID根据情况进行选取,一般建议设置成一个没有业务使用的VLAN。
重点需要关注下行口的tag属性配置和MAC地址映射设置。
步骤5:
配置普通QinQ下行通路
对照步骤1,普通QinQ方式下比较简单。
下行数据肯定是双层Tag,外层都是VLAN1538。
下行到DSLAM时需要把外层Tag给剥掉。
所以配置要求VLAN1538在下行口untag。
举例如下,基于前面的配置,下行口不需要做修改,因为前面已经配置过了。
interfaceEthernet1/0/1
undontdpenable
stpdisable
portlink-typehybrid
porthybridvlan2001538untagged
porthybridvlan11tagged
undoporthybridvlan1
porthybridpvidvlan1538
vlan-vpnenable
mac-address-mapping0source-vlan1538destination-vlan200
traffic-redirectinboundlink-group4999rule0interfaceGigabitEthernet1/1/1untagged
vlan-vpnvid200
raw-vlan-idinbound1to10
浙江电信组网中,大部分DSLAM用于工作于这种配置,数据流下行根据VLAN1538和MAC地址查找到出端口,然后剥掉外层Tag之后从e1/0/1出去。
步骤6:
配置灵活QinQ下行通路
对照步骤2,此时存在这样的下行数据流,外层Tag为VLAN200,内层VLAN为1~10。
数据到S3900的上行口G1/1/1,mac地址学习到VLAN200,并在VLAN200中查找目的MAC地址。
由于在步骤3中配置了下行口上的MAC映射,所以他们应该能查到单播MAC地址,从而从e1/0/1转发出去。
这里也需要剥掉一层Tag出去,因此,需要在下行口e1/0/1上配置允许VLAN200通过,且untag。
interfaceEthernet1/0/1
undontdpenable
stpdisable
portlink-typehybrid
porthybridvlan2001538untagged
porthybridvlan11tagged
undoporthybridvlan1
porthybridpvidvlan1538
vlan-vpnenable
mac-address-mapping0source-vlan1538destination-vlan200
traffic-redirectinboundlink-group4999rule0interfaceGigabitEthernet1/1/1untagged
vlan-vpnvid200
raw-vlan-idinbound1to10
步骤7:
配置灵活QinQ下行通路时的专线VLAN用户
下行数据剥tag都是用下行口上的Tag属性来控制的,不需要用ACL重定向。
那么对于VLAN11的用户数据,从上行口下来的报文只有一层Tag,从下行口输出是也需要带一层Tag,那么就需要e1/0/1端口上做配置进行处理。
但是mac地址同步骤3中所述,下行数据在VLAN11中找不到对应的MAC地址,因为MAC地址学习到VLAN1538上,所以也需要把VLAN1538映射到VLAN11一份。
interfaceEthernet1/0/1
undontdpenable
stpdisable
portlink-typehybrid
porthybridvlan2001538untagged
porthybridvlan11tagged
undoporthybridvlan1
porthybridpvidvlan1538
vlan-vpnenable
mac-address-mapping0source-vlan1538destination-vlan200
mac-address-mapping1source-vlan1538destination-vlan11
traffic-redirectinboundlink-group4999rule0interfaceGigabitEthernet1/1/1untagged
vlan-vpnvid200
raw-vlan-idinbound1to10
步骤8:
配置灵活QinQ管理VLAN用户
首先,S3900可以把下行端口上来的管理VLAN上行数据通过只带一层Tag的方式,送到上行设备,做到上行设备跟下面DSLAM管理VLAN的互通;同样,也可以让S3900CPU发送管理VLAN的报文时带一层tag到上行设备,实现与上行设备的互通。
具体方式同前面的专线用户,区别点为VLAN18从上行口出去要带Tag,这是为了确保S3900CPU发出的报文能带上VLAN18的tag。
其次,S3900与下挂DSLAM设备的通信,由于所有设备管理VLAN在一个VLAN内,在前面的配置基础上,从下行口上来的管理VLAN的报文被重定向到上行口了,导致不通。
所以S3900与下挂DSLAM设备的通信的规避处理是,还需要增加一个ACL,把对应本交换虚接口MAC地址的报文,重定向上CPU。
(举例中的虚接口mac地址为00e0-fc12-3457)。
ARP报文不需要特殊处理,因为ARP请求报文会广播上CPU,而目的是S3900的ARP响应报文目的MAC也是虚接口MAC地址。
aclnumber4995
rule0permitdest00e0-fc12-3457ffff-ffff-ffffc-tag-vlan18
aclnumber4996
rule0permitc-tag-vlan18
aclnumber4999
rule0permitc-tag-vlan11
#
vlan1
#
vlan11
#
vlan18
#
vlan200
#
vlan1538
#
interfaceVlan-interface18
ipaddress1.1.1.2255.255.255.0
#
interfaceEthernet1/0/1
undontdpenable
stpdisable
portlink-typehybrid
porthybridvlan2001538untagged
porthybridvlan1118tagged
undoporthybridvlan1
porthybridpvidvlan1538
vlan-vpnenable
mac-address-mapping0source-vlan1538destination-vlan200
mac-address-mapping1source-vlan1538destination-vlan11
traffic-redirectinboundlink-group4999rule0interfaceGigabitEthernet1/1/1untagged
traffic-redirectinboundlink-group4996rule0interfaceGigabitEthernet1/1/1untagged
traffic-redirectinboundlink-group4995rule0cpu;上面两条有顺序要求
vlan-vpnvid200
raw-vlan-idinbound1to10
#
interfaceGigabitEthernet1/1/1
undontdpenable
stpdisable
portlink-typehybrid
porthybridvlan11182001538tagged-------------VLAN18需要带Tag
undoporthybridvlan1
mac-address-mapping0source-vlan200destination-vlan1538
前面8个步骤举例都是针对上行口为单端口的,如果上行口是聚合组,有哪些需要变化呢。
假设上行链路为G1/1/1和G1/1/2构成的聚合组。
首先,需要配置聚合组,建议手动聚合;
其次,G1/1/2上必须有与G1/1/1完全相同的配置;(请在G1/1/2端口在down的状态进行配置,配置完成后,再UP起来,进行聚合);
最后,下行口上的重定向动作,需要改成重定向到聚合组。
关键配置脚本:
DSLAM(S3900模拟)关键配置:
vlan18-------------------------------------------网管VLAN
#
interfaceVlan-interface18
ipaddress1.1.1.4255.255.255.0
#
interfaceEthernet1/0/2------------------------DSLAM的上行端口
portlink-typehybrid
porthybridvlan18tagged
porthybridvlan1untagged
#
8500关键配置:
vlan18----------------------------------------网管VLAN
#
interfaceVlan-interface18
ipaddress1.1.1.10255.255.255.0
#
interfaceGigabitEthernet1/0/24-----------S8500的下行端口,与S3900只接了一个端口
portlink-typehybrid
porthybridvlan18tagged
porthybridvlan1untagged
#
S3900关键配置:
link-aggregationgroup1modemanual
aclnumber4995-------------匹配目的为本设备的网管VLAN接口MAC的数据流。
rule0permitdest00e0-fc12-3457ffff-ffff-ffffc-tag-vlan18
aclnumber4996---------------匹配内层VLAN为网管VLAN的数据流。
rule0permitc-tag-vlan18
aclnumber4999---------------匹配内层VLAN为专线vlan的数据流。
rule0permitc-tag-vlan11
#
vlan1
#
vlan11
#
vlan18
#
vlan200
#
vlan1538
#
interfaceVlan-interface18
ipaddress1.1.1.2255.255.255.0
#
interfaceEthernet1/0/1
undontdpenable
stpdisable
portlink-typehybrid
porthybridvlan2001538untagged
porthybridvlan1118tagged
undoporthybridvlan1
porthybridpvidvlan1538
vlan-vpnenable
mac-address-mapping0source-vlan1538destination-vlan200
mac-address-mapping1source-vlan1538destination-vlan11
traffic-redirectinboundlink-group4999rule0link-aggregation-group1untagged
traffic-redirectinboundlink-group4996rule0link-aggregation-group1untagged
traffic-redirectinboundlink-group4995rule0cpu-------------上面两条有顺序要求
vlan-vpnvid200
raw-vlan-idinbound1to10
#
interfaceGigabitEthernet1/1/1
undontdpenable
stpdisable
portlink-typehybrid
porthybridvlan11182001538tagged-------------VLAN18需要带Tag
undoporthybridvlan1