1、案例四 快速生成树解决环路问题【背景描述】某学校为了开展计算机教学和网络办公,建立了一个计算机教室和一个校办公区,这两处的计算机网络通过两台交换机互连组成内部校园网,为了提高网络的可靠性,网络管理员用 2 条链路将交换机互连,现要在交换机上做适当的配置,使网络避免环路。【实现功能】使网络有冗余链路的情况下避免环路的产生,避免广播风暴等。【使用设备】设备类型 设备名称 设备数量交换机 Switch 2路由器三层交换机双绞线 4计算机 pc 2【案例拓扑】【实现步骤】步骤 1 交换机 A 的基本配置SwitchenSwitch#configure terminalSwitch(config)#ho
2、stname SwitchASwitchA(config)#vlan 10SwitchA(config-vlan)#name slaesSwitchA(config-vlan)#exitSwitchA(config)#interface fastEthernet 0/3SwitchA(config-if)#switchport access vlan 10SwitchA(config-if)#exitSwitchA(config)#interface range fastEthernet 0/1-2SwitchA(config-if-range)#switchport mode trunkSw
3、itchA(config-if-range)#exit步骤 2 交换机 B 的基本配置SwitchenSwitch#configure terminalSwitch(config)#hostname SwitchBSwitchB(config)#vlan 10SwitchB(config-vlan)#name slaesSwitchB(config-vlan)#exitSwitchB(config)#interface fastEthernet 0/3SwitchB(config-if)#switchport access vlan 10SwitchB(config-if)#exitSwitc
4、hB(config)#interface range fastEthernet 0/1-2SwitchB(config-if-range)#switchport mode trunkSwitchB(config-if-range)#exit步骤 3 配置快速生成树协议SwitchA#configure terminal !进入全局配置模式SwitchA(config)#spanning-tree !开启生成树协议SwitchA(config)#spanning-tree mode rstp !指定生成树协议类型为 RSTPSwitchB#configure terminal !进入全局配置模式
5、SwitchB(config)#spanning-tree !开启生成树协议SwitchB(config)#spanning-tree mode rstp !指定生成树协议类型为 RSTP验证测试:验证快速生成树协议已经开启SwitchA#show spanning-tree !查看生成树的配置信StpVersion : RSTP !生成树协议的版本SysStpStatus : Enabled !生成树协议的运行状态, disable 为关闭状态BaseNumPorts : 24MaxAge : 20HelloTime : 2ForwardDelay : 15BridgeMaxAge : 20
6、BridgeHelloTime : 2BridgeForwardDelay : 15MaxHops : 20TxHoldCount : 3PathCostMethod : LongBPDUGuard : DisabledBPDUFilter : DisabledBridgeAddr : 00d0.f8bc.9835Priority : 32768 !查看交换机的优先级TimeSinceTopologyChange : 0d:0h:1m:53sTopologyChanges : 0DesignatedRoot : 800000D0F8BC9835RootCost : 0 !交换机到达根交换机的开
7、销, 0 代表交换机为根RootPort : 0 !查看交换机上的根端口, 0 代表交换机为根SwitchB#show spanning-tree !查看交换机 B 生成树的配置信息StpVersion : RSTP !生成树协议的版本SysStpStatus : EnabledBaseNumPorts : 24 !生成树协议的运行状态, disable 为关闭状态MaxAge : 20HelloTime : 2ForwardDelay : 15BridgeMaxAge : 20BridgeHelloTime : 2BridgeForwardDelay : 15MaxHops : 20TxHo
8、ldCount : 3PathCostMethod : LongBPDUGuard : DisabledBPDUFilter : DisabledBridgeAddr : 00d0.f8bf.fbbbPriority : 32768 !查看交换机的优先级TimeSinceTopologyChange : 0d:0h:2m:34sTopologyChanges : 0DesignatedRoot : 800000D0F8BC9835RootCost : 200000 !交换机到达根交换机的开销RootPort : Fa0/1 !查看交换机上的根端口注:通过查看两台交换机的生成树信息发现,Swit
9、chA 为根交换机,SwitchB Fa0/1 为根端口。步骤 4.设置交换机的优先级,指定 SwitchB 为根交换机SwitchB(config)#spanning-tree priority 4096 !设置交换机优先级为 4096SwitchB(config)#Z验证测试:验证交换机 SwitchB 的优先级SwitchB#show spanning-treeStpVersion : RSTPSysStpStatus : EnabledBaseNumPorts : 24MaxAge : 20HelloTime : 2ForwardDelay : 15BridgeMaxAge : 20B
10、ridgeHelloTime : 2BridgeForwardDelay : 15MaxHops : 20TxHoldCount : 3PathCostMethod : LongBPDUGuard : DisabledBPDUFilter : DisabledBridgeAddr : 00d0.f8bf.fbbbPriority : 4096 !查看交换机的优先级TimeSinceTopologyChange : 0d:0h:17m:3sTopologyChanges : 0DesignatedRoot : 100000D0F8BFFBBBRootCost : 0RootPort : 0Swi
11、tchA#show spanning-tree !查看交换机 A 生成树的配置信息StpVersion : RSTP !生成树协议的版本SysStpStatus : Enabled !生成树协议的运行状态, disable 为关闭状态BaseNumPorts : 24MaxAge : 20HelloTime : 2ForwardDelay : 15BridgeMaxAge : 20BridgeHelloTime : 2BridgeForwardDelay : 15MaxHops : 20TxHoldCount : 3PathCostMethod : LongBPDUGuard : Disabl
12、edBPDUFilter : DisabledBridgeAddr : 00d0.f8bc.9835Priority : 32768 !查看交换机的优先级TimeSinceTopologyChange : 0d:0h:17m:19sTopologyChanges : 0DesignatedRoot : 100000D0F8BFFBBBRootCost : 200000 !交换机到达根交换机的开销, 0 代表交换机为根RootPort : Fa0/1 !查看交换机上的根端口, 0 代表交换机为根验证测试:A.验证交换机 SwitchA 的端口 1 和端口 2 的状态。SwitchA#show s
13、panning-tree interface fastEthernet 0/1!显示 SwitchA 端口 fastEthernet 0/1 的状态PortAdminPortfast : DisabledPortOperPortfast : DisabledPortAdminLinkType : autoPortOperLinkType : point-to-pointPortBPDUGuard: DisabledPortBPDUFilter: DisabledPortState : forwarding! SwitchA 的端口 fastEthernet 0/1 处于( forwarding
14、)状态PortPriority : 128PortDesignatedRoot : 100000D0F8BFFBBBPortDesignatedCost : 0PortDesignatedBridge : 100000D0F8BFFBBBPortDesignatedPort : 8001PortForwardTransitions : 2PortAdminPathCost : 0PortOperPathCost : 200000PortRole : rootPort !查看端口角色为根端口SwitchA#show spanning-tree interface fastEthernet 0/2
15、!显示 SwitchA 端口 fastEthernet 0/2 的状态PortAdminPortfast : DisabledPortOperPortfast : DisabledPortAdminLinkType : autoPortOperLinkType : point-to-pointPortBPDUGuard: DisabledPortBPDUFilter: DisabledPortState : discarding! SwitchA 的端口 fastEthernet 0/2 处于( discarding)状态PortPriority : 128PortDesignatedRoot
16、 : 100000D0F8BFFBBBPortDesignatedCost : 0PortDesignatedBridge : 100000D0F8BFFBBBPortDesignatedPort : 8002PortForwardTransitions : 1PortAdminPathCost : 0PortOperPathCost : 200000PortRole : alternatePort ! SwitchA 的 F0/2 端口为根端口的替换端口验证测试:B.如果 SwitchB 与 SwitchA 的端口 F0/1 之间的链路 DOWN 掉,验证交换机SwitchA 的端口 2 的
17、状态,并观察状态转发时间。SwitchA#show spanning-tree interface fastEthernet 0/2PortAdminPortfast : DisabledPortOperPortfast : DisabledPortAdminLinkType : autoPortOperLinkType : point-to-pointPortBPDUGuard: DisabledPortBPDUFilter: DisabledPortState : forwarding! SwitchA 的端口 fastEthernet 0/2 从阻塞( discarding)状态转换到转
18、发( forwarding)状态,说明生成树协议此时采用了原先处理阻塞状态的冗余链路状态转换时间大约 2 秒PortPriority : 128PortDesignatedRoot : 100000D0F8BFFBBBPortDesignatedCost : 0PortDesignatedBridge : 100000D0F8BFFBBBPortDesignatedPort : 8002PortForwardTransitions : 2PortAdminPathCost : 0PortOperPathCost : 200000PortRole : rootPort验证测试:C.如果 Swit
19、chB 与 SwitchA 之间的一条链路 DOWN 掉(如拔掉网线) ,验证交换机 PC1 与 PC2 仍能互相 ping 通,并观察 ping 的丢包情况。以下为从 PC1 ping PC2 的结果(注: PC1 的 IP 地址为 192.168.0.137,PC2 的 IP 地址为192.168.0.136).C:Documents and SettingsAdministratorping 192.168.0.137Pinging 192.168.0.137 with 32 bytes of data:Reply from 192.168.0.137: bytes=32 timepin
20、g 192.168.0.137 -t !从主机 PC1 ping PC2(用连续 ping ),然后拔掉 SwitchB 与 SwitchA 的端口 F0/1 之间的连线,观察丢包情况Pinging 192.168.0.137 with 32 bytes of data:Reply from 192.168.0.137: bytes=32 time1ms TTL=64Reply from 192.168.0.137: bytes=32 time1ms TTL=64Reply from 192.168.0.137: bytes=32 time1ms TTL=64Reply from 192.16
21、8.0.137: bytes=32 time1ms TTL=64Reply from 192.168.0.137: bytes=32 time1ms TTL=64Reply from 192.168.0.137: bytes=32 time1ms TTL=64Reply from 192.168.0.137: bytes=32 time1ms TTL=64Reply from 192.168.0.137: bytes=32 time1ms TTL=64Reply from 192.168.0.137: bytes=32 time1ms TTL=64Reply from 192.168.0.13
22、7: bytes=32 time1ms TTL=64Reply from 192.168.0.137: bytes=32 time1ms TTL=64Reply from 192.168.0.137: bytes=32 time1ms TTL=64Reply from 192.168.0.137: bytes=32 time1ms TTL=64Reply from 192.168.0.137: bytes=32 time1ms TTL=64Reply from 192.168.0.137: bytes=32 time1ms TTL=64Reply from 192.168.0.137: byt
23、es=32 time1ms TTL=64Reply from 192.168.0.137: bytes=32 time1ms TTL=64Reply from 192.168.0.137: bytes=32 time1ms TTL=64Request timed out.Reply from 192.168.0.137: bytes=32 time1ms TTL=64Reply from 192.168.0.137: bytes=32 time1ms TTL=64Reply from 192.168.0.137: bytes=32 time1ms TTL=64Reply from 192.16
24、8.0.137: bytes=32 time1ms TTL=64Reply from 192.168.0.137: bytes=32 time1ms TTL=64Reply from 192.168.0.137: bytes=32 time1ms TTL=64Reply from 192.168.0.137: bytes=32 time1ms TTL=64Reply from 192.168.0.137: bytes=32 time1ms TTL=64Reply from 192.168.0.137: bytes=32 time1ms TTL=64Reply from 192.168.0.13
25、7: bytes=32 time1ms TTL=64Reply from 192.168.0.137: bytes=32 time1ms TTL=64以上结果显示丢包数为一个。参考配置SwitchA#show run !交换机 SwitchA 的全部配置System software version : 1.61(2) Build Aug 31 2005 ReleaseBuilding configuration.Current configuration : 291 bytes!version 1.0!hostname SwitchAvlan 1!vlan 10name slaes!span
26、ning-tree mode rstpspanning-treeinterface fastEthernet 0/1switchport mode trunk!interface fastEthernet 0/2switchport mode trunk!interface fastEthernet 0/3switchport access vlan 10!endSwitchB#show running-config !交换机 SwitchB 的全部配置System software version : 1.61(2) Build Aug 31 2005 ReleaseBuilding con
27、figuration.Current configuration : 328 bytes!version 1.0!hostname SwitchBvlan 1!vlan 10name slaes!spanning-tree mode rstpspanning-treespanning-tree mst 0 priority 4096interface fastEthernet 0/1switchport mode trunk!interface fastEthernet 0/2switchport mode trunk!interface fastEthernet 0/3switchport access vlan 10!end【注意事项】1、锐捷交换机缺省是关闭 spanning-tree 的,如果网络在物理上存在环路,则必须手工开启 spanning-tree 。2、锐捷全系列的交换机默认为 MSTP 协议,在配置时注意生成树协议的版本。