Day07 STP/RSTP&MSTP学习与实验手册_mstp故障处理与优化实验-程序员宅基地

技术标签: 计算机网络安全学习日记  网络  运维  

第七天 RSTP

1. RSTP

1.1 概念:

快速生成树协议 rapid spanning tree protocol

802.1w 对 802.1d的诸多优化,实现了二层网络拓扑的快速收敛。

1.2 STP的一些问题

问题1:STP从初始状态到完全收敛至少需经过30s,用户无法忍受

问题2:交换机有BP端口,RP端口down掉场景

SWC与SWA的直连链路down掉,其BP端口切换成RP端口并进入转发状态至少需要经过30s:

问题3:交换机无BP端口,RP端口down掉场景

SWB与SWA的直连链路down掉,则SWC的BP端口切换成DP端口并进入转发状态大约需要50s

问题4:运行STP的交换机连接用户终端的场景

末梢交换机连接终端的链路进入转发需要经过30s-50s

问题5:STP的拓扑变更机制

先由变更点朝根桥方向发送TCN消息,收到该消息的上游交换机就会回复TCA消息进行确认;最后TCN消息到达根桥后,再由根桥发送TC消息通知设备删除桥MAC地址表项,机制复杂,效率低下。

问题6:STP的其他不足之处 - 端口角色 有优化的空间

被阻塞的端口,如果启用,再次选举时肯定会成为新的根端口的时候,可以提前让这个端口成为根端口的备份端口

问题7:端口状态 划分不合理,有优化的空间

处于前3个状态机的端口,都不能学习MAC地址和转发数据

1.3 RSTP的解决方案:

针对问题6 :端口角色 的重新划分

RSTP定义了两种新的端口角色:备份端口(Backup Port)和预备端口(Alternate Port)。

Alternate Port 是根端口的备份, Backup Port 是指定端口的备份。

当 根端口或指定端口故障时,备份端口(Alternate 或 Backup ) 会立即代替原来接口的角色

针对问题7: 端口状态 的重新划分

RSTP的状态规范把原来的5种状态缩减为3种:

从用户角度来讲,Listening、Learning和Blocking状态并没有区别,都同样不转发用户流量。

针对问题1: 快速收敛机制

特点:由于有来回确认机制和同步变量机制,就无需依靠计时器来保障无环

针对问题1: P/A 机制

P: proposal 提议 , A: agreement

阶段1在进行 根桥选举,参加选举的交换机从 所有的接口向外发送 P 置位的 BPDU

阶段2 ,SWA胜出, SWB 和SWC 从连接 SWA的端口,向上发 A置位的BPDU 报文,连接SWA的端口直接变成Forwarding状态。它们的端口角色是根端口。

同时,进行 同步变量(阻塞 SWB-SWC相连的接口)

阶段3:阻塞端口的选举:
在第一阶段,所有交换机相互发送P报文的时候, SWC就会发现 来自SWB的BPDU更优于自己的BPDU,SWC会将自己的连接SWB的接口设置为 discarding状态,端口角色是 Alternate Port

SWB 向SWC一直转发 来自SWA的 P置位的BPDU,此时不做回复。

针对问题2:根端口快速切换机制

SWC与SWA的直连链路down掉,其AP端口切换成RP端口并进入转发状态可在秒级时间内完成收敛:

针对问题3:次等BPDU处理机制

SWB与SWA的直连链路down掉,SWC的AP端口切换成DP端口并进入转发状态可在秒级时间内完成:

针对问题4: 边缘端口的引入

在RSTP中,交换机连接终端的链路可立即进入转发状态:

针对问题5:拓扑变更机制的优化

判断拓扑变化唯一标准:一个非边缘端口迁移到Forwarding状态。

拓扑变更案例:

一旦检测到拓扑发生变化,首先将进行如下处理:

- 清空状态发生变化的端口上学习到的MAC地址。
- 同时,由这些端口向外发送RST BPDU,其中TC置位。一旦TC While Timer超时,则停止发送RST BPDU。

