生成树简介.

合集下载

MSTP简介

MSTP简介

MSTP简介stp(spanning tree protocol,生成树协议)不能使端口状态快速迁移,即使是在点对点链路或边缘端口,也必须等待2倍的forward delay的时间延迟,端口才能迁移到转发状态。

rstp(rapid spanning tree protocol,快速生成树协议)可以快速收敛,但是和stp一样存在以下缺陷:局域网内所有网桥共享一棵生成树,不能按vlan阻塞冗余链路,所有vlan的报文都沿着一棵生成树进行转发。

mstp(multiple spanning tree protocol,多生成树协议)将环路网络修剪成为一个无环的树型网络,避免报文在环路网络中的增生和无限循环,同时还提供了数据转发的多个冗余路径,在数据转发过程中实现vlan数据的负载均衡。

mstp兼容stp和rstp,并且可以弥补stp和rstp的缺陷。

它既可以快速收敛,也能使不同vlan 的流量沿各自的路径分发,从而为冗余链路提供了更好的负载分担机制。

1.1.1 mstp的协议报文bpdu(bridge protocol data unit,桥协议数据单元)是生成树协议采用的协议报文,也称为配置消息。

bpdu在交换机之间传递来确定网络的拓扑结构,它包含了足够的信息来保证交换机完成生成树计算。

bpdu在stp协议中分为两类:配置bpdu(configuration bpdu):用来维护生成树拓扑的报文。

tcn bpdu(topology change notification bpdu):当拓扑发生变化时,用来通知相关交换机网络发生变化的报文。

mstp同stp/rstp一样,使用bpdu进行生成树的计算,只是mstp的bpdu中还携带了交换机上的mstp的配置信息。

1.1.2 mstp的基本概念在图1-1中的每台交换机都运行mstp。

下面结合图1-1解释mstp的一些基本概念。

1. mst域mst域(multiple spanning tree regions,多生成树域)是由交换网络中的多台交换机以及它们之间的网段构成。

RS6016 百兆系列 工业以太网交换机 WEB 说明书

RS6016 百兆系列 工业以太网交换机 WEB 说明书

RS6016百兆系列工业以太网交换机WEB说明书安全声明为保证安全、正确、高效地使用装置,请务必阅读以下重要信息:1.装置的安装调试应由专业人员进行;2.装置上电使用前请仔细阅读说明书。

应遵照国家和电力行业相关规程,并参照说明书对装置进行操作、调整和测试。

如有随机材料,相关部分以资料为准;3.装置上电前,应明确连线与正确示图相一致;4.装置应该可靠接地;5.装置施加的额定操作电压应该与铭牌上标记的一致;6.严禁无防护措施触摸电子器件,严禁带电插拔端子、拆卸机箱;7.接触装置端子,要防止电触击;8.如要拆装装置,必须保证断开所有的外部端子连接。

否则,触及装置内部带电部分,将可能造成人身伤害;9.对装置进行测试时,应使用可靠的测试仪;10.装置的运行参数和定值同样重要,应准确设定才能保证装置功能的正常运行。

版本声明●本说明书适用于RS6016百兆系列工业以太网交换机。

●本说明书包含技术内容介绍和现场调试大纲。

●本说明书仅适用于RS6016百兆系列工业以太网交换机V2.0及以上版本软件。

产品说明书版本修改记录表109876543V2.0修正本文中的错误描述V1.22016/06 2V1.2修正本文中的错误描述V1.12016/04 1V1.1RS6016百兆系列工业以太网交换机说明书V1.02015/12序号说明书版本号修改摘要初始软件版本号修改日期*本说明书可能会被修改,请注意核对实际产品与说明书是否相符目录安全声明 (2)版本声明 (3)第一章概述 (1)1.1.性能特点 (1)第二章技术性能及指标 (1)2.1.电源系统 (1)2.2.主要技术性能及指标 (1)2.3.绝缘和耐湿热性能 (3)2.4.电磁兼容性能 (3)2.5.机械性能 (4)2.6.环境大气条件 (4)第三章硬件结构说明 (5)3.1.面板端子 (5)3.2.电源、告警连接端子示意图 (6)3.3.告警继电器输出端子 (6)3.4.安装方式 (7)第四章使用说明 (9)4.1.Web登录 (9)4.2.系统配置 (9)4.3.用户设置 (11)4.4.IP地址 (12)第五章Mirror (12)5.1.简介 (12)5.2.配置说明 (13)第六章SNTP (14)6.1.SNTP简介 (14)6.2.SNTP (14)第七章TRUNK (15)第八章告警 (15)8.1.简介 (15)8.2.告警设置 (15)第九章DoS攻击防御 (16)第十章GMRP设置 (16)10.1.GMRP定义 (16)第十二章端口 (17)12.1.端口设置 (17)12.2.端口统计 (18)12.3.端口安全 (20)12.4.VLAN LIMIT (21)第十三章VLAN (21)13.1.概述 (21)13.2.划分策略 (21)13.3.VLAN的成员配置 (22)13.4.VLAN的端口配置 (22)第十四章MAC (23)14.1.单播 (23)14.2.多播 (24)第十五章QoS (24)15.1.QoS概述 (24)15.2.常用优先级介绍 (25)15.3.队列调度介绍 (25)15.4.系统配置界面 (26)15.5.优先级配置界面 (26)15.6.端口限速界面 (27)15.7.风暴控制界面 (28)第十六章STP (29)16.1.生成树简介 (29)16.2.系统配置 (30)16.3.端口配置 (30)16.4.端口状态 (31)16.5.数据统计 (33)第十七章MSTP (33)17.1.概述 (33)17.2.桥配置信息 (33)17.3.桥端口配置和状态 (34)17.4.CIST配置信息 (35)17.5.CIST端口配置和状态 (35)17.6.MSTI配置信息 (36)17.7.MSTI端口配置和状态 (37)第十八章WTOP_RING (39)18.1.概述 (39)18.2.端口配置 (42)第十九章ACL (45)19.1.概述 (45)19.2.ACL列表配置 (45)19.3.ACL端口配置 (46)19.4.Ip Rule配置 (47)第二十章802.1X (47)20.1.简介 (47)20.2.802.1X系统配置 (47)20.3.802.1X本地认证 (47)20.4.802.1x端口配置 (48)20.5.802.1X端口统计 (48)第二十一章IGMP (48)21.1.IGMP原理 (48)21.2.IGMP配置 (49)21.3.IGMP状态及统计 (49)21.4.IGMP组 (50)第二十二章LACP (50)22.1.链路汇聚简介 (50)CP配置 (50)CP信息 (51)CP统计 (52)第二十三章LLDP (52)23.1.LLDP简介 (52)23.2.LLDP设置 (53)23.3.LLDP信息 (54)23.4.LLDP统计 (54)第二十四章SNMP (55)24.1.SNMP简介 (55)24.2.SNMP视图 (55)24.3.SNMP团体 (56)24.4.SNMP群组 (56)24.5.SNMP用户 (57)第二十五章RMON (58)25.1.RMON简介 (58)25.2.统计组 (58)25.3.历史组 (59)25.4.告警组 (59)25.5.事件组 (60)第二十六章系统工具 (61)26.1.系统重启 (61)26.2.出厂设置 (61)26.3.软件升级 (62)26.4.配置管理 (62)26.5.系统日志 (63)26.6.系统日志查询 (63)第二十七章装置调试大纲 (64)27.1.装置检查 (64)27.2.性能测试 (64)27.3.配置备份及恢复 (64)第二十八章订货须知 (65)第一章概述RS6016百兆系列工业以太网交换机适用于常规及智能变电站综合自动化系统、电厂监控系统、工业控制系统等领域。

