STP(生成树协议)
Posted SpaceX7_s
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STP(生成树协议)相关的知识,希望对你有一定的参考价值。
背景
在单核心网络中,单一链路可能存在较大的风险,为了高可靠性往往会设置备份链路,设置了备份链路就有可能出现二层环路(数据链路层)
危害
1.广播风暴
1.广播报文在二层网络洪泛,容易造成链路堵塞
2.交换机的CPU被大量占用,正常报文不发正常发送
3. 造成主机资源的浪费,大量CPU用来识别这些报文
4. 冲击网关设备CPU,对网关ip地址的ARP请求,经过链路多次转发,造成网关的CPU压力过大容易崩溃
2.MAC地址表震荡
因为环路,二层交换机发出源数据,其他端口同时会收到数据包,导致目MAC地址与端口的对应关系一直在发送改变
3.多帧复制
主机反复收到数据报,开销大量CPU来识别这些数据报
STP(生成树协议)
基本概念:
在一个物理成环的交换网络拓扑中,通过生成树协议,可以逻辑阻塞一个或多个端口,使之成为无环的树形结构,在网络中,如果主干链路出来故障,那么被被阻塞的端口会自动打开,保证链路的备份和冗余----生成树协议(自动监测)
工作原理:
配置BPDU:用于网络初始化时进行生成树的选举,当网络稳定时,也会周期性发送,主要用于链路的维护和监测----hello时间2s/次
TCN BPDU:用于网络拓扑链路变更时,当主链路故障或者新加一条链路
BPDU的四个重要字段
- 网桥ID
(1)作用: 唯一表示交换机的身份信息
(2)组成:8byte
网桥优先级(2byte,2的16次方),mac地址(6byte)
范围:0-65535,有效范围:0-61440,步长4096,默认值32768,优先级越小越优先
先比较网桥,再比较mac地址 - 根网桥ID:指定是根交换机的身份信息
所有交换机中,网桥ID最小的那个
备注: 所有交换机刚启动时都以为自己是根网桥,因为还没有发送BPDU - 端口ID:
(1): 用来识别唯一识别交换机每个一个端口的身份信息
端口优先级(1byte),端口号(1byte)
范围:0-255,有效范围:0-240,步长16,默认值:128
选优规则:
先比较端口优先级,再比较端口号,都是越小越优 - 路径开销:
指到达根网桥的路径开销(带宽越大开销越小)
每种设备的路径开销都有规定,不需要计算
选举过程(核心工作原理)
- 根网桥
在所以交换机中,网桥ID最小的那个 - 根端口
作用:用来接收根网桥消息的端口
选优规矩:
每台非根网桥设备上只有一个根端口
(1)选择端口到达根网桥开销最小的端口
开销的根本:
该端口发送数据报的BPDU好坏,数据到达该端口的最小开销,加上自身端口的开销,因为是发送出去的数据报所以需要加上自身端口的开销
(2)选择发送网桥ID最小的(指对面的交换机网桥)
(3)选择发送端口ID最小的(指对面发送给自己的那个端口ID) - 指定端口
作用:用来转发根网桥消息的端口
开销的根本:
该端口发送数据报的BPDU好坏,数据到达该端口的最小开销,加上自身端口的开销,因为是发送出去的数据报所以需要加上自身端口的开销
(1)选择网桥到达根网桥开销最小的端口
(2)选择发送网桥ID最小的(指自己所处的那个交换机的网桥)
(3)选择发送端口ID最小的(
)
每一条链路都会存在一个指定端口 - 阻塞端口(非根非指定的端口)
端口的五种状态
Disabled:禁止转态
Blocking: 阻塞状态,可以接收BPDU,但不发送BPDU,不学习mac地址,不接收和转发数据报
Listenning:侦听转态,
learning:学习转态
Forwording:转发转态
圆圈表示根端口,三角形表示指定端口,剩下的为阻塞端口,逻辑性上等价与下图
收敛
直接收敛
当sw3的故障时,端口状态瞬间变为侦听状态 阻塞端口会发送一个TCN BPDU给sw2,sw2收到后会回一个TCA BPDU,告诉sw3已经收到TCN BPDU了不需要再发送,同时sw2会转发这个TCN BPDU给根网桥,sw1收到后会响应一个TCA BPDU给sw2,同时也会发送一个TC位为1的BPDU给sw2,sw2收到后mac地址表老化时间会从300秒变成15秒(mac地址表的老化是每一条都独立老化的),sw2同时也会也会转发这个TC位 1 的BPDU转发给sw3,sw3的mac地址表老化时间也会发送
变为15秒
间接收敛
sw2收不到sw1的BPDU ,隔离20秒后,以根网桥的身份给sw3发送数据报,告诉sw3主链路出现问题,然后从新开启阻塞端口
以上是关于STP(生成树协议)的主要内容,如果未能解决你的问题,请参考以下文章