生成树协议在局域网中的应用

(整期优先)网络出版时间:2014-03-13
/ 2

生成树协议在局域网中的应用

卢晓丽

卢晓丽LUXiao-li

(辽宁机电职业技术学院信息工程系,丹东118009)

(DepartmentofInformationEngineering,LiaoningJidianPolytechnic,Dandong118009,China)

摘要:生成树协议是一种二层管理协议,它通过有选择性地阻塞网络冗余链路来达到消除网络二层环路的目的,同时具备链路的备份功能。生成树协议因为能在局域网中构建无环路的逻辑拓扑结构和提供较强的网络容错功能,而在局域网的可靠性设计中得到广泛应用。论文简要介绍了局域网可靠性设计的思想和生成树协议的工作原理,重点描述了STP在交换机中的实现。

Abstract:Thespanningtreeprotocolisakindofsecondfloormanagementprotocol.Itachievesthepurposeofeliminatingnetworklooponthesecondfloorbyselectivelyblockingnetworkredundancylink,andatthesametimeithasabackuplinkfunction.Spanningtreeprotocoliswidelyusedinreliabilitydesignofthelocalareanetworkbecauseitcanbuildlogicaltopologystructurewithoutaloopinthelocalareanetworkandprovidestrongnetworkfaulttolerance.Thispaperbrieflyintroducestheideaoflocalareanetworkreliabilitydesignandtheworkingprincipleofthespanningtreeprotocol,andmainlydescribesSTPimplementationintheswitch.

关键词:生成树协议;冗余链路;消除二层环路

Keywords:thespanningtreeprotocol;redundantlinks;eliminatethesecondloop

中图分类号院TP3文献标识码院A文章编号院1006-4311(2014)07-0205-02

引言:

生成树协议和其他的协议一样,都是随着网络的不断发展而发展的。而“生成树协议”只是一个广义的概念,并不是特指IEEE802.1D中定义的STP协议,而是包括STP以及各种在STP基础上经过改进了的生成树协议。

1分层网络中的冗余功能

第2层冗余功能通过添加设备和电缆来实现备用网络路径,从而提升网络可用性。当有多条网络路径可用于数据传输时,即使一条路径失效,也不会影响网络上设备的连通性,分层网络中的冗余功能。

2第2层环路

冗余功能是分层设计的一个重要组成部分。尽管这是确保可用性的关键要素,但在网络中部署冗余功能之前,必须先解决其存在的一些隐患。当网络中的两台设备之间存在多条路径时,如果其间的交换机上禁用了STP,则可能出现第2层环路。如果交换机上启用了STP(这是默认设置),则不会发生第2层环路。

与通过路由器传递的IP数据包不同,以太网帧不含生存时间(TTL)。因此,如果交换网络中的帧没有正确终止,就会导致传输一直持续,直到链路断开或者环路解除为止。

广播帧会从除源端口之外的所有交换机端口转发出去,这就确保了广播域中的所有设备都能收到该帧。如果可转发该帧的路径不止一条,可能会导致网络中的无尽循环。当卷入过多的第2层环路广播帧后,就会导致所有可用带宽被耗尽,变形成了广播风暴。如果此时没有带宽正常流量使用,网络无法支持数据通信。为了避免产生广播风暴,就需要向网络中发送广播,最终因为卷入环路的流量越来越多,就形成广播风暴,导致网络中断。

广播风暴还会造成其它后果。因为广播流量是从交换机的每一个端口转发出去,因此所有相连设备都不得不处理环路网络中无休止泛洪的所有广播流量。由于网络接口卡上不断收到大量需要处理的流量,导致处理要求过高,从而可能造成终端设备故障。

3STP拓扑

冗余功能可防止网络因单个故障点(例如网络电缆或交换机故障)而无法运行,以此提升网络拓扑的可用性。向第2层设计引入冗余功能时,环路和重复帧现象也可能随之而出现。环路和重复帧对网络有着极为严重的影响。生成树协议(STP)便旨在解决这些问题。

STP会特意阻塞可能导致环路的冗余路径,以确保网络中所有目的地之间只有一条逻辑路径。当一个端口阻止流量进入或离开时,该端口便视为处于阻塞状态。不过STP用来防止环路的网桥协议数据单元(BPDU)帧仍可继续通行。STPBPDU帧将在本章的后续部分详细介绍。阻塞冗余路径对于防止网络的环路是非常关键的。为了提供冗余功能,这些物理路径依旧存在,只是为了避免产生环路而被禁用。当需要启用此类路径来抵消网络电缆或交换机故障影响的时候,STP就会重新对路径进行计算,以此接触端口的阻塞,使冗余路径进入活动状态。

4STP算法

STP使用生成树算法(STA)计算网络中的哪些交换机端口应配置为阻塞才能防止环路形成。STA会将一台交换机指定为根桥,然后将其用作所有路径计算的参考点。所有参与STP的交换机互相交换BPDU帧,以确定网络中哪台交换机的网桥ID(BID)最小。BID最小的交换机将自动成为STA计算中的根桥。

BPDU是运行TP的交换机之间交换的消息帧。每个BPDU都包含一个BID,用于标识发送该BPDU的交换机。BID内含有优先级值、发送方交换机的MAC地址以及可选的扩展系统ID。BID值的大小由这三个字段共同决定。我们将在后面的主题详细介绍根桥、BPDU和BID。确定根桥后,STA会计算到根桥的最短路径。每台交换机都使用STA来确定要阻塞的端口。当STA为广播域中的所有目的地确定到达根桥的最佳路径时,网络中的所有流量都会停止转发。STA在确定要开放的路径时,会同时考虑路径开销和端口开销。路径开销是根据端口开销值计算出来的,而端口开销值与给定路径上的每个交换机端口的端口速度相关联。端口开销值的总和决定了到达根桥的路径总开销。如果可供选择的路径不止一条,STA会选择路径开销最低的路径。

STA确定了哪些路径要保留为可用之后,它会将交换机端口配置为不同的端口角色。端口角色描述了网络中端口与根桥的关系,以及端口是否能转发流量。淤根端口:最靠近根桥的交换机端口。于指定端口:网络中获准转发流量的、除根端口之外的所有端口。盂非指定端口:为防止环路而被置于阻塞状态的所有端口。

5PVST尧RSTP等STP变体

与许多网络标准类似,随着专有协议成为事实标准,要求制定相应行业规范的呼声也越来越高,从而推动了STP的发展。当专有协议被广泛采用时,市场中的所有竞争对手都不得不提供对该协议的支持,接着IEEE之类的机构介入,制定出公共规范。STP的发展也遵循了相同的模式,如表1所示。

在交换网络中使用STP的首要动机是防止广播风暴和端口-MAC地址表的错误,通过交换机的优先级、路径、开销以及端口ID有效控制STP行为,而STP协议也为透明网桥带来了新生。但是也有其缺陷,就是在收敛速度上。

参考文献:

[1]孙徐玲,郝福珍,鄢楚平.生成树协议的研究和实现[J].计算机工程与应用,2003.

[2]李元龙,邱玉祥.基于生成树协议的交换域拓扑发现算法[J].计算机科学,2012.

[3]陈荣.浅析生成树协议原理及其实验设计[J].信息与电脑(理论版),2011.

[4]陈宇.生成树协议改进方法分析[J].微计算机信息,2011.