生成树协议简介及实验

生成树协议简介及实验

生成树协议简介及实验第一部分:STP/RSTP协议简介一、STP协议1、STP协议简介生成树协议(STP)是一个用于局域网中消除环路的协议,协议运行原理是通过运行该协议的设备之间交互信息而发现网络中的环路,并适当对某些端口进行阻塞以消除环路。

生成树协议是局域网重要协议之一。

网络中出现环路会造成广播风暴导致网络瘫痪或MAC 地址表抖动导致MAC地址表项被破坏。

2、STP基本概念STP引入了根桥(Root Bridge)概念,对于一个STP网络,根桥在全网中只有一个,它是整个网络的逻辑中心,但不一定是物理中心。

根桥会根据网络拓扑的变化而动态变化。

网络收敛后,根桥会按照一定的时间间隔产生并向外发送配置BPDU,其他设备仅对该报文进行处理,传达拓扑变化记录,从而保证拓扑的稳定。

生成树的生成计算有两大基本度量依据:ID和路径开销。

ID又分为:BID(桥ID)和PID(端口ID)。

BID(桥ID):IEEE 802.1D标准中规定BID是由16位的桥优先级(Bridge Priority)与桥MAC地址构成。

BID桥优先级占据高16位,其余的低48位是MAC地址。

在STP网络中,桥ID最小的设备会被选举为根桥。

PID(端口ID):PID由两部分构成的,高4位是端口优先级,低12位是端口号。

PID只在某些情况下对选择指定端口有作用。

路径开销:路径开销(Path Cost)是一个端口变量,是STP协议用于选择链路的参考值。

STP协议通过计算路径开销,选择较为“强壮”的链路,阻塞多余的链路,将网络修剪成无环路的树形网络结构。

在一个STP网络中,某端口到根桥累计的路径开销就是所经过的各个桥上的各端口的路径开销累加而成,这个值叫做根路径开销(Root Path Cost)。

从环形网络拓扑结构到树形结构,总体来说有三个要素:根桥、根端口和指定端口。

根桥就是网桥ID最小的桥,通过交互配置BPDU协议报文选出最小的BID。

STP协议解析生成树协议的工作原理

STP协议解析生成树协议的工作原理

STP协议解析生成树协议的工作原理生成树协议(Spanning Tree Protocol,STP)是一种用于网络交换机之间建立冗余链路的协议,它的作用是确保网络中不存在环路,以提高网络的可靠性和稳定性。

本文将对STP协议进行解析,并介绍其工作原理。

一、STP协议简介STP协议是由IEEE 802.1D标准定义的一种链路层协议,用于在网络交换机之间建立一个逻辑上无环路的生成树(Spanning Tree),通过将某些端口设为阻塞状态来消除冗余链路,从而避免广播风暴和数据包的循环转发。

二、STP协议的工作原理1. 桥ID和优先级STP协议中,每个交换机都有一个唯一的Bridge ID(桥ID)用于标识自己,桥ID由优先级和MAC地址组成。

优先级取值范围为0~65535,MAC地址为交换机的物理地址。

生成树的根交换机拥有最小的桥ID。

2. 选举根交换机在网络中,首先进行根交换机的选举。

每个交换机发送BPDU (Bridge Protocol Data Unit)消息,其中包含了自己的桥ID和路径代价(Path Cost)。

路径代价是指从发送BPDU的交换机到根交换机的总路径长度,路径长度越短,路径代价越小。

接收到BPDU的交换机会与自己的桥ID进行比较,如果接收到的BPDU的桥ID更小或者路径代价更小,则将接收到的BPDU继续发送给其他交换机。

3. 生成树计算生成树计算阶段,交换机通过比较收到的BPDU中的桥ID和路径代价来确定到达根交换机的最佳路径,将其端口状态设置为指定端口(Designated Port),用于与其他交换机进行通信。

同时,选举出的根交换机的端口也设置为指定端口。

如果有多条路径具有相同的最小路径代价,则选择桥ID较小的那个路径。

4. 阻塞冗余链路生成树计算完成后,除了根交换机和指定端口以外的所有其他端口都将被设置为阻塞状态(Blocking State),这样就实现了环路的消除。

生成树(STP)

生成树(STP)

1.1 STP简介1.1.1 STP的用途STP(Spanning Tree Protocol)是生成树协议的英文缩写。

该协议可应用于环路网络,通过一定的算法实现路径冗余,同时将环路网络修剪成无环路的树型网络,从而避免报文在环路网络中的增生和无限循环。

1.1.2 STP的实现方法STP的基本原理是,通过在交换机之间传递一种特殊的协议报文(在IEEE 802.1D中这种协议报文被称为“配置消息”)来确定网络的拓扑结构。

配置消息中包含了足够的信息来保证交换机完成生成树计算。

配置消息中主要包括以下内容:(1)树根的ID:由树根的优先级和MAC地址组合而成;(2)到树根的最短路径开销;(3)指定交换机的ID:由指定交换机的优先级和MAC地址组合而成;(4)指定端口的ID:由指定端口的优先级和端口编号组成;(5)配置消息的生存期:MessageAge;(6)配置消息的最大生存期:MaxAge;(7)配置消息发送的周期:HelloTime;(8)端口状态迁移的延时:ForwardDelay。

指定端口和指定交换机的含义,请参见下面的说明:图1-1 指定交换机和指定端口示意图对一台交换机而言,指定交换机就是与本机直接相连并且负责向本机转发数据包的交换机,指定端口就是指定交换机向本机转发数据的端口;对于一个局域网而言,指定交换机就是负责向这个网段转发数据包的交换机,指定端口就是指定交换机向这个网段转发数据的端口。

如图1-1所示,AP1、AP2、BP1、BP2、CP1、CP2分别表示Switch A、Switch B、Switch C 的端口,Switch A通过端口AP1向Switch B转发数据,则Switch B的指定交换机就是Switch A,指定端口就是Switch A的端口AP1;与局域网LAN相连的有两台交换机:Switch B和Switch C,如果Switch B负责向LAN转发数据包,则LAN的指定交换机就是Switch B,指定端口就是Switch B的BP2。

最小生成树算法在城市规划中的应用

最小生成树算法在城市规划中的应用

