生成树协议配置与管理STP——2

来源:互联网 发布:mac上铃声软件 编辑:程序博客网 时间:2024/06/04 19:52

RSTPSTP的改进

继IEEE802.1D定义了STP标准后,IEEE又推出了802.1w作为802.1D的补充,并定义了RSTP标准。在新版本的802.1D(2004)中已经接纳了RSTP标准。

RSTP协议删除了3种区分不明显的3种端口状态,另外新增了两种端口角色,并且解除了端口属性中端口状态和端口角色的关联,使得可以更加精确地描述端口,从而使得初学者更容易学习协议,加快拓扑收敛。

一、新增三种端口角色

RSTP的端口角色共5种:根端口、指定端口、Alternate(替代)端口、Backup(备份)端口和Edge(边缘)。前4中端口角色如下图所示。


当“根端口”或“指定端口”失效时,“替代端口”或“备份端口”就会无延时的进入转发状态,提高了收敛效率。Edge端口是管理员根据实际需要配置的一种指定端口,用以连接PC或不需要运行STP的下游交换机。管理员需要保证该端口下游不存在环路,Edge端口能够直接进入Forwarding状态。

在RSTP中,“根端口”和“指定端口”的作用与STP协议中对应的端口角色一样,而Alternate端口和Backup端口从配置BPDU报文发送角度来看:Alternate端口就是由于学习到其他桥发送的配置BPDU报文而阻塞的端口,Backup端口就是由于学习到自己发送的配置BPDU报文而阻塞的端口。从用户流量角度来看:Alternate端口提供了从指定桥到根桥的另一条可切换路径,作为根端口的备份端口;而Backup端口是作为指定端口的备份,提供另一条从根桥到相应网段的备份通路。

给一个RSTP域内所有端口分配角色的过程就是整个拓扑收敛的过程,远比STP协议中要同时顾及端口角色及端口状态的效率高。、

二、重新划分端口状态

在端口状态上,RSTP也对STP做了比较大的改进,把STP的5种状态缩减为3种。并且是根据端口是否转发用户流量和学习MAC地址来进行划分的,具体如下:

(1)如果不转发用户流量也不学习MAC地址,那么端口状态就是Discarding(丢弃)状态。

(2)如果不转发用户流量但是学习MAC地址,那么端口状态就是Learning(学习)状态。

(3)如果既转发用户流量又学习MAC地址,那么端口状态就是Forwarding(转发)状态。


从上表可见,RSTP中的端口状态和端口角色是没有必然关联的。RSTP只有3种端口状态:Discarding(丢弃)、Learning(学习)和Forwarding(转发),它把STP中的Blocking(阻塞)、Listening(监听)和Disabled(禁用)三种状态统一用一种状态——Discarding(丢弃)替代。好处就是一个端口从初始状态转变为转发状态只需要一个转发延时周期时间,也就是从学习状态到转发状态所需等待的时间。在活跃拓扑中,只有“学习”和“转发”这两种状态的端口。

三、BPDU的改变

RSTP协议与STP协议一样也是使用BPDU消息格式进行各桥间的拓扑信息交互,但它只有配置BPDU,没有TCN BPDU,且RSTP的配置BPDU称为RST BPDU。RSTP在BPDU方面的改变主要体现在BPDU格式,在发生拓扑改变时BPDU的使用,以及对BPDU的处理3个方面。

1、BPDU格式上的改变

在BPDU格式上,RSTP的RST BPDU与STP的配置BPDU没做什么重大修改,只是对STP配置BPDU中的Flag(标志)字段进行了填充,使从RST BPDU中就可以看出对应端口的端口角色,另外就是在BPDU类型值上做了改变,具体表现在以下两个字段。

(1)Type字段:RST BPDU类型不再是0,而是2,所以运行STP的设备收到RSTP的RST BPDU时会丢弃。

(2)Flag字段:在RST BPDU中使用了在STP配置BPDU中该字段保留的中间6位(最高位仍为TCA,最低位仍为TC),如图8-17所示。


中间6位的作用如下:

①Agreement:确认标志位,位于Bit6,当该位置1时,表示该BPDU报文为快速收敛机制中的Agreement报文,是对所收到的ProposalBPDU(此时Bit1位置1)的提议进行确认。RSTP中定义了Proposal/Agreement机制(提议/确认机制,即P/A机制),可使指定端口通过与对端端口进行一次握手即可快速进入转发状态,其中不需要任何定时器。

