华为数通--生成树协议实验

STP 实验

实验内容

STP 计算过程

端口状态切换

RSTP 协议的两种工作模式

生成树计算过程

实验目的

帮助读者理解STP 的基本原理和生成树的生成过程

验证STP 端口状态的切换

验证RSTP 协议两种工作模式的互通性

实验环境

Quidway 系列S3026交换机4台,VRP 版本为:

VRP(R)Software,Version3.10(NA),RELEASE0009;

PC 一台,标准网线5根、配置电缆一根;

实验组网图

实验步骤

生成树的计算过程

如上图所示,4台QuidwayS 系列以太网交换机环形互连,2台PC 分别连接到SwitchA 和SwitchB 上。4台交换机MAC 地址分别为:

SwitchA :00e0-fc07-7089

SwicthB :

00e0-fc06-2380

SwitchC :00e0-fc07-7085

SwitchD :00e0-fc06-8200

完成连接一段时间这后,会看到交换机指示灯快速闪烁,说明4台交换机之间转发数据报文,存在环路,可以配置STP 协议避免环路。

STP (SpanningTreeProtocol )是生成树协议的英文缩写。该协议可应用于环路网络,通过一定的算法实现路径冗余,同时将环路网络修剪成无环路的树型网络,从而避免报文在环路网络中的增生和无限循环。

Quidway 以太网交换机所实现的快速生成树协议RSTP (RapidSpanningTreeProtocol )是生成树协议的优化版。其“快速”体现在根端口和指定端口进入转发状态的延时在某种条件下大大缩短,从而缩短了网络拓扑稳定需要的时间。

在Quidway 以太网交换机上启动STP 协议,命令如下:

[SwitchA]stpenable

[SwitchB]stpenable

[SwitchC]stpenable

[SwitchD]stpenable

全网配置RSTP 协议之后,默认情况下,交换机的每一个端口都启用了RSTP 协议。配置完成后,可以看到交换机指示灯不再快速闪烁,说明交换机已经建立了无环路的转发生成树。那么,这棵树到底什么样子呢?我们可以先从理论上来分析,然后我们通过交换机的状态信息来验证我们的理论分析结果。

生成树协议算法实现的具体过程如下:

初始状态

各台交换机的各个端口在初始时会生成以自己为根的配置消息,根路径开销为0,指定交换机ID 为自身交换机ID ,指定端口为本端口。

SwitchA :

端口Ethernet0/1配置消息:

{32768.00e0-fc07-7089,0,32768.00e0-fc07-7089,e0/1}

端口Ethernet0/3配置消息:

{32768.00e0-fc07-7089,0,32768.00e0-fc07-7089,e0/3}

SwitchB :

端口Ethernet0/1配置消息:

{32768.00e0-fc06-2380,0,32768.00e0-fc06-2380,e0/1}

端口Ethernet0/3配置消息:

{32768.00e0-fc06-2380,0,32768.00e0-fc06-2380,e0/3}

SwitchC :

端口Ethernet0/1配置消息:

{32768.00e0-fc07-7085,0,32768.00e0-fc07-7085,e0/1}

端口Ethernet0/3配置消息:

{32768.00e0-fc07-7085,0,32768.00e0-fc07-7085,e0/3}

SwitchD :

端口Ethernet0/1配置消息:

{32768.00e0-fc06-8200,0,32768.00e0-fc06-8200,e0/1}

端口Ethernet0/3配置消息:

{32768.00e0-fc06-8200,0,32768.00e0-fc06-8200,e0/3}

选出最优配置消息,确定根交换机

各台交换机都向外发送自己的配置消息。当某个端口收到比自身的配置消息优先级低的配置消息时,交换机会将接收到的配置消息丢弃,对该端口的配置消息不作任何处理。当端口收到比本端口配置消息优先级高的配置消息的时候,交换机就用接收到的配置消息中的内容替换该端口的配置消息中的内容。然后以太网交换机将该端口的配置消息和交换机上的其它端口的配置消息进行比较,选出最优的配置消息。

配置消息的比较原则是:

树根ID 较小的配置消息优先级高;

若树根ID 相同,则比较根路径开销,比较方法为:用配置消息中的根路径开销加上本端口对应的路径开销之和(设为S ),则S 较小的配置消息优先级较高;

若根路径开销也相同,则依次比较指定交换机ID 、指定端口ID 、接收该配置消息的端口ID 等。

根据比较原则,首先比较各交换机的ID ,由于交换机的ID 由交换机的优先级(缺省值:32768)和交换机的MAC 地址共同组成。起初交换机的优先级都是缺省值。所以,谁的MAC 值最小,谁就是根。很显然,根交换机应该是SwitchB 。可以用以下命令查看配置后的STP 信息:

[SwitchA]displaystp

Protocolmode:IEEERSTP

ThebridgeID(Pri.MAC):32768.00e0-fc07-7089

Thebridgetimes:HelloTime2sec,MaxAge20sec,ForwardDelay15sec

RootbridgeID(Pri.MAC):32768.00e0-fc06-2380

Rootpathcost:200

Bridgebpdu-protection:disabled

[SwitchB]displaystp

Protocolmode:IEEERSTP

ThebridgeID(Pri.MAC):32768.00e0-fc06-2380

Thebridgetimes:HelloTime2sec,MaxAge20sec,ForwardDelay15sec

RootbridgeID(Pri.MAC):32768.00e0-fc06-2380

Rootpathcost:0

Bridgebpdu-protection:disabled

[SwitchC]displaystp

Protocolmode:IEEERSTP

ThebridgeID(Pri.MAC):32768.00e0-fc07-7085

Thebridgetimes:HelloTime2sec,MaxAge20sec,ForwardDelay15sec

RootbridgeID(Pri.MAC):32768.00e0-fc06-2380

Rootpathcost:200

Bridgebpdu-protection:disabled

[SwitchD]displaystp

Protocolmode:IEEERSTP

ThebridgeID(Pri.MAC):32768.00e0-fc06-8200

Thebridgetimes:HelloTime2sec,MaxAge20sec,ForwardDelay15sec

RootbridgeID(Pri.MAC):32768.00e0-fc06-2380

Rootpathcost:400

Bridgebpdu-protection:disabled

我们可以看到,4台交换机都有下面信息:

RootbridgeID(Pri.MAC):32768.00e0-fc06-2380。

所以,根交换机为00e0.fc06.2380,也就是SwitchB ,根交换机默认优先级为32768(默认值,可以配置)。

确定根端口,并阻塞冗余链路,然后更新指定端口的配置消息

交换机接收最优配置消息的那个端口定为根端口,端口配置消息不作改变;其它端口中,如果某端口的配置消息在过程“选出最优配置消息”中更新过,则交换机将此端口阻塞,端口配置消息不变,此端口将不再转发数据,并且只接收但不发送配置消息;如果某端口的配置消息在过程“选出最优配置消息”中没有更新,则交换机就将其定为指定端口,配置消息要作如下改变:树根ID 替换为根端口的配置消息的树

根ID ;根路径开销替换为根端口的配置消息的根路径开销加上根端口对应的路径开销;指定交换机ID 替换为自身交换机的ID ;指定端口ID 替换为自身端口ID 。

本例中各台交换机的比较过程如下:

SwitchA :

端口Ethernet0/1收到SwitchB 的配置消息,SwitchA 发现本端口的配置消息优先级低于接收到的配置消息的优先级,于是更新本端口Ethernet0/1的配置消息。