最小生成树算法在城市规划中的应用城市规划是指针对城市的发展和布局进行系统设计和管理的过程。

在城市规划中,如何高效地建立城市的基础设施和交通网络是一个重要的问题。

最小生成树算法作为一种经典的图论算法,被广泛应用于城市规划中,用于优化城市的基础设施和交通布局。

一、最小生成树算法简介最小生成树算法是图论中的经典算法之一,用于找到一个连通图的最小生成树。

最小生成树是指包含图中所有顶点,并且边的总权重最小的树。

常见的最小生成树算法有Prim算法和Kruskal算法。

1. Prim算法Prim算法是一种贪心算法,主要思想是从一个初始节点开始,每次选择一个未被访问的节点和连接它的边中权重最小的边,并将该节点加入到树中,直到所有节点都被访问为止。

2. Kruskal算法Kruskal算法是一种基于边的排序算法,主要思想是按照边的权重递增的顺序依次选择边,当选择的边不会形成环时,将该边加入到树中,直到树中包含了所有的节点为止。

二、1. 基础设施规划最小生成树算法可以应用于基础设施规划中,例如道路、给排水系统、电力网络等。

通过将城市的基础设施抽象成一个图,节点代表不同的设施,边的权重代表建设设施所需的成本或者距离。

利用最小生成树算法,可以找到一种最优的布局方式,使得总的建设成本最小或者各设施之间的距离最小。

2. 交通网络规划最小生成树算法也可以应用于城市的交通网络规划中。

通过将城市的道路网抽象成一个图,节点代表交叉口或者重要的地点,边的权重代表道路的长度或者通行的成本。

利用最小生成树算法,可以找到一种最优的道路布局方式,使得整个城市的交通效率最高或者交通成本最低。

3. 公共设施规划另外,最小生成树算法还可以应用于城市的公共设施规划,例如学校、医院、公园等。

通过将城市不同区域的需求和供给抽象成一个图,节点代表不同的区域,边的权重代表区域之间的距离或者需求与供给的匹配度。

利用最小生成树算法,可以找到一种最佳的公共设施布局方式,使得城市的公共设施服务覆盖率最高或者供给与需求的匹配度最好。

图论第2章

图论第2章
由N中的元素组成的长为n-2的序列的个数为nn-2。 接下来,我们将在Kn的生成树的集合与这种序列的集合之 间建立一一对应。 假定T是Kn的一棵生成树,设s1是T中标号最小的叶子点, 把与s1相邻的顶点的标号记为t1。 现在从T中删去s1,用s2表示T-s1中标号最小的叶子点,把 与s2相邻的顶点的标号记为t2。 重复这一过程,直到得到tn-2。 很容易看出,最后剩下一条边。
比如
1 2 3 7 4 5 8
6
(4, 3, 5, 3, 4, 5)
很容易验证上述过程可逆。 注: 以上讨论的生成树的棵数均指标定图而言。标定图的 生成树的数量远大于非标定图生成树的数量。如标定图K6 有66-2 = 1296 棵生成树,而不同构的6阶树仅6棵。
三、回路系统简介
定义 设 T 是图G=(V, E)的一棵生成树,m和n分别是G的边 数与顶点数,e1, e2,…, em-n+1 为T的弦,设 Cr 是 T 加 er 产生 的圈(r = 1, 2,…, m-n+1),称 Cr 为对应于弦 er 的基本回路, {C1, C2,…, Cm-n+1}称为对应于生成树T的基本回路系统。
第二章 树

树的概念与性质
树的中心与形心 生成树 最小生成树
yzwang@
2.1 树的概念与性质
一、树的概念
定义 不含圈的图称为无圈图,连通的无圈图称为树。树 常用符号T 表示。
例 下面的图均是树。
T1
T2
T3
T4
注:平凡图称为平凡树。
定义 无圈图称为森林。
注;(1) 树与森林都是简单图;
n1 2 n3 2n4 (k 2)nk。
推论 假定(n, m)图G 是由k棵树组成的森林,则m = n-k。 证明 设G 的每棵树的点数与边数分别是ni 和mi (1≤i≤k) 。 则mi = ni -1, i =1, 2,…, k。 因此

生成树协议

生成树协议

功能
生成树协议的主要功能有两个:一是在利用生成树算法、在以太络中,创建一个以某台交换机的某个端口为 根的生成树,避免环路。二是在以太络拓扑发生变化时,通过生成树协议达到收敛保护的目的。
特点
(1)生成树协议提供一种控制环路的方法。采用这种方法,在连接发生问题的时候,你控制的以太能够绕过 出现故障的连接。
生成树协议
通信协议
01 工作原理
03 工作过程 05 特点
目录
02 简介 04 功能
生成树协议(英语:Spanning Tree Protocol,STP),是一种工作在OSI络模型中的第二层(数据链路层) 的通信协议,基本应用是防止交换机冗余链路产生的环路.用于确保以太中无环路的逻辑拓扑结构.从而避免了广 播风暴,大量占用交换机的资源。
谢谢观看
(2)生成树中的根桥是一个逻辑的中心,并且监视整个络的通信。最好不要依靠设备的自动选择去挑选哪一 个桥会成为根桥。
(3)生成树协议重新计算是繁冗的。恰当地设置主机连接端口(这样就不会引起重新计算),推荐使用快速 生成树协议。
(4)生成树协议可以有效的抑制广播风暴。开启生成树协议后抑制广播风暴,络将会更加稳定,可靠性、安 全性会大大增强。
生成树协议是基于Radia Perlman在DEC工作时发明的一种算法被纳入了IEEE 802.1d中, 2001年IEEE组 织推出了快速生成树协议(RSTP)在络结构发生变化时其比STP更快的收敛络,还引进了端口角色来完善了收敛机制, 被纳入在IEEE 802.1w中。
工作过程
STP的工作过程如下:首先进行根桥的选举,其依据是桥优先级(bridge priority)和MAC组合生成的桥ID, 桥ID最小的桥将成为络中的根桥(bridge root)。在此基础上,计算每个节点到根桥的距离,并由这些路径得 到各冗余链路的代价,选择最小的成为通信路径(相应的端口状态变为forwarding),其它的就成为备份路径 (相应的端口状态变为blocking)。STP生成过程中的通信任务由BPDU完成,这种数据包又分为包含配置信息的配 置BPDU(其大小不超过35B)和包含拓扑变化信息的通知BPDU(其长度不超过4B)。Fra bibliotek工作原理

生成树协议(STP)

生成树协议(STP)

