MSTP/RSTP的保护功能

news2024/11/25 14:40:40

目录

原理概述

实验目的

实验内容

实验拓扑

1.配置RSTP/MSTP

2.配置BPDU保护

3.配置根保护

4.配置环路保护

5.配置TC-BPDU保护


原理概述

在RSTP或MSTP交换网络中,为了防止恶意攻击或临时环路的产生,可配置保护功能来增强网络的健壮性和安全性。

BPDU 保护:在交换设备上,通常将直接与用户终端或文件服务器等非交换设备相连的端口配置为边缘端口,边缘端口一般不会收到 BPDU 。如果有人伪造 BPDU 恶意攻击交换设备,边缘端口接收到 BPDU 后,交换设备会自动将边缘端口设置为非边缘端口,并重新进行生成树计算,从而引起网络震荡。交换设备上启动了 BPDU 保护功能后,如果边缘端口收到 BPDU ,那么边缘端口将被关闭,但是边缘端口属性不变,同时通知网管系统。被关闭的边缘端口只能由网络管理员手动恢复。如果需要被关闭的边缘端口自动恢复,可以配置端口自动恢复功能,并设置延迟时间。
根保护:由于维护人员的错误配置或网络中的恶意攻击,网络中的合法根交换机有可能会收到优先级更高的 BPDU ,使得合法根交换机失去根交换机的地位,从而引起网络拓扑结构的错误变动。这种不合法的拓扑变化,可能会导致原来应该通过高速链路的流量被牵引到低速链路上,造成网络拥塞。对于启用了根保护功能的指定端口,其端口角色不能成为根端口。一旦启用根保护功能的指定端口收到优先级更高的 BPDU 时,端口将进入 Discarding 状态,不再转发报文。在经过一段时间(通常为两倍的 Forward Delay )后,如果端口一直没有再收到优先级更高的 BPDU ,端口会自动恢复到正常的 Forwarding 状态。
环路保护:在运行 RSTP 或 MSTP 协议的网络中,根端口和其他阻塞端口的状态是依靠上游交换设备不断发来的 BPDU 进行维持的。当由于链路拥塞或者单向链路故障导致这些端口收不到来自上游交换设备的 BPDU 时,交换设备就会重新选择根端口。原先的根端口会转变为指定端口,而原先的阻塞端口会迁移到转发状态,从而造成交换网络中可能产生环路。在启动了环路保护功能后,如果根端口或 Alternate 端口长时间收不到来自上游的 BPDU ,则会向网管发送通知信息。如果是根端口则进入 Discarding 状态,阻塞端口则会一直保持在阻塞状态,不转发报文,从而不会在网络中形成环路。直到根端口或 Alternate 端口收到 BPDU 后,端口状态才恢复到 Forwarding 状态。
防止 TC - BPDU 攻击:交换设备在接收到 TC BPDU 报文后,会执行 MAC 地址表项和 ARP 表项的删除操作。如果有人伪造 TC BPDU 报文恶意攻击交换设备,交换设备在短时间内会收到很多 TC BPDU 报文,频繁的删除操作会给设备造成很大的负担,给网络的稳定性会带来很大隐患。启用防 TC - BPDU 报文攻击功能后,可以配置交换设备在单位时间内处理 TC BPDU 报文的次数。如果在单位时间内,交换设备收到的 TC BPDU 报文数量大于配置的阈值,交换设备只会处理阈值指定的次数。对于其他超出阈值的 TCN BPDU 报文,定时器到期后设备只对其统一处理一次。这样可以避免频繁地删除 MAC 地址表项和 ARP 表项,从而达到保护设备的目的。

实验目的

理解MSTP/RSTP保护功能的工作原理

理解MSTP/RSTP保护功能的应用场景

掌握MSTP/RSTP保护功能的配置方法

实验内容

实验拓扑如图所示,本实验网络中,四台交换机组成了一个环形网络,交换机运行RSTP或MSTP。为了增强网络的健壮性和安全性,需要配置MSTP/RSTP的保护功能。

实验拓扑

1.配置RSTP/MSTP

根据上面拓扑图进行相应的配置,在所有的交换机上配置生成树模式为RSTP,并配置优先级使S1为主根交换机,S2为备份根交换机。

[s1]stp mode rstp
[s1]stp priority 4096

[s2]stp mode rstp
[s2]stp priority 8192

 

[s3]stp mode rstp
 

[s4]stp mode rstp

 使用display stp brief查看交换机的各个端口状态。

