STP生成树协议基本配置示例---STP逻辑树产生和修改

STP是用来避免数据链路层出现逻辑环路的协议,运行STP协议的设备通过交互信息发现环路,并通过阻塞特定端口,最终将网络结构修剪成无环路的树形结构。在网络出现故障的时候,STP能快速发现链路故障,并尽快找出另外一条路径进行数据传输。

交换机上运行的STP通过BPDU信息的交互,选举根交换机,然后每台非根交换机选择用来与根交换机通信的根端口,之后每个网段选择用来转发数据至根交换机的指定端口,最后剩余端口则被阻塞。

配置思路

启用STP协议--->配置STP模式--->配置根桥和备份根桥--->配置指定端口

由于默认情况下,运行STP协议的网络中,根交换机、根端口、指定端口选择可能基于交换机的MAC地址的大小,因此带来了不确性,极可能由此产生网络隐患。通过手动配置根交换机、根端口、指定端口更能保障网络稳定性。

示例配置

SW1作为主根交换机,SW2作为SW1的备份根交换机。同时对于S4交换机,E0/0/1接口应该作为根端口。对于S2和S3之间的链路,应该保证S2的E0/0/3接口作为指定端口。同时在交换机S3上,存在两个接口E 0/0/10、E0/0/11连接到测试PC,测试PC经常上下线网络,需要将交换机S3与之相连的对应端口定义为边缘端口,避免测试电脑上下线对网络产生的影响。

网络拓扑图

每台交换机启用STP协议和配置STP模式,配置代码如下:

<Huawei>system-view
[Huawei]sysname SW1
[SW1]stp enable //启用STP协议
[SW1]stp mode stp //配置STP模式为STP

<Huawei>system-view
[Huawei]sysname SW2
[SW2]stp enable
[SW2]stp mode stp

<Huawei>system-view
[Huawei]sysname SW3
[SW3]stp enable
[SW3]stp mode stp

<Huawei>system-view
[Huawei]sysname SW4
[SW4]stp enable
[SW4]stp mode stp

<Huawei>system-view
[Huawei]sysname SW5
[SW5]stp enable
[SW5]stp mode stp

查看每台交换机的stp简要信息:


从上图看出,默认情况下,SW3被选举为根交换机,SW1的根端口为GE 0/0/1,SW2的根端口为GE 0/0/1,SW4的根端口为GE 0/0/1,SW5的根端口为E 0/0/1。但实际上,SW1和SW2交换机性能要优于SW3,应当选举SW1或者SW2为根桥,并设置其中1个交换机为备用根桥,这样网络整体性能更好。

手动配置SW1为根桥,SW2交换机为备用根桥,配置代码如下:

[SW1]stp priority 4096 //设置SW1交换机的stp优先级为4096

[SW2]stp priority 8192 //设置SW2交换机的stp优先级为8192

根交换机在网络中的位置是非常重要的,如果选择了一台性能较差的交换机,或者是部署在接入层的交换机作为根交换机,会影响到整个网络的通信质量及数据传输。所以确定根交换机的位置极为重要。


默认情况下STP交换机的stp优先级为32768


SW1交换机已经被设置为根桥

如上图所示,还有一种方法设置SW1交换机为根桥,即通过命令 stp root primary直接指定SW1为根桥。使用此命令后,设备的桥优先级值会被自动设为 0,并且不能通过命令 stp priority priority来更改该设备的桥优先级。


如上图所示,还有一种方法设置SW2为备份根桥,当SW1发生故障时可以接替SW1成为新的根桥。在设备上执行 stp root secondary命令后,设备的桥优先级的值会被自动设为 4 096,并且不能通过命令 stp priority priority来更改该设备的桥优先级。

SW2的根端口为GE 0/0/3,SW3的根端口为GE 0/0/1,SW4的根端口为GE 0/0/1,SW5的根端口为E 0/0/1。

手动设置SW5的E 0/0/2端口为根端口,配置代码如下:

[SW5-Ethernet0/0/2]stp cost 100000 //设置SW5的E 0/0/2端口开销为100000

SW5的E 0/0/2端口开销默认为200000

生成树在选举出根交换机之后,将在每台非根交换机上选举根端口。选举时首先比较该交换机上每个端口到达根交换机的根路径开销,路径开销最小的端口将成为根端口。如果根路径开销值相同,则比较每个端口所在链路上的上行交换机ID,如果该交换机ID也相同,则比较每个端口所在链路上的上行端口ID。每台交换机上只能拥有一个根端口。


SW5的GE 0/0/2端口已经被设置为根端口

手动设置SW3的GE 0/0/2端口为指定端口,配置代码如下:

[SW3-GigabitEthernet0/0/1]stp cost 10000 //设置SW3的GE 0/0/1端口开销为10000

SW3的GE 0/0/1端口开销默认为20000


修改SW3的GE 0/0/1端口开销为10000,SW3的GE 0/0/2端口根路径开销为10000,小于SW2的GE 0/0/1端口根路径开销20000,则SW3的GE 0/0/2端口为指定端口。

stp边缘端口设置

华为交换机STP里面,如果某一个指定端口位于整个网络的边缘,即不再与其他交换设备连接,而是直接与终端设备直连,这种端口叫做边缘端口。边缘端口一般接pc或终端,主要目的是提升用户体验感,终端可以比较快获取到地址。

SW5的GE 0/0/3端口和SW5的GE 0/0/4端口设置为边缘端口,配置代码如下:

[SW5-Ethernet0/0/3]stp edged-port enable
[SW5-Ethernet0/0/4]stp edged-port enable //使能边缘端口

相关推荐
Graceful_scenery9 分钟前
https双向认证
服务器·网络·网络协议·http·https
FBI78098045949 分钟前
API接口在电商行业中的创新应用与趋势
运维·网络·人工智能·爬虫·python
希雅不是希望15 分钟前
Ubuntu命令行网络配置
网络·ubuntu·php
小湿哥30 分钟前
ubuntu22.04 nginx配置下载目录,亲测成功
运维·nginx
kaixin_learn_qt_ing33 分钟前
Debian和Ubuntu
运维·ubuntu·debian
匹马夕阳1 小时前
华为笔记本之糟糕的体验
华为·笔记本电脑
egekm_sefg1 小时前
华为、华三交换机纯Web下如何创关键VLANIF、操作STP参数
网络·华为
QT.qtqtqtqtqt1 小时前
攻防世界easyphp
linux·运维·服务器
fanruitian1 小时前
docker 为单个容器设置代理
运维·docker·容器
菜鸟康1 小时前
Linux系统编程——系统内核中的信号
linux·运维·服务器