RIP协议-中兴
文章来源: 文章作者: 发布时间:2006-11-27 字体:[大中小]
在目前的Internet网上,运行一种网关协议是不可能的,我们要将它分成很多的自治系统(Autonomous System-AS),在每个自治系统有它自己的路由技术。我们称自治系统内部的路由协议为内部网关协议(Interior gateway protocol-IGP)。RIP(Routing Information Protocol)就是内部网关协议的一种,它采用的是矢量距离(Vector-Distance)算法。 RIP系统的开发是XEROX Palo Alto 研究中心(PARC)所进行的研究和XEROX的PDU和XNC路由选择协议为基础的。但是RIP的广泛应用却得益于它加利福尼亚大学伯克利分校的许多局域网中的实现。
生成树协议(Spanning Tree)定义在 IEEE 802.1D 中,是一种链路管理协议,它为网络提供路径冗余同时防止产生环路。为使以太网更好地工作,两个工作站之间只能有一条活动路径。网络环路的发生有多种原因,最常见的一种是有意生成的冗余 - 万一一个链路或交换机失败,会有另一个链路或交换机替代。
字串4
在VRRP协议中,有两组重要的概念:VRRP路由器和虚拟路由器,主控路由器和备份路由器。VRRP路由器是指运行VRRP的路由器,是物理实体,虚拟路由器是指VRRP协议创建的,是逻辑概念。一组VRRP路由器协同工作,共同构成一台虚拟路由器。该虚拟路由器对外表现为一个具有唯一固定IP地址和MAC地址的逻辑路由器。处于同一个VRRP组中的路由器具有两种互斥的角色:主控路由器和备份路由器,一个VRRP组中有且只有一台处于主控角色的路由器,可以有一个或者多个处于备份角色的路由器。VRRP协议使用选择策略从路由器组中选出一台作为主控,负责ARP相应和转发IP数据包,组中的其它路由器作为备份的角色处于待命状态。当由于某种原因主控路由器发生故障时,备份路由器能在几秒钟的时延后升级为主路由器。由于此切换非常迅速而且不用改变IP地址和MAC地址,故对终端使用者系统是透明的。

stp指定端口选举原理

stp指定端口选举原理

stp指定端口选举原理一、简介STP(spanningtreeprotocol,生成树协议)是一种计算机网络协议,用于在多层网络结构中提供冗余连接和故障恢复功能。

在STP 中,指定端口选举是用于确定哪个端口作为根端口、备份端口或替代端口的选举过程。

本文将介绍STP指定端口的选举原理。

二、选举过程STP指定端口的选举过程包括两个阶段:端口角色选举阶段和端口类型选举阶段。

1.端口角色选举阶段在端口角色选举阶段,每个端口根据其链路类型(根端口、备份端口或替代端口)的可能性进行投票。

根据网络拓扑结构的不同,每个端口的链路类型可能不同。

例如,对于交换机之间的链路,如果该链路被选为根路径,则该链路上的端口可能成为根端口;如果该链路是备份路径的一部分,则该链路上的端口可能成为备份端口。

在这个阶段,每个端口会根据其链路类型和链路状态进行投票。

链路状态可以是阻塞状态、备用状态或开放状态。

如果一个端口处于阻塞状态或开放状态,它可能会投给其相邻的端口;如果一个端口处于备用状态,它可能会投给链路类型可能性较大的相邻端口。

最终,选举出根端口、备份端口和替代端口的候选者。

2.端口类型选举阶段在端口类型选举阶段,根端口和备份端口的候选者需要根据链路类型和拓扑结构进行进一步的选举。

在这个阶段,网络中的所有交换机都会根据其收到的信息进行协商,以确定每个端口的最终类型。

三、选举原理STP指定端口的选举原理基于网络拓扑结构和链路状态。

在选举过程中,每个端口会根据其链路状态和链路类型进行投票,以确定最终的指定端口。

这个过程可以确保网络中的所有设备都能够快速地适应拓扑结构的改变,并自动地生成一个可靠的冗余连接方案。

四、结论STP指定端口的选举过程是实现网络冗余和故障恢复的重要机制。

通过了解STP指定端口的选举原理,我们可以更好地理解网络设备的行为和性能,并优化网络拓扑结构,以提高网络的可靠性和稳定性。

数据结构和算法学习笔记八:带权连通图的最小生成树

数据结构和算法学习笔记八:带权连通图的最小生成树