②Forwarding:转发状态标志位,位于Bit5,当该位置1后表示发送该BPDU报文的端口处于Forwarding状态。

③Learning:学习状态标志位,位于Bit4,,当该位置1后表示发送该BPDU报文的端口处于Learning状态。

④Port role:端口角色标志位,位于Bit3和Bit2共两位,取值为00时表示发送该BPDU的端口的角色未知,为01时表示该端口为Alternate端口或Backup端口,为10时表示该端口为根端口,为11时表示该端口为指定端口。

⑤Proposal:提议标志位,位于Bit1,,当该位置1时表示该BPDU报文为快速收敛机制中的Proposal报文。对端在收到该报文后,如果同意,则需要发送Bit6位置1的确认报文。

RSTP的Flags字段增加了端口属性和状态,其中Bit1和Bit6两个字段用于点到点链路端口快速收敛中的消息报文。常见的几种Flags需要记住:2c,即00101100,表示发送BPDU的端口状态为转发状态,端口角色为指定端口;0e,即00001110,表示是由指定端口发送的提议BPDU报文;6c,即01101100,表示是由处于转发状态的指定端口发送的确认BPDU报文;2d,即00101101,表示是由处于转发状态的指定端口发送的拓扑更改BPDU报文。

运行STP的设备会丢弃收到的RSTBPDU,目前RSTP交换机都提供STP兼容模式,运行在STP兼容模式的端口会发送和接收配置BPDU,表现的特性也和STP类似。除了配置BPDU外,RSTP同样有TCN BPDU,类型值也为0x80。

2、拓扑变化时BPDU的使用变化

在STP协议中只要有端口变为Forwarding状态,或从Forwarding状态转变到Blocking状态均会触发拓扑改变处理过程。在发生拓扑变化时,下游设备会不间断的向上游设备发送TCN BPDU报文。上游设备在收到下游设备发来的TCN BPDU报文后,使用Flags字段中TCA标志位置1的配置BPDU报文发送给对应的下游设备,告知下游设备停止发送TCN BPDU报文。与此同时,上游设备复制一份TCN BPDU报文,向根桥方向发送。当根桥方向发送。当根桥收到TCN BPDU报文后,根桥又使用Flags字段中TC标志位置1的配置BPDU报文向对应的下游设备回送,通知它们直接删除发生故障的端口的MAC地址表项。整个过程同时使用了TCN BPDU和配置BPDU。

在RSTP协议中检测拓扑是否发生变化只有一个标准:一个非边缘端口迁移到Forwarding状态。一旦检测到拓扑发生变化,将进行如下处理。

(1)为本设备上的所有非边缘指定端口启动一个TC While定时器,该定时器值是Hello定时器的两倍。在这个时间内,清空状态发生变化的端口上学习到的MAC地址。同时,由这些端口向外发送TC位置1的RST BPDU。一旦TC While定时器超时,则停止发送RST BPDU。

(2)其他交换设备接收到TC位置1的RST BPDU后,清空所有端口学习到的MAC地址,除了收到该RSTBPDU报文的端口。然后也为自己所有的非边缘指定端口和根端口启动TC While定时器,重复上述过程。

如此,网络中就会产生RST BPDU的泛洪。在RSTP协议中不再使用TCNBPDU,而是发送TC位置1的RST BPDU,并通过泛洪的方式快速通知整个网络。不需要依次向上发送TCN BPDU至根桥,当其他桥收到TC位置1的RST BPDU之后,也不再需要等待由根桥向下发送的TC位置1的RST BPDU,直接清除端口学习到的MAC地址,重新学习,实现网络的快速收敛。

3、配置BPDU处理上的变化

RSTP在配置BPDU处理上的变化体现:

(1)拓扑稳定后,配置BPDU报文的发送方式。在STP协议中,当拓扑稳定后,只能由根桥按照Hello定时器规定的时间间隔定期发送配置BPDU,其他非根桥设备只能在收到上游设备发送过来的配置BPDU后才会触发发出配置BPDU。此方式使得STP协议计算复杂且缓慢。RSTP协议对此进行了改进,即在拓扑稳定后无论非根桥设备是否接收到根桥传来的RST BPDU报文,非根桥设备仍然按照Hello定时器规定的时间间隔定期发送配置BPDU。即在RSTP中,各桥的配置BPDU发送行为完全是由每台桥设备自主进行。

(2)更短的BPDU超时计时。在RSTP协议中规定,如果一个端口连续3倍Hello定时器内没有收到上游设备发送过来的RST BPDU,那么该设备认为与此邻居之间的协商失败。而不是像STP协议规定的需要先等待一个Max Age(最大生存时间)。

