一、产生背景
以太网交换网络中为了进行链路备份,提高网络可靠性,通常会使用冗余链路。但是使用冗余链路会在交换网络上产生环路,引发广播风暴以及MAC地址表不稳定等故障现象,从而导致用户通信质量较差,甚至通信中断。为解决交换网络中的环路问题,提出了生成树协议STP(Spanning Tree Protocol)。
分类
STP(Spanning Tree Protocol)生成树协议。
RSTP(Rapid Spanning Tree Protocol),该协议基于STP协议,属于快速生成树协议,对原有的STP协议进行了更加细致的修改和补充。
MSTP(Multiple Spanning Tree Protocol), 多生成树协议。
二、解决问题
● 消除环路:通过阻断冗余链路来消除网络中可能存在的环路。
● 链路备份:当活动路径发生故障时,激活备份链路,及时恢复网络连通性。
三、配置RSTP
、RSTP与STP比较
主要的改进就是加快收敛速度,STP慢收敛需要秒的Max Age(设备根据Max Age时间来确定端口收到的配置消息是否超时)以及两个(learning和listening)秒的forward delay。
RSTP将Max Age缩短为6秒,也就是3个Hello Time的时间。使用RSTP,交换机并非被动的等待接收根桥发出来的BPDU来判断拓扑变化,而是主动与邻居进行沟通,以最快的速度把拓扑信息传递出去。
、RSTP将STP的5种端口状态简化为三种
● Discarding:端口既不转发用户流量也不学习MAC地址。
● Learning:端口不转发用户流量但是学习MAC地址。
● Forwarding:端口即转发用户流量又学习MAC地址。
、拓扑
将STP模式改为RSTP
[sw1]stp mode rstp
[sw2]stp mode rstp
[sw3]stp mode rstp
验证
如下图可以看到现在STP的模式为RSTP,并且SW1是根桥,生成树拓扑没有发生变化。
四、设置边缘端口
RSTP里有边缘端口的概念,边缘端口一般与用户终端直接连接,不与任何交换设备连接。边缘端口不接收配置BPDU报文,不参与RSTP运算,所以可由discarding状态直接变成forwarding状态,可以使端口快速进入转发状态。边缘端口一但接收到BPDU报文,就失去了边缘端口的属性,而成为普通的STP端口,并参与生成树计算,从而引起网络震荡。如下图,我们将SW2和SW3连接服务器的端口g0/0/9配置为边缘端口,
[sw2]int g0/0/9
[sw2-GigabitEthernet0/0/9]stp edged
[sw2-GigabitEthernet0/0/9]stp edged-port en
[sw3]int g0/0/9
[sw3-GigabitEthernet0/0/9]stp edg
[sw3-GigabitEthernet0/0/9]stp edged-port en
[sw3-GigabitEthernet0/0/9]
五、配置BPDU保护
边缘端口正常情况下不会收到BPDU报文,但如果收到BPDU报文后,就会转为STP端口并重新计算生成树,攻击者可以利用这个特性破坏网络的稳定性甚至导致网络瘫痪。配置BPDU保护功能,可以防止此类事件发生。
[sw2]stp bpdu-protection
下图可以看到g0/0/9已经开启了BPDU保护。
[sw2]int g0/0/9
[sw2-GigabitEthernet0/0/9]disp this
[sw2]dis stp b
六、配置环路保护
在RSTP中,交换机依靠不断接收来自上游设备的BPDU报文来维持根端口和预备端口,如果由于链路拥塞或者单向链路故障导致交换机收不到来自上游设备的BPDU报文,交换机会重新选择根端口,原先的根端口会转变为指定端口,而原先的阻塞端口会迁移到转发状态,从而引发网络环路,可以在交换机上配置环路保护功能,避免发生此种情况。
[sw2]int g0/0/1
[sw2-GigabitEthernet0/0/1]stp loop-protection
[sw2-GigabitEthernet0/0/1]int g0/0/2
[sw2-GigabitEthernet0/0/2]stp loop-protection
可以看到两个端口已经开始环路保护。
[sw2-GigabitEthernet0/0/2]dis stp b
七、保护根桥
防止新接入的设备争抢根桥的位置。这个配置是在根桥的对指定端口进行配置。
[sw1]int g0/0/1
[sw1-GigabitEthernet0/0/1]stp root-protection
[sw1-GigabitEthernet0/0/1]int g0/0/2
[sw1-GigabitEthernet0/0/2]stp root-protection
可以看到根桥SW1的两个指定端口已经开始了root保护。如果新接入的设备有争抢根桥的行为,交换机会关闭其连接的端口,并只能由管理员手动开启。
[sw1-GigabitEthernet0/0/2]dis stp brief