数据结构和算法学习笔记⼋:带权连通图的最⼩⽣成树⼀.简介: 对于⼀个n个顶点的连通图,其最⼩⽣成树是指将所有顶点连接起来的权值之和的最⼩树,树中包含n个顶点和n-1条边.最⼩⽣成树常见的⽣成算法有普⾥姆算法和克鲁斯卡尔算法,它们分别基于顶点的⾓度和边的⾓度⽣成最⼩⽣成树. 声明:对于本⽂中实现图结构的各种类,详见:⼆.两种算法简介 1.普⾥姆算法:普⾥姆算法基于顶点实现,基本思路是将所有已经纳⼊到最⼩⽣成树中的顶点存储起来,然后遍历当前的最⼩⽣成树的端点,找出权值最⼩且不会闭环的边并延伸最⼩⽣成树,然后将新的顶点纳⼊到最⼩⽣成树中(和其他已经纳⼊到树中的顶点⼀起存储起来) 2.克鲁斯卡尔算法:克鲁斯卡尔算法基于边实现,⾸先将所有边按照权值由⼩到⼤排序,然后再从⼩到达依次遍历所有边,⼀⼀判断当前边加⼊最⼩⽣成树中后是否会形成环路,在不形成环路的情况下将此边加⼊最⼩⽣成树,并将顶点存储起来.顶点的存储结构类似于倒置的树,根节点在最下⽅.在最⼩⽣成树的⽣成过程中可能会同时存在多颗顶点树,但是最终所有顶点树会汇聚成⼀颗.三.代码实现(c#)/************************************* 创建⼈:movin* 创建时间:2021/7/4 19:55:02* 版权所有:个⼈***********************************/using System;using System.Collections.Generic;using System.Text;namespace GraphCore{///<summary>///最⼩⽣成树算法///</summary>public class MinimumCostSpanningTreeUtil{///<summary>///计算最⼩⽣成树-普⾥姆算法///要求参数必须是⼀个连通图,此处没有校验参数graph是否是连通图的过程,可⾃⾏添加///</summary>///<param name="graph"></param>///<param name="findAEdgeCallBack">找到⼀条边后的回调函数,参数为边的两个关联点下标和权值</param>public static void MiniSpanTree_Prim(AdjacencyMatrixGraph graph,Action<int,int,int> findAEdgeCallBack = null){//数组lowcast,数组的长度和顶点的个数⼀致,数组中每个下标的值和顶点⼀⼀对应//lowcast的作⽤有两个,以lowcast[1] = 5为例,意思是当前已经找过的顶点中到1顶点的最短路径权值为5//所以作⽤⼀是某下标对应值不为0时代表当前已经⽣成的部分最⼩⽣成树到某下标对应顶点的权值最⼩的边的权值//作⽤⼆是某下标对应值为0时代表此下标对应顶点已经在最⼩⽣成树中,不再参与继续⽣成最⼩⽣成树int[] lowcast = new int[graph.Count];//数组adjvex,这个数组作⽤是对应记录lowcast中最⼩权值边的另⼀个依附顶点下标(⼀个依附顶点下标就是lowcast下标)int[] adjvex = new int[graph.Count];lowcast[0] = 0;//从0号顶点开始⽣成最⼩⽣成树,⾸先将0号顶点对应位置置为0//adjvex[0] = 0;//这句代码加不加都ok,0号位已经加⼊最⼩⽣成树,这个值也就⽤不上了//初始化lowcast数组的其他下标值for(int i = 1;i < lowcast.Length; i++){//当前最⼩⽣成树中只有0号顶点,所以以0号顶点到i号顶点的边的权值就是当前的最⼩边权值lowcast[i] = graph.adjacencyMatrix[0, i];//这些边的另⼀个依附顶点当然是0号顶点adjvex[i] = 0;}//开始计算最⼩⽣成树,结果存储到result中int min = int.MaxValue;//⽤来存储找到的最⼩权值边的权值的临时变量int tempIndex = 0;//⽤来存储即将加⼊最⼩⽣成树的边的顶点(也就是即将加⼊最⼩⽣成树的顶点)的临时变量,另⼀个顶点存储在adjvex数组中//循环length-1次,每次将⼀个顶点和⼀条边加⼊最⼩⽣成树中for(int i = 1;i < graph.Count; i++){//循环在当前的lowcast中找到⾮0的最⼩值(到没有找过的顶点中的最⼩边)min = int.MaxValue;tempIndex = 0;for(int j = 1;j < lowcast.Length; j++){if(lowcast[j] != 0 && lowcast[j] < min){min = lowcast[j];tempIndex = j;}}//找到边后调⽤回调函数if(findAEdgeCallBack != null){findAEdgeCallBack(tempIndex, adjvex[tempIndex], lowcast[tempIndex]);}//更新lowcast数组lowcast[tempIndex] = 0;//每次延申了最⼩⽣成树后需要将lowcast中的值更新,⽅便下次继续延申最⼩⽣成树//刚才将下标为tempIndex的顶点和⼀条边加⼊了最⼩⽣成树,接下来只需要更新这个顶点相关的边即可for(int j = 1;j < lowcast.Length;j++){//判断顶点tempIndex和顶点j之间的边//j顶点不在最⼩⽣成树中且这条边的权值⽐lowcast中记录的最⼩权值要⼩时//更新到顶点j的最⼩权值边的权值,并且记录到顶点j的最⼩权值边的另⼀个顶点为tempIndexif(lowcast[j] != 0 && lowcast[j] > graph.adjacencyMatrix[tempIndex, j]){lowcast[j] = graph.adjacencyMatrix[tempIndex, j];adjvex[j] = tempIndex;}}}}///<summary>///计算最⼩⽣成树-克鲁斯卡尔算法///要求参数必须是连通图///</summary>///<param name="graph"></param>///<param name="findAEdgeCallBack">找到⼀条边后的回调函数,参数为边的两个关联点下标和权值</param>public static void MinSpanTree_Kruskal(EdgesetArrayGraph graph, Action<int, int, int> findAEdgeCallBack = null){//将边集数组排序SortEdgeNode(graph.edgeNodes);//声明⼀个数组,数组下标对应顶点下标//数组中值为-1时代表对应顶点还没有加⼊最⼩⽣成树//当某个顶点被加⼊最⼩⽣成树后,将数组中对应的下标的值修改,修改后的值指向下⼀个加⼊最⼩⽣成树的顶点下标//如vertices[5] = 7代表5号顶点和7号顶点都在最⼩⽣成树中,其中5号顶点的下⼀个顶点是7号顶点//在构建最⼩⽣成树的过程中会通过这个数组检验当前边添加进数组是否会构成环//分析后⾯的代码可以知道,最终数组中length-1个值会被修改,刚好对应添加到最⼩⽣成树中的length-1条边int[] vertices = new int[graph.edgeNodes.Length];//数组初始值都为-1for (int i = 0; i < vertices.Length; i++){vertices[i] = -1;}//下⾯构建最⼩⽣成树//循环遍历所有边,⼀⼀校验是否可以加⼊最⼩⽣成树for (int i = 0; i < graph.edgeNodes.Length; i++){EdgesetArrayEdgeNode node = graph.edgeNodes[i];int startIndex = GetNextVertex(vertices, node.headIndex);int endIndex = GetNextVertex(vertices, node.tailIndex);//检验是否成环,不成环则这条边可以加⼊最⼩⽣成树if (startIndex != endIndex){vertices[startIndex] = endIndex;if(findAEdgeCallBack != null){findAEdgeCallBack(node.headIndex, node.tailIndex, node.weight);}}}}///<summary>///在vertices中,顶点之间的先后次序最终的存储⽅式类似于⼀颗倒过来的树,根顶点在最下⽅,存储时会⼀直向下找,直到找到根顶点,存储时会将下⼀个存储到最⼩⽣成树中的顶点挂到根顶点下⽅成为新///查找时看此顶点是否有后继顶点,如果有那么继续查找后继顶点的后继顶点...以此类推,直到某个顶点对应下标值为-1,即没有后继顶点,返回这个顶点下标///如果两个顶点之间会构成环路,那么它们所在的顶点的后继中⼀定会有相同的顶点,最终查找下去得到的值为顶点相同///</summary>///<param name="vertices"></param>///<param name="index"></param>///<returns></returns>private static int GetNextVertex(int[] vertices,int index){while(vertices[index] != -1){index = vertices[index];}return index;}///<summary>///将给定边集数组按照从⼩到达排序///采⽤选择排序///</summary>///<param name="graph"></param>private static void SortEdgeNode(EdgesetArrayEdgeNode[] edgeNodes){for (int i = 0; i < edgeNodes.Length; i++){int minIndex = i;for (int j = i + 1; j < edgeNodes.Length; j++){if(edgeNodes[minIndex].weight > edgeNodes[j].weight){minIndex = j;}}if(minIndex != i){EdgesetArrayEdgeNode temp = edgeNodes[i];edgeNodes[i] = edgeNodes[minIndex];edgeNodes[minIndex] = temp;}}}}}。

STP协议(生成树协议)简介

STP协议(生成树协议)简介

STP协议(⽣成树协议)简介STP协议解决的问题根据交换机的转发原则,如果交换机从⼀个端⼝上接收到的是⼀个⼴播帧,或者是⼀个⽬的MAC地址未知的单播帧,则会将这个帧向除源端⼝之外的所有其他端⼝转发。

如果交换⽹络中有环路,则这个帧会被⽆限转发,此时便会形成⼴播风暴,⽹络中也会充斥着重复的数据帧。

什么是STP协议?为了提⾼⽹络可靠性,交换机⽹络中通常会使⽤冗余链路,冗余链路会给交换机带来环路风险,并导致⼴播风暴以及MAC地址表不稳定等问题,⽣成树协议STP(Spanning Tree Protocol)可以在提⾼可靠性的同时⼜避免环路带来的各种问题。

⼀般意义上,我们所述之⽣成树,应该是最⼩⽣成树。

STP的主要作⽤利⽤⽣成树算法、在以太⽹络中,创建⼀个以某台交换机的某个端⼝为根的⽣成树,⾃动地在逻辑上阻塞⼀个或多个冗余端⼝,避免环路。

消除环路:通过阻断冗余链路来消除⽹络中可能存在的环路。

链路备份:当活动路径发⽣故障时,激活备份链路,及时恢复⽹络连通性。

STP的⼯作原理及⼯作过程STP的基本⼯作原理为:通过BPDU(Bridge Protocol Data Unit,桥接协议数据单元)的交互来传递STP计算所需要的条件,随后根据特定的算法,阻塞特定端⼝,从⽽得到⽆环的树形拓扑。

⾸先我们可以把交换机的拓扑转换成⼀个逻辑拓扑,根据其ID值,选择最⼩的⼀个做为根,这⾥就不⽤⽹络中的根桥这个词描述了,根更加直观⼀些,因为这个是⼀个树结构。

当找到根之后,我们对该树进⾏修剪,即如果树结构上,存在回路的地⽅,将其度量值较⼤的⼀边删除,如果度量值相同,则看其BID,最终形成⼀个⽆环路的树结构。

当该结构完成之后,最终标注下根端⼝和指定端⼝即可。

其⼯作过程如下:1. 选举根⽹桥/根桥(Root Bridge):根桥或者根交换机位于整个逻辑树的根部,是STP⽹络的逻辑中⼼,⾮根桥是根桥的下游设备。

2. 选举根端⼝(Root Port):⾮根交换机去往根桥路径最优的端⼝(有且只有⼀个)。

stp生成树协议的基本配置

stp生成树协议的基本配置

stp生成树协议的基本配置介绍在计算机网络中,stp(Spanning Tree Protocol)生成树协议用于构建一个无环路的网络拓扑,以确保数据在网络中能够稳定地传输。

本文将详细介绍stp生成树协议的基本配置。

目录•stp生成树协议简介•stp生成树协议的作用•stp生成树协议的基本原理•stp生成树协议的基本配置步骤–步骤一:确定根桥–步骤二:选择根端口–步骤三:选择非根端口•stp生成树协议的配置示例•常见问题与解决方法•总结stp生成树协议简介stp生成树协议是一种用于构建无环路网络拓扑的协议,它可以避免网络数据包在网络中形成环路而导致数据传输异常。

通过选择一个网络中的根桥(root bridge)和根端口(root port),stp生成树协议可以动态地调整网络的路径,从而达到将冲突和环路最小化的目标。

stp生成树协议的作用stp生成树协议的主要作用是避免网络环路,确保数据在网络中能够稳定地传输。

在一个拓扑中,如果存在环路,数据包会在环路中循环传递,导致网络拥堵、数据包丢失等问题。

通过使用stp生成树协议,可以自动选择最佳的路径,避免这些问题的发生。

stp生成树协议的基本原理stp生成树协议的基本原理是通过选择一个网络中的根桥和根端口,以及通过计算最短路径树(Shortest Path Tree,SPT)来构建一个无环路的网络拓扑。

在网络中,每个交换机都有一个优先级(Priority)值,优先级越高的交换机在选举根桥时具有更高的优先级。

根桥是网络中的主交换机,它是生成树的根节点。

stp生成树协议的基本配置步骤stp生成树协议的基本配置步骤如下:步骤一:确定根桥1.选择一个优先级最高的交换机作为根桥。

2.在优先级相同的情况下,选择MAC地址最低的交换机作为根桥。

步骤二:选择根端口1.每个交换机都会发送BPDU(Bridge Protocol Data Unit)到其他交换机,用于选举根桥。

STP生成树协议的理解

STP生成树协议的理解

STP⽣成树协议的理解⼀ STP简介1、单词:rstp快速⽣成树协议filter过滤protection保护2、作⽤:通过阻塞特定接⼝来防⽌⼆层交换环路,从⽽做到既可以提⾼⽹络可靠性的同时⼜能避免环路带来的问题3、和TTL的区别:TTL是经过三层设备减⼀,⼆层设备是不减的。

如果为了避免⼆层交换机环路需要使⽤STP技术,来阻塞特定接⼝防⽌环路。

4、交换机环路带来的问题1、⼴播风暴——导致资源⼤量转发⼴播包,降低了转发⽤户数据的效率2、mac地址表不稳定——影响⽹络稳定性5、注意1、在华为的智能交换机,开机默认⾃动运⾏stp,运⾏stp的升级版mstp技术,默认就开启了2、undo stp enable禁⽤stp。

⽬的实验观察⼴播风暴3、ping 192.168.1.255就是发送⼴播包4、如果环路,只有通过断开链路才能停⽌arp⼀直发送⼴播5、mac地址表震荡。

交换机会对源mac地址进⾏映射,当⼆层产⽣环路时,携带mac地址的便会映射到其他接⼝,⼀直循环,所有mac地址的映射表⼀直在变。

⼆、stp种类介绍STP :传统STPRSTP :快速⽣成树协议 rapid stpMSTP : 多⽣成树协议 multi stp(真对多vlan)注意:rstp向下兼容stp。

如果交换机中有stp和rstp,那么将使⽤stp。

三、STP的⼯作原理1、整体思路先选出哪些接⼝不被阻塞,然后剩下的接⼝全部被阻塞。

2、规则2.1、⾸先整个⽹络(⼴播域)选举根桥(根交换机),桥ID较⼩的交换机当选为根桥。

桥ID=桥优先级 + 桥mac注意:桥优先级默认是32768,mac地址是16进制的a相当于10,根桥上的接⼝都是DP(designated ports指定端⼝)2.2、⾮根桥上选择根端⼝,到达根桥最近的端⼝选为根端⼝RP(root port)2.3、每条链路,有且只有⼀个指定端⼝,桥ID较⼩的交换机端⼝当选为指定端⼝,例如下图有三条链路,那么每条链路得有⼀个指定端⼝,⽽且只能有⼀条。

IEEE三种生成树技术的分析与比较

IEEE三种生成树技术的分析与比较

除了根端口和指 定端口外 , 其余 的可用 端口被 称作替 代 端口。 端口角色确定之后 , 根端口和指定端口经过监听状态、 学 习状态最终进入转发 状态 ; 替代端口则直接进入阻塞状态。 当非根网桥检测 到网络拓扑变化时 , 它 会向其根端 口所 连接的网段重复 发送 拓扑 变化通 告 BPDU, 直到 它收 到这 个 网段的指定网桥 发送过 来的 拓扑 变化确 认 ( 设置 配置 BPDU 中的 拓扑变化确认 FLAG ) 。然 后这 个网段 的指 定网桥 重 复相同的过程 , 当根网桥 收到这 个拓 扑变化 通告 BPDU 后 或 者根网桥自己检测到 网络拓 扑发生 了变化 , 它会 在其发 送的 配置 BPDU 中设置 拓扑 变化 FLAG , 每个 非根 网桥 收到 这 样的配置 BPDU 后会用转发延迟时间来使过滤数据库中 的动 态地址项快速失效。 1. 2 IEEE 802. 1W 快速生成树协议 IEEE 802 . 1 W 快 速生成树协议在 IEEE 802. 1D 生成树协 议的配 置 BPDU 的 基 础 上 定 义 了 快 速 生 成 树 BPDU ( RST BPDU ) 。 IEEE 802. 1 W 快速生成树协议 重新定义了 端口角色。除 了根端口和指定端口外 , 将 I EEE 802 . 1D 生成树协议中的替代 端口细分成替代端口和备份端口。这两种端口的区别是 : 替代 端口是根端口的冗余端口而备份端口是指定端口的冗余端口。 IEEE 802. 1 W 快速生成树协 议将端 口状态 定义 为丢弃、 学习和转发。 IEEE 802. 1 W 快速生成树协议还定义了边缘端口和点对 点链路。边缘端口就 是只连了 一台主 机的端 口 ; 点 对点链 路 是指只连接了两个网 桥的共享链路。 为了加快收敛速 度 , IEEE 802. 1W 快速生 成树 协议增 加 了如下机制 : 1) 根端口满足如下条件就可 以快速 进入转 发状态 : a) 该 端口最近不是备份端口 ; b) 该网桥除此端口以外的其他 端口 最近都不是根端口。 2) 连接了点对 点链 路的 指定 端口 可以 通过 和下 游网 桥 握手而快速进入转 发状态。握 手过程 如下 : 上游网 桥欲进 入 转发状态的指定端口 向下游网桥发送的快速生成树 BPDU 中 设置了 PRO PO SA L FLAG ; 下 游网 桥收 到这 种快 速 生成 树 BPDU 后 , 等自己的所有替代端口和 备份端 口进入阻 塞状态、 所有的边缘端口和指 定端口进入转发状态之后给上游网桥回 送一个设置了 AGR EEM ENT FLAG 的快 速生成 树 BPDU; 上 游网桥的指定端口收 到这个快速生成树 BPDU 之后直接 进入 转发状态。 3) 边缘端口 只连 有一 台主 机 , 不会 引起 网络 环回 , 因 此 当边缘端口是指定端 口时可以立即进入转发状态。 IEEE 802 . 1 W 快速生成树协议只有当非边缘端口进入转发 状态时才导致拓扑变化。当网桥得知拓扑变化时先向该网桥所 有非边缘端 口的 指定端 口和 根端 口 发送 设置 了 TOPOLOGY CHANGE FLAG 的快速生成树 BPDU, 然后再清除这些端口过滤 数据库中的 动态地址 项, 当其 他网桥收 到设置 了 TOPOLOGY CHANGE FLAG 的快速生成树 BPDU 后也做同样动作。 IEEE 802. 1 W 快 速 生 成 树 协 议 可 以 很 好 地 兼 容 IEEE 802 . 1D 生成树协议 , 它可以识别 IEEE 802. 1D 生成树协 议的 BPDU, 当运行 I EEE 802. 1W 快速 生成 树协 议的 网桥 的某 个
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

