第9讲 生成树
生成树协议原理

生成树协议原理生成树协议是一种基于链路层的协议,它通常在以太网交换机上实现,用于管理以太网局域网中的网络拓扑。
生成树协议的工作原理是通过使用一个根桥(Root Bridge)和多个非根桥(Non-Root Bridge)来建立一颗树状结构,以确保网络中没有环路存在。
生成树协议的核心算法是通过一种称为生成树算法(Spanning Tree Algorithm)来找到从根桥到每个非根桥的最短路径,从而构建一颗最小生成树。
最小生成树是一种能够连接所有节点并且没有环路的树状结构,它是生成树协议的基础,用于确定网络中数据包的传输路径。
生成树协议的工作流程包括以下几个关键步骤:1. 选择根桥:在网络中通过比较桥(Bridge)的优先级和MAC地址来确定根桥,根桥是生成树中的根节点,所有数据包都将通过根桥进行转发。
2. 计算生成树:每个非根桥通过生成树算法计算到根桥的最短路径,确定自己在生成树中的位置,并将该信息传播到整个网络中。
3. 确定端口状态:每个桥根据生成树信息确定哪些端口可以用于数据包的传输,哪些端口需要阻断以避免环路的产生。
4. 更新生成树:在网络拓扑发生变化时,生成树协议会重新计算生成树,并更新每个桥的状态,重新确定最佳路径。
5. 数据包转发:根据生成树确定的路径,数据包会被从源地址传输到目的地址,通过生成树结构保证数据包的正常传输。
生成树协议的优点是可以有效避免数据包在网络中的循环传输,提升网络通信的稳定性和可靠性。
生成树协议能够自动适应网络拓扑的变化,快速重新计算生成树,并重新确定最佳传输路径,从而保证网络快速恢复到正常状态。
然而,生成树协议也存在一些局限性。
生成树协议在网络中设置大量的桥和端口时,会造成网络拓扑复杂,生成树的计算和更新会消耗大量的网络资源。
此外,生成树协议需要在所有交换机上进行配置和管理,当网络规模较大时,配置和管理网络可能会变得困难。
为了解决生成树协议的一些局限性,IEEE制定了一系列的生成树协议标准,包括802.1D、802.1w和802.1s等。
c2-3

树
树
树
树
树
进一步思考:若从 进一步思考:若从K4中任去一边 e ,其生成 树棵数是多少? 树棵数是多少?
τ ( K4 − e) = ?
τ ( Kn − e) = ?
τ ( Kn − e) = (n − 2)nn−3
树
进一步思考续….. 进一步思考续 .. 画出K 的所有非同构生成树。 画出 4的所有非同构生成树。 求如下图的所有非同构生成树。 求如下图的所有非同构生成树。
树
2 1 4
6
4 2,4, 5,5, , , , ,
5 3
7
树
2,4,5,5,4 , , , ,
2 4 1 5
4,5,5,4 , , ,
2 4 1 5
树
5,5,4 , ,
2 4 1 3 5
5,4 ,
6 2 4 1 3 5
树
4
6 2 4 1 3 5 1 3 2 4 5 6
7
树
画出K 的所有生成树。 画出 4的所有生成树。
树
§2.3 生成树 定义1 定义 生成树 每个连通图至少包含一棵生成树 生成树的构造--破圈法 生成树的构造--破圈法 -- 图G的生成树棵数计算 的生成树棵数计算
τ (G ) = τ (G − e ) + τ (G e )
树
τ(G)=
=
+
=(
+
)+(
树
+
)=
+(
+
) + (
+
) + (
+
)
树
树
更一般的呢? 更一般的呢? τ(Kn)=? ?
最小生成树(Kruskal算法)

三、方案解决:
在本题中我们将采用 Kruskal 算法来构造最小生成树。 从题目所给赋权图中我们可以得到该图的邻接矩阵为:
⎡ 0 20 0 0 0 23 1 ⎤ ⎢20 0 15 0 0 0 4 ⎥ ⎢ ⎥ ⎢ 0 15 0 3 0 0 9 ⎥ ⎢ ⎥ G = ⎢ 0 0 3 0 17 0 16 ⎥ ⎢ 0 0 0 17 0 28 25⎥ ⎢ ⎥ ⎢ 23 0 0 0 28 0 36⎥ ⎢ 1 4 9 16 25 36 0 ⎥ ⎣ ⎦
-3-
6.选择造价第五小的序号为 5 的边,即 S 23 ,由于加入后边 S 23 , S 27 , S37 将构成回路,因此 舍弃该边 如图所示:
7.选择造价第六小的序号为 6 的边,即 S 47 ,由于加入后边 S34 , S37 , S 47 将构成回路,因此 舍弃该边 如图所示:
8.选择造价第七小的序号为 7 的边,即 S 45 ,加入 T 中,此时 T={{6},{ S17 , S34 , S 27 , S37 ,
S 45 , S16 }},Cost=34+23=57
如图所示:
11.算法结束 此时,所有顶点已包含在树中,整棵最小生成树已经构造完成。即应该在城市{(1,7) , (2,7) , (3,7) , (3,4) , (4,5) , (1,6)}之间建造通信道路,可使得城市间相互通信又造价费 用最小,此时可以得到其最小的费用为 57 万元
-7-
edges[k].end = j; edges[k].weight = G->arc[i][j].weight; k++; } } } sort(edges, G); for (i = 1; i <= G->arcnum; i++) { parent[i] = 0; } printf("最小生成树为:\n"); for (i = 1; i <= G->arcnum; i++)//核心部分 { n = Find(parent, edges[i].begin); m = Find(parent, edges[i].end); if (n != m) { parent[n] = m; printf("< %d, %d > %d\n", edges[i].begin, edges[i].end, edges[i].weight); Mincost+=edges[i].weight; } } printf("使各城市间能够通信的最小费用为:Mincost=%d\n",Mincost); } int Find(int *parent, int f) { while ( parent[f] > 0) { f = parent[f]; } return f; }
生成树协议详解

⽣成树协议详解⽣成树协议详解⽣成树协议是由Sun微系统公司著名⼯程师拉迪亚?珀尔曼博⼠(Radia Perlman)发明的。
⽹桥使⽤珀尔曼博⼠发明的这种⽅法能够达到2层路由的理想境界:冗余和⽆环路运⾏。
你可以把⽣成树协议设想为⼀个各⽹桥设备记在⼼⾥的⽤于进⾏优化和容错发送数据的过程的树型结构。
我们要介绍的这个问题在图1中进⾏了描述。
图1.如果这些交换机不采⽤⽣成树协议并且以这种⽅式连接,每⼀台交换机将⽆限地复制它们收到的第⼀个数据包,直到内存耗尽和系统崩溃为⽌。
在2层,没有任何东西能够阻⽌这种环路的事情发⽣。
在图1中,管理员必须要⼿⼯关闭这个红⾊连接线路才能让这个以太⽹⽹络运⾏。
⽣成树协议在当前可⽤连接有效时关闭⼀个或者更多其它冗余连接,⽽在当前连接出现故障后,再启⽤这些被关闭的冗余连接。
⽣成树协议决定使⽤哪⼀个连接完全取决于⽹络的拓扑结构。
⽣成树协议拓扑结构的思路是,⽹桥能够⾃动发现⼀个没有环路的拓扑结构的⼦⽹,也就是⼀个⽣成树。
⽣成树协议还能够确定有⾜够的连接通向这个⽹络的每⼀个部分。
它将建⽴整个局域⽹的⽣成树。
当⾸次连接⽹桥或者发⽣拓扑结构变化时,⽹桥都将进⾏⽣成树拓扑的重新计算。
当⼀个⽹桥收到某种类型的“设置信息”(⼀种特殊类型的桥接协议数据单元,BPDU)时,⽹桥就开始从头实施⽣成树算法。
这种算法从根⽹桥的选择开始的。
根⽹桥(root bridge)是整个拓扑结构的核⼼,所有的数据实际上都要通过根⽹桥。
顺便提⽰⼀下,有⼿⼯设置根⽹桥时要特别注意。
对于思科设备来⾔其根⽹桥的选择过程暴露出⼀些问题,就是过分简单化。
思科硬件通常使⽤最低的MAC地址,具备这些地址的设备通常是⽹络中最古⽼的设备,因⽽其交换速度常是最慢的,⽽从根⽹桥在⽹络中的位置看,它负荷却最重。
⽣成树构建的下⼀步是让每⼀个⽹桥决定通向根桥的最短路径,这样,各⽹桥就可以知道如何到达这个“中⼼”。
这⼀步会在每个局域⽹进⾏,它选择指定的⽹桥,或者与根桥最接近的⽹桥。
离散数学课件_9 树与平面图