端口Ethernet0/3收到SwitchD 的配置消息,SwitchA 发现本端口的配置消息优先级高于接收到的配置消息的优先级,就把接收到的配置消息丢弃。

则此时各个端口的配置消息如下:

端口Ethernet0/1配置消息:

{32768.00e0-fc06-2380,200,32768.00e0-fc06-2380,e0/1}

端口Ethernet0/3配置消息:

{32768.00e0-fc07-7089,0,32768.00e0-fc07-7089,e0/3}

SwitchA 对各个端口的配置消息进行比较,选出端口Ethernet0/1的配置消息为最优配置消息,然后将端口Ethernet0/1定为根端口,整台交换机各个端口的配置消息都进行如下更新:

根端口Ethernet0/1配置消息不作改变:{32768.00e0-fc06-2380,200,32768.00e0-fc06-2380,e0/1}。端口Ethernet0/3配置消息中,树根ID 更新为最优配置消息中的树根ID ,根路径开销更新为200,指定交换机ID 更新为本交换机ID ,指定端口ID 更新为本端口ID ,配置消息变为:{32768.00e0-fc06-2380,200,32768.00e0-fc07-7089,e0/3}。然后SwitchA 各个指定端口周期性向外发送自己的配置消息。

[SwitchA]displaystpinterfaceethernet0/1ethernet0/3

Protocolmode:IEEERSTP

ThebridgeID(Pri.MAC):32768.00e0-fc07-7089

Thebridgetimes:HelloTime2sec,MaxAge20sec,ForwardDelay15sec

RootbridgeID(Pri.MAC):32768.00e0-fc06-2380

Rootpathcost:200

Bridgebpdu-protection:disabled

Port1(Ethernet0/1)ofbridgeisForwarding

Portspanningtreeprotocol:enabled

Portrole:RootPort

Portpathcost:200

Portpriority:128

DesignatedbridgeID(Pri.MAC):32768.00e0-fc06-2380

ThePortisanon-edgedport

Connectedtoapoint-to-pointLANsegment

Maximumtransmissionlimitis3Packets/hellotime

Times:HelloTime2sec,MaxAge20sec

ForwardDelay15sec,MessageAge0

BPDUsent:3

TCN:0,RST:3,ConfigBPDU:0

BPDUreceived:681

TCN:0,RST:681,ConfigBPDU:0

Port3(Ethernet0/3)ofbridgeisForwarding

Portspanningtreeprotocol:enabled

Portrole:DesignatedPort

Portpathcost:200

Portpriority:128

DesignatedbridgeID(Pri.MAC):32768.00e0-fc07-7089

ThePortisanon-edgedport

Connectedtoapoint-to-pointLANsegment

Maximumtransmissionlimitis3Packets/hellotime

Times:HelloTime2sec,MaxAge20sec

ForwardDelay15sec,MessageAge1

BPDUsent:670

TCN:0,RST:670,ConfigBPDU:0

BPDUreceived:2

TCN:0,RST:2,ConfigBPDU:0

SwitchB :

端口Ethernet0/1收到SwitchA 的配置消息,SwitchB 发现本端口的配置消息优先级高于接收到的配置消息的优先级,就把接收到的配置消息丢弃。端口Ethernet0/3的配置消息处理过程与端口Ethernet0/1类似。SwitchB 发现自己各个端口的配置消息中树根和指定交换机都是自己,则认为自己是树根,各个端口的配置消息都不作任何修改,以后周期性的向外发送配置消息。此时两个端口的配置消息如下:

端口Ethernet0/1配置消息:{32768.00e0-fc06-2380,0,32768.00e0-fc06-2380,e0/1}

端口Ethernet0/3配置消息:{32768.00e0-fc06-2380,0,32768.00e0-fc06-2380,e0/3}

[SwitchB]displaystpinterfaceethernet0/1ethernet0/3

Protocolmode:IEEERSTP

ThebridgeID(Pri.MAC):32768.00e0-fc06-2380

Thebridgetimes:HelloTime2sec,MaxAge20sec,ForwardDelay15sec

RootbridgeID(Pri.MAC):32768.00e0-fc06-2380

Rootpathcost:0

Bridgebpdu-protection:disabled

Port1(Ethernet0/1)ofbridgeisForwarding

Portspanningtreeprotocol:enabled

Portrole:DesignatedPort

Portpathcost:200

Portpriority:128

DesignatedbridgeID(Pri.MAC):32768.00e0-fc06-2380

ThePortisanon-edgedport

Connectedtoapoint-to-pointLANsegment

Maximumtransmissionlimitis3Packets/hellotime

Times:HelloTime2sec,MaxAge20sec

ForwardDelay15sec,MessageAge0

BPDUsent:927

TCN:0,RST:927,ConfigBPDU:0

BPDUreceived:3

TCN:0,RST:3,ConfigBPDU:0

Port3(Ethernet0/3)ofbridgeisForwarding

Portspanningtreeprotocol:enabled

Portrole:DesignatedPort

Portpathcost:200

Portpriority:128

DesignatedbridgeID(Pri.MAC):32768.00e0-fc06-2380

ThePortisanon-edgedport

Connectedtoapoint-to-pointLANsegment

Maximumtransmissionlimitis3Packets/hellotime

Times:HelloTime2sec,MaxAge20sec

ForwardDelay15sec,MessageAge0

BPDUsent:925

TCN:0,RST:925,ConfigBPDU:0

BPDUreceived:4

TCN:0,RST:4,ConfigBPDU:0

SwitchC :

端口Ethernet0/3收到SwitchB 的配置消息,SwitchC 发现本端口的配置消息优先级低于接收到的配置消息的优先级,于是更新本端口Ethernet0/3的配置消息。

端口Ethernet0/1收到SwitchD 的配置消息,SwitchC 发现本端口的配置消息优先级高于接收到的配置消息的优先级,就把接收到的配置消息丢弃。

则此时各个端口的配置消息如下:

端口Ethernet0/3配置消息:

{32768.00e0-fc06-2380,200,32768.00e0-fc06-2380,e0/3}

端口Ethernet0/1配置消息:

{32768.00e0-fc07-7085,0,32768.00e0-fc07-7085,e0/1}

SwitchC 对各个端口的配置消息进行比较,选出端口Ethernet0/3的配置消息为最优配置消息,然后将端口Ethernet0/3定为根端口,整台交换机各个端口的配置消息都进行如下更新:

根端口Ethernet0/3配置消息不作改变:{32768.00e0-fc06-2380,200,32768.00e0-fc06-2380,e0/3}。端口Ethernet0/1配置消息中,树根ID 更新为最优配置消息中的树根ID ,根路径开销更新为200,指定交换机ID 更新为本交换机ID ,指定端口ID 更新为本端口ID ,配置消息变为:{32768.00e0-fc06-2380,200,32768.00e0-fc07-7085,e0/1}。然后SwitchC 各个指定端口周期性向外发送自己的配置消息。

[SwitchC]displaystpinterfaceethernet0/1ethernet0/3

Protocolmode:IEEERSTP

ThebridgeID(Pri.MAC):32768.00e0-fc07-7085

Thebridgetimes:HelloTime2sec,MaxAge20sec,ForwardDelay15sec

RootbridgeID(Pri.MAC):32768.00e0-fc06-2380

Rootpathcost:200

Bridgebpdu-protection:disabled

Port1(Ethernet0/1)ofbridgeisForwarding

