子网掩码不一致导致逐流负载分担不均衡故障的处理建议
PE(Provider Edge)路由器:E是Edge的缩写,PE翻译成中文就是 “边界路由器“,边界路由器通常位于运营商的边界,和其它的运营商物理连接。PE路由器和其它的运营商的PE路由器,通过BGP路由协议交换路由。
产品问题:组网拓扑图如下:
上图中有两个站点A和B,每个站点各有两台PE,通过dot1q子接口连接。中间通过传输设备,传输侧为VLAN分配带宽(共使用101、102、103、104四个VLAN),VLAN带宽为共享式,如给VLAN101分配32Mbps,那么PE1与PE3之间所用的VLAN101和PE2与PE4之间所用的VLAN101加一起共用32Mbps,在计算带宽利用率时把两边子接口的流量加和再比较。PE之间运行OSPF实现IP互通。
VLAN101的2G流量与VLAN102的2G流量接近,VLAN103的2G流量与VLAN104的2G流量接近。但VLAN101、VLAN102的2G流量是VLAN103、VLAN104的两倍,负载不均衡。
故障排查过程如下:
1.由于2G流量使用VPN-instance 2G_Traffic承载,因此查看VPN-instance 2G_Traffic的路由表,发现路由表中不只4条路由,而是有6条。其中VLAN103和VLAN104对应的子接口出现两次。
2.查Site1和Site2两边对应各个接口的配置,发现PE上的传输侧子接口掩码长度不一致,有的29位掩码,有的30位掩码,如下图所示。
对于VLAN101和VLAN102而言,四台PE设备是在一个网段内,而对于VLAN103和VLAN104而言,则是点对点连接。对于PE1而言,VLAN101和VLAN102分别同时连接到PE3和PE4,而VLAN103和VLAN104只连接到PE1。因此,在路由表中,会出现六条等价路由,其中VLAN101、VLAN102各两条,VLAN103、VLAN104各一条。当PE1进行负载分担时,流量会在6条等价路由中散列,由于VLAN101和VLAN102的路由数是VLAN103、VLAN104的双倍,流量被负载到VLAN101和VLAN102的概率也双倍。处理建议是把掩码长度更改为统一使用30位,问题解决。在负载分担场景,建议参与负载分担的各接口掩码必须配置一致。