各种生成树(stp、rstp、pvst、mstp、msti)概念

PC机和服务器通过交换机相连接,当交换机出现故障导致PC机无法从服务器获取信息就会导致网络无法访问。此时增加冗余链路解决这个(单点故障)问题,但同时可能会引发广播风暴、多帧复制和MAC地址表不稳定等现象影响网络正常运行。当一个问题出现时,总会有另一个办法去解决它。这个办法就是生成树,生成树协议是一种二层管理协议,它通过有选择性地阻塞网络冗余链路也就是主要链路正常时,断开备份链路;主要链路故障时,启用备份链路,来达到消除网络二层环路的目的。

STP生成树

最早的生成树协议(STP)由IEEE802.1d标准定义,在该协议中定义了根桥(RootBridge)、根端口(RootPort)、指定端口(DesignatedPort)、路径开销(PathCost)等概念,目的就在于通过构造一棵自然树的方法达到裁剪冗余环路的目的,同时实现链路备份和路径最优化。经过STP计算最终形成一个无环拓扑的逻辑结构。
为了实现这些功能,网桥之间必须要进行信息的交流,这些信息交流单元就是BPDU(BridgeProtocol Data Unit)。所有支持STP协议的网桥都会接收并处理收到的BPDU报文。该报文的数据区里携带了用于生成树计算的所有有用信息。
在Disabled状态下端口不激活不参与STP任何动作,阻塞状态下交换机接收BPDU,判断交换机位置和根ID但不参与数据帧转发,学习状态下交换机根据BPDU判断端口是否应该参与数据帧的转发并发送BPDU;在学习状态下交换机准备参与数据帧的转发并填写MAC地址表;在转发状态下,交换机转发数据帧同时收发BPDU。
可靠的网络必须具备三个典型的特点:1是能够有效地提供传输流量;2是提供冗余;3是故障快速恢复能力但随着语音视频的广泛使用这就要求了网络必须具备更快的自我恢复能力,很显然STP的50秒貌似有那么一点点长,于是开发了由802.1w定义的快速生成树协议(RSTP)和由802.1s定义的多路生成树协议(MSTP)由于与MSTP协议相关联的协议有一点点多,所以我们首先说说RSTP快速生成树协议。
在这里插入图片描述
在这里插入图片描述

RSTP快速生成树

Rstp是从stp发展过来的,其实所有的生成树协议和其他协议一样,是随着网络的不断发展而不断更新换代的。那么RSTP做的改进就是:为根端口和指定端口设置了快速切换用的替换端口(Alternate Port)和备份端口(Backup Port)两种角色,第二点改进:在只连接了两个交换端口的点对点链路中,指定端口只需与下游网桥进行一次握手就可以无时延地进入转发状态。第三点改进:直接与终端相连而不是把其他网桥相连的端口定义为边缘端口(Edge Port)。边缘端口可以直接进入转发状态,不需要任何延时。
在RSTP中只有三种端口状态,Discarding、Learning和Forwarding。802.1D中的禁止端口,监听端口,阻塞端口在802.1W中统一合并为禁止端口。
缺陷:1、由于整个交换网络只有一棵生成树,在网络规模比较大的时候会导致较长的收敛时间,拓扑改变的影响面也较大。2、在网络结构不对称的时候,单生成树就会影响网络的连通性。3、当链路被阻塞后将不承载任何流量,造成了带宽的极大浪费,这在环行城域网的情况下比较明显。

MSTP多生成树协议