(3)处理次等BPDU。在STP中指定端口在收到inferior(次优)BPDU会马上把端口保存的更优的BPDU发送出去,但对非指定端口不会做同样处理。而在RSTP中不管是否指定端口,收到次优RST BPDU都会马上发送本地更优的RST BPDU给对端,以使对端口快速更新自己的RST BPDU。具体为,当一个端口收到上游的指定桥发来的RST BPDU报文时,该端口会将自身存储的RST BPDU与收到的RST BPDU进行比较。如果该端口存储的RST BPDU的优先级高于收到的RST BPDU,那么该端口会直接丢弃收到的RST BPDU,立即以自身存储的RST BPDU进行响应。当上游设备收到下游设备响应的RST BPDU后,上游设备会根据收到的RST BPDU报文中相应的字段立即更新自己存储的RST BPDU。由此可见,RSTP处理次等BPDU报文不再像STP那样依赖于任何定时器通过超时解决拓扑收敛,从而加快了拓扑收敛。

在下图8-18中,假设桥优先级S3<S2<S1,各段链路的开销值在图中标注。正常情况下,S1为根桥,S2的port1端口为S2的根端口,S2的port2为S2的指定端口,S3的port2端口为S3的根端口,S3的port1端口为阻塞端口。因为S3经过S2到达根桥S1的开销更小,所以S3会从port2端口发送数据,而不会从port1端口发送数据。

如果现在S1、S2中的链路Down了,如8-19。在STP协议中,一开始S2会认为自己是根桥(因为此时S2误认为S1不存在了),并发送配置BPDU。但S3的port2不会立即以更优的BPDU响应S2,直到Max age(缺省为20s)过期,即S3的port2端口上保存的原BPDU超时,S3的port2端口才发送新的以S1为根(因为此时S3与S1仍然保持着连接,S1的优先级更高,所以S3认为S1仍为该交换网络的根桥)的BPDU。S2接收到这个BPDU后,承认S1为根桥(原因是S1的优先级高于S2),修改自己的桥角色。此时S2的port2端口状态会发生一系列的变化,需经过两倍转发延时——30s才进入转发状态。这样就一共50s的时间。


如果是在RSTP中,S3的port2端口收到S2发来的次BPDU后会马上发送本端口的更优BPDU,无需等待Max Age时间。因为此时S2的port2与S3的port2端口是点对点连接,所以这两个端口都能快速地进行状态迁移,即由Discarding状态迁移到Forwarding,实现拓扑瞬间收敛,无需等待两倍的转发延时。

四、更加快速地P/A收敛机制

在RSTP中,为了实现更快速的拓扑收敛,主要采用了Proposal/Agreement(提议/确认,P/A)机制。

通过前面知道,当一个端口被选举成为指定端口之后,在STP协议中该端口至少要等待两个Forward Delay的时间(由Listening状态到Learning状态,再从Learning状态到Forwarding状态)才会迁移到Forwarding状态,发送数据。这种保守的设计可以保证不产生环路,当不够聪明。在RSTP协议中规定,一个端口被选举为指定端口后,会先进入Discarding状态,再通过Proposal/Agreement机制快速进入Forwarding状态。但这种机制必须在点到点链路(某端口在所属的共享以太网上的对端只有一台设备,这样的以太网被认为是点到点链路)上使用

1、P/A机制工作原理

P/A机制即Proposal/Agreement机制,其目的是使一个指定端口尽快进入Forwarding状态。如下图,P/A协商过程的完成根据以下几个端口变量的协商,也就是P/A机制的具体工作原理。


   (1)proposing(提议请求):当一个指定端口处于Discarding或Learning状态时,Proposing变量置位,并向下游设备传递Flags字段Proposal标志位置1的RST BPDU(表示此BPDU为Proposal RST BPDU报文),请求快速切换到Forwarding状态。

(2)proposed(提议采纳):当对端的根端口收到以上Proposal标志位置1的RST BPDU时,proposed变量置位。该变量指示本网段上的指定端口希望尽快进入Forwarding状态。

(3)sync(同步请求):当根端口的proposed变量置位后会依次为本桥上的其他端口使sync变量置位,使所有非边缘端口都进入Discarding状态,准备重新同步。

