您当前的位置:首页 > 电脑百科 > 网络技术 > 网络知识

快速生成树协议—RSTP

时间:2022-09-21 15:45:25  来源:今日头条  作者:阿豪的笔记

STP协议虽然能够解决环路问题,但是收敛速度慢,影响了用户通信质量。IEEE于2001年发布的802.1w标准定义了快速生成树协议RSTP(Rapid Spanning-Tree Protocol),RSTP在STP基础上进行了改进,实现了网络拓扑快速收敛。

RSTP相关概念

RSTP端口角色

如图所示,RSTP的端口角色共有4种:根端口、指定端口、Alternate端口和Backup端口,与STP相比,新增加了Backup和Alternate 2种端口角色。

 角色

描述

Backup

Backup端口作为指定端口的备份,提供了另外一条从根桥到非根桥的备份链路。

Alternate

Alternate端口作为根端口的备份端口,提供了从指定桥到根桥的另一条备份路径。

RSTP选举原理和STP类似:选举根交换机-选举非根交换机上的根端口-选举指定端口-选举预备端口和备份端口。

端口状态

不同于STP的5种端口状态,RSTP将端口状态缩减为3种。

STP

RSTP

端口角色

数据转发情况

Disabled

Discarding

Disable

不转发用户流量也不学习mac地址

Blocking

Discarding

Alternate端口

Backup端口

Listening

Discarding

根端口

指定端口

Learning

Learning

根端口

指定端口

不转发用户流量,但是学习MAC地址

Forwarding

Forwarding

根端口

指定端口

既转发用户流量又学习MAC地址

RST BPDU

除了部分参数不同,RST  BPDU报文和STP的BPDU报文类似。

1. BPDU Type用来区分STP的BPDU报文和RST BPDU报文。

  • STP的配置BPDU报文的BPDU Type值为0(0x00)。

  • TCN BPDU报文的BPDU Type值为128 (0x80)。

  • RST BPDU报文的BPDU Type值为2 (0x02)。

2. Flags字段,使用了原来保留的中间6位

  • STP的BPDU报文的Flags字段中只定义了拓扑变化TC标志和拓扑变化确认TCA标志,其他字段保留。

  • 在RST BPDU报文的Flags字段里,除了TC和TCA,还使用了其他字段。包括P/A进程字段和定义端口角色以及端口状态的字段。

3. 发送BPDU的方式不同

  • STP中,当网络拓扑稳定后,根桥按照Hello Timer规定的时间间隔发送配置BPDU报文,非根桥设备只有在收到上游设备发来的配置BPDU报文后,才会触发发出配置BPDU报文。

  • RSTP种,当网络拓扑稳定后,无论非根桥设备是否接收到根桥传来的配置BPDU报文,都会按照Hello Timer规定的时间间隔发送配置BPDU。

RSTP对STP的改进

RSTP主要在以下五个场景对STP进行了优化

场景一初始状态收敛

STP从初始状态到完全收敛至少需经过30s:

 

事实上对于STP,指定端口的选择可以很快完成,主要的速度瓶颈在于:为了避免环路,必须等待足够长的时间,使全网的端口状态全部确定后,所有端口才能进行转发。

RSTP改进:P/A机制 

RSTP在选举的过程中加入了“发起请求-回复同意”(P/A机制)确认机制,P/A机制要求两台交换设备之间链路必须是点对点的全双工模式,其目的是使一个指定端口尽快进入Forwarding状态。

SW1和SW2之间新添加了一条新链路,链路模式为点对点全双工,P/A机制协商过程如下:

  1. 交换机SWA和SWB都发送Proposal置位的BPDU,并把发送P消息的端口变成DP口,同时接口处在Discarding状态。

  2. SWA和SWB根据收到的对端BPDU参数,选举端口角色,由于SWA的优先级高,选举结果为SWA的P0口为DP,SWB的P1口为RP。

  3. SWB开始进行端口状态同步,将交换机上除边缘端口外的所有端口全部置为Discarding状态,以保证RP端口进入Forwarding时没有环路存在。

  4. SWB完成同步后,P1端口状态可安全进入Forwarding并通告Agreement置位的BPDU报文给SWA。

  5. SWA上的P0端口收到Agreement置位的BPDU后,状态立即变为Forwarding。

  6. SWB继续向已经同步为DP/Discarding端口发送Proposal置位的BPDU,在下游各设备间继续进行新的P/A协商过程,直至计算到网络边缘。

场景二:根端口切换

STP为了确保拓扑变化信息已经扩散到全网,且所有设备都已完成拓扑更新,新的根端口需等待计时器超时后才能进入转发。

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

 

RSTP改进:根端口快速切换机制

