生成树协议(Spanning Tree Protocol,简称 STP),作为一种用于消除局域网环路的关键协议,遵循 IEEE 802.1D 标准。其工作机制是将部分冗余链路强制设置为阻塞状态,使其余链路处于转发状态,以此把原本的环形网络结构转换为无环路的树形网络结构,从而达成消除网络环路的目的。当处于转发状态的链路出现故障不可用时,STP 会自动重新配置网络,激活合适的备用链路,使其从阻塞状态转变为转发状态,进而恢复网络的连通性 。
文章目录
一、企业网网络架构
在网络中部署生成树后,交换机之间会进行生成树协议报文的交互并进行无环拓扑计算,最终将网络中的某个(或某些)接口进行阻塞(Block),从而打破环路。
二层的环路会带来广播风暴,MAC地址表震荡,重复数据帧等问题,为解决交换网络中的环路问题,提出了STP。
二、二层交换机
交换机上运行的生成树协议会持续监控网络的拓扑结构,当网络拓扑结构发生变化时,生成树能感知到这些变化,并且自动做出调整。
因此,生成树既能解决而成环路问题,也能为网络的冗余性提供一种方案。
三、二层及三层环路
1、三层环路(Layer 3 Loop)
常见根因:路由环路
动态路由协议有一定的防环能力
IP报文头部中的TTL字段可用于防止报文被无止尽地转发
2、二层环路(Layer 2 Loop)
常见根因:网络中部署了二层冗余环境,或人为的误接线缆导致
需借助特定的协议或机制实现二层防环
二层帧头中并没有任何信息可用于防止数据帧被无止尽地转发
四、STP的基本概念:桥ID
1、桥ID(Briage ID,BID)
IEEE 802.1D标准中规定BID由16位的桥优先级(Bridge Priority)与桥MAC地址构成。
每一台运行STP的交换机都拥有一个唯一的BID。
BID桥优先级占据高16bit,其余的低48bit是桥MAC地址。
在STP网络中,BID最小的设备会被选举为根桥
备注:此处网桥(Bridge),或者桥也就是交换机
2、根桥(Root Bridge)
STP的主要作用之一是在整个交换网络中计算出一颗无环的“树”(STP树)。
根桥是一个STP交换网络中的“树根”
STP开始工作后,会在交换网络中选举一个根桥,根桥是生成树进行拓扑计算的重要"参考点",是STP计算的出的无环拓扑的”树根“。
在BID的比较过程中,首先比较桥优先级,优先级的值越小,则越优先,拥有最小优先级的减缓及会成为根桥;如果优先级相等,那么再比较MAC地址,拥有最小MAC地址的交换机会成为根桥。
3、开销(Cost)
(1)每一个激活了STP的接口都维护着一个Cost值,接口的Cost主要用于计算根路径开销,也就是到达根的开销。
(2)接口的缺省Cost除了与其速率、工作模式有关,还与交换机使用的STP Cost计算方法有关。
(3)接口带宽越大,则Cost值越小
(4)用户也可以根据需要通过命令调整接口的Cost。
4、Cost计算方法
接口速率 | 接口模式 | STP开销 | ||
---|---|---|---|---|
IEEE 802.1d-1998标准 | IEEE 802.1t标准 | |||
100Mbps | Half-Duplex | 19 | 200,000 | 200 |
100Mbps | Full-Duplex | 18 | 199,999 | 199 |
100Mbps | Aggregated Link 2 Ports | 15 | 100,000 | 180 |
1000Mbps | Full-Duplex | 4 | 20,000 | 20 |
1000Mbps | Aggregated Link 2 Ports | 3 | 10,000 | 18 |
10Gbps | Full-Duplex | 2 | 2000 | 2 |
10Gbps | Aggregated Link 2 Ports | 1 | 1000 | 1 |
40Gbps | Full-Duplex | 2 | 500 | 2 |
40Gbps | Aggregated Link 2 Ports | 1 | 250 | 1 |
100Gbps | Full-Duplex | 2 | 200 | 2 |
100Gbps | Aggregated Link 2 Ports | 1 | 100 | 1 |
…… |
接口Cost是已经激活了STP的接口所维护的一个开销值,该值存在默认值,与接口的速率有关联,并且设备使用不同的算法时,相同的接口速率对应不同的Cost值。
5、根路径开销(RPC)
在STP的拓扑计算过程中,一个非常重要的环节就是“丈量”交换机某个接口到根桥的“成本”,也即RPC。
一台设备从某个接口到达根桥的RPC等于从根桥到该设备沿途所有入方向接口的Cost累加。
在本例中,SW3从GE0/0/1接口到达根桥的RPC等于接口1的Cost加上接口2的Cost。
6、接口ID(Port ID,PID)
运行STP的交换机使用接口ID来标识每个接口,接口ID主要用于在特定场景下选举制定接口。
接口ID由两部构成,高4 bit是接口优先级,低12bit是接口编号。
激活STP的接口会维护一个缺省的接口优先级,在新华三交换机上,该值为128。用户可以根据实际需要,通过命令修改该优先级。
五、配置BPDU的比较原则
1、无环拓扑
对于STP而言,最重要的工作就是在交换网络中计算出一个无环拓扑。在拓扑计算的过程中,一个非常重要的内容就是配置BPDU的比较。在配置BPDU中,有四个字段非常关键,他们是“根桥ID”、“根路径开销”、“网桥ID”以及“接口ID”,这四个字段便是交换机进行配置BPDU比较的关键内容。
字段 |
---|
协议ID |
协议版本ID |
类型 |
标志 |
根桥ID |
根路径开销 |
网桥ID |
接口ID |
消息寿命 |
最大寿命 |
Hello时间 |
转发延迟 |
2、顺序
STP按照如下顺序选择最优的配置BPDU:
①最小的根桥ID
②最小的PRC
③最小的网桥ID
④最小的接口ID
在这四条原则红(每条原则都对应配置BPDU中的相应字段),第一条原则主要是用于在网络中选择根桥,后面的原则主要是用于选择根接口及指定接口。