(4)synced(同步完成):当端口进入到Discarding状态后会将自己的synced变量置位,包括本桥上的其他所有Alternate端口、Backup端口和边缘端口,实施同步操作。此时,根端口监视其他端口的synced变量置位情况,当所有其他端口的synced变量全被置位,则根端口最后也会将自己的synced变量置位,表示本桥上已正式完成同步操作,向上游设备传回Agreement标志位置1的RST BPDU(表示此BPDU为Agreement RST BPDU报文)。

(5)agreed(提议确认):当原来想要进入转发状态的上游设备指定端口收到对端根端口发来的一个Agreement RST BPDU时,则此指定端口的agreed变量被置位。Agreed变量一旦被置位,则该指定端口马上转入Forwarding状态。

2、P/A机制解析示例


如上图,根桥S1和S2之间新添加了一条链路。在当前状态下,S2的另外几个端口p2是Alternate端口,p3是指定端口且处于Forwarding状态,p4是边缘端口。新链路连接成功后,P/A机制协商过程如下。

(1)P0和P1两个端口马上成为指定端口,发送RST BPDU。

(2)S2的p1端口在收到更优的RSTBPDU后马上意识到自己将成为根端口,而不是指定端口,于是停止发送RST BPDU。

(3)当S1的p0端口处于Discarding状态(这是所有端口的初始状态)时向对端的S2发送proposal标志位置1的RST BPDU。

(4)S2收到根桥发送来的携带proposal标志位的RST BPDU后开始将自己的所有端口的sync变量置位,进入Discarding状态。因为此时p2端口已经阻塞,所以状态不变,p4端口是边缘端口不参与运算,所以只需要阻塞非边缘指定端口p3。

(5)在p2、p3、p4端口都进入Discarding状态后,各处将自己的synced变量置位,然后根端口p1也将自己的synced变量置位,然后向S1返回Agreement标志位置1的响应RST BPDU。该RST BPDU携带和刚才根桥发过来的BPDU一样的信息,除了Agreement标志位置1之外(Proposal位清零)。

(6)当S1判断出所收到的AgreementRST BPDU是对刚刚发出的Proposal的响应后,端口p0马上进入Forwarding状态。

以上P/A过程可以向下游设备继续传递,也就是说不一定是根桥与非根桥之间,也可以是非根桥之间。

五、RSTP的其他收敛机制和与STP的互操作

1、其他收敛机制

在RSTP中,除了P/A机制外,还有以下两种机制也可帮助实现拓扑的快速收敛。

(1)根端口快速切换机制。如果网络中一个根端口失效,那么网络中最优的Alternate端口将立即成为根端口,并进入Forwarding状态。在点到点以太网链路上,根端口总能快速迁移到Forwarding状态。

(2)边缘端口的引入。在RSTP里面,如果某一个指定端口位于整个网络的边缘,即不再与其他交换机设备连接,而是直接与终端设备直连,这种端口叫做边缘端口。

边缘端口不接收处理配置BPDU,不参与RSTP运算,可以由Disable状态直接转换到Forwarding状态,且不经历任何时延。但是一旦边缘端口收到配置BPDU,就丧失了边缘端口属性,成为普通RSTP端口,并重新进行生成树计算,从而引起网络震荡。

2、RSTP和STP的互操作

RSTP可以和STP互操作,但是此时会丧失快速收敛等RSTP优势。当一个网段里既有运行STP的交换设备,又有运行RSTP的交换设备时,STP交换设备会忽略RST BPDU、,而运行RSTP的交换设备在某端口上接收到运行STP的交换设备发出的配置BPDU时,会在两个Hello Time时间之后把自己的端口转换到STP工作模式,发送配置BPDU。这样就实现了互操作。

STP/RSTP配置

虽然RSTP对STP有了重大改进,但配置方法总体区别不大。

一、STP/RSTP配置任务及缺省配置

STP/RSTP可阻塞二层网络中的冗余链路,将网络修剪成树状,达到消除环路的目的。、

(1)为了消除设备间的环路,可以配置STP/RSTP基本功能。

(2)为了加快设备的收敛速度,可以配置影响STP/RSTP拓扑收敛的参数。

(3)为了实现与其他厂商设备的互通,需要在华为公司运行STP/RSTP的设备上配置合适的参数,以确保通信畅通。

(4)为了满足特殊场合的应用和功能扩展,还可配置RSTP拓扑收敛反馈机制,以及RSTP提供的各种保护功能。


支持STP/RSTP的华为S系列交换机缺省配置:


二、配置STP/RSTP基本功能

STP、RSTP基本功能的配置:

1、主要配置任务

