Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7683498
  • 博文数量: 637
  • 博客积分: 10265
  • 博客等级: 上将
  • 技术积分: 6165
  • 用 户 组: 普通用户
  • 注册时间: 2004-12-12 22:00
文章分类

全部博文(637)

文章存档

2011年(1)

2010年(1)

2009年(3)

2008年(12)

2007年(44)

2006年(156)

2005年(419)

2004年(1)

分类: 网络与安全

2005-12-26 00:13:07

了解生成树协议

1.STP:bridges之间交换BPDU信息来检测循环,并通过关闭接口的方式来破坏循环
  2.根桥(root bridge):拥有最好的bridge ID即为根桥,网络中的一些诸如哪些端口被堵塞(block)哪些端口作为转发模式的决定都由根桥来决定
  3.BPDU:Bridge Protocol Data Unit,所有的switches通过交换这些信息来选择根switch
  4.bridge ID:用于STP跟踪网络中的所有switches,这个IDbridge优先级(priority)MAC地址符合而成,优先级默认为32768,ID最低的即为根桥
  5.非根桥(nonroot bridge):不是根桥的全为非根桥,非根桥交换BPDUs来更新STP拓扑数据库
  6.根端口(root port):与根桥直接相连的端口,或者是到根桥最短的接口.如果到根桥的连接不止1,将比较每条连接的带宽,耗费(cost)低的作为根端口;如果耗费相同就比较bridge ID,ID低的将被选用
  7.指定端口(designated port):耗费低的端口,作为转发端口
  8.端口耗费(port cost):带宽来决定
  9.非指定端口(nondesignated port):耗费较高,为堵塞模式(blocking mode),即不转发帧
  10.转发端口(forwarding port):转发端口用来转发帧
  11.堵塞端口(blocked port):不转发帧,用来防止循环的产生,虽然不转发,但是它可以监听(listen)

  Spanning Tree Operations

  之前说过:STP的任务就是查找出网络中的所有连接,并关闭些会造成循环的冗余连接.STP首先选举1个根桥,用来对网络中的拓扑结构做决定.当所有的switches认同了选举出来的根桥后,所有的bridge开始查找根端口.假如在switches之间有许多连接,只能有1个端口作为指定端口

  Selecting the Root Bridge

  bridge ID用来在STP域里选举根桥和决定根端口,这个ID8字节长,包含优先级和设备的MAC地址,IEEE版本的STP的默认优先级是32768.决定谁是根桥,假如优先级一样,那就比较MAC地址,MAC地址小的作为根桥

  Selecting the Designated Port

  假如不止1个连接到根桥,那就开始比较端口耗费,耗费低的作为根端口,下面是一些典型的耗费标准:
  1.10Gbps:2
  2.1Gbps:4
  3.100Mbps:19
  4.10Mbps:100

  Spanning-Tree Port States

  运行STPbridgesswitches5种状态:
  1.堵塞(blocking):不转发帧,只接受BPDUs,主要目的是防止循环的产生.默认情况下,switch启动时所有端口均为blocking状态,一般为20s
  2.监听(listening):端口接受和发送BPDUs监听数据帧,不转发数据帧,来决定在传送数据帧之前没有循环会发生,一般为15s
  3.学习(learning):监听BPDUs和学习所有路径,学习MAC地址表,不转发帧,一般为15s
  4.转发(forwarding):转发和接收数据帧,读取MAC地址,更新桥的CAM表。
  5.禁用(disabled):不参与帧的转发和STP,一般在这个状态的都是不可操作的

 

