文章目录

  • ​​小型交换网络​​
  • ​​链路冗余与环路问题​​
  • ​​生成树协议STP(Spanning Tree Protocol)​​
  • ​​根桥选举​​
  • ​​根端口选举​​
  • ​​指定端口选举​​
  • ​​STP下交换机端口状态​​
  • ​​BPDU​​
  • ​​根桥故障​​
  • ​​直接链路故障​​
  • ​​非直连链路故障​​
  • ​​拓扑改变导致MAC地址表错误​​
  • ​​STP模式​​
  • ​​配置桥优先级​​
  • ​​配置路径开销​​

小型交换网络

随着企业网络的发展,越来越多的用户需要接入到网络,交换机提供的大量的接入端口能够很好地满足这种需求。同时,交换机也彻底解决了困扰早期以太网的冲突问题,极大地提升了以太网的性能,同时也提高了以太网的安全性。
交换机工作在数据链路层,在收到数据帧后,交换机会根据数据帧的头部信息对数据帧进行转发。

交换机的报文转发逻辑
交换机中有一个MAC地址表,里面存放了MAC地址与交换机端口的映射关系。MAC地址表也称为CAM(Content Addressable Memory)表。
交换机对帧的转发操作行为一共有三种:泛洪(Flooding),转发(Forwarding),丢弃(Discarding)。
泛洪:交换机把从某一端口进来的帧通过所有(除了这个帧进入交换机的那个端口)其它的端口转发出去
转发:交换机把从某一端口进来的帧通过另一个端口转发出去(注意,“另一个端口”不能是这个帧进入交换机的那个端口)。
丢弃:交换机把从某一端口进来的帧直接丢弃。
交换机的基本工作原理可以概括地描述如下:
如果进入交换机的是一个单播帧,则交换机会去MAC地址表中查找这个帧的目的MAC地址。
1)如果查不到这个MAC地址,则交换机执行泛洪操作。
2)如果查到了这个MAC地址,则比较这个MAC地址在MAC地址表中对应的端口是不是这个帧进入交换机的那个端口。如果不是,则交换机执行转发操作。如果是,则交换机执行丢弃操作。
如果进入交换机的是一个广播帧,则交换机不会去查MAC地址表,而是直接执行泛洪操作。
如果进入交换机的是一个组播帧,则交换机的处理行为比较复杂,不做深入讨论。
交换机具有学习能力。当一个帧进入交换机后,交换机会检查这个帧的源MAC地址,并将该源MAC地址与这个帧进入交换机的那个端口进行映射,然后将这个映射关系存放进MAC地址表。

mac地址学习
初始状态下,交换机并不知道所连接主机的MAC地址,所以MAC地址表为空。

主机A发送数据给主机C时,一般会首先发送ARP请求来获取主机C的MAC地址,此ARP请求帧中的目的MAC地址是广播地址,源MAC地址是自己的MAC地址。SWA收到该帧后,会将源MAC地址和接收端口的映射关系添加到MAC地址表中。缺省情况下,X7系列交换机学习到的MAC地址表项的老化时间为300秒。如果在老化时间内再次收到主机A发送的数据帧,SWA中保存的主机A的MAC地址和G0/0/1的映射的老化时间会被刷新。此后,如果交换机收到目标MAC地址为00-01-02-03-04-AA的数据帧时,都将通过G0/0/1端口转发。

HCIA网络基础10-交换网络及STP_STP


下图中主机A发送的数据帧的目的MAC地址为广播地址,所以交换机会将此数据帧通过G0/0/2和G0/0/3端口广播到主机B和主机C。

HCIA网络基础10-交换网络及STP_链路_02


主机B和主机C接收到此数据帧后,都会查看该ARP数据帧。但是主机B不会回复该帧,主机C会处理该帧并发送ARP回应,此回复数据帧的目的MAC地址为主机A的MAC地址,源MAC地址为主机C的MAC地址。SWA收到回复数据帧时,会将该帧的源MAC地址和接口的映射关系添加到MAC地址表中。如果此映射关系在MAC地址表已经存在,则会被刷新。然后SWA查询MAC地址表,根据帧的目的MAC地址找到对应的转发端口后,从G0/0/1转发此数据帧

