名词解释:
1、极简QinQ隔离方案:
当前极简推荐的2中方案中的一种,部署方式为接入设备每个接口部署一个内层vlan,汇聚设备每个接口部署一个外层vlan。
2、特殊业务vlan:
该类vlan指门禁、一卡通、视频监控、机房业务等等非用户上网业务。
3、内层tag和外层tag:
指报文的vlan标签,qinq报文一般会加载两层vlan标签,即内层tag+外层tag
4、DB类线卡仅支持61个内层tag资源
由于线卡芯片限制,仅支持适配61个内层tag*4094个外层tag的组合,若内层tag数量超出61,则报文无法处理会被丢弃。N18K整机只要有一张卡是DB类线卡,则整机所有线卡的QinQ内层tag资源都下降到61个。
1、极简QinQ隔离方案,原部署方式如下(已废弃)
原特殊业务的部署方式为将该类vlan通过打外层tag打1,达到单tag上传N18K的效果(流程见上图)。单层Tag上传到N18K的目的是为了减少QinQ内层tag的使用数量,若为双层tag上传到N18K,则需要占用N18K内层tag的使用数量。(DB类线卡仅支持61个内层vid的适配,用户vlan至少占用48个,若特殊业务vlan也都使用双层tag,则DB类线卡无法支持)
2、原特殊业务vlan部署方式存在的问题
A)正常上网业务QinQ流:
外层vlan在上行和下行流是一致的。汇聚设备学习到的MAC地址表是MAC-A+VLAN
100,此时vlan100的下行流量在汇聚设备上能够根据MAC地址表进行单播转发。
B)特殊vlan泛洪流:
特殊业务vlan外层打tag1的方式,会导致汇聚设备 上学到的MAC地址是MAC-B+VLAN1,由于在汇聚设备上行口会把vlan1剥除,到达N18K的数据流则是vlan 1010。这个时候N18K下行的流量也是vlan
1010,在汇聚设备上和MAC地址表不符合,则会导致流量变为泛洪转发。
C)环路问题:
由于环路产生,汇聚设备会在错误的端口上学习到核心设备的MAC地址:MAC-核心+vlan1+port
2(port2这边代表错误的端口,正确的端口是port1上联口)。同时由于泛洪的问题,即使RLDP防环生效环路被避免了,N18K下行的流量是vlan
1010也无法触发汇聚设备的MAC表端口学习正确,需要等待 MAC-核心+vlan1+port2的表项老化后,网络才能恢复正常。否则汇聚到网关的流量会被错误的指引到port2上。
3、 QinQ隔离方案还存在另一个问题,接入设备开启RLDP,在部分场景防环不生效。
环路1:
上图最左边场景,两个接入设备trunk口互联,native
vlan都为1;
环路2:
上图中间场景,接入设备两个不同vlan的access的下联口接入同一个hub;
环路3:
上图右边场景,接入设备两个不同vlan的access口互联。
RLDP当前实现存在的问题:
同一个端口下如果有环路,是都可以检测到的,不同端口和不同vLan之间的环路检测不到。由于QinQ隔离方案中每个接入设备的接口都属于不同vlan,RLDP无法检测
4、针对问题2和3的解决方案
A)存量的极简QinQ隔离方案的项目,需要做以下规避操作:
l 关注汇聚设备下联接口带宽使用率,如果存在因泛洪数据过多导致的接口使用率过高的情况。需要将占用流量较高的特殊业务vlan,改为双tag上传到N18K(外层tag不打1)。【避免问题2的泛洪问题】
l 在现网所有配置灵活QINQ的汇聚设备上,都写上静态MAC地址:MAC核心+vlan 1+汇聚的上行port,避免环路时学习到错误的MAC地址。如:mac-address-table
static 00d0.f822.33ab vlan
1 interface aggregateport 100 //绑定核心设备MAC+vlan1+汇聚上联接口。【避免问题2的mac地址迁移无法恢复问题】
l 接入设备上需要配置STP辅助RLDP防环。全局开启RSTP,接入设备上联接口开启BPDU fillter,下联接口开启BPDU GUARD。如:
int ran gi 0/1-48
spanning-tree portfast
interface AggregatePort 1
spanning-tree bpdufilter enable
spanning-tree portfast bpduguard default
spanning-tree mode rstp
spanning-tree
B)新增的极简QinQ隔离方案的项目,部署方式如下:
l QinQ隔离方案特殊业务vlan,后续不再采用外层tag打1的方式部署,所有业务都是打双tag的方式上传到N18K。
l DB卡不在支持QinQ隔离方案,仅支持ED类线卡。
l 接入设备上需要配置STP辅助RLDP防环。全局开启RSTP,接入设备上联接口开启BPDU fillter,下联接口开启BPDU GUARD。如:
int ran gi 0/1-48
spanning-tree portfast
interface AggregatePort 1
spanning-tree bpdufilter enable
spanning-tree portfast bpduguard default
spanning-tree mode rstp
spanning-tree
配置案例:
汇聚配置参考:
S5750-student(config)#int aggregatePort 100
//配置汇聚上联口为trunk口透传
S5750-student(config-if-AggregatePort 100)#switchport mode trunk //承载单tag管理vlan,双tag业务vlan(含特殊业务)
S5750-student(config-if-AggregatePort 100)#mtu 1530
//必配,QINQ隧道增加报头,需要修改接口MTU大小
S5750-student(config)#int range gi0/1
//配置汇聚下联口为qinq口
S5750-student(config-if)#switchport mode dot1q-tunnel
S5750-student(config-if)#switchport dot1q-tunnel allowed vlan add
untagged 1001-1050,102-103,900 //普通用户及特殊用户vlan回包需要剥掉外层vlan
S5750-student(config-if)#switchport dot1q-tunnel allowed vlan add
tagged 100 //设备管理特殊vlan是单tag回包,需要保留vlan
S5750-student(config-if)#switchport dot1q-tunnel native vlan 100
//native vlan需要配置成交换机的管理vlan
S5750-student(config-if)#dot1q outer-vid 1001 register inner-vid
200-224 //正常认证用户业务,针对内层vid
200-224,添加外层vid 1001
S5750-student(config-if)#dot1q outer-vid 102 register inner-vid 225 //原特殊业务vlan102-103,900, 改为双层tag上传,外层tag保持不变,增加内层tag
S5750-student(config-if)#dot1q outer-vid 103 register inner-vid 226 //原特殊业务vlan102-103,900, 改为双层tag上传,外层tag保持不变,增加内层tag
S5750-student(config-if)#dot1q outer-vid 900 register inner-vid 227 //原特殊业务vlan102-103,900, 改为双层tag上传,外层tag保持不变,增加内层tag
vlan200-224为正常认证用户业务vlan。
vlan102为监控业务vlan,改为双层tag上传后,增加内层tag
vlan225,即接入交换机接口对应划入vlan 225
vlan900为AP管理vlan,改为双层tag上传后,增加内层tag
vlan227,即接入POE交换机对应AP端口划入vlan 227
接入设备配置参考:
S5750-student(config)#spanning-tree
//开启stp
S5750-student(config)#spanning-tree
mode rstp //开启rstp,避免端口收敛速度过慢
S5750-student(config)#spanning-tree portfast bpduguard default //默认portfast端口都开启bpdu guard
S5750-student(config)#int ran gi
0/1-48
S5750-student(config-if-range)#spanning-tree portfast //下联接口都开启portfast,同时会生效bpdu
guard,一旦收到bpdu报文就认为是环路,shutdown端口
S5750-student(config-if-range)#interface AggregatePort
1
S5750-student(config-if-AggregatePort 1))#spanning-tree bpdufilter
enable //上联端口开启bpdufillter,不对外发送bdpu报文,不建立拓扑和根桥选举,仅在单台设备中防环
S5750-student(config-if-AggregatePort 1))#exit