生成树资料
交换机内的生成树算法(STA)使你可以创建一条备用链路(当网络中存在多台交换机时)
。在主链路正常工作时,备用链路处于空闲状态(不工作);只有在主链路出现问题时
,备用链路才不需要任何人工干预自动地接替主链路。这种自动重构的功能,使得网络
上的用户能够最大限度地与网络保持正常的连接。生成树算法较复杂,所以,建议最好
在充分研究理解其之后,再更改其一些设置。请仔细阅读并理解下述内容之后,再去更
改交换机上的生成树的默认设置。
网络环路的侦测和预防(Network loop detection and prevention):任何两个局域网
之间应该只有一条路径,否则,网络中将出现环路。如果存在着多于一条的路径,那么
生成树算法将会侦测到环路的发生,并自动选择开销值(c ost)最低的那条路径作为可
使用的路径(主链路),而阻断其它路径,将它们作为备用路径(备用链路)。
自动拓扑重构(Automatic topology re-configuration):当主链路出现故障时,生成
树算法将自动启用备用链路,重构网络结构。
生成树的级别(STA Operation Levels
生成树有两种工作级别:桥级别(bridge level)和端口级别(port level)。在桥一
级上,生成树算法为每台交换机计算桥的标志级数(Bridge Identifier),然后设定根
桥(Root Bridge)和指定桥(Designated Bridges)。而在端口一级上,生成树算法设
定根端口(Root Port)和指定端口(Designated Ports)。详述如下:
在桥一级上(On the Bridge Level):
根桥(Root Bridge具有最小桥标志级数的(lowest Bridge Identifier)交换机是
根桥(Root Bridge)。当然,你希望根桥是环路中所有交换机当中最好的一台(交换机
),以保证能够提供最好的网络性能和可靠性。
桥标志级数(Bridge Identifier:桥标志级数是桥的优先级(Bridge Priority)和
交换机的MAC地址的综合数值,其中桥的优先级(Bridge Priority)是一个你可以设定
的参数。例如,“4 00 80 C8 00 01 00”中的“4”是桥的优先级,“00 80 C8 00 01
00”
是交换机的MAC地址。交换机的桥标志级数越低,则交换机的优先级越高,这样可
以增加其成为根桥的可能性。
指定桥(Designated Bridge):在每个网段中,到根桥(Root Bridge)的路径开销最
低的(lowest Root Path Cost)桥将成为指定桥(Designated Bridge),数据包将通
过它转发到网段。一旦所有的交换机具有相同的根路径开销(Root Path Cost),那么
具有最低的桥标志级数的(lowest Bridge Identifier)交换机才会被定为指定桥(De
signated Bridge
)。
根路径开销(Root Path Cost):一台交换机的根路径开销(Root Path Cost)是根端
口(Root Port)的路径开销(Path Cost)与数据包经过的所有交换机的根路径开销(
Root Path Cost
)之和。根桥(Root Bridge)的根路径开销(Root Path Cost)是零。

桥的优先级(Bridge Priority):是一个用户可以设定的参数。设定的值越小,优先级
越高。交换机具有越高的优先级,才越有可能成为根桥。
在端口一级上(On the Port Level):
根端口(Root Port):每台交换机都有一个根端口(Root Port),这个端口到根桥的
路径开销最低。一旦多个端口具有相同的到根桥的路径开销时,那么具有最低的端口标
志级别的才会成为根端口。
指定端口(Designated Port):指定端口就是指定桥(Designated Bridge)上的端口

端口优先级(Port Priority:数值越小,端口的优先级就越高。具有越高端口优先级
,才越有可能成为根端口。
路径开销(Path Cost):这是一个可变的参数,它将随着生成树中的设定值的变化而变
化。依据STA的默认参数值,每个1000Mbps网段有一个指定的路径开销值为4 100Mbps
网段的路径开销值1910Mbps网段的路径开销值100
生成树参数(STA Parameters
生成树的参数用户可以根据自己的需要进行修改,但是建议最好使用出厂时的默认设置
。除非确实需要对出厂设置值进行变动时,再去改动默认值。用户可以改动的生成树参
数有如下几个:
桥优先级(Bridge Priority:数值范围从065535“0”的优先级最高。
呼叫时间(Bridge Hello Time):数值范围从1秒到10秒。是指根桥向其它所有交换机
发出BPDU数据包的时间间隔,以告知其它所有交换机它是根桥。如果你的交换机还未是
根桥时为其设置了呼叫时间,那么,一旦你的交换机成为根桥,该呼叫时间就会派上用
处。
注意:呼叫时间不能大于桥的最大老化时间(Max. Age),否则,将出现错误信息。
最大的桥老化时间(Bridge Max. Age):数值范围从6秒到40秒。如果在超出最大老化
时间之后,还没有收到根桥发出的BPDU数据包,那么,在允许的条件下你的交换机将充
当根桥向其它所有的交换机发出B PDU数据包。如果交换机确实具有最小的桥标志级数,
那么,它将随之成为根桥。
桥转发时延(Bridge Forward Delay):数值范围从4秒到30秒。是指交换机的端口从阻
塞状态转为转发状态所用的监听时间。
当你欲变动生成树参数时,请一定记住下述公式:
最大的桥老化时间≤ 2 x(桥转发时延 – 1秒)
即:Max. Age ≤ 2 x (Forward Delay - 1 second)
最大的桥老化时间≥ 2 x(呼叫时间 + 1秒)
即:Max. Age ≥ 2 x (Hello Time + 1 second)
端口优先级(Port Priority):数值范围从0255。数值越小,那么该端口越可能成为
根端口。 

 

 

 

 

 

 

 

生成树协议(STP
1.
冗余链路:冗余连接可以防止网络中的单点失效的问题;冗余连接也导致了交换回路的出现。
2.
交换回路引发的问题:广播风暴;同一帧的多拷贝;不稳定的MAC地址表。
3. STP
介绍:通过阻塞一个或多个冗余端口,维护一个无回路的网络(IEEE802.1d
4.
工作过程:运行生成树算法(STA)的交换机定期发送BPDU;选取唯一一个根网桥;在每个非根网桥选取唯一一个根端口;在每网段选取唯一一个标志端口。
(1).
选取唯一一个根网桥:BPDU中包含Bridge IDBridge ID8B)=优先级(2B)+交换机MAC地址(6B);一些交换机的优先级默认为32768,可以修改;优先级值最小的成为根网桥;优先级值最小的成为根网桥;优先级值相同,MAC地址最小的成为根网桥;Bridge ID值最小的成为根网桥;根网桥缺省每2秒发送一次BPDU
(2).
在每个非根网桥选取唯一一个根端口:根网桥上没有根端口;端口代价最小的成为根端口;端口代价相同,Port ID最小端口的成为端口;Port ID通常为端口的MAC地址;MAC地址最小的端口成为根端口;
(3).
在每网段选取唯一一个标志端口:端口代价最小的成为标识端口;根网桥端口到各网段的代价最小;通常只有根网桥端口成为标识端口;被选定为根端口和标识端口的进行转发状态;落选端口进入阻塞状态,只侦听BPDU
(4).
阻塞端口在指定的时间间隔(缺省20秒)收不到BPDU时,会重新运行生成树算法进行选举;缺点:在运行生成树算法的过程中,网络处理阻断状态,所有端口都不进行转发。计算过程缺省为50秒。

 

 

生成树相关的几个概念STP/RSTP/MSTP

STPIEEE Std 802.1D-1998定义,不能快速迁移。即使
是在点对点链路或边缘端口,也必须等待2倍的forward delay
的时间延迟,网络才能收敛。

RSTP
IEEE Std 802.1w定义,可以快速收敛,却存在以
下缺陷:
局域网内所有网桥共享一棵生成树,不能按vlan
阻塞冗余链路。

MSTP
可以弥补这样缺陷,它允许不同vlan的流量
沿各自的路径分发,从而为冗余链路提供了更好的
负载分担机制。

MSTP

Multiple Spanning Tree Protocol
多生成树协议
在规范IEEE Std 802.1s中第13节描述。
MSTP
算法通过应用MSTPSTPRSTP的桥任意互连的桥接网络,为分配给任一个特定VLAN的帧提供了简单而完备的连通性。
MSTP
允许不同VLAN的数据从各自的路径分发。各条路径建立在由LANMST桥组成的MST域中的各个独立的多生成树实例的基础上。 

 

STPRSTP混用

STPRSTP混用时,STP会丢弃RSTPBPU,当RSTP收到STPBPDU的时候会在经过一个hello周期后(防止端口频繁切换),适配未STP模式!

当网络中支持STP的设备被拿走后,RSTP的设备不会自动切换为RSTP状态,因为设备不能察觉这种情况! 

MSTPPVST的区别!

PVST会为每一个VLAN维护一个STP 的进程,发送BPUD,但是会给交换机和链路带来很大的负担!

但是在实际组网中并不需要为每个VLAN生成独立的VLAN,可以给一组VLAN采用相同的STP
因此MSTP,对此进行了改进!提出了region的概念!
详细可以参考RFC 

 

MSTPRSTP的互通

MSTP上存在一个ISTInternal Spanning Tree,相当于一个RSTP的进程,通过该IST和其它RSTP设备互通!整个MSTPRegion 对于CSTCommon Spanning Tree)来说是一个虚拟的交换机! 

 

 

阅读(3641) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~