交换机配置二层透传后友商设备PVST震荡问题,王海军老师告诉你

1,问题描述

组网描述:A/B/C/D四台5700EI交换机接入客户的网络用于透传PVST+等二层协议报文,四台设备分别有一个接口连接思科交换机。A设备和C设备为一个Tunnel,配置“port default vlan 1557”在vlan1557中透传;B设备和D设备为一个Tunnel配置“port default vlan 1558”在vlan1558中透传。详细组网图如下:

交换机配置二层透传后友商设备PVST震荡问题,王海军老师告诉你

问题描述:1.当接入B、D交换机后发现A设备的CPU也会上升,当shutdown B交换机的0/0/2后A设备的CPU利用率也会降到之前的水平;2.当接入B、D交换机后A、C tunnel的友商设备PVST+会震荡;

2,处理过程

1. 查看四台交换机的全局配置以及连接友商设备的物理接口配置:

#
l2protocol-tunnel lacp group-mac 0100-5e00-0015
l2protocol-tunnel lldp group-mac 0100-5e00-0017
l2protocol-tunnel vtp group-mac 0100-5e00-0016
l2protocol-tunnel cdp group-mac 0100-0ccd-cdd0
l2protocol-tunnel udld group-mac 0100-5e00-0013
l2protocol-tunnel pvst+ group-mac 0100-0ccd-cdd0
#
bpdu mac-address 0100-0ccc-cccd
#
interface GigabitEthernet0/0/1
port link-type dot1q-tunnel
port default vlan 1557 //A、C tunnel配置透传vlan1557;B、C tuennl配置透传vlan1558;
stp disable
l2protocol-tunnel hgmp stp lacp eoam3ah lldp gmrp gvrp vtp cdp dtp enable
l2protocol-tunnel udld pagp pvst+ sstp enable
undo ntdp enable

2. 二层协议透传的原理是在将报文协议报文上送到CPU进行替换目的MAC将之变成组播报文进行转发,在tunnel的终点处再将目的MAC替换成协议报文应有的MAC地址;

3. 不同的tunnel应该配置不同的全局替换MAC,否则中间设备也会将透传的报文抓到CPU进行软转发,因为这种场景没有办法判断该设备是不是tunnel的终点,如果处理报文过多会导致CPU升高。该组网环境中不同的tunnel配置相同替换MAC,所以从B设备过来已经替换过目的MAC的协议报文达到A设备也会被抓到CPU进行处理,加入透传VLAN1558的接口只有0/0/2 和0/0/3且都没有配置二层透传,所以报文会进行软转发,进而导致CPU升高。

4. 在C交换机上接口0/0/1和0/0/3分别做流量统计,发现在该交换机上有丢包计数,原因是CPU处理报文数有限制,超时处理限制外的报文都会被丢弃。而PVST+报文在交换机上能够被直接硬件透传,所以在该场景上不需要对PVST+报文进行替换MAC处理。

3,根因

交换机CPU处理上送的协议报文数有限制,超时处理限制外的报文都会被丢弃。

PVST+报文在交换机上能够被直接硬件透传,所以在该场景上不需要对PVST+报文进行替换MAC处理。

4,解决方案

在四台交换机上去使能“bpdu mac-address 0100-0ccc-cccd”。

5,建议与总结

交换机对BPDU报文都是直接终结的,在需要对bpdu报文透传的场景大家想到的首先是二层协议透传;

但二层协议透传需要在两端将BPDU报文上送到CPU进行封装解封装处理,加重CPU负载的同时处理效率也较低。

S交换机支持通过命令行将BPDU的目的MAC设置为非BDPU 目的MAC地址,即S交换机对此报文直接当做普通数据报文进行二层透传处理,无效率问题。

可以通过display bpdu mac-address查看目前设备将哪些目的MAC的报文当做BPDU报文进行处理。


分享到:


相關文章: