STP的作用
a)Stp通过阻塞端口来消除环路,并能够实现链路备份目的
b)消除了广播风暴
c)物理链路冗余,网络变成了层次化结构的网络
STP操作
- 选举一个根桥
- 每个非根交换机选举一个根端口
- 每个网段选举一个指定端口
- 阻塞非根,非指定端口
STP--生成树协议:作用专门设计出来解决二层环路问题的协议
线路冗余 设备冗余
交换机的广播风暴:洪范的数据帧在交换机之间来回循环发送,浪费资源
MAC
地址表的偏移
多帧复制
交换机会逻辑的阻塞一些端口,从而将一些链路断开,形成一种树形结构,从而形成无环的拓扑,之后当网络结构发生变换,STP
会监控整个网络,进而将原本阻塞的一些端口重新打开,形成备份路径
最短路径树--
IEEE组织
STP---802.1D标准下提出了生成树协议
PVST PVST
+——思科提出的私有协议
RSTP-
快速生成树 802.1W
MSTP
--多生成树 802.1t标准提出
STP
,一个交换网络只生成一颗树
跨层封装的协议---跨三四层封装的协议
STP
发送的数据包称为
BPDU----
网桥协议数据单元
配置
BPDU
---用来做生成树的角色选举
为了计算生成树,交换机之间需要交换相关的信息和参数,这些信息和参数被封装在BPDU( Bridge Protocol Data Unit )中。
BPDU 有两种类型:配置 BPDU 和 TCN BPDU 。
配置BPDU 包含了桥 ID 、路径开销和端口 ID 等参数。 STP 协议通过在交换机之间传递配置 BPDU 来选举根交换机,以及确定每个交换机端口的角色和状态。在初始化过程中,每个桥都主动发送配置 BPDU 。在网络拓扑稳定以后,只有根桥主动发送配置 BPDU ,其他交换机在收到上游传来的配置 BPDU 后,才会发送自己的配置 BPDU 。
TCN BPDU是指下游交换机感知到拓扑发生变化时向上游发送的拓扑变化通知。
STP--PVI
为0 RSTP 2 MSTP 3
ROOT-ID RID---指的是最终被选择成为树根设备的ID
Brige ID B-ID---指的是交换机的编号
前16为二进制为设备的优先级
后
48
位为设备的
MAC
地址---
RPC
--根路径开销:非根设备到达根设备的开销
PORT
-ID PID---前四位是接口的优先级,后12位是接口的编号
消息寿命默认是
20
TCNBPDU
---拓扑发送变化之后会发送TCN
BPDU---刷新MAC地址表
只包含三个参数
一个是
PID
--协议ID
PVI--协议版本
BPDU
-type 0X80代表TCN-BPDU
配置BPDU---选举生成树角色
根桥:生成树里面的‘老大’,桥id最小
备份根桥:生成树里面的“二把手”,老大挂了的时候,我当老大,桥ID第二小。
非根交换机:干活的小弟,都有一个根端口
根端口:离根桥最近的端口
指定端口:根桥所有参与生成树选举的端口,都一定是指定端口
非根非指定端口:被阻塞的端口---备用链路的端口
路径开销:是端口Cost值,可以用来选择最优的路径,值越小越优。根路径开销是端口到达根桥的过程中累计的路径开销。
BID:桥ID:是由桥优先级和桥MAC地址构成,桥优先级为高16位,MAC地址是低48位。
PID:端口ID:是由端口优先级和端口号构成,端口优先级为高4位,端口号 根网桥(R B)---整个交换网络需要选择唯一的根设备 根端口( R P)--所有非根设备都需要选择至少一个接口成为根端口(用来接收配置BPDU)
指定端口( D P)---每段链路都会选择一个接口成为指定接口(用来转发配置BPDU)
非指定端口(N DP)---最终会被阻塞的端口--没有角色的接口都是非指定端口
根网桥(
R B
)---整个交换网络需要选择唯一的根设备
设备对比配置
BPDU
的参数后选择----根据配置
BPDU中的BID选择
Brige ID B-ID---指的是交换机的编号
前16为二进制为设备的优先级
后
48
位为设备的
MAC
地址---
优先级---0-65535 设备默认优先级数值为 32768
以4096作为步调修改--- 16 在stp协议中只使用前4位,后12位在MSTP中才使用,实际stp的优先级范围是0-61440
设备优先级的对比规则是数值越小越优--MAC地址根端口( R P)--所有非根设备都需要选择至少一个接口成为根端口(用来接收配置BPDU)----RPC-到达根设备的开销
沿途累加开销----生成树的开销只看入接口开销
入向
RPC
--
1.会选择入向RPC值更小的作为根端口
2.会比较对端设备BID,会选择BID更小的设备对应的接口作为根端口
3.选择对端这边PID--接口id更小的作为根端口
PID---16位二进制
前4位是接口的优先级,后12位是接口的编号
0-240
接口默认的优先级是
128---
16作为步调
修改接口优先级
4.如果对端设备PID一样时,将比较自身的接口PID,选择pid数值更小的作为根端口
指定端口--DP
指定端口( D P)---每段链路都会选择一个接口成
为指定接口(用来转发配置BPDU)0。如果一段链路对端是根端口,那么自身一定是指定
1.先比较接口的出向RPC
2.如果出向RPC一样,会看本设备的BID小的作为指定端口。
3,自环,选择自身端口PID更小的作为指定端口
4.只要接口收到自身发送的配置BPDU,则直接将该接口阻塞。
[Huawei]undo stp enable
[Huawei-GigabitEthernet0/0/1]undo stp enable
--只关闭接口生成树
如果在阻塞状态一直没有收到配置
BPDU
则,将等待20s,之后直接进入下一个状态。如果收到的配置BPDU则直接进入下一个状态。listening状态,在进行生成树的选举---并且在生成树必须在
listening状态停留15S才能进入下一个状态。生成树为了避免一些设备选举完成一些设备没有完成的情况(害怕出现临时环路)。一旦在选举过程中,接口被认定为非指定接口,将直接回到阻塞状态。
learning状态:进行MAC地址表的学习,并且会在该状态停留15S,作用:尽量减少发送数据时广播的产生。
最终来到转发状态,这个状态接口才会发送业务数据
生成树初始收敛至少需要50S
的时间。收敛速度慢。
根桥设备故障--需要50S的时间重新选举角色 (重新收敛)
直连链路故障--
当根端口故障,但是设备还可以通过其他的端口收到配置BPDU,那么将直接进入listening状态。之后进入学习状态,一共需要30S
非直连链路故障--当根端口故障,但是设备不能通过其他的端口收到配置BPDU,那么将等待20S后,直接进入listening状态。之后进入学习状态,一共需要50S
配置:
[Huawei]stp enable
-开启协议
[Huawei]stp mode stp
--更改协议模式
[Huawei]display stp
--查看stp的参数---
需要人为干涉生成树的选举结果
[Huawei]stp priority 24576
--修改设备BID的优先级-- 数值越小约优
[Huawei]stp root primary
---配置设备成为根桥设备。实质是将优先级改为0
[Huawei]stp root secondary
---配置备份根桥实质是将优先级改为4096
RSTP +MSTP
1.收敛速度慢的问题--RSTP
2.链路利用率低---MSTP
RSTP---
RSTP
改进点
1.变更端口角色---根端口 指定端口 非指定端口
根端口 指定端口 替代端口(
ALTE
) 备份端口(backup)
替代端口(
ALTE
)---替代端口的作用是作为根端口的备份--当设备的根端口故障后,会从自身其他的替代端口中选择参数最优的作为新的根端口。
生成树比对配置
BPDU
中的一些参数最终参数不优的一些端口---不是根端口和指定端口备份端口(backup)---指定端口的备份:如果一个接口收到了自身发送的配置BPDU则该端口为备份端口。
2.修改端口状态---
禁用,阻塞,侦听,学习,转发--
DISCARDING
----丢弃状态:不能转发业务数据也不能进行MAC地址表的学习
Learning--学习状态:不能转发业务数据,但是可以进行MAC地址表的学习
FORWARDING
---转发状态---即能转发业务数据,也可以进行MAC地址表的学习
3.修改了配置BPDU报文中一些参数
P/A
机制---相当于是RSTP收敛速度的优化措施,本质是将已经选择出角色的端口(指定端口)直接进入转发状态,不需要等待生成树的计时器
同步状态是为了保证自身后面的交换网络漫游临时环路。
4.加快了生成树的失效判断时间--在STP中该时间为MAX AGE默认 20s,在RSTP中将其优化为3个周期时间(2s)
5.快速收敛机制---总结
1.根端口和指定端口的快速切换---本质是设计了两个新端口角色,省去了重新选举的时间
2.P/A机制
3.边缘端口
[Huawei-GigabitEthernet0/0/3]stp edged-port enable ----作用让连接PC的端口直接进入转发状态
[Huawei-GigabitEthernet0/0/3]stp bpdu-filter enable ----相当于过滤该接口的bpdu
[Huawei]stp bpdu-protection
---BPDU保护---如果边缘接口收到配置BPDU将直接变成普通端口进行角色选举
6.拓扑结构发生变化的处理机制---RSTP如果发生拓扑变更将直接发生TC置为1的RST-BPDU直接让其他设备将MAC地址表老化时间改为15S。
MSTP
---多生成树协议
改进点1.考虑了VLAN,MSTP生成树提出了实例的概念(instance )Instance的取值范围----0-4094
0---默认情况下所以VLAN都属于实例0
同时MSTP还提出了域的概念(region)---单域MSTP交换网络
1.域名必须相同---region name必须一样
2.必须具备相同的修订等级--revision level
3.相同的VLAN和实例映射关系
MSTP
配置:
1.配置VLAN
[Huawei]vlan batch 1 to 10
[Huawei-GigabitEthernet0/0/2]port link-type trunk
[Huawei-GigabitEthernet0/0/2]port trunk allow-pass vlan 1 to 10
[Huawei]stp enable
[Huawei]stp mode mstp
[Huawei-mst-region]region-name aa
-配置MSTP域名称
[Huawei-mst-region]revision-level 1
--修改修订等级,可以不修改
[Huawei-mst-region]instance 1 vlan 1 to 5
[Huawei-mst-region]instance 2 vlan 6 to 10
--配置VLAN和实例映射关系
[Huawei-mst-region]active region-configuration
---必须激活配置
修改
MSTP
实例优先级
[Huawei]stp instance 1 root secondary
--
链路聚合
VRRP
根端口只看接口收到的配置的
BPDU
的情况,指定端口只看发送BPDU
的情况。
配置BPDU--用来STP做角色选举的BPDU,初始情况下交换机没有根的情况下,所有交换机会先把自己当作根设备去发生配置BPDU--之后比对其中的参数,选择唯一的树根。选择出树根之后,只有根设备会每2秒发生配置
BPDU用来设备保活,之后其他设备只转发根设备M发送的配置BPDU。