STP/RSTP基本功能配置包括STP/RSTP工作模式配置,根桥和备份桥配置,桥优先级配置,端口路径开销、端口优先级、STP或RSTP功能的启用等。

(1)配置STP/RSTP工作模式。华为S系列交换机支持STP、RSTP和MSTP三种生成树工作模式。在只运行STP的环形网络中可选择STP模式;在只运行RSTP的环形网络中可选择RSTP模式。其他情况,建议选择缺省情况MSTP模式。

(2)(可选)配置根桥和备份根桥。此为可选配置,因为缺省情况下,根桥和备份根桥是通过选举产生的。如果配置此项配置任务就相当于人工指定根桥和备份桥。注意同一交换机上只能选择配置根桥或者备份根桥,不能同时配置。在配置STP/RSTP过程中,建议手工配置根桥和备份根桥。

(3)(可选)配置交换设备优先级。在一个运行STP/RSTP的网络中,有且仅有一个根桥,它是整颗生成树的逻辑中心。在进行根桥的选择时,一般希望选择性能高、网络层次高的交换设备作为根桥。但是性能高、网络层次高的交换设备其优先级不一定高,因此需要配置优先级以保证该设备成为根桥。在配置交换设备时优先级数值是:数值越小,优先级越高,成为根桥的可能性越大

(4)(可选)配置端口路径开销。路径开销是一个端口量,是STP/RSTP协议用于选择链路的参考值。端口路径开销值取值范围由路径开销计算方法决定。当确定路径开销计算方法后,端口所处链路的速率值越大,建议将该端口的路径开销值在指定范围内设置越小。

华为S系列交换机支持三种路径开销计算方法,即IEEE802.1d-1998标准方法、IEEE802.1t标准方法和华为的私有计算方法。


从上表可见,端口速录越高,路径开销值越小。

(5)(可选)配置端口优先级。在参与STP/RSTP生成树计算时,对于处在环路中的交换设备端口,其优先级的高低会影响到是否被选举为指定端口。

(6)启用STP/RSTP功能。在环形网络中一旦启用STP或RSTP,STP、RSTP协议便立即开始生成树计算。而且,诸如交换设备的优先级、端口优先级等参数都会影响到生成树的计算,在计算过程中这些参数的变动可能会导致网络震荡。为了保证生成树计算过程快速而且稳定,必须在交换设备及其端口进行必要的基本配置以后才能启用STP或RSTP功能

(7)(可选)配置端口的收敛方式。当生成树的拓扑结构发生改变时,和它建立映射关系的VLAN的转发路径也将发生变化。此时,交换设备的ARP表中与这些VLAN相关的表项也需要更新。根据对ARP表项处理方式不同,STP、RSTP的收敛方式分为Fast和Normal两种:在Fast方式下,ARP表将需要更新的表项直接删除;在Normal方式下,ARP表中需要更新的表项快速老化。在Normal方式下,交换设备将ARP表中这些表项的剩余存活时间置为0,对这些表项进行老化处理。如果配置的ARP老化探测次数大于零,则ARP对这些表项进行老化探测。

2、具体配置步骤




三、配置影响STP拓扑收敛的参数

虽然STP不能说笑呢快速收敛,但是诸如网络直径、超时时间、Hello Time定时器、Max Age定时器、Forward Delay定时器等参数会影响其收敛速度。在完成上面的基本功能配置后,可配置这些参数。

1、影响STP拓扑收敛的参数

(1)STP网络直径。交换网络中任意两台终端设备都通过特定路径彼此相连,这些路径由一系列的交换设备构成。网络直径就是指交换网络中任意两台终端设备间的最大交换设备数。网络直径越大,说明网络的规模越大。设置合适的网络直径(通常不要超过7个设备),可以帮助加快网络的收敛速度。建议同一环网中的所有交换设备配置相同的网络直径。

(2)STP超时时间。在运行STP生成树算法的交换网络中,如果交换设备在配置的超时时间内没有收到上游设备发送的BPDU就认为此上游设备已经出现故障,本设备会重新进行生成树计算。可能由于上游设备繁忙,有时设备在较长时间内收不到该上游设备房的BPDU。这种情况下一般不应该重新进行生成树计算,因此在稳定的网络中,可以配置超时时间,以减少网络资源的浪费。

(3)STP定时器。在STP生成树的计算过程中,用到了ForwardDelay、Hello Time和Max Age3个定时器参数。在配置这3个定时器参数时,同一环网中的设备建议配置一致的定时器值。通常情况下,不建议直接调整上述3个时间参数,而是建议通过调整网络直径,使生成树协议自动调整3个参数。