简介STP(生成树协议SpanningTreepProtocol)能够提供路径冗余,使用STP可以使两个终端中只有一条有效路径。

在实际的网络环境中,物理环路可以提高网络的可靠性,当一条线路断掉的时候,另一条链路仍然可以传输数据。

但是,在交换网络中,当交换机接收到一个未知目的地址的数据帧时,交换机的操作是将这个数据帧广播出去,这样,在存在物理的交换网络中,就会产生一个双向的广播环,甚至产生广播风暴,导致交换机死机。

如何既有物理冗余链路保证网络的可靠性,又能避免冗余环路所产生的广播风暴呢?STP协议是在逻辑上断开网络的环路,防止广播风暴的产生,而一旦正在用的线路出现故障,逻辑上被断开的线路又被连通,继续传输数据。

交换网络环路交换网络环路会带来3个问题:广播风暴、同一帧的多个拷贝和交换机CAM表不稳定。

交换网络环路的产生:PC1和PC2通过交换机相连。

网络初始状态时,PC1与PC2通信过程如下:1.在网络通信最初,PC1的ARP条目中没有PC2的MAC地址,PC1首先会向SW1发送一个ARP广播请求PC2的MAC地址;2.当SW1收到ARP的广播请求后,SW1会将广播帧从除接收端口之外的所有端口转发出去即会从F0/1和F0/2发出;3.SW2收到广播后,会将广播帧从F0/2和连接PC2的端口转发,同样SW3收到广播后,将其从F0/2端口转发;4.SW2收到SW3的广播后,将其从F0/1和连接PC2的端口转发,SW3收到SW2的广播后将其从F0/1端口转发;5.SW1分别从SW2、SW3收到广播帧,然后将从SW2收到的广播帧转发给SW3,而将从SW3收到的广播帧发给SW2。

