码迷,mamicode.com
首页 > 其他好文 > 详细

生成树协议

时间:2019-01-09 13:38:44      阅读:259      评论:0      收藏:0      [点我收藏+]

标签:实例   调整   特殊   forward   方法   自己的   转发   port   最小   

生成树协议(spanning tree protocol)
工作在二层里面(数据链路层) 二层交换机

理解一下重点:
1、STP的工作原理
2、配置PVST+

生成树协议的目的是:
1、建立一个冗余的交换机网络
2、提高容错性
3、备份。

环路带来的三个问题:
1、广播风暴
2、收到重复的数据帧
3、MAC地址表不稳定(震荡)
解决的方法就是:生成树协议STP
树是没有环的。

生成树的目的(作用)就是通过算法算出来阻塞哪个接口进而消除环路。而且当正常的链路断掉之后,阻塞的接口会自动的打开,让终端之间可以正常访问,达到备份的目的。

STP (spanning tree protocol)生成树协议

生成树算法:
1、选择根网桥 (网桥就是交换机)
2、选择根端口
(1)到根网桥最低的根路径成本(开销)
(2)直连的网桥ID最小的
(3)端口ID最小的
3、选择指定端口
(1)根路径成本较低
(2)所在的交换机的网桥ID值较小
(3)端口ID值较小

口诀:一个根桥,两种度量,三要素选举,四个比较原则,五种端口状态。

一个根桥
每个二层拓扑中,必须要有一个根网桥(一个特殊的交换机(根交换机))
根交换机只有一个,非根交换机可以多个。
选择根网桥的依据是网桥ID,网桥ID是唯一的。

两种度量
1、ID
(1)BID(bridge ID)网桥ID
BID由两部分组成:第一部分是16bit的priority优先级(默认是32768)
取值范围:0-65535
第二部分是48bit的MAC地址
上面的MAC地址是交换机(或者交换机接口)的MAC地址
16bit的priority(优先级) 48bit的MAC地址

优先级最小的就是根设备(根交换机或者根网桥),如果优先级一样,那就比较MAC地址。
MAC地址小的就是根设备。
BID小的就一定是根设备。
根桥的BID就叫做RID(root ID)

(2)PID(port ID)端口ID
PID也由两部分组成:第一部分是接口优先级(默认是128)
第二部分是接口号
2、cost开销,成本
只有从接口把数据发出去的时候才考虑开销。
(1)路径开销
在交换机上把数据从接口发出去的开销
思科设备开销:10M带宽(cost:100)
100M带宽(cost:19)
1000M带宽(cost:4)

(2)根路径开销
非根设备到达根设备的路径开销之和RPC(root path cost)
一般我们根路径开销说的都是最小的根路径开销

三要素选举
1、在每个非根设备上选举一个根端口(RP——root port)
在每个非根设备上有且只能有一个RP
RP的定义是:离根最近的端口
2、在每段链路上选择一个指定端口(DP——design port)
在每段链路上有且只能有一个DP
如何选择指定端口:
在一段链路里要比较两个设备的根路径开销,根路径开销小的会成为DP端口;如果根路径开销一样,那么比较BID,BID小的会成为DP端口。
3、既不是RP端口,又不是DP端口,就将其阻塞掉。

四个比较原则
1、RID(根桥的BID)
2、RPC(root path cost ,根路径开销,即成本)
3、发送者的BID
4、发送者的PID
生成树的报文中,BDPU报文(桥协议数据单元)

五种端口状态:
disable(禁用):生成树关闭(或者接口关闭的时候)
blocking(阻塞):阻塞接口的最终状态
listening(侦听):设备开机之后,生成树接口默认处于的状态
等15s 15s的时间叫做转发延迟 forward delay
learning(学习):该状态是学习MAC地址的状态
等15s
forwarding(转发):只有处在该状态,才能转发数据
注:RP(根端口)和DP(指定端口)端口都在转发状态