(4)影响链路聚合带宽最大连接数。接口的路径开销是生成树计算的重要依据,路径开销值改变时,会重新进行生成树计算。而接口的路径开销是受带宽影响的,因此可以通过改变接口带宽来影响生成树的计算。当接口是Eth-Trunk的聚合接口时,可配置链路聚合带宽最大连接数,以选择适当的聚合链路。配置的影响带宽的最大连接数仅影响生成树协议计算接口的链路开销,并不影响实际链路带宽。其带宽是由活动接口数决定的。

如下图,设备A与设备B通过两条Eth-Trunk链路相连,Eth-Trunk1含有3条状态为Up的成员链路。假设每条成员链路的带宽都相同,且设备A被选举为根桥,因为Eth-Trunk1的带宽大于Eth-Trunk2的带宽。STP计算后,设备B上Eth-Trunk1端口被选为Root port,Eth-Trunk2端口被选为Alternate port。


但当配置Eth-Trunk1接口影响带宽的最大连接数为1后,STP计算的Eth-Trunk1接口的路径开销大于Eth-Trunk2的开销,将会重新进行生成树计算,设备B上Eth-Trunk1接口将变为Alternate port,Eth-Trunk2变为Root port。

2、具体配置步骤




示例:当没有在交换机上执行stpenable命令时,通过display stp命令在交换机上显示的生成树的状态和统计信息如下:在模拟器上的显示



四、STP配置示例

STP的配置比较简单,因为STP功能缺省是启用的,只不过在需要使用STP协议时,配置生成树模式为STP。其他可根据需要选择配置,包括根桥、备份根桥的指定。通常是建议手工指定根桥和备份根桥,这样可以使自己更加清楚自己交换网络的拓扑结构。


如上拓扑,当前网络中存在由SwitchA、SwitchB、SwitchC和SwitchD构成的环路,因为在SwitchA与SwitchD之间,以及SwitchB与SwitchC之间都存在冗余链路,现在这些交换机上都运行STP协议,通过彼此交互信息发现网络中的环路,并有选择的对某个端口进行阻塞,最终将环形网络结构修剪成无环路的树形网络结构。

1、配置思路分析

只配置STP的基本功能即可。

(1)配置环网中的4台交换机的生成树协议工作在STP模式。

(2)配置根桥和备份根桥设备,此处可指定SwitchA为根桥,SwitchD为备份根桥。

(3)配置端口的路径开销值,实现将该端口阻塞。此处可加大SwitchC的GE0/0/1端口的开销值,以阻塞该端口,使得数据不能从该端口发送。

(4)在四台交换机上使能STP功能。但与PC机相连的端口不用参与STP计算,建议将其去使能STP。

2、具体配置步骤

(1)在4台环网结构中的交换机上配置STP工作模式。

<Huawei>system-view

[Huawei]sysname SwitchA

[SwitchA]stp mode stp

    (2)配置SwitchA为根桥,SwitchD为备份根桥。

[SwitchA]stp root primary

 

[SwitchD]stp root secondary

(3)配置端口的路径开销计算方法,同时将SwitchC上的GE0/0/1端口的开销值增大(大于对应类型端口的路径开销值缺省值),实现将该端口的阻塞。

端口路径开销值取值范围由路径开销计算方法决定,此处以华为私有算法为例。同一网络内所有交换设备的端口路径开销应使用相同的计算方法。

[SwitchA]stp pathcost-standard legacy

    然后增大SwitchC上的GE0/0/1端口的开销值,此处为20000(千兆端口的缺省值为2)。

[SwitchC]interface gigabitethernet 0/0/1

[SwitchC-GigabitEthernet0/0/1]stp cost20000

(4)在4台交换机使能STP功能,以消除二层环路。在此之前要先去使能连接PC上的端口上的STP功能。

[SwitchB]interface gigabitethernet 0/0/2

[SwitchB-GigabitEthernet0/0/2]stp diable

[SwitchB-GigabitEthernet0/0/2]quit

 

[SwitchC]interface gigabitethernet 0/0/2

[SwitchC-GigabitEthernet0/0/2]stp diable

[SwitchC-GigabitEthernet0/0/2]quit

然后在4台交换机上全局使能STP。

[SwitchA] stp enable