Portspanningtreeprotocol:enabled

Portrole:DesignatedPort

Portpathcost:200

Portpriority:128

DesignatedbridgeID(Pri.MAC):32768.00e0-fc07-7085

ThePortisanon-edgedport

Connectedtoapoint-to-pointLANsegment

Maximumtransmissionlimitis3Packets/hellotime

Times:HelloTime2sec,MaxAge20sec

ForwardDelay15sec,MessageAge1

BPDUsent:1705

TCN:0,RST:1705,ConfigBPDU:0

BPDUreceived:5

TCN:0,RST:5,ConfigBPDU:0

Port3(Ethernet0/3)ofbridgeisForwarding

Portspanningtreeprotocol:enabled

Portrole:RootPort

Portpathcost:200

Portpriority:128

DesignatedbridgeID(Pri.MAC):32768.00e0-fc06-2380

ThePortisanon-edgedport

Connectedtoapoint-to-pointLANsegment

Maximumtransmissionlimitis3Packets/hellotime

Times:HelloTime2sec,MaxAge20sec

ForwardDelay15sec,MessageAge0

BPDUsent:4

TCN:0,RST:4,ConfigBPDU:0

BPDUreceived:1726

TCN:0,RST:1726,ConfigBPDU:0

SwitchD :

端口Ethernet0/3收到SwitchA 的配置消息,SwitchD 发现本端口的配置消息优先级低于接收到的配置消息的优先级,于是更新本端口Ethernet0/3的配置消息:

端口Ethernet0/3配置消息:

{32768.00e0-fc06-2380,400,32768.00e0-fc07-7089,e0/3}

端口Ethernet0/1收到SwitchC 的配置消息,SwitchD 发现本端口的配置消息优先级低于接收到的配置消息的优先级,于是更新本端口Ethernet0/3的配置消息:

端口Ethernet0/1配置消息:

{32768.00e0-fc06-2380,400,32768.00e0-fc07-7085,e0/1}

SwitchD 对各个端口的配置消息进行比较,选出端口Ethernet0/1的配置消息为最优配置消息,然后将端口Ethernet0/1定为根端口,整台交换机各个端口的配置消息都进行如下更新:

根端口Ethernet0/1配置消息不作改变。而端口Ethernet0/3就会被阻塞,端口配置消息也不作改变,同时该端口不接收从SwitchA 转发的数据(不包括STP 的协议报文),直到新的情况发生触发生成树的重新计算,比如从SwitchC 到SwitchD 的链路down 掉,或者端口收到更优的配置消息。

[SwitchD]displaystpinterfaceethernet0/1ethernet0/3

Protocolmode:IEEERSTP

ThebridgeID(Pri.MAC):32768.00e0-fc06-8200

Thebridgetimes:HelloTime2sec,MaxAge20sec,ForwardDelay15sec

RootbridgeID(Pri.MAC):32768.00e0-fc06-2380

Rootpathcost:400

Bridgebpdu-protection:disabled

Port1(Ethernet0/1)ofbridgeisForwarding

Portspanningtreeprotocol:enabled

Portrole:RootPort

Portpathcost:200

Portpriority:128

DesignatedbridgeID(Pri.MAC):32768.00e0-fc07-7085

ThePortisanon-edgedport

Connectedtoapoint-to-pointLANsegment

Maximumtransmissionlimitis3Packets/hellotime

Times:HelloTime2sec,MaxAge20sec

ForwardDelay15sec,MessageAge1

BPDUsent:5

TCN:0,RST:5,ConfigBPDU:0

BPDUreceived:1781

TCN:0,RST:1781,ConfigBPDU:0

Port3(Ethernet0/3)ofbridgeisDiscarding

Portspanningtreeprotocol:enabled

Portrole:AlternatePort

Portpathcost:200

Portpriority:128

DesignatedbridgeID(Pri.MAC):32768.00e0-fc07-7089

ThePortisanon-edgedport

Connectedtoapoint-to-pointLANsegment

Maximumtransmissionlimitis3Packets/hellotime

Times:HelloTime2sec,MaxAge20sec

ForwardDelay15sec,MessageAge1

BPDUsent:3

TCN:0,RST:3,ConfigBPDU:0

BPDUreceived:1781

TCN:0,RST:1781,ConfigBPDU:0

生成树就被确定下来,树根为SwitchB ,树形如下图示:

端口状态切换

如上图所示,生成树稳定状态下,SwitchD 的ethernet0/1处于Forwarding 状态,正常接收BPDU 消息,同时能收发数据包。ethernet0/3处于Discarding 状态,能正常接收BPDU 消息,但是不能收发数据包,下面是相关的端口接发BPDU 消息的情况。

debuggingstppacket

terminaldebugging

%Currentterminaldebuggingison

*0.6680395-RSTP-8-S1-PACKET:

Port3:ReceivedPacket//处于Discarding 状态的端口正常接受BPDU 消息

*0.6680450-RSTP-8-S1-PACKET:

ProtocolIdentifier:0000

ProtocolVersionID:02

BPDUType:02

Flags:2c

RootIdentifier:80.00.00.e0.fc.06.23.80

RootPathCost:00c8

BridgeIdentifier:80.00.00.e0.fc.07.70.89

PortIdentifier:80.03

MessageAge:0100

MaxAge:1400

HelloTime:0200

ForwardDelay:0f00

Version1Length:00

*0.6680979-RSTP-8-S1-PACKET:Port1:ReceivedPacket;处于Forwarding 状态的端口正常接受BPDU 消息

*0.6681040-RSTP-8-S1-PACKET:

ProtocolIdentifier:0000

ProtocolVersionID:02

BPDUType:02

Flags:2c

RootIdentifier:80.00.00.e0.fc.06.23.80

RootPathCost:00c8

BridgeIdentifier:80.00.00.e0.fc.07.70.85

PortIdentifier:80.01

MessageAge:0100

MaxAge:1400

HelloTime:0200

ForwardDelay:0f00

Version1Length:00

*0.6682421-RSTP-8-S1-PACKET:

现在,断开SwitchC 和SwitchD 之间的连线,这样SwitchD 的ethernet0/1端口会down 下来,端口ethernet0/3的状态将会从Discarding 状态转换到Forwarding 状态,承担起数据收发的工作。

以太网交换机所实现的快速生成树协议RSTP (RapidSpanningTreeProtocol )是生成树协议的优化版。其“快速”体现在根端口和指定端口进入转发状态的延时在某种条件下大大缩短,从而缩短了网络拓扑稳定需要的时间。

根端口状态快速迁移的条件是:本交换机上旧的根端口已经停止转发数据,而且上游指定端口已经开始转发数据。

SwitchD 的ethernet0/1端口停止转发数据,上游指定端口SwitchA 的ethernet0/3一直处于转发状态。符合快速转发的条件。SwitchD 的端口ethernet0/3将快速迁移到Forwarding 状态。Debugging 信息如下:

debuggingstppacket

terminaldebugging

Port3:SentPacket

*0.9060586-RSTP-8-S1-PACKET:

ProtocolIdentifier:0000

ProtocolVersionID:02

BPDUType:02

Flags:69

RootIdentifier:80.00.00.e0.fc.06.23.80

RootPathCost:00c8

BridgeIdentifier:80.00.00.e0.fc.07.70.89

PortIdentifier:80.03

MessageAge:0100

MaxAge:1400

HelloTime:0200

ForwardDelay:0f00

Version1Length:00