HCIA网络基础10-交换网络及STP_链路_03


交换机基本配置

早期的以太网的工作模式都是10M半双工的。随着技术的发展,出现了全双工模式,接着又出现了百兆和千兆以太网。采用不同工作模式的设备无法直接相互通信;自协商技术的出现解决了不同以太网工作模式之间的兼容性问题。自协商的内容主要包括双工模式和运行速率。一旦协商通过,链路两端的设备就具有相同的工作参数。
negotiation auto命令用来设置以太网端口的自协商功能。端口是否应该使能自协商模式,要考虑对接双方设备的端口是否都支持自动协商。如果对端设备的以太网端口不支持自协商模式,则需要在本端端口上先使用undo negotiation auto命令配置为非自协商模式。之后,修改本端端口的速率和双工模式保持与对端一致,确保通信正常。
duplex命令用来设置以太网端口的双工模式。GE电口工作速率为1000Mbit/s时,只支持全双工模式,不需要与链路对端的端口共同协商双工模式。
speed命令用来设置端口的工作速率。配置端口的速率和双工模式之前需要先配置端口为非自协商模式。
因产品型号不同,华为交换机可能不支持更改端口双工模式,详见产品手册。

<SWA>system-view 
Enter system view, return user view with Ctrl+Z.
[SWA]interface GigabitEthernet 0/0/1
[SWA-GigabitEthernet0/0/1]undo negotiation auto
[SWA-GigabitEthernet0/0/1]speed 100
[SWA-GigabitEthernet0/0/1]duplex full

display interface [ interface-type [ interface-number [.subnumber ] ] ]命令用来查看端口当前运行状态和统计信息。
current state表示端口的物理状态,如果为UP,表示端口处于打开状态。
Line protocol current state表示端口的链路协议状态,如果为UP,表示端口的链路协议处于正常的启动状态。
Speed表示端口的工作速率,SWA的G0/0/1端口工作速率为100Mbit/s。
Duplex表示端口的双工模式,SWA的G0/0/1端口双工模式为全双工。

[SWA]display interface GigabitEthernet 0/0/1
GigabitEthernet0/0/1 current state : UP
Line protocol current state : UP
……
Speed : 100, Loopback: NONE
Duplex: FULL, Negotiation: DISABLE

链路冗余与环路问题

随着局域网规模的不断扩大,越来越多的交换机被用来实现主机之间的互连。如果交换机之间仅使用一条链路互连,则可能会出现单点故障,导致业务中断。为了解决此类问题,交换机在互连时一般都会使用冗余链路来实现备份。
冗余链路虽然增强了网络的可靠性,但是也会产生环路,而环路会带来一系列的问题,继而导致通信质量下降和通信业务中断等问题

HCIA网络基础10-交换网络及STP_链路_04


广播风暴

根据交换机的转发原则,如果交换机从一个端口上接收到的是一个广播帧,或者是一个目的MAC地址未知的单播帧,则会将这个帧向除源端口之外的所有其他端口转发。如果交换网络中有环路,则这个帧会被无限转发,此时便会形成广播风暴,网络中也会充斥着重复的数据帧。

下图中,主机A向外发送了一个单播帧,假设此单播帧的目的MAC地址在网络中所有交换机的MAC地址表中都暂时不存在。SWB接收到此帧后,将其转发到SWA和SWC,SWA和SWC也会将此帧转发到除了接收此帧的其他所有端口,结果此帧又会被再次转发给SWB,这种循环会一直持续,于是便产生了广播风暴。交换机性能会因此急速下降,并会导致业务中断

HCIA网络基础10-交换网络及STP_环路_05

MAC地址表震荡