设备上旧的根端口失效后,新的根端口需在保证无环的情况下才可以迁移到Forwarding状态。RSTP新增加AP端口角色,在AP端口选举的时候就考虑到该需求,故可立即进入转发状态

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

 

场景三:次优BPDU处理

在STP中,交换机除指定端口外的其他端口收到次优BPDU都不会做处理。

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

RSTP改进:次优BPDU处理机制

RSTP处理次优BPDU报文不再依赖于任何定时器,会立即发送本地最优的BPDU给对端,从而加快了拓扑收敛。

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

 

 

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

如图所示,运行STP的交换机连接终端的端口需要经过30才能进入转发状态。

 

RSTP改进:边缘端口的引入

在RSTP里面,如果某一个指定端口位于整个网络的边缘,即不再与其他交换设备连接,而是直接与终端设备直连,这种端口可设置为边缘端口。

边缘端口不参与RSTP运算,可以由Disable直接转到Forwarding状态,且不经历时延。但是一旦边缘端口收到配置BPDU,就丧失了边缘端口属性,成为普通STP端口,并重新进行生成树计算。

如下图所示,在交换机连接终端的端口设置为边缘端口,链路UP后端口可立即进入转发状态。

 

场景五:拓扑变更机制

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

 

RSTP改进:拓扑变更机制的优化

RSTP在网络发生拓扑变化时,变更点交换机直接向全网发送TC置位的BPDU报文,而不是先通知到根桥,然后由根桥向全网发送TC报文,这样在一定程度上节省了收敛时间。

 

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

  1. 为本交换设备的所有非边缘指定端口启动一个TC While Timer,该计时器值是Hello Time的两倍。

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

  3. 其他交换设备接收到RST BPDU后,清空除收到RST BPDU的端口外所有端口学习到MAC地址(边缘端口除外)。然后也为自己所有的非边缘指定端口和根端口启动TC While Timer,向外发送TC置位的RST BPDU。

  4. 重复上述过程,直至全网感知到该网络拓扑变化。

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

  1. SWB删除MAC地址表中E1端口所对应的表项

  2. SWB重新计算生成树,选举E2为新的根端口。

  3. 开启TC While 计时器,由SWB的E2口向外发送TC置位的RST BPDU,TC While Timer超时后,停止发送RST BPDU。

  4. SWC交换设备接收到TC置位的BPDU后,会清空E1口学习到的MAC地址

  5. 开启TC While计时器,由SWC的E1口向外发送TC置位的RST BPDU,TC While Timer超时后,停止发送RST BPDU。

  6. SWA交换设备接收到TC置位的BPDU后,会清空E1口学习到的MAC地址,RSTP拓扑收敛完成。

注意:

边缘端口down掉不会触发拓扑变更,故障恢复后也不会触发拓扑变更。

RSTP保护的保护功能

BPDU保护 

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

 

RSTP可以通过BPDU保护功能来规避此问题发生。交换机上启动了BPDU保护功能后,如果边缘端口收到RST BPDU,边缘端口将被error-down,边缘端口属性不变,同时通知网管系统,可有效的防止网络震荡 。

根保护 

如图所示,由于维护人员的错误配置或网络中的恶意攻击,网络中合法根桥有可能会收到优先级更高的RST BPDU,使得合法根桥失去根地位,从而引起网络拓扑结构的错误变动。这种不合法的拓扑变化,会导致原来应该通过高速链路的流量被牵引到低速链路上,造成网络拥塞。

 

此时可以在SWC连接SWD的端口上,配置根保护。对于启用Root保护功能的指定端口,其端口角色只能保持为指定端口。一旦启用Root保护功能的指定端口收到优先级更高的RST BPDU时,端口状态将进入Discarding状态,不再转发报文。在经过一段时间(通常为两倍的Forward Delay),如果端口一直没有再收到优先级较高的RST BPDU,端口会自动恢复到正常的Forwarding状态。

 

TC-BPDU泛洪保护

交换设备在接收到TC BPDU报文后,会执行MAC地址表项和ARP表项的删除操作。如果有人伪造TC BPDU报文恶意攻击交换设备时,交换设备短时间内会收到很多TC BPDU报文,频繁的删除操作会给设备造成很大的负担,给网络的稳定带来很大隐患。

启用防TC-BPDU报文攻击功能后,在单位时间内,交换设备处理TC BPDU报文的次数可配置。如果在单位时间内,交换设备在收到TC BPDU报文数量大于配置的阈值,那么设备只会处理阈值指定的次数。对于其他超出阈值的TC BPDU报文,定时器到期后设备只对其统一处理一次。这样可以避免频繁的删除MAC地址表项和ARP表项,从而达到保护设备的目的。

STP兼容

