RSTP的配置
原理概述:
RSTP(rapid spanning Tree Protocol ),即快速生成树协议,最早在IEEE 802.1W-2001中提出,这种协议在网络结构发生变化时,能更快的收敛网络。它比802.1d多了一种端口类型:备份端口(backup port)类型,用来做指定端口的备份。 STP(Spanning Tree Protocol )是生成树协议的英文缩写。该协议可应用于环路网络,通过一定的算法实现路径冗余,同时将环路网络修剪成无环路的树型网络,从而避免报文在环路网络中的增生和无限循环。
快速生成树协议(Rapid Spanning Tree Protocol ,RSTP) 用于在局域网中消除数据链路层物理环路,其核心是快速生成树算法。RSTP由IEEE 802.1D-1998标准定义的STP(Spanning Tree Protocol,生成树协议)改进而来,最早在IEEE 802.1W-2001中提出,并且在IEEE 802.1D-2004标准中替代了原来的STP协议。RSTP完全向下兼容STP协议,除了和传统的STP协议一样具有避免回路、动态管理冗余链路的功能外,RSTP极大的缩短了拓扑收敛时间,在理想的网络拓扑规模下,所有交换设备均支持RSTP协议且配置得当时,拓扑发生变化(链路UP/DOWN)后恢复稳定的时间可以控制在秒级,而传统的拓扑稳定且能正常工作所需时间为50秒。RSTP的主要功能可以归纳如下:
1、 发现并生成局域网的一个最佳树型拓扑结构;
2、 发现拓扑故障并随之进行恢复,自动更新网络拓扑结构,启用备份链路,同时保持最佳树型结构;
运行RSTP协议的网络交换设备通过对自身网桥信息和接收到的BPDU中来自其他网桥的信息进行比较,利用RSTP算法进行计算,更新系统状态机,选举端口角色并阻塞某些端口,将环形网络裁剪成树形网络,防止环形网络中的报文增生和无限循环产生的广播风暴,避免因此带来的报文处理能力下降问题的发生;
端口状态:
802.1d(STP)
交换机的端口在STP环境中共有5种状态:阻塞blocking、监听listening、学习learning、转发forwarding、关闭(disable)。
*Blocking:处于这个状态的端口不能够参与转发数据报文,但是可以接收配置消息,并交给CPU进行处理。 不过不能发送配置消息,也不进行地址学习。
*Listening:处于这个状态的端口也不参与数据转发,不进行地址学习;但是可以接收并发送配置消息。
*Learning:处于这个状态的端口同样不能转发数据,但是开始地址学习,并可以接收、处理和发送配置消息。
*Forwarding:一旦端口进入该状态,就可以转发任何数据了,同时也进行地址学习和配置消息的接收、处理和发送。
交换机上一个原来被阻塞掉的端口由于在最大老化时间内没有收到BPDU,从阻塞状态转变为倾听状态,倾听状态经过一个转发延迟(15秒)到达学习状态,经过一个转发延迟时间的MAC地址学习过程后进入转发状态。
如果到达倾听状态后发现本端口在新的生成树中不应该由此端口转发数据则直接回到阻塞状态。
当拓扑发生变化,新的配置消息要经过一定的时延才能传播到整个网络,这个时延称为转发延迟(Forward Delay),协议默认值是15秒。
在所有网桥收到这个变化的消息之前,若旧拓扑结构中处于转发的端口还没有发现自己应该在新的拓扑中停止转发,则可能存在临时环路。为了解决临时环路的问题,生成树使用了一种定时器策略,即在端口从阻塞状态到转发状态中间加上一个只学习MAC地址但不参与转发的中间状态,两次状态切换的时间长度都是Forward Delay,这样就可以保证在拓扑变化的时候不会产生临时环路。
802.1w(RSTP)
STP定义了5种不同的端口状态,关闭(disable),监听(Listening),学习(Learning),阻断(Blocking)和转发(Forwarding),其端口状态表现为在网络拓扑中端口状态混合(阻断或转发),在拓扑中的角色(根端口、指定端口等等)。在操作上看,阻断状态和监听状态没有区别,都是丢弃数据帧而且不学习MAC地址,在转发状态下,无法知道该端口是根端口还是指定端口。
在RSTP中只有三种端口状态,Discarding、Learning和Forwarding。802.1D中的禁止端口,监听端口,阻塞端口在802.1W中统一合并为禁止端口。
RSTP根据端口在活动拓扑中的作用,定义了3种端口角色(STP有5种角色):禁用端口(Disabled Port)、根端口(Root Port)、指定端口(Designated Port)、为支持RSTP的快速特性规定的替代端口(Alternate Port)和备份端口(Backup Port)。
实验拓扑:
配置命令:
display stp brief //查看stp信息
stp root primary //设置主根,优先级自动为0
stp root secondary //设置次根,优先级为4096
stp priority xxxx //设置优先级
stp enable //全局开启STP
stp mode rstp //配置STP模式为RSTP
int g0/0/0
stp edged-port enable //配置边缘端口
stp edged-port default //所有端口都为边缘端口
stp bpdu-protection //全局开启BPDU防护,配合边缘端口一起使用,收到bpdu就shutdown
int g0/0/1
port link-type trunk
port trunk allow pass vlan 10
stp edgrd-port disable //启用bpdu保护后需要手动关闭其他sw互联端口的边缘端口功能
restart
int g0/0/3
stp root-protection //保护当前根不变
SW1:
[SW1]stp enable
[SW1]stp mode rstp
[SW1]stp root primary
SW2:
[SW2]stp enable
[SW2]stp mode rstp
[SW2]stp bpdu-protection
[SW2]int e0/0/4
[SW2-Ethernet0/0/4]stp edged-port enable
SW3:
[SW3]stp enable
[SW3]stp mode rstp
[SW3]stp bpdu-protection
[SW3]int e0/0/4
[SW3-Ethernet0/0/4]stp edged-port enable
配置完成后,查看STP:
可以看到,E0/0/3端口被阻塞
实验结束;
备注:如有错误,请谅解!
此文章为本人学习笔记,仅供参考!如有重复!!!请联系本人