S6500和Cisco6509交换机生成树对接不上问题分析及解决办法
一、 组网图
二、 故障现象
如上图,在C6509-1和C6509-2、C3552上启用PVST+、在S6506(III)上启用MSTP。互联端口都是trunk,Trunk口的pvid值都为默认值1。
全网二层,在除PVID所在VLAN的其他VLAN 内:从C6509-2 Ping S6506(III)无法ping通,但是ping S6506(II)却可以ping通。如果从S6506(III)先Ping C6509-2,使其学到S6506(III)的ARP后,则C6509-2能ping通S6506(III)。
简而言之:在除PVID所在的VLAN的其他VLAN内,S6506(III)(使用三代引擎)和Cisco6509出现了单通的问题。
三、 定位过程
不通时,在S6506(III)上查看相关表项,发现没有Cisco6509-2的ARP表项。通过在S6506(III)上进行报文统计,当Cisco6509-2无法ping通S6506(III)时,无法统计Cisco6509-2到S6506(III)的ARP请求报文。
定位的方向:ARP报文收发异常。
焦点:
1、 Cisco6509-2是否正常发出ARP请求报文?
2、 如果Cisco6509-2正常发出ARP请求报文,格式是否是S6506(III)能正常识别的格式?
抓包方法:
1、 通过多种方式抓包:用ACL做流统计、做镜像,使用PC抓包。都无法抓到ARP请求报文。
2、 最后在C6509-2和S6506(III)之间连接一个HUB,再连接一个Smart Bits进行抓包,结果依然无法抓到ARP请求报文。
3、 使用Smart Bits,配置trunk口,直连C6509-2上进行抓包,能够抓到ARP请求报文。而且格式正常。
四、 定位分析
通过仔细分析:发现通的Vlan在6506R三代引擎下连的Cisco3552设备也是存在的,该Cisco3552设备使能的是PVST私有协议,通过6506R三代引擎设备透传该VLAN的PVST BPDU报文和Cisco6509-2(使能PVST+)设备进行协商,于是进行以下测试:
初始条件下,Cisco3552设备存在Vlan1、88、99、110的三层接口,查看Cisco6509-2设备下行连接6506R三代引擎端口的show trunk状态,只有这几个Vlan所在的spantree状态能正常显示。也就是说,只有在Cisco3552上存在VLAN接口的vlan,才能正常通信。
1、 删除Cisco3552的Vlan 99的三层接口,此时在6509-2设备上show trunk 该下行口,只有Vlan1、88、110在spanning tree中的状态是未裁减的,原先通的Vlan 99被裁减掉了,从其他设备ping 6506R三代引擎上的这几个三层接口是通的,其余Vlan 不能正常互通;
2、 拔掉6506R三代引擎连接Cisco3552的连线,Cisco6509-2的show trunk 下行口,只有Vlan1在spantree中的状态是未被裁减的,其余Vlan不能正常互通;
3、 拔插一下6506R上行连接Cisco6509-2设备的连线,则Cisco 6509-2的show trunk 下行口的spantree状态,所有的Vlan均正常,此时从其他设备ping 6506三代引擎上的三层接口都是通的。
五、 结论
通过以上定位过程及分析,可以得出结论:S6506R三代引擎在没有下连Cisco3552设备时,和Cisco6509-2设备之间的互通是没有问题的;如果连接Cisco3552设备,则Cisco3552设备上存在的vlan三层接口,在Cisco6509-2 show trunk 下行口时其状态是正常的,这些vlan与6506R三代引擎的互通是没有问题的;在Cisco3552设备上不存在的Vlan,在Cisco6509上的show trunk状态都是被裁减的,导致这些Vlan与6506R三代引擎的无法互通。
六、 解决办法
可以说,该故障的“罪魁祸首”是cisco的私有协议PVST引起的。因此,该问题的解决办法的宗旨就是去掉PVST。有三种建议方案:
1、 全网改成三层互联结构,避免使用PVST协议。
2、 让网络中所有设备的生成树协议一致。
3、 将cisco的设备从网络中撤出,根除PVST的影响。
三种方案,推荐使用第一种方案。原因有二:1、方案容易实施。2、对后续的网络维护带来了极大的方便。
该案例暂时没有网友评论
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作