1.1 MSTP 配置命令介绍
1.1.1 abort
命令: abort
功能: 放弃本次对 MSTP 域的配置, 并且退出 MST 配置模式回到全局配置模式。 命令模式: MSTP 域配置模式。
使用指南: 当使用本命令退出 MST 配置模式时,本次对 MSTP 域做的配置不生效,生效的 仍然是前一次保留 MSTP 域配置。
举例: 退出 MST 配置模式,并且不保留本次配置。
Switch(Config-Mstp-Region)#abort
Switch(config)#
1.1.2 exit
命令:exit
功能: 保存本次对 MSTP 域的配置, 并且退出 MSTP 域配置模式回到全局配置模式。 命令模式: MSTP 域配置模式。
使用指南: 当使用本命令退出 MST 配置模式时, 本次对 MSTP 域做的配置即时生效。 举例: 退出 MST 配置模式,并且保留本次配置。
Switch(Config-Mstp-Region)#exit
Switch(config)#
1.1.3 instance vlan
命令:instance <instance-id> vlan <vlan-list>
no instance <instance-id> [vlan <vlan-list>]
功能: 在 MSTP 域配置模式下, 创建 Instance 及配置 VLAN 与 Instance 的映射关系或添加 VLAN 表项与指定 Instance 映射关系;本命令的 no 操作为删除指定的 Instance 或删除某些 VLAN 表项与指定 Instance 的映射关系。
参数: 对于非 no 命令,<instance-id>为 Instance 号,取值范围为 0~64;对于 no 命令, <instance-id>为 Instance 号,取值范围为 0~64 。<vlan-list>为连续的或不连续的 VLAN 号,支持表示连续的“-”符号和不连续的“;”符号。
命令模式:MSTP 域配置模式。
缺省情况: 在没有创建任何 Instance 时, 交换机只有 Instance 0,且 VLAN1~4094 均属于 Instance 0。
使用指南: 本命令用于设置 VLAN 与 Instance 的映射关系,只有所有的映射关系都相同且 其他 MSTP 域的参数也相同, 交换机才能认为彼此是在相同的 MSTP 域中。在没有配置任 何 Instance 时, 所有的 VLAN 都属于 Instance 0。MSTP 最多支持 64 个 MSTI(除了 CIST 之外)。 可以把 CIST 理解为 MSTI0,其余实例为 MSTI1~64。具体个数依照产品规格而 定, 64 只是最大的规格值。
举例: 配置 VLAN1-10;100-110 与 Instance 1 的映射关系。
Switch(config)#spanning-tree mst configuration
Switch(Config-Mstp-Region)#instance 1 vlan 1-10;100-110
1.1.4 name
命令:name <name>
no name
功能: 在 MSTP 域配置模式下, 配置 MSTP 域的名字;本命令的 no 操作为删除 MSTP 域 的名字。
参数: <name>为 MSTP 域名字,取值范围不超过 32 字节的字符串。
命令模式: MSTP 域配置模式。
缺省情况: 缺省 MSTP 域的名字为该交换机网桥 MAC。
使用指南: 本命令用于设置 MSTP 域的名字, 只有 MSTP 域的名字相同且其他 MSTP 域的 参数也相同,交换机才能认为彼此是在相同的 MSTP 域中。
举例: 配置 MSTP 域的名字为 mstp-test。
Switch(config)#spanning-tree mst configuration
Switch(Config-Mstp-Region)#name mstp-test
1.1.5 no
命令: no <instance-id> | <name> | <revision-level>
功能: 取消一条命令或设置为初始值。
参数: <instance-id> instance 号, <name> mstp 域名, <revision-level> 用于计算 MST 配置标识的修正数值。
命令模式: MSTP 域配置模式。
使用指南: 本命令可以删除指定的 instance,删除 MSTP 域的 name,恢复修正数值的缺省
值为 0。
举例: 删除 instance 1。
Switch(Config-Mstp_Region)#no instance 1
1.1.6 revision-level
命令:revision-level <level>
no revision-level
功能: 在 MST 配置模式下,配置用于计算 MST 配置标识的修正数值;本命令的 no 操作为 恢复修正数值的缺省值 0。
参数: <level>为修正数值,取值范围为 0~65535。
命令模式: MSTP 域配置模式。
缺省情况: 缺省修正数值为 0。
使用指南: 本命令用于设置计算 MST 配置标识时用到的修正数值,只有修正数值相同且其 他 MSTP 域的参数也相同,交换机才能认为彼此是在相同的 MSTP 域中。
举例: 配置修正数值为 2000。
Switch(config)#spanning-tree mst configuration
Switch(Config-Mstp-Region)# revision-level 2000
1.1.7 show
命令: show
功能: 显示当前运行系统的信息。
命令模式: MSTP 域配置模式。
使用指南: 使用本命令,可以详细的查看当前系统的信息。
举例: 显示当前运行系统的信息。
Switch(Config-Mstp-Region)#show
1.1.8 spanning-tree
命令:spanning-tree
no spanning-tree
功能: 默认情况下, 为在交换机的全局配置模式和端口配置模式下分别启动 MSTP 协议的 命令;本命令的 no 操作为关闭 MSTP 协议。如果在开启 stp 全局使能之前,配置了 stp 工作 模式, 则使能此命令,为在交换机的全局配置模式和端口配置模式下分别启动配置的 stp 协 议;本命令的 no 操作为关闭对应的 stp 协议。
命令模式: 全局配置模式和端口配置模式。
缺省情况: 系统缺省不运行 MSTP 协议。
使用指南: 如果在全局配置模式下启动了 MSTP 协议, 除了在端口上打开与 MSTP 应用互 斥的端口外,所有的端口缺省都打开 MSTP 协议。
举例: 在全局模式打开 MSTP,并且在端口 1/0/2 模式上关闭 MSTP。
Switch(config)#spanning-tree
Switch(config)#interface ethernet 1/0/2
Switch(Config-If-Ethernet1/0/2)#no spanning-tree
1.1.9 spanning- tree cost
命令: spanning-tree cost <cost>
no spanning-tree cost
功能: 设置当前以太网端口的路径代价; 本命令的 no 操作为恢复缺省值。
参数: <cost> 为路径代价值, 取值范围为 1~200,000,000。
命令模式: 端口配置模式。
缺省情况: 缺省情况下,端口的路径代价与端口的带宽相关。
端口类型 |
缺省路径开销 |
建议取值范围 |
10Mbps |
2000000 |
2000000~20000000 |
100Mbps |
200000 |
200000~2000000 |
1Gbps |
20000 |
20000~200000 |
10Gbps |
2000 |
2000~20000 |
对汇聚端口,端口缺省路径代价如下:
端口类型 |
汇聚端口个数(在允许汇聚的 个数范围内) |
缺省路径开销 |
10Mbps |
N |
2000000/N |
100Mbps |
N |
200000/N |
1Gbps |
N |
20000/N |
10Gbps |
N |
2000/N |
使用指南: 通过配置端口路径代价可以控制端口到根网桥的根路径代价,从而控制该端口、 指定端口等的选举。
举例: 在端口 1/0/2 上设置端口路径代价为 3000000。
Switch(Config-If-Ethernet1/0/2)#spanning-tree cost 3000000
1.1.10 spanning-tree digest-snooping
命令:spanning-tree digest-snooping
no spanning-tree digest-snooping
功能: 配置端口使用对端的认证字, 本命令的 no 形式配置端口不使用对端认证字。 参数: 无。
命令模式: 端口配置模式。
缺省情况: 不使用对端认证字。
使用指南: MSTP 协议使用指定的密钥, 对 INSTANCE 和 VLAN 的对应关系使用 MD5 算 法生成区域的认证字,由于个别厂商没有遵守协议的要求使用指定的密钥,而使用了私有的 密钥, 导致其设备与其它厂商设备无法通过配置实现域内互通,通过该命令可以在指定的端 口上使用对方的认证字以实现与其的域间互通。注意:这种配置可能导致 INSTANCE 与 VLAN 对应关系不同的相邻设备认为对端是同一区域,因此使用该功能时要由管理员保证其 对应关系一致。并且要保证设备间所有的端口都进行该配置, 以避免不希望的后果。
举例: 配置端口使用对端的认证字。
Switch(config)#interface ethernet 1/0/2
Switch(Config-If-Ethernet1/0/2)#spanning-tree digest-snooping
Switch(Config-If-Ethernet1/0/2)#
1.1.11 spanning-tree format
命令:spanning-tree format {standard | privacy | auto}
no spanning-tree format
功能: 配置端口报文格式,以便于与其它厂商产品互通。本命令的 no 操作恢复格式为默认 的格式。
参数: standard:IEEE 规定的报文格式;
privacy:私有报文格式,与 CISCO 设备兼容的格式;
auto: 自动识别报文格式,即通过查看收到的报文的格式决定自己的报文格式。 命令模式: 端口配置模式。
缺省情况: 自动识别报文格式。
使用指南: 由于 CISCO 使用了与 IEEE 规定的报文格式不同的格式, 而很多厂家为了与 CISCO 兼容也采用了与 CISCO 相同的格式, 因此我们要同时支持这两种格式。其中标准 格式(standard)是完全按照 IEEE 规定的格式, 私有报文格式(privacy)是与 CISCO 兼 容的格式, 另外,如果我们不清楚对端是何种格式,可以配置为 AUTO,我们可以根据对方 发出的报文识别对方支持何种格式。为了与过往产品和主流厂家的更好的兼容,我们默认的 形式是自动识别报文,在配置为 AUTO 时,在收到对方发出的报文前也认为是私有报文格 式。
如果我们配置的格式不是 AUTO,而对端与我们规定的格式不匹配,我们在收到对端的报文 后,会设置收到报文的端口状态为 DISCARDING 以避免双方都认为自己是根而造成环路。 如果我们配置的格式是 AUTO,而端口外连接了互不兼容的超过 1 个设备(例如通过 HUB 或透传 BPDU 的设备连接了多个运行 MSTP 的设备),我们会统计一段时间内端口格式改 变的次数, 超过该次数(250 秒内改变 10 次)后,端口将被关闭, 只有管理员的干预才能 再把端口打开。
举例: 配置端口报文格式为 IEEE 规定的报文格式。
Switch(config)#interface ethernet 1/0/2
Switch(Config-If-Ethernet1/0/2)#spanning-tree format standard
Switch(Config-If-Ethernet1/0/2)#
1.1.12 spanning-tree forward-time
命令:spanning-tree forward-time <time>
no spanning-tree forward-time
功能: 设置交换机转发延时的时间值;本命令的 no 操作为恢复缺省值。
参数: <time>为转发延时的时间值, 单位为秒,取值范围为 4~30。
命令模式: 全局配置模式。
缺省情况: 转发延时缺省为 15 秒。
使用指南: 当网络拓扑发生变换时,端口状态从阻塞状态转变到监听状态的这段延时称为转 发延时。转发延时和 Hello 时间值、最大老化时间之间是有关联的,用户在配置 MSTP 时 间参数时必须满足如下条件,否则会影响 MSTP 的正确工作:
2×(Bridge_Forward_Delay - 1.0 seconds) >= Bridge_Max_Age
Bridge_Max_Age >= 2 ×(Bridge_Hello_Time + 1.0 seconds)
举例: 在全局模式配置 MSTP 转发延时时间为 20 秒。
Switch(config)#spanning-tree forward-time 20
1.1.13 spanning-tree hello-time
命令:spanning-tree hello-time <time>
no spanning-tree hello-time
功能: 设置交换机 Hello 时间值;本命令的 no 操作为恢复缺省值。
参数: <time>为 Hello time 的时间值,单位为秒, 取值范围为 1~10。
命令模式: 全局配置模式。
缺省情况: Hello 时间缺省为 2 秒。
使用指南: 交换机发送 BPDU 的时间间隔称为 Hello 时间。Hello 时间和转发延时、最大老
化时间之间是有关联的,用户在配置 MSTP 时间参数时必须满足如下条件,否则会影响 MSTP 的正确工作:
2×(Bridge_Forward_Delay - 1.0 seconds) >= Bridge_Max_Age
Bridge_Max_Age >= 2 ×(Bridge_Hello_Time + 1.0 seconds)
举例: 在全局模式配置 MSTP Hello 时间为 5 秒。
Switch(config)#spanning-tree hello-time 5
1.1.14 spanning-tree link-type p2p
命令:spanning-tree link-type p2p {auto | force-true | force-false}
no spanning-tree link-type
功能: 设置与当前端口相连的链路类型;本命令的 no 操作恢复当前端口的链路类型为自动 检测。
参数: auto 表示由系统自动检测链路类型,force-true 表示强制为点对点类型,force-false 表示强制为非点对点类型。
命令模式: 端口配置模式。
缺省情况: 缺省情况下为 auto,MSTP 协议会自动检测端口相连的链路类型。
使用指南: 当端口工作在全双工模式下,MSTP 协议会自动认为与该端口相连的链路类型为 点对点类型;当端口工作在半双工模式下,MSTP 协议会自动认为与该端口相连的链路类型 为共享型。
举例: 强制交换机的端口 1/0/7-8 为点到点连接。
Switch(config)#interface ethernet 1/0/7-8
Switch(Config-If-Port-Range)#spanning-tree link-type p2p force-true
1.1.15 spanning-tree maxage
命令:spanning-tree maxage <time>
no spanning-tree maxage
功能: 设置交换机 BPDU 信息的最大老化时间值; 本命令的 no 操作为恢复缺省值。 参数: <time>为最大老化时间值,单位为秒, 取值范围为 6~40。
命令模式: 全局配置模式。
缺省情况: 最大老化时间缺省为 20 秒。
使用指南: BPDU 的生命周期称为最大老化时间。最大老化时间和转发延时、Hello 时间之 间是有关联的,用户在配置 MSTP 时间参数时必须满足如下条件,否则会影响 MSTP 的正 确工作:
2×(Bridge_Forward_Delay - 1.0 seconds) >= Bridge_Max_Age
Bridge_Max_Age >= 2 ×(Bridge_Hello_Time + 1.0 seconds)
举例: 在全局模式配置 maxage 时间为 25 秒。
Switch(config)#spanning-tree maxage 25
1.1.16 spanning-tree max-hop
命令:spanning-tree max-hop <hop-count>
no spanning-tree max-hop
功能: 设置 BPDU 支持在 MSTP 域中传输的最大跳数;本命令的 no 操作为恢复缺省值。
参数: <hop-count>为最大跳数,取值范围为 1~40。
命令模式: 全局配置模式。
缺省情况:最大跳数缺省为 20。
使用指南: 在 MSTP 协议中不仅保留 Max-age 表示 BPDU 的生命周期,在 MSTP 域中还 增加了 Max-hop 表示 BPDU 的生命周期, Max-hop 在网络中的传输呈递减状态。从 MSTI 的根网桥发出时 Max-hop 为最大值, BPDU 每被接收一次,该 BPDU 的 Max-hop 值就减 少一跳,当交换机端口接收到 Max-hop 为 0 的 BPDU 时,该端口就会丢弃该 BPDU,并且 将本端口作为指定端口发送 BPDU。
举例: 设置最大跳数为 32。
Switch(config)#spanning-tree max-hop 32
1.1.17 spanning-tree mcheck
命令:spanning-tree mcheck
功能: 迫使交换机端口迁移到 MSTP 模式下运行。
命令模式: 端口配置模式。
缺省情况: 端口运行在 MSTP 模式下。
使用指南: 如果在与当前以太网端口相连的网段内存在运行 IEEE 802.1D STP 协议的网桥, 该端口会迁移到 STP 兼容模式下运行。在网络比较稳定的情况下, 虽然网段内运行 STP 协 议的网桥被拆离,但与之相连的运行 MSTP 协议的交换机的端口仍然会运行在 STP 兼容模 式下,此时可以通过该命令迫使其迁移到 MSTP 模式下运行。端口迁移到 MSTP 模式下运 行后, 如果再次收到新的 STP 报文, 端口又会回到 STP 兼容模式下。
该命令必须在交换机运行在 IEEE802.1s MSTP 模式下时进行配置,如果交换机的协议
运行模式被配置为 IEEE802.1D STP 模式, 则该命令无效。
举例: 强制端口 1/0/2 迁移到 MSTP 模式下运行。
Switch(Config-If-Ethernet1/0/2)#spanning-tree mcheck
1.1.18 spanning-tree mode
命令:spanning-tree mode {mstp | stp | rstp}
no spanning-tree mode
功能: 设置交换机运行 Spanning Tree 的模式;本命令的 no 操作为恢复交换机缺省的模式。 参数:mstp 为设置交换机运行 IEEE802.1s 的 MSTP 模式; stp 为设置交换机运行 IEEE802.1D STP 模式; rstp 为设置交换机运行 IEEE802.1w RSTP 模式。
命令模式: 全局配置模式。
缺省情况: 交换机缺省运行 MSTP 模式。
使用指南: 当交换机运行 IEEE802.1D STP 模式时,只能发送标准的 802.1D BPDU 帧和
TCN BPDU,对接收到的任何 MSTP BPDU 都将丢弃。
举例: 设置交换机运行 STP 模式。
Switch(config)#spanning-tree mode stp
1.1.19 spanning-tree mst configuration
命令:spanning-tree mst configuration
no spanning-tree mst configuration
功能:进入交换机的 MST 配置模式,在交换机的 MST 配置模式下,可配置交换机有关 MSTP
域的参数; 本命令的 no 操作为恢复交换机的 MSTP 域参数的缺省值。
命令模式: 全局配置模式。
缺省情况: 用户在没有进入 MST 配置模式之前, MSTP 域的参数缺省如下:
MSTP 域参数 |
参数缺省值 |
Instance |
只有实例 0 存在, 且 VLAN1~4094 均映射在实例 0 |
Name |
取本交换机网桥 MAC |
Revision |
0 |
使用指南: 无论交换机是否启动了 MSTP 协议, 都可以进入 MSTP 域配置模式, 并在配置 后保存当前配置。当交换机运行 MSTP 模式时,系统会根据配置的 MSTP 域参数计算出本 交换机的 MST 配置标识(MST Configuration Identifier),只有 MSTP 域配置标识相同的交 换机才会认为是在同一个 MSTP 域中,且能进行 MSTI 的计算。
举例: 进入交换机的 MST 配置模式。
Switch(config)#spanning-tree mst configuration
Switch(Config-Mstp-Region)#
1.1.20 spanning-tree mst cost
命令:spanning-tree mst <instance-id> cost <cost>
no spanning-tree mst <instance-id> cost
功能: 设置当前以太网端口在指定实例的端口路径代价; 本命令的 no 操作为恢复缺省值。 参数: <instance-id>为指定实例的实例 ID,取值范围为 0~64;<cost>为路径代价值, 对 于不同的 cost 格式,取值范围有所不同,对于默认 dot1t 模式,取值范围为 1~200,000,000, 对于 dot1d 模式,取值范围为 1-65535。
命令模式: 端口配置模式。
缺省情况: 缺省情况下,端口的路径代价与端口的带宽相关。
端口类型 |
缺省路径开销 |
建议取值范围 |
10Mbps |
2000000 |
2000000~20000000 |
100Mbps |
200000 |
200000~2000000 |
1Gbps |
20000 |
20000~200000 |
10Gbps |
2000 |
2000~20000 |
对汇聚端口,端口缺省路径代价如下:
端口类型 |
汇聚端口个数(在允许汇聚的 个数范围内) |
缺省路径开销 |
10Mbps |
N |
2000000/N |
100Mbps |
N |
200000/N |
1Gbps |
N |
20000/N |
10Gbps |
N |
2000/N |
端口速率 |
端口类型 |
路径开销 |
|
802.1D-2008 |
802.1T |
||
0 |
|
65535 |
200,000,000 |
10Mbps |
半双工 全双工 2 个端口的汇聚链路 3 个端口的汇聚链路 4 个端口的汇聚链路 |
100 99 95 95 95 |
2,000,000 1,999,999 1,000,000 666,666 500,000 |
100Mbps |
半双工 全双工 2 个端口的汇聚链路 3 个端口的汇聚链路 4 个端口的汇聚链路 |
19 18 15 15 15 |
200,000 199,999 100,000 66,666 50,000 |
1000Mbps |
全双工 2 个端口的汇聚链路 3 个端口的汇聚链路 4 个端口的汇聚链路 |
4 3 3 3 |
20,000 10,000 6,666 5,000 |
10Gbps |
全双工 2 个端口的汇聚链路 3 个端口的汇聚链路 4 个端口的汇聚链路 |
2 1 1 1 |
2,000 1,000 666 500 |
使用指南: 通过配置端口路径代价可以控制该实例端口到根网桥的根路径代价,从而控制该 实例根端口、指定端口等的选举。
举例: 在端口 1/0/2 上设置实例 2 对应的 MSTP 端口路径代价为 3000000。 Switch(Config-If-Ethernet1/0/2)#spanning-tree mst 2 cost 3000000
1.1.21 spanning-tree cost-format
命令:spanning-tree cost-format {dot1d | dot1t}
功能: 在交换机的全局配置模式下可修改路径开销值的表示方式, 有 dot1d 和 dot1t 格式可 选用, 默认使用 dot1t 格式。
命令模式: 全局配置模式。
缺省情况: 系统缺省使用 dot1t 格式计算路径开销值。
使用指南: cost 值的表示方法有两种,分别是 IEEE802.1d-2008 上标示的 dot1d 方式, 和 IEEE802.1t 上标示的 dot1t 方式。两种方法定义的路径开销值的取值范围不同,dot1d 的取 值范围是 1-65535 ,dot1t 的取值范围是 1-200000000。
若用户已使用 spanning-tree cost 命令手动配置过链路上的 cost 值, 则使用 cost-format 命 令修改 cost 表示方法的配置不能成功,除非用户将手动配置清除。
举例: 在全局模式修改 cost 格式
Switch(config)#spanning-tree cost-format dot1d
1.1.22 spanning-tree mst loopguard
命令: spanning-tree [mst <instance-id>] loopguard
no spanning-tree [mst <instance-id>] loopguard
功能: 配置 spanning-tree 的指定实例上启动 loopguard 功能,本命令的 no 操作恢复为不 在该实例下启动该功能。
参数: <instance-id>:MSTP 实例 ID。
缺省: 不启动 loopguard 功能。
命令模式: 端口模式
使用指南: 通过配置该命令, 可以避免单向链路失效导致 root 端口或 alternate 端口变成 designated 端口; 在端口收包定时器到时时将配置了 loopguard 的端口置为 Block 状态。
举例: 配置实例 0 的端口 1/0/2 为 loopguard 模式。
Switch(Config)#interface ethernet 1/0/2
Switch(Config-Ethernet-1/0/2)#spanning-tree mst 0 loopguard
Switch(Config-Ethernet-1/0/2)#
1.1.23 spanning-tree mst port-priority
命令:spanning-tree mst <instance-id> port-priority <port-priority>
no spanning-tree mst <instance-id> port-priority
功能: 设置当前端口在指定实例的优先级值;本命令的 no 操作为恢复缺省端口的优先级值。 参数: <instance-id>为指定实例的实例 ID,取值范围为 0~64;<port-priority>为端口优 先级值,取值范围为 0~240 之间的 16 倍数, 即取值范围为 0、16、32、48…240。
命令模式: 端口配置模式。
缺省情况: 端口缺省优先级值为 128。
使用指南: 通过配置端口优先级可以控制指定实例的端口 ID,进而影响该实例的根端口、 指定端口等选举。端口优先级值越小,优先级越高。
举例: 在端口 1/0/2 设置实例 1 的端口优先级为 32。
Switch(config)#interface ethernet 1/0/2
Switch(Config-If-Ethernet1/0/2)#spanning-tree mst 1 port-priority 32
1.1.24 spanning-tree mst priority
命令:spanning-tree mst <instance-id> priority <bridge-priority>
no spanning-tree mst <instance-id> priority
功能: 设置交换机在指定实例的网桥优先级; 本命令的 no 操作为恢复交换机在指定实例的 缺省优先级值。
参数: <instance-id>为指定实例的实例 ID,取值范围为 0~64;<bridge-priority>为交换 机的优先级,取值范围为 0~61440 之间的 4096 的倍数,即取值范围为 0 、4096 、 8192…61440。
命令模式: 全局配置模式。
缺省情况: 交换机缺省的优先级为 32768。
使用指南: 通过配置交换机网桥优先级可以改变指定实例的网桥 ID,进而用于该实例的根
网桥、指定端口等选举。交换机网桥优先级值越小,优先级越高。
举例: 配置交换机实例 2 的优先级为 4096。
Switch(config)#spanning-tree mst 2 priority 4096
1.1.25 spanning-tree mst rootguard
命令: spanning-tree mst <instance-id> rootguard
no spanning-tree mst <instance-id> rootguard
功能: 配置 spanning-tree 的指定实例上启动 rootguard 功能,本命令的 no 操作恢复为不在 该实例下启动该功能。
参数: <instance-id>:MSTP 实例 ID。
命令模式: 端口模式。
缺省情况: 不启动 rootguard 功能。
使用指南: 根保护功能是基于端口配置的,不允许端口成为 mstp 的根端口,也就是说端口 要始终保持在指定端口状态。如果在配置了 root guard 的端口接收到了更优的 bpdu 报文, 根保护功能会把该端口设置为 root_inconsistent(blocked)状态,而不是根据该 bpdu 重新计 算,选择出一个新的根端口。当交换机不再接收更优的 bpdu 报文, 该端口就不会再阻塞, 根据生成树协议,端口状态从 discarding ,learning,最后转变到 forwarding 状态。恢复是 自动的,不需要人为干预。通过 root guard 功能, 能够很好的保护二层网络的拓扑结构, 不会因为其它设备的加入而改变根网桥,从而不会改变现有网络用户数据所走的链路。
举例: 配置 spanning-tree 的实例 0 启动 rootguard 功能。
Switch(config)#interface ethernet 1/0/2
Switch(Config-If-Ethernet1/0/2)#spanning-tree mst 0 rootguard
Switch(Config-If-Ethernet1/0/2)#
1.1.26 spanning-tree portfast
命令:spanning-tree portfast [bpdufilter | bpduguard] [recovery <30-3600>] no spanning-tree portfast
功能: 配置端口为边缘端口,并指定模式 BPDU filter、BPDU guard 或缺省模式(协议规 定的模式, 即收到 BPDU 报文后转为非边缘端口)。本命令的 no 操作配置端口为非边缘端 口。
参数: bpdufilter:配置边缘端口模式为 BPDU filter
bpduguard:配置边缘端口模式为 BPDU guard
recovery:配置边缘端口执行bpduguard违背操作后可以自动恢复 <30-3600>:恢复时间,默认不进行恢复
命令模式: 端口模式。
缺省情况: 非边缘端口。
使用指南: 对于边缘端口可以在变为指定端口时直接进入转发态,而对于边缘端口可以有三 种模式,缺省模式下边缘端口收到 BPDU 后会转为非边缘端口。 BPDU filter 模式下收到 BPDU 会丢弃该报文不处理, BPDU guard 模式下收到 BPDU 会丢弃报文并关闭端口。同 时只能有一种模式。 no 命令将端口恢复为非边缘端口。
举例: 配置边缘端口模式为 BPDU guard,恢复时间为 60s。
Switch(config)#interface ethernet 1/0/2
Switch(Config-If-Ethernet1/0/2)#spanning-tree portfast bpduguard recovery 60 Switch(Config-If-Ethernet1/0/2)#
1.1.27 spanning-tree port-priority
命令: spanning-tree port-priority <port-priority>
no spanning-tree port-priority
功能: 配置端口的优先级。本命令的 no 操作为恢复缺省端口的优先级值。
参数: <port-priority> 为端口优先级值,取值范围为 0~240 之间的 16 倍数, 即取值范围 为 0、16、32、48…240。
命令模式: 端口模式。
缺省情况: 交换机缺省的优先级为 32768。
使用指南: 配置端口的优先级, 可以用于端口的选举。优先级值越小, 优先级越高。 举例: 配置端口 1 的优先级为 4096。
Switch(config-If-Ethernet1/0/1)#spanning-tree port-priority 4096
1.1.28 spanning-tree priority
命令:spanning-tree priority <bridge-priority>
no spanning-tree priority
功能: 设置交换机的网桥优先级;本命令的 no 操作为恢复交换机的缺省优先级值。
参数: <bridge-priority>为交换机的优先级, 取值范围为 0~61440 之间的 4096 的倍数, 即取值范围为 0、4096、8192…61440。
命令模式: 全局配置模式。
缺省情况: 交换机缺省的优先级为 32768。
使用指南: 通过配置交换机网桥优先级可以改变网桥 ID,进而用于根网桥、指定端口等选
举。交换机网桥优先级值越小, 优先级越高。
举例: 配置交换机的优先级为 4096。
Switch(config)#spanning-tree priority 4096
1.1.29 spanning-tree rootguard
命令: spanning-tree rootguard
no spanning-tree rootguard
功能: 设置端口为根端口。本命令的 no 操作为设置端口为非根端口。
参数: 无。
命令模式: 端口模式。
缺省情况: 端口为非根端口。
使用指南: 根保护功能是基于端口配置的,不允许端口成为 mstp 的根端口,也就是说端 口要始终保持在指定端口状态。如果在配置了 root guard 的端口接收到了更优的 bpdu 报 文, 根保护功能会把该端口设置为 root_inconsistent(blocked)状态, 而不是根据该 bpdu 重 新计算,选择出一个新的根端口。当交换机不再接收更优的 bpdu 报文, 该端口就不会再阻 塞,根据生成树协议,端口状态从 discarding ,learning,最后转变到 forwarding 状态。恢 复是自动的,不需要人为干预。通过 root guard 功能,能够很好的保护二层网络的拓扑结 构,不会因为其它设备的加入而改变根网桥, 从而不会改变现有网络用户数据所走的链路。 举例: 配置端口 1 为根端口。
Switch(config-If-Ethernet1/0/1)#spanning-tree rootguard
1.1.30 spanning-treetcflush (全局模式)
命令:spanning-treetcflush {enable | disable | protect}
no spanning-treetcflush
功能: 配置全局处理拓扑改变导致的 FLUSH 的方式, 其 no 形式恢复为默认的模式。 参数: enable:表示标准的每次 TC 都 FLUSH 的模式。
disable:表示对 TC 不做 FLUSH 处理。
protect:表示限制 TC 进行 FLUSH 的次数。
命令模式: 全局配置模式。
缺省情况: enable。
使用指南: 按协议要求,拓扑改变传播时,传播的端口应当清除 MAC/ARP 表(FLUSH), 但在实际环境中, 有时用户的网络比较单纯, 不需要也不希望每次拓扑改变都清除 MAC/ARP 表,同时要考虑可能有拓扑改变攻击的情况,因此,我们允许用户通过配置决定 拓扑改变传播时的行为。默认使用遵守协议的行为,可以配置为不 FLUSH 或每 10 秒最多 一次 FLUSH。注意: 如果网络环境比较复杂, 特别是用户可能从生成树的一个支路快速转 移到另一支路的情况, 不要使用 DISABLE 的方式。全局的配置对所有没有单独配置的端口 生效。
举例: 配置全局处理拓扑改变导致的 FLUSH 的方式为对 TC 不做 FLUSH 处理。 Switch(config)#spanning-tree tcflush disable
Switch(config)#
1.1.31 spanning-treetcflush (端口模式)
命令:spanning-treetcflush {enable | disable | protect}
no spanning-tree tcflush
功能: 配置端口处理拓扑改变导致的 FLUSH 的方式, 其 no 形式恢复为默认的模式。 参数: enable:表示标准的每次 TC 都 FLUSH 的模式。
disable:表示对 TC 不做 FLUSH 处理。
protect:表示限制 TC 进行 FLUSH 的次数。
命令模式: 端口配置模式。
缺省情况: 使用全局的模式。
使用指南: 按协议要求,拓扑改变传播时,传播的端口应当清除 MAC/ARP 表(FLUSH), 但在实际环境中, 有时用户的网络比较单纯, 不需要也不希望每次拓扑改变都清除 MAC/ARP 表,同时要考虑可能有拓扑改变攻击的情况,因此,我们允许用户通过配置决定 拓扑改变传播时的行为。默认使用遵守协议的行为,可以配置为不 FLUSH 或每 10 秒最多 一次 FLUSH。注意: 如果网络环境比较复杂, 特别是用户可能从生成树的一个支路快速转 移到另一支路的情况,不要使用 DISABLE 的方式。
举例: 配置端口处理拓扑改变导致的 FLUSH 的方式为对 TC 不做 FLUSH 处理。 Switch(config)#interface ethernet 1/0/2
Switch(Config-If-Ethernet1/0/2)#spanning-tree tcflush disable
Switch(Config-If-Ethernet1/0/2)#
1.1.32 spanning-tree transmit-hold-count
命令: spanning-tree transmit-hold-count <tx-hold-count-value>
no spanning-tree transmit-hold-count
功能: 设置端口的最大发送速率。
参数: tx-hold-count-value:取值范围是 1-20,默认值是 10。
命令模式: 全局配置模式。
缺省情况: 默认值是 10。
使用指南: 在每一个 Hello Time 时间间隔内可以发送的最大 BPDU 数,用于控制 BPDU 的 流量。该变量值应用于整个 MST 网桥。
举例: 设置最大发送速率为 20。
Switch(config)#spanning-tree transmit-hold-count 20
1.2 监测和调试命令
1.2.1 debug spanning-tree
命令:debug spanning-tree
no debug spanning-tree
功能: 打开 MSTP 的调试信息; 本命令的 no 操作为关闭 MSTP 调试信息。 命令模式: 特权模式。
使用指南: 该命令是 MSTP 庞大复杂 debug 功能的总开关,逐级打开需要 debug 的相应 信息开关后再打开此总开关就能够输出 debug 打印信息了。各级 debug 开关的功能包括: 查看 MSTP 协议运行中 bpdu 报文的发送接收、事件的处理、状态机、计时器等等。 一般情 况下, 这些调试信息是给技术人员调试使用, 用户不需要关注。
举例: 打开端口 1/0/1 接收 BPDU 报文的 debug 信息。
Switch#debug spanning-tree
Switch#debug spanning-tree bpdu rx interface e1/0/1
1.2.2 show mst-pending
命令:show mst-pending
功能: 在 MSTP 域配置模式下显示当前配置的 MSTP 域的参数配置情况。 命令模式: 特权和配置模式。
使用指南: 在 MSTP 域配置模式下,输入本命令可以查看 MSTP 域当前的配置参数,如 MSTP 域名字、修正数值、VLAN 和 Instance 的映射情况。
注意: 在退出 MSTP 域配置模式之前,该命令显示的参数配置情况可能尚未生效。 举例: 显示交换机的 MSTP 域当前的参数配置情况。
Switch(config)#spanning-tree mst configuration
Switch(Config-Mstp-Region)#show mst-pending
Switch(Config-Mstp-Region)#
1.2.3 show spanning-tree
命令:show spanning-tree [mst [<instance-id>]] [interface <interface-list>] [detail] 功能: 显示 MSTP 协议及各实例信息。
参数: <interface-list> 为 端 口 列 表 ; <instance-id> 为 实 例 的 值 , 范 围 为 0-64 ; <interface-list>为端口列表; detail 为显示详细的 spanning-tree 信息。
命令模式: 特权和配置模式。
使用指南: 通过 show spanning-tree 命令可以查看该网桥及各实例的 MSTP 信息, 域配置 信息以及端口的 MSTP 信息等。
举例: 显示网桥 MSTP 信息,显示信息内容如下表所示。
########### Instance 0 ###########################
显示内容 |
解释 |
网桥信息 |
|
Standard |
STP 版本 |
Bridge MAC |
代表本网桥的 MAC |
Bridge Times |
本网桥 MaxAge,Hello Time 及 Forward Delay 的配置值 |
Force Version |
当前运行 stp 协议的 Version 值 |
实例信息 |
|
Self Bridge Id |
该实例对应的本网桥优先级及 MAC |
Root Id |
该实例对应的根网桥优先级及 MAC |
Ext.RootPathCost |
网桥到整个网络总根的路径代价 |
Int.RootPathCost |
网桥到该实例域根的路径代价 |
Root Port ID |
网桥上该实例的根端口 |
该实例上 MSTP 协议生 效的端口列表 |
|
PortName |
端口名字 |
ID |
端口优先级及端口 index 索引值 |
ExtRPC |
端口到整个网络总根的路径代价 |
IntRPC |
端口到该实例域根的路径代价 |
State |
该实例对应的端口状态 |
Role |
该实例对应的端口角色 |
DsgBridge |
该实例端口对应的上游指定网桥 |
DsgPort |
该实例端口对应的上游指定端口 |
1.2.4 show spanning-tree mst config
命令:show spanning-tree mst config
功能: 在特权模式下显示生效的 MSTP 域的参数配置情况。
命令模式: 特权和配置模式。
使用指南: 在特权配置模式下,输入本命令可以查看 MSTP 域生效的当前参数,如 MSTP 域 名、 修正数值、 VLAN 和 Instance 的映射情况。
举例: 显示交换机的 MSTP 域的配置情况。
1.3 MSTP 多线程配置命令介绍
1.3.1 spanning-tree process
命令: spanning-tree process <process-id>
no spanning-tree process <process-id>
功能: 创建新的 mstp 线程。
参数: process-id:取值范围是 1-31。
命令模式: 全局配置模式。
缺省情况: 无。
使用指南: 创建新的 mstp 线程,一台设备可配置多个 mstp 线程, 各线程相互独立, 互不 影响; 默认设备只存在线程 0。
举例: 创建 mstp 线程 1。
Switch(config)#spanning-tree process 1
1.3.2 spanning-tree tc-notify process0
命令: spanning-treetc-notify process0
no spanning-tree tc-notify process0
功能: 线程 N 将 tc 通告给 mstp 线程 0 中的实例。
参数: 无。
命令模式: mstp 线程配置模式。
缺省情况: 无。
使用指南: mstp 线程 N 中有拓扑变化时, 设备会收到 tc 报文, 同时, 在共享链路上,线程
N 需将 tc 通告给 mstp 线程 0 中的实例, 使得线程 0 也刷新相关表项, 以保证数据流量不中 断。
举例: 配置线程 1 的 TC 通告通知线程 0。
Switch(Config-Mstp-Process-1)#spanning-tree tc-notify process0
1.3.3 spanning-tree binding-process
命令: spanning-tree binding-process <process-id>
no spanning-tree binding-process <process-id>
功能: 把端口加入到线程 N。
参数: process-id:取值范围是 1-31。
命令模式: 端口配置模式。
缺省情况: 所有端口都属于线程 0。
使用指南: 配置端口加入指定 mstp 线程 N,此时端口从原来的线程 0 进入线程 N。本命令 与设置共享端口命令(link-share)互斥。
举例: 将端口 1/0/2 加入线程 1。
Switch(Config-If-Ethernet1/0/2)#spanning-tree binding-process 1
1.3.4 spanning-tree binding-process link-share
命令: spanning-tree binding-process < process-id > link-share
no spanning-tree binding-process < process-id > link-share
功能: 设置端口属于线程 N 的共享端口。
参数: process-id:取值范围是 1-31。
命令模式: 端口配置模式。
缺省情况: 端口只参与线程 0 的 mstp 计算。
使用指南: 设置端口属于线程 N 的共享端口。除线程 0 外, 配置端口还可以参与多个 mstp 线程的计算,但端口状态只由线程 0 设置。本命令可多次配置。
举例: 将端口 1/0/2 设置为线程 1 和 0 的共享端口。
Switch(Config-If-Ethernet1/0/2)#spanning-tree binding-process 1 link-share
2.1 ethernet tcn-propagation erps to {erps | stp}
命令: ethernet tcn-propagation erps to {erps | stp}
no ethernet tcn-propagation erps to
功能: 配置拓扑变化传播通知方式。目前支持 ERPS 环间的 R-APS event 通知,主要用于子 环拓扑变化后向交叉环发送 R-APS event 报文通知邻居环。默认拓扑变化只在本环内产生影 响,不传播到环以外范围,即不影响与之连接的邻居拓扑。本命令的 no 操作为删除拓扑变 化传播通知方式。
参数: erps:拓扑变化发送 R-APS event 报文通知本设备上的连接环; stp:拓扑变化发送 stp 报文通知本设备上连接的 stp 拓扑。
缺省状态: ERPS 环拓扑变化只在本环内产生影响, 不发送通知报文。
命令模式: 全局模式。
使用指南: 配置本设备支持的拓扑变化传播通知方式为指定方式; 本设备上 ERPS 环实例检 测到 ERPS 环拓扑变化, 根据配置发送通知报文: 如果配置了 erps 方式,则向本设备上的 其它 ERPS 环发送 R-APS event 报文;如果配置了 stp 方式, 则向外发送 stp 报文。
举例:
配置拓扑发生变化后向相交环发送 R-APS event 通知。
Switch(config)#ethernet tcn-propagation erps to erps
配置拓扑发生变化后向相交环发送 STP 通知。
Switch(config)#ethernet tcn-propagation erps to stp
删除拓扑变化传播通知方式。
Switch(config)#no ethernet tcn-propagation erps to
2.2 erps-ring <ring-name>
命令: erps-ring < ring-name >
no erps-ring < ring-name >
功能: 创建 ERPS 环,并进入 ERPS 环配置模式。如果该 ERPS 环已经存在,则进入 ERPS 环配置模式。本命令的 no 操作为删除 ERPS 环。
参数: <ring-name>:要创建的 ERPS 环名称,最大字符数为 64, 由字母、数字、下划线组 成,首尾字符不能为下划线。
命令模式: 全局配置模式。
缺省状态: 没有配置任何 ERPS 环。
使用指南: 如果输入 ring name 字符串长度超过 64 字节, 提示错误“Valid ERPS ring name should be no more than 64 bytes!”;如果输入 ring name 字符串格式不合法,提示错误“Invalid ERPS ring name!”;如果该设备配置 ERPS ring 总数已达到最多值, 提示错误“Support ERPS ring max number: 32!”;如果存在该 ERPS 环则进入 ERPS 环配置模式,否则创建并进入 ERPS 环配置模式。
举例:
创建 ERPS 环 ring1。
Switch(config)#erps-ring ring1
Switch(config-erps-ring)#
删除 EPRS 环 ring1。
Switch(config)#no erps-ring ring1
2.3 version {v1 | v2}
命令: version {v1 | v2}
no version
功能: 配置 ERPS 环的支持版本,本次实现为最新的 v2 版本,能与 v1 版本兼容, v1 版本 不支持 MS 、FS 等管理命令,不支持多实例, 并且只支持可逆倒换机制。如果 ERPS 环上 没有配置实例, 可以多次配置支持版本, 以最后一次配置为准。如果环上已配置 ERPS 环实 例,则不能修改支持版本。本命令的 no 操作为 ERPS 环恢复成缺省状态,默认支持 V2 版 本。
参数: {v1 | v2}:参数选择, v1 表示支持 2008-06 发布的 v1 版本及修正案(2009-04)。v2 表示支持 2010-03 发布的 v2 版本及其修正案(2010-06)。
命令模式:ERPS 环配置模式。
缺省状态: 默认支持 v2 版本。
使用指南:
1.如果该 ERPS 环上已配置了 ERPS 环实例, 提示错误“Cann't config version on ERPS ring whitch has ERPS instance, please delete ERPS instance firstly!”,否则进入下一步处理;
2.设置 ERPS 环支持指定的协议版本;
3.如果配置 ERPS 环支持 v1 版本,则该环不支持多实例, ERPS 环实例不支持 MS、FS 等管 理命令,并且不可逆配置无效, 强制只支持可逆切换机制。
4.如果配置 ERPS 环支持 v1 版本,则该环上实例处理 ERPS 报文按照 v1 格式要求, 即按照 v1 版本格式封装 R-APS 报文和解析处理各字段,v2 定义字段忽略不处理。
举例:
配置 ERPS 环 ring1 支持 v1 版本协议。
Switch(config)#erps-ring ring1
Switch(config-erps-ring)#version v1
配置 ERPS 环 ring1 支持 v2 版本协议。
Switch(config)#erps-ring ring1
Switch(config-erps-ring)#version v2
删除 ERPS 环 ring1 支持的 V1 版本协议
Switch(config)#erps-ring ring1
Switch(config-erps-ring)#no version
2.4 open-ring
命令: open-ring
no open-ring
功能: 配置 ERPS 环为子环开放类型。如果环上已经配置 ERPS 环实例, 则不能修改 ERPS
环类型,必须先删除 ERPS 环实例。环中所有节点必须配置一致, 该类型 ERPS 可以与其它 ERPS 环相连接, 用于环交叉拓扑。本命令的 no 操作为删除 ERPS 环为子环开放类型,恢复 为默认的主环封闭类型。
参数: 无。
命令模式: ERPS 环配置模式。
缺省状态: 默认 ERPS 环为主环封闭类型。
使用指南: 如果环上已经配置 ERPS 环实例, 提示错误“Cann't config open-ring on ERPS ring whitch has ERPS instance, please delete ERPS instance firstly!”,否则进入下一步处理; 配置该 ERPS 环类型为子环类型。
举例:
配置 ERPS 环 ring1 为子环开放类型。
Switch(config)#erps-ring ring1
Switch(config-erps-ring)#open-ring
删除 ERPS 环 ring1 为子环开放类型。
Switch(config)#erps-ring ring1
Switch(config-erps-ring)#no open-ring
2.5 raps-virtual-channel {with | without}
命令: raps-virtual-channel {with | without}
功能:配置 ERPS 环是否存在 R-APS 虚通道。只在子环中所有节点上配置,配置必须一致。 参数: {with | without}:参数选择,若选择 with 表示该 ERPS 环存在 R-APS 虚通道, 若选择
without 表示该 ERPS 环不存在 R-APS 虚通道。
命令模式:ERPS 环配置模式。
缺省状态: ERPS 环不存在 R-APS 虚通道。
使用指南:
a)如果是主环,提示错误“Cann't config R-APS virtual channel on ERPS major ring!”; b)按照配置设置该 ERPS 环是否存在 R-APS 虚通道。
输出: 配置成功或提示错误。如果该 ERPS 环不存在 R-APS 虚通道,则该 ERPS 环上所有 实例的 R-APS 通道永远畅通,只 block 数据通道;否则 R-APS 通道和数据通道一同被 block。
举例:
配置 ERPS 子环 ring1 存在 R-APS 虚通道。
Switch(config)#erps-ring ring1
Switch(config-erps-ring)#raps-virtual-channel with
2.6 erps-ring <ring-name> port0 [port1-none]
命令: erps-ring <ring-name> port0 [port1-none]
no erps-ring <ring-name> port0
功能: 配置 ERPS 环节点的 port0。每个环节点只有一个 port0,如果 port0 已经存在,则不 会覆盖此前的配置, 只是提示错误。若配置了 port1-none 表示该环没有 port1,为交叉节点。 本命令的 no 操作为删除 ERPS 配置的 port0。
参数: <ring-name> :ERPS 环名称, 最大字符数为 64, 由字母、数字、下划线组成,首尾
字符不能为下划线。
[port1-none]:表示该 ERPS 环节点只有 port0,没有 port1,为交叉节点。
命令模式:端口配置模式。
缺省状态: ERPS 环未配置 port0。
使用指南:
如果输入 ring name 字符串长度超过 64 字节, 提示错误“Valid ERPS ring name should be no more than 64 bytes!ℽ ;
如果输入 ring name 字符串格式不合法,提示错误“Invalid ERPS ring name!”;
如果该端口开启 stp 互斥功能,提示错误“Port %s has enable stp or other mutex module!” ,%s 为端口名;
如果该端口为汇聚口的成员端口,提示错误“Port %s is LAG member port!” ,%s 为端口名; 如果该 ERPS 环不存在, 提示错误“The ERPS ring doesn't exist!”;
如果该 ERPS 环已存在 port0,提示错误“Port0 exists on the ERPS ring already!”;
如果该端口已配置为该 ERPS 环的 port1,提示错误“Port %s is already configedasport1 on the ERPS ring!” ,%s 为端口名;
如果该 ERPS 环不是 open-ring 类型,则不能配置 port1-none,提示错误“Can not config port1-none on ERPS major ring!”;
配置该端口为指定 ERPS 环的 port0;
检查配置 ERPS 环配置是否完整,若完整则检查其上 ERPS 实例配置是否完整, 若完整则激 活实例为 active,运行协议。
举例:
配置 e 1/0/1 为 ERPS 环 ring1 的 port0。
Switch(config)#interface ethernet 1/0/1
Switch(config-if-ethernet1/0/1)#erps-ring ring1 port0
删除 e1/0/1 为 ERPS 环 ring1 的 port0。
Switch(config)#interface ethernet 1/0/1
Switch(config-if-ethernet1/0/1)#no erps-ring ring1 port0
2.7 erps-ring <ring-name> port1
命令: erps-ring <ring-name> port1
no erps-ring <ring-name> port1
功能: 配置 ERPS 环节点的 port1。每个环节点只有一个 port1,如果 port1 已经存在,则不 会覆盖此前的配置, 只是提示错误。若配置了 port1-none,则配置 port1 不成功。 本命令的 no 操作为删除 ERPS 环配置 port1。
参数: <ring-name>:ERPS 环名称, 最大字符数为 64,由字母、数字、下划线组成,首尾 字符不能为下划线。
命令模式: 端口配置模式。
缺省状态: ERPS 环未配置 port1。
使用指南:
如果输入 ring name 字符串长度超过 64 字节, 提示错误“Valid ERPS ring name should be no more than 64 bytes!ℽ ;
如果输入 ring name 字符串格式不合法,提示错误“Invalid ERPS ring name!”;
如果该端口开启 stp 互斥功能,提示错误“Port %s has enable stp or other mutex module!” ,%s
为端口名;
如果该端口为汇聚口的成员端口,提示错误“Port %s is LAG member port!” ,%s 为端口名; 如果该 ERPS 环不存在, 提示错误“The ERPS ring doesn't exist!”;
如果该 ERPS 环已存在 port1,提示错误“Port1 exists on the ERPS ring already!”;
如果该端口已配置为该 ERPS 环的 port0,提示错误“Port %s is already configedasport0 on the ERPS ring!” ,%s 为端口名;
如果该 ERPS 环配置了 port1-none,提示错误“Has configed port1-none on the ERPS open ring!”;
配置该端口为指定 ERPS 环的 port1;
检查该 ERPS 环是否配置完整, 若完整则检查 ERPS 环上所有实例是否配置完整, 若完整则 激活 ERPS 实例为 active,运行协议。
举例:
配置 e1/0/1 为 ERPS 环 ring1 的 port1。
Switch(config)#interface ethernet 1/0/1
Switch(config-if-ethernet1/0/1)#erps-ring ring1 port1
删除 e1/0/1 为 ERPS 环 ring1 的 port1。
Switch(config)#interface ethernet 1/0/1
Switch(config-if-ethernet1/0/1)#no erps-ring ring1 port1
2.8 failure-detect {cc | physical-link-or-cc} domain <domain-name> service {< ma-name > | number <
ma-num > | pvlan < vlan-id >} mep <mep-id>
rmep<rmep-id>
命令: {port0 | port1} failure-detect {cc | physical-link-or-cc} domain <domain-name> service
{< ma-name > | number < ma-num > | pvlan < vlan-id >} mep <mep-id> rmep<rmep-id> no {port0 | port1} failure-detect
功能: 配置 ERPS 环端口的故障检测类型。如果检测的为 cc 类型, 则需要指明 cc 所属维护 域,所属维护集,以及监控的链路(由(mep-id ,rmep-id)确定)。配置故障检测类型前提 是已把相应环端口加入了 ERPS 环。 本命令的 no 操作为删除环端口故障检测类型。
参数: {port0 | port1}:参数选择,port0 表示要配置 port0 的故障检测类型。port1 表示要配 置 port1 的故障检测类型。
{cc | physical-link-or-cc}: 参数选择, cc 表示 ERPS 环端口检测的为 cc 上报故障。 physical-link-or-cc 表示 ERPS 环端口检测的为 cc 上报故障和物理链路故障。
<domain-name>:表示 ERPS 环端口检测的 cfm 所属域名字。
<ma-name>:ERPS 环端口检测的 cfm 所属 service 名字。
<mep-id>:ERPS 环端口检测的 cfm 监控的本地 mepid。
<rmep-id>:ERPS 环端口检测的 cfm 监控的远端 mepid。
命令模式: ERPS 环配置模式。
缺省状态: 默认 ERPS 环端口只检测物理链路故障。
使用指南: 如果输入 domain name 字符串长度超过 43 字节,提示错误“Valid domain name
should be no more than 43 bytes!ℽ ;
如果输入 domain name 字符串格式错误, 提示错误“Invalid domain name!”;
如果输入 service name 字符串长度超过 45 字节, 提示错误“Valid service name should be no more than 45 bytes!ℽ ;
如果输入 service name 字符串格式错误, 提示错误“Invalid service name!”;
如果 local mep 和 remote mep 相同, 提示错误“The local mep cannot be the same as the remote mep!”,否则进入下一步处理;
配置该 ERPS 环端口的故障检测类型为指定类型,如果检测类型为 cc,保存配置的 md、ma、 mep 和 rmep 信息,用于接收到 cfm 故障通知后进行匹配。
举例:
配置 ERPS 环 ring1 的 port0 故障检测类型为 cc。
Switch(config)#erps-ring ring1
Switch(config-erps-ring)#port0 failure-defect cc domain domain1 service serivice1 mep 1 rmep 2 删除 ERPS 环 ring1 的 port0 故障检测类型为 cc。
Switch(config)#erps-ring ring1
Switch(config-erps-ring)#no port0 failure-defect
2.9 erps-instance <instance-id>
命令: erps-instance <instance-id>
no erps-instance <instance-id>
功能: 创建 ERPS 环上实例,并进入 ERPS 环实例配置模式。如果该 ERPS 环实例已经存在, 则进入 ERPS 实例配置模式。若 ERPS 环支持 v2 版本,则可配置多个 ERPS 环实例。本命 令的 no 操作为删除 ERPS 环实例。
参数: <instance-id>:ERPS 环实例 id,范围:1~48。
命令模式: ERPS 环配置模式。
缺省状态: 没有配置任何 ERPS 环实例。
使用指南:如果所在ERPS 环支持版本 1,当配置多于一个ERPS instance 时,提示错误“Doesn't support multiple ERPS instance capability on the ring running version 1!”;
如果该 ERPS 环上配置多于最大可支持的 ERPS instance 时,提示错误“Support ERPS instance max number: 32 per ERPS ring!”;
如果 ERPS 环上存在该 ERPS 环实例,则进入 ERPS 环实例配置模式;
否则创建相应 ERPS 环实例并进入 ERPS 实例配置模式;
举例:
在 ERPS 环 ring1 上配置 ERPS 环实例 1。
Switch(config)#erps-ring ring1
Switch(config-erps-ring)#erps-instance 1
Switch(config-erps-ring-inst- 1)#
删除 ERPS 环 ring1 上配置 ERPS 环实例 1。
Switch(config)#erps-ring ring1
Switch(config-erps-ring)#no erps-instance 1
Switch(config-erps-ring-inst- 1)#
2.10 description
命令: description <instance-name>
no description <instance-name>
功能: 配置 ERPS 实例的描述字符串。
参数: <instance-name>:ERPS 实例名称,最大字符数为 64,由字母、数字、下划线组成, 首尾字符不能为下划线。 本命令的 no 操作为删除 ERPS 环实例名称。
命令模式: ERPS 实例配置模式。
缺省状态: 默认没有配置 ERPS 实例名称。
使用指南: 判断字符串长度,如果超过 64,则提示错误“Valid ERPS instance name should be no more than 64 bytes!ℽ ;如果输入字符串格式非法, 提示错误“Invalid ERPS instance name!”; 否则设置 ERPS 实例名称为指定字符串。
举例:
配置 ERPS 环 ring1 上的实例 1 的名称为 instance1。
Switch(config)#erps-ring ring1
Switch(config-erps-ring)#erps-instance 1
Switch(config-erps-ring-inst- 1)# description instance1
删除 ERPS 环 ring1 上的实例 1 的名称为 instance1。
Switch(config)#erps-ring ring1
Switch(config-erps-ring)#erps-instance 1
Switch(config-erps-ring-inst- 1)# no description
2.11 ring-id <ring-id>
命令: ring-id <ring-id>
no ring-id <ring-id>
功能: 配置 ERPS 环节点发出的 R-APS 报文中目的 MAC 地址最后一个字节携带 ring-id,如 果 ERPS 环支持 v1 版本,ring-id 只能配置为 1 。本命令的 no 操作为配置 ERPS 环节点发出 的 R-APS 报文中目的 MAC 地址不携带 ring-id,即目的 MAC 为 01- 19-A7-00-00-01。
参数: <ring-id>:ERPS 环 id,范围: 1~64。
命令模式: ERPS 环实例配置模式。
缺省状态: 默认发出的 R-APS 报文中目的 MAC 地址为 01- 19-A7-00-00-01。
使用指南: 如果 ERPS 环支持 v1 版本,ring-id 只能配置为 1,因为 v1 版本只支持目的 MAC 地址‘01- 19-A7-00-00-01’,否则提示错误“Cann't config ringid other than 1 on the ERPS ring running version 1!”;
如果 ERPS 环支持 v2 版本,配置该 ERPS 环上实例发出的 R-APS 报文中目的 MAC 地址的 最后一个字节携带值为指定 ring-id。
举例:
配置 ERPS 环 ring1 上实例 2 发送的 R-APS 报文中目的 mac 最后一个字节为 ring-id 2。
Switch(config)#erps-ring ring1
Switch(config-erps-ring)#erps-instance 2
Switch(config-erps-ring-inst-2)#ring-id 2
配置 ERPS 环 ring1 上实例 2 发送的 R-APS 报文中目的 MAC 地址不携带 ring-id,即目的
MAC 为 01- 19-A7-00-00-01
Switch(config)#erps-ring ring1
Switch(config-erps-ring)#erps-instance 2
Switch(config-erps-ring-inst-2)#no ring-id
2.12 rpl {port0 | port1} {owner | neighbour}
命令: rpl {port0 | port1} {owner | neighbour}
no rpl {port0 | port1}
功能: 配置 ERPS 环实例的成员端口为 RPL owner 或 RPL neighbour,同一ERPS 环上不同 实例的 RPL 节点角色不能配置在同一成员端口上。本命令的 no 操作为配置 ERPS 环实例的 成员端口为普通传输端口角色。
参数: {port0 | port1}:参数选择,port0 表示要配置 port0 在 ERPS 环实例中的 RPL 角色, port1 表示要配置 port1 在 ERPS 环实例中的 RPL 角色。
{owner | neighbour }:参数选择,owner 表示配置指定成员端口为 rpl owner 角色; neighbour 表示配置指定成员端口为 rpl neighbour 角色。
命令模式: ERPS 环实例配置模式。
缺省状态: 无,即普通传输节点类型。
使用指南: 如果配置了 port1-none,则不能配置 port1 的节点角色,提示错误“Has configed port1-none on the ERPS open ring!”;
如果该实例节点已经是 rpl owner 或 rpl neighbour,则不能再对任何成员端口执行该命令,提 示错误“Has configed port rpl role: %son the ERPS instance!” ,%s 为已配置的 rpl 角色;
如果该实例所在 ERPS 环上其它实例已设置了指定 rpl 角色,提示错误“Has configed port rpl role: %s in this or other ERPS instance on the ERPS ring!”;设置该实例所在 ERPS 环上的指定 成员端口为该实例上的指定节点角色。
举例:
配置 ERPS 环 ring1 上的实例 1 中 port0 为 RPL 拥有节点。
Switch(config)#erps-ring ring1
Switch(config-erps-ring)#erps-instance 1
Switch(config-erps-ring-inst- 1)# rpl port0 owner
配置 ERPS 环 ring1 实例 1 的端口 port0 为普通传输端口角色
Switch(config)#erps-ring ring1
Switch(config-erps-ring)#erps-instance 1
Switch(config-erps-ring-inst- 1)# norpl port0
2.13 non-revertive
命令: non-revertive
no non-revertive
功能: 配置 ERPS 环实例为不可逆切换机制, 如果该 ERPS 环支持 v1 版本, 则该命令无效, 不能配置。本命令的 no 操作为配置 ERPS 环实例为可逆切换机制, 如果该 ERPS 环支持 v1 版本, 则该命令无效。该命令只在子环的 RPL 拥有节点上配置即可。
参数: 无。
命令模式: ERPS 环实例配置模式。
缺省状态: 默认 ERPS 环实例支持可逆切换机制。
使用指南: 如果 ERPS 环支持 v1 版本,提示错误“Cann't config non-revertive on the ERPS ring running version 1!”;
如果 ERPS 环支持 v2 版本,配置该 ERPS 环实例支持不可逆切换机制。
举例:
配置 ERPS 环 ring1 上的实例 1 支持不可逆切换机制。
Switch(config)#erps-ring ring1
Switch(config-erps-ring)#erps-instance 1
Switch(config-erps-ring-inst- 1)#non-revertive
删除 ERPS 环 ring1 上的实例 1 支持不可逆切换机制。
Switch(config)#erps-ring ring1
Switch(config-erps-ring)#erps-instance 1
Switch(config-erps-ring-inst- 1)#nonon-revertive
2.14 guard-timer <guard-times>
命令: guard-timer <guard-times>
no guard-timer
功能: 配置 Guard 定时器。Guard 定时器用于以太网环节点避免依据过时的 R-APS 报文作 出错误处理,避免形成封闭环路。在定时器开启时间内,接收到的任何 R-APS 报文 (Request/State=“1110”的 R-APS 报文除外)都被丢掉不处理。本命令 no 操作为配置 Guard 定时器为默认值。
参数: <guard-times>:时间间隔为 10ms,范围为 10ms~2s。
命令模式: ERPS 环实例配置模式。
缺省状态: 500ms。
使用指南: 如果定时器没开启, 则设置 ERPS 环实例的 Guard 定时器为指定时间;
如果定时器已开启, 则立即将 ERPS 环实例的 Guard 定时器设置为配置值, 定时器不清零, 仍按照最近最后一次配置时间运行, 本次配置下一次生效。
举例:
配置 ERPS 环 ring1 上实例 1 的 guard timer 为 1s。
Switch(config)#erps-ring ring1
Switch(config-erps-ring)#erps-instance 1
Switch(config-erps-ring-inst- 1)guard-timer 100
配置 ERPS 环 ring1 上实例 1 的 guard 定时器为默认值
Switch(config)#erps-ring ring1
Switch(config-erps-ring)#erps-instance 1
Switch(config-erps-ring-inst- 1) no guard-timer
2.15 holdoff-timer < holdoff-times>
命令: holdoff -timer <holdoff-times>
no holdoff -timer
功能: 配置 Holdoff 定时器。 Holdoff 定时器用于以太网环节点阻塞故障上报时间。当发生 一个新故障或更严重故障时,如果可用的 holdoff timer 不为 0,该故障并不立刻上报给保护 切换处理, 而是开启 holdoff timer。当定时器超时后,检查开启定时器的链路确认故障是否 仍存在,如果仍有故障存在, 则上报故障进行保护切换处理,该故障不一定是开启定时器的 故障。本命令 no 操作为配置 ERPS 环 Holdoff 定时器为默认值。
参数: <holdoff-times>:时间间隔为 1s,取值范围为 0~10s。
命令模式: ERPS 环实例配置模式。
缺省状态: 0s。
使用指南: 如果定时器没开启, 则设置 ERPS 环实例的 Holdoff 定时器为指定时间;
如果定时器已开启,则立即将 ERPS 环实例的 Holdoff 定时器设置为配置值,定时器不清零, 仍按照最近最后一次配置时间运行, 本次配置下一次生效。
举例:
配置 ERPS 环 ring1 上实例 1 的 Holdoff 定时器为 5s。
Switch(config)#erps-ring ring1
Switch(config-erps-ring)#erps-instance 1
Switch(config-erps-ring-inst- 1)#holdoff-timer 5
配置 ERPS 环 ring1 上实例 1 的 Holdoff 定时器为默认值。
Switch(config)#erps-ring ring1
Switch(config-erps-ring)#erps-instance 1
Switch(config-erps-ring-inst- 1)#no holdoff-timer
2.16 wtr-timer <wtr-times>
命令: wtr-timer <wtr-times>
nowtr-timer
功能: 配置 WTR 定时器。WTR 定时器用来避免 RPL 拥有节点由于周期性(间断性)故障 引起的频繁保护切换操作。当 RPL Owner 端口收到故障恢复报文后,等待一段时间,以检 查链路上其它节点是否仍然存在故障,防止立即阻塞 RPL Owner 端口而引起阻塞点震荡。
本命名 no 操作为配置 ERPS 环 WTR 定时器为默认值。
参数: <wtr-times>:间隔为 1min,范围为 1~12min。
命令模式: ERPS 环实例配置模式。
缺省状态: 5min。
使用指南: 如果定时器没开启, 则设置 ERPS 环实例的 WTR 定时器为指定时间;
如果定时器已开启, 则立即将 ERPS 环实例的 WTR 定时器设置为配置值,定时器不清零, 仍按照最近最后一次配置时间运行, 本次配置下一次生效。
举例:
配置 ERPS 环 ring1 上实例 1 的 WTR 定时器为 10min。
Switch(config)#erps-ring ring1
Switch(config-erps-ring)#erps-instance 1
Switch(config-erps-ring-inst- 1)#wtr-timer 10
配置 ERPS 环 ring1 上实例 1 的 WTR 定时器为默认值。
Switch(config)#erps-ring ring1
Switch(config-erps-ring)#erps-instance 1
Switch(config-erps-ring-inst- 1)#nowtr-timer
2.17 protected-instance
命令: protected-instance <instance-list>
no protected-instance <instance-list>
功能: 配置 ERPS 环实例的保护实例。ERPS 环实例可以保护所有的 MSTP 实例。同一个实 例不能被同一个拓扑下的多个 ERPS 环实例引用。在同一ERPS 环实例下多次执行该命令配 置保护实例,结果按多次执行命令的累加生效。本命令 no 操作删除 ERPS 环实例的保护实 例。
参数: <instance-list>:表示 ERPS 环实例保护的 MSTP 实例列表,形势如:i;j-k。列表中 实例的数量不限制。
命令模式: ERPS 环实例配置模式。
缺省状态: ERPS 环实例不保护任何 MSTP 实例。
使用指南: 如果输入实例已被其它 ERPS 实例保护,则提示错误“Instance: %d is protected by erps instance: %don ring: %s!”,第一个%d 为mstp instance id,第二个%d 为 erps instance id,%s 为 ERPS 环名;
配置 ERPS 环实例的保护实例为指定 MSTP 实例;
检查 ERPS 实例配置是否完整, 若完整则激活实例为 active,运行协议。
举例:
配置 ERPS 环 ring1 上实例 1 的保护实例为 instance 2。
Switch(config)#erps-ring ring1
Switch(config-erps-ring)#erps-instance 1
Switch(config-erps-ring-inst- 1)#protected-instance 2
删除 ERPS 环 ring1 上实例 1 的保护实例 instance 2。
Switch(config)#erps-ring ring1
Switch(config-erps-ring)#erps-instance 1
Switch(config-erps-ring-inst- 1)#no protected-instance 2
2.18 raps-mel <level-value>
命令: raps-mel <level-value>
no raps-mel
功能: 配置 R-APS channel 的 level。
参数: <level-value>:表示 APS 报文的 level 值, 范围为:0~7。
命令模式: ERPS 环实例配置模式。
缺省状态: level 为 7。
使用指南: 设置 ERPS 环实例的 R-APS channel 的 level 为指定级别。配置成功,则该 ERPS 环实例发出的R-APS 报文中mel 字段填充为指定级别,并只允许大于或等于该level 的R-APS 报文通过, 或提示配置错误。本命令 no 操作为配置 R-APS channel 的 level 为默认值 7。协 议报文中的 MEL 字段用于检测当前报文是否能通过。如果 ERPS 环中配置的 MEL 值比故 障检测协议中的 MEL 值小,则表明报文等级低而无法通过。实例上所有节点的 level 配置 必须一致。
举例:
配置 ERPS 环 ring1 上实例 1 的 R-APS channel 允许 level 为 5。
Switch(config)#erps-ring ring1
Switch(config-erps-ring)#erps-instance 1
Switch(config-erps-ring-inst- 1)raps-mel 5
配置 ERPS 环 ring1 上实例 1 的 R-APS channel 允许 level 为 7。
Switch(config)#erps-ring ring1
Switch(config-erps-ring)#erps-instance 1
Switch(config-erps-ring-inst- 1)no raps-mel
2.19 control-vlan <vlan-id>
命令: control-vlan <vlan-id>
no control-vlan
功能: 配置 R-APS channel 传输 R-APS 报文的控制 VLAN。在 ERPS 环实例中, 该 VLAN 只用来传递 ERPS 协议报文,不用来转发用户业务报文, 从而提高了 ERPS 协议的安全性。 由用户保证配置唯一性。该 VLAN 在发送 R-APS 报文时作为 vlan tag。实例中所有节点的 保护 VLAN 配置必须一致。本命令 no 操作为删除 R-APS channel 传输 RAPS 报文的控制 VLAN。
参数: <vlan-id>:表示 R-APS 报文的 vlanid,范围为: 2~4094。
命令模式: ERPS 环实例配置模式。
缺省状态: 未配置任何控制 VLAN。
使用指南: 由用户配置保证满足以下条件:实例中所有节点的保护 VLAN 配置必须一致; 控制 vlan 的唯一性; 如果实例所在环类型为主环类型, 则控制 vlan 和保护 vlan 在同一个实 例内; 如果实例所在环类型为子环开放类型(open-ring)且是无 R-APS 虚通道方式,则控 制 vlan 单独属于一个实例;成员端口属于控制 vlan 和保护 vlan。同时对于配置 control vlan 的处理如下:
a)如果输入 VLAN 不存在,提示错误“Error, VLAN %d does not exist!” ,%d 为输入值; b) 如果该 ERPS 环实例已配置控制 VLAN,提示错误“Control vlan has existed already!”; c)设置 ERPS 环实例的控制 VLAN 为指定 VLAN;
d)检查 ERPS 实例配置是否完整,若完整则激活实例为 active,运行协议。
注意: 普通数据 vlan、不同 erps instance 的 control vlan 均不能关联到同一个 MSTI. 举例:
配置 ERPS 环 ring1 上实例 1 的控制 vlan 为 vlan10。
Switch(config)#erps-ring ring1
Switch(config-erps-ring)#erps-instance 1
Switch(config-erps-ring-inst- 1)control-vlan 10
删除 ERPS 环 ring1 上实例 1 的控制 vlan。
Switch(config)#erps-ring ring1
Switch(config-erps-ring)#erps-instance 1
Switch(config-erps-ring-inst- 1)no control-vlan
2.20 forced-switch {port0 | port1}
命令: forced-switch {port0 | port1}
功能: 在 ERPS 环节点的端口上执行强制切换。一个 ERPS 环实例中允许同时存在两个或多 个强制切换,但一个环节点上只能存在一个强制切换命令。用户应避免在 ERPS 环实例内使 用多个强制切换引发 ERPS 环实例分裂。
参数: {port0 | port1}:参数选择,port0 表示强制切换操作要在环节点的 port0 上执行。port1 表示强制切换操作要在环节点的 port1 上执行。
命令模式: ERPS 环实例配置模式。
缺省状态: ERPS 环实例内无强制切换。
使用指南: 如果该环支持 version1,提示错误“Doesn't support the command on the ring running version 1!”,否则进入下一步处理;
如果该实例配置不完整,处于 unactive 状态,提示错误“The request is rejected because the ERP instance in unactive state!”,否则进入下一步处理;
如果该环实例的该节点已存在本地强制切换(同一时刻,port0 和 port1 只能有一个处于 local FS 状态),提示错误“The FS request is rejected because an local FS request is present!”,否则进 入下一步处理;
如果强制切换命令处于当前最高优先级,block 掉该 ERPS 环指定成员端口(port0 或 port1) 上的该 ERPS 环实例的数据通道和 R-APS 通道,并 unblock 该环节点的另一个成员端口;
在强制切换命令处于最高优先级命令期间,在两个环端口(port0 和 port1)上稳定持续发送 携带 FS 信息的 R-APS(FS)报文;
接收到 R-APS(FS)报文的环节点,如果本地没有更高优先级请求,应 unblock 所有的 blocked 环端口;
接收到 R-APS(FS)报文的环节点应按照相应的需求执行 flush FDB 操作。
举例:
在 ERPS 环 ring1 上的实例 1 的 port0 上进行强制切换操作
Switch(config)#erps-ring ring1
Switch(config-erps-ring)#erps-instance 1
Switch(config-erps-ring-inst- 1)#force-switch port0
2.21 manual-switch {port0 | port1}
命令: manual-switch {port0 | port1}
功能: 在 ERPS 环节点的端口上执行手工切换。一个 ERPS 环实例中只允许同时存在一个手 工切换,并且前提是 ERPS 环实例内不存在 SF 故障或 FS 命令。
参数: {port0 | port1}:参数选择,port0 表示手工切换操作要在环节点的 port0 上执行。port1 表示手工切换操作要在环节点的 port1 上执行。
命令模式: ERPS 环实例配置模式。
缺省状态: ERPS 环实例内无手动切换。
使用指南: 如果该环支持 version1,提示错误“Doesn't support the command on the ring running version 1!”,否则进入下一步处理;
如果该实例配置不完整,处于 unactive 状态,提示错误“The request is rejected because the ERP instance in unactive state!”,否则进入下一步处理;
如果该 ERPS 环节点已存在 MS 状态,提示错误“The MS request is rejected because an existing MS request is present!”;
如果该 ERPS 环实例内已存在手工切换, 提示错误“The MS request is rejected because an existing FS request is present!”,否则进入下一步处理;
如果该 ERPS 环实例内已存在故障, 提示错误“The MS request is rejected because an existing SF is present!”,否则进入下一步处理;
如果手工切换命令处于当前最高优先级, block 掉 ERPS 环指定成员端口(port0 或 port1) 上该 ERPS 环实例的数据通道和 R-APS 通道, 并 unblock 该环节点的另一个成员端口;
在手工切换命令处于最高优先级命令期间,在两个环端口(port0 和 port1)上稳定持续发送 携带 MS 信息的 R-APS(MS)报文;
接收到 R-APS(MS)报文的环节点,如果本地没有更高优先级请求,应 unblock 所有的 blocked 环端口;
接收到 R-APS(MS)报文的环节点应按照相应的需求执行 flush FDB 操作。
举例:
在 ERPS 环 ring1 上的实例 1 的 port0 上进行手工切换操作
Switch(config)#erps-ring ring1
Switch(config-erps-ring)#erps-instance 1
Switch(config-erps-ring-inst- 1)#manual-switch port0
2.22 clear command
命令: clear command
功能: 对 ERPS 环节点的成员端口执行清除命令,可以清除本地活动的管理命令:强制切换 命令和手工切换命令;也可用于可逆模式下在 WTR 或 WTB 超时之前触发链路切换; 还可 用于不可逆模式下故障恢复后触发链路从备用链路 RPL 切换回原有链路。后两种情况一般
在 rpl owner 节点上执行该命令。
参数: 无。
命令模式: ERPS 环实例配置模式。
缺省状态: ERPS 环实例内无清除命令。
使用指南: 如果该环支持 version1,提示错误“Doesn't support the command on the ring running version 1!”,否则进入下一步处理;
如果该实例配置不完整,处于 unactive 状态,提示错误“The request is rejected because the ERP instance in unactive state!”,否则进入下一步处理;
如果该 ERPS 环实例中存在本地强制切换命令或手工切换命令,则清除切换命令,保持 blocked 成员端口上数据通道和 R-APS 通道的阻塞状态, 并在两个成员端口上持续稳定发送 R-APS(NR)报文,直到接收到 R-APS(NR ,RB)报文获知 RPL 被 block,或环上发生更 高级别的请求(例如 SF);
如果该 ERPS 环实例中存在本地强制切换命令或手工切换命令,则清除命令后接收到比本地 节点 node ID 大的 R-APS(NR)报文, 则 unblock 所有无 SF 故障的环端口,停止在两个成 员端口上发送 R-APS(NR)报文;
如果 RPL 拥有节点所在 ERPS 环实例为可逆切换模式, 并且开启了 WTR 或 WTB 超时, 则 删除定时器,block 掉 RPL 端口,在两个环端口上发送 R-APS(NR,RB)报文,并执行 flush FDB 操作, 提前触发链路切换, 否则进入下一步处理;
如果 RPL 拥有节点所在 ERPS 环实例处于不可逆模式下, 则 block 掉 RPL 端口,在两个环 端口上发送 R-APS(NR,RB)报文, 并执行 flush FDB 操作, 触发链路从备用链路 RPL 切 换回原有链路。
举例:
在 ERPS 环 ring1 上的实例 1 上执行 clear 操作。
Switch(config)#erps-ring ring1
Switch(config-erps-ring)#erps-instance 1
Switch(config-erps-ring-inst- 1)#clear command
2.23 show erps ring {<ring-name> | brief}
命令: showerps ring {<ring-name> | brief}
功能: 读取 ERPS 环信息。
参数: <ring-name> :ERPS 环名称,最大字符数为 64, 由字母、数字、下划线组成, 首尾 字符不能为下划线。若不指定, 则显示本设备上所有的 ERPS 环。
brief:显示 ERPS 环主要信息。
命令模式: 特权模式。
缺省情况: 无。
举例: 显示所有 ERPS 环的信息。
字段 |
描述 |
Ring-Name |
ERPS环名字,最大字符数为64, 由字母、数字、下划 线组成,首尾字符不能为下划线。 |
Ring-topo |
ERPS环拓扑模式:major-ring 、open-bring |
Port0 |
ERPS环的port0信息 |
Port1 |
ERPS环的port1信息 |
Version |
ERPS环支持的协议版本: V1、V2 |
Inst-Count |
ERPS环上配置的实例总数,范围: 1~64 |
显示 ERPS 环 ring1 的信息
字段 |
描述 |
Instance ID |
ERPS环实例的id号,范围为1~64 |
Contral Vlan |
即R-APS通道vlan,封装入R-APS报文tag |
Protected Instance |
ERPS环实例保护的MSTP实例 |
WTR_Timer |
Wait to Restore定时器,范围为1~12min |
Guard_Timer |
Guard定时器, 范围为10ms~2s |
Holdoff_Timer |
Holdoff定时器,范围为0~10s |
Port0 |
ERPS环的port0信息 |
Port1 |
ERPS环的port1信息 |
R-APS ring topology |
ERPS环拓扑模式:major-ring 、open-bring |
R-APS Virtual-Channel |
如果为ERPS子环,是否存在R-APS虚通道:with、 without |
2.24 show erps instance [ring <ring-name> [instance
<instance-id>]]
命令: showerps instance [ring <ring-name> [instance <instance-id>]]
功能: 显示 ERPS 环实例信息。
参数: <ring-name>:ERPS 环名称,最大字符数为 64, 由字母、数字、下划线组成,首尾 字符不能为下划线。若不指定, 则显示本设备上所有的 ERPS 环中实例信息。
<instance-id>:ERPS 环实例 ID,范围 1~48。若不指定,则显示指定 ERPS 环上的所 有 ERPS 环实例的信息。
命令模式: 特权模式。
缺省情况: 无。
举例:
字段 |
描述 |
Description |
ERPS环实例的名字 |
Protected Instance |
ERPS环实例保护的MSTP实例 |
Revertive mode |
ERPS环的链路模式: revertive 、non-revertive |
R-APS MEL |
R-APS通道的level,封装入R-APS报文 |
R-APS Virtual-Channel |
如果实例所在ERPS环为子环类型,继承环的R-APS 虚通道情况:with 、without |
Ring ID |
ERPS环实例发送报文携带的ring-id号,范围为1~64 |
Contral Vlan |
即R-APS通道vlan,封装入R-APS报文tag |
WTR_Timer |
Wait to Restore定时器,范围为1~12min |
Guard_Timer |
Guard定时器, 范围为10ms~2s |
Holdoff_Timer |
Holdoff定时器,范围为0~10s |
Port |
ERPS环的端口信息: port0、port1 |
Role |
ERPS环节点角色:RPL Owner 、RPL neighbour、 Common |
Port Status |
blocked:端口处于block状态 forwarding:端口处于forwarding状态 |
2.25 show erps status [ring <ring-name> [instance
<instance-id>]]
命令: showerps status [ring <ring-name> [instance <instance-id>]]
功能: 显示 ERPS 环实例的状态信息。
参数: <ring-name> :ERPS 环名称, 最大字符数为 64 ,由字母、数字、下划线组成, 首尾 字符不能为下划线。若不指定, 则显示本设备上所有的 ERPS 环。
<instance-id>:ERPS 环实例 ID,范围 1~48。若不指定, 则显示本设备上的 ERPS 环上所有 ERPS 环实例的状态信息。
命令模式: 特权模式。
缺省情况: 无。
举例:
显示所有 ERPS 环实例的状态信息。
Switch#show erps status
ERPS ring ring1 instance 1 status:
Active:1
Node State:Idle
Time last topology change : Jan 01 00:17:25 2012
Port Interface Port-Status Signal-Status R-RAPS-NodeId BPR
Port0 1/0/1 blocked Non-failed 00-00-00-00-00-00 0
Port1 1/0/2 forwarding Non-failed 00-00-00-00-00-00 0
Active |
ERPS环实例的当前所处活动状态:1、0 |
Node State |
ERPS 环 实 例 的 当 前 状 态 : Idle 、 Protection 、 Forced-switch 、Manual-switch 、Pending |
Port Status |
blocked:端口处于block状态 forwarding:端口处于forwarding状态 |
Signal Status |
ERPS环端口的故障状态: Non-failed:无故障发生 Failed:发生故障 |
Remote R-APS NodeId |
ERPS环端口保存的接收到最后一个R-APS中携带的 NodeId信息, 即mac信息 |
BPR |
ERPS环端口保存的接收到最后一个R-APS中携带的 block链路信息, 即port0还是port1是blocked的 |
Time last topology change |
表示环拓扑最后一次发生切换的时间 |
2.26 show erps statistics [ring <ring-name> [instance
<instance-id>]]
命令: showerps statistics [ring <ring-name> [instance <instance-id>]]
功能: 显示 ERPS 环实例的统计信息。
参数: <ring-name> :ERPS 环名称, 最大字符数为 64 ,由字母、数字、下划线组成,首尾 字符不能为下划线。若不指定, 则显示本设备上所有的 ERPS 环的统计信息。
<instance-id>:ERPS 环实例 ID,范围 1~48。若不指定, 则显示本设备上的 ERPS 环 上所有 ERPS 环实例的统计信息。
命令模式: 特权模式。
缺省情况: 无。
举例:
显示 ERPS 环实例的统计信息。
Switch#show erps statistics ring 1 instance 1
Statistics for ERPS ring ring1 instance 1:
R-APS Port0(Tx/Rx) Port1(Tx/Rx)
NR |
3/0 |
3/0 |
NR,RB |
0/0 |
0/0 |
SF |
19129/0 |
19129/0 |
MS |
0/0 |
0/0 |
FS |
0/0 |
0/0 |
EVENT |
0/0 |
0/0 |
TOTOL 19132/0 19132/0
2.27 clear erps statistics [ring <ring-name> [instance
<instance-id>]]
命令: clearerps statistics [ring <ring-name> [instance <instance-id>]]
功能: 清除 ERPS 的统计信息。
参数: <ring-name> :ERPS 环名称, 最大字符数为 64 ,由字母、数字、下划线组成,首尾 字符不能为下划线。若不指定, 则清除本设备上所有的 ERPS 环的统计信息。
<instance-id>:ERPS 环实例 ID,范围 1~48。若不指定, 则清除本设备上的 ERPS 环上所有 ERPS 环实例的统计信息。
命令模式: 特权模式。
缺省情况: 无。
举例: 清除 ERPS 环 ring1 上实例 1 的的统计信息。
Switch#clear erps statistics ring 1 instance 1
2.28 debug erps
命令: debug erps packet [detail] {send | receive] {[ring <ring-name> [instance <instance-id>]] | [port]}
debug erps fsm [ring <ring-name> [instance <instance-id>]]
debug erps timer [ring <ring-name> [instance <instance-id>]]
no debug eprs
功能: 打开 ERPS 的调试信息, 本命令的 no 操作为关闭 erps 调试信息。
参数: packet:表示打开报文调试信息。
detail:打开报文具体调试信息。
send:打开发送报文调试信息。
received:打开接收报文调试信息。
fsm:表示打开状态机调试信息。
timer:表示打开定时器调试信息。
<ring-name>:ERPS 环名称,最大字符数为 64 ,由字母、数字、下划线组成,首尾 字符不能为下划线。
<instance-id>:配置的 ERPS 环实例 ID。范围 1~48。
命令模式: 特权用户模式。
缺省情况: 不显示。
2.29 debug erps error
命令: debug erps error
no debug erps error
功能: 显示 ERPS 的故障信息, 本命令 no 操作为关闭显示 erps 故障信息。 参数: 无。
命令模式: 特权用户模式。
缺省情况: 不显示。
2.30 debug erps event
命令: debug erps event
no debug erps event
功能: 显示 ERPS 的事件信息, 本命令的 no 操作为关闭显示 erps 事件信息。 参数: 无。
命令模式: 特权用户模式。
缺省情况: 不显示。
2.31 no debug all
命令: no debug all
功能: 关闭本模块的所有 debug 的信息
参数: 无。
命令模式: 特权模式。
缺省情况: 无。
使用指南: 当使用 no debug all 关闭交换机的所有 debug 信息时, 该命令对 ERPS 的 debug 信息同样有效, ERPS 的 debug 信息同样关闭。
2.32 show debugging
命令: show debugging
功能: 打开本模块的所有 debug 信息。
参数: 无。
命令模式: 特权模式。
缺省情况: 无。
使用指南: 当使用 show debugging erps 时候显示 debug 信息时本模块支持该命令。