线路冗余
设备冗余
网关冗余
UPS冗余
二层环路的问题
1,广播风暴 --- 广播帧在二层环路中会形成顺时针和逆时针转动的两层环路,并且无限
循环,最终导致设备宕机,网络瘫痪。
2,MAC地址表的翻摆(MAC地址表的漂移) --- 同一个数据帧,顺时针接收后将记录
MAC地址及接口在对应信息,之后,逆时针还会再更改一遍,如此循环,导致MAC地
址表内容一直再翻滚。
3,多帧复制
生成树
在二层交换网络中,逻辑上阻塞部分的接口,实现从根交换机到所有节点位移的且最短的路径,生成一个没有环路的树形拓扑,当最佳路径出现故障时,则可以打开个别阻塞的端口,形成备份路径。
802.1D --- 由IEEE组织颁布的共有协议 --- 标准的STP协议
PVST,PVST+ --- 思科根据标准的STP研发的私有的生成树协议
RSTP --- 快速生成树 --- 802.1W
MSTP --- 多生成树协议 --- 802.1S
802.1D生成树协议
STP使用的数据包 --- BPDU --- B --- Bridge;PDU --- 协议数据单元
配置BPDU,TCN BPDU
配置BPDU的数据包结构
协议版本ID ---- 标准的802.1D生成树协议 --- 0
802.1W(RSTP) ---- 2
802.1S(MSTP) ---- 3
标记 --- 8位 --- 在802.1D当中,只应用了最高位(TCA --- 拓扑变更确认标记)和最低位(TC --- 拓扑变更标记),中间6位为保留。
网桥ID --- BID --- 网桥指交换机,因为最终需要整个交换网络生成一个树形拓扑,所以,需要对每一个交换设备进行身份标识,则使用BID来完成区分和标定。 ---- (一个交换网络生成一棵树是802.1D的做法)
根网桥ID --- RID --- 为根网桥的BID。
8个字节 --- 优先级(2个字节) + MAC地址(6个字节)
如果一台交换机存在多个MAC地址时,则将选择所有MAC地址中数值最小的作为桥ID中的MAC地址。
根路径开销 --- RPC --- 表示的是发送BPDU的交换设备到达根网桥的开销大小。
接口ID --- PID --- 发送该BPDU接口的身份标识
2个字节 --- 优先级(4位) + 接口的标识(12位)
---- 以上四个参数都将参与STP生成树的结构选举。
消息寿命 --- 它存在一个最大跳数(MAX-HOP),这个值默认位20,即如果一个BPDU他的消息寿命超过20时,则接受的设备将不再处理该BPDU。
TCN BPDU --- 只包含配置BPDU中前三个参数。
配置BPDU的工作过程
所有交换机刚启动,所有接口都激活STP,一开始,并不知道谁是根,则所有设备都将判定自己为根网桥,从字节的所有激活了STP的接口发送配置BPDU,则其中将包含本机参数。之后,所有设备都交换参数后,将根据参数数值进行选举,之后,将选举出一个真正的根网桥。之后,只有根网桥将周期的发送配置BPDU,而其他非根网桥只能在接受到根网桥发送的BPDU后进行转发。(转发时可以修改其中的参数。) --- 发送周期为2S,MAX age --- 20S。
TCN BPDU
主要针对本地交换链路故障后,STP将重新收敛,为了加快刷新交互机的MAC地址表,将向本地所有STP接口发送TCN BPDU,邻居交换机收到TCN BPDU后将回复一个TCA位置1的配置BPDU,用于可靠性传出,之后将TCN BPDU逐级转发到根网桥处,由根网桥下发TC标记位置1的配置BPDU,逐级下发给所有的交换机,所有交换机在收到后将临时的将300S的MAC地址老化时间改为15S。
根网桥 --- RB
根端口 --- RP
指定端口 --- DP
非指定端口 --- NDP
1,选举根网桥 --- 802.1D当中,一个交换网络有且仅有一台根网桥
选举方法 --- 比较配置BPDU中的BID
8个字节 --- 优先级(2个字节) + MAC地址(6个字节)
先比较优先级,优先级越小越优 ---- 0 - 65535,实际取值范围为0 -61440,默认取值为32768。
这个优先级,实际只使用了前4位。后面12位被称为
扩展系统ID
。因为只使用了四位,每一位代表4096。在修改优先级时,也必须按照4096的倍数来进行修改。
如果优先级相同,则将比较MAC地址,取MAC地址数值最小的当根网桥。
2,选举根端口 --- 每一台非根网桥上,有且仅有一个,离根网桥最近的接口,用来接受来自根网桥发送的配置BPDU,不能被阻塞。
华为设备支持以上三种RPC的评判标准,默认选择的是802.1t中定义的标准。
[Huawei]stp pathcost-standard ? --- 修改接口开销值遵循的标准
dot1d-1998 IEEE 802.1D-1998
dot1t IEEE 802.1T
legacy Legacy
[Huawei-GigabitEthernet0/0/1]stp cost ? --- 自定义接口开销值
INTEGER<1-200000000> Port path cost
1,比较入向的配置BPDU的开销值,选择最小的接口作为根端口。
2,如果存在多个接口入向开销相同时,则将会对比对端设备的BID,选择BID小的设备所对应的接口作为根端口。
3,如果存在对端设备的BID也相同的情况时,则将比较对端的PID,PID小的端口所对应的端口为根端口。
2个字节 --- 优先级(4位) + 接口的标识(12位)
优先级每一位代表16,则其取值范围 0 - 240,默认取值为128。所以,在修改优先级的时候,必须按照16的倍数来进行修改。优先级越小越优。
优先级相同,则比较接口编号,接口编号也是越小越优。
4,如果对端的PID也相同,则将比较本地的PID,取本地PID小的作为根端口。
3,选举指定端口 --- 在每条链路上有且仅有一个端口作为指定端口,用于转发根网桥发
送的配置BPDU,不能被阻塞。
首先,根网桥所有的端口都是指定端口
其次,所有存在根端口的链路,则其对端端口必然指定接口
1,比较端口发出根网桥的BPDU的RPC值
2,比较本地的BID值,BID值小的所对应的端口为指定端口。
3,当本地BID也相同时,则将比较本地PID,取本地PID小的作为指定端口。
4,如果本地PID也相同,则将直接堵塞该接口
4,非指定端口 --- 剩余没有角色的端口均为非指定端口,则需要进行逻辑堵塞。
生成树协议状态
1,禁用 --- 1,接口关闭情况下;2,接口禁用生成树协议
2,
阻塞
--- 生成树协议激活接口后进入的第一个状态。该状态下,接口只能侦听BPDU,不能转发BPDU和业务帧,也不能学习MAC地址
一开始所有接口都进入阻塞状态,则都不发送配置BPDU,这样,所有接口都侦听不到BPDU,则20S老化时间后将进入下一个阶段。
3,侦听 --- STP角色选举阶段,这个状态下可以收发BPDU,但是不能转发业务数据,也不能学习MAC地址。
这个状态下不允许转发业务数据,主要是因为为了防止在角色没有完全选出来时,可能出现临时环路,导致业务流量入环。侦听状态需要停留一个转发延迟时间,默认为15S,这个时间就是用来选举的时间。即使,角色选举提前结束,也需要等到时间到达再进入下一个状态。角色选举完成后,不是所有的接口都进入下一个学习状态,而是根端口和指定端口可以继续进行,非指定端口则将退回到阻塞状态。
4,学习 --- 该状态需要停留15S,只学习业务数据帧中的MAC地址,但是不进行转发。
其目的在于减少在MAC地址没有记录时,未知单播泛洪操作。
5,
转发
--- 可以正常的接受发送BPDU及业务数据
802.1D收敛时间
--- 30S或50S
首次收敛:50S
结构突变:
1,根网桥故障:50S
2,直连链路故障:30S
3,非直连发生故障:50S