STP的计算步骤:
1、根据BID选出根桥,先比较优先级,优先级小的成为根,如果优先级一样,比较MAC地址,MAC地址小的成为根。优先级默认是32768
2、找到每个非根设备上的根路径开销
3、在每个非根设备上找到一个根端口,每个非根设备有且只能有一个根端口,根路径开销最小的那个接口就是根端口
4、在每段链路上,有且只能有一个指定端口DP,首先比较每段链路上所有设备的根路径开销,根路径开销小的成为DP,如果根路径开销一样,那么比较每个设备的BID,BID小的会成为DP
5、既不是RP也不是DP,就将其阻塞。

生成树的类型:
1、标准的STP 802.1d
思科认为标准的STP不好,所以思科有自己的私有协议
PVST+ per vlan spanning tree plus 每vlan生成树+
2、快速的生成树 RSTP 802.1w
思科认为快速生成树不好,思科有自己的私有协议
PVRSTP+ 或者Rapid PVST+
per vlan rapid spanning tree plus 每vlan快速生成树+
3、MSTP 多实例的生成树 802.1s

小结:
思科的交换机上默认只支持三种生成树:
PVST+
PVRST+
MSTP

总结:
STP(spanning-tree protocol)---生成协议
作用----存在冗余链路的情况下,实现环路保护,
(即线路故障时,阻塞端口打开,恢复数据通信)
??? 实现----BPDU(网桥协议数据单元)
??? 分类----PVST/RSTP/MSTP

?? 工作过程
? 1.确定交换机的角色
???? 分类:
?????????? 根交换机(只有一个)
?????????? 非根交换机(除根交换机以外的交换机)
???? 原则:
?????????? 比较每个交换机的BID(桥ID),越小越好
?????????? 组成:优先级+MAC地址(基MAC)
???????????????? 优先级:默认是32768
????????????????? MAC地址:交换机主板MAC地址
?? ? ? ? ? ? ? ? ? sw#show version
? 2.确定端口角色
???? 分类:
?????????根端口---在非根交换机上距离根交换机最近的端口
??????? 指定端口---每一个冲突域中,距离根交换机最近的端口
????????(冲突域---交换机端口互联形成)---根交换机上的端口均为指定端口
????? 非指定端口---除根端口及指定端口以外的交换机端口
?? 判断思路----首先判断根端口----->再判断指定端口------>最后判断非指定端口
????如何表示上文中“最近“这个距离?
? ? ? ? ? ? 在STP中,通过cost 表示一个路径的距离
? ? ? ?? 对于某些链路,均有默认的cost值:(路径成本值)
链路带宽---路径成本
? ? ? ? 10 M --- cost 100
? ? ? ? ? 100M --- cost 19
? ? ? ? ? 1000M(1G) ---- cost 4
? ? ? ? ? 10000M(10G) ---- cost 2
总结:带宽越宽,成本越小
??? 通过什么来判断端口所属角色?
?????? BPDU--桥协议数据单元
??????? root-id????? //表示根交换机是谁
??????? cost??????? //表示发送该BPDU协议的交换机到达根交换的距离
??????? BID???????? //表示发送该BPDU的交换机的名字
??????? Port-id ? ?? //表示发送方交换机是在那个端口发送出来的
??????????????????? (组成--优先级(默认128)+MAC地址)?
????????????????? 以上都是越小越好!!!

调整生成树协议:
1、通过调整优先级,来影响阻塞端口(全局配置模式下)
spanning-tree vlan 10 启用生成树(默认启用的)
spanning-tree vlan 10 priority 0 修改sw1在vlan10中的优先级
spanning-tree vlan 20 priority 4096 修改sw3在vlan10中的优先级

spanning-tree vlan 5,10-20 priority 0
spanning-tree vlan 10 root {primary|secondary}
primary:优先级为24576
secondary:优先级为28672

2、修改端口成本(在端口模式中)
spanning-tree vlan 10 cost 50 修改本交换机的端口在vlan10中的出接口成本

3、修改端口优先级
spanning-tree vlan 10 port-priority 96

show spanning-tree 查看所有的vlan生成树。

生成树协议

标签:实例   调整   特殊   forward   方法   自己的   转发   port   最小   

原文地址:http://blog.51cto.com/14150862/2340525

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!