华为交换机接口环路检测配置(华为交换机生成树stp)
华为交换机接口环路检测配置(华为交换机生成树stp)六、配置STP五、STP工作机制● 消除环路:通过阻断冗余链路来消除网络中可能存在的环路。● 链路备份:当活动路径发生故障时,激活备份链路,及时恢复网络连通性。四、生成树的基本要素
一、产生背景
以太网交换网络中为了进行链路备份,提高网络可靠性,通常会使用冗余链路。但是使用冗余链路会在交换网络上产生环路,引发广播风暴以及MAC地址表不稳定等故障现象,从而导致用户通信质量较差,甚至通信中断。为解决交换网络中的环路问题,提出了生成树协议stp(Spanning Tree Protocol)。
二、分类
三、解决问题
● 消除环路:通过阻断冗余链路来消除网络中可能存在的环路。
● 链路备份:当活动路径发生故障时,激活备份链路,及时恢复网络连通性。
四、生成树的基本要素
五、STP工作机制
六、配置STP
6.1、如下图拓扑,我们使用3台交换机来组成一个环,华为交换机默认就已经开启了STP,模式为MSTP。
我们先将每个交换机的STP模式改成STP,命令如下。
stp mode stp
6.2、分别在每台交换机上查看STP状态,使用如下命令:
display stp brief
6.3、可以看到SW1中有一个指定端口和一个根端口,SW2中有一个预备端口和一个根端口,SW3中两个端口都是指定端口。 其中,预备端口的状态为:discarding,其它都是:forwarding。
指定端口:DESI
根端口:ROOT
预备端口:ALTE
6.4、我们在SW3上查看端口的STP状态:
<sw3>display stp int g0/0/1
如上图的输出结果可以看到,CIST Bridge是指本交换机的桥ID,CIST Root是指根桥的桥ID,
这里两个ID是相同的,说明SW3就是根桥。同样可以查看到桥的优先级(32768)、端口的优先级以及端口的开销值(Cost)。
● 桥ID由16位桥优先级和48位MAC地址构成。
● 华为交换机桥优先级默认为32768,取值0~65535,值越小越优先。
● 如果优先级相同,比较MAC地址,MAC地址也是越小越优先。
6.5、选出根桥(sw3)后,非根桥交换机(sw1和sw2)要选出根端口,分别依据该端口的根路径开销,对端BID、对端PID(port ID)和本端PID来进行选举。
● 路径开销是指非根桥到达根桥所经过的路径上所有接收BPDU端口的端口开销总和,也就是BPDU入方向端口的所有端口开销总和。
● 端口ID由端口优先级和端口号组成。
● 华为交换机默认端口优先级是16,取值0~240,步长为16。端口ID可以用来确定端口角色。
● 通常根端口是距离根桥最近的端口,这个最近的衡量标准就是靠根路径开销RPC来决定的。
● 如果两个或两个以上的端口连接到同一台交换机,则选择发送者PID最小的那个端口作为根端口。
6.6、根端口选出来以后,还再选出指定端口,这个选举是在非根桥之间的网段上进行的。分别依据RPC、BID、PID。未被选举为根端口的端口就成为预备端口并被阻塞。
七、通过配置优先级选新根桥
7.1、在SW1上对指定端口g0/0/1 执行以下命令将其优先级修改为8192。
修改前
stp priority 8192
修改完成后,可以看到SW1成为了根桥,桥ID为8192 MAC地址。
7.2、修改后,SW1变为了根桥,SW2与SW3相连的g0/0/1端口被选为预备端口并被阻塞掉。
八、链路冗余实验
8.1、现在我们关闭SW1上连接SW2的端口,来模拟SW1故障,然后在SW2上查看STP状态,可以看到预备端口立即变为ROOT接口并开始转发数据。
8.1.1关闭SW1上连接SW2的端口
[sw1]int g0/0/1
[sw1-GigabitEthernet0/0/1]shutdown
[sw1-GigabitEthernet0/0/1]dis th
#
interface GigabitEthernet0/0/1
shutdown
#
return
8.1.2在SW2上查看STP状态
<sw2>dis stp b
因为此时的根桥还是SW1,SW3还会收到SW1的BPDU,所以根桥维持不变,SW3也不会有变化。
8.2、现在我们再次在SW1上开启前面关闭的端口,STP拓扑恢复原样,但在下图中可以看到端口g0/0/1
[sw1-GigabitEthernet0/0/1]undo shut
[sw1-GigabitEthernet0/0/1]dis stp b
经历了discarding、Learning后才变为Forwarding状态。这里就涉及到了端口的状态。
● Blocking(阻塞状态): 端口不会参与数据帧的转发。 但是会接收BPDU来检测网络的变化,判断根交换机的位置和根ID,以及在 STP 拓扑收敛结束之后,各交换机端口应该处于什么状态,在默认情况下,端口会在这种状态下停留20秒钟时间。
● Listening(侦听状态): 生成树此时已经根据交换机所接收到的BPDU而判断出了这个端口应该参与数据帧的转发。于是交换机端口就将不再满足于接收BPDU,而同时也开始发送自己的BPDU,并以此通告邻接的交换机该端口会在活动拓扑中参与转发数据帧的工作。在默认情况下,该端口会在这种状态下停留 15 秒钟的时间。
● Learning(学习状态): 端口准备参与数据帧的转发,并开始填写MAC表。在默认情况下,端口会在这种状态下停留 15 秒钟时间。
● Forwarding(转发状态): 端口已经成为了活动拓扑的一个组成部分,它会转发数据帧,并同时收发BPDU。
● Disabled(禁用状态): 端口不会参与生成树,也不会转发数据帧。
九、如何控制根端口的选举
9.1现在SW2上的g0/0/2是根端口,g0/0/1是预备端口。
通过修改端口开销使g0/0/1成为根端口,g0/0/2成为预备端口。
进入端口g0/0/2,使用下面的命令修改其端口cost为2000000。
[sw2]int g0/0/2
[sw2-GigabitEthernet0/0/2]stp cost 2000000
9.2、再次查看,现在在SW2上的g0/0/2变为预备端口,g0/0/1变为根端口。
因为g0/0/2的端口到根桥的开销现在是二百万,远远大于g0/0/1到根桥的开销2万。