SW1、SW2和SW3会将广播帧相互转发。

这时网络就形成了一个环路,而交换机并不知道,这将导致广播帧在这个环路中永远循环下去。

STP工作原理STP运行STA(生成树算法Spanning Tree Algorithm)。

STA算法很复杂,但是其过程可以归纳为以下三个步骤:1.选择根网桥(Root Bridge);1>网桥ID最小。

2.选择根端口(Root Ports);1>到根路径成本最低;2>最小的直连发送方网桥ID;3>最小的发送方端口ID。

3.选择指定端口(Designated Ports)。

1>根路径成本最低;2>所在交换机的网桥ID最小;3>所在交换机的端口ID最小。

特别注意:选择根端口:比较接收的BPDU!!!;选择指定端口:比较发送的BPDU!!!。

选择根网桥网桥ID最小:选择根网桥的依据是网桥ID的大小。

在选择根网桥的时候,比较的方法是看哪台交换机的网桥ID的值最小,优先级小的被选择为根网桥;在优先级相同的情况下,MAC 地址小的为根网桥。

网桥ID:是一个8Byte的字段,前面2Byte的十进制数称为网桥优先级,后6Byte是网桥的MAC地址。

网桥优先级:用于衡量网桥在生成树算法中优先级的十进制数,取值范围为0-65535,默认值是32768。

网桥的MAC地址:交换机自身的MAC地址,可以使用命令show version查看。

示例:选择根端口选出了根网桥之后,网络中的每台交换机必须和根网桥建立关联,因此STP将开始选择根端口。

每个非根网桥上存在一个根端口,因此需要在每个非根网桥上选择一个根端口。

选择根端口的依据有三个:到根路径成本最低的端口:路径成本是两个网桥间的路径上所有链路的成本之和,根路径成本也就是一个网桥到达根网桥的中间所有链路的路径成本之和,路径成本用来代表一条链路带宽的大小,一条链路的带宽越大,它的传输数据的成本也就越低。

最小的直连发送方网桥ID:BPDU帧是从根网桥发向根端口的,则当端口的根路径成本相同时,以收到发来BPDU直连的网桥ID最小(端口的对端端口,即本地端口)为根端口。