交换机是根据所接收到的数据帧的源地址和接收端口生成MAC地址表项的。
主机A向外发送一个单播帧,假设此单播帧的目的MAC地址在网络中所有交换机的MAC地址表中都暂时不存在。SWB收到此数据帧之后,在MAC地址表中生成一个MAC地址表项,00-01-02-03-04-AA,对应端口为G0/0/3,并将其从G0/0/1和G0/0/2端口转发。此例仅以SWB从G0/0/1端口转发此帧为例进行说明。
SWA接收到此帧后,由于MAC地址表中没有对应此帧目的MAC地址的表项,所以SWA会将此帧从G0/0/2转发出去。
SWC接收到此帧后,由于MAC地址表中也没有对应此帧目的MAC地址的表项,所以SWC会将此帧从G0/0/2端口发送回SWB,也会发给主机B。
SWB从G0/0/2接口接收到此数据帧之后,会在MAC地址表中删除原有的相关表项,生成一个新的表项,00-01-02-03-04-AA,对应端口为G0/0/2。此过程会不断重复,从而导致MAC地址表震荡。

HCIA网络基础10-交换网络及STP_交换网络_06

生成树协议STP(Spanning Tree Protocol)

在以太网中,二层网络的环路会带来广播风暴,MAC地址表震荡,重复数据帧等问题,为解决交换网络中的环路问题,提出了STP。
STP的主要作用:
消除环路:通过阻断冗余链路来消除网络中可能存在的环路。
链路备份:当活动路径发生故障时,激活备份链路,及时恢复网络连通性。

STP通过构造一棵树来消除交换网络中的环路。通过选择并阻塞部分交换机端口来避免环路,依次选择出:根桥、根端口、指定端口、备用端口。备用端口就是要阻塞(不转发任何报文)的端口。
**根桥:**每个STP网络中,都会存在一个根桥,其他交换机为非根桥。根桥或者根交换机位于整个逻辑树的根部,是STP网络的逻辑中心,非根桥是根桥的下游设备。当现有根桥产生故障时,非根桥之间会交互信息并重新选举根桥,STP协议报文被称为BPDU。BPDU中包含交换机在参加生成树计算时的各种参数信息。
**指定端口:**是交换机向所连网段转发配置BPDU的端口,每条链路/每根连线 只能有一个指定端口。一般情况下,根桥的每个端口总是指定端口。
**根端口:**是非根交换机去往根桥路径最优的端口。在一个运行STP协议的交换机上最多只有一个根端口,但根桥上没有根端口。
**预备端口:**如果一个端口既不是指定端口也不是根端口,则此端口为预备端口。预备端口将被阻塞。

根桥选举

STP中根桥的选举依据的是桥ID,STP中的每个交换机都会有一个桥ID(Bridge ID) 。桥ID由16位的桥优先级(Bridge Priority)和48位的MAC地址构成。在STP网络中,桥优先级是可以配置的,取值范围是0~65535,默认值为32768。

优先级最高的设备(数值越小越优先)会被选举为根桥。如果优先级相同,则会比较MAC地址,MAC地址越小则越优先。

交换机启动后就自动开始进行生成树收敛计算。默认情况下,所有交换机启动时都认为自己是根桥,自己的所有端口都为指定端口,这样BPDU报文就可以通过所有端口转发。

对端交换机收到BPDU报文后,会比较BPDU中的根桥ID和自己的桥ID。如果收到的BPDU报文中的桥ID优先级低,接收交换机会继续通告自己的配置BPDU报文给邻居交换机。如果收到的BPDU报文中的桥ID优先级高,则交换机会修改自己的BPDU报文的根桥ID字段,宣告新的根桥。

这样只要几轮下来,根桥就会选举完成。

HCIA网络基础10-交换网络及STP_STP_07

根端口选举