RSTP可以和STP互相兼容,当同一个网段里既有运行STP的交换机又有运行RSTP的交换机时,STP交换机会忽略接收到的RST BPDU,而RSTP交换机在某端口上接收到STP BPDU时,会等待两个Hello Time时间之后,把自己的端口转换到STP工作模式,此后便发送STP BPDU,这样就实现了兼容性操作。

在这种STP和RSTP混合使用的场景中,RSTP会失去其快速收敛的优势,而STP慢速收敛的缺点会暴露出来,所以不推荐使用这种做法。

RSTP配置案例

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

操作步骤

SWA配置:

[SwitchA] stp enable

[SwitchA] stp mode rstp

[SwitchA] stp root primary

SWB配置:

[SwitchB] stp enable

[SwitchB] stp mode rstp

[SwitchB] stp bpdu-protection

[SwitchB] interface GigabitEthe.NET0/0/4

[SwitchB-GigabitEthernet0/0/4]  stp edged-port enable

SWC配置:

[SwitchC]  stp enable

[SwitchC]  stp mode rstp

[SwitchC]  stp bpdu-protection

[SwitchC]  interface GigabitEthernet0/0/4

[SwitchC-GigabitEthernet0/0/4] stp edged-port enable

验证配置结果

在SWA上查看生成树信息:

在SWB上查看生成树信息:

在SWC上查看生成树信息:



Tags:   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
早高峰打“飞的”有多快?半小时车程仅需6分钟
横越珠江,掠过广东省博物馆、花城广场等地标性景观,向着广州塔飞去……近日,小鹏汇天的eVTOL(电动垂直起降飞行器)旅航者X2首次飞跃广州CBD。跨江示范飞行中,半小时车...【详细内容】
2024-04-12  Search:   点击:(1)  评论:(0)  加入收藏
JavaScript的异步编程常见模式
在JavaScript中,异步编程是一种处理长时间运行操作(如网络请求或I/O操作)的常见方式。它允许程序在等待这些操作完成时继续执行其他任务,从而提高应用程序的响应性和性能。JavaS...【详细内容】
2024-04-12  Search:   点击:(2)  评论:(0)  加入收藏
Rust编程语言的内存安全与性能:如何平衡?
Rust编程语言自诞生以来,就以其独特的内存安全特性和高性能而备受瞩目。然而,如何在保证内存安全的同时,实现高效的性能,一直是Rust开发者们面临的挑战。本文将深入探讨Rust的内...【详细内容】
2024-04-12  Search:   点击:(2)  评论:(0)  加入收藏
数字人破解跨境直播难题,打造经济高效运营新路径
在数字化浪潮席卷全球,跨境直播蔚然成风之际,众多企业与品牌纷纷借此渠道掘金国际市场,直面全球消费者。然而,构建一支专业且高能的直播团队并非一日之功,它需耗费大量资源进行人...【详细内容】
2024-04-12  Search:   点击:(2)  评论:(0)  加入收藏
Meta确认5月发布Llama 3,参数量达1400亿
周二,在伦敦的一场活动上,Meta 确认计划在下个月初推出其 LLM 的最新版 Llama 3,这个模型是驱动生成式 AI 助手的核心技术。这一消息证实了《The Information》杂志周一发布的...【详细内容】
2024-04-12  Search:   点击:(2)  评论:(0)  加入收藏
ChatGPT 应用商店?可能是一个万能应用程序!
OpenAI 在去年 11 月召开了一次开发者大会,首席执行官 Sam Altman 希望软件制造商在 ChatGPT 之上进行进一步的构建。OpenAI 表示,它将很快推出一个市场,开发人员和非技术人员...【详细内容】
2024-04-12  Search:   点击:(2)  评论:(0)  加入收藏
社交网络与Web3:数字社交的演进
在数字化时代的浪潮下,社交网络已成为人们日常生活的重要组成部分。从早期的在线论坛到如今的社交媒体平台,社交网络已经成为人们交流、分享和获取信息的主要渠道。然而,随着区...【详细内容】
2024-04-12  Search:   点击:(2)  评论:(0)  加入收藏
速查微信聊天最频繁对象,情侣必备!
在如今数字化交流的时代,微信无疑是我们日常生活中使用最频繁的工具之一。无论是工作、学习还是娱乐,微信都陪伴在我们身边,成为我们沟通的重要桥梁。而在微信的众多功能中,聊天...【详细内容】
2024-04-12  Search:   点击:(1)  评论:(0)  加入收藏
女人在微信上给你发这两个字,其实是想你了
情感的表达需借助书信,那一份份缓慢穿越时空的纸张,承载着承诺与深情,往往能够维系一段白头偕老的姻缘。而如今,随着科技的进步,爱情已不再依赖书信这种传统的沟通方式。我们有了...【详细内容】
2024-04-12  Search:   点击:(2)  评论:(0)  加入收藏
Qt与Flutter:在跨平台UI框架中哪个更受欢迎?
在跨平台UI框架领域,Qt和Flutter是两个备受瞩目的选择。它们各自具有独特的优势,也各自有着广泛的应用场景。本文将对Qt和Flutter进行详细的比较,以探讨在跨平台UI框架中哪个更...【详细内容】
2024-04-12  Search:   点击:(1)  评论:(0)  加入收藏
▌简易百科推荐
学生偷看“不良网站”,手机上3个痕迹无法清除,网友:咋不早说
众所周知,中国的常规教育中,总是“谈性色变”,但在这个信息爆炸的互联网时代,即便是一些年纪很小的孩子,也能轻易接触到一些所谓的不良网站,因此这一方面的教育缺失,其实是很可怕的...【详细内容】
2024-03-28    叶姐生活指南  Tags:不良网站   点击:(11)  评论:(0)  加入收藏
什么是网络中的路由器?核心功能解释
路由器是互联网连接的核心元素,是一种允许多个设备连接到互联网,并促进将数据包转发到各自的目标地址的设备。使用动态路由技术,路由器检查数据并在各种可用路径中选择最有效的...【详细内容】
2024-03-07    千家网  Tags:路由器   点击:(31)  评论:(0)  加入收藏
过年该不该升级Wi-Fi 7路由?看完就知道
打开电商网站不难发现,从2023年第三季度到现在,Wi-Fi 7路由器新品越来越多。而且价格不再是高高在上,已经基本和Wi-Fi 6路由价格差不多了。看到这些Wi-Fi 7新品路由,不少朋友就...【详细内容】
2024-02-27    中关村在线  Tags:Wi-Fi   点击:(37)  评论:(0)  加入收藏
聊聊 Kubernetes 网络模型综合指南
这篇详细的博文探讨了 Kubernetes 网络的复杂性,提供了关于如何在容器化环境中确保高效和安全通信的见解。译自Navigating the Network: A Comprehensive Guide to Kubernete...【详细内容】
2024-02-19  云云众生s  微信公众号  Tags:Kubernetes   点击:(39)  评论:(0)  加入收藏
SSL协议是什么?关于SSL和TLS的常见问题解答
SSL(安全套接字层)及其后继者TLS(传输层安全)是用于在联网计算机之间建立经过身份验证和加密的链接的协议。尽管SSL协议在 1999年已经随着TLS 1.0的发布而被弃用,但我们仍将这些...【详细内容】
2024-02-06  IDC点评网    Tags:SSL协议   点击:(69)  评论:(0)  加入收藏
从零开始了解网络协议:TCP/IP详解
从零开始了解网络协议:TCP/IP详解 在当今数字化的时代,网络协议已经成为我们生活中不可或缺的一部分。作为互联网的基础,网络协议规定了数据如何在不同的网络设备之间传输。TC...【详细内容】
2024-02-01    简易百科  Tags:TCP/IP   点击:(59)  评论:(0)  加入收藏
BGP路由属性:互联网路由的灵活控制器
在互联网的庞大网络中,边界网关协议(BGP)是确保不同自治系统(AS)间路由信息有效交换的关键协议。然而,BGP的功能远不止于此。其核心组成部分,即BGP路由属性,赋予了BGP强大的灵活性,使...【详细内容】
2024-01-26  诺诺爱生活    Tags:互联网路由   点击:(40)  评论:(0)  加入收藏
简易百科之什么是网络延迟?
简易百科之什么是网络延迟?随着互联网的普及和发展,网络已经成为我们生活中不可或缺的一部分。然而,我们在使用网络时可能会遇到一种情况,那就是网络延迟。那么,什么是网络延迟呢...【详细内容】
2024-01-24    简易百科  Tags:网络延迟   点击:(149)  评论:(0)  加入收藏
网络延迟与网络速度有什么区别?分享具体的答案
通常,许多人抱怨网速测试。速度还是不错的,但是他们玩游戏的时候怎么会卡住,还是断开连接等等问题,这一系列问题始终困扰着大家。那么,网络延迟与网络速度有什么区别呢?请不要担心...【详细内容】
2024-01-24  萌新小郭    Tags:网络延迟   点击:(51)  评论:(0)  加入收藏
揭秘IP地址的网络威胁与攻击类型
在当今数字化时代,网络攻击已经成为网络安全的一大挑战。IP地址,作为互联网通信的基础,也成为网络威胁和攻击的焦点之一。本文将深入探讨不同类型的网络威胁和攻击,以及如何防范...【详细内容】
2024-01-22  IP数据云    Tags:IP地址   点击:(78)  评论:(0)  加入收藏
相关文章
    无相关信息
站内最新
站内热门
站内头条