1.概念:有向树,根树,树叶,内点,分支
点,层数,树高,祖先,后代,父亲,儿子,
兄弟,有序树,m叉树,完全m叉树,根子树,
左子树,右子树,带权二叉树,最优二叉
树,前缀,前缀码,二元前缀码,二叉树遍
历等;
4
返回本章首页
2019/12/4
第三节 有向树与根树(2)
2.定理: 设T是一棵根树,r是T的树根,则 对于T的任一顶点v,存在唯一的有向路 从r到v;
3.算法:最优二叉树的Huffman算法;
4.前缀码问题:前缀码与二叉树的对应关 系;
5.二叉树的遍历:三种遍历方法,即先根遍 历,中根遍历,后根遍历法.
返回本章首页
5 2019/12/4
第四节 平面图
平面图是很多实际问题的模型. 例如在 集成电路的布线设计中就遇到了平面图 的问题.
1.基本概念:平面图,平面嵌入,面,无限 面(外部面),内部面,边界,次数等;
第九章 树与平面图
树是一类结构较为简单的图,是用途极 为广泛的离散数学模型,特别是二叉树, 它在计算机科学中用得最多.因此在学习 时应很好地掌握好诸如树的充要条件、 生成树、最优生成树、根树、树的各种 算法、及二叉树的访问次序等内容.平面 图是实际背景很强的一类图,能用本章 介绍的方法判断一个图是否为平面图.
2.基本非平面图:K3,3与K5; 3.平面图的欧拉公式; 4.平面图的判定:库拉图斯基定理.
返回本章首页
6 2019/12ቤተ መጻሕፍቲ ባይዱ4
本章小结
本章我们介绍树与平面图,但以介绍树 为主.给出树的定义及树的充要条件, 生成树、最优生成树及最优生成树的克 鲁斯卡尔算法,特别是二叉树,我们讨 论 了 二 叉 树 的 Huffman 算 法 、 前 缀 码 、 二叉树的遍历等问题.最后介绍了一类 实际背景很强的一类图——平面图.
第二章 生成树

第二章树教学安排的说明章节题目:§2.1树的特性;§2.2割边与割点,§2.3生成树学时分配:共2课时本章教学目的与要求:会正确表述关于树的一些基本概念(如树、生成树、割边与割点),会用避圈法和破圈法找生成树,会用树的方法描述一些简单的实际问题.课 堂 教 学 方 案课程名称:§2.1树的特性;§2.2割边与割点;§2.3 生成树授课时数:2学时授课类型:理论课教学方法与手段:讲授法教学目的与要求:会正确表述关于树的一些基本概念(如树、生成树、割边与割点),会用避圈法和破圈法找生成树,会用树的方法描述一些简单的实际问题. 教学重点、难点:(1) 理解树的概念以及树的等价命题;(2) 掌握割边与割点的概念;(3) 理解生成树的定义;(4) 掌握找生成树的两种方法——避圈法和破圈法。
教学内容:树是图论中的一个重要概念。
树是一种极为简单而又非常重要的特殊图,它在计算机科学以及其它许多领域都有广泛的应用。
在1847年克希霍夫就用树的理论来研究电网络,1857年凯莱在计算有机化学中222n C H 的同分异构物数目时也用到了树的理论。
各类网络的主干网通常都是树的结构。
本节介绍树的基本知识,其中谈到的图都假定是简单图。
2.1 树的特性定义2.1.1 连通无圈的无向图称为无向树,简称为树(Undirected tree )。
记作T ,树中的悬挂点(或称T 中度数为1的顶点)又称为树叶(leave )(或叶顶点),其它顶点称为树枝(Branch Point 或内点(Inner Point))。
诸连通分支均为树的图称为森林(forest ),树是森林。
例1 图1中(a ),(b )为树,(c )为森林。
图1由于树无环也无重边(否则它有圈),因此树必定是简单图。
树还有等价命题:设T 是一个无向(,)n m 图,则以下关于T 的命题是等价的。
(1) T 是树;(2)T 无圈且1m n =-;(3) T 连通且1m n =-;(4)T 无圈,但增加任一新边,得到且仅得到一个圈。
图论生成树的概念与性质PPT课件