如图所示,SWB的E1端口出现故障之后,RSTP的处理过程如下:

  • SWB重新计算生成树,选举E2为新的根端口。
  • SWB删除MAC地址表中E1端口所对应的表项。
  • 生成树重新计算完成之后(需要进入转发状态的端口已经进入了转发状态),SWB的所有非边缘端口向外发送TC置位的RST BPDU。

  • 交换设备接收到TC置位的BPDU后,会清空除了收到报文外的其他所有非边缘端口学习到的MAC地址.
  • 边缘端口down掉不会触发拓扑变更,而且故障恢复后,同样也不会触发拓扑变更。

1.4 保护功能

1.4.1 BPDU防护

:::info
应用场景:防止有人伪造RST BPDU恶意攻击交换设备,当边缘端口接收到该报文时,会自动设置为非边缘端口,并重新进行生成树计算,引起网络震荡。

实现原理:配置BPDU保护功能后,如果边缘端口收到BPDU报文,边缘端口将会被立即关闭。
:::

  • 攻击 + 攻击效果 【攻击原理】
  • 防护后段
  • 防护的验证:
    • bpdu protection
    • 根桥防护 root protection
    • tc 泛洪攻击保护

1.5 RSTP 配置实例

  • 配置需求:

如图所示,SWA、SWB和SWC组成了一个环形的交换网络,为了消除环路对网络的影响,故使交换机都运行RSTP,最终将环形网络结构修剪成无环路的树形网络结构。
将SW1配置为根桥

  • 配置命令
# 开启STP功能,
stp enable

# 选择STP模式为 RSTP
stp mode rstp

# 配置交换机为主根桥
stp root primary
# 开启STP功能,
stp enable

# 选择STP模式为 RSTP,
stp mode rstp

# 开启bpdu 保护
stp bpdu-protection 

# 配置边缘接口
interface Ethernet0/0/1
 stp edged-port enable
  • 查看配置结果
[SW1]display stp brief 
 MSTID  Port                        Role  STP State     Protection
   0    GigabitEthernet0/0/1        DESI  FORWARDING      NONE
   0    GigabitEthernet0/0/2        DESI  FORWARDING      NONE
   
   
[SW4]display stp brief 
 MSTID  Port                        Role  STP State     Protection
   0    Ethernet0/0/1               DESI  FORWARDING      BPDU
   0    GigabitEthernet0/0/1        ROOT  FORWARDING      NONE
   0    GigabitEthernet0/0/2        ALTE  DISCARDING      NONE


<SW3>dis stp brief 
 MSTID  Port                        Role  STP State     Protection
   0    GigabitEthernet0/0/1        ROOT  FORWARDING      NONE
   0    GigabitEthernet0/0/2        DESI  FORWARDING      NONE
   0    GigabitEthernet0/0/3        DESI  FORWARDING      NONE

2. MSTP

802.1s
MSTP multiple spanning tree protocol
RSTP工作在单局域网

2.1 单生成树的弊端

  • 单生成树导致部分vlan路径不通
  • 导致 链路负载 不平均
  • 导致部分vlan的次优路径的出现

多生成树实例:

  1. MST域内可以生成多棵生成树,每棵生成树都称为一个MSTI。
  2. MSTI之间彼此独立,且每个MSTI的计算过程基本与RSTP的计算过程相同。
  3. MSTI:multiple spanning tree instance

2.2 MSTP的配置实验

实验拓扑

image.png
image.png
1、默认情况下,所有的VLAN都在MSTID 0 中,这是MSTP默认运行的一棵生成树中
2、对于多区域生成树,同一区域中的生成树实例要一样,比如你可以建一个INSTANCE 1,里面有VLAN10\20\30,那么这个INSTANCE1是你在同一区域所有交换机上都要敲的,那么剩下的VLAN都在实例0中,即MSTID 0中
3、不同区域之间,会建立一棵CIST,通用内部生成树,即是由所有MSTID 0中的VLAN组成的一棵生成树
4、VLAN划分给instance实现负载分担。

配置命令:
SWA配置:
sys
sysname SWA
vlan batch 1 to 20
stp enable
stp mode mstp
stp region-configuration
region-name RG1 
instance 1 vlan 1 to 10   
instance 2 vlan 11 to 20
active region-configuration 
q
stp instance 1 root primary
stp instance 2 root secondary

int e0/0/1
port link-type trunk
port trunk allow-pass vlan 1 to 20
int e0/0/2
port link-type trunk
port trunk allow-pass vlan 1 to 20