非根交换机在选举根端口时分别依据该端口的根路径开销、对端BID(Bridge ID)、对端PID(Port ID)和本端PID。
根路径开销交换机的每个端口都有一个端口开销(Port Cost)参数,此参数表示该端口在STP中的开销值。默认情况下端口的开销和端口的带宽有关,带宽越高,开销越小。从一个非根桥到达根桥的路径可能有多条,每一条路径都有一个总的开销值,此开销值是该路径上所有接收BPDU端口的端口开销总和(即BPDU的入方向端口),称为路径开销。非根桥通过对比多条路径的路径开销,选出到达根桥的最短路径,这条最短路径的路径开销被称为RPC(Root Path Cost,根路径开销),并生成无环树状网络。根桥的根路径开销是0。
一般情况下,企业网络中会存在多厂商的交换设备,华为X7系列交换机支持多种STP的路径开销计算标准,提供最大程度的兼容性。缺省情况下,华为X7系列交换机使用IEEE 802.1t标准来计算路径开销。
**对端BID:**就是报文发送放的交换机的桥ID
**端口ID:**运行STP交换机的每个端口都有一个端口ID,端口ID由端口优先级和端口号构成。端口优先级取值范围是0到240,步长为16,即取值必须为16的整数倍。缺省情况下,端口优先级是128。端口ID(Port ID)可以用来确定端口角色。

每个非根桥都要选举一个根端口。根端口是距离根桥最近的端口,这个最近的衡量标准是靠路径开销来判定的,即路径开销最小的端口就是根端口。端口收到一个BPDU报文后,抽取该BPDU报文中根路径开销字段的值,加上该端口本身的端口开销即为本端口路径开销。
如果有两个或两个以上的端口计算得到的累计路径开销相同,那么选择收到发送者BID最小的那个端口作为根端口。
如果两个或两个以上的端口连接到同一台交换机上,则选择发送者PID最小的那个端口作为根端口。
如果两个或两个以上的端口通过Hub连接到同一台交换机的同一个接口上,则选择本交换机的这些端口中的PID最小的作为根端口。

如下图 由于根桥 SWA发出的BPDU 到达SWB 的开销G001 最小 所以g001就是根端口 。SWC 同理。

HCIA网络基础10-交换网络及STP_交换网络_08

指定端口选举

每条链路/每根连线/每个冲突域 都应该有一个指定端口,根桥的所有端口都是指定端口(除非根桥在物理上存在环路)。
指定端口的选举也是首先比较累计路径开销,累计路径开销最小的端口就是指定端口。
如果累计路径开销相同,则比较端口所在交换机的桥ID,所在桥ID最小的端口被选举为指定端口。
如果通过累计路径开销和所在桥ID选举不出来,则比较端口ID,端口ID最小的被选举为指定端口。
网络收敛后,只有指定端口和根端口可以转发数据。其他端口为预备端口,被阻塞,不能转发数据,只能够从所连网段的指定交换机接收到BPDU报文,并以此来监视链路的状态。

下图中 SWB 的 002 口 和 SWC的002 口,开销相同,但是SWB 桥id小 所以选为 SWB的002 选为指定端口

SWC 002 就是备用端口,阻塞该端口后 环路消失。

HCIA网络基础10-交换网络及STP_链路_09

STP下交换机端口状态

运行STP协议的设备上端口状态有5种:

Forwarding:转发状态。端口既可转发用户流量也可转发BPDU报文,只有根端口或指定端口才能进入Forwarding状态。

Learning:学习状态。端口可根据收到的用户流量构建MAC地址表,但不转发用户流量。增加Learning状态是为了防止临时环路。

Listening:侦听状态。端口可以转发BPDU报文,但不能转发用户流量。

Blocking:阻塞状态。端口仅仅能接收并处理BPDU,不能转发BPDU,也不能转发用户流量。此状态是预备端口的最终状态。

Disabled:禁用状态。端口既不处理和转发BPDU报文,也不转发用户流量。

HCIA网络基础10-交换网络及STP_链路_10

BPDU

HCIA网络基础10-交换网络及STP_交换网络_11


为了计算生成树,交换机之间需要交换相关的信息和参数,这些信息和参数被封装在BPDU(Bridge Protocol Data Unit)中。

BPDU有两种类型:配置BPDU和TCN BPDU。 TCN BPDU是指下游交换机感知到拓扑发生变化时向上游发送的拓扑变化通知。

