STP是普遍应用在二层的具备冗余的网络中用来消除环路的一种机制,固然二层环网中用来消除环路的技术还有RRPP和H3C的smart-link技术等。网络
1、STP的一些基本概念ide
STP是IEEE802.3D定义的,在二层网络中阻塞冗余链路,消除环路的一种,STP包含:STP、RSTP和MSTP等。学习
一、 根桥:网络中根优先级最小的那台交换机称为根桥,默认的优先级为32768。根桥优先级的步长为4096的整数倍,取值范围为0~61140。blog
二、 桥优先级:表示桥的优先级。接口
三、 根端口:根桥上的全部端口都是根端口,非根桥上离根桥开销最小的那个端口称为根端口。v8
四、 指定端口:在指定的物理网段上到根桥开销最小的那个端口。get
五、 桥ID:桥优先级由桥MAC两部分组成。桥ID越小越有可能称为根桥。it
六、 路径开销用来衡量桥与桥之间链路的优劣。io
七、 BPDU:桥协议数据单元,在STP中存在两种BPDU,一种为配置BPDU,另外的一种为TCN BPDU,用来通告拓扑的变化。class
2、STP计算过程
一、 根桥的选举
假设SW1的桥优先级为0,当上图网络中的全部设备启用STP特性后,会从和其余交换机相连的端口泛红以本身为根桥的BPDU,当交换机收到比本身更优的根桥ID的时候,便会使用该值填充BPDU中根桥的字段,经过一段时间的相互发送和比较后,因为SW1的交换机手工设置的优先级为0,此时,在整个网络中SW1为根桥。
二、 端口角色的肯定
根桥上的端口都是指定端口DP,那么上图SW1的1和2号端口为指定端口,SW2为1-3网段的指定桥,SW3为2-4网段的指定桥,3和4端口为根端口,3-4网段1-3的路径比通过3-4-2这样的路径的开销要小,所以3号口味3-4网段的指定端口,阻塞4号端口。
SW4到达根桥的开销走7-5-3-1和8-6-4-2都是一致的,此时将会进行指定桥优先级,此时7为根端口。
SW5到达根桥的开销不管怎么出发都是一致的,此时将会进行指定桥端口的优先级,优先级小者优先,所以9号端口为根端口。
3、STP的端口状态
STP的端口状态包括:disable 、blocking、Listening、learning、Forwarding等状态,disable状态即端口没有启用stp特性,此时端口正常首发用户数据帧。
Blocking状态:端口处于阻塞状态的时候,仅接受BPDU,不发送BPDU。
Listening状态:端口处于监听状态,该状态是一个过渡状态,此时端口从blocking开始学习mac。可是在该状态仍然不进行用户数据帧的转发。
Learning状态:端口处于MAC学习状态,该状态规定仍然不进行用户数据帧的转发。
Forwarding状态:转发状态,只有当端口改变成为forwarding状态的时候才会进行数据帧的转发
4、STP的拓扑的处理机制
在STP中,从listening状态到forwarding须要通过两倍的Forward-delay时间,Forward-delay的时间为15s。
在STP中,当根桥选择完毕以后,根桥产生的BPDU从指定端口发出,非根桥从根端口接受,从指定接口转发出去,非根桥本省并不产生自身的BPDU。
当拓扑变化的时候,网桥感知拓扑变化,产生TCN置位的BPDU,通知根桥,根桥接收后会发送TCA置位的BPDU,而且产生TC置位的BPDU,下游网桥接收到根桥发送的TC置位的BPDU,会将MAC的老化时间设置为15s。
所以在STP中,当拓扑发生变化的时候网络的收敛时间可能为30s或者50s。
BPDU报文中的flag字段的第0位置1为TCN报文,第7位置1为TCA报文。
5、STP的缺点
一、 拓扑的收敛速度很慢,不适用于灵敏性的应用。
二、 当网络中的大量主机上线和下线时,拓扑会发生变化,对拓扑的控制不够灵活。
6、RSTP协议
802.3w规定的快速生成树协议,收敛机制和拓扑变化相应机制比STP快不少,主要的亮点有:
一、边缘端口
RSTP中能够手动将一些链接终端设备的端口设置为边缘端口,当一个端口被设置为边缘端口后,主机接入后能够直接进入转发状态,并且边缘端口主机频繁上线和下线时不会对整个拓扑形成影响。
三、 端口是根端口
在RSTP中,Alternate端口是根端口的一个备份口,当根端口故障时,备份端口能够立刻进入转发状态,几乎不须要延迟。
四、 端口是指定端口
RSTP中指定了P/A机制,指定借口能够和对端网桥进行一次握手,便可进入转发状态,不依赖任何计数器,可是握手的前提必须是在点到点的链路中。
五、 P/A机制
BPDU报文中的flag字段,第一位是P置位,第六位是A置位。
六、 收敛机制
下游网桥收到TC置位的BPDU后会清除除TC报文接受端口除外的其他端口的MAC地址,并在两倍的Hello-time时间内向指定端口和根端口发送TC置位的RST BPDU。
七、 RSTP 能够兼容STP。
7、MSTP
Mstp是802.s规定的,能够实现不一样vlan的流量的负载和多实例。