SWB配置:
sys
sysname SWB
vlan batch 1 to 20
stp enable
stp mode mstp
stp region-configuration
region-name RG1 
instance 1 vlan 1 to 10   
instance 2 vlan 11 to 20
active region-configuration 
q
stp instance 2 root primary
stp instance 1 root secondary

int e0/0/1
port link-type trunk
port trunk allow-pass vlan 1 to 20
int e0/0/2
port link-type trunk
port trunk allow-pass vlan 1 to 20

SWC配置:
sys
sysname SWC
vlan batch 1 to 20
stp enable
stp mode mstp
stp region-configuration
region-name RG1 
instance 1 vlan 1 to 10   
instance 2 vlan 11 to 20
active region-configuration 
q
int g0/0/2
stp instance 2 cost 200000
int e0/0/1
stp edged-port enable

int e0/0/1
port link-type trunk
port trunk allow-pass vlan 1 to 20
int e0/0/2
port link-type trunk
port trunk allow-pass vlan 1 to 20

SWD配置:
sys
sysname SWD
vlan batch 1 to 20
stp enable
stp mode mstp
stp region-configuration
region-name RG1 
instance 1 vlan 1 to 10   
instance 2 vlan 11 to 20
active region-configuration 
q
int g0/0/2
stp instance 1 cost 200000
int e0/0/1
stp edged-port enable

int e0/0/1
port link-type trunk
port trunk allow-pass vlan 1 to 20
int e0/0/2
port link-type trunk
port trunk allow-pass vlan 1 to 20

查看配置结果
image.png
image.png
image.png
image.png
默认为MSTID 0生成树。
手动配置了两个逻辑STP生成树,具体为MSTID 1 的生成树和MSTID 2 的生成树。
现在拓扑中有三个生成树。
鸣谢:yoyo鹿鸣

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_45971758/article/details/129303785

智能推荐

微信小程序 淘宝_淘宝微信小程序-程序员宅基地