稳定后,在SwitchA上执行displaystp Brief命令查看端口状态和端口的保护类型:


    将SwitchA配置为根桥后,与SwitchB、SwitchD相连的GE0/0/2和GE0/0/1端口在生成树计算中被选举为指定端口。可通过在SwitchB上执行display stp interface gigabitethernet 0/0/1 brief命令查看端口状态来验证。


可以看出GE0/0/1端口在生成树选举中已成为指定端口,处于Forwarding状态。

同样在SwitchC上执行display stp brief查看端口状态,可看出GE0/0/3端口在生成树选举中成为根端口,处于Forwarding状态,而GE0/0/1端口在生成树选举中成为了Alternate端口处于Discarding状态。


五、配置影响RSTP拓扑收敛的参数

RSTP在STP基础上进行改进之后,通过配置端口的链路类型、端口是否支持快速迁移机制等,实现快速收敛。

1、影响拓扑收敛的参数

在RSTP中,影响拓扑收敛的参数除了STP中所讲的网络直径、超时时间、三个定时器、影响生成树计算的额链路聚合带宽最大连接数这4个外,还有端口的链路类型、端口的最大发送速率、是否执行MCheck操作、边缘端口和BPDU报文过滤功能启用等几方面。

(1)端口的链路类型

点对点链路可帮助实现快速收敛。在RSTP中,如果与点对点链路相连的两个端口为根端口或指定端口,则端口可以通过传送同步报文(Proposal报文和Agreement报文)快速迁移到转发状态,减少了不必要的转发延迟时间。

(2)端口的BPDU报文最大发送速率

接口在每个Hello Time时间内BPDU的最大发送数目值越大,表示单位时间内发送的BPDU越多,占用的系统资源也越多。适当的配置该值可以限制接口发送BPDU的速度,防止在网络拓扑动荡时,RSTP占用过多的带宽资源。

(3)执行MCheck操作

在运行RSTP的设备上,如果某个接口和另一台运行STP的设备连接,则该接口会自动迁移到STP兼容工作模式。但如果某一时间运行STP的设备被关机或移走(还可能是因为原来STP的交换设备切换为RSTP模式),原来自动迁移到STP兼容工作模式的接口无法自动迁移回RSTP模式。这时就需要在该接口上执行MCheck操作,将接口手工迁移到RSTP模式。

(4)边缘端口和BPDU报文过滤功能

在RSTP里面,位于整个网络的边缘(即不再与其他交换设备连接,而是直接与终端设备直连)的端口叫做边缘端口。边缘端口不接收处理配置BPDU报文,不参与RSTP运算,可以由Disable直接转到Forwarding状态,且不经历时延,就像在端口上将RSTP禁用。

配置为边缘端口后,端口仍然会发送BPDU报文,这可能导致BPDU报文发送到其他网络,引起其他网络产生震荡。因此可以配置边缘端口的BPDU报文过滤功能,使边缘端口不处理、不发送BPDU报文。

边缘端口和BPDU报文过滤功能可以在系统视图下全局配置,也可在具体端口的接口视图下配置,通常是在具体端口的接口视图下。

全局配置后,设备上所有的端口不会主动发送BPDU报文,且均不会主动与对端设备直连端口协商,所有端口均处于转发状态;在接口配置后,对应端口将不处理、不发送BPDU报文,无法成功与对端设备直连端口协商STP协议状态。

2、具体配置步骤




六、配置RSTP保护功能

华为设备支持RSTP保护功能,可根据实际环境任选其中一个或多个。




七、配置设备支持和其他厂商设备互通的参数

在RSTP协议中,网络收敛主要依靠P/A协商机制,但不同厂商设备所支持的P/A机制工作方式不完全一样,这就需要根据其他厂商设备支持的P/A机制选择端口的快速迁移方式。华为交换机的RSTP P/A机制支持以下两种模式。

1、普通方式(Normalmode)

这是一种正常的P/A机制工作方式,双方是通过一对Proposal/Agreement报文进行协商,收到Proposal报文的端口为根端口,并自动进入到Forwarding状态,而收到Agreement报文的端口为指定端口,也自动进入Forwarding状态。流程如下:

(1)上游设备发送Proposal报文,请求进行快速迁移,下游设备在接收后把与上游设备相连的端口设为根端口,并且阻塞所有非边缘端口,然后根端口自动进入Forwarding状态。

(2)然后下游设备回应Agreement报文,上游设备再接收后把与下游设备相连的端口设为指定端口,指定端口进入Forwarding状态。

2、增强模式(Enhancedmode)