配置BPDU包含了桥ID、路径开销和端口ID等参数。STP协议通过在交换机之间传递配置BPDU来选举根交换机,以及确定每个交换机端口的角色和状态。

在初始化过程中,每个桥都主动发送配置BPDU。在网络拓扑稳定以后,只有根桥主动发送配置BPDU,其他交换机在收到上游传来的配置BPDU后,才会发送自己的配置BPDU。

配置BPDU中包含了足够的信息来保证设备完成生成树计算,其中包含的重要信息如下:

根桥ID:由根桥的优先级和MAC地址组成,每个STP网络中有且仅有一个根桥。

根路径开销:到根桥的最短路径开销。

发送方指定桥ID:由指定桥的优先级和MAC地址组成。

发送方指定端口ID:由指定端口的优先级和端口号组成。

Message Age:配置BPDU在网络中传播的生存期。 BPDU报文每经过一个交换机,Message Age都加1。

Max Age:配置BPDU在设备中能够保存的最大生存期。Message Age大于Max Age,非根桥会丢弃该配置BPDU 默认20S。超过这个时间没有收到bpdu,端口会认为根桥出了问题。那么收不到bpdu的交换机会认为自己是根桥,然后对法发布bpdu报文,如果非根交换机的某一个阻塞端口超时未收到 bpdu 那么会切换端口状态到指定根端口。由只能接收bpdu转换为可以转发bpdu。 端口状态变化时 向上游发送TCN BPDU

Hello Time:配置BPDU发送的周期。默认2秒 没两秒发送一个bpdu报文 维持现有的stp状态

Forward Delay:端口状态迁移的延时。 默认15s 。每次端口状态的变换要经过15S的等待。端口状态 由Listening 变为learning 需要15S的间隔。

Flags:包含很多状态,用于标识配置bpdu报文的不同作用。如:TC和 TCA标志 TCN标志用于告知下游的交换机 TCN BPDU已收到,不要再重复发送,TC标注表示拓扑有变化,马上更新MAC地址表STP协议中一些重要的时间参数,如下:

Hello Time是指运行STP协议的设备发送配置BPDU的时间间隔,用于检测链路是否存在故障。 交换机每隔Hello Time时间会向周围的交换机发送配置BPDU报文,以确认链路是否存在故障。当网络拓扑稳定后,该值只有在根桥上修改才有效。

Message Age是从根桥发送到当前交换机接收到BPDU的总时间,包括传输延时等。如果配置BPDU是根桥发出的,则Message Age为0。实际实现中,配置BPDU报文每经过一个交换机,Message Age增加1。

Max Age是指BPDU报文的老化时间,可在根桥上通过命令人为改动这个值。

Max Age通过配置BPDU报文的传递,可以保证Max Age在整网中一致。

Max Age 有两个作用

1)非根桥设备收到配置BPDU报文后,会将报文中的Message Age和Max Age进行比较:如果Message Age小于等于Max Age,则该非根桥设备会继续转发配置BPDU报文。如果Message Age大于Max Age,则该配置BPDU报文将被老化掉。该非根桥设备将直接丢弃该配置BPDU,并认为是网络直径过大,导致了根桥连接失败。

2)非根桥超过这个时间没有收到bpdu,会认为根桥出了问题。那么收不到bpdu的交换机会认为自己是根桥,然后对法发布bpdu报文,如果非根交换机的某一个阻塞端口超该时间未收到 bpdu 那么会切换端口角色到指定根端口。由只能接收bpdu转换为可以转发bpdu。 端口状态变化时 向上游发送TCN BPDU

HCIA网络基础10-交换网络及STP_链路_12

根桥故障

