STP
Spanning-tree protocol;生成树协议
作用
在二层网络与交换中,出现链路冗余的同时,防止环路的产生。也只有在出现环路与链路冗余的情况下,STP才会生效。
生成树是基于vlan存在
- 交换网络中
- 二层中
- 出现环路的情况下
条件
- 交换机的角色:原则:任何一个交换机在STP中的名字BID(bridge id)
- 根交换机:
- 非根交换机:
BID:优先级(2字节)+MAC组成(6字节)[主板mac地址,也叫基地址];
Show version —— base mac address
指定原则:
首先比较优先级,其次比较MAC地址,越小越好,优先级默认为32768
优先级变更命令 spanning-tree vlan 1 priority 4096(必须是4096的倍数)
- 端口的角色:原则:通过距离区分端口的优劣
- 根端口(root):任何一个非根交换机上,有且只有一个距离根交换机最近的端口,只会出现在非根交换机
- 指定端口(desg):任何一个"冲突域/网段",由且只有一个距离根交换机最近的端口。根交换机的端口都是指定端口。
- 非指定端口(altn):其他端口
- 距离的概念:到根交换机的距离的表示: cost—开销(默认:10M~100,100M~19,1G~2)
- 指定原则:
- 比较cost距离,BPDU在传输过程中,cast会将传递方向上的入端口cost值累加。
- 比较mac地址
- 比较端口大小
- 端口状态:
- forwording:(FWD)转发 block:(BLK)阻塞
- 中间的其他状态:listening(侦听状态15s) learning(学习状态15s)
注释:Trunk链路,是以广播的形式进行通信传播
配置命令
- Show spanning-tree:查看生成树的相关信息。
- Root ID :根ID
- Bridge ID :
- Role - root
- No spanning tree vlan 1:关闭生成树,生成树基于vlan ,默认是打开的。
- spanning-tree vlan 1 priority 4096,优先级变更命令 (必须是4096的倍数),优先级默认为32768;优先级表示:必须是4096的倍数,只有2的4次方个表示。
- (查询到的优先级值=vlan号+priority值)
BPDU—STP报文
桥接协议数据单元 bridge protocol data unit
- Root-id:表示根交换机的id信息
- Cast:表示去往根交换机的距离,BPDU在沿路转发时候,cast是在入口累计。
- Bid:表示发送该BPDU的交换机的id
- Port-id:表示该BPDU报文的发出端口
注释:
计时器;链路故障;网络收敛
- 二层网络收敛时间:30~50s,15+15(forword delay)+20(max-age)[转发延迟时间+最大存活时间]
- max-age:最大存活时间20s,会确认对方链路已经故障,20s之后会端口角色转变。
- Hello:计时器,交换机周期性发送BPDU时间,2s一次。
- Forword-delay:转发延迟时间,在侦听和学习状态下,分别停留15s。
- VLAN总计有2的12次方
类型
STP:802.1d,生成树,公有标准。-------PVSTP(per-vlan STP):
RSTP:802.1w快速生成树,公有标准。___
MSTP:802.1s多生成树,公有标准。
Sys-id-ext:扩展系统ID,区分vlan
STP负载均衡
STP实现二层链路中vlan的负载均衡
- 基于vlan可以是实现流量的负载均衡(修改vlan的STP优先级值)
- 原理:通过修改优先级,指定相关vlan的根交换机。
- 验证:show vlan #查看相关端口通过的VLAN
Show spanning-tree vlan 1:查看相关vlan通过的端口(查询到的优先级值=vlan号+priority值)
Show interface trunk
注释:
目前设备上默认运行的都是PVST(PVST+)基于vlan的stp