MSTP协议是IEEE 802.1s中提出的一种STP和VLAN结合使用的新协议,是基于实例计算出多颗生成树。它既继承了RSTP端口快速迁移的优点,又解决了RSTP中不同vlan必须运行在同一棵生成树上的问题。这为虚拟局域网环境提供了快速收敛和负载均衡的功能。
要了解MSTP多生成树协议那么就需要了解MSTI多生成树实例、MST域、IST内部生成树、CST公共生成树这几个概念。
MSTI多生成树实例
每个实例可以包含一个或多个VLAN,每个VLAN只能映射到一个实例,从而实现不同VLAN组之间的负载分担。将每一个实例都看成STP,所以不同实例下都有一个相对应的根,选举规则与STP一致,在多余链路上实现VLAN级的负载均衡。
MST域
为了确保多生成树计算的准确性,这些网桥的VLAN和实例映射关系必须完全相同。然而在大型网络中不能保证所有网桥配置相同的VLAN映射关系,MSTP就提出了MST域来解决此问题。将大型网络划分成多个MST域 ,把拥有相同VLAN映射关系(也就是同一个实例)以及其他属性的网桥放在同一个域中,域之间运行标准还是RSTP。通过MST配置标识来判断设备是否在同一MST域内。
MST域的配置标识:
1.域名(Configuration Name):本域的域名 。
2.修订级别(Vevision level):目前保留,默认为0
3.配置摘要(Configuration Digest):由网桥的VLAN和实例映射关系生成的长度为16字节的HMAC-MD5签名。如果配置摘要不同,表示VLAN和实例映射关系不同,属于不同的MST域
这样一来MST提供了多个数据转发路径和负载均衡,提高了网络容错能力因为一个进程(转发路径)的故障不会影响其它进程(转发路径)。

CST 公共生成树

CST (Common Spanning Tree,公共生成树)是用来互联MST区域的单生成树。如果把每个MST区域看作是一个"设备",这些"设备通过STP协议、RSTP协议计算生成CST这样一棵生成树。
是连接网络内MST域的单生成树,总根所处的域为CST的根桥 。

IST 内部生成树

IST(Internal Spanning Tree 内部生成树)是一种特殊的MSTI,它是MST区域中的一个生成树实例。

SST单生成树

运行STP/RSTP的交换机设备只能属于一个生成树。MST域中只有一个交换设备,这个交换设备构成单生成树。

其实在每个MST区域内部,MST维护着多个生成树实例。实例0是一个特殊的实例 (其实可以与VLAN 1类比,VLAN 1是交换机默认的管理VLAN,也是交换机默认的本地VLAN),那就是此处所说的IST。所有其他MST实例号只能在1 ~ 4094之间,也可以把IST看成是每个MST区域的外在表现。默认情况下,所有VLAN是分配到IST实例中的。
默认情况下交换机运行的就是MSTP,所有的VLAN都在实例里面,在MSTP里面每个实例单独运行的是RSTP。
从包围范围来看,IST最小属于MST区域内部,CST次之是MST区域间的互联生成树实例,CIST包括了IST和CST。

CIST公共和内部生成树
是连接一个交换网络内所有设备的单生成树,由IST和CST共同构成。
通用和内部生成树(CIST)是每个MST区的内部生成树(IST)、互连MST区的通用生成树和单生成树桥的一个集合,它和一个MST区内的一个IST是一样的,它和一个MST区外的CST也是一样的;STP、RSTP和MSTP共同建立一个单独的桥来做为通用和内部生成树(CIST)的根。
是整个网络所有设备经过生成树计算得到的一棵树 。
在这里插入图片描述
PVST/PVST+每个VLAN生成树(Per-VLAN Spanning Tree)
PVST它不再像STP那样把整个交换网络当成一个生成树实例,而是为每个VL AN当作一个生成树实例。在STP中,它只定义了一个CST (通用生成树),假设整个桥接网络中仅-一个生成树实例,这样就要求整个网络无环路。而在PVST中,每个VL AN一个生成树实例,只要每个VL AN内部无环路就可以,不考虑其他VL AN拓扑。这是它与STP的最大区别。
另外PVSTBPDU的格式和STP/RSTPBPDU格式已经不一样,发送的目的地址也发生了一定的变化所以,PVST协议并不兼容STP/RSTP协议。由于每个VLAN都有一棵独立的生成树,单生成树的种种缺陷都被克服了。同时,PVST带来了新的好处,那就是二层负载均衡。