最小的发送方端口ID:当直连发送方网桥ID大小相同时,也就是说有几个位于同一交换机上的端口时,比较最小的发送方端口ID。

端口ID是一个二字节的STP参数,由一个字节的端口优先级和一个字节的端口编号组成。

端口优先级是一个可配置的STP参数,在基于IOS 的交换机上,端口优先级的十进制取值范围是0-255,默认值是128。

端口编号是catalyst 用于列举各个端口的数字标识符,在基于IOS的交换机上,可以支256个端口。

说明:端口编号不是端口号,但是端口号低的端口,端口编号值(端口ID)也较小。

端口ID:示例:选择指定端口选择完根网桥和每台交换机的根端口后,一个树形结构已初步形成,但是,所有链路仍连接在一起,并可以都处于活动状态,最后导致形成环路。

为了消除环路形成的可能,STP进行最后的计算,在每一个网段上选择一个指定端口。

选择指定端口的依据有三个:根路径成本最低;所在交换机的网桥ID最小;所在交换机的端口ID最小。

注意:根网桥上的接口都是指定端口,因为根网桥上端口的根路径成本为0。

示例:说明:如果端口既不是根端口,也不是指定端口,那么这个端口被阻塞(BLOCK)称为阻塞端口。

被阻塞的端口不能传输数据,即该链路成为备份链路。

BPDU(Bridge Protocol Data Unit 桥协议数据单元)STP在交换机互相通信时进行操作,数据报文以桥协议数据单元(BPDU)的形式进行交换。

每隔2秒,BPDU报文便向所有的交换机端口发送一次,以便交换机(或网桥)能交换当前最新的拓扑信息,并迅速识别和检测其中的环路。

BPDU的两种类型正常情况下,交换机只会从它的Root Port上接收configuration BPDU包,但不会主动发送configuration BPDU包给Root Bridge。

第二种类型的BPDU包是Topology Change Notification(TCN) BPDU,当一台交换机检测到拓扑变化后,它就可以发送TCN给Root Bridge,注意TCN是通过Root Port向Root Bridge方向发出的。

当交换机从它的designate port接收到TCN类BPDU时,它必须为其做转发,从它自已的root port上发送出去TCN类型的BPDU包,这样一级一级地传到root bridge后,TCN的任务才算完成。

BPDU报文主要字段协议ID:该值总为0。

版本号:STP的版本(为IEEE 802.1d时值为0)。

报文类型:BPDU类型(配置BPDU=0,TCN BPDU=80)。

标记域:LSB(最低有效位)=TCN标志;MSB(最高有效位)=TCA标志。

根网桥ID:根信息由2字节优先级和6字节ID组成。

这个信息组合标明已经被选定为根网桥的设备标识。

根路径成本:路径成本为到达根网桥交换机的STP开销。

表明这个BPDU从根网桥传输了多远,成本是多少。

这个字段的值用来决定哪些端口将进行转发,哪些端口将被阻断。

发送网络桥ID:发送该BPDU的网桥信息。

由网桥的优先级和网桥ID组成。

端口ID:发送该BPDU的网桥端口ID。

计时器:计时器用于说明生成树用多长时间完成它的每项功能。

这些功能包括报文老化时间、最大老化时间、访问时间和转发延迟。

最大老化时间:根网桥发送BPDU后的秒数,每经过一个网桥都会递减1,所以它的本质是到达根网桥的跳计数。

访问时间:根网桥连续发送BPDU的时间间隔。

转发延迟:网桥在监听学习状态所停留的时间。

STP利用BPDU选择根网桥的过程1.当一台交换机第一次启动时,假定自己是根网桥在BPDU报文中的根网桥字段填入自己的网桥ID,向外发送。

2.交换机比较接收到的BPDU报文中根网桥ID与自己的网桥ID的值哪个更小,如果接收到的BPDU中的根网桥ID值小于自己的网桥ID,则用接收到的根网桥ID替换现有的根网桥ID,并向外转发。

如此不断反复,最终能够选择出全网公认的唯一一个根网桥。

3.收敛以后,如果又一台新的交换机加入进来,则继续比较更网桥ID,选出新的根网桥。

STP利用BPDU确定端口的跟路径成本1.根网桥发送一个根路径成本为0的BPDU报文。

2.当离根网桥最近的下一级交换机收到BPDU报文时,就把BPDU所到达的那个端口的路径成本值与根网桥的根路径成本值相加。

3.邻接交换机再以这个新的累加值作为根路径成本,然后发送出包含此值的BPDU报文。

4.当邻接交换机下的每一台交换机都收到这个BPDU报文时,再把随后的交换机端口路径成本与这个值相加,依次类推。

生成树端口的状态禁用:强制关闭(实际并不属于端口正常的STP状态的一部分)。

转发:可以发送和接收数据帧,也可以收集MAC地址加入到它的地址表,还可以发送BPDU 报文。

学习:延迟时间15s,转发BPDU报文的同时,学习新的MAC地址,并添加到交换机的地址列表中。

侦听:延迟时间15s,为了使该端口加入生成树的拓扑过程,允许接收或发送BPDU报文。

阻塞:老化时间20s,以便能侦听到其他邻接交换机的信息。

生成树协议的发展历程IEEE生成树发展史:STP/802.1D ——> RSTP/802.1W ——> MISTP/MSTP/802.1S:STP/802.1D:STP(生成树协议/单生成树协议Spanning Tree Protocol)在IEEE 802.1D中定义。

该协议的的原理是按照树的结构来构造网络拓扑,消除网络中的环路,避免由于环路的存在而造成广播风暴问题。

缺点:1.拓扑收敛慢,当网络拓扑发生改变的时候,生成树协议需要50秒的时间才能完成拓扑收敛;2.不能提供负载均衡的功能,当网络中出现环路的时候,生成树协议简单的将环路进行Block,这样改链路就不能进行数据包的转发,浪费网络资源。

CST:CST(公共生成树Common Spanning Tree)在IEEE 802.1Q中定义的?是IEEE 802.1D对于VLAN和STP的解决方案。

CST在生成树收敛的时候,不考虑网络中VLAN的存在,只在网络中生成和维护单个生成树;所有CST的BPDU作为不带标记的帧通过本地VLAN进行传输。

特点:1.交换机CPU负载较低,只需要计算一个生成树实例;2.网络中的STP无法按照VLAN的需求,为VLAN创建最优的STP路径,可能导致某些VLAN 存在次优路径;3.冗余的端口被阻塞掉之后,在每个VLAN中就无法转发数据,会导致无法实现网络流量的负载均衡。

RSTP/802.1W:RSTP(快速生成树协议Rapid Spaning Tree Protocol)在IEEE 802.1W中定义,由802.1D发展而来。

这种协议进一步处理了网络临时失去连通性的问题,在网络结构发生变化时能更快的收敛网络。

实际上它是把减少STP收敛时间的一些措施融合在802.1D中形成新的协。

相关文档
最新文档