可以看到,S1为根交换机,S4的G0/0/1端口状态为Discarding。

配置S3和S4的Ethernet 0/0/1端口为边缘端口。

[s3]int e0/0/1
[s3-Ethernet0/0/1]stp edged-port enable

[s4]int e0/0/1
[s4-Ethernet0/0/1]stp edged-port enable

在PC-1上使用ping命令检测与PC-2的连通性。

 可以看到,PC-1与PC-2正常通信。

由于保护功能在RSTP和MSTP中完全一样,所以本实验中仅以RSTP为例进行演示。

2.配置BPDU保护

交换机S3和S4为接入交换机,需要接入用户终端,在RSTP中把连接终端的端口配置为边缘端口,并且为了防止边缘端口收到不合法的BPDU后网络重新收敛,在S3和S4上配置BPDU保护功能。

在系统视图下使用命令stp bupd-protection启用交换设备边缘端口的BPDU保护功能。缺省情况下,交换设备的BPDU保护功能处于禁用状态。

[s3]stp bpdu-protection

[s4]stp bpdu-protection 

为了演示边缘端口收到BPDU的效果,把S3的G0/0/2端口配置为边缘端口。

[s3]int g0/0/2
[s3-GigabitEthernet0/0/2]stp edged-port enable
[s3-GigabitEthernet0/0/2]
Apr  9 2024 17:44:18-08:00 s3 %%01MSTP/4/BPDU_PROTECTION(l)[4]:This edged-port GigabitEthernet0/0/2 that enabled BPDU-Protection will be shutdown, because it received BPDU packet!
Apr  9 2024 17:44:19-08:00 s3 %%01PHY/1/PHY(l)[5]: GigabitEthernet0/0/2: change status to down

可以看到,当配置了BPDU保护后,S3的G0/0/2端口接收到了根交换机的BPDU后被关闭,并弹出日志提示。

可以使用命令error-down auto-recovery cause bpdu-protection interval 30设置端口自动恢复为UP的延时为30s。当端口被关闭后,删掉G0/0/2端口的边缘端口配置,30s后端口会自动Up并弹出日志提示。

[s3]int g0/0/2
[s3-GigabitEthernet0/0/2]undo stp edged-port 
[s3-GigabitEthernet0/0/2]undo shutdown

[s3-GigabitEthernet0/0/2]quit

[s3]error-down auto-recovery cause bpdu-protection interval 30

[s3]int g0/0/2
[s3-GigabitEthernet0/0/2]stp edged-port enable

[s3-GigabitEthernet0/0/2]
Apr  9 2024 18:46:58-08:00 s3 %%01MSTP/4/BPDU_PROTECTION(l)[1]: This edged-port GigabitEthernet0/0/2 that enabled BPDU-Protection will be shutdown, because it re
ceived BPDU packet!
 
Apr  9 2024 18:46:58-08:00 s3 %%01ERRDOWN/4/ERRDOWN_DOWNNOTIFY(l)[2]:Notify interface to change status to error-down. (InterfaceName=GigabitEthernet0/0/2, Cause
=bpdu-protection)

Apr  9 2024 18:46:59-08:00 s3 %%01PHY/1/PHY(l)[3]:    GigabitEthernet0/0/2: chan
ge status to down

Apr  9 2024 18:47:05-08:00 s3 DS/4/DATASYNC_CFGCHANGE:OID 1.3.6.1.4.1.2011.5.25.
191.3.1 configurations have been changed. The current change number is 12, the c
hange loop count is 0, and the maximum number of records is 4095.


Apr  9 2024 18:47:28-08:00 s3 %%01ERRDOWN/4/ERRDOWN_DOWNRECOVER(l)[6]:Notify interface to recover state from error-down. (InterfaceName=GigabitEthernet0/0/2)
Apr  9 2024 18:47:28-08:00 s3 ERRDOWN/4/ErrordownRecover:OID 1.3.6.1.4.1.2011.5.
25.257.2.2 Error-down recovered. (Ifindex=29, Ifname=GigabitEthernet0/0/2, Cause
=bpdu-protection, RecoverType=auto recovery)

Apr  9 2024 18:47:30-08:00 s3 %%01PHY/1/PHY(l)[7]:    GigabitEthernet0/0/2: chan
ge status to up

可以看到,G0/0/2端口从Down到UP所经历的时间是自动恢复的延时时间30s。 但由于此时该接口下仍有stp edged-port enable命令,固端口一直处于UP和Down的状态切换。撤销端口下的边缘端口配置。