文章浏览阅读4.8k次,点赞2次,收藏33次。模仿淘宝写了一个小程序,主要目的还是练手并且以页面效果为主,写法肯定也会有更好的,后续继续加强。登录页面的话,就直接点登录进入到首页了,没有做过多的交互。其中做比较多的交互是购物车,应数据的形式做出的交互,实际的项目中可能会有更好的数据形式,产品数增减全选合计等,事件传参比较多;下面以购物车为例,贴上购物车的部分js 代码,里面有个“监听”是否勾选和计数的函数(watchSelec..._淘宝微信小程序

并发计算模型BSP与SEDA_bulk synchronous parallel-程序员宅基地

文章浏览阅读3.6k次。1 BSP批量同步并行计算BSP(Bulk Synchronous Parallel)批量同步并行计算用来解决并发编程难的问题。名字听起来有点矛盾,又是同步又是并行的。因为计算被分组成一个个超步(super-step),超步内并行计算并且结点间不能通信。在超步之间设置同步栅栏(barrier synchronization),计算完成后相互通信,全部完成后才能继续下一个超步。2 SEDA阶段_bulk synchronous parallel

企业微信的后台怎么进入和管理?_企业微信后台-程序员宅基地

文章浏览阅读1w次。企业微信的后台怎么进入和管理? _企业微信后台

【机器学习】QQ-plot深入理解与实现_python qqplot subplot-程序员宅基地

文章浏览阅读1.2w次。QQ-plot深入理解与实现26JUNJune 26, 2013最近在看关于CSI(Channel State Information)相关的论文,发现论文中用到了QQ-plot。Sigh!我承认我是第一次见到这个名词,异常陌生。维基百科给出了如下定义:“在统计学中,QQ-plot(Q代表分位数Quantile)是一种通过画出分位数来比较两个概率分布的图形方法。首先选定_python qqplot subplot

mybatis设置sql执行时间超时时间_mybatis timeout-程序员宅基地

文章浏览阅读2.8w次,点赞3次,收藏21次。存在这样的场景,当一些比较耗时的查询时,如果不中断,则会导致数据库堵塞,进而会拖垮整个数据库服务的正常运行。1.如果你使用的是HikariCP连接池的话,可以在配置文件设置connetion-timeout这个属性(如application.properties)2.如果你使用的是其他链接池,比如tomcat连接池,同时持久化框架用的是mybatis的话,那可以这样设置2.1 在配置文..._mybatis timeout

Windows Data Alignment on IPF, x86, and x86-64_data alignment is intrinsic-程序员宅基地

文章浏览阅读1.4k次。http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_vstechart/html/vcconwindowsdataalignmentonipfx86x86-64.asp?frame=trueWindows Data Alignment on IPF, x86, and x86-64Kang Su GatlinMic_data alignment is intrinsic

随便推点

中断中处理延时及一些函数的调用规则(中断调i2c驱动有感)_模拟iic的延时对定时器中断的影响-程序员宅基地

文章浏览阅读4.5k次。转自:http://blog.csdn.net/xiyu_1986/article/details/69969271,中断处理程序中不能使用有睡眠功能的函数,如ioremap,kmalloc,msleep等,理由是中断程序并不是进程,没有进程的概念,因此就没有休眠的概念;2,中断处理程序中的延时可以用忙等待函数来代替,如ndelay,udelay,mdelay等,这些函数在实现上本质是根据_模拟iic的延时对定时器中断的影响

iphone12文件管理连接服务器,iPhone手机打开服务器功能,和Windows电脑互传文件方法...-程序员宅基地

文章浏览阅读5.2k次。iPhone手机打开服务器功能,和Windows电脑互传文件方法PC端设置:一、在计算机端新建一个文件夹,例如取名为:“iphone共享文件”。二、然后右键点击文件夹属,点击“共享”。三、打开共享后,再左键点击“共享”,下拉箭头选择“Everyone”然后继续选择“共享”,显示出共享文件夹的网络地址和共享文件夹的名字。PC端设置完成。Iphone手机端设置:一、选择iphone手机“文件”,点击右..._iphone 手机的连接服务器 怎么连接电脑

obb包围盒数组的含义_obb包络盒-程序员宅基地

文章浏览阅读257次。OBB包围盒通常用一个包含12个元素的数组来表示,这些元素描述了包围盒的位置、尺寸和旋转。总之,这个包含12个元素的数组描述了OBB包围盒的位置、旋转和尺寸信息。第二行这三个元素表示包围盒的旋转信息,通常以旋转矩阵的形式给出。第四行这三个元素表示包围盒每个轴上的半边长,通常是尺寸的一半。:旋转矩阵的第一行,通常是X轴的旋转分量。:旋转矩阵的第二行,通常是Y轴的旋转分量。:旋转矩阵的第三行,通常是Z轴的旋转分量。:包围盒的中心点在X轴上的坐标。:包围盒的中心点在Y轴上的坐标。:包围盒的中心点在Z轴上的坐标。_obb包络盒

明远智睿MY-IMX6-EK200 L3035测试手册(2)_imx6 五个串口-程序员宅基地

文章浏览阅读319次。【接上一章节明远智睿MY-IMX6-EK200 L3035测试手册(1)】2.7 串口测试MY-I.MX6评估板有5个串口,其中4个为用户串口(位于底板正面“J1”位置,丝印名称为“TTL_UART”),1个为调试串口(位于底板正面“P2”位置)。 测试说明系统设备文件说明:调试串口的在系统中的设备文件是ttymxc0,用户串口的设备文件是ttymxc1、ttymxc2、t..._imx6 五个串口

QT软件开发-基于FFMPEG设计视频播放器-GPU硬解、OpenGL渲染(四)_qt gpu渲染画面-程序员宅基地

文章浏览阅读1.3k次。前面几篇文章里分别介绍了ffmpeg软解、硬解、音频解码,完成视频帧渲染,音频解码播放。之前做的视频播放器里,虽然也使用了硬件加速解码,解码确实快,但是渲染都采用QWidget方式渲染绘制,占用CPU较高,并且采用QWidget方式渲染,需要将硬解码之后的数据转为RGB24,然后封装为QImage这个过程非常消耗时间,如果是高清4K视频整个视频解码播放就会非常卡顿,CPU占用直接100%。这篇文章将渲染方式换成OpenGL,解码方式还是采用硬件加速解码,充分利用GPU,降低CPU占用,提高整体视频播放效率。_qt gpu渲染画面

element 中手动上传文件_element手动上传-程序员宅基地

文章浏览阅读1.6k次。element手动上传文件_element手动上传