*0.9061688-RSTP-8-S1-PACKET:

SwitchD 的端口显示信息如下:

displaystpinterfaceethernet0/1ethernet0/3

Protocolmode:IEEERSTP

ThebridgeID(Pri.MAC):32768.00e0-fc06-8200

Thebridgetimes:HelloTime2sec,MaxAge20sec,ForwardDelay15sec

RootbridgeID(Pri.MAC):32768.00e0-fc06-2380

Rootpathcost:400

Bridgebpdu-protection:disabled

Port1(Ethernet0/1)ofbridgeisDOWN;此端口被断开

Portspanningtreeprotocol:enabled

Portrole:DisabledPort

Portpathcost:200000

Portpriority:128

DesignatedbridgeID(Pri.MAC):32768.00e0-fc06-8200

ThePortisanon-edgedport

Connectedtoapoint-to-pointLANsegment

Maximumtransmissionlimitis3Packets/hellotime

Times:HelloTime2sec,MaxAge20sec

ForwardDelay15sec,MessageAge2

BPDUsent:23

TCN:0,RST:23,ConfigBPDU:0

BPDUreceived:4197

TCN:0,RST:4197,ConfigBPDU:0Port3(Ethernet0/3)ofbridgeisForwarding//转换为Forwarding 状态 Portspanningtreeprotocol:enabled

Portrole:RootPort

Portpathcost:200

Portpriority:128

DesignatedbridgeID(Pri.MAC):32768.00e0-fc07-7089

ThePortisanon-edgedport

Connectedtoapoint-to-pointLANsegment

Maximumtransmissionlimitis3Packets/hellotime

Times:HelloTime2sec,MaxAge20sec

ForwardDelay15sec,MessageAge1

BPDUsent:28

TCN:0,RST:28,ConfigBPDU:0

BPDUreceived:4555

TCN:0,RST:4555,ConfigBPDU:0

再次连接好,SwitchD 和SwitchC ,SwitchD 的端口ethernet0/1将再次转换为Forwarding 状态,SwitchD 的端口ethernet0/3也将再次被堵塞。

RSTP 的两种工作模式

以太网交换机所实现的快速生成树协议RSTP (RapidSpanningTreeProtocol )是生成树协议的优化版。RSTP 的工作模式包括两种:RSTP 模式、STP 兼容模式。缺省情况下,RSTP 的工作模式是RSTP 模式,当网络中存在运行STP 的网络设备时,

网络中所有网络设备都运行RSTP 的情况下,运行RSTP 的交换机将工作在RSTP 模式下;如果网络中既存在运行STP 的网络设备同时又存在运行RSTP 的网络设备,则最好将运行RSTP 的交换机设置为工作在STP 兼容模式下。

修改SwitchD 的配置,使其工作在STP 兼容模式下,命令如下:

[SwitchD]stpmodestp

显示SwitchD 的端口信息,验证STP 工作模式和RSTP 工作模式的互通性。

查看STP 信息:

displaystpinterfaceethernet0/1ethernet0/3

Protocolmode:IEEEcompatibleSTP

ThebridgeID(Pri.MAC):32768.00e0-fc06-8200

Thebridgetimes:HelloTime2sec,MaxAge20sec,ForwardDelay15sec

RootbridgeID(Pri.MAC):32768.00e0-fc06-2380;根交换机还是SwitchB 。

Rootpathcost:400

Bridgebpdu-protection:disabled

Port1(Ethernet0/1)ofbridgeisForwarding

Portspanningtreeprotocol:enabled

Portrole:RootPort

Portpathcost:200

Portpriority:128

DesignatedbridgeID(Pri.MAC):32768.00e0-fc07-7085

ThePortisanon-edgedport

Connectedtoapoint-to-pointLANsegment

Maximumtransmissionlimitis3Packets/hellotime

Times:HelloTime2sec,MaxAge20sec

ForwardDelay15sec,MessageAge1

BPDUsent:26

TCN:0,RST:26,ConfigBPDU:0

BPDUreceived:5859

TCN:0,RST:5859,ConfigBPDU:0

Port3(Ethernet0/3)ofbridgeisDiscarding

Portspanningtreeprotocol:enabled

Portrole:AlternatePort

Portpathcost:200

Portpriority:128

DesignatedbridgeID(Pri.MAC):32768.00e0-fc07-7089

ThePortisanon-edgedport

Connectedtoapoint-to-pointLANsegment

Maximumtransmissionlimitis3Packets/hellotime

Times:HelloTime2sec,MaxAge20sec

ForwardDelay15sec,MessageAge1

BPDUsent:28

TCN:0,RST:28,ConfigBPDU:0

BPDUreceived:6870

TCN:0,RST:6870,ConfigBPDU:0

从显示的信息看,根交换机还是SwitchB ,生成树的形状也没有发生变化,SwitchD 的端口ethernet0/1依然处于Forwarding 状态,ethernet0/3依然处于Discarding 状态。

其他配置

最后,关于STP 的一些重要参数,如:可以使用命令:stppriority bridge-priority 修改交换机的优先级,从而控制根交换机的选举,甚至干脆使用命令:stprootprimary 和stprootsecondary 指定根交换机和备份根交换机。可以使用命令:stpcost cost 修改端口的cost 值,从而影响生成树的根端口的选择。也可以使用命令:stpedged-port{enable|disable}配置边缘端口,在生成树的重新计算过程中,边缘端口可以直接迁移到转发状态,减少不必要的迁移时间。

QuidwayS 系列交换机实现的STP 还包括其他很多参数,通过这些参数的适当配置,可以更好地发挥交换机的性能,提高网络稳定性。学员可以在实验中体会,不再详述。

STP 实验

实验内容

STP 计算过程

端口状态切换

RSTP 协议的两种工作模式

生成树计算过程

实验目的

帮助读者理解STP 的基本原理和生成树的生成过程

验证STP 端口状态的切换

验证RSTP 协议两种工作模式的互通性

实验环境

Quidway 系列S3026交换机4台,VRP 版本为:

VRP(R)Software,Version3.10(NA),RELEASE0009;

PC 一台,标准网线5根、配置电缆一根;

实验组网图

实验步骤

生成树的计算过程

如上图所示,4台QuidwayS 系列以太网交换机环形互连,2台PC 分别连接到SwitchA 和SwitchB 上。4台交换机MAC 地址分别为:

SwitchA :00e0-fc07-7089

SwicthB :

00e0-fc06-2380

SwitchC :00e0-fc07-7085

SwitchD :00e0-fc06-8200

完成连接一段时间这后,会看到交换机指示灯快速闪烁,说明4台交换机之间转发数据报文,存在环路,可以配置STP 协议避免环路。

STP (SpanningTreeProtocol )是生成树协议的英文缩写。该协议可应用于环路网络,通过一定的算法实现路径冗余,同时将环路网络修剪成无环路的树型网络,从而避免报文在环路网络中的增生和无限循环。

Quidway 以太网交换机所实现的快速生成树协议RSTP (RapidSpanningTreeProtocol )是生成树协议的优化版。其“快速”体现在根端口和指定端口进入转发状态的延时在某种条件下大大缩短,从而缩短了网络拓扑稳定需要的时间。

在Quidway 以太网交换机上启动STP 协议,命令如下:

[SwitchA]stpenable

[SwitchB]stpenable

[SwitchC]stpenable

[SwitchD]stpenable

