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