在稳定的STP拓扑里,非根桥会定期收到来自根桥的BPDU报文。如果根桥发生了故障,停止发送BPDU报文,下游交换机就无法收到来自根桥的BPDU报文。如果下游交换机一直收不到BPDU报文,Max Age定时器就会超时(Max Age的默认值为20秒)。此时,非根交换机会互相发送配置BPDU报文,重新选举新的根桥。根桥故障会导致50秒左右的恢复时间,恢复时间约等于Max Age加上两倍的Forward Delay收敛时间。首先20S后SWB 和 SWC感知到根桥故障了,然后重新选举根桥、根端口、指定端口,完成选举后,根端口和指定端口状态由Listeninig 变为learning 再变为forwarding,经过了两次变化,每次需要15S,两次变化就是30S。加上超时的20S 总共50S

HCIA网络基础10-交换网络及STP_交换网络_13

直接链路故障

SWA和SWB使用了两条链路互连,其中一条是主用链路,另外一条是备份链路。生成树正常收敛之后,如果SWB检测到根端口的链路发生物理故障,则其Alternate端口会迁移到Listening、Learning、Forwarding状态,经过两倍的Forward Delay后恢复到转发状态。
详细分析:
20S后SWB的R口未收到BPDU,但是A口能收到,因此A端口变为指定端口, 并对上游发送TCN BPDU。经过重新选举,确定端口角色,然后端口经过两个Forward Delay 后状态变换: Listening->Learning->Forwarding

HCIA网络基础10-交换网络及STP_mac地址_14

非直连链路故障

SWB与SWA之间的链路发生了某种故障(非物理层故障),SWB因此一直收不到来自SWA的BPDU报文。等待Max Age定时器超时后,SWB会认为根桥SWA不再有效,并认为自己是根桥,于是开始发送自己的BPDU报文给SWC,通知SWC自己作为新的根桥。在此期间,由于SWC的Alternate端口再也不能收到包含原根桥ID的BPDU报文。其Max Age定时器超时后,SWC会切换Alternate端口为指定端口并且转发来自其根端口的BPDU报文给SWB。所以,Max Age定时器超时后,SWB、SWC几乎同时会收到对方发来的BPDU。经过STP重新计算后,SWB放弃宣称自己是根桥并重新确定端口角色。非直连链路故障后,由于需要等待Max Age加上两倍的Forward Delay时间,端口需要大约50秒才能恢复到转发状态。

HCIA网络基础10-交换网络及STP_链路_15

拓扑改变导致MAC地址表错误

在交换网络中,交换机依赖MAC地址表转发数据帧。缺省情况下,MAC地址表项的老化时间是300秒。如果生成树拓扑发生变化,交换机转发数据的路径也会随着发生改变,此时MAC地址表中未及时老化掉的表项会导致数据转发错误,因此在拓扑发生变化后需要及时更新MAC地址表项。

本例中,SWB中的MAC地址表项定义了通过端口GigabitEthernet 0/0/3可以到达主机A,通过端口GigabitEthernet 0/0/1可以到达主机B。由于SWC的根端口产生故障,导致生成树拓扑重新收敛,在生成树拓扑完成收敛之后,从主机A到主机B的帧仍然不能到达目的地。这是因为MAC地址表项老化时间是300秒,主机A发往主机B的帧到达SWB后,SWB会继续通过端口GigabitEthernet 0/0/1转发该数据帧。

HCIA网络基础10-交换网络及STP_mac地址_16


拓扑变化过程中,根桥通过TCN BPDU报文获知生成树拓扑里发生了故障。根桥生成TC用来通知其他交换机加速老化现有的MAC地址表项。

拓扑变更以及MAC地址表项更新的具体过程如下:

SWC感知到网络拓扑发生变化后,会不间断地向SWB发送TCN BPDU报文。

SWB收到SWC发来的TCN BPDU报文后,会把配置BPDU报文中的Flags的TCA位设置1,然后发送给SWC,告知SWC停止发送TCN BPDU报文。

SWB向根桥转发TCN BPDU报文。

SWA把配置BPDU报文中的Flags的TC位设置为1后发送,通知下游设备把MAC地址表项的老化时间由默认的300秒修改为Forward Delay的时间(默认为15秒)。

