第二次培训10.26
生成树STP
背景:解决二层环路

二层环路:在以太网中,设备自己收到自己发送的报文
二层环路的影响:
- 不断循环产生大量重复无用的转发数据,占用网络资源
- 带来mac表项震荡
- 二层流量转发错误
二层环路产生原因:从源到目的有多条可达路径,就一定有二层环路
STP工作过程:
第一步:选举一个根桥(RB)
第二步:在每个非根桥 上选举一个根端口
第三步:在每条链路上选举一个指定端口
第四步:阻塞非根端口、指定端口(即候补端口)
工作原理:
-
解决二层冗余路径(使源到目的只有一条路可走),同时可以实现链路备份
-
实现:阻塞冗余路径(实际是阻塞链路上的端口)
-
设备角色分类:
根桥: 负责统一确定阻塞的具体端口
非根桥:执行
-
设备角色确定:(选举一个根桥)
选举BID(bridge ID)
BID:是在STP中一个交换机的唯一标识,包含设备优先级和桥MAC地址

1、先比较设备STP优先级,值越小优先级越高
范围0-65535 默认32768 步长4096
2、再比较MAC地址,越小优先级越高

若想指定某台交换机为根桥,只需将此交换机的优先级改为最小
-
设备端口角色:
根端口 RP 每一个非根桥设备有且只有一个 接受来自根桥方向的STP报文 每个网桥上到达根桥最近的端口。
指定端口 DP 每条物理链路有且只有一个 转发来自根桥方向的STP报文
预备端口 AP 并不是每一条链路都有
-
端口角色的确定:(在每个非根桥 上选举一个根端口)
选举(BID、开销、端口号、优先级)
-
根端口选择
1、端口到根的路径开销最小(根路径开销),开销最小的端口是根端口
2、开销相同,比较设备的BID,对端桥ID(BID)最小
3、设备BID相同,比较端口PID,对端端口ID(PID)最小
4、在bug集线器下,端口PID可能相同,此时比较端口PID,本设备上拥有最小PID的端口称为根端口

-
指定端口选择(在每条链路上选举一个指定端口)
1、该端口所在网桥到根的路径开销最小,开销最小的端口是根端口
2、该端口所在的本端网桥ID最小
3、本端端口ID最小,本设备上拥有最小PID的端口称为指定端口

SW2为根桥,每条链路上,都需找一个指定端口,对于SW1和SW2之间的链路来说,由于F0/1口所在网桥是根桥,所以到根桥的开销为0最小,所以F0/1是指定端口,由此可得结论,根桥上的所有接口均为所在链路的指定端口。
-
预备端口不需要选举
-
-
一般来说,根端口的对面是指定端口,根桥上没有根端口,根桥上都是指定端口
-
作为开销计算,其实是计算从源到目的沿途接口出方向的开销值相加
-
网络通信过程中,所有的开销计算都是以流量方向上出接口开销值进行计算
STP的协议(端口)状态:描述STP协商的过程
Disable 设备端口没打开
Blocking 只接收处理stp报文,不转发stp报文,不处理业务流量
Listening 接受并处理转发STP报文,不处理业务流量,不学习MAC地址,开始协商STP
Learning STP协商已经完成,开始学习MAC地址,接受并处理转发STP报文,不处理业务流量
Forwarding 接受并处理转发STP报文,接受并处理转发业务流量

STP的转发延迟
默认15秒
为了防止因为设备性能不同导致各设备之间无法在同一时刻完成STP收敛,造成临时环路,因此决定延时一段时间之后,在学习MAC地址,即:
- 从Listening到Learning需要经理15秒等待
- 从Learning到Forwarding需要经理15秒等待
上述机制导致STP想要完成收敛至少需要等待30秒,从而导致STP很少使用!
STP维护:
-
根桥每两秒同步一次STP报文---hello时间
-
message age:从根桥发送配置BPDU到当前设备接口所经过的时间
-
但凡非根桥在STP 报文老化之前没有收到STP报文,则认为网络拓扑发生变化就会重新开始新一轮重新协商
老化时间是根据message+max-age实现 = 20秒
-
当网络拓扑发生改变再重新收敛时,加上前面的转发延迟最长是50秒
如果本设备与根桥直连,只需要等30秒
如果本设备与根桥非直连,就需要等50秒
-
TCN报文(拓扑改变通知)
-
TCA,TC置位的报文:
TCA置位的报文主要用于上游设备对TCN报文进行响应,上游设备收到TCN之后会继续转发TCN报文到上游,一直到根桥
根桥如果收到TCN报文会回复TC置位的报文给下游,一直到产生TCN报文的设备,用于清空MAC地址表项,重新学习表项
快速生成树RSTP
在STP的基础上进行了优化,旨在与缩短收敛时间,在加快收敛速度的同时保证网络稳定
端口状态由原来的五种,变为了Discarding、Learning、Forwarding三种状态
RSTP的端口角色:
根端口:forwarding状态
指定端口:forwarding状态
alternate端口:discarding状态,同一个网桥的根端口的备份
backup端口:discarding状态,同一链路的指定端口的备份
引入边缘端口:
针对连接终端设备的交换机接口,不参与RSTP生成树的计算,直接进入转发状态
3个快速收敛机制
- 边缘端口:连接终端的接口,需手动配置
- 根端口快速切换:新的根端口对端的指定端口处于forwarding状态,则这个根端口可以直接进入forwarding状态,不需要等待30s
- 指定端口的快速切换:P/A机制,点到点链路,逐链路收敛
作为保护机制,环路保护与根保护不能在同一端口下配置
其余命令
dis stp :查看生成树信息,通过比对CIST Bridge和CIST root的值是否相同来确定该设备是否为根桥设备
dis stp br:看到该设备各个接口的简要信息
stp cost 1:设置每条路径的开销值