该定理给出了求连通图G的所有生成树的方法:
(1) 写出G的关联矩阵,进一步写出基本关联矩阵,记住参考点;
8
第8页/共32页
(2) 找出基本关联矩阵的非奇异主子阵,对每个这样的主子阵,画出相 应的生成树。
第19页/共32页
n 2 1
C
1
n 1
0 1
于是由矩阵树定理:
0
1
n 2
n 1 1 1 n 1 (Kn e) 1 1 1 1
1 1 1 1
n 1 1 1 n 2
n 1 1
1 1 n 1 1
1 0
1 n 1 1 1 1 n 1 1 0
1 1 n 1 1 1 1 n 1 0
1 1
例6 求下图G的回路空间的一个基底和它的全部元素。
25
第25页/共32页
a
f
cd
g
e
b
h
G
解:取G的一棵生成树T为:
a
d
g
b T
G对于生成树T的基本回路为:
C1 ,b, d, g, h C4 d, f , g
26
第26页/共32页
图形为:
a c
b
利用破圈法,显然也可以求出任意图的一个生成森林。
3
第3页/共32页
推论 若G是(n, m)连通图,则m≧n-1 连通图G的生成树一般不唯一!
(二)、生成树的计数
1、凯莱递推计数法 凯莱(Cayley 1821—1895): 剑桥大学数学教授,著名代数学家,发表
论文数仅次于Erdos ,Euler, Cauchy. 著名成果是1854年定义了抽象群,并 且得到著名定理:任意一个群都和一个变换群同构。同时,他也是一名出 色的律师,作律师14年期间,发表200多篇数学论文,著名定理也是在该 期间发表的。
最小生成树算法及应用