[s3]int g0/0/2
[s3-GigabitEthernet0/0/2]undo stp edged-port

3.配置根保护

根保护是指定端口上的特性。当端口的角色是指定端口时,配置根保护功能才能够生效。若在其他类型的端口上配置根保护功能,根保护功能不会生效。

使用display stp brief命令,查看S1、S2、S3、S4的指定端口。

 在指定端口上配置根保护。

[s1]int g0/0/1
[s1-GigabitEthernet0/0/1]stp root-protection
[s1-GigabitEthernet0/0/1]int g0/0/2
[s1-GigabitEthernet0/0/2]stp root-protection

 

[s2]int g0/0/2
[s2-GigabitEthernet0/0/2]stp root-protection


[s3]int g0/0/1
[s3-GigabitEthernet0/0/1]stp root-protection

接下来,修改S4的优先级优于S1。

[s4]stp priority 0

交换机的优先级的值越小,优先级越大,称为根交换机的可能性也就越大。

在S4上使用display stp命令查看根交换机的信息。

[s4]display stp
-------[CIST Global Info][Mode RSTP]-------
CIST Bridge         :0    .4c1f-ccb2-671e
Config Times        :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
Active Times        :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
CIST Root/ERPC      :0    .4c1f-ccb2-671e / 0
CIST RegRoot/IRPC   :0    .4c1f-ccb2-671e / 0
......
 

可以看到,S4已经认为自己是根桥。

在S2和S3上使用display stp命令查看根交换机信息。

<s2>display stp
-------[CIST Global Info][Mode RSTP]-------
CIST Bridge         :8192 .4c1f-ccd9-7745
Config Times        :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
Active Times        :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
CIST Root/ERPC      :4096 .4c1f-cc1f-69e6 / 20000
CIST RegRoot/IRPC   :8192 .4c1f-ccd9-7745 / 0

......

<s3>display stp
-------[CIST Global Info][Mode RSTP]-------
CIST Bridge         :32768.4c1f-cc68-0c51
Config Times        :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
Active Times        :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
CIST Root/ERPC      :4096 .4c1f-cc1f-69e6 / 20000
CIST RegRoot/IRPC   :32768.4c1f-cc68-0c51 / 0
......

可以看到,S2、S3仍然认为S1是根交换机。

在S2和S3上使用命令display stp brief查看端口状态信息。 

可以看到,与S4相连的指定端口状态变成了Discarding。

删除S4上的优先级配置。

[s4]undo stp priority

4.配置环路保护

如果由于链路拥塞或者单向链路故障导致根端口收不到来自上游交换设备的BPDU,交换设备会重新选择根端口。原先的根端口会转变为指定端口,而原先的阻塞端口会迁移到转发状态,从而造成交换网络中环路的产生。

在S2的G0/0/2端口下配置stp bpdu-filter  enable

[s2]int g0/0/2
[s2-GigabitEthernet0/0/2]stp bpdu-filter enable

这样一来,S4由于收不到上游的BPDU,就重新选择根端口。观察所有交换机的所有端口的STP信息。

可以看到,所有交换机的端口都进入了Forwarding状态。

可以看到,PC-1在成功发送和接受了一个报文后,其他报文都超时了,这是因为网络中已经产生了环路。

恢复S2的G0/0/2端口,在S4的G0/0/1和G0/0/2端口配置环路保护功能,然后在S2的G0/0/2端口上配置stp bpdu-filter enable

[s2]int g0/0/2
[s2-GigabitEthernet0/0/2]undo stp bpdu-filter

[s4]int g0/0/1
[s4-GigabitEthernet0/0/1]stp loop-protection
[s4-GigabitEthernet0/0/1]int g0/0/2
[s4-GigabitEthernet0/0/2]stp loop-protection

 

[s2]int g0/0/2
[s2-GigabitEthernet0/0/2]stp bpdu-filter enable

在S4上查看STP的状态信息。

 可以看到,S4的G0/0/1端口成为了根端口,G0/0/2端口虽然成为了指定端口,但是处于Discarding状态,不转发数据,这样就避免了环路。

再次在PC-1上使用ping命令测试与PC-2的连通性。

可以看到,PC-1与PC-2之间可以进行正常通信。

5.配置TC-BPDU保护

启用TC-BPDU保护功能后,可以配置交换设备处理TC类型BPDU报文的最大速度,以避免频繁地删除MAC地址表项和ARP表项,从而达到保护交换设备的目的。单位时间的取值与RSTP的Hello Time一致,可以通过执行命令stp timer hello进行配置。

