一、STP(生成树协议)
运行在交换机上防止交换机换路的技术
为了提高网络可靠性,交换网络中通常会使用冗余链路。然而,冗余链路会给交换网络带来环路风险,并导致广播风暴以及MAC地址表不稳定等问题,进而会影响到用户的通信质量。生成树协议STP(Spanning Tree Protocol)可以在提高可靠性的同时又能避免环路带来的各种问题。
二、环路引起的问题
交换机之间通过多条链路互连时,虽然能够提升网络可靠性,但同时也会带来环路的问题。
1、环路会引起广播风暴
网络中的主机会受到重复的数据,造成网络堵塞和卡顿。
通过实验体验一下环路带来的影响
实验:
因为华为路由器默认自动开启了stp功能,我们做这实验时先把交换机的stp功能关闭。
stp disable 所有交换机都这样关闭(因为华为交换机默认都开启STP)
[LSW6]stp disable
[LSW7]stp disable
[LSW8]stp disable
我们配置 pc9的ip地址为192.168.1.2/24
用PC ping 192.168.1.3,触发一个广播包,并抓包
ping测后发现一直在发广播包,已经形成广播风暴了
当我们再次开启stp后抓包,stp enable
2、环路相起MAC地址表震荡
三、STP作用和本作原理
1、STP的作用,通过运行STP的算法,阻塞特定的接口实现冗余无环的网络。
2、工作原理
原理:阻塞端口(预备端口)通过选举阻塞端口,来防止环路
1)STP中的选举步骤和端口状态
选举步骤:
①、选举ROOT-SW根网桥
② 、选举根端口RP(root port)
③、选举指定端口DP(Designate port)
④、其余的端口被Block阻塞
⑤stp选举时候端口状态(15s 到listening,选举就结束了)
1、根桥选举
每一台交换机启动stp后,都认为自己是根桥。启动stp后在整个网络先选出根桥,
通过BID进行比较(BID由优先级+mac地址组成)先比较优先级,在比较MAC地址,越小越优先。根桥上面的端口都是DP(指定端口)。
如下图红框的是每个交换机的优先级和MAC地址,优先级都是32768,那再拿MAC地址进行比较。
2、选择根端口RP
非根桥的交换机选举根端口root prot(根端口有且仅有一个)到达根桥最近的端口当选为跟端口。
3、选举指定端口DP
1)、比较同一段链路上2个端口到根的cost,较小的一个端口成为DP,如果相同再比较对端BID(Sender BID)。
2)、比较同一段链路上的2个端口的对端BID(Sender BID),较小的一个端口成为DP
4.剩下的端口全部被阻塞
注:可以通过修改交换机stp的优先级来确定哪台交换机主根桥,交换机有dwon到转发状态大概经过30S,分为down—–listening—–learning—–forwarding四个过程
华为交换机默认己开启stp,stp的模式默认为mstp
stp有三种模式:
mstp Multiple Spanning Tree Protocol (MSTP) mode
rstp Rapid Spanning Tree Protocol (RSTP) mode
stp Spanning Tree Protocol (STP) mode
四、操作实验
1、因为华为交换机默认stp的模式默认为mstp,我们把交换机的stp模式都改为stp
把三个交换机stp模式改为stp
LSW3 <Huawei>sys [Huawei]sysname LSW3 [LSW3]stp mode stp LSW4 <Huawei>sys [Huawei]sysname LSW4 [LSW4]stp mode stp LSW5 <Huawei>sys [Huawei]sysname LSW5 [LSW5]stp mode stp
2、查看每个交换机的stp工作信息
[LSW3]dis stp brief MSTID Port Role STP State Protection 0 GigabitEthernet0/0/1 DESI FORWARDING NONE 0 GigabitEthernet0/0/2 DESI FORWARDING NONE [LSW4]dis stp brief MSTID Port Role STP State Protection 0 GigabitEthernet0/0/1 ROOT FORWARDING NONE 0 GigabitEthernet0/0/2 ALTE DISCARDING NONE [LSW5]dis stp brief MSTID Port Role STP State Protection 0 GigabitEthernet0/0/1 DESI FORWARDING NONE 0 GigabitEthernet0/0/2 ROOT FORWARDING NONE
通过实验可以得出上图结果
由上面信息可以看出,LSW3是根桥,LSW4 GE0/0/1和LSW5 GE0/0/2是根端口 LSW5 GE0/0/1是指定端口, LSW4 GE0/0/2 端口阻塞
五、常用命令
1、查看交换机stp的状态信息
[Huawei]dis stp
2、查看交换机stp下各端口的状态
[Huawei]dis stp brief
3、修改交换机的stp优先级
如果想指定一台交换机做为根网桥可修改交换机stp的优先级,先级最低是4096,修改必须是4096的倍数
stp priority 4096
4、指定交换机成为根桥
[SW] stp root primary ###此时这台设备的优先级为0
5、指定交换机称为次根桥
[SW] stp root secondary ###此时这台设备的优先级为4096
6、启动生成树
[SW] stp enable
六、故障恢复期
根桥会每隔2s发送BPDU(Hello Time),如果其它非根交换机连结果十个周期(即20s)收不到根桥发送的BPDU,会认为根桥发生故障,重新选举根桥。
由根桥故障或直连链路故障到重新选举根桥和恢复,需要30秒时间。