缺陷:1、由于每个VLAN都需要生成一棵树,PVST BPDU的通信量将正比于Trunk的VLAN个数。2、在VLAN个数比较多的时候,维护多棵生成树的计算量和资源占用量将急剧增长。3、由于协议的私有性,PVST/PVST+不能像STP/RSTP一样得到广泛的支持。

转载
转载来源:https://blog.51cto.com/14224759/2381975
©著作权归作者所有:来自51CTO博客作者七舶的原创作品,如需转载,请注明出处,否则将追究法律责任

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

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

相关文章

html加载状态,js等待页面加载完成

页面加载完成后等待一段时间在执行js的方法,时间例如方法: function test(){return 1;} 页面加载完毕事件: window.onload function(){ setTimeout(test,1000);//1000毫秒1秒后执行test方法 } 如果你使用jquery的话可以: $(windo…

mvc5控制器修改html,关于jquery:如何通过对控制器的ajax调用在MVC5中呈现局部视图并返回HTML...

如何使用Ajax加载以HTML呈现的完整部分视图(所以我只设置了div.html)我需要一个Ajax调用来调用控制器操作,它将呈现一个完整的局部视图(红色),并将其附加到当前加载的视图的末尾?[我知道如何附加到DOM以及如何进行Ajax调用]我需要知道什么是最…

OSPF邻接关系的建立步骤

OSPF邻接关系建立过程剖析 在OSPF网络中,为了交换路由信息,邻居设备之间首先要建立邻接关系,邻居(Neighbors)关系和邻接(Adjacencies)关系是两个不同的概念。邻居关系:OSPF设备启动…

为什么说ip协议是无连接协议

为什么ip是面向无连接的协议? 面向无连接 面向无连接是通信技术之一。是指通信双方不需要事先建立一条通信线路,二是把每个带有目的地址的包(报文分组)送到线路上,由系统自主选定路线进行传输。 IP是面向无连接的。…

html5新增的type类型,html5新增的type类型

html5新增了很多的input类型,省去了前端开发者写javascript,调用插件等一系列麻烦的操作,下面介绍一些新增的类型。注释直接写在HTML代码里了:H5中新增的input标签/*search类型专用于“搜索”,可以在输入后点击“X”直…

html提交表单使用python计算_教你使用Python实现新个税计算器

自从采用新个税计算方法后,每个月发工资你是否真的清楚扣多少税?今天跟大家分享下如何计算,希望大家喜欢。计税方法科普个税方法这里需要知道的知识点:1.个税起征点调到 5000;2.累积预扣法:本期应预扣预缴税…

qos和被qos是什么意思

QoS QoS(Quality of Service,服务质量)指一个网络能够利用各种基础技术,为指定的网络通信提供更好的服务能力,是网络的一种安全机制, 是用来解决网络延迟和阻塞等问题的一种技术。 被QoS 说白了就是在网…

html的表单标记格式,HTML表单标签

表单:专门用来搜集用户信息元素:在HTML中 标签、标记、表单都是指HTML中的标签如: a标签、a标记、a元素表单元素:也是HTML中的一些标签,只是它们比较特殊,有特殊的外观的默认的功能表单格式:常见…

axure 小程序 lib_使用maven和fat jar/war运行应用程序的对比

简介上篇文章我们介绍了Spring boot的fat jar/war包,jar/war包都可以使用 java -jar 命令来运行,而maven也提供了mvn spring-boot:run 命令来运行应用程序,下面我们看看两者有什么不同。Spring Boot Maven Plugin上篇文章我们提到了Spring Bo…

VLAN端口转发原则

VLAN端口转发原则 1.Access端口转发原则 当Access端口收到帧时 如果该帧不包含802.1Q tag header,将打上端口的PVID; 如果该帧包含802.1Q tag header,交换机不作处理,直接丢弃。 当Access端口发送帧时 剥离802.1Q tag header…

新版opencv兼容旧版_【标准换版】关于家用和类似用途电器用外置电源适配器、充电器和内置开关电源产品认证执行新版标准的通知...

各相关认证企业:GB4343.1-2018《家用电器、电动工具和类似器具的电磁兼容要求 第1部分:发射》标准(以下简称“新版标准”)已发布,并将于2020年6月1日实施,新版标准自实施之日起替代GB4343.1-2009标准&#…

html万花筒照片代码,怎样拍出万花筒效果

ipadair相机怎么拍出万花筒的效果我这边是ipad3,不过应该和air差不多,有一个photo booth,里面有个万花筒效果照相,点那个进去照相就好了。制作前的准备工作 尽量使用最简单的工具 1 镜子:你可以去玻璃店购买些镜子的边…

delay 芯片时序output_【第二章 STA概念 上】静态时序分析圣经翻译计划

本文由知乎赵俊军授权转载,知乎主页为https://www.zhihu.com/people/zhao-jun-jun-19本章节介绍CMOS技术的基础知识以及执行静态时序分析所涉及的术语。2.1 CMOS逻辑设计2.1.1 基本MOS结构MOS晶体管(NMOS和PMOS)的物理实现如图2-1所示。源极(source)和漏极(drain)区…

html播放七牛云视频,直传七牛云视频播放商业版【价值199元】

福利:本资源正在众筹中,如贴内有下载链接则已众筹成功可下载资源,否则暂无资源,你可以在官方购买此资源后,用于【交换】魔趣吧内已发布的其他你需要的极品资源!这样你既可以买到自己想要的资源,…

数码管显示实验一 编写程序让8只数码管同时显示零

编写程序让数码管同时显示零 此实验是共阳极写法 程序&#xff1a; #include <reg51.h> unsigned char segment[] {0xff,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe}; unsigned char k0; int main(void) { TMOD0x00; TL0(8192-2000)%32; TH0(8192-2000)/256; TR01; EA1…

andpods授权码订单号分享_微信OAuth2授权登录

前言 第三方登录是应用开发中的常用功能&#xff0c;通过第三方登录&#xff0c;我们可以更加容易使用户登录我们的应用或者网站。很多网站都提供了第三方登录的功能&#xff0c;在他们的官网中&#xff0c;都提供了如何接入第三方登录的文档。但是&#xff0c;假如不同的网站文…

让8只数码管初始显示零,每隔大约1s加一显示,到数码管显示9后,再从一开始显示

让8只数码管初始显示零&#xff0c;每隔大约1s加一显示&#xff0c;到数码管显示9后&#xff0c;再从一开始显示 用延时函数实现加一显示 程序&#xff1a; #include <reg51.h> void delay(unsigned char n); int main(void) { unsigned char led[]{0xC0,0xF9,0xA4,0xB…

计算机项目经理专业,IT项目经理的对口专业

IT项目经理的对口专业IT项目经理是从事IT计算机相关的项目管理人员&#xff0c;IT项目经理需要具有一定的专业能力和管理能力&#xff0c;是一个较为高端的职位。有朋友问&#xff1a;IT项目经理的对口专业是什么?下面我们给大家介绍一下。如今&#xff0c;在互联网蓬勃发展的…

让8只数码管从左往右显示1、2、3、4、、、8

编写实验学习数码管动态显示&#xff0c;让8只数码管从左往右显示1,2&#xff0c;3,4&#xff0c;&#xff0c;&#xff0c;8 程序&#xff1a; #include <reg51.h> unsigned char led[]{0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80};//0-9的字型码 unsigned char segment[…

miracast投屏软件下载_手机画面如何投屏到电视?

投屏方法详解&#xff0c;拆解步骤&#xff0c;视频演示&#xff0c;讲到你会用为止&#xff01;安卓手机Miracast镜像安卓手机Miracast镜像可谓刚需&#xff0c;这种镜像方式的一大优点就是手机端不用再另装其他软件&#xff0c;电视端有“爱投屏”即可流畅使用。步骤如下&…