06-Smart Link配置
本章节下载: 06-Smart Link配置 (464.51 KB)
当下游设备连接到上游设备时,使用单上行方式容易出现单点故障,造成业务中断。因此通常采用双上行方式,即将一台下游设备同时连接到两台上游设备,以最大限度地避免单点故障,提高网络可靠性,如图1-1所示。
图1-1 Smart Link应用场景示意图
双上行组网虽然能提高网络可靠性,但又引入了环路问题。通常可通过生成树协议或RRPP(Rapid Ring Protection Protocol,快速环网保护协议)来消除环路,但生成树协议在收敛速度上只能达到秒级,不适用于对收敛时间有很高要求的用户,而RRPP尽管在收敛速度上能达到要求,但组网配置的复杂度较高,主要适用于较复杂的环形组网。
有关生成树协议和RRPP的详细介绍,请分别参见“二层技术-以太网交换配置指导”中的“生成树”和“可靠性配置指导”中的“RRPP”。
为了满足用户对链路快速收敛的要求,同时又能简化配置,我们针对双上行组网提出了Smart Link解决方案,实现了主备链路的冗余备份,并在主用链路发生故障后使流量能够迅速切换到备用链路上,因此具备较高的收敛速度(达到亚秒级)。
Smart Link组也叫灵活链路组,每个组内只包含两个成员端口——主端口和从端口。正常情况下,只有一个端口处于转发(ACTIVE)状态,另一个端口被阻塞,处于待命(STANDBY)状态。当处于转发状态的端口出现链路故障(包括端口down、以太网OAM检测到的单向链路等)时,Smart Link组会自动将该端口阻塞,并将原阻塞的处于待命状态的端口切换到转发状态。
如图1-1所示,Device C和Device D上的端口Port 1和Port 2分别组成了一个Smart Link组,其中Port 1处于转发状态,而Port 2处于待命状态。
主端口和从端口是Smart Link组中的两种成员端口。当Smart Link组中的两个端口都处于up状态时,主端口将优先进入转发状态,而从端口将保持待命状态。当主端口所在链路发生故障时,从端口将切换为转发状态。
如图1-1所示,Device C和Device D上的端口Port 1为主端口,Port 2为从端口。
我们把主端口所在的链路称为主链路,从端口所在的链路称为从链路。
当Smart Link组发生链路切换时,原有的MAC地址转发表项和ARP/ND表项将不适用于新的拓扑网络,需要更新网络中的所有设备。这时,Smart Link组通过发送Flush报文通知其它设备进行MAC地址转发表项和ARP/ND表项的刷新操作。Flush报文是普通的组播数据报文,会被阻塞的接收端口丢弃。
保护VLAN就是Smart Link组要保护的那些VLAN,同一端口上不同的Smart Link组保护不同的VLAN。端口在保护VLAN上的转发状态由端口在其所属Smart Link组内的状态决定。
发送控制VLAN是用于发送Flush报文的VLAN。当发生链路切换时,设备(如图1-1中的Device C和Device D)会在发送控制VLAN内发送Flush报文。
接收控制VLAN是用于接收并处理Flush报文的VLAN。当发生链路切换时,设备(如图1-1中的Device A、Device B和Device E)接收并处理属于接收控制VLAN的Flush报文,进行MAC地址转发表项和ARP/ND表项的刷新操作。
在图1-1所示的组网中,Device C的端口Port 1所在的链路是主链路,Port 2所在的链路是从链路。正常情况下,Port 1处于转发状态,Port 2处于待命状态。当主链路出现故障时,Port 1将自动阻塞并切换到待命状态,Port 2将切换到转发状态。当端口切换到转发状态时,系统会输出日志信息通知用户。
当Smart Link发生链路切换时,网络中各设备上的MAC地址转发表项和ARP/ND表项可能已经不是最新状态。为了保证报文的正确发送,需要由Smart Link设备在新的链路上发送Flush报文,且要求上行的设备都能够识别Smart Link的Flush报文并进行更新MAC地址转发表项和ARP/ND表项的处理。
在图1-1所示的组网中,Device C的端口Port 1所在的链路是主链路,Port 2所在的链路是从链路。当主链路出现故障时,Port 1将自动阻塞并切换到待命状态,Port 2则从待命状态切换到转发状态。当主链路恢复后:
· 在非抢占模式下,Port 1仍将维持在阻塞状态,不进行链路状态切换,从而保持流量稳定。只有等下一次链路切换时,该端口才会重新切换回转发状态。
· 在抢占模式下,当符合抢占条件时,Port 2将自动阻塞并切换到待命状态,而Port 1则切换回转发状态。
在同一个环网中,可能同时存在多个VLAN的数据流量,Smart Link可以实现流量的负载分担,即不同VLAN的流量沿不同Smart Link组所确定的路径进行转发。
通过把一个端口配置为多个Smart Link组的成员端口(每个Smart Link组的保护VLAN不同),并使该端口在不同Smart Link组中的转发状态不同,这样就能实现不同VLAN的数据流量的转发路径不同,从而达到负载分担的目的。
每个Smart Link组的保护VLAN是通过引用MSTI(Multiple Spanning Tree Instance,多生成树实例)来实现的。有关MSTI的详细介绍,请参见“二层技术-以太网交换配置指导”中的“生成树”。
当上游设备的上行链路发生故障以及故障恢复时,下游设备上的Smart Link无法感知到这个变化。Monitor Link则可以通过监控上游设备的上行端口,根据其up/down状态的变化来触发下行端口up/down状态的变化,从而触发下游设备上的Smart Link进行链路切换。有关Monitor Link的详细介绍,请参见“可靠性配置指导”中的“Monitor Link”。
当上行链路上的中间传输设备或传输链路发生故障(如光纤链路发生单通、错纤、丢包等故障)以及故障排除时,Smart Link本身无法感知到这个变化,Smart Link组的成员端口需要通过专门的链路检测协议来检测端口的链路状态,当链路检测协议检测到故障发生或故障恢复时就通知Smart Link进行链路切换。
Smart Link组的成员端口通过Track项与链路检测协议进行联动,目前仅支持与CFD(Connectivity Fault Detection,连通错误检测)的连续性检测功能联动。当端口与CFD连续性检测功能联动时,CFD按照检测VLAN和检测端口来通知故障检测事件,只有当端口所在Smart Link组的控制VLAN与检测VLAN一致时,才响应此事件。有关Track项和CFD连续性检测功能的详细介绍,请分别参见“可靠性配置指导”中的“Track”和“CFD”。
表1-1 Smart Link配置任务简介
配置任务 |
说明 |
详细配置 |
|
配置Smart Link设备 |
配置Smart Link组的保护VLAN |
必选 |
|
配置Smart Link组的成员端口 |
必选 |
||
配置抢占功能 |
可选 |
||
开启发送Flush报文功能 |
可选 |
||
配置Smart Link与Track联动 |
可选 |
||
配置相关设备 |
开启接收Flush报文功能 |
必选 |
Smart Link设备是指支持Smart Link功能、且配置了Smart Link组和从指定控制VLAN发送Flush报文功能的设备,如图1-1中的Device C和Device D。
相关设备是指支持Smart Link功能、在实际应用中为配合Smart Link设备而需开启从指定控制VLAN接收Flush报文功能的设备,如图1-1中的Device A、Device B和Device E。
如果欲配置某端口为Smart Link组的成员端口(主端口或从端口):
· 请先手工关闭该端口,并待Smart Link组配置完成后再开启该端口,以避免形成环路,导致广播风暴;
· 请关闭该端口的生成树协议、RRPP功能和ERPS功能。
在关闭生成树协议之后到Smart Link开始工作之前,网络中可能会形成环路。
请勿将一个端口同时加入聚合组和Smart Link组,否则该端口在Smart Link组中将不会生效,也无法使用display smart-link group命令查看到。
由于保护VLAN的配置是通过引用MSTI来实现的,因此在配置保护VLAN之前:
· 如果生成树协议工作在STP/RSTP/MSTP模式下,则应先配置VLAN与MSTI的映射关系,再引用待保护VLAN所对应的MSTI。
· 如果生成树协议工作在PVST模式下,系统会自动将VLAN与MSTI进行一一对应的映射,故直接引用与待保护VLAN编号相同的MSTI即可。而当生成树协议全局关闭时,由于所有VLAN都自动映射到MSTI 0上,所以必须引用MSTI 0。
有关stp region-configuration、instance、vlan-mapping modulo、active region-configuration和display stp region-configuration命令的详细介绍,请参见“二层技术-以太网交换命令参考”中的“生成树”。
表1-2 配置Smart Link组的保护VLAN
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入MST域视图 |
stp region-configuration |
在PVST模式下请跳过此步 |
配置VLAN映射表 |
instance instance-id vlan vlan-id-list |
二者选其一,在PVST模式下请跳过此步 缺省情况下,所有VLAN都映射到CIST(即MSTI 0)上 |
vlan-mapping modulo modulo |
||
激活MST域的配置 |
active region-configuration |
在PVST模式下请跳过此步 |
(可选)显示生效的MST域配置信息 |
display stp region-configuration |
display命令可以在任意视图执行 通过本操作可以查看MSTI所映射的VLAN |
退回系统视图 |
quit |
在PVST模式下请跳过此步 |
创建Smart Link组,并进入Smart Link组视图 |
smart-link group group-id |
- |
配置Smart Link组的保护VLAN |
protected-vlan reference-instance instance-id-list |
缺省情况下,Smart Link组不存在保护VLAN |
可在Smart Link组视图或接口视图下配置Smart Link组的成员端口,各视图下的配置效果相同。
表1-3 在Smart Link组视图下配置Smart Link组的成员端口
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入Smart Link组视图 |
smart-link group group-id |
- |
配置Smart Link组的成员端口 |
port interface-type interface-number { primary | secondary } |
缺省情况下,Smart Link组中没有成员端口 |
表1-4 在接口视图下配置Smart Link组的成员端口
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入二层以太网或二层聚合接口视图 |
interface interface-type interface-number |
- |
配置Smart Link组的成员端口 |
port smart-link group group-id { primary | secondary } |
缺省情况下,接口不是Smart Link组的成员端口 |
抢占延时在配置了Smart Link组的抢占模式后才会生效。
表1-5 配置Smart Link抢占功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入Smart Link组视图 |
smart-link group group-id |
- |
配置Smart Link组的抢占模式 |
preemption mode { role | speed [ threshold threshold-value ] } |
缺省情况下,Smart Link组为非抢占模式 |
配置抢占延时 |
preemption delay delay |
缺省情况下,抢占延时为1秒 |
需要为不同的Smart Link组配置不同的控制VLAN。
需要配置保证控制VLAN存在,且Smart Link组的端口允许控制VLAN的报文通过。
某Smart Link组的控制VLAN应同时为该Smart Link组的保护VLAN,且不要将已配置为控制VLAN的VLAN删除,否则会影响Flush报文的发送。
表1-6 开启发送Flush报文功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入Smart Link组视图 |
smart-link group group-id |
- |
开启发送Flush报文的功能 |
flush enable [ control-vlan vlan-id ] |
缺省情况下,发送Flush报文的功能处于开启状态,且控制VLAN为VLAN 1 |
在配置端口与Track项联动之前,必须保证该端口已加入相应的Smart Link组。
Smart Link组的成员端口通过Track项与链路检测协议进行联动,目前仅支持与CFD的连续性检测功能联动。
表1-7 配置Smart Link与Track联动
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入二层以太网或二层聚合接口视图 |
interface interface-type interface-number |
- |
配置Smart Link组的成员端口与Track项联动 |
port smart-link group group-id track track-entry-number |
缺省情况下,Smart Link组的成员端口未与Track项联动 本命令中的Track项必须是与CFD连续性检测功能关联的Track项 |
配置相关设备时,建议在其与Smart Link组的成员端口相连的端口上关闭生成树协议,以免由于网络拓扑改变时端口状态尚未迁移到Forwarding而导致Flush报文被丢弃。
并非需要在相关设备的所有端口上都开启接收Flush报文功能,只需要在处于从Smart Link设备到其目的设备主、从链路上的端口的所有控制VLAN上开启此功能。
配置时需要注意的是:
· 如果控制VLAN尚未配置,设备将对收到的Flush报文不做处理而直接转发。
· 在相关设备上配置的接收处理Flush报文的控制VLAN和在Smart Link设备上配置的发送控制VLAN要相同,若不同,相关设备将对收到的Flush报文将不做处理而直接转发。
· 不要将已配置为控制VLAN的VLAN删除,否则会影响Flush报文的处理。
· 请确保控制VLAN存在,且开启了接收Flush报文功能的端口要允许控制VLAN的报文通过。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入二层以太网或二层聚合接口视图 |
interface interface-type interface-number |
- |
开启接收Flush报文的功能 |
smart-link flush enable [ control-vlan vlan-id-list ] |
缺省情况下,接收Flush报文的功能处于关闭状态 |
在完成上述配置后,在任意视图下执行display命令可以显示配置后Smart Link的运行情况以及Flush报文的统计信息,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除Flush报文的统计信息。
表1-9 Smart Link显示和维护
操作 |
命令 |
显示设备收到的Flush报文信息 |
display smart-link flush |
显示Smart Link组的信息 |
display smart-link group { group-id | all } |
清除Flush报文的统计信息 |
reset smart-link statistics |
· 在图1-2所示的组网中,Device C和Device D为Smart Link设备,Device A、Device B和Device E为相关设备。Device C和Device D上VLAN 1~30的流量分别双上行到Device A。
· 通过配置,在Device C和Device D上分别实现双上行链路的灵活备份。
图1-2 单Smart Link组配置组网图
(1) 配置Device C
# 创建VLAN 1~30,将这些VLAN都映射到MSTI 1上,并激活MST域的配置。
<DeviceC> system-view
[DeviceC] vlan 1 to 30
[DeviceC] stp region-configuration
[DeviceC-mst-region] instance 1 vlan 1 to 30
[DeviceC-mst-region] active region-configuration
[DeviceC-mst-region] quit
# 分别关闭端口GigabitEthernet1/0/1和GigabitEthernet1/0/2,在这两个端口上分别关闭生成树协议,并将端口配置为Trunk端口且允许VLAN 1~30通过。
[DeviceC] interface gigabitethernet 1/0/1
[DeviceC-GigabitEthernet1/0/1] shutdown
[DeviceC-GigabitEthernet1/0/1] undo stp enable
[DeviceC-GigabitEthernet1/0/1] port link-type trunk
[DeviceC-GigabitEthernet1/0/1] port trunk permit vlan 1 to 30
[DeviceC-GigabitEthernet1/0/1] quit
[DeviceC] interface gigabitethernet 1/0/2
[DeviceC-GigabitEthernet1/0/2] shutdown
[DeviceC-GigabitEthernet1/0/2] undo stp enable
[DeviceC-GigabitEthernet1/0/2] port link-type trunk
[DeviceC-GigabitEthernet1/0/2] port trunk permit vlan 1 to 30
[DeviceC-GigabitEthernet1/0/2] quit
# 创建Smart Link组1,并配置其保护VLAN为MSTI 1所映射的VLAN。
[DeviceC] smart-link group 1
[DeviceC-smlk-group1] protected-vlan reference-instance 1
# 配置Smart Link组1的主端口为GigabitEthernet1/0/1,从端口为GigabitEthernet1/0/2。
[DeviceC-smlk-group1] port gigabitethernet 1/0/1 primary
[DeviceC-smlk-group1] port gigabitethernet 1/0/2 secondary
# 在Smart Link组1中开启发送Flush报文的功能,并指定发送Flush报文的控制VLAN为VLAN 10。
[DeviceC-smlk-group1] flush enable control-vlan 10
[DeviceC-smlk-group1] quit
# 重新开启端口GigabitEthernet1/0/1和GigabitEthernet1/0/2。
[DeviceC] interface gigabitethernet 1/0/1
[DeviceC-GigabitEthernet1/0/1] undo shutdown
[DeviceC-GigabitEthernet1/0/1] quit
[DeviceC] interface gigabitethernet 1/0/2
[DeviceC-GigabitEthernet1/0/2] undo shutdown
[DeviceC-GigabitEthernet1/0/2] quit
(2) 配置Device D
# 创建VLAN 1~30,将这些VLAN都映射到MSTI 1上,并激活MST域的配置。
<DeviceD> system-view
[DeviceD] vlan 1 to 30
[DeviceD] stp region-configuration
[DeviceD-mst-region] instance 1 vlan 1 to 30
[DeviceD-mst-region] active region-configuration
[DeviceD-mst-region] quit
# 分别关闭端口GigabitEthernet1/0/1和GigabitEthernet1/0/2,在这两个端口上分别关闭生成树协议,并将端口配置为Trunk端口且允许VLAN 1~30通过。
[DeviceD] interface gigabitethernet 1/0/1
[DeviceD-GigabitEthernet1/0/1] shutdown
[DeviceD-GigabitEthernet1/0/1] undo stp enable
[DeviceD-GigabitEthernet1/0/1] port link-type trunk
[DeviceD-GigabitEthernet1/0/1] port trunk permit vlan 1 to 30
[DeviceD-GigabitEthernet1/0/1] quit
[DeviceD] interface gigabitethernet 1/0/2
[DeviceD-GigabitEthernet1/0/2] shutdown
[DeviceD-GigabitEthernet1/0/2] undo stp enable
[DeviceD-GigabitEthernet1/0/2] port link-type trunk
[DeviceD-GigabitEthernet1/0/2] port trunk permit vlan 1 to 30
[DeviceD-GigabitEthernet1/0/2] quit
# 创建Smart Link组1,并配置其保护VLAN为MSTI 1所映射的VLAN。
[DeviceD] smart-link group 1
[DeviceD-smlk-group1] protected-vlan reference-instance 1
# 配置Smart Link组1的主端口为GigabitEthernet1/0/1,从端口为GigabitEthernet1/0/2。
[DeviceD-smlk-group1] port gigabitethernet 1/0/1 primary
[DeviceD-smlk-group1] port gigabitethernet 1/0/2 secondary
# 在Smart Link组1中开启发送Flush报文的功能,并指定发送Flush报文的控制VLAN为VLAN 20。
[DeviceD-smlk-group1] flush enable control-vlan 20
[DeviceD-smlk-group1] quit
# 重新开启端口GigabitEthernet1/0/1和GigabitEthernet1/0/2。
[DeviceD] interface gigabitethernet 1/0/1
[DeviceD-GigabitEthernet1/0/1] undo shutdown
[DeviceD-GigabitEthernet1/0/1] quit
[DeviceD] interface gigabitethernet 1/0/2
[DeviceD-GigabitEthernet1/0/2] undo shutdown
[DeviceD-GigabitEthernet1/0/2] quit
(3) 配置Device B
# 创建VLAN 1~30。
<DeviceB> system-view
[DeviceB] vlan 1 to 30
# 将端口GigabitEthernet1/0/1配置为Trunk端口且允许VLAN 1~30通过,在该端口上开启接收Flush报文的功能,并指定接收Flush报文的控制VLAN为VLAN 10和20。
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] port link-type trunk
[DeviceB-GigabitEthernet1/0/1] port trunk permit vlan 1 to 30
[DeviceB-GigabitEthernet1/0/1] smart-link flush enable control-vlan 10 20
[DeviceB-GigabitEthernet1/0/1] quit
# 将端口GigabitEthernet1/0/2配置为Trunk端口且允许VLAN 1~30通过,在该端口上关闭生成树协议并开启接收Flush报文的功能,并指定接收Flush报文的控制VLAN为VLAN 20。
[DeviceB] interface gigabitethernet 1/0/2
[DeviceB-GigabitEthernet1/0/2] port link-type trunk
[DeviceB-GigabitEthernet1/0/2] port trunk permit vlan 1 to 30
[DeviceB-GigabitEthernet1/0/2] undo stp enable
[DeviceB-GigabitEthernet1/0/2] smart-link flush enable control-vlan 20
[DeviceB-GigabitEthernet1/0/2] quit
# 将端口GigabitEthernet1/0/3配置为Trunk端口且允许VLAN 1~30通过,在该端口上关闭生成树协议并开启接收Flush报文的功能,并指定接收Flush报文的控制VLAN为VLAN 10。
[DeviceB] interface gigabitethernet 1/0/3
[DeviceB-GigabitEthernet1/0/3] port link-type trunk
[DeviceB-GigabitEthernet1/0/3] port trunk permit vlan 1 to 30
[DeviceB-GigabitEthernet1/0/3] undo stp enable
[DeviceB-GigabitEthernet1/0/3] smart-link flush enable control-vlan 10
[DeviceB-GigabitEthernet1/0/3] quit
(4) 配置Device E
# 创建VLAN 1~30。
<DeviceE> system-view
[DeviceE] vlan 1 to 30
# 将端口GigabitEthernet1/0/1配置为Trunk端口且允许VLAN 1~30通过,在该端口上开启接收Flush报文的功能,并指定接收Flush报文的控制VLAN为VLAN 10和20。
[DeviceE] interface gigabitethernet 1/0/1
[DeviceE-GigabitEthernet1/0/1] port link-type trunk
[DeviceE-GigabitEthernet1/0/1] port trunk permit vlan 1 to 30
[DeviceE-GigabitEthernet1/0/1] smart-link flush enable control-vlan 10 20
[DeviceE-GigabitEthernet1/0/1] quit
# 将端口GigabitEthernet1/0/2配置为Trunk端口且允许VLAN 1~30通过,在该端口上关闭生成树协议并开启接收Flush报文的功能,并指定接收Flush报文的控制VLAN为VLAN 10。
[DeviceE] interface gigabitethernet 1/0/2
[DeviceE-GigabitEthernet1/0/2] port link-type trunk
[DeviceE-GigabitEthernet1/0/2] port trunk permit vlan 1 to 30
[DeviceE-GigabitEthernet1/0/2] undo stp enable
[DeviceE-GigabitEthernet1/0/2] smart-link flush enable control-vlan 10
[DeviceE-GigabitEthernet1/0/2] quit
# 将端口GigabitEthernet1/0/3配置为Trunk端口且允许VLAN 1~30通过,在该端口上关闭生成树协议并开启接收Flush报文的功能,并指定接收Flush报文的控制VLAN为VLAN 20。
[DeviceE] interface gigabitethernet 1/0/3
[DeviceE-GigabitEthernet1/0/3] port link-type trunk
[DeviceE-GigabitEthernet1/0/3] port trunk permit vlan 1 to 30
[DeviceE-GigabitEthernet1/0/3] undo stp enable
[DeviceE-GigabitEthernet1/0/3] smart-link flush enable control-vlan 20
[DeviceE-GigabitEthernet1/0/3] quit
(5) 配置Device A
# 创建VLAN 1~30。
<DeviceA> system-view
[DeviceA] vlan 1 to 30
# 分别将端口GigabitEthernet1/0/1和GigabitEthernet1/0/2配置为Trunk端口且允许VLAN 1~30通过,在这些端口上开启接收Flush报文的功能,并指定接收Flush报文的控制VLAN为VLAN 10和20。
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] port link-type trunk
[DeviceA-GigabitEthernet1/0/1] port trunk permit vlan 1 to 30
[DeviceA-GigabitEthernet1/0/1] smart-link flush enable control-vlan 10 20
[DeviceA-GigabitEthernet1/0/1] quit
[DeviceA] interface gigabitethernet 1/0/2
[DeviceA-GigabitEthernet1/0/2] port link-type trunk
[DeviceA-GigabitEthernet1/0/2] port trunk permit vlan 1 to 30
[DeviceA-GigabitEthernet1/0/2] smart-link flush enable control-vlan 10 20
[DeviceA-GigabitEthernet1/0/2] quit
通过使用display smart-link group命令可以查看设备上Smart Link组的信息:
# 显示Device C上Smart Link组的信息。
[DeviceC] display smart-link group 1
Smart link group 1 information:
Device ID : 000f-e23d-5af0
Preemption mode : None
Preemption delay: 1(s)
Control VLAN : 10
Protected VLAN : Reference Instance 1
Member Role State Flush-count Last-flush-time
-----------------------------------------------------------------------------
GE1/0/1 PRIMARY ACTIVE 5 16:45:20 2012/04/21
GE1/0/2 SECONDARY STANDBY 1 16:37:20 2012/04/21
通过使用display smart-link flush命令可以查看设备上收到的Flush报文信息:
# 显示Device B上收到的Flush报文信息。
[DeviceB] display smart-link flush
Received flush packets : 5
Receiving interface of the last flush packet : GigabitEthernet1/0/3
Receiving time of the last flush packet : 16:50:21 2012/04/21
Device ID of the last flush packet : 000f-e23d-5af0
Control VLAN of the last flush packet : 10
· 在图1-3所示的组网中,Device C为Smart Link设备,Device A、Device B和Device D为相关设备。Device C上VLAN 1~200的流量通过Device B和Device D双上行到Device A。
· 通过配置,在Device C上实现双上行链路的灵活备份和负载分担:VLAN 1~100的流量经Device B向Device A转发,VLAN 101~200的流量经Device D向Device A转发。
图1-3 多Smart Link组负载分担配置组网图
(1) 配置Device C
# 创建VLAN 1~200,分别将VLAN 1~100映射到MSTI 1、VLAN 101~200映射到MSTI2上,并激活MST域的配置。
<DeviceC> system-view
[DeviceC] vlan 1 to 200
[DeviceC] stp region-configuration
[DeviceC-mst-region] instance 1 vlan 1 to 100
[DeviceC-mst-region] instance 2 vlan 101 to 200
[DeviceC-mst-region] active region-configuration
[DeviceC-mst-region] quit
# 分别关闭端口GigabitEthernet1/0/1和GigabitEthernet1/0/2,在这两个端口上分别关闭生成树协议,并将端口配置为Trunk端口且允许VLAN 1~200通过。
[DeviceC] interface gigabitethernet 1/0/1
[DeviceC-GigabitEthernet1/0/1] shutdown
[DeviceC-GigabitEthernet1/0/1] undo stp enable
[DeviceC-GigabitEthernet1/0/1] port link-type trunk
[DeviceC-GigabitEthernet1/0/1] port trunk permit vlan 1 to 200
[DeviceC-GigabitEthernet1/0/1] quit
[DeviceC] interface gigabitethernet 1/0/2
[DeviceC-GigabitEthernet1/0/2] shutdown
[DeviceC-GigabitEthernet1/0/2] undo stp enable
[DeviceC-GigabitEthernet1/0/2] port link-type trunk
[DeviceC-GigabitEthernet1/0/2] port trunk permit vlan 1 to 200
[DeviceC-GigabitEthernet1/0/2] quit
# 创建Smart Link组1,并配置其保护VLAN为MSTI 1所映射的VLAN。
[DeviceC] smart-link group 1
[DeviceC-smlk-group1] protected-vlan reference-instance 1
# 配置Smart Link组1的主端口为GigabitEthernet1/0/1,从端口为GigabitEthernet1/0/2。
[DeviceC-smlk-group1] port gigabitethernet 1/0/1 primary
[DeviceC-smlk-group1] port gigabitethernet 1/0/2 secondary
# 在Smart Link组1中配置抢占模式为角色抢占模式;开启发送Flush报文的功能,并指定发送Flush报文的控制VLAN为VLAN 10。
[DeviceC-smlk-group1] preemption mode role
[DeviceC-smlk-group1] flush enable control-vlan 10
[DeviceC-smlk-group1] quit
# 创建Smart Link组2,并配置其保护VLAN为MSTI 2所映射的VLAN。
[DeviceC] smart-link group 2
[DeviceC-smlk-group2] protected-vlan reference-instance 2
# 配置Smart Link组2的主端口为GigabitEthernet1/0/2,从端口为GigabitEthernet1/0/1。
[DeviceC-smlk-group2] port gigabitethernet 1/0/2 primary
[DeviceC-smlk-group2] port gigabitethernet 1/0/1 secondary
# 在Smart Link组2中配置抢占模式为角色抢占模式;开启发送Flush报文的功能,并指定发送Flush报文的控制VLAN为VLAN 110。
[DeviceC-smlk-group2] preemption mode role
[DeviceC-smlk-group2] flush enable control-vlan 110
[DeviceC-smlk-group2] quit
# 重新开启端口GigabitEthernet1/0/1和GigabitEthernet1/0/2。
[DeviceC] interface gigabitethernet 1/0/1
[DeviceC-GigabitEthernet1/0/1] undo shutdown
[DeviceC-GigabitEthernet1/0/1] quit
[DeviceC] interface gigabitethernet 1/0/2
[DeviceC-GigabitEthernet1/0/2] undo shutdown
[DeviceC-GigabitEthernet1/0/2] quit
(2) 配置Device B
# 创建VLAN 1~200。
<DeviceB> system-view
[DeviceB] vlan 1 to 200
# 将端口GigabitEthernet1/0/1配置为Trunk端口且允许VLAN 1~200通过,在该端口上开启接收Flush报文的功能,并指定接收Flush报文的控制VLAN为VLAN 10和110。
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] port link-type trunk
[DeviceB-GigabitEthernet1/0/1] port trunk permit vlan 1 to 200
[DeviceB-GigabitEthernet1/0/1] smart-link flush enable control-vlan 10 110
[DeviceB-GigabitEthernet1/0/1] quit
# 将端口GigabitEthernet1/0/2配置为Trunk端口且允许VLAN 1~200通过,在该端口上关闭生成树协议并开启接收Flush报文的功能,并指定接收Flush报文的控制VLAN为VLAN 10和110。
[DeviceB] interface gigabitethernet 1/0/2
[DeviceB-GigabitEthernet1/0/2] port link-type trunk
[DeviceB-GigabitEthernet1/0/2] port trunk permit vlan 1 to 200
[DeviceB-GigabitEthernet1/0/2] undo stp enable
[DeviceB-GigabitEthernet1/0/2] smart-link flush enable control-vlan 10 110
[DeviceB-GigabitEthernet1/0/2] quit
(3) 配置Device D
# 创建VLAN 1~200。
<DeviceD> system-view
[DeviceD] vlan 1 to 200
# 将端口GigabitEthernet1/0/1配置为Trunk端口且允许VLAN 1~200通过,在该端口上开启接收Flush报文的功能,并指定接收Flush报文的控制VLAN为VLAN 10和110。
[DeviceD] interface gigabitethernet 1/0/1
[DeviceD-GigabitEthernet1/0/1] port link-type trunk
[DeviceD-GigabitEthernet1/0/1] port trunk permit vlan 1 to 200
[DeviceD-GigabitEthernet1/0/1] smart-link flush enable control-vlan 10 110
[DeviceD-GigabitEthernet1/0/1] quit
# 将端口GigabitEthernet1/0/2配置为Trunk端口且允许VLAN 1~200通过,在该端口上关闭生成树协议并开启接收Flush报文的功能,并指定接收Flush报文的控制VLAN为VLAN 10和110。
[DeviceD] interface gigabitethernet 1/0/2
[DeviceD-GigabitEthernet1/0/2] port link-type trunk
[DeviceD-GigabitEthernet1/0/2] port trunk permit vlan 1 to 200
[DeviceD-GigabitEthernet1/0/2] undo stp enable
[DeviceD-GigabitEthernet1/0/2] smart-link flush enable control-vlan 10 110
[DeviceD-GigabitEthernet1/0/2] quit
(4) 配置Device A
# 创建VLAN 1~200。
<DeviceA> system-view
[DeviceA] vlan 1 to 200
# 分别将端口GigabitEthernet1/0/1和GigabitEthernet1/0/2配置为Trunk端口且允许VLAN 1~200通过,在这些端口上开启接收Flush报文的功能,并指定接收Flush报文的控制VLAN为VLAN 10和110。
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] port link-type trunk
[DeviceA-GigabitEthernet1/0/1] port trunk permit vlan 1 to 200
[DeviceA-GigabitEthernet1/0/1] smart-link flush enable control-vlan 10 110
[DeviceA-GigabitEthernet1/0/1] quit
[DeviceA] interface gigabitethernet 1/0/2
[DeviceA-GigabitEthernet1/0/2] port link-type trunk
[DeviceA-GigabitEthernet1/0/2] port trunk permit vlan 1 to 200
[DeviceA-GigabitEthernet1/0/2] smart-link flush enable control-vlan 10 110
[DeviceA-GigabitEthernet1/0/2] quit
通过使用display smart-link group命令可以查看设备上Smart Link组的信息:
# 显示Device C上Smart Link组的信息。
[DeviceC] display smart-link group all
Smart link group 1 information:
Device ID : 000f-e23d-5af0
Preemption mode : Role
Preemption delay: 1(s)
Control VLAN : 10
Protected VLAN : Reference Instance 1
Member Role State Flush-count Last-flush-time
-----------------------------------------------------------------------------
GE1/0/1 PRIMARY ACTIVE 5 16:45:20 2012/04/21
GE1/0/2 SECONDARY STANDBY 1 16:37:20 2012/04/21
Smart link group 2 information:
Device ID : 000f-e23d-5af0
Preemption mode : Role
Preemption delay: 1(s)
Control VLAN : 110
Protected VLAN : Reference Instance 2
Member Role State Flush-count Last-flush-time
-----------------------------------------------------------------------------
GE1/0/2 PRIMARY ACTIVE 5 16:45:20 2012/04/21
GE1/0/1 SECONDARY STANDBY 1 16:37:20 2012/04/21
通过使用display smart-link flush命令可以查看设备上收到的Flush报文信息:
# 显示Device B上收到的Flush报文信息。
[DeviceB] display smart-link flush
Received flush packets : 5
Receiving interface of the last flush packet : GigabitEthernet1/0/2
Receiving time of the last flush packet : 16:25:21 2012/04/21
Device ID of the last flush packet : 000f-e23d-5af0
Control VLAN of the last flush packet : 10
· 在图1-4所示的组网中,Device A~Device D组成级别为5的MD MD_A;Device C为Smart Link设备,Device A、Device B和Device D为相关设备。Device C上VLAN 1~200的流量通过Device B和Device D双上行到Device A。
· 配置Smart Link与Track联动,通过将端口与CFD连续性检测功能的联动以实现:在正常情况下,VLAN 1~100的流量经Device C上Smart Link组1的主端口GigabitEthernet1/0/1向Device A转发,VLAN 101~200的流量经Device C上Smart Link组2的主端口GigabitEthernet1/0/2向Device A转发;当Device C与Device A之间的链路发生故障时,原本由各Smart Link组的主端口转发的流量能够快速切换到从端口,并在故障排除后再切换回主端口。
图1-4 Smart Link与Track联动配置组网图
(1) 配置Device A
# 创建VLAN 1~200。
<DeviceA> system-view
[DeviceA] vlan 1 to 200
# 分别将端口GigabitEthernet1/0/1和GigabitEthernet1/0/2配置为Trunk端口且允许VLAN 1~200通过,在这些端口上开启接收Flush报文的功能,并指定接收Flush报文的控制VLAN为VLAN 10和110。
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] port link-type trunk
[DeviceA-GigabitEthernet1/0/1] port trunk permit vlan 1 to 200
[DeviceA-GigabitEthernet1/0/1] smart-link flush enable control-vlan 10 110
[DeviceA-GigabitEthernet1/0/1] quit
[DeviceA] interface gigabitethernet 1/0/2
[DeviceA-GigabitEthernet1/0/2] port link-type trunk
[DeviceA-GigabitEthernet1/0/2] port trunk permit vlan 1 to 200
[DeviceA-GigabitEthernet1/0/2] smart-link flush enable control-vlan 10 110
[DeviceA-GigabitEthernet1/0/2] quit
# 开启CFD功能,并创建级别为5的MD MD_A。
[DeviceA] cfd enable
[DeviceA] cfd md MD_A level 5
# 在MD_A中创建以VLAN编号为MA名称的服务实例1,该MA服务于VLAN 10。
[DeviceA] cfd service-instance 1 ma-id vlan-based md MD_A vlan 10
# 在服务实例1内配置MEP列表,在端口GigabitEthernet1/0/1上创建服务实例1内的外向MEP 1002,并开启其CCM报文发送功能。
[DeviceA] cfd meplist 1001 1002 service-instance 1
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] cfd mep 1002 service-instance 1 outbound
[DeviceA-GigabitEthernet1/0/1] cfd cc service-instance 1 mep 1002 enable
[DeviceA-GigabitEthernet1/0/1] quit
# 在MD_A中创建以VLAN编号为MA名称的服务实例2,该MA服务于VLAN 110。
[DeviceA] cfd service-instance 2 ma-id vlan-based md MD_A vlan 110
# 在服务实例2内配置MEP列表,在端口GigabitEthernet1/0/2上创建服务实例2内的外向MEP 2002,并开启其CCM报文发送功能。
[DeviceA] cfd meplist 2001 2002 service-instance 2
[DeviceA] interface gigabitethernet 1/0/2
[DeviceA-GigabitEthernet1/0/2] cfd mep 2002 service-instance 2 outbound
[DeviceA-GigabitEthernet1/0/2] cfd cc service-instance 2 mep 2002 enable
[DeviceA-GigabitEthernet1/0/2] quit
(2) 配置Device B
# 创建VLAN 1~200。
<DeviceB> system-view
[DeviceB] vlan 1 to 200
# 将端口GigabitEthernet1/0/1配置为Trunk端口且允许VLAN 1~200通过,在该端口上开启接收Flush报文的功能,并指定接收Flush报文的控制VLAN为VLAN 10和110。
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] port link-type trunk
[DeviceB-GigabitEthernet1/0/1] port trunk permit vlan 1 to 200
[DeviceB-GigabitEthernet1/0/1] smart-link flush enable control-vlan 10 110
[DeviceB-GigabitEthernet1/0/1] quit
# 将端口GigabitEthernet1/0/2配置为Trunk端口且允许VLAN 1~200通过,在该端口上关闭生成树协议并开启接收Flush报文的功能,并指定接收Flush报文的控制VLAN为VLAN 10和110。
[DeviceB] interface gigabitethernet 1/0/2
[DeviceB-GigabitEthernet1/0/2] port link-type trunk
[DeviceB-GigabitEthernet1/0/2] port trunk permit vlan 1 to 200
[DeviceB-GigabitEthernet1/0/2] undo stp enable
[DeviceB-GigabitEthernet1/0/2] smart-link flush enable control-vlan 10 110
[DeviceB-GigabitEthernet1/0/2] quit
(3) 配置Device C
# 创建VLAN 1~200,分别将VLAN 1~100映射到MSTI 1、VLAN 101~200映射到MSTI 2上,并激活MST域的配置。
<DeviceC> system-view
[DeviceC] vlan 1 to 200
[DeviceC] stp region-configuration
[DeviceC-mst-region] instance 1 vlan 1 to 100
[DeviceC-mst-region] instance 2 vlan 101 to 200
[DeviceC-mst-region] active region-configuration
[DeviceC-mst-region] quit
# 分别关闭端口GigabitEthernet1/0/1和GigabitEthernet1/0/2,在这两个端口上分别关闭生成树协议,并将端口配置为Trunk端口且允许VLAN 1~200通过。
[DeviceC] interface gigabitethernet 1/0/1
[DeviceC-GigabitEthernet1/0/1] shutdown
[DeviceC-GigabitEthernet1/0/1] undo stp enable
[DeviceC-GigabitEthernet1/0/1] port link-type trunk
[DeviceC-GigabitEthernet1/0/1] port trunk permit vlan 1 to 200
[DeviceC-GigabitEthernet1/0/1] quit
[DeviceC] interface gigabitethernet 1/0/2
[DeviceC-GigabitEthernet1/0/2] shutdown
[DeviceC-GigabitEthernet1/0/2] undo stp enable
[DeviceC-GigabitEthernet1/0/2] port link-type trunk
[DeviceC-GigabitEthernet1/0/2] port trunk permit vlan 1 to 200
[DeviceC-GigabitEthernet1/0/2] quit
# 创建Smart Link组1,并配置其保护VLAN为MSTI 1所映射的VLAN。
[DeviceC] smart-link group 1
[DeviceC-smlk-group1] protected-vlan reference-instance 1
# 配置Smart Link组1的主端口为GigabitEthernet1/0/1,从端口为GigabitEthernet1/0/2。
[DeviceC-smlk-group1] port gigabitethernet 1/0/1 primary
[DeviceC-smlk-group1] port gigabitethernet 1/0/2 secondary
# 在Smart Link组1中配置抢占模式为角色抢占模式;开启发送Flush报文的功能,并指定发送Flush报文的控制VLAN为VLAN 10。
[DeviceC-smlk-group1] preemption mode role
[DeviceC-smlk-group1] flush enable control-vlan 10
[DeviceC-smlk-group1] quit
# 创建Smart Link组2,并配置其保护VLAN为MSTI 2所映射的VLAN。
[DeviceC] smart-link group 2
[DeviceC-smlk-group2] protected-vlan reference-instance 2
# 配置Smart Link组2的主端口为GigabitEthernet1/0/2,从端口为GigabitEthernet1/0/1。
[DeviceC-smlk-group2] port gigabitethernet 1/0/2 primary
[DeviceC-smlk-group2] port gigabitethernet 1/0/1 secondary
# 在Smart Link组2中配置抢占模式为角色抢占模式;开启发送Flush报文的功能,并指定发送Flush报文的控制VLAN为VLAN 110。
[DeviceC-smlk-group2] preemption mode role
[DeviceC-smlk-group2] flush enable control-vlan 110
[DeviceC-smlk-group2] quit
# 开启CFD功能,并创建级别为5的MD MD_A。
[DeviceC] cfd enable
[DeviceC] cfd md MD_A level 5
# 在MD_A中创建以VLAN编号为MA名称的服务实例1,该MA服务于VLAN 10。
[DeviceC] cfd service-instance 1 ma-id vlan-based md MD_A vlan 10
# 在服务实例1内配置MEP列表,在端口GigabitEthernet1/0/1上创建服务实例1内的外向MEP 1001,并开启其CCM报文发送功能。
[DeviceC] cfd meplist 1001 1002 service-instance 1
[DeviceC] interface gigabitethernet 1/0/1
[DeviceC-GigabitEthernet1/0/1] cfd mep 1001 service-instance 1 outbound
[DeviceC-GigabitEthernet1/0/1] cfd cc service-instance 1 mep 1001 enable
[DeviceC-GigabitEthernet1/0/1] quit
# 在MD_A中创建以VLAN编号为MA名称的服务实例2,该MA服务于VLAN 110。
[DeviceC] cfd service-instance 2 ma-id vlan-based md MD_A vlan 110
# 在服务实例2内配置MEP列表,在端口GigabitEthernet1/0/2上创建服务实例2内的外向MEP 2001,并开启其CCM报文发送功能。
[DeviceC] cfd meplist 2001 2002 service-instance 2
[DeviceC] interface gigabitethernet 1/0/2
[DeviceC-GigabitEthernet1/0/2] cfd mep 2001 service-instance 2 outbound
[DeviceC-GigabitEthernet1/0/2] cfd cc service-instance 2 mep 2001 enable
[DeviceC-GigabitEthernet1/0/2] quit
# 创建与服务实例1中MEP 1001的CFD连续性检测功能关联的Track项1。
[DeviceC] track 1 cfd cc service-instance 1 mep 1001
# 配置Smart Link组1的主端口GigabitEthernet1/0/1通过Track项1与CFD的连续性检测功能联动,并重新开启该端口。
[DeviceC] interface gigabitethernet 1/0/1
[DeviceC-GigabitEthernet1/0/1] port smart-link group 1 track 1
[DeviceC-GigabitEthernet1/0/1] undo shutdown
[DeviceC-GigabitEthernet1/0/1] quit
# 创建与服务实例2中MEP 2001的CFD连续性检测功能关联的Track项2。
[DeviceC] track 2 cfd cc service-instance 2 mep 2001
# 配置Smart Link组2的主端口GigabitEthernet1/0/2通过Track项2与CFD的连续性检测功能联动,并重新开启该端口。
[DeviceC] interface gigabitethernet 1/0/2
[DeviceC-GigabitEthernet1/0/2] port smart-link group 2 track 2
[DeviceC-GigabitEthernet1/0/2] undo shutdown
[DeviceC-GigabitEthernet1/0/2] quit
(4) 配置Device D
# 创建VLAN 1~200。
<DeviceD> system-view
[DeviceD] vlan 1 to 200
# 将端口GigabitEthernet1/0/1配置为Trunk端口且允许VLAN 1~200通过,在该端口上开启接收Flush报文的功能,并指定接收Flush报文的控制VLAN为VLAN 10和110。
[DeviceD] interface gigabitethernet 1/0/1
[DeviceD-GigabitEthernet1/0/1] port link-type trunk
[DeviceD-GigabitEthernet1/0/1] port trunk permit vlan 1 to 200
[DeviceD-GigabitEthernet1/0/1] smart-link flush enable control-vlan 10 110
[DeviceD-GigabitEthernet1/0/1] quit
# 将端口GigabitEthernet1/0/2配置为Trunk端口且允许VLAN 1~200通过,在该端口上关闭生成树协议并开启接收Flush报文的功能,并指定接收Flush报文的控制VLAN为VLAN 10和110。
[DeviceD] interface gigabitethernet 1/0/2
[DeviceD-GigabitEthernet1/0/2] port link-type trunk
[DeviceD-GigabitEthernet1/0/2] port trunk permit vlan 1 to 200
[DeviceD-GigabitEthernet1/0/2] undo stp enable
[DeviceD-GigabitEthernet1/0/2] smart-link flush enable control-vlan 10 110
[DeviceD-GigabitEthernet1/0/2] quit
假设连接Device A与Device B的光纤发生了单通故障,通过使用display smart-link group命令可以查看设备上Smart Link组的信息:
# 显示Device C上Smart Link组的信息。
[DeviceC] display smart-link group all
Smart link group 1 information:
Device ID : 000f-e23d-5af0
Preemption mode : Role
Preemption delay: 1(s)
Control VLAN : 10
Protected VLAN : Reference Instance 1
Member Role State Flush-count Last-flush-time
-----------------------------------------------------------------------------
GE1/0/1 PRIMARY DOWN 5 16:45:20 2012/04/21
GE1/0/2 SECONDARY ACTIVE 1 16:37:20 2012/04/21
Smart link group 2 information:
Device ID : 000f-e23d-5af0
Preemption mode : Role
Preemption delay: 1(s)
Control VLAN : 110
Protected VLAN : Reference Instance 2
Member Role State Flush-count Last-flush-time
-----------------------------------------------------------------------------
GE1/0/2 PRIMARY ACTIVE 5 16:45:20 2012/04/21
GE1/0/1 SECONDARY STANDBY 1 16:37:20 2012/04/21
由此可见,Smart Link组1的主端口GigabitEthernet1/0/1处于故障状态,而从端口GigabitEthernet1/0/2则处于转发状态。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!