使用命令stp tc-protection,开启交换设备对TC类型BPDU报文的保护功能,缺省情况下,交换设备的TC保护功能处于关闭状态。

[s1]stp tc-protection
[s1]stp tc-protection threshold 2
 

[s2]stp tc-protection
[s2]stp tc-protection threshold 2
 

[s3]stp tc-protection
[s3]stp tc-protection threshold 2
 

[s4]stp tc-protection
[s4]stp tc-protection threshold 2

上面所进行的配置的含义是:交换设备在单位时间(与RSTP Hello时间间隔一致)内,允许在收到TC-BPDU报文后立即进行地址表项删除操作的最大次数为两次。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1580433.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VSCode配置AI自动补全插件Tabnine

面向软件开发人员的 AI 助手 使用 AI 代码完成更快地编写代码 什么是Tabnine Tabnine 是一款 AI 代码助手&#xff0c;可让您成为更好的开发人员。Tabnine 将通过所有最流行的编码语言和 IDE 的实时代码完成、聊天和代码生成来提高您的开发速度。 无论您将其称为 IntelliSens…

【网络捉鬼记】微信可以部分网页可以,其它网页打不开提示无法找到NDS地址

蹭网蹭得好好的&#xff0c;为啥突然这样呢&#xff1f; 发现微信可以&#xff0c;百度搜索网页可以打开但图片出不来&#xff0c;再点一个新闻进去又是上图的样子。 问AI&#xff01;却发现连质谱清言也打不开&#xff01;用自己热点问&#xff1a; 至于win10怎么更换DNS&…

免费幻兽帕鲁游戏云服务器领取及搭建教程

幻兽帕鲁是一款多人在线游戏&#xff0c;为了获得更好的游戏体验&#xff0c;许多玩家会选择自行搭建游戏联机服务器&#xff0c;但是游戏云服务器一般配置较高&#xff0c;价格自然也比较高&#xff0c;本文将为大家分享免费幻兽帕鲁游戏云服务器领取及搭建教程。 雨云是一家国…

16.事件标志组

一、简介 事件标志组与信号量一样属于任务间同步的机制&#xff0c;但是信号量一般用于任务间的单事件同 步&#xff0c;对于任务间的多事件同步&#xff0c;仅使用信号量就显得力不从心了。FreeRTOS 提供的事件标志组 可以很好的处理多事件情况下的任务同步。 1. 事件标志 …

C语言文件操作2

1.二进制读写函数 在上一章我们介绍了字符读写函数、文本读写函数和格式化输入输出函数&#xff0c;这张我们继续为大家介绍剩下的一组读写函数——二进制读写函数&#xff1a;fread函数和fwrite函数。 ⚀fread函数 &#x1f7e1;函数作用 以二进制的方式从指定流中读取数据 …

Nuxt3 实战 (三):使用 release-it 自动管理版本号和生成 CHANGELOG

release-it 能做什么&#xff1f; 增加版本号并提交 Git生成变更日志&#xff08;Changelog&#xff09;并提交到 Git创建 Git 标签并推送到远程仓库发布到 npm 等软件仓库在 GitHub、GitLab 等平台创建发行版 前置知识 在看这篇文章之前&#xff0c;我们有必要了解一下 Sem…

Java 那些诗一般的 数据类型 (下篇)

本篇会加入个人的所谓鱼式疯言 ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. &#x1f92d;&#x1f92d;&#x1f92d;可能说的不是那么严谨.但小编初心是能让更多人能接…

SpringBoot整合RabbitMQ-应答模式

一、应答模式 RabbitMQ 中的消息应答模式主要包括两种&#xff1a;自动应答&#xff08;Automatic Acknowledgement&#xff09;和手动应答&#xff08;Manual Acknowledgement&#xff09;。&#xff08;一般交换机发送消息&#xff0c;RabbitMQ只有在接收到消费者的确认后才…

【鸿蒙开发】ArkTS和组件

1. 初识ArkTS语言 ArkTS是HarmonyOS优选的主力应用开发语言。ArkTS围绕应用开发在TypeScript生态基础上做了进一步扩展&#xff0c;继承了TS的所有特性。 当前&#xff0c;ArkTS在TS的基础上主要扩展了如下能力&#xff1a; 基本语法&#xff1a;ArkTS定义了声明式UI描述、自…

终端进程“CWindowsSystem32WindowsPowerShellv1.0powershell.exe”已终止,退出代码 2。

