STP生成树
stp生成树是用于解决二层环路问题的协议。
二层环路为有以下三种:
1.广播风暴
2.MAC地址的偏移(每一次循环,都会导致交换机来回刷新MAC地址表记录)
3.多帧复制
stp生成树:需要将原本的环型拓扑结构转换为最短路径树生成树;通过逻辑上阻塞一些接口,从而生成最短路径树,达到解决环型拓扑的目标,并且会实时的监听整个拓扑环境是否发生结构突变,会自动将原本阻塞的一些接口重新打开。
stp生成树传递的报文为BPTU报文
配置BPDU:stp用来协商参数的报文
TCN-BPDU:会实时监听整个拓扑环境是否发生改变,一旦检测到结构变化则会通告TCN-BPDU
stp生成树的报文:
Root ID---RID
Bridge ID--BID,作用:
1.用来标识和区分不同的运行stp的交换机设备的身份
2.用来协商生成树角色
BID的组成:前16位二进制是优先级,后48位二进制是设备的MAC地址。生成树的所有协商参数均为越小越优先
RPC:根路径的开销,设备接口达到根桥的开销值
Port ID:16位二进制,前4位是优先级,后12位是发出该配置BPDU的接口编号
TCN-BPDU作用:
1.通知网络结构发生变化
2.用来刷新MAC地址表中的错误记录,存在逐级上报的机制(避免重复的刷新MAC地址表)
远端设备检测到自身网络结构发生变化,会主动向所有运行了stp的接口发送TCN-BPDU,其它设备收到之后会回复TCA--标志位为1的配置BPDU用来做确认,其次会不断逐级转发一直到根桥设备,之后根桥设备会主动发送TC标志位(拓扑变更标志位)为1的配置BPDU,最终该报文会传递到整个交换网络所有设备,这些设备收到该TC置1的报文,会将自身MAC地址老化时间设置为15s,用来刷新错误信息
生成树一共要选举以下四种角色:
根网桥RB--整个交换网络必须选择唯一的一个根桥设备
根端口RP--所有非根设备必须选择唯一一个端口成为根端口,用来接收根桥发送的配置BPDU
指定端口DP--一段链路需要选举唯一的一个角色,用来转发根桥发送的配置BPDU
非指定端口NDP--剩下所有没有角色的端口就是非指定端口,最终需要被阻塞的端口
当角色选举完成之后,只有根桥设备会主动发送配置BPDU报文,其它非根桥设备仅转发由根桥产生的配置BPDU
根网桥RB,整个交换网络必须选择的唯一一个设备,会比较BID,BID最小的设备会成为根桥
BID作用:
1.用来标识和区分不同的运行stp的交换机设备的身份
2.用来协商生成树角色
比较规则:先比较优先级,再比较MAC地址
根端口RP--所有非根设备必须选择唯一一个端口成为根端口,用来接收根桥发送的配置BPDU
RPC--类似cost
生成树RPC(开销)的计算公式==沿途所有的入接口的开销值累加和
接口的开销值:
根端口选举规则:
1.会比较接口的入向RPC值,会选择入向RPC值更小的接口作为根端口,入向RPC值----接口收到的配置BPDU中携带的开销值
2.如果RPC值一致,那么会比较收到的配置BPDU中对端设备的BID大小,会选择BID更小的设备所对应的接口
3.如果对端设备BID一致,那么会比较对端设备的PID,选择最小的PID对应的接口
4.如果对端设备PID一致,那么会比较自身设备的PID,选择更小PID对应的接口
指定端口DP--设备用来转发根网桥发送的配置BPDU的接口,每段链路都需要选择一个接口成为指定端口
选举规则:
1.选择接口出向RPC值最小的端口作为根端口(出向RPC:设备发出的配置BPDU中携带的RPC值)
2.会比较自身本地的配置BPDU中携带的BID,选最小的
3.当本地BID一致那么会比较发出接口的PID,选择接口PID小的接口作为指定端口
4.当收到的配置BPDU报文PID一致,那么会直接阻塞该端口
stp的端口状态:
undo stp enable 直接禁用stp协议
[Huawei-GigabitEthernet0/0/1]undo stp enable 仅关闭一些接口的stp协议,一般对于三层接口建议接口关闭stp协议
阻塞状态的作用:所有运行stp协议的接口最先进入的状态,为了避免此时协议刚开始还没彻底收敛就已经出现环路问题
初次收敛时,因为所有设备的接口都是阻塞状态,会导致没有任何设备发送 BPDU报文,无法协商参数,所以设备会自动关联最大寿命,如果20S没有收 到任何BPDU报文,那么会视为根桥故障,会自动进入侦听状态,主动发送BPDU报文
侦听状态:STP进行角色选举的状态,一旦接口被选举未根端口或者指定端 口均会进入下一个状态(会经过15S的选举时间,为了让所有设备所有接口均完成角色选举,避免临时环路---一些设备任处于选举过程中,角色没有选完,自然不会阻塞接口),如果接口被选举未非指定端口,那么该接口最终回退到阻塞状态