【交换机】我司设备和Cisco设备互连时的生成树使用说明

发布时间: 2013-09-24 点击量:1553 打印 字体:

我司设备在市场上部署时经常会遇到和cisco设备混合搭建网络的情况,这时就需要注意一些事情。对于cisco设备,其生成树的默认配置都是pvst。这是cisco实现的一个私有协议,而我司实现的是标准的生成树协议,此时二者是无法正常互联的。这里需要注意的是,pvst即会发标准BPDU,也会发私有pvst报文,这会给用户造成一些判断上的错误,比如某些生成树的实例计算看起来好像是对的,但有些又是错误的,因此一旦我们的设备和cisco交换机混合组网时,优先需要确定的就是网络中所有cisco交换机的生成树配置。

1)如果发现一个二层网络拓扑中有mstp和pvst混用的情况,要求将cisco设备上的生成树修改成mst模式。

2)即使我们将cisco的生成树配置成mst模式,也会遇到一个兼容性问题。Cisco的交换机在IOS12.2(25)SEC版本之前对BPDU里面degest字段的计算采用了私有算法,这样会导致一个问题:即使我司的mstp配置和cisco mst的配置完全一样,二者都会认为对方和自己不在同一个域里面,这就引其计算上的错误,比如有时表现出来的现象就是各自都认为自己是根桥。对这个问题,有一个规避措施就是:将所有设备修改成rstp模式或者是stp模式,这样可以避开mstp的兼容性计算,只不过这样就需要对网络拓扑做一定大改造,因为这是以牺牲mstp的多实例数据分流为代价,比如这种情况下我们就无法搭建双核心拓扑。

3)另外,即使解决了版本问题,cisco的mst模式还有个有效性的概念.。举个例子来说,用户在cisco上配置了3个实例,但cisco发出的bpdu并不一定会完全携带这三个实例,实例信息要能被发送出去必须被激活,否则和我司的mstp互连时会导致我们认为cisco的mst在其它域,导致计算错误。解决办法就是激活实例。Cisco上mst模式下实例激活的条件就是:实例上面映射的vlan必须在设备上存在,并且必须至少有一个端口属于该vlan,同时实例映射的vlan中必须至少有一个端口是up的。举例来说,如果将vlan2映射到实例2,那么我们必须保证vlan在cisco交换机上已经被创建了,并且此时必须有一个up的端口是属于vlan2的,这样设备发出的BPDU里面才会有实例2的信息。因此对于思科设备,在保证模式和域配置相同的同时,还应保证所有Instance确实有效存在,通过show spanning-tree可以验证,若没有相应的Msti信息,就表示该Instance还没有被激活,应该检查配置。保证一个Instance确实存在的条件:存在一个对应的VLAN有效,这里的有效包括:该VLAN存在,且存在一个端口属于该VLAN。保证与我公司设备相连的端口属于域内配置的所有Instance的某个有效VLAN,最简单而有效的方法是,将这些端口配置为允许所有VLAN的Trunk口。

4)解决了兼容性以及实例激活问题之后,我们还需要注意一个配置问题。在mstp模式下,我们通常是需要配置多个实例,这时我们需要区修改实例-vlan映射关系,有时还需要修改mstp name以及mstp revision。假设有两台交换机A和B,都是mstp模式,初始的时候它们在默认配置下是被认为是同一个域的。这时我们需要增加一个instance 1。于是我们会在A上配置instance 1 vlan <>,然后在B上做同样的配置。但这里有个问题,当我们在A上修改完配置后,此时B的配置还未更新过来,因此这个间隙里面A、B会被认为在不同域,进而引发拓扑振荡,这个问题在网络中有大量设备需要同时升级配置时很容易遇到。对于这个问题,mstp的配置指南里面有写到一个配置建议,就是先关闭生成树协议,等完成所有配置升级后再启动生成树协议,这点在老产品上尤其需要注意,因为RGNOS版本的软件可以进行这种动态切换,但老产品由于实现上的差异,需要静态切换。

5)如果cisco只能采用pvst协商,并且无法修改,那么物理拓扑上有环的情况,只能在我司设备上开启透传bpdu的功能,这样cisco设备自身计算STP,我司不参与,可以实现防环

ruijie(config)#bridge-frame forwarding protocol bpdu

 

00 分享 纠错
相关条目