全网配置RSTP 协议之后,默认情况下,交换机的每一个端口都启用了RSTP 协议。配置完成后,可以看到交换机指示灯不再快速闪烁,说明交换机已经建立了无环路的转发生成树。那么,这棵树到底什么样子呢?我们可以先从理论上来分析,然后我们通过交换机的状态信息来验证我们的理论分析结果。

生成树协议算法实现的具体过程如下:

初始状态

各台交换机的各个端口在初始时会生成以自己为根的配置消息,根路径开销为0,指定交换机ID 为自身交换机ID ,指定端口为本端口。

SwitchA :

端口Ethernet0/1配置消息:

{32768.00e0-fc07-7089,0,32768.00e0-fc07-7089,e0/1}

端口Ethernet0/3配置消息:

{32768.00e0-fc07-7089,0,32768.00e0-fc07-7089,e0/3}

SwitchB :

端口Ethernet0/1配置消息:

{32768.00e0-fc06-2380,0,32768.00e0-fc06-2380,e0/1}

端口Ethernet0/3配置消息:

{32768.00e0-fc06-2380,0,32768.00e0-fc06-2380,e0/3}

SwitchC :

端口Ethernet0/1配置消息:

{32768.00e0-fc07-7085,0,32768.00e0-fc07-7085,e0/1}

端口Ethernet0/3配置消息:

{32768.00e0-fc07-7085,0,32768.00e0-fc07-7085,e0/3}

SwitchD :

端口Ethernet0/1配置消息:

{32768.00e0-fc06-8200,0,32768.00e0-fc06-8200,e0/1}

端口Ethernet0/3配置消息:

{32768.00e0-fc06-8200,0,32768.00e0-fc06-8200,e0/3}

选出最优配置消息,确定根交换机

各台交换机都向外发送自己的配置消息。当某个端口收到比自身的配置消息优先级低的配置消息时,交换机会将接收到的配置消息丢弃,对该端口的配置消息不作任何处理。当端口收到比本端口配置消息优先级高的配置消息的时候,交换机就用接收到的配置消息中的内容替换该端口的配置消息中的内容。然后以太网交换机将该端口的配置消息和交换机上的其它端口的配置消息进行比较,选出最优的配置消息。

配置消息的比较原则是:

树根ID 较小的配置消息优先级高;

若树根ID 相同,则比较根路径开销,比较方法为:用配置消息中的根路径开销加上本端口对应的路径开销之和(设为S ),则S 较小的配置消息优先级较高;

若根路径开销也相同,则依次比较指定交换机ID 、指定端口ID 、接收该配置消息的端口ID 等。

根据比较原则,首先比较各交换机的ID ,由于交换机的ID 由交换机的优先级(缺省值:32768)和交换机的MAC 地址共同组成。起初交换机的优先级都是缺省值。所以,谁的MAC 值最小,谁就是根。很显然,根交换机应该是SwitchB 。可以用以下命令查看配置后的STP 信息:

[SwitchA]displaystp

Protocolmode:IEEERSTP

ThebridgeID(Pri.MAC):32768.00e0-fc07-7089

Thebridgetimes:HelloTime2sec,MaxAge20sec,ForwardDelay15sec

RootbridgeID(Pri.MAC):32768.00e0-fc06-2380

Rootpathcost:200

Bridgebpdu-protection:disabled

[SwitchB]displaystp

Protocolmode:IEEERSTP

ThebridgeID(Pri.MAC):32768.00e0-fc06-2380

Thebridgetimes:HelloTime2sec,MaxAge20sec,ForwardDelay15sec

RootbridgeID(Pri.MAC):32768.00e0-fc06-2380

Rootpathcost:0

Bridgebpdu-protection:disabled

[SwitchC]displaystp

Protocolmode:IEEERSTP

ThebridgeID(Pri.MAC):32768.00e0-fc07-7085

Thebridgetimes:HelloTime2sec,MaxAge20sec,ForwardDelay15sec

RootbridgeID(Pri.MAC):32768.00e0-fc06-2380

Rootpathcost:200

Bridgebpdu-protection:disabled

[SwitchD]displaystp

Protocolmode:IEEERSTP

ThebridgeID(Pri.MAC):32768.00e0-fc06-8200

Thebridgetimes:HelloTime2sec,MaxAge20sec,ForwardDelay15sec

RootbridgeID(Pri.MAC):32768.00e0-fc06-2380

Rootpathcost:400

Bridgebpdu-protection:disabled

我们可以看到,4台交换机都有下面信息:

RootbridgeID(Pri.MAC):32768.00e0-fc06-2380。

所以,根交换机为00e0.fc06.2380,也就是SwitchB ,根交换机默认优先级为32768(默认值,可以配置)。

确定根端口,并阻塞冗余链路,然后更新指定端口的配置消息

交换机接收最优配置消息的那个端口定为根端口,端口配置消息不作改变;其它端口中,如果某端口的配置消息在过程“选出最优配置消息”中更新过,则交换机将此端口阻塞,端口配置消息不变,此端口将不再转发数据,并且只接收但不发送配置消息;如果某端口的配置消息在过程“选出最优配置消息”中没有更新,则交换机就将其定为指定端口,配置消息要作如下改变:树根ID 替换为根端口的配置消息的树

根ID ;根路径开销替换为根端口的配置消息的根路径开销加上根端口对应的路径开销;指定交换机ID 替换为自身交换机的ID ;指定端口ID 替换为自身端口ID 。

本例中各台交换机的比较过程如下:

SwitchA :

端口Ethernet0/1收到SwitchB 的配置消息,SwitchA 发现本端口的配置消息优先级低于接收到的配置消息的优先级,于是更新本端口Ethernet0/1的配置消息。

端口Ethernet0/3收到SwitchD 的配置消息,SwitchA 发现本端口的配置消息优先级高于接收到的配置消息的优先级,就把接收到的配置消息丢弃。

则此时各个端口的配置消息如下:

端口Ethernet0/1配置消息:

{32768.00e0-fc06-2380,200,32768.00e0-fc06-2380,e0/1}

端口Ethernet0/3配置消息:

{32768.00e0-fc07-7089,0,32768.00e0-fc07-7089,e0/3}

SwitchA 对各个端口的配置消息进行比较,选出端口Ethernet0/1的配置消息为最优配置消息,然后将端口Ethernet0/1定为根端口,整台交换机各个端口的配置消息都进行如下更新:

根端口Ethernet0/1配置消息不作改变:{32768.00e0-fc06-2380,200,32768.00e0-fc06-2380,e0/1}。端口Ethernet0/3配置消息中,树根ID 更新为最优配置消息中的树根ID ,根路径开销更新为200,指定交换机ID 更新为本交换机ID ,指定端口ID 更新为本端口ID ,配置消息变为:{32768.00e0-fc06-2380,200,32768.00e0-fc07-7089,e0/3}。然后SwitchA 各个指定端口周期性向外发送自己的配置消息。

[SwitchA]displaystpinterfaceethernet0/1ethernet0/3

Protocolmode:IEEERSTP

ThebridgeID(Pri.MAC):32768.00e0-fc07-7089

Thebridgetimes:HelloTime2sec,MaxAge20sec,ForwardDelay15sec

RootbridgeID(Pri.MAC):32768.00e0-fc06-2380

Rootpathcost:200

Bridgebpdu-protection:disabled

Port1(Ethernet0/1)ofbridgeisForwarding

Portspanningtreeprotocol:enabled

Portrole:RootPort

Portpathcost:200

Portpriority:128

