生成树协议

要使网络更加可靠,减少故障影响的一个重要方法就是“冗余”。当网络中出现单点故障时,冗余可以激活其他备份组件,以使网络链接不中断。

冗余在网络中是必需的,冗余的拓扑结构可以减少网络的中断时间。单条链路、单个端口或者单台网络设备都有可能发生故障和错误,进而影响整个网络的正常运行,此时,如果有备份的链路、端口或者设备就可以尽量减少丢失的连接,保障网络的不间断运行。生成树协议( SpanningTree Protocol, STP )能够有效解决冗余链路带来的环路问题,大大提高了网络的健壮性、稳定性、可靠性和容错性。

一、冗余性与STP

1.STP的由来

     为了解决冗余链路引起的问题,IEEE通过了IEEE 802.1d协议,即STP。JEEE 802. 1d协议通过在交换机上运行一套复杂的算法,使冗余端口处于“阻塞状态”,使网络中的计算机在通信时只有一条链路生效,而当这条链路出现故障时,TEEE 802. 1d协议将会重新计算出网络的最优链路,将处于“阻塞状态” 的端口重新打开,从而确保网络连接稳定可靠。
    在交换式网络中,使用STP可以将有环路的物理拓扑变成无环路的逻辑拓扑,为网络提供了安全机制,使冗余拓扑中不会产生交换环路问题。
 

2.STP中的术语

STP中定义了根桥( Root Bridge)、根端口(Root Port, RP )、指定端口( Designated Port,DP)和路径开销(Path Cost)等概念,通过构造一棵自然树的方法达到阻塞冗余环路的目的,同时实现链路备份和路径最优化。用于构造这棵树的算法称为生成树算法(Spanning Tree Algorithm, STA)。STP不断检测网络,以检测链路故障。当网络拓扑发生变化时,运行STP的交换机会自动重新配置其端口,以避免环路产生或者链路断开。

(1)桥
因为性能方面的限制等因素,早期的交换机一般只有两个转发端口,所以那时的交换机常常被称为“网桥”或简称为“桥( Bridge )”。在IEEE的术语中,“桥)一直沿用至今,但现在已不再只是指只有两个转发端口的交换机,而是泛指具有任意多个端口的交换机。

(2)桥的MAC地址
一个桥有多个转发端口,每个端口都有一个MAC地址。通常,交换机会把端口编号最小的端口的MAC地址作为整个桥的MAC地址( Bridge MAC Address )。

(3)桥ID
一个桥 (交换机)的桥ID ( Bridge Identifier, BID) 由两部分组成,前面2字节是这个桥的桥优先级值,后面6字节是这个桥的MAC地址。桥优先级的值可以手动设置,其默认值为0x8000(相当于十进制数32768 )。

(4)端口ID
一个桥(交换机)端口ID( Port Identifier, PID)的定义方法有很多种,常见的有两种。
第一种:端口ID由2字节组成,字节1是该端口的端口优先级值,字节2是该端口的端口编号。

第二种:端口ID由2字节(16位)组成,前4位是该端口的端口优先级值,后12位是该端口的端口编号。
端口优先级的值可以手动设定,也可以由设备自动生成。由设备自动生成端口ID时,不同设备厂商所采用的PID的定义方法可能不同。
 

3.树的基本理论

在一个具有物理环路的交换网络中,交换机通过运行STP,自动生成一个没有环路的逻辑拓扑。这个无环逻辑拓扑也称为STP树( STP Tree ),树节点为某些特定的交换机,树枝为某些特定的链路。一棵STP树中包含了一个唯一的根节点,任何一个节点到根节点的工作路径不仅是唯一的,还是最优的。当网络拓扑发生变化时,STP树也会自动地发生相应的改变。
简而言之,有环的物理拓扑提高了网络连接的可靠性,而无环的逻辑拓扑避免了广播风暴、MAC地址表翻摆、多帧复制等问题的发生,这就是STP的精髓。
 


二、STP的工作原理

生成树协议STP能够自动发现冗余网络拓扑中的环路,保留一条最佳链路作为转发链路,阻塞其他冗余链路,并且在网络拓扑发生变化的情况下重新计算,保证所有网段可达且无环路。

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


1.STP树的生成过程

STP树的生成过程主要分为以下4步。

①选举根桥,作为整个网络的根。

②确定根端口,确定非根桥与根桥连接的最优端口。

③确定指定端口,确定每条链路与根桥连接的最优端口。

④阻塞备用端口( Alternate Port, AP ), 形成一个无环网络。

(1)选举根桥
根桥是STP树的根节点,要生成一棵STP树,首先要确定出一个根桥。根桥是整个交换网络的逻辑中心,但不一定是物理中心。当网络的拓扑发生变化时,根桥也可能会发生变化。

运行STP的交换机(简称STP交换机)会相互交换STP协议帧,这些协议帧的载荷数据被称为网桥协议数据单元( Bridge Protocol Data Unit, BPDU)。 BPDU中包含了与STP相关的所有信息,如BID。

交换机间选举根桥的主要步骤如下。


根桥的选举原则是比较网桥ID (Bridge lD),值小者优先。网桥ID可理解为交换机的身份标志,共8B,由16bit的网桥优先级48bit的网桥MAC地址构成,如图所示。其中,优先级可配置,默认值为32768(取值范围是0~65535)。另外,由于网桥的MAC地址具备全局唯一性, 所以网桥ID也具备全局唯一性。

网桥lD

网桥优先级(2B)

默认值:32768

网桥的MAC地址(6B)


①STP交换机初始启动之后,会认为自己是根桥,并在发送给其他交换机的BPDU中宣告自己是根桥。
②当交换机从网络中收到其他设备发送过来的BPDU的时候,会比较BPDU中的根桥BID和自己的BID,较小的BID将作为根桥BID。

③交换机间不断地交互BPDU,并对BID进行比较,直至最终选举出一台BID最小的交换机作为根桥。

(2)确定根端口

根桥确定后,其他没有成为根桥的交换机都被称为非根桥。一台非根桥可能通过多个端口与根桥通信,为了保证从非根桥到根桥的工作路径是最优且唯一的, 就必须从非根桥的端口中确定出一个被称为“根端口”的端口,由根端口实现非根桥与根桥设备之间的报文交互。根端口就是去往根桥路径最“短”的端口,根端口负责向根桥方向转发数据。

因此,一台非根桥设备上最多只能有一个根端口,根端口的确定过程如下。

比较根路径开销,路径开销较小的为根端口。

在计算根路径成本时,仅计算收到BPDU的端口(去往根桥的出端口)的开销。


STP把根路径开销( Root Path Cost, RPC)作为确定根端口的一个重要依据。一个运行STP的网络中,某个交换机的端口到根桥的累计路径开销(即从该端口到根桥所经过的所有链路的路径开销总和)称为该端口的RPC。链路的路径开销与端口速率有关,端口转发速率越大,路径开销就越小。端口速率与路径开销的对应关系如表所示。
 

 

<
端口速率与路径开销的对应关系
端口速率 路径开销
10Mbit/s 2000000
100Mbit/s 200000
1Gbit/s
  • 6
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值