最多等待15秒之后,SWB中的错误MAC地址表项会被自动清除。此后,SWB就能重新开始MAC表项的学习及转发操作。

HCIA网络基础10-交换网络及STP_环路_17

STP模式

华为X7系列交换机支持三种生成树协议模式。
stp mode { mstp | stp | rstp }命令用来配置交换机的生成树协议模式。缺省情况下,华为X7系列交换机工作在MSTP模式。在使用STP前,STP模式必须重新配置。

[SWA]stp mode ?
mstp Multiple Spanning Tree Protocol (MSTP) mode
rstp Rapid Spanning Tree Protocol (RSTP) mode
stp Spanning Tree Protocol (STP) mode
[SWA]stp mode stp

配置桥优先级

基于企业业务对网络的需求,一般建议手动指定网络中配置高、性能好的交换机为根桥。
可以通过配置桥优先级来指定网络中的根桥,以确保企业网络里面的数据流量使用最优路径转发。
stp priority priority命令用来配置设备优先级值。priority值为整数,取值范围为0到61440,步长为4096。缺省情况下,交换设备的优先级取值是32768。另外,可以通过stp root primary命令指定生成树里的根桥。

[SWA]stp priority 4096
Apr 15 2016 16:15:33-08:00 SWA DS/4/DATASYNC_CFGCHANGE:OID 1.3.6.1.4.1.2011.5.25.191.3.1 configurations have been changed. The current change number is 4, the change loop count is 0, and the maximum number of records is 4095.

配置路径开销

华为X7系列交换机支持三种路径开销标准,以确保和友商设备保持兼容。缺省情况下,路径开销标准为IEEE 802.1t。
stp pathcost-standard { dot1d-1998 | dot1t | legacy }命令用来配置指定交换机上路径开销值的标准。
每个端口的路径开销也可以手动指定。此STP路径开销控制方法须谨慎使用,手动指定端口的路径开销可能会生成次优生成树拓扑。
stp cost cost命令cost取值范围取决于路径开销计算方法:
使用华为的私有计算方法时,cost取值范围是1~200000。
使用IEEE 802.1d标准方法时,cost取值范围是1~65535。
使用IEEE 802.1t标准方法时,cost取值范围是1~200000000。

[SWA]stp pathcost-standard ?
dot1d-1998 IEEE 802.1D-1998
dot1t IEEE 802.1T
legacy Legacy
[SWA]interface GigabitEthernet 0/0/1
[SWA-GigabitEthernet0/0/1]stp cost 2000

display stp命令用来检查当前交换机的STP配置。命令输出中信息介绍如下:
CIST Bridge参数标识指定交换机当前桥ID,包含交换机的优先级和MAC地址。
Bridge Times参数标识Hello定时器、Forward Delay定时器、Max Age定时器的值。
CIST Root/ERPC参数标识根桥ID以及此交换机到根桥的根路径开销。
display stp interface interface命令显示交换机上指定端口信息。其他一些信息还包括端口角色、端口状态、以及使用的保护机制等

[SWA]display stp 
-------[CIST Global Info][Mode STP]-------
CIST Bridge :4096 .00-01-02-03-04-BB
Bridge Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
CIST Root/ERPC :4096 .00-01-02-03-04-BB / 0
CIST RegRoot/IRPC :4096 .00-01-02-03-04-BB / 0
CIST RootPortId :0.0
BPDU-Protection :Disabled
TC or TCN received :37
TC count per hello :0
STP Converge Mode :Normal
Share region-configuration :Enabled
Time since last TC :0 days 0h:1m:29s
[SWA]display stp 
……
----[Port1(GigabitEthernet0/0/1)][FORWARDING]----
Port Protocol :Enabled
Port Role :Designated Port
Port Priority :128
Port Cost(Dot1T ) :Config=2000 / Active=2000
Designated Bridge/Port :4096.00-01-02-03-04-BB / 128.1
Port Edged :Config=default / Active=disabled
Point-to-point :Config=auto / Active=true
Transit Limit :147 packets/hello-time
Protection Type :None