一、STP协议
STP协议即为生成树协议
环路引起的问题:广播风暴,MAC地址表不稳定。生成树可以做到消除环路,链路备份。
为什么要有生成树呢?因为当有环路存在时,广播的发送会引起全网的广播风暴,因此要打破环路的生成条件。而生成树协议就是解决二层广播风暴的重要手段。另外我们会阻塞一些端口来打破环路的生成条件,当链路出现问题时,被阻塞的端口可以过渡到转发状态,实现链路备份的作用。
二.BPDU(Bridge Protocol Data Unit)
BPDU:网桥协议数据单元
(1)STP的各种选举是通过交换BPDU报文实现的,BPDU直接封装在以太网帧中的,对于参与STP的所有交换机,它们都是通过数据消息的交换来获取网络中其他交换机的消息,这种消息称为BPDU。BPDU直接封装在二层协议中。
(2)BPDU的功能
1.选举根桥
2.确定冗余路径位置
3.通过阻塞特定端口避免环路
4.通告网络拓扑变更
5.监控生成树状态
BPDU每两秒由根桥发送一次(拥有最小Bridge-id的交换机成为根桥)
在最初网络中,每个交换机都认为自己是根桥,都会发送BPDU,此时比较Lowest Bid来选举出一个根桥。此时只有根桥会发送BPDU,非根桥只会转发,转发是只修改Bridge-id和cost字段。
(3)BPDU的分类
1.配置BPDU,通常由根网桥以周期性间隔发出,包括STP参数,用于各种选举。
2.TCN(Topology Change Nofification)拓扑变更通告,这种BPDU是当交换机检测到拓扑发生变更时所产生的,可以由非根桥发出。
三.端口
(1)端口角色
RP:根端口,每个非根网桥上有且只有一个,选举到达根网桥路径开销最小的成为根端口。
DP:指定端口,根网桥上每个端口都是指定端口,非根网桥上转发数据的端口也是指定端口
AP:预备端口,该端口状态为blocking状态,只接收BPDU,不发送BPDU。
(2)端口状态描述
Disabled(禁用状态):不转发数据帧,不学习MAC地址表,不参与生成树的计算。
Blocking(阻塞状态):不转发数据帧,不学习MAC地址表,接收并处理BPDU,不发送BPDU。
Listening(侦听状态):不转发数据帧,不学习MAC地址表,参与生成数计算,接收并发送BPDU。
Learing(学习状态):不转发数据帧,学习MAC地址表,参与生成树计算,接收并发送BPDU。
Forwarding(转发状态):转发数据帧,学习MAC地址表,参与生成树计算,接收并发送BPDU。
(3)端口过渡
端口由Blocking状态过渡到Forwarding状态有50S的延时,Blocking状态到Listening状态有20S老化时间,Listening状态到Learning状态有15S过渡时间,Learning状态到Forwarding状态有15S过渡时间。
四.角色选举规则
(1)选举根交换机规则
Lowest BID=网桥优先级(默认网桥优先级为32768)+MAC地址(越小越优,MAC地址全球唯一)
(2)选举根端口和指定端口规则
1.lowest path cost to root bridge(到达根最小路径开销)
2.Lowest sender BID(最小的发送方BID)
3.Lowest sender port ID(最小的发送方PID)端口优先级(默认128)+发送方端口号
总结:带宽越高,路径开销越小。
五.RSTP协议
RSPT:快速生成树协议
作用:缩短生成树端口由阻塞到转发状态的过渡时间
开启快速生成树的方法
[ ]stp enable
[ ]stp mode rstp
六.MSTP协议
MSTP:多实例生成树协议
作用:让指定的一个VLAN或是多个VLAN生成一棵树,从而实现链路负载均衡