这种方式特别适用于不同厂商设备之间的P/A协商。在这种工作方式中,上游设备发送的Proposal报文,在到达下游非同一厂商的设备的根端口时可能不能马上进入Forwarding状态,这时上游设备再发送一个Agreement报文,强制下游设备的根端口进入Forwarding状态。这时下游设备的根端口才可以发送Agreement报文,响应上游设备发送的Proposal报文,使上游设备的指定端口也进入Forwarding状态。流程如下:

(1)首先上游设备发送Proposal报文(Flags字段Bit1位置1的BPDU报文),请求进行快速迁移,下游设备在接收后把与上游设备相连的端口设置为根端口,并阻塞所有非边缘端口(包括根端口)。

(2)然后上游设备继续发送Agreement报文(Flags字段Bit6位置1的BPDU报文),下游设备在接收后强制端口转为Forwarding状态。

(3)最后下游设备回应Agreement报文,上游设备在接收后把与下游设备相连的端口设置为指定端口,并进入Forwarding状态。

配置方法是要直接在其他厂商设备的端口的接口视图下执行stp no-agreement-check命令配置端口使用普通的快速迁移方式。缺省情况下,端口使用增强的快速迁移机制。

八、RSTP功能配置示例


仍以上图拓扑为例,环网中SwitchA、B、C、D都运行RSTP协议,通过彼此交互信息发现网络中的环路,并有选择的对某个端口进行阻塞,最终形成无环路的树形网络结构。

1、配置思路

与STP配置类似,在RSTP中把连接PC的端口直接配置为边缘端口,过滤BPDU报文,同时可配置一些保护功能。

(1)配置环网中的4台交换机的生成树协议工作在RSTP模式。

(2)配置根桥和备份根桥设备,此处可以指定SwitchA为根桥,SwitchD为备份根桥。

(3)配置端口的路径开销值,实现将该端口阻塞。此处可以加大SwitchC的GE0/0/1端口的开销值,以阻塞该端口,使得数据不能从该端口发送。

(4)在4台交换设备上使能RSTP功能。但与PC相连的端口不用参与RSTP计算,配置为边缘端口,并配置BPDU过滤。

(5)在SwitchA的GE1/0/1和GE1/0/2端口上启用根保护功能,使它们总为指定端口,从而使SwitchA总为根桥。

2、具体配置步骤

(1)在4台环网结构中的交换机上配置STP工作模式

<Huawei>system-view

[Huawei]sysname SwitchA

[SwitchA]stp mode rstp

(2)配置SwitchA为根桥,SwitchD为备份根桥

[SwitchA]stp root primary

 

[SwitchD]stp root secondary

(3)配置端口的路径开销计算方法,同时将SwitchC上的GE0/0/1端口的开销值增大(大于对应类型端口的路径开销缺省值),实现将该端口阻塞。

端口路径开销值取值范围由路径开销计算方法决定。

[SwitchA]stp pathcost-standard legacy

然后增大SwitchC上的GE0/0/1端口的开销值,此处为20000(千兆端口缺省值为2)

[SwitchC]interface gigabitethernet 0/0/1

[SwitchC-GigabitEthernet0/0/1]stp cost20000

    (4)把连接PC上的端口配置为边缘端口并配置BPDU过滤。然后使能RSTP功能

[SwitchB] interface gigabitethernet 0/0/2

[SwitchB-GigabitEthernet0/0/2]stpedged-port enable

[SwitchB-GigabitEthernet0/0/2]stpbpud-filter enable

[SwitchB-GigabitEthernet0/0/2]quit

 

[SwitchC] interface gigabitethernet 0/0/2

[SwitchC-GigabitEthernet0/0/2]stpedged-port enable

[SwitchC-GigabitEthernet0/0/2]stpbpud-filter enable

[SwitchC-GigabitEthernet0/0/2]quit

    在4台交换机上全局使能STP。

[SwitchA]stp enable

(5)在SwitchA上配置根保护功能,即在SwitchA的两个指定端口上启用根保护功能,使SwitchA总为根桥。

[SwitchA] interface gigabitethernet 1/0/1

[SwitchA-GigabitEthernet1/0/1]stproot-protection

[SwitchA-GigabitEthernet1/0/1]quit

[SwitchA] interface gigabitethernet 1/0/2

[SwitchA-GigabitEthernet1/0/2]stproot-protection

[SwitchA-GigabitEthernet1/0/2]quit

    网络稳定后,执行displaystp brief命令查看端口状态和端口的保护类型


原创粉丝点击