一、STP(生成树协议)

运行在交换机上防止交换机换路的技术 

  为了提高网络可靠性,交换网络中通常会使用冗余链路。然而,冗余链路会给交换网络带来环路风险,并导致广播风暴以及MAC地址表不稳定等问题,进而会影响到用户的通信质量。生成树协议STP(Spanning Tree Protocol)可以在提高可靠性的同时又能避免环路带来的各种问题。

二、环路引起的问题

交换机之间通过多条链路互连时,虽然能够提升网络可靠性,但同时也会带来环路的问题。

十一、STP(生成树协议)-冯金伟博客园

 1、环路会引起广播风暴

网络中的主机会受到重复的数据,造成网络堵塞和卡顿。

通过实验体验一下环路带来的影响

实验:

十一、STP(生成树协议)-冯金伟博客园

因为华为路由器默认自动开启了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后抓包,stp enable

十一、STP(生成树协议)-冯金伟博客园

 2、环路相起MAC地址表震荡

十一、STP(生成树协议)-冯金伟博客园

三、STP作用和本作原理

 1、STP的作用,通过运行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地址进行比较。

十一、STP(生成树协议)-冯金伟博客园

十一、STP(生成树协议)-冯金伟博客园

 十一、STP(生成树协议)-冯金伟博客园

 十一、STP(生成树协议)-冯金伟博客园

2、选择根端口RP

根桥的交换机选举根端口root prot(根端口有且仅有一个)到达根桥最近的端口当选为跟端口。

3、选举指定端口DP

1)、比较同一段链路上2个端口到根的cost,较小的一个端口成为DP,如果相同再比较对端BID(Sender BID)。

2)、比较同一段链路上的2个端口的对端BID(Sender BID),较小的一个端口成为DP

4.剩下的端口全部被阻塞

十一、STP(生成树协议)-冯金伟博客园

注:可以通过修改交换机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

四、操作实验

十一、STP(生成树协议)-冯金伟博客园

 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 

十一、STP(生成树协议)-冯金伟博客园

 通过实验可以得出上图结果

 由上面信息可以看出,LSW3是根桥,LSW4 GE0/0/1和LSW5 GE0/0/2是根端口 LSW5 GE0/0/1是指定端口, LSW4 GE0/0/2 端口阻塞

五、常用命令

1、查看交换机stp的状态信息

[Huawei]dis stp

十一、STP(生成树协议)-冯金伟博客园

2、查看交换机stp下各端口的状态

[Huawei]dis stp brief 

十一、STP(生成树协议)-冯金伟博客园

 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秒时间。