08-Smart Link配置
本章节下载 (381.35 KB)
目 录
Smart Link仅在SAP板工作在二层模式时支持。
当下游设备连接到上游设备时,使用单上行方式容易出现单点故障,造成业务中断。因此通常采用双上行方式,即将一台下游设备同时连接到两台上游设备,以最大限度地避免单点故障,提高网络可靠性,如图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所示,Router C和Router D各自的端口GigabitEthernet3/0/1和GigabitEthernet3/0/2分别组成了一个Smart Link组,其中GigabitEthernet3/0/1处于转发状态,而GigabitEthernet3/0/2处于待命状态。
主端口和从端口是Smart Link组中的两个端口角色。当Smart Link组中的两个端口都处于up状态时,主端口将优先进入转发状态,而从端口将保持待命状态。但是,主端口并不一直处于转发状态,而从端口也并不一直处于待命状态。当主端口所在链路发生故障时,从端口将切换为转发状态。
如图1-1所示,Router C和Router D各自的端口GigabitEthernet3/0/1为主端口,GigabitEthernet3/0/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中的Router C和Router D)会在发送控制VLAN内广播发送Flush报文。
接收控制VLAN是用于接收并处理Flush报文的VLAN。当发生链路切换时,设备(如图1-1中的Router A、Router B和Router E)接收并处理属于接收控制VLAN的Flush报文,进行MAC地址转发表项和ARP/ND表项的刷新操作。
在图1-1所示的组网中,Router C的端口GigabitEthernet3/0/1所在的链路是主链路,GigabitEthernet3/0/2所在的链路是从链路。正常情况下,GigabitEthernet3/0/1处于转发状态,GigabitEthernet3/0/2处于待命状态。当主链路出现故障时,GigabitEthernet3/0/1将自动阻塞并切换到待命状态,GigabitEthernet3/0/2将切换到转发状态。
当端口切换到转发状态时,系统会输出日志信息通知用户。
当Smart Link发生链路切换时,网络中各设备上的MAC地址转发表项和ARP/ND表项可能已经不是最新状态,为了保证报文的正确发送,需要提供一种MAC地址转发表项和ARP/ND表项的更新机制。目前更新机制有以下两种:
· 自动通过流量刷新MAC地址转发表项和ARP/ND表项。此方式适用于与不支持Smart Link功能的设备(包括其他厂商设备)对接的情况,需要有上行流量触发。
· 由Smart Link设备从新的链路上发送Flush报文。此方式需要上行的设备都能够识别Smart Link的Flush报文并进行更新MAC地址转发表项和ARP/ND表项的处理。
在图1-1所示的组网中,Router C的端口GigabitEthernet3/0/1所在的链路是主链路,GigabitEthernet3/0/2所在的链路是从链路。当主链路出现故障时,GigabitEthernet3/0/1将自动阻塞并切换到待命状态,GigabitEthernet3/0/2则从待命状态切换到转发状态。当主链路恢复后:
· 在非角色抢占模式下,GigabitEthernet3/0/1仍将维持在阻塞状态,不进行链路状态切换,从而保持流量稳定。只有等下一次链路切换时,该端口才会重新切换回转发状态。
· 在角色抢占模式下,GigabitEthernet3/0/2将自动阻塞并切换到待命状态,而GigabitEthernet3/0/1则切换回转发状态。
在同一个环网中,可能同时存在多个VLAN的数据流量,Smart Link可以实现流量的负载分担,即不同VLAN的流量沿不同Smart Link组所确定的路径进行转发。
通过把一个端口配置为多个Smart Link组的成员端口(每个Smart Link组的保护VLAN不同),且该端口在不同Smart Link组中的转发状态不同,这样就能实现不同VLAN的数据流量的转发路径不同,从而达到负载分担的目的。
每个Smart Link组的保护VLAN是通过引用MSTI(Multiple Spanning Tree Instance,多生成树实例)来实现的。
当上行链路上的中间传输设备或传输链路发生故障(如光纤链路发生单通、错纤、丢包等故障)以及故障排除时,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中的Router C和Router D。
· 相关设备是指支持Smart Link功能、在实际应用中为配合Smart Link设备而需使能从指定控制VLAN接收Flush报文功能的设备,如图1-1中的Router A、Router B和Router 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所示的组网中,Router C和Router D为Smart Link设备,Router A、Router B和Router E为相关设备。Router C和Router D上VLAN 1~30的流量分别双上行到Router A。
· 通过配置,在Router C和Router D上分别实现双上行链路的灵活备份。
图1-2 单Smart Link组配置组网图
(1) 配置Router C
# 创建VLAN 1~30,将这些VLAN都映射到MSTI 1上,并激活MST域的配置。
<RouterC> system-view
[RouterC] vlan 1 to 30
[RouterC] stp region-configuration
[RouterC-mst-region] instance 1 vlan 1 to 30
[RouterC-mst-region] active region-configuration
[RouterC-mst-region] quit
# 分别关闭端口GigabitEthernet3/0/1和GigabitEthernet3/0/2,在这两个端口上分别关闭生成树协议,并将端口配置为Trunk端口且允许VLAN 1~30通过。
[RouterC] interface gigabitethernet 3/0/1
[RouterC-GigabitEthernet3/0/1] shutdown
[RouterC-GigabitEthernet3/0/1] undo stp enable
[RouterC-GigabitEthernet3/0/1] port link-type trunk
[RouterC-GigabitEthernet3/0/1] port trunk permit vlan 1 to 30
[RouterC-GigabitEthernet3/0/1] quit
[RouterC] interface gigabitethernet 3/0/2
[RouterC-GigabitEthernet3/0/2] shutdown
[RouterC-GigabitEthernet3/0/2] undo stp enable
[RouterC-GigabitEthernet3/0/2] port link-type trunk
[RouterC-GigabitEthernet3/0/2] port trunk permit vlan 1 to 30
[RouterC-GigabitEthernet3/0/2] quit
# 创建Smart Link组1,并配置其保护VLAN为MSTI 1所映射的VLAN。
[RouterC] smart-link group 1
[RouterC-smlk-group1] protected-vlan reference-instance 1
# 配置Smart Link组1的主端口为GigabitEthernet3/0/1,从端口为GigabitEthernet3/0/2。
[RouterC-smlk-group1] port gigabitethernet3/0/1 master
[RouterC-smlk-group1] port gigabitethernet3/0/2 slave
# 在Smart Link组1中使能发送Flush报文的功能,并指定发送Flush报文的控制VLAN为VLAN 10。
[RouterC-smlk-group1] flush enable control-vlan 10
[RouterC-smlk-group1] quit
# 重新开启端口GigabitEthernet3/0/1和GigabitEthernet3/0/2。
[RouterC] interface gigabitethernet 3/0/1
[RouterC-GigabitEthernet3/0/1] undo shutdown
[RouterC-GigabitEthernet3/0/1] quit
[RouterC] interface gigabitethernet 3/0/2
[RouterC-GigabitEthernet3/0/2] undo shutdown
[RouterC-GigabitEthernet3/0/2] quit
(2) 配置Router D
# 创建VLAN 1~30,将这些VLAN都映射到MSTI 1上,并激活MST域的配置。
<RouterD> system-view
[RouterD] vlan 1 to 30
[RouterD] stp region-configuration
[RouterD-mst-region] instance 1 vlan 1 to 30
[RouterD-mst-region] active region-configuration
[RouterD-mst-region] quit
# 分别关闭端口GigabitEthernet3/0/1和GigabitEthernet3/0/2,在这两个端口上分别关闭生成树协议,并将端口配置为Trunk端口且允许VLAN 1~30通过。
[RouterD] interface gigabitethernet 3/0/1
[RouterD-GigabitEthernet3/0/1] shutdown
[RouterD-GigabitEthernet3/0/1] undo stp enable
[RouterD-GigabitEthernet3/0/1] port link-type trunk
[RouterD-GigabitEthernet3/0/1] port trunk permit vlan 1 to 30
[RouterD-GigabitEthernet3/0/1] quit
[RouterD] interface gigabitethernet 3/0/2
[RouterD-GigabitEthernet3/0/2] shutdown
[RouterD-GigabitEthernet3/0/2] undo stp enable
[RouterD-GigabitEthernet3/0/2] port link-type trunk
[RouterD-GigabitEthernet3/0/2] port trunk permit vlan 1 to 30
[RouterD-GigabitEthernet3/0/2] quit
# 创建Smart Link组1,并配置其保护VLAN为MSTI 1所映射的VLAN。
[RouterD] smart-link group 1
[RouterD-smlk-group1] protected-vlan reference-instance 1
# 配置Smart Link组1的主端口为GigabitEthernet3/0/1,从端口为GigabitEthernet3/0/2。
[RouterD-smlk-group1] port gigabitethernet3/0/1 master
[RouterD-smlk-group1] port gigabitethernet3/0/2 slave
# 在Smart Link组1中使能发送Flush报文的功能,并指定发送Flush报文的控制VLAN为VLAN 20。
[RouterD-smlk-group1] flush enable control-vlan 20
[RouterD-smlk-group1] quit
# 重新开启端口GigabitEthernet3/0/1和GigabitEthernet3/0/2。
[RouterD] interface gigabitethernet 3/0/1
[RouterD-GigabitEthernet3/0/1] undo shutdown
[RouterD-GigabitEthernet3/0/1] quit
[RouterD] interface gigabitethernet 3/0/2
[RouterD-GigabitEthernet3/0/2] undo shutdown
[RouterD-GigabitEthernet3/0/2] quit
(3) 配置Router B
# 创建VLAN 1~30。
<RouterB> system-view
[RouterB] vlan 1 to 30
#将端口GigabitEthernet3/0/1配置为Trunk端口且允许VLAN 1~30通过,在该端口上使能接收Flush报文的功能,并指定接收Flush报文的控制VLAN为VLAN 10和20。
[RouterB] interface gigabitethernet 3/0/1
[RouterB-GigabitEthernet3/0/1] port link-type trunk
[RouterB-GigabitEthernet3/0/1] port trunk permit vlan 1 to 30
[RouterB-GigabitEthernet3/0/1] smart-link flush enable control-vlan 10 20
[RouterB-GigabitEthernet3/0/1] quit
# 将端口GigabitEthernet3/0/2配置为Trunk端口且允许VLAN 1~30通过,在该端口上关闭生成树协议并使能接收Flush报文的功能,并指定接收Flush报文的控制VLAN为VLAN 20。
[RouterB] interface gigabitethernet 3/0/2
[RouterB-GigabitEthernet3/0/2] port link-type trunk
[RouterB-GigabitEthernet3/0/2] port trunk permit vlan 1 to 30
[RouterB-GigabitEthernet3/0/2] undo stp enable
[RouterB-GigabitEthernet3/0/2] smart-link flush enable control-vlan 20
[RouterB-GigabitEthernet3/0/2] quit
# 将端口GigabitEthernet3/0/3配置为Trunk端口且允许VLAN 1~30通过,在该端口上关闭生成树协议并使能接收Flush报文的功能,并指定接收Flush报文的控制VLAN为VLAN 10。
[RouterB] interface gigabitethernet 3/0/3
[RouterB-GigabitEthernet3/0/3] port link-type trunk
[RouterB-GigabitEthernet3/0/3] port trunk permit vlan 1 to 30
[RouterB-GigabitEthernet3/0/3] undo stp enable
[RouterB-GigabitEthernet3/0/3] smart-link flush enable control-vlan 10
[RouterB-GigabitEthernet3/0/3] quit
(4) 配置Router E
# 创建VLAN 1~30。
<RouterE> system-view
[RouterE] vlan 1 to 30
# 将端口GigabitEthernet3/0/1配置为Trunk端口且允许VLAN 1~30通过,在该端口上使能接收Flush报文的功能,并指定接收Flush报文的控制VLAN为VLAN 10和20。
[RouterE] interface gigabitethernet 3/0/1
[RouterE-GigabitEthernet3/0/1] port link-type trunk
[RouterE-GigabitEthernet3/0/1] port trunk permit vlan 1 to 30
[RouterE-GigabitEthernet3/0/1] smart-link flush enable control-vlan 10 20
[RouterE-GigabitEthernet3/0/1] quit
# 将端口GigabitEthernet3/0/2配置为Trunk端口且允许VLAN 1~30通过,在该端口上关闭生成树协议并使能接收Flush报文的功能,并指定接收Flush报文的控制VLAN为VLAN 10。
[RouterE] interface gigabitethernet 3/0/2
[RouterE-GigabitEthernet3/0/2] port link-type trunk
[RouterE-GigabitEthernet3/0/2] port trunk permit vlan 1 to 30
[RouterB-GigabitEthernet3/0/2] undo stp enable
[RouterE-GigabitEthernet3/0/2] smart-link flush enable control-vlan 10
[RouterE-GigabitEthernet3/0/2] quit
# 将端口GigabitEthernet3/0/3配置为Trunk端口且允许VLAN 1~30通过,在该端口上关闭生成树协议并使能接收Flush报文的功能,并指定接收Flush报文的控制VLAN为VLAN 20。
[RouterE] interface gigabitethernet 3/0/3
[RouterE-GigabitEthernet3/0/3] port link-type trunk
[RouterE-GigabitEthernet3/0/3] port trunk permit vlan 1 to 30
[RouterB-GigabitEthernet3/0/3] undo stp enable
[RouterE-GigabitEthernet3/0/3] smart-link flush enable control-vlan 20
[RouterE-GigabitEthernet3/0/3] quit
(5) 配置Router A
# 创建VLAN 1~30。
<RouterA> system-view
[RouterA] vlan 1 to 30
# 分别将端口GigabitEthernet3/0/1和GigabitEthernet3/0/2配置为Trunk端口且允许VLAN 1~30通过,在这些端口上使能接收Flush报文的功能,并指定接收Flush报文的控制VLAN为VLAN 10和20。
[RouterA] interface gigabitethernet 3/0/1
[RouterA-GigabitEthernet3/0/1] port link-type trunk
[RouterA-GigabitEthernet3/0/1] port trunk permit vlan 1 to 30
[RouterA-GigabitEthernet3/0/1] smart-link flush enable control-vlan 10 20
[RouterA-GigabitEthernet3/0/1] quit
[RouterA] interface gigabitethernet 3/0/2
[RouterA-GigabitEthernet3/0/2] port link-type trunk
[RouterA-GigabitEthernet3/0/2] port trunk permit vlan 1 to 30
[RouterA-GigabitEthernet3/0/2] smart-link flush enable control-vlan 10 20
[RouterA-GigabitEthernet3/0/2] quit
(6) 检验配置效果
通过使用display smart-link group命令可以查看设备上Smart Link组的信息:
# 查看Router C上Smart Link组的信息。
[RouterC] display smart-link group 1
Smart link group 1 information:
Device ID: 000f-e23d-5af0
Preemption mode: NONE
Preemption delay: 1(s)
Control VLAN: 1
Protected VLAN: Reference Instance 1
Member Role State Flush-count Last-flush-time
-----------------------------------------------------------------------------
GigabitEthernet3/0/1 MASTER ACTVIE 5 16:37:20 2010/02/21
GigabitEthernet3/0/2 SLAVE STANDBY 1 17:45:20 2010/02/21
通过使用display smart-link flush命令可以查看设备上收到的Flush报文信息:
# 查看Router B上收到的Flush报文信息。
[RouterB] display smart-link flush
Received flush packets : 5
Receiving interface of the last flush packet : GigabitEthernet3/0/3
Receiving time of the last flush packet : 16:25:21 2009/02/21
Device ID of the last flush packet : 000f-e23d-5af0
Control VLAN of the last flush packet : 1
· 在图1-3所示的组网中,Router C为Smart Link设备,Router A、Router B和Router D为相关设备。Router C上VLAN 1~200的流量通过Router B和Router D双上行到Router A。
· 通过配置,在Router C上实现双上行链路的灵活备份和负载分担:VLAN 1~100的流量经Router B向Router A转发,VLAN 101~200的流量经Router D向Router A转发。
图1-3 多Smart Link组负载分担配置组网图
(1) 配置Router C
# 创建VLAN 1~200,分别将VLAN 1~100映射到MSTI 1、VLAN 101~200映射到MSTI 2上,并激活MST域的配置。
<RouterC> system-view
[RouterC] vlan 1 to 200
[RouterC] stp region-configuration
[RouterC-mst-region] instance 1 vlan 1 to 100
[RouterC-mst-region] instance 2 vlan 101 to 200
[RouterC-mst-region] active region-configuration
[RouterC-mst-region] quit
# 分别关闭端口GigabitEthernet3/0/1和GigabitEthernet3/0/2,在这两个端口上分别关闭生成树协议,并将端口配置为Trunk端口且允许VLAN 1~200通过。
[RouterC] interface gigabitethernet 3/0/1
[RouterC-GigabitEthernet3/0/1] shutdown
[RouterC-GigabitEthernet3/0/1] undo stp enable
[RouterC-GigabitEthernet3/0/1] port link-type trunk
[RouterC-GigabitEthernet3/0/1] port trunk permit vlan 1 to 200
[RouterC-GigabitEthernet3/0/1] quit
[RouterC] interface gigabitethernet 3/0/2
[RouterC-GigabitEthernet3/0/2] shutdown
[RouterC-GigabitEthernet3/0/2] undo stp enable
[RouterC-GigabitEthernet3/0/2] port link-type trunk
[RouterC-GigabitEthernet3/0/2] port trunk permit vlan 1 to 200
[RouterC-GigabitEthernet3/0/2] quit
# 创建Smart Link组1,并配置其保护VLAN为MSTI 1所映射的VLAN。
[RouterC] smart-link group 1
[RouterC-smlk-group1] protected-vlan reference-instance 1
# 配置Smart Link组1的主端口为GigabitEthernet3/0/1,从端口为GigabitEthernet3/0/2。
[RouterC-smlk-group1] port gigabitethernet3/0/1 master
[RouterC-smlk-group1] port gigabitethernet3/0/2 slave
# 在Smart Link组1中配置抢占模式为角色抢占模式;使能发送Flush报文的功能,并指定发送Flush报文的控制VLAN为VLAN 10。
[RouterC-smlk-group1] preemption mode role
[RouterC-smlk-group1] flush enable control-vlan 10
[RouterC-smlk-group1] quit
# 创建Smart Link组2,并配置其保护VLAN为MSTI 2所映射的VLAN。
[RouterC] smart-link group 2
[RouterC-smlk-group2] protected-vlan reference-instance 2
# 配置Smart Link组2的主端口为GigabitEthernet3/0/2,从端口为GigabitEthernet3/0/1。
[RouterC-smlk-group2] port gigabitethernet3/0/2 master
[RouterC-smlk-group2] port gigabitethernet3/0/1 slave
# 在Smart Link组2中配置抢占模式为角色抢占模式;使能发送Flush报文的功能,并指定发送Flush报文的控制VLAN为VLAN 110。
[RouterC-smlk-group2] preemption mode role
[RouterC-smlk-group2] flush enable control-vlan 110
[RouterC-smlk-group2] quit
# 重新开启端口GigabitEthernet3/0/1和GigabitEthernet3/0/2。
[RouterC] interface gigabitethernet 3/0/1
[RouterC-GigabitEthernet3/0/1] undo shutdown
[RouterC-GigabitEthernet3/0/1] quit
[RouterC] interface gigabitethernet 3/0/2
[RouterC-GigabitEthernet3/0/2] undo shutdown
[RouterC-GigabitEthernet3/0/2] quit
(2) 配置Router B
# 创建VLAN 1~200。
<RouterB> system-view
[RouterB] vlan 1 to 200
# 将端口GigabitEthernet3/0/1配置为Trunk端口且允许VLAN 1~200通过,在该端口上使能接收Flush报文的功能,并指定接收Flush报文的控制VLAN为VLAN 10和110。
[RouterB] interface gigabitethernet 3/0/1
[RouterB-GigabitEthernet3/0/1] port link-type trunk
[RouterB-GigabitEthernet3/0/1] port trunk permit vlan 1 to 200
[RouterB-GigabitEthernet3/0/1] smart-link flush enable control-vlan 10 110
[RouterB-GigabitEthernet3/0/1] quit
# 将端口GigabitEthernet3/0/2配置为Trunk端口且允许VLAN 1~200通过,在该端口上关闭生成树协议并使能接收Flush报文的功能,并指定接收Flush报文的控制VLAN为VLAN 10和110。
[RouterB] interface gigabitethernet 3/0/2
[RouterB-GigabitEthernet3/0/2] port link-type trunk
[RouterB-GigabitEthernet3/0/2] port trunk permit vlan 1 to 200
[RouterB-GigabitEthernet3/0/2] undo stp enable
[RouterB-GigabitEthernet3/0/2] smart-link flush enable control-vlan 10 110
[RouterB-GigabitEthernet3/0/2] quit
(3) 配置Router D
# 创建VLAN 1~200。
<RouterD> system-view
[RouterD] vlan 1 to 200
# 将端口GigabitEthernet3/0/1配置为Trunk端口且允许VLAN 1~200通过,在这些端口上使能接收Flush报文的功能,并指定接收Flush报文的控制VLAN为VLAN 10和110。
[RouterD] interface gigabitethernet 3/0/1
[RouterD-GigabitEthernet3/0/1] port link-type trunk
[RouterD-GigabitEthernet3/0/1] port trunk permit vlan 1 to 200
[RouterD-GigabitEthernet3/0/1] smart-link flush enable control-vlan 10 110
[RouterD-GigabitEthernet3/0/1] quit
# 将端口GigabitEthernet3/0/2配置为Trunk端口且允许VLAN 1~200通过,在该端口上关闭生成树协议并使能接收Flush报文的功能,并指定接收Flush报文的控制VLAN为VLAN 10和110。
[RouterD] interface gigabitethernet 3/0/2
[RouterD-GigabitEthernet3/0/2] port link-type trunk
[RouterD-GigabitEthernet3/0/2] port trunk permit vlan 1 to 200
[RouterD-GigabitEthernet3/0/2] undo stp enable
[RouterD-GigabitEthernet3/0/2] smart-link flush enable control-vlan 10 110
[RouterD-GigabitEthernet3/0/2] quit
(4) 配置Router A
# 创建VLAN 1~200。
<RouterA> system-view
[RouterA] vlan 1 to 200
# 分别将端口GigabitEthernet3/0/1和GigabitEthernet3/0/2配置为Trunk端口且允许VLAN 1~200通过,在这些端口上使能接收Flush报文的功能,并指定接收Flush报文的控制VLAN为VLAN 10和110。
[RouterA] interface gigabitethernet 3/0/1
[RouterA-GigabitEthernet3/0/1] port link-type trunk
[RouterA-GigabitEthernet3/0/1] port trunk permit vlan 1 to 200
[RouterA-GigabitEthernet3/0/1] smart-link flush enable control-vlan 10 110
[RouterA-GigabitEthernet3/0/1] quit
[RouterA] interface gigabitethernet 3/0/2
[RouterA-GigabitEthernet3/0/2] port link-type trunk
[RouterA-GigabitEthernet3/0/2] port trunk permit vlan 1 to 200
[RouterA-GigabitEthernet3/0/2] smart-link flush enable control-vlan 10 110
[RouterA-GigabitEthernet3/0/2] quit
(5) 检验配置效果
通过使用display smart-link group命令可以查看设备上Smart Link组的信息:
# 查看Router C上Smart Link组的信息。
[RouterC] 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
-----------------------------------------------------------------------------
GigabitEthernet3/0/1 MASTER ACTVIE 5 16:37:20 2010/02/21
GigabitEthernet3/0/2 SLAVE STANDBY 1 17:45:20 2010/02/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
-----------------------------------------------------------------------------
GigabitEthernet3/0/2 MASTER ACTVIE 5 16:37:20 2010/02/21
GigabitEthernet3/0/1 SLAVE STANDBY 1 17:45:20 2010/02/21
通过使用display smart-link flush命令可以查看设备上收到的Flush报文信息:
# 查看Router B上收到的Flush报文信息。
[RouterB] display smart-link flush
Received flush packets : 5
Receiving interface of the last flush packet : GigabitEthernet3/0/2
Receiving time of the last flush packet : 16:25:21 2010/02/21
Device ID of the last flush packet : 000f-e23d-5af0
Control VLAN of the last flush packet : 10
· 在图1-4所示的组网中,Router A~Router D组成级别为5的维护域MD;Router C为Smart Link设备,Router A、Router B和Router D为相关设备。Router C上VLAN 1~200的流量通过Router B和Router D双上行到Router A。
· 通过配置Smart Link与CFD CC机制的联动,实现:在正常情况下,VLAN 1~100的流量经Router C上Smart Link组1的主端口GigabitEthernet3/0/1向Router A转发,VLAN 101~200的流量经Router C上Smart Link组2的主端口GigabitEthernet3/0/2向Router A转发;当Router C与Router A之间的链路发生故障时,原本由各Smart Link组的主端口转发的流量能够快速切换到从端口,并在故障排除后再切换回主端口。
有关CFD的详细介绍和配置,请参见“可靠性配置指导”中的“CFD”。
图1-4 Smart Link与CFD联动配置组网图
(1) 配置Router A
# 创建VLAN 1~200。
<RouterA> system-view
[RouterA] vlan 1 to 200
# 分别将端口GigabitEthernet3/0/1和GigabitEthernet3/0/2配置为Trunk端口且允许VLAN 1~200通过,在这些端口上使能接收Flush报文的功能,并指定接收Flush报文的控制VLAN为VLAN 10和110。
[RouterA] interface gigabitethernet 3/0/1
[RouterA-GigabitEthernet3/0/1] port link-type trunk
[RouterA-GigabitEthernet3/0/1] port trunk permit vlan 1 to 200
[RouterA-GigabitEthernet3/0/1] smart-link flush enable control-vlan 10 110
[RouterA-GigabitEthernet3/0/1] quit
[RouterA] interface gigabitethernet 3/0/2
[RouterA-GigabitEthernet3/0/2] port link-type trunk
[RouterA-GigabitEthernet3/0/2] port trunk permit vlan 1 to 200
[RouterA-GigabitEthernet3/0/2] smart-link flush enable control-vlan 10 110
[RouterA-GigabitEthernet3/0/2] quit
# 使能CFD功能,并创建级别为5的维护域MD。
[RouterA] cfd enable
[RouterA] cfd md MD level 5
# 在MD中创建服务于VLAN 10的维护集MA_A,并为MD和MA_A创建服务实例1。
[RouterA] cfd ma MA_A md MD vlan 10
[RouterA] cfd service-instance 1 md MD ma MA_A
# 在服务实例1内配置维护端点列表,在端口GigabitEthernet3/0/1上创建并使能服务实例1内的外向维护端点1002,并使能其CCM报文发送功能。
[RouterA] cfd meplist 1001 1002 service-instance 1
[RouterA] interface gigabitethernet 3/0/1
[RouterA-GigabitEthernet3/0/1] cfd mep 1002 service-instance 1 outbound
[RouterA-GigabitEthernet3/0/1] cfd mep service-instance 1 mep 1002 enable
[RouterA-GigabitEthernet3/0/1] cfd cc service-instance 1 mep 1002 enable
[RouterA-GigabitEthernet3/0/1] quit
# 在MD中创建服务于VLAN 110的维护集MA_B,并为MD和MA_B创建服务实例2。
[RouterA] cfd ma MA_B md MD vlan 110
[RouterA] cfd service-instance 2 md MD ma MA_B
# 在服务实例2内配置维护端点列表,在端口GigabitEthernet3/0/2上创建并使能服务实例2内的外向维护端点2002,并使能其CCM报文发送功能。
[RouterA] cfd meplist 2001 2002 service-instance 2
[RouterA] interface gigabitethernet 3/0/2
[RouterA-GigabitEthernet3/0/2] cfd mep 2002 service-instance 2 outbound
[RouterA-GigabitEthernet3/0/2] cfd mep service-instance 2 mep 2002 enable
[RouterA-GigabitEthernet3/0/2] cfd cc service-instance 2 mep 2002 enable
[RouterA-GigabitEthernet3/0/2] quit
(2) 配置Router B
# 创建VLAN 1~200。
<RouterB> system-view
[RouterB] vlan 1 to 200
#将端口GigabitEthernet3/0/1配置为Trunk端口且允许VLAN 1~200通过,在该端口上使能接收Flush报文的功能,并指定接收Flush报文的控制VLAN为VLAN 10和110。
[RouterB] interface gigabitethernet 3/0/1
[RouterB-GigabitEthernet3/0/1] port link-type trunk
[RouterB-GigabitEthernet3/0/1] port trunk permit vlan 1 to 200
[RouterB-GigabitEthernet3/0/1] smart-link flush enable control-vlan 10 110
[RouterB-GigabitEthernet3/0/1] quit
# 将端口GigabitEthernet3/0/2配置为Trunk端口且允许VLAN 1~200通过,在该端口上关闭生成树协议并使能接收Flush报文的功能,并指定接收Flush报文的控制VLAN为VLAN 10和110。
[RouterB] interface gigabitethernet 3/0/2
[RouterB-GigabitEthernet3/0/2] port link-type trunk
[RouterB-GigabitEthernet3/0/2] port trunk permit vlan 1 to 200
[RouterB-GigabitEthernet3/0/2] undo stp enable
[RouterB-GigabitEthernet3/0/2] smart-link flush enable control-vlan 10 110
[RouterB-GigabitEthernet3/0/2] quit
(3) 配置Router C
# 创建VLAN 1~200,分别将VLAN 1~100映射到MSTI 1、VLAN 101~200映射到MSTI 2上,并激活MST域的配置。
<RouterC> system-view
[RouterC] vlan 1 to 200
[RouterC] stp region-configuration
[RouterC-mst-region] instance 1 vlan 1 to 100
[RouterC-mst-region] instance 2 vlan 101 to 200
[RouterC-mst-region] active region-configuration
[RouterC-mst-region] quit
# 分别关闭端口GigabitEthernet3/0/1和GigabitEthernet3/0/2,在这两个端口上分别关闭生成树协议,并将端口配置为Trunk端口且允许VLAN 1~200通过。
[RouterC] interface gigabitethernet 3/0/1
[RouterC-GigabitEthernet3/0/1] shutdown
[RouterC-GigabitEthernet3/0/1] undo stp enable
[RouterC-GigabitEthernet3/0/1] port link-type trunk
[RouterC-GigabitEthernet3/0/1] port trunk permit vlan 1 to 200
[RouterC-GigabitEthernet3/0/1] quit
[RouterC] interface gigabitethernet 3/0/2
[RouterC-GigabitEthernet3/0/2] shutdown
[RouterC-GigabitEthernet3/0/2] undo stp enable
[RouterC-GigabitEthernet3/0/2] port link-type trunk
[RouterC-GigabitEthernet3/0/2] port trunk permit vlan 1 to 200
[RouterC-GigabitEthernet3/0/2] quit
# 创建Smart Link组1,并配置其保护VLAN为MSTI 1所映射的VLAN。
[RouterC] smart-link group 1
[RouterC-smlk-group1] protected-vlan reference-instance 1
# 配置Smart Link组1的主端口为GigabitEthernet3/0/1,从端口为GigabitEthernet3/0/2。
[RouterC-smlk-group1] port gigabitethernet3/0/1 master
[RouterC-smlk-group1] port gigabitethernet3/0/2 slave
# 在Smart Link组1中配置抢占模式为角色抢占模式;使能发送Flush报文的功能,并指定发送Flush报文的控制VLAN为VLAN 10。
[RouterC-smlk-group1] preemption mode role
[RouterC-smlk-group1] flush enable control-vlan 10
[RouterC-smlk-group1] quit
# 创建Smart Link组2,并配置其保护VLAN为MSTI 2所映射的VLAN。
[RouterC] smart-link group 2
[RouterC-smlk-group2] protected-vlan reference-instance 2
# 配置Smart Link组2的主端口为GigabitEthernet3/0/2,从端口为GigabitEthernet3/0/1。
[RouterC-smlk-group2] port gigabitethernet3/0/2 master
[RouterC-smlk-group2] port gigabitethernet3/0/1 slave
# 在Smart Link组2中配置抢占模式为角色抢占模式;使能发送Flush报文的功能,并指定发送Flush报文的控制VLAN为VLAN 110。
[RouterC-smlk-group2] preemption mode role
[RouterC-smlk-group2] flush enable control-vlan 110
[RouterC-smlk-group2] quit
# 使能CFD功能,并创建级别为5的维护域MD。
[RouterC] cfd enable
[RouterC] cfd md MD level 5
# 在MD中创建服务于VLAN 10的维护集MA_A,并为MD和MA_A创建服务实例1。
[RouterC] cfd ma MA_A md MD vlan 10
[RouterC] cfd service-instance 1 md MD ma MA_A
# 在服务实例1内配置维护端点列表,在端口GigabitEthernet3/0/1上创建并使能服务实例1内的外向维护端点1001,并使能其CCM报文发送功能。
[RouterC] cfd meplist 1001 1002 service-instance 1
[RouterC] interface gigabitethernet 3/0/1
[RouterC-GigabitEthernet3/0/1] cfd mep 1001 service-instance 1 outbound
[RouterC-GigabitEthernet3/0/1] cfd mep service-instance 1 mep 1001 enable
[RouterC-GigabitEthernet3/0/1] cfd cc service-instance 1 mep 1001 enable
[RouterC-GigabitEthernet3/0/1] quit
# 在MD中创建服务于VLAN 110的维护集MA_B,并为MD和MA_B创建服务实例2。
[RouterC] cfd ma MA_B md MD vlan 110
[RouterC] cfd service-instance 2 md MD ma MA_B
# 在服务实例2内配置维护端点列表,在端口GigabitEthernet3/0/2上创建并使能服务实例2内的外向维护端点2001,并使能其CCM报文发送功能。
[RouterC] cfd meplist 2001 2002 service-instance 2
[RouterC] interface gigabitethernet 3/0/2
[RouterC-GigabitEthernet3/0/2] cfd mep 2001 service-instance 2 outbound
[RouterC-GigabitEthernet3/0/2] cfd mep service-instance 2 mep 2001 enable
[RouterC-GigabitEthernet3/0/2] cfd cc service-instance 2 mep 2001 enable
[RouterC-GigabitEthernet3/0/2] quit
# 配置Smart Link组1的主端口GigabitEthernet3/0/1与CFD CC机制联动,并重新开启该端口。
[RouterC] interface gigabitethernet 3/0/1
[RouterC-GigabitEthernet3/0/1] port smart-link group 1 track cfd cc
[RouterC-GigabitEthernet3/0/1] undo shutdown
[RouterC-GigabitEthernet3/0/1] quit
# 配置Smart Link组2的主端口GigabitEthernet3/0/2与CFD CC机制联动,并重新开启该端口。
[RouterC] interface gigabitethernet 3/0/2
[RouterC-GigabitEthernet3/0/2] port smart-link group 2 track cfd cc
[RouterC-GigabitEthernet3/0/2] undo shutdown
[RouterC-GigabitEthernet3/0/2] quit
(4) 配置Router D
# 创建VLAN 1~200。
<RouterD> system-view
[RouterD] vlan 1 to 200
#将端口GigabitEthernet3/0/1配置为Trunk端口且允许VLAN 1~200通过,在该端口上使能接收Flush报文的功能,并指定接收Flush报文的控制VLAN为VLAN 10和110。
[RouterD] interface gigabitethernet 3/0/1
[RouterD-GigabitEthernet3/0/1] port link-type trunk
[RouterD-GigabitEthernet3/0/1] port trunk permit vlan 1 to 200
[RouterD-GigabitEthernet3/0/1] smart-link flush enable control-vlan 10 110
[RouterD-GigabitEthernet3/0/1] quit
# 将端口GigabitEthernet3/0/2配置为Trunk端口且允许VLAN 1~200通过,在该端口上关闭生成树协议并使能接收Flush报文的功能,并指定接收Flush报文的控制VLAN为VLAN 10和110。
[RouterD] interface gigabitethernet 3/0/2
[RouterD-GigabitEthernet3/0/2] port link-type trunk
[RouterD-GigabitEthernet3/0/2] port trunk permit vlan 1 to 200
[RouterD-GigabitEthernet3/0/2] undo stp enable
[RouterD-GigabitEthernet3/0/2] smart-link flush enable control-vlan 10 110
[RouterD-GigabitEthernet3/0/2] quit
(5) 检验配置效果
假设连接Router A与Router B的光纤发生了单通故障,通过使用display smart-link group命令可以查看设备上Smart Link组的信息:
# 查看Router C上Smart Link组的信息。
[RouterC] 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
-----------------------------------------------------------------------------
GigabitEthernet3/0/1 MASTER DOWN 5 16:37:20 2010/02/21
GigabitEthernet3/0/2 SLAVE ACTVIE 3 17:45:20 2010/02/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
-----------------------------------------------------------------------------
GigabitEthernet3/0/2 MASTER ACTVIE 5 16:37:20 2010/02/21
GigabitEthernet3/0/1 SLAVE STANDBY 1 17:45:20 2010/02/21
有此可见,Smart Link组1的主端口GigabitEthernet3/0/1处于故障状态,而从端口GigabitEthernet3/0/2则处于转发状态。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!