最小生成树算法及应用
二、求图的最小生成树算法小结 Prim算法和Kruskal算法 三、应用举例
例2、最优布线问题(wire.???) 学校有n台计算机,为了方便数据传输,现要将它们用数据线连接起来。两台计算机被连接是指它们时 间有数据线连接。由于计算机所处的位置不同,因此不同的两台计算机的连接费用往往是不同的。
算法分析
2、套用最小生成树的经典算法求解
以机器蛇为顶点,以不受屏蔽的通信线路为边构建图,就可以直 接套用最小生成树的经典算法求解。由于几乎每两条机器蛇间都 会有一条边,因此应选用Prim算法。
设
const maxn=200 ; oo=2000000000;{ 机器蛇数的上限和无穷大} type TPoint=record {坐标} x,y:longint; end; var s,w1,w2:array[1..maxn] of TPoint; { 机器蛇的坐标和屏蔽线的坐标 } n,m,i,j,k:integer; ba:array[1..maxn] of boolean; { 机器蛇的访问标志} d:array[1..maxn] of longint; {d[i]以机器蛇i为头的最短边长} min:longint; ans:double;
题目中要求信息可以在任意两条机器蛇间传递、通讯网 络的总长度要尽可能的短,显然这是一个求图的最小生 成树问题。这道题在构造图的过程中还涉及到一点计算 几何的知识。 1、判断线段相交 两条线段AB、CD,相交的充要条件是:A、B在直线CD 的异侧且C、D在直线AB的异侧。也就是说从AC到AD的 方向与从BC到BD的方向不同,从CA到CB的方向也与从 DA到DB的方向不同。
机器蛇
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
主讲人:曾东波
相关知识---STP工作原理
1.选择根网桥
依据:选择BID(网桥ID)值最小的交换机作为网
络中的根网桥。
网桥ID结构:
100
155 622 1000 10000
Chapter
路径成本
19
14 6 4 2
16
相关知识---STP工作原理
端口ID的组成
端口优先级
端口编号
8位 取值范围:0 ~ 255 缺省值:128
8位
Chapter
17
STP选择根端口举例
在非根桥上, 选择一个根端口(RP)
在B和C上,到达 A最近的端口是B 和C的根端口 Root Port
主讲人:曾东波
相关知识:
◎STP作用 ◎STP工作原理 ◎PVST配置
◎以太网通道
主讲人:曾东波
重点:
◎STP作用 ◎PVST配置 ◎以太网通道
难点:
◎ PVST配置 ◎ STP工作原理
主讲人:曾东波
相关知识---STP概述
STP叫做生成树,就是把一个环形的结构改变成一个
树状的结构,组成一个逻辑无环网络。在使用STP的网络
构建网桥表 构建“活动”拓朴 只接收BPDU 强制关闭
25
相关知识-生成树计时器
• 交换机开机需要等待30秒时间开始转发数据 • 当某个正在使用的链路断掉,阻塞的端口需要50 秒时间开始转发数据
50秒 15秒 35秒 15秒 20秒 20秒 阻断
Chapter 26
转发 转发延迟 学习 转发延迟 倾听 最大寿命
◎通过show spanning-tree查看生成树,找出阻塞端口,
画出vlan1-3、vlan4-6逻辑工作拓扑图,分析负载分担;
◎测试相同Vlan内是否可以通信,当其中一条线路出现问 题,是否可以继续通信,要等待多久才能恢复通信;
◎通过show etherchannel summary查看以太网通道信息。
素质目标:
◎培养团队协作能力、领悟能力、工作协调能力。 主讲人:曾东波
拓扑结构及说明
三层交换机A通过f0/3-5与三层交换机B的f0/3-5相连, 三层交换机A通过f0/1与二层交换机C的f0/1相连,通过f0/2 与交换机D的f0/2相连,三层交换机B通过f0/1与二层交换机 D的f0/1相连,通过f0/2与交换机C的f0/2相连。
Root Port 100M B
DP
A
优先级:4096 MAC地址: 000d.2800.b100
Chapter
优先级:32768 MAC地址: 000d.2800.b101
20
STP计算结果
经过STP计算,最终的逻辑结构为无环拓朴
C
优先级:32768 MAC 地址: 备份线路 000d.2800.b102
主讲人:曾东波
任务要求:
◎完成上面拓扑图连接;
◎在每个交换机上都创建vlan 2-6;
◎交换机级联端口都设置trunk;
◎配置PVST,设置交换机A在vlan1-3是根交换机,交换
机B在vlan4-6是根交换机;
◎将交换机A、B上的f0/3-5端口加入到以太网通道中。
主讲人:曾东波
验证与测试:
◎通过show running-config 命令查看配置文件内容;
ቤተ መጻሕፍቲ ባይዱ
A
C
B
相关知识- RSTP/802.1W
RSTP(快速生成树协议 Rapid Spaning Tree
Protocol)在IEEE 802.1W中定义,由802.1D发展而来。这 种协议进一步处理了网络临时失去连通性的问题,在网络 结构发生变化时能更快的收敛网络。实际上它是把减少 STP收敛时间的一些措施融合在802.1D中形成新的协。它 比802.1D多了两种端口类型:预备端口类型(Alternate Port)和备份端口类型(Backup Port)
Chapter
Root Bridge
DP
A
100M RP Block
D BID:32768 00aa.1003. c003
23
逻辑拓朴
BID:32768 00aa.1000.c000 BID:32768 00aa.1001.c001 100M B
Root Bridge
A
100M 100M
C BID:32768 00aa.1002. c002
VLAN1
VLAN2
VLAN1
VLAN2
Vlan1,Vlan2
VLAN1
VLAN2
相关知识--PVST
PVST(每VLAN生成树 Per VLAN Spanning Tree)为每
个VLAN构建一棵单独的生成树实例,可以独立地为每个
VLAN控制哪些端口要转发数据,从而能实现对每个VLAN
作二层负载平衡,进而确保能够使用所有的链路,而不会
中,如果在网络建设初期对STP没有很好的规划,就可能
导致配置、故障排除和维护工作量的加大。
主讲人:曾东波
相关知识---STP作用
●解决环型网络引起的广播风暴、帧复制及MAC地址表 的不稳定等问题。 ●自动起用备用链路接替主链路的工作,不需要任何人 工干预。
B
主讲人:曾东波
相关知识---STP工作原理
过度使用某条链路。
相关知识-PVST配置
1.配置步骤 ◎启用生成树 ◎设置根交换机 ◎配置上行速链路(可选) ◎配置端口速链路
相关知识-PVST配置
2.配置命令 ◎启用生成树 SA(config)#spanning-tree vlan vlan-list spanning-tree vlan:命令 vlan-list:启用生成树的VLAN 例如:在vlan1-4中启用生成树 SA(config)#spanning-tree vlan 1-4
优点: 1.MSTP设置VLAN映射表(VLAN和生成树的对应关系 表),把VLAN和生成树联系起来,通过增加“实例”(将多 个VLAN整合到一个集合中)这个概念,将多个VLAN捆 绑到一个实例中,以节省通信开销和资源占用率; 2.MSTP把一个交换网络划分成多个域,每个域内形成 多棵生成树,生成树之间彼此独立; 3.MSTP将环路网络修剪成为一个无环的树型网络,避 免报文在环路网络中的增生和无限循环,同时还提供 了数据转发的多个冗余路径,在数据转发过程中实现 VLAN数据的负载分担; 4.MSTP兼容STP和RSTP。
C
优先级:32768 MAC地址: 000d.2800.b102
100M
100M 下一步:选择指定端口 Root Bridge
Root Port
A
优先级:4096 MAC地址: 000d.2800.b100
100M
B 优先级:32768 MAC地址: 000d.2800.b101
Chapter
18
相关知识---STP工作原理
相关知识- RSTP/802.1W
优点: 1.集成了IEEE 802.1D的很多增强技术,这些增强功能 不需要额外配置; 2.RSTP使用第2类和第2版BPDU,能够与IEEE 802.1D 兼容; 3.RSTP能够主动确认端口是否能安全转换到转发状态, 而不需要依靠任何计时器来做出判断。 缺点: 1.仍是单生成树结构,不能做负载均衡,链路被阻塞后 不承载任何流量造成了带宽浪费; 2.收敛速度仍无法应对大型网络。
3.选择指定端口 要求: ◎在每个网段上,选择1个指定端口 ◎根桥上的端口全是指定端口
非根桥上的指定端口依据:
◎根路径成本最低
◎端口所在的网桥的ID值较小
◎端口ID值较小
主讲人:曾东波
STP选择根端口举例
在每个网段选择1个指定端口(DP)
这个端口既不是根端 口,也不是指定端口, STP将这个端口阻塞 C (Block) 100M Root 根网桥上的端口 Bridge 都是指定端口 DP DP 在这个网段上,B的 优先级:32768 网桥ID较小,所以B MAC地址: 上的端口为指定端口 000d.2800.b102 100M
网桥优先级 2字节 优先级取值范围:0 ~ 65535 网桥的MAC地址 6字节
缺省值:32768
主讲人:曾东波
STP选择根网桥举例
根据网桥ID选择根网桥
优先级:32768 MAC地址: 000d.2800.b102
C 以本拓朴为例, 介绍STP的计算 过程 下一步:选择根端口
Root Bridge
相关知识- MSTP/802.1S
MSTP(多实例生成树协议 Multiple Spanning Tree Protocol)将环路网络修剪成为一个无环的树型网络,避免 报文在环路网络中的增生和无限循环,同时还提供了数据
转发的多个冗余路径,在数据转发过程中实现VLAN数据的 负载均衡。
相关知识- MSTP/802.1S
相关知识-PVST配置
◎设置根交换机 SA(config)#spanning-tree vlan vlan-list priority Bridgepriority spanning-tree vlan:命令 vlan-list:表示vlan Bridge-priority:交换机优先级,优先级的值为4096 的倍数。 例如:设置交换机SA在vlan1-2中是根交换机。 SA(config)#spanning-tree vlan 1-2 priority 0
回顾
1.前阶段学习了哪些网络技术,每种网络技术有什么 作用?
主讲人:曾东波