DesignatedbridgeID(Pri.MAC):32768.00e0-fc06-2380

ThePortisanon-edgedport

Connectedtoapoint-to-pointLANsegment

Maximumtransmissionlimitis3Packets/hellotime

Times:HelloTime2sec,MaxAge20sec

ForwardDelay15sec,MessageAge0

BPDUsent:3

TCN:0,RST:3,ConfigBPDU:0

BPDUreceived:681

TCN:0,RST:681,ConfigBPDU:0

Port3(Ethernet0/3)ofbridgeisForwarding

Portspanningtreeprotocol:enabled

Portrole:DesignatedPort

Portpathcost:200

Portpriority:128

DesignatedbridgeID(Pri.MAC):32768.00e0-fc07-7089

ThePortisanon-edgedport

Connectedtoapoint-to-pointLANsegment

Maximumtransmissionlimitis3Packets/hellotime

Times:HelloTime2sec,MaxAge20sec

ForwardDelay15sec,MessageAge1

BPDUsent:670

TCN:0,RST:670,ConfigBPDU:0

BPDUreceived:2

TCN:0,RST:2,ConfigBPDU:0

SwitchB :

端口Ethernet0/1收到SwitchA 的配置消息,SwitchB 发现本端口的配置消息优先级高于接收到的配置消息的优先级,就把接收到的配置消息丢弃。端口Ethernet0/3的配置消息处理过程与端口Ethernet0/1类似。SwitchB 发现自己各个端口的配置消息中树根和指定交换机都是自己,则认为自己是树根,各个端口的配置消息都不作任何修改,以后周期性的向外发送配置消息。此时两个端口的配置消息如下:

端口Ethernet0/1配置消息:{32768.00e0-fc06-2380,0,32768.00e0-fc06-2380,e0/1}

端口Ethernet0/3配置消息:{32768.00e0-fc06-2380,0,32768.00e0-fc06-2380,e0/3}

[SwitchB]displaystpinterfaceethernet0/1ethernet0/3

Protocolmode:IEEERSTP

ThebridgeID(Pri.MAC):32768.00e0-fc06-2380

Thebridgetimes:HelloTime2sec,MaxAge20sec,ForwardDelay15sec

RootbridgeID(Pri.MAC):32768.00e0-fc06-2380

Rootpathcost:0

Bridgebpdu-protection:disabled

Port1(Ethernet0/1)ofbridgeisForwarding

Portspanningtreeprotocol:enabled

Portrole:DesignatedPort

Portpathcost:200

Portpriority:128

DesignatedbridgeID(Pri.MAC):32768.00e0-fc06-2380

ThePortisanon-edgedport

Connectedtoapoint-to-pointLANsegment

Maximumtransmissionlimitis3Packets/hellotime

Times:HelloTime2sec,MaxAge20sec

ForwardDelay15sec,MessageAge0

BPDUsent:927

TCN:0,RST:927,ConfigBPDU:0

BPDUreceived:3

TCN:0,RST:3,ConfigBPDU:0

Port3(Ethernet0/3)ofbridgeisForwarding

Portspanningtreeprotocol:enabled

Portrole:DesignatedPort

Portpathcost:200

Portpriority:128

DesignatedbridgeID(Pri.MAC):32768.00e0-fc06-2380

ThePortisanon-edgedport

Connectedtoapoint-to-pointLANsegment

Maximumtransmissionlimitis3Packets/hellotime

Times:HelloTime2sec,MaxAge20sec

ForwardDelay15sec,MessageAge0

BPDUsent:925

TCN:0,RST:925,ConfigBPDU:0

BPDUreceived:4

TCN:0,RST:4,ConfigBPDU:0

SwitchC :

端口Ethernet0/3收到SwitchB 的配置消息,SwitchC 发现本端口的配置消息优先级低于接收到的配置消息的优先级,于是更新本端口Ethernet0/3的配置消息。

端口Ethernet0/1收到SwitchD 的配置消息,SwitchC 发现本端口的配置消息优先级高于接收到的配置消息的优先级,就把接收到的配置消息丢弃。

则此时各个端口的配置消息如下:

端口Ethernet0/3配置消息:

{32768.00e0-fc06-2380,200,32768.00e0-fc06-2380,e0/3}

端口Ethernet0/1配置消息:

{32768.00e0-fc07-7085,0,32768.00e0-fc07-7085,e0/1}

SwitchC 对各个端口的配置消息进行比较,选出端口Ethernet0/3的配置消息为最优配置消息,然后将端口Ethernet0/3定为根端口,整台交换机各个端口的配置消息都进行如下更新:

根端口Ethernet0/3配置消息不作改变:{32768.00e0-fc06-2380,200,32768.00e0-fc06-2380,e0/3}。端口Ethernet0/1配置消息中,树根ID 更新为最优配置消息中的树根ID ,根路径开销更新为200,指定交换机ID 更新为本交换机ID ,指定端口ID 更新为本端口ID ,配置消息变为:{32768.00e0-fc06-2380,200,32768.00e0-fc07-7085,e0/1}。然后SwitchC 各个指定端口周期性向外发送自己的配置消息。

[SwitchC]displaystpinterfaceethernet0/1ethernet0/3

Protocolmode:IEEERSTP

ThebridgeID(Pri.MAC):32768.00e0-fc07-7085

Thebridgetimes:HelloTime2sec,MaxAge20sec,ForwardDelay15sec

RootbridgeID(Pri.MAC):32768.00e0-fc06-2380

Rootpathcost:200

Bridgebpdu-protection:disabled

Port1(Ethernet0/1)ofbridgeisForwarding

Portspanningtreeprotocol:enabled

Portrole:DesignatedPort

Portpathcost:200

Portpriority:128

DesignatedbridgeID(Pri.MAC):32768.00e0-fc07-7085

ThePortisanon-edgedport

Connectedtoapoint-to-pointLANsegment

Maximumtransmissionlimitis3Packets/hellotime

Times:HelloTime2sec,MaxAge20sec

ForwardDelay15sec,MessageAge1

BPDUsent:1705

TCN:0,RST:1705,ConfigBPDU:0

BPDUreceived:5

TCN:0,RST:5,ConfigBPDU:0

Port3(Ethernet0/3)ofbridgeisForwarding

Portspanningtreeprotocol:enabled

Portrole:RootPort

Portpathcost:200

Portpriority:128

DesignatedbridgeID(Pri.MAC):32768.00e0-fc06-2380

ThePortisanon-edgedport

Connectedtoapoint-to-pointLANsegment

Maximumtransmissionlimitis3Packets/hellotime

Times:HelloTime2sec,MaxAge20sec

ForwardDelay15sec,MessageAge0

BPDUsent:4

TCN:0,RST:4,ConfigBPDU:0

BPDUreceived:1726

TCN:0,RST:1726,ConfigBPDU:0

SwitchD :

端口Ethernet0/3收到SwitchA 的配置消息,SwitchD 发现本端口的配置消息优先级低于接收到的配置消息的优先级,于是更新本端口Ethernet0/3的配置消息:

端口Ethernet0/3配置消息:

{32768.00e0-fc06-2380,400,32768.00e0-fc07-7089,e0/3}

端口Ethernet0/1收到SwitchC 的配置消息,SwitchD 发现本端口的配置消息优先级低于接收到的配置消息的优先级,于是更新本端口Ethernet0/3的配置消息:

端口Ethernet0/1配置消息:

{32768.00e0-fc06-2380,400,32768.00e0-fc07-7085,e0/1}