终端进程“C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe”已终止&#xff0c;退出代码: 2。 今天安装了最新版的VScode&#xff0c;果然&#xff0c;出毛病了 在我每次运行终端运行vue3项目时&#xff0c;只要主动CtrlC退出&#xff0c;终端就会闪退&#xff…

2024洗地机哪个牌子好?六大避坑攻略总结

洗地机就像是吸尘器和电动拖把的结合体&#xff0c;对于每天要做家务的人来说&#xff0c;可以一次性解决多种类型的垃圾&#xff0c;省时省心省力。但是面对种类繁重的洗地机市场&#xff0c;大家时常会无从下手&#xff0c;今天笔者就给大家总结了六大洗地机避坑指南。 洗地…

购买了Hostease的企业邮箱服务后如何启用

最近有遇到客户购买了Hostease的企业邮箱后不知道该如何去启用的问题&#xff0c;这里我们简单分享一下Hostease的企业邮箱购买到使用的操作。 Hostease提供了两种邮箱服务套餐选择&#xff0c;OX App Suite和OX App Suite Productivity&#xff0c;OX App Suite Productivi…

Agent——客服机器人(大模型+本地数据/话术+在线数据库)

我们先来介绍一下&#xff0c;这个客服机器人的特点&#xff0c;根据本地资料&#xff0c;回答用户问题&#xff0c;告别传统机器人的答非所问&#xff0c;同时根据用户回答&#xff0c;判断用户意向度&#xff0c;并询问感兴趣用户的个人信息&#xff0c;获得后&#xff0c;保…

【面试题】如何在级别用户中检查用户名是否存在?

前言 不知道大家有没有留意过&#xff0c;在使用一些app或者网站注册的时候&#xff0c;提示你用户名已经被占用了&#xff0c;比如我们熟知的《英雄联盟》有些人不知道取啥名字&#xff0c;干脆就叫“不知道取啥名”。 但是有这样困惑的可不止他一个&#xff0c;于是就出现了…

关于pandas 无法读取 csv 文件数据的解决方式

你好&#xff0c;我是 shengjk1&#xff0c;多年大厂经验&#xff0c;努力构建 通俗易懂的、好玩的编程语言教程。 欢迎关注&#xff01;你会有如下收益&#xff1a; 了解大厂经验拥有和大厂相匹配的技术等 希望看什么&#xff0c;评论或者私信告诉我&#xff01; 文章目录 …

Golang笔记(下)

Golang学习笔记&#xff08;下&#xff09; 前篇&#xff1a;Golang学习笔记(上) 十四、错误处理 14.1使用error类型 func New(text string) error例子&#xff1a; package mainimport ("errors" // 导入errors包"fmt" )func main() {var number, divi…

网页版五子棋对战实现和自动化测试

文章目录 前言一、项目描述项目演示链接 二、实现的功能与操作1.登录注册2.游戏大厅线程安全问题多开处理 3.五子棋对战 三、项目测试1.测试用例2.测试技术点3.部分测试用例展示&#xff08;1&#xff09;注册页面&#xff08;2&#xff09;登录页面&#xff08;3&#xff09;游…

ChatGPT与生成式AI:教育领域内新的浪潮与挑战

随着ChatGPT和其他生成式AI技术&#xff0c;如GPT-3.5、GPT-4的出现&#xff0c;我们正见证教育领域一场前所未有的变革浪潮。这些技术不仅推动了教育方式的进步&#xff0c;也为学习者带来了全新的机遇和挑战。 NO.1教育变革的新浪潮 生成式AI技术&#xff0c;特别是ChatGPT&…

【Nature Electronics】二维钙钛矿氧化物SNO作为high-κ栅介质的应用

【Li, S., Liu, X., Yang, H. et al. Two-dimensional perovskite oxide as a photoactive high-κ gate dielectric. Nat Electron 7, 216–224 (2024). https://doi.org/10.1038/s41928-024-01129-9】 概括总结&#xff1a; 本研究探讨了二维钙钛矿氧化物Sr2Nb3O10&#xf…

我们有了统一的Domino应用市场

大家好&#xff0c;才是真的好。 和大家一样&#xff0c;刚休假回来就发现HCL又上新了。这回是个大消息&#xff0c;直接上了一个Notes/Domino应用市场&#xff0c;地址是https://hclsofy.com/domino。 截至本篇写作时&#xff0c;提交到该市场的Notes/Domino相关扩展工具和应…