STP
(一)、STP技术的概念
一、产生背景:
1.链路冗余(减少单点故障,增加网络可靠性)
网络链路和设备的冗余性(避免网络不够健壮导致的 单点故障 )
链路的冗余会形成 交换网络的环路
2.环路的影响
广播风暴:
广播信息在网络中不停地转发,直至导致交换机出现超负荷运转,最终耗尽所有带宽资源、阻塞全网通信
工程现场:如果发现交换机的灯疯狂闪烁、肯定存在环路
造成广播风暴的原因:二层的广播报文,没有TTL的限制,会一直存在,并且再二层环路,原来越多
如何解决广播风暴: 无解、重启设备
多帧复制:
单播的数据帧被多次复制传送到目的站点 ,在链路上会消耗带宽,消耗计算机的计算资源
不稳定的CAM表(MAC地址表抖动):
由于相同帧的拷贝在交换机的不同端口上被接收而引起的 MAC地址表不稳定
交换机的一个接口能对应多个MAC地址。但是,一个MAC地址,只能对应一个接口
MAC地址被 反复的记录在交换机的不同接口上,引起CAM表的抖动,影响交换机的正常通信。
有没有一种方法, 在保证冗余的同时又不会有环路的危害?
##注解:冗余是物理链路上的冗余,但是逻辑上是要破除二层的环路的。
既要冗余,还要无环,使用自动化的形式来实现===》 STP
二、STP操作:
1..生成树协议概述
IEEE 802.1d STP(生成树协议,Spanning-Tree Protocol)
使冗余端口置于“阻塞状态” 网络中的计算机在通信时,只有一条链路生效 当这个链路出现故障时,将处于“阻塞状态”的端口重新打开,从而确保网络连接稳定可靠
2.生成树是如何实现的?
通过协议:STP IEEE=802.1d
(通过阻塞网络中某一个接口,实现物理线路正常连接,逻辑上接口down,避免环路危害)
具体要阻塞哪一个端口?交换机之间的协商出来的===》BPDU报文,交换机通过BPDU中的关键的参数,进行选举,选举出来的结果,就是要阻塞的端口
##注解:1.生成树协议的BPDU
交换机或者网桥之间周期性地发送STP的桥接协议数据单元(Bridge Protocol Data Unit ,BPDU)
用于实现STP的功能 每2秒发送一次的二层报文 组播发送,组播地址为:01-80-C2-00-00-00
2.BPDU的传播
BPDU(更小的Root BID或者更小的Root Path CoSTP刚启动时,每台交换机都认为自己是根网桥,向外泛洪BPDU 当交换机的一个端口收到高优先级的st等等)
就在该端口保存这些信息,同时向所有端口更新并传播信息 如果收到比自己低优先级的BPDU,交换机就丢弃该信息
3.STP工作过程
第一步:选举一个根网桥
第二步:在每一个非根网桥上选举一个根端口
第三步:在每一个网段上选举一个指定端口
第四步:阻塞非根、非指定端口
4.SYP的选举过程
选举根桥 *
根桥---Root bridge 桥==交换机
最低网桥ID的交换机将成为根网桥
比较BPDU中的关键参数 BID== bridge id 桥优先级+MAC地址 优先 级的范围0-65535(默认值32768),配置4096的倍数
根桥是从所有的交换机中选举出来的,BID优先级越小越优先,如果优先级相同,比较MAC地址,越小越优先
选举根端口 *
所有非根桥交换机的端口都参加选举
cost of path => 入方向的接口到达根桥的路径开销,越小越优先(接口到达根路径的开销值)
sender bid => 这个接口对端交换机的BID(BID== bridge id 桥优先级+MAC地址 优先级的范围0-65535(默认值32768)),越小越优先(BID越小,越靠近核心层)
sender pid =>接口对端交换机的pid( 端口ID) =优先级+端口编号组成 优先级的范围(0-255,默认128), 优先级和端口编号都是越小越优先
local pid => 本地端口号,越小越优先
注意: 所有非根桥交换机的交换机,必须有根端口,有且只有一个
STP路径成本(开销值):
选举指定端口 *
所有的非根桥交换机空余链路中选出来的指定端口(在两台交换机之间的链路上选举出来的)每条链路上只能有一个指定端口
1、选举方式 : COST值
此处的cost值是当前接口所在交换机的根端口到达根桥的开销(根路径开销)
2、如果开销值一样:比较所在设备的BID,越小越优先
3、若BID也相同,则比较所在交换机的PID(端口ID)
根桥上所有的端口都是指定端口(有特殊情况)
根端口对端交换机的接口也是指定端口
阻塞端口(非指定端口)*
剩下的端口就是被阻塞的端口
(二)、通过ensp来查看根桥、根端口、指定端口和阻塞端口
1.交换机默认开启 STP
stp enable(开启STP) disable(关闭STP)
2.各种命令
1.查看每台交换机的命令:display stp
[Huawei]display stp
CIST Bridge :32768.4c1f-cc7f-0d88 ##本机的BID
CIST Root/ERPC :32768.4c1f-cc7f-0d88 / 0 ##根桥的BID
2.----[Port1(GigabitEthernet0/0/1)][FORWARDING] ##转发状态
----[Port2(GigabitEthernet0/0/2)][DISCARDING] ##阻塞状态
Port Role :Root Port # 根端口
Port Role :Designated Port # 指定端口
3.[Huawei]stp root primary ##将交换机的优先级改到0
4.将交换机设置为备份根桥
[Huawei]stp root secondary ##备根桥,优先级4096
5.手动修改交换机的桥优先级()
stp priority 优先级数 ##优先级需要为4096的倍数
注解:1.STP的选举是需要一定的时间的,在刚开始选举的时候,所有的交换机都会认为自己是根桥。交换机就会都发送BPDU
2.在选举完成后,只有一个根桥,只有根桥才会发送BPDU,
3.非根交换机的根端口接受BPDU,指定端口负责转发BPDU