SwitchD 对各个端口的配置消息进行比较,选出端口Ethernet0/1的配置消息为最优配置消息,然后将端口Ethernet0/1定为根端口,整台交换机各个端口的配置消息都进行如下更新:

根端口Ethernet0/1配置消息不作改变。而端口Ethernet0/3就会被阻塞,端口配置消息也不作改变,同时该端口不接收从SwitchA 转发的数据(不包括STP 的协议报文),直到新的情况发生触发生成树的重新计算,比如从SwitchC 到SwitchD 的链路down 掉,或者端口收到更优的配置消息。

[SwitchD]displaystpinterfaceethernet0/1ethernet0/3

Protocolmode:IEEERSTP

ThebridgeID(Pri.MAC):32768.00e0-fc06-8200

Thebridgetimes:HelloTime2sec,MaxAge20sec,ForwardDelay15sec

RootbridgeID(Pri.MAC):32768.00e0-fc06-2380

Rootpathcost:400

Bridgebpdu-protection:disabled

Port1(Ethernet0/1)ofbridgeisForwarding

Portspanningtreeprotocol:enabled

Portrole:RootPort

Portpathcost:200

Portpriority:128

DesignatedbridgeID(Pri.MAC):32768.00e0-fc07-7085

ThePortisanon-edgedport

Connectedtoapoint-to-pointLANsegment

Maximumtransmissionlimitis3Packets/hellotime

Times:HelloTime2sec,MaxAge20sec

ForwardDelay15sec,MessageAge1

BPDUsent:5

TCN:0,RST:5,ConfigBPDU:0

BPDUreceived:1781

TCN:0,RST:1781,ConfigBPDU:0

Port3(Ethernet0/3)ofbridgeisDiscarding

Portspanningtreeprotocol:enabled

Portrole:AlternatePort

Portpathcost:200

Portpriority:128

DesignatedbridgeID(Pri.MAC):32768.00e0-fc07-7089

ThePortisanon-edgedport

Connectedtoapoint-to-pointLANsegment

Maximumtransmissionlimitis3Packets/hellotime

Times:HelloTime2sec,MaxAge20sec

ForwardDelay15sec,MessageAge1

BPDUsent:3

TCN:0,RST:3,ConfigBPDU:0

BPDUreceived:1781

TCN:0,RST:1781,ConfigBPDU:0

生成树就被确定下来,树根为SwitchB ,树形如下图示:

端口状态切换

如上图所示,生成树稳定状态下,SwitchD 的ethernet0/1处于Forwarding 状态,正常接收BPDU 消息,同时能收发数据包。ethernet0/3处于Discarding 状态,能正常接收BPDU 消息,但是不能收发数据包,下面是相关的端口接发BPDU 消息的情况。

debuggingstppacket

terminaldebugging

%Currentterminaldebuggingison

*0.6680395-RSTP-8-S1-PACKET:

Port3:ReceivedPacket//处于Discarding 状态的端口正常接受BPDU 消息

*0.6680450-RSTP-8-S1-PACKET:

ProtocolIdentifier:0000

ProtocolVersionID:02

BPDUType:02

Flags:2c

RootIdentifier:80.00.00.e0.fc.06.23.80

RootPathCost:00c8

BridgeIdentifier:80.00.00.e0.fc.07.70.89

PortIdentifier:80.03

MessageAge:0100

MaxAge:1400

HelloTime:0200

ForwardDelay:0f00

Version1Length:00

*0.6680979-RSTP-8-S1-PACKET:Port1:ReceivedPacket;处于Forwarding 状态的端口正常接受BPDU 消息

*0.6681040-RSTP-8-S1-PACKET:

ProtocolIdentifier:0000

ProtocolVersionID:02

BPDUType:02

Flags:2c

RootIdentifier:80.00.00.e0.fc.06.23.80

RootPathCost:00c8

BridgeIdentifier:80.00.00.e0.fc.07.70.85

PortIdentifier:80.01

MessageAge:0100

MaxAge:1400

HelloTime:0200

ForwardDelay:0f00

Version1Length:00

*0.6682421-RSTP-8-S1-PACKET:

现在,断开SwitchC 和SwitchD 之间的连线,这样SwitchD 的ethernet0/1端口会down 下来,端口ethernet0/3的状态将会从Discarding 状态转换到Forwarding 状态,承担起数据收发的工作。

以太网交换机所实现的快速生成树协议RSTP (RapidSpanningTreeProtocol )是生成树协议的优化版。其“快速”体现在根端口和指定端口进入转发状态的延时在某种条件下大大缩短,从而缩短了网络拓扑稳定需要的时间。

根端口状态快速迁移的条件是:本交换机上旧的根端口已经停止转发数据,而且上游指定端口已经开始转发数据。

SwitchD 的ethernet0/1端口停止转发数据,上游指定端口SwitchA 的ethernet0/3一直处于转发状态。符合快速转发的条件。SwitchD 的端口ethernet0/3将快速迁移到Forwarding 状态。Debugging 信息如下:

debuggingstppacket

terminaldebugging

Port3:SentPacket

*0.9060586-RSTP-8-S1-PACKET:

ProtocolIdentifier:0000

ProtocolVersionID:02

BPDUType:02

Flags:69

RootIdentifier:80.00.00.e0.fc.06.23.80

RootPathCost:00c8

BridgeIdentifier:80.00.00.e0.fc.07.70.89

PortIdentifier:80.03

MessageAge:0100

MaxAge:1400

HelloTime:0200

ForwardDelay:0f00

Version1Length:00

*0.9061688-RSTP-8-S1-PACKET:

SwitchD 的端口显示信息如下:

displaystpinterfaceethernet0/1ethernet0/3

Protocolmode:IEEERSTP

ThebridgeID(Pri.MAC):32768.00e0-fc06-8200

Thebridgetimes:HelloTime2sec,MaxAge20sec,ForwardDelay15sec

RootbridgeID(Pri.MAC):32768.00e0-fc06-2380

Rootpathcost:400

Bridgebpdu-protection:disabled

Port1(Ethernet0/1)ofbridgeisDOWN;此端口被断开

Portspanningtreeprotocol:enabled

Portrole:DisabledPort

Portpathcost:200000

Portpriority:128

DesignatedbridgeID(Pri.MAC):32768.00e0-fc06-8200

ThePortisanon-edgedport

Connectedtoapoint-to-pointLANsegment

Maximumtransmissionlimitis3Packets/hellotime

Times:HelloTime2sec,MaxAge20sec

ForwardDelay15sec,MessageAge2

BPDUsent:23

TCN:0,RST:23,ConfigBPDU:0

BPDUreceived:4197

TCN:0,RST:4197,ConfigBPDU:0Port3(Ethernet0/3)ofbridgeisForwarding//转换为Forwarding 状态 Portspanningtreeprotocol:enabled

Portrole:RootPort

Portpathcost:200

Portpriority:128

DesignatedbridgeID(Pri.MAC):32768.00e0-fc07-7089

ThePortisanon-edgedport

Connectedtoapoint-to-pointLANsegment

Maximumtransmissionlimitis3Packets/hellotime

Times:HelloTime2sec,MaxAge20sec

ForwardDelay15sec,MessageAge1

BPDUsent:28

TCN:0,RST:28,ConfigBPDU:0

BPDUreceived:4555

TCN:0,RST:4555,ConfigBPDU:0

