Smart Link和Monitor Link简介
定义
Smart Link,又叫做备份链路。一个Smart Link由两个接口组成,其中一个接口作为另一个的备份。Smart Link常用于双上行组网,提供可靠高效的备份和快速的切换机制。
Monitor Link是一种接口联动方案,它通过监控设备的上行接口,根据其Up/Down状态的变化来触发下行接口Up/Down状态的变化,从而触发下游设备上的拓扑协议进行链路的切换。
目的
下游设备连接到上游设备,当使用单上行方式时,若出现单点故障,会造成业务中断。若采用双上行方式,将一台下游设备同时连接到两台上游设备,可降低单点故障对网络的影响,提高了可靠性。
如图1所示SwitchA采用双上行方式分别连接到SwitchB和SwitchC,这样SwitchA到达SwitchD的链路就可以有两条(SwitchA->SwitchB->SwitchD和SwitchA->SwitchC->SwitchD),但是网络中的环路会产生网络风暴。在SwitchA上配置Smart Link,正常情况下,可实现Interface2所在链路作为Interface1所在链路的备份。若Interface1所在的链路发生故障,Smart Link会自动将数据流量切换到Interface2所在链路,保证业务不中断。
在此类组网中采用Smart Link技术有以下优点:
- 能够实现在双上行组网的两条链路正常情况下,一条链路处于转发状态,而另一条处于阻塞待命状态,从而可避免环路的不利影响。
- 配置和使用更为简洁,便于用户操作。
- 当主用链路发生故障后,流量会在毫秒级的时间内迅速切换到备用链路上,极大限度地保证了数据的正常转发。
在一些二层拓扑协议(如Smart Link)组网中,拓扑协议无法监视到上行接口的状态,从而导致拓扑协议无法进行链路切换。Monitor Link可用于扩展一些二层拓扑协议的应用范围,通过监控上行链路对下行链路进行同步设置,达到上行链路故障迅速传达给下行设备,从而触发下游设备上的拓扑协议进行链路的切换,防止长时间因上行链路故障而出现流量丢失。
Smart Link基本原理
以图1描述的组网为例,按照链路正常->链路故障->链路恢复的过程,介绍Smart Link运行的基本原理。
链路正常工作原理
SwitchD上的Smart Link组包含了Interface1和Interface2两个接口,其中Interface1为主接口,Interface2为从接口。双上行链路都正常的情况下,主接口处于转发状态,所在的链路是主用链路,从接口处于待命状态,所在链路是备用链路。如图2所示,数据沿着主链路进行传输,网络中不存在环路,避免产生广播风暴。
链路故障处理原理
如图3所示,当SwitchD的主链路发生故障时,主接口Interface1切换到待命状态,从接口Interface2切换到转发状态。此时,网络中相关设备上的MAC地址转发表项和ARP表项不再适用,需要提供一种MAC及ARP更新的机制。目前更新机制有以下两种。
通过Flush报文通知设备更新表项
这种方式适用于上游设备(如图3中的SwitchA、SwitchB和SwitchC)支持Smart Link功能的场景。为了实现快速链路切换,需要在SwitchD上开启Flush报文发送功能,在上游设备所有处于双上行链路上的接口开启接收处理Flush报文的功能。
- SwitchD进行链路切换后,会从新的主用链路上发送Flush报文,即通过Interface2发送。
- 当上游设备收到Flush报文时,判断该Flush报文的发送控制VLAN是否在收到报文的接口配置的接收控制VLAN列表中。如果不在接收控制VLAN列表中,设备对该Flush报文不做处理,直接转发;如果在接收控制VLAN列表中,设备会处理收到Flush报文,进而执行MAC地址转发表项和ARP表项的刷新操作。
此后,如果SwitchA收到目的设备为SwitchD的数据报文,会根据更新后的MAC地址转发表项或ARP表项进行转发。
自动通过流量更新表项
这种方式适用于与不支持Smart Link功能的设备(包括其他厂商设备)对接的情况,需要有上行流量触发。
如图4所示,如果没有来自SwitchD的上行流量去触发SwitchA的MAC及ARP表项更新,那么当SwitchA收到目的设备为SwitchD的数据报文时,SwitchA仍会通过接口Interface3转发出去,但此时报文已经不能到达SwitchD,会造成流量丢失,直到其MAC或ARP表项自动老化。
如图5所示,由于链路故障后,Interface1学习到的MAC及ARP表项会被删除,如果SwitchD有上行流量要发送,需要重新广播ARP报文后,流量才能被发送出去。当上行流量通过接口Interface4到达设备SwitchA后,SwitchA会更新自己的MAC及ARP表项,那么当SwitchA再收到目的设备为SwitchD的数据报文时,SwitchA会通过接口Interface4转发出去,报文就可以经由SwitchC到达SwitchD。
通过Flush报文通知设备更新的机制无须等到表项老化后再进行更新,可以极大程度地减少表项更新所需时间。通常,链路的切换过程可在毫秒级的时间内完成,最大限度地减少流量的丢失。
链路恢复处理原理
当原主用链路故障恢复时,Interface1将维持在阻塞状态,不进行抢占,从而保持流量稳定。如果希望流量切换到原主用链路,可以通过如下两种机制进行切换。
- 使用Smart Link组回切功能,需要在SwitchD上使能回切功能。当原主用链路故障恢复后,经过回切定时器设定的时间,Smart Link会自动将流量切换到原主用链路上。
- 使用配置命令强制让Smart Link立即将流量切换到原主用链路上。
如图1所示组网示例,当SwitchD的Interface1的链路恢复后,如果配置了Smart Link组回切功能,在回切定时器超时后,Interface2将被阻塞并切换到待命状态,而Interface1将切换到转发状态。而如果使用配置命令强制让Smart Link进行链路切换,在执行命令后,Interface2将被立即阻塞并切换到待命状态,而Interface1会切换到转发状态。
实验需求
如图中所示,为了保证网络的可靠性,用户侧网络采用双上行方式组网。用户希望能够破除网络环路,实现主备链路冗余备份和快速收敛。
配置思路
采用如下的思路配置Smart Link功能:
-
创建VLAN,并配置接口允许相应VLAN通过。
-
在S1上创建Smart Link备份组,并指定端口角色。
-
在S1上使能回切功能,使得故障恢复后,流量切换到相对稳定的原主链路上。
-
在S1上使能发送Flush报文功能。
-
在S2、S3和S4三台设备对应端口上使能Flush报文接收功能。
-
在S1上使能Smart Link组功能
实验步骤
- 配置VLAN信息
# 在S1上创建VLAN,并配置接口允许相应VLAN通过。S2、S3和S4的配置与S1类似。
<Huawei>system-view
Enter system view, return user view with Ctrl+Z.
[Huawei]sysname S1[S1]undo info-center enable
Info: Information center is disabled.[S1]vlan batch 10 to 30
Info: This operation may take a few seconds. Please wait for a moment...done.[S1]interface GigabitEthernet 0/0/1
[S1-GigabitEthernet0/0/1]port link-type trunk
[S1-GigabitEthernet0/0/1]port trunk allow-pass vlan 10 to 30
[S1-GigabitEthernet0/0/1]quit [S1]interface GigabitEthernet 0/0/2
[S1-GigabitEthernet0/0/2]port link-type trunk
[S1-GigabitEthernet0/0/2]port trunk allow-pass vlan 10 to 30
[S1-GigabitEthernet0/0/2]quit
2.在S1上创建Smart Link备份组,并指定端口角色
# 配置S1
[S1]interface GigabitEthernet 0/0/1
[S1-GigabitEthernet0/0/1]stp disable
[S1-GigabitEthernet0/0/1]interface GigabitEthernet 0/0/2
[S1-GigabitEthernet0/0/2]stp disable
[S1-GigabitEthernet0/0/2]quit [S1]smart-link group 1
[S1-smlk-group1]port GigabitEthernet 0/0/1 master
[S1-smlk-group1]port GigabitEthernet 0/0/2 slave
3.使能回切功能并设置回切时间
# 配置S1。
[S1-smlk-group1]restore enable
[S1-smlk-group1]timer wtr 30
4.使能发送Flush报文功能
# 配置S1,并指定发送Flush报文的密码为SIMPLE加密方式。
[S1-smlk-group1]flush send control-vlan 10 password simple huawei-123
5.在S1使能Smart Link组功能
[S1-smlk-group1]smart-link enable
[S1-smlk-group1]quit
S2 配置
<Huawei>system-view
Enter system view, return user view with Ctrl+Z.
[Huawei]sysname S2 [S2]undo info-center enable
Info: Information center is disabled.[S2]interface GigabitEthernet 0/0/1
[S2-GigabitEthernet0/0/1]port link-type trunk
[S2-GigabitEthernet0/0/1]port trunk allow-pass vlan 10 to 30[S2-GigabitEthernet0/0/1]interface GigabitEthernet 0/0/2
[S2-GigabitEthernet0/0/2]port link-type trunk
[S2-GigabitEthernet0/0/2]port trunk allow-pass vlan 10 to 30
[S2-GigabitEthernet0/0/2]quit [S2]interface GigabitEthernet 0/0/1[S2-GigabitEthernet0/0/1]smart-link flush receive control-vlan 10 password simpl
e huawei-123
[S2-GigabitEthernet0/0/1]stp disable[S2-GigabitEthernet0/0/1]interface GigabitEthernet 0/0/2
[S2-GigabitEthernet0/0/2]smart-link flush receive control-vlan 10 password simpl
e huawei-123
[S2-GigabitEthernet0/0/2]stp disable
[S2-GigabitEthernet0/0/2]quit
S3 配置
<Huawei>system-view
Enter system view, return user view with Ctrl+Z.
[Huawei]sysname S3[S3]undo info-center enable
Info: Information center is disabled.[S3]vlan batch 10 to 30
Info: This operation may take a few seconds. Please wait for a moment...done.[S3]interface GigabitEthernet 0/0/1
[S3-GigabitEthernet0/0/1]port link-type trunk
[S3-GigabitEthernet0/0/1]port trunk allow-pass vlan 10 to 30[S3-GigabitEthernet0/0/1]interface GigabitEthernet 0/0/2
[S3-GigabitEthernet0/0/2]port link-type trunk
[S3-GigabitEthernet0/0/2]port trunk allow-pass vlan 10 to 30
[S3-GigabitEthernet0/0/2]quit [S3]interface GigabitEthernet 0/0/1
[S3-GigabitEthernet0/0/1]smart-link flush receive control-vlan 10 password simpl
e huawei-123
[S3-GigabitEthernet0/0/1]stp disable
[S3-GigabitEthernet0/0/1]quit [S3]interface GigabitEthernet 0/0/2
[S3-GigabitEthernet0/0/2]smart-link flush receive control-vlan 10 password simpl
e huawei-123
[S3-GigabitEthernet0/0/2]stp disable
[S3-GigabitEthernet0/0/2]quit
S4 配置
<Huawei>system-view
Enter system view, return user view with Ctrl+Z.
[Huawei]sysname S4
[S4]undo info-center enable
Info: Information center is disabled.[S4]vlan batch 10 to 30
Info: This operation may take a few seconds. Please wait for a moment...done.[S4]interface GigabitEthernet 0/0/1
[S4-GigabitEthernet0/0/1]port link-type trunk
[S4-GigabitEthernet0/0/1]port trunk allow-pass vlan 10 to 30[S4-GigabitEthernet0/0/1]interface GigabitEthernet 0/0/2
[S4-GigabitEthernet0/0/2]port link-type trunk
[S4-GigabitEthernet0/0/2]port trunk allow-pass vlan 10 to 30
[S4-GigabitEthernet0/0/2]quit [S4]interface GigabitEthernet 0/0/1
[S4-GigabitEthernet0/0/1]smart-link flush receive control-vlan 10 password simpl
e huawei-123
[S4-GigabitEthernet0/0/1]stp disable [S4-GigabitEthernet0/0/1]interface GigabitEthernet 0/0/2
[S4-GigabitEthernet0/0/2]smart-link flush receive control-vlan 10 password simpl
e huawei-123
[S4-GigabitEthernet0/0/2]stp disable
[S4-GigabitEthernet0/0/2]quit
6.验证配置结果
# 使用display smart-link group命令查看SwitchA上的Smart Link组信息。如果显示如下信息,则表示配置成功。
#Smart Link组功能已经使能
#回切时间为30秒
#控制VLAN编号为10
#接口GE0/0/1为主接口且处于Active状态,接口GE0/0/2为从接口且处于Inactive
# 使用shutdown命令关闭接口GE0/0/1,可以看到接口GE0/0/1已经处于Inactive状态,接口GE0/0/2为Active状态。
[S1]interface GigabitEthernet 0/0/1
[S1-GigabitEthernet0/0/1]shutdown
[S1-GigabitEthernet0/0/1]quit
# 使用undo shutdown命令开启接口GE0/0/1。
[S1]interface GigabitEthernet 0/0/1
[S1-GigabitEthernet0/0/1]undo shutdown
[S1-GigabitEthernet0/0/1]quit
# 等待30秒后,可以看到接口GE0/0/1处于Active状态,接口GE0/0/2为Inactive状态。