再次连接好,SwitchD 和SwitchC ,SwitchD 的端口ethernet0/1将再次转换为Forwarding 状态,SwitchD 的端口ethernet0/3也将再次被堵塞。

RSTP 的两种工作模式

以太网交换机所实现的快速生成树协议RSTP (RapidSpanningTreeProtocol )是生成树协议的优化版。RSTP 的工作模式包括两种:RSTP 模式、STP 兼容模式。缺省情况下,RSTP 的工作模式是RSTP 模式,当网络中存在运行STP 的网络设备时,

网络中所有网络设备都运行RSTP 的情况下,运行RSTP 的交换机将工作在RSTP 模式下;如果网络中既存在运行STP 的网络设备同时又存在运行RSTP 的网络设备,则最好将运行RSTP 的交换机设置为工作在STP 兼容模式下。

修改SwitchD 的配置,使其工作在STP 兼容模式下,命令如下:

[SwitchD]stpmodestp

显示SwitchD 的端口信息,验证STP 工作模式和RSTP 工作模式的互通性。

查看STP 信息:

displaystpinterfaceethernet0/1ethernet0/3

Protocolmode:IEEEcompatibleSTP

ThebridgeID(Pri.MAC):32768.00e0-fc06-8200

Thebridgetimes:HelloTime2sec,MaxAge20sec,ForwardDelay15sec

RootbridgeID(Pri.MAC):32768.00e0-fc06-2380;根交换机还是SwitchB 。

Rootpathcost:400

Bridgebpdu-protection:disabled

Port1(Ethernet0/1)ofbridgeisForwarding

Portspanningtreeprotocol:enabled

Portrole:RootPort

Portpathcost:200

Portpriority:128

DesignatedbridgeID(Pri.MAC):32768.00e0-fc07-7085

ThePortisanon-edgedport

Connectedtoapoint-to-pointLANsegment

Maximumtransmissionlimitis3Packets/hellotime

Times:HelloTime2sec,MaxAge20sec

ForwardDelay15sec,MessageAge1

BPDUsent:26

TCN:0,RST:26,ConfigBPDU:0

BPDUreceived:5859

TCN:0,RST:5859,ConfigBPDU:0

Port3(Ethernet0/3)ofbridgeisDiscarding

Portspanningtreeprotocol:enabled

Portrole:AlternatePort

Portpathcost:200

Portpriority:128

DesignatedbridgeID(Pri.MAC):32768.00e0-fc07-7089

ThePortisanon-edgedport

Connectedtoapoint-to-pointLANsegment

Maximumtransmissionlimitis3Packets/hellotime

Times:HelloTime2sec,MaxAge20sec

ForwardDelay15sec,MessageAge1

BPDUsent:28

TCN:0,RST:28,ConfigBPDU:0

BPDUreceived:6870

TCN:0,RST:6870,ConfigBPDU:0

从显示的信息看,根交换机还是SwitchB ,生成树的形状也没有发生变化,SwitchD 的端口ethernet0/1依然处于Forwarding 状态,ethernet0/3依然处于Discarding 状态。

其他配置

最后,关于STP 的一些重要参数,如:可以使用命令:stppriority bridge-priority 修改交换机的优先级,从而控制根交换机的选举,甚至干脆使用命令:stprootprimary 和stprootsecondary 指定根交换机和备份根交换机。可以使用命令:stpcost cost 修改端口的cost 值,从而影响生成树的根端口的选择。也可以使用命令:stpedged-port{enable|disable}配置边缘端口,在生成树的重新计算过程中,边缘端口可以直接迁移到转发状态,减少不必要的迁移时间。

QuidwayS 系列交换机实现的STP 还包括其他很多参数,通过这些参数的适当配置,可以更好地发挥交换机的性能,提高网络稳定性。学员可以在实验中体会,不再详述。


相关内容

  • 网络安全应用实训报告
  • 安全技术及应用实训 项目二:网络安全应用实训项目 报告 目 录 任务1 知识剖析 ........................................................................................................... 1 ...

  • 不可忽视物联网的安全问题
  • 不可忽视物联网的安全问题 物联网产业蒸蒸日上,然而在繁荣景象背后,物联网的安全危机正日渐显现.因为网络本身是存在安全隐患的,更何况分布随机的传感信息网络.无处不在的无线网络,更是为各种网络攻击提供了广阔的土壤.物联网面临的安全隐患比互联网更加严峻,而且物联网是越普及,不安全的后果越严重.如果处理不好 ...

  • 生成树协议配置.快速生成树协议的配置
  • <交换与路由技术>实验报告书 班级: 姓名: 学号:交换与路由 课程名称 技术 指导教师 一.实验目的 模块5.1 生成树协议配置 (1)熟悉生成树协议基本原理. (2)掌握生成树协议配置方法. 模块5.2 快速生成树协议的配置 (1)熟悉快速生成树协议工作原理. (2)掌握快速生成树协 ...

  • 教学质量整改报告
  • xx小学的业务领导以及教师代表在xx校长的带领下,结合局会议精神及学校的教学实际,认真地剖析了学校教学质量提高速度缓慢的原因,查找了课堂教学的不足和管理中的缺陷,并对下一步如何加强教学管理,优化教师队伍,提高教学质量,拟订了整改措施,并且已经执行.具体内容如下: 一. 查摆了教学中存在的问题: 1. ...

  • 中学2011年春季工作总结
  • 年光似鸟翩翩飞,白中形势局局新。过去的一年里,在县局的正确领导下,在中心学校的直接领带下,在陈李锋校长的率领下,白中人抢抓机遇,准确定位,以学生为本,深化课堂教学改革,全面推进素质教育,克难奋进,苦心经营,硕果累累。今年中考,陈前同学以631分,全县前十位的优异成绩被黄高录取,这是我校第17个黄高生 ...

  • 解读用重金属盐沉淀蛋白质遇到的几个问题
  • 2009年,第8期问题解答与讨论103 解读用重金属盐沉淀蛋白质遇到的几个问题 刘怀乐 (巴蜀中学,重庆400013) 文章编号:1005-6629(2009)08-0103-02 中图分类号:G633.8 文献标识码:B 大家知道,用CuSO 4.Pb(Ac)2.AgNO 3.HgCl 2等重金属 ...

  • 电子商务安全期末考试复习题
  • 1.MAC:由只有通信双方知道的秘密密钥K来控制的消息的散列值. 2.数字信封:用对称密码体制的密钥加密明文,而用公钥密码体制的公钥加密这个对称密钥. 3.数字证书:就是公钥证书,包含有用户身份信息.用户公钥以及一个可信第三方认证机构CA的数字签名的数据文件,其中CA的数字签名可以确保用户公钥的真实 ...

  • 赴某实验中学听课后的收获
  • 赴某实验中学听课后的收获.感想和几点思考 金秋送爽,也为我们送来了赴某实验中学听课的好消息.这无疑为我们这些将来要踏上教学岗位的"潜在新手教师"提供了一个学习交流的好机会. 优秀的教师,精品的课程,使我受益良多,感慨万千.再次回到高中课堂,我还能像一名真正的学生一样完全沉浸在其中 ...

  • 企业信息门户单点登录系统的实现
  • 计 算 机 工 程 第 31 卷 第17期 Vol.31 № 17 Computer Engineering · ·网络与通信 文章编号:1000-3428(2005)17-102-03 文献标识码:A 2005年9月 September2005 中图分类号:TP18 企业信息门户单点登录系统的实现 ...