Smart Link & Monitor Link技术白皮书

Smart Link & Monitor Link技术白皮书

关键词:Smart LinkMonitor Link,控制VLANFLUSH报文,快速切换,双上行,链路备份

    要:Smart Link是一种为双上行组网提供高效可靠的链路备份、负载分担和快速收敛性能的解决方案。Monitor Link用于监控上行链路,以达到让下行链路同步上行链路状态的目的,从而触发Smart Link的主备链路切换,使Smart Link的备份作用更加完善。本文主要介绍了Smart LinkMonitor Link技术的基本概念、运行机制和典型组网应用。

缩略语:

缩略语

英文全名

中文解释

-

Smart Link

灵活链路

-

Monitor Link

监控链路

RRPP

Rapid Ring Protection Protocol

快速环网保护协议

STP

Spanning Tree Protocol

生成树协议

 

 



Smart Link概述

1.1  产生背景

双上行组网是目前常见的一种组网形式。如1所示,Switch A通过Switch BSwitch C双上行到Switch D

图1 双上行组网示意图

虽然双上行组网可以提供链路备份,但网络中的环路(Switch A --> Switch B --> Switch D --> Switch C --> Switch A)会引起广播风暴,因此,需要采取措施避免环路。一般情况下,可以通过STP来消除环路,但STP的收敛时间较长,会丢失较多流量,不适用于对收敛时间有很高要求的组网环境。另一种高效的环网解决方案RRPP虽然可以提高收敛性能,但是RRPP主要适用于较复杂的环形组网,且配置复杂度较高。基于上述原因,H3C提出了Smart Link技术解决方案。

1.2  技术优点

Smart Link是一种为双上行组网量身定做的解决方案,具有如下优点:

l   能够实现在双上行组网的两条链路正常情况下,只有一条处于连通状态,而另一条处于阻塞状态,从而防止了环路引起的广播风暴。

l   当主用链路发生故障后,流量会在毫秒级的时间内迅速切换到备用链路上,保证了数据的正常转发。

l   配置简单,便于用户操作。

Smart Link技术实现

2.1  概念介绍

2.1.1  Smart Link

Smart Link组也称为灵活链路组,一个Smart Link组包含两个成员端口,其中一个被指定为主端口Master Port),另一个被指定为副端口(Slave Port),不同的Smart Link组可以包含同一个端口。正常情况下,只有一个端口(主端口或副端口)处于转发(ACTIVE)状态,另一个端口被阻塞(BLOCK),处于待命(STANDBY)状态。当处于转发状态的端口发生链路故障(链路故障目前主要是指端口状态转为DOWN、以太网OAM链路故障等)时,Smart Link组会自动将该端口阻塞,并将原阻塞的处于待命状态的端口切换到转发状态。

图2 Smart Link技术应用场景图

2所示组网环境,Switch D的端口GigabitEthernet1/0/1GigabitEthernet1/0/2组成了一个Smart Link组(用蓝色线条标识),端口GigabitEthernet1/0/1处于转发状态(用实线标识),端口GigabitEthernet1/0/2处于阻塞状态(用虚线标识)。Switch E的端口GigabitEthernet1/0/1GigabitEthernet1/0/2组成了另外一个Smart Link组(用红色线条标识),端口GigabitEthernet1/0/1处于阻塞状态(用虚线标识),端口GigabitEthernet1/0/2处于转发状态(用实线标识)。

2.1.2  主端口

主端口(Master Port)是通过命令行指定的Smart Link组的一种端口角色。Smart Link组的主端口可以是以太网端口(电口或光口),也可以是聚合接口。

2所示组网环境,Switch DSmart Link组中处于转发状态的端口GigabitEthernet1/0/1是主端口,而Switch ESmart Link组中的端口GigabitEthernet1/0/1虽然被阻塞,但它仍是主端口。

2.1.3  副端口

副端口(Slave Port)是通过命令行指定的Smart Link组的另外一种端口角色。Smart Link组的副端口可以是以太网端口(电口或光口),也可以是聚合接口。副端口所在的链路也被称为“备用链路”。

2所示组网环境,Switch DSmart Link组中被阻塞的端口GigabitEthernet1/0/2是副端口,而Switch ESmart Link组中的端口GigabitEthernet1/0/2虽然处于转发状态,但它仍是副端口。

2.1.4  保护VLAN

保护VLANSmart Link组内承载数据流量的用户数据VLAN。端口可以加入多个Smart Link组,这些Smart Link组保护不同的VLAN。各Smart Link组分别独立计算组内端口的转发状态。

2所示组网环境,Switch D上可以创建Smart Link1Smart Link2,两个Smart Link组分别保护不同的VALNSmart Link1保护VLAN 110Smart Link2保护VLAN 1120,这样就可以控制两组VLAN的流量分别通过不同的端口上行。

2.1.5  控制VLAN

1. 发送控制VLAN

发送控制VLANControl VLAN)是Smart Link组用于广播发送FLUSH报文(关于FLUSH报文的介绍请参见2.1.6  )的VLAN

2所示组网环境,如果在Switch DSwitch E上开启了FLUSH报文发送功能,当发生链路切换时,设备会从新的主用链路上在发送控制VLAN内广播发送FLUSH报文。

2. 接收控制VLAN

接收控制VLAN是上游设备用于接收并处理FLUSH报文的VLAN

2所示组网环境,如果Switch DSwitch E的上游设备(Switch ASwitch BSwitch C)能够识别FLUSH报文,并开启了FLUSH报文接收处理功能,当发生链路切换时,上游设备会处理收到的属于接收控制VLANFLUSH报文,进而执行MAC地址转发表项和ARP表项的刷新操作。

2.1.6  FLUSH报文

Smart Link组发生链路切换时,原有的转发表项已经不再适用于新的拓扑网络,需要对整网进行MAC地址转发表项和ARP表项的更新。Smart Link通过FLUSH报文来通知其他设备进行表项的刷新操作

FLUSH报文采用IEEE802.3封装,包括Destination MACSource MACControl VLAN IDVLAN Bitmap等信息字段。FLUSH报文格式如3所示。

图3 FLUSH报文格式

l   Destination MAC为未知组播地址。可以通过判断该地址是否为0x010F-E200-0004来区分该报文是否为FLUSH报文。

l   Source MAC表示发送FLUSH报文的设备的接口MAC地址,如果该接口没有MAC地址,则使用二层协议的缺省MAC地址。

l   Control Type表示控制类型。目前只有删除MAC地址转发表项和ARP表项一种(0x01)。

l   Control Version表示版本号。当前版本号为0x00,用于后续版本的扩展。

l   Device ID表示发送FLUSH报文的设备的桥MAC地址。

l   Control VLAN ID表示发送控制VLANID号。

l   Auth-mode表示认证模式,和Password一起使用,便于以后进行安全性扩展。

l   VLAN Bitmap表示VLAN位图,用于携带需要刷新地址表的VLAN列表。

l   FCS表示帧校验和,用于检查报文的合法性。

2.2  Smart Link的工作机制

下面以4所示的组网为例,按照链路正常-->链路故障-->链路恢复的过程,来介绍Smart Link的工作机制。

图4 Smart Link运行机制示意图

2.2.1  链路正常工作机制

Switch A的端口GigabitEthernet1/0/1为主端口,端口GigabitEthernet1/0/2为副端口。双上行链路都正常的情况下,主端口处于转发状态,所在的链路是主用链路,副端口处于待命状态,所在链路是备用链路。数据沿着蓝色线条所表示的链路进行传输,网络中不存在环路,避免产生广播风暴。

2.2.2  链路故障处理机制

Switch A的主用链路发生故障时,主端口GigabitEthernet1/0/1切换到待命状态,副端口GigabitEthernet1/0/2切换到转发状态。此时,网络中各设备上的MAC地址转发表项和ARP表项可能已经错误,需要提供一种MACARP更新的机制,完成流量的快速切换,以免造成流量丢失。目前更新机制有以下两种。

1. 通过FLUSH报文通知设备更新表项

这种方式适用于上游设备(如4中的Switch BSwitch CSwitch D)支持Smart Link功能,能够识别FLUSH报文的情况。

为了实现快速链路切换,需要在Switch A上开启FLUSH报文发送功能,在上游设备所有处于双上行网络上的端口开启接收处理FLUSH报文功能。

(1)      Switch A发生链路切换后,会从新的主用链路上发送FLUSH报文,即从GigabitEthernet1/0/2端口发送FLUSH报文。FLUSH报文的VLAN Bitmap字段填充链路切换前组内处于转发状态的GigabitEthernet1/0/1端口所在Smart Link组的保护VLAN IDControl VLAN ID字段填充Smart Link组配置的发送控制VLAN ID

(2)      当上游设备收到FLUSH报文时判断该FLUSH报文的发送控制VLAN是否在收到报文的端口配置的接收控制VLAN列表中。如果不在接收控制VLAN列表中,设备对该FLUSH报文不做处理,直接转发;如果在接收控制VLAN列表中,设备将提取FLUSH报文中的VLAN Bitmap数据,将设备在这些VLAN内学习到的MACARP表项删除。

此后,如果Switch D收到目的设备为Switch A的数据报文,对于需要进行二层转发的报文,Switch D会通过二层广播方式进行转发;对于需要进行三层转发的报文,设备会通过ARP探测方式先更新ARP表项,然后将报文转发出去。这样,数据流量就可以正确地进行发送。

&  说明

l  为了保证FLUSH报文在发送控制VLAN内正确传送,请确保双上行网络上的所有端口都属于发送控制VLAN。否则,FLUSH报文将发送或转发失败。

l  建议用户以保留Tag的方式发送FLUSH报文,若想以去掉Tag的方式发送FLUSH报文,需确保对端端口缺省VLAN和发送控制VLAN一致,否则将导致FLUSH报文不在发送控制VLAN内传送。

 

2. 自动通过流量更新表项

这种方式适用于与不支持Smart Link功能的设备(包括其他厂商设备)对接的情况,需要有上行流量触发。

l   如果没有来自Switch A的上行流量去触发Switch DMACARP表项更新,那么当Switch D收到目的设备为Switch A的数据报文时,Switch D仍会通过端口GigabitEthernet1/0/1转发出去,但报文已经不能到达Switch A,流量中断,直到其MACARP表项自动老化。

l   如果Switch A有上行流量要发送,但由于Switch AMACARP表项也是错误的,所以直到其表项自动老化、重新学习后,流量才能被发送出去。当上行流量通过端口GigabitEthernet1/0/2到达设备Switch D后,Switch D会更新自己的MACARP表项,那么当Switch D再收到目的设备为Switch A的数据报文时,Switch D会通过端口GigabitEthernet1/0/2转发出去,报文就可以经由Switch C到达Switch A

通过FLUSH报文通知设备更新的机制无须等到表项老化后再进行更新,可以大大减少表项更新所需时间。一般情况下,链路的整个切换过程可在毫秒级的时间内完成的,基本无流量丢失。

2.2.3  链路恢复处理机制

Smart Link组支持两种模式:角色抢占模式和非角色抢占模式。不同模式下的链路恢复机制不同:

l   如果Smart Link组配置为角色抢占模式,当主用链路故障恢复后,主端口将抢占为转发状态,副端口则进入待命状态。只有当主用链路故障时,副端口才会从待命状态切换到转发状态。

l   如果Smart Link组配置为非角色抢占模式,当主用链路故障恢复后,副端口将继续处于转发状态,主端口继续处于待命状态,这样可以保持流量的稳定。

4所示组网环境,当Switch A的端口GigabitEthernet1/0/1的链路恢复后,如果该Smart Link组配置为角色抢占模式,则端口GigabitEthernet1/0/2将阻塞并切换到待命状态,而端口GigabitEthernet1/0/1将抢占到转发状态。而如果配置为非角色抢占模式,端口GigabitEthernet1/0/1仍将继续处于待命状态,不进行流量切换,从而保持流量稳定。

2.3  通过Smart Link实现流量的负载分担

在同一个双上行链路组网中,可能同时存在多个VLAN的数据流量,Smart Link可以实现流量的负载分担,即不同VLAN的流量沿不同的路径进行转发。通过把上行链路的端口分别配置为两个Smart Link组的成员(每个Smart Link组的保护VLAN不同),且端口在不同组中的转发状态不同,这样就能实现不同Smart Link组保护VLAN的流量转发路径不同,从而达到负载分担的目的。

在实现负载分担时,建议将Smart Link组配置为角色抢占模式,否则无法保证流量按照用户的想法一直在两条链路上进行分担。因为,如果配置为非角色抢占模式,刚开始可以实现流量分流,但链路故障后所有流量将集中在同一条链路上传输,链路恢复后流量继续在同一条链路上传输,这样就无法达到负载分担的目的。

4所示组网环境,在Switch A上创建两个Smart Link组,每个Smart Link保护的VLAN不同,但均配置为角色抢占模式Smart Link1的主端口为GigabitEthernet1/0/1,副端口为GigabitEthernet1/0/2,保护VLANVLAN 110Smart Link2的主端口为GigabitEthernet1/0/2,副端口为GigabitEthernet1/0/1,保护VLANVLAN 1120。两个Smart Link组中的主端口均处于转发状态。这样,VLAN 110的流量将沿着蓝色线条所表示的链路进行传输,VLAN 1120的流量将沿着红色线条所表示的链路进行传输,从而实现VLAN流量的负载分担。

2.4  应用限制

l   开启了STPRRPP的端口不能作为Smart Link组的成员端口。

l   聚合组成员端口、业务环回组成员端口不能作为Smart Link组的成员端口。

Monitor Link概述

3.1  产生背景

图5 Monitor Link技术产生背景组网图

5所示组网环境,Switch A上配置了Smart Link功能用于链路冗余备份,GigabitEthernet1/0/1为主端口,GigabitEthernet1/0/2为副端口。

当端口GigabitEthernet1/0/1所在主用链路出现故障时,流量在毫秒级的时间内切换到端口GigabitEthernet1/0/2所在的备用链路上,从而实现了高效可靠的链路备份和快速收敛性能。

但是,当Switch B的上行端口GigabitEthernet1/0/1所在链路出现故障时,配置Smart Link组的设备Switch A由于其主端口GigabitEthernet1/0/1所在链路并未发生故障,所以此时不会出现Smart Link组内的链路切换。但实际上Switch A上的流量已经无法通过端口GigabitEthernet1/0/1的链路上行到Switch D,流量就此中断。为了解决这类问题,Monitor Link技术应运而生。

3.2  技术优点

Monitor Link是对Smart Link技术的有力补充。Monitor Link用于监控上行链路,以达到让下行链路同步上行链路状态的目的,使Smart Link的备份作用更加完善。

Monitor Link技术实现

4.1  概念介绍

4.1.1  Monitor Link

Monitor Link组也称为监控链路组,由一个或多个上行和下行端口组成。下行端口的状态随上行端口状态的变化而变化。

图6 Monitor Link概念介绍示意图

6所示,Switch A的端口GigabitEthernet1/0/1GigabitEthernet1/0/2GigabitEthernet1/0/3组成了一个Monitor Link组。

4.1.2  上行端口

上行端口(Uplink Port)是Monitor Link组中的监控对象,是通过命令行指定的Monitor Link组的一种端口角色。Monitor Link组的上行端口可以是以太网端口(电口或光口)或聚合接口。

6所示,Switch A的端口GigabitEthernet1/0/1为该设备上配置的Monitor Link组的上行端口。

如果多个端口被配置为Monitor Link组的上行端口,只要这些端口中有一个端口处于转发状态,那么Monitor Link组的状态就为UP;只有当所有上行端口都发生故障时,Monitor Link组的状态才为DOWN,这时所有下行端口将都将被关闭。当Monitor Link组的上行端口未指定时,则认为上行端口故障,所有下行端口都将被关闭。

4.1.3  下行端口

下行端口(Downlink Port)是Monitor Link组中的监控者,是通过命令行指定的Monitor Link组的另外一种端口角色。Monitor Link组的下行端口可以是以太网端口(电口或光口)或聚合接口。

6所示,Switch A的端口GigabitEthernet1/0/2GigabitEthernet1/0/3为该设备上配置的Monitor Link组的两个下行端口。

&  说明:

Monitor Link组的上行端口恢复正常时Monitor Link只会开启因上行端口故障而阻塞的下行端口,不能开启手工关闭的下行端口。并且某个下行端口故障对上行端口和其他下行端口没有影响。

 

4.2  运行机制

7所示组网环境,为了实现主机到Internet的可靠访问在Switch A上配置了Smart Link组。其中,GigabitEthernet1/0/1为主端口处于转发状态,GigabitEthernet1/0/2为副端口。

图7 Monitor Link运行机制示意图

为了防止出现因Switch B的端口GigabitEthernet1/0/1所在链路故障所引起Switch A的流量无法上行的现象,在Switch B上配置了Monitor Link组,并指定端口GigabitEthernet1/0/1为上行端口,GigabitEthernet1/0/2为下行端口。

Switch B的上行端口GigabitEthernet1/0/1所在链路出现故障时,Monitor Link组强制关闭该组的下行端口GigabitEthernet1/0/2,从而触发Switch ASmart Link组的链路切换。

Switch B的上行端口GigabitEthernet1/0/1所在链路故障恢复时,下行端口GigabitEthernet1/0/2也将被开启,如果Switch ASmart Link组配置为角色抢占模式,则同样会触发Switch ASmart Link组的链路切换,否则等待下一次链路切换。

这样,Monitor Link技术配合Smart Link技术实现了高效可靠的链路备份和快速收敛性能。

4.3  应用限制

聚合组成员端口、业务环回组成员端口不能作为Monitor Link组的成员端口。

典型组网应用

5.1  Smart LinkMonitor Link配合组网

8描述的是一个典型的双上行组网Smart LinkMonitor Link技术的主要应用场景。

图8 Smart LinkMonitor Link配合组网图

在该组网环境中Smart Link配置在Switch DSwitch E上。通过配置多个Smart Link组并保护不同的VLAN,这些VLAN的流量分别沿双上行链路的不同路径转发,实现负载分担的目的。当Switch BSwitch DSwitch CSwitch E之间的链路出现故障时,Smart Link组迅速感知并进行链路的切换。

为了使Switch D(或Switch E)能直接感知Switch ASwitch B(或Switch C)之间的链路故障,还需要在Switch B(或Switch C)上配置了Monitor Link组,端口GigabitEthernet1/0/1作为上行端口,端口GigabitEthernet1/0/2GigabitEthernet1/0/3分别作为对应的下行端口。

Monitor Link组一旦检测到上行端口所在链路故障,将强制关闭下行端口,从而触发Switch DSwitch E上的Smart Link组内的链路切换。当上行端口或链路故障恢复时,下行端口将自动开启,从而使Switch D(或Switch E)能够迅速感知Switch ASwitch B(或Switch C)之间链路状态的变化。

5.2  Smart LinkMonitor Link级联组网

9描述的是Smart LinkMonitor Link技术级联的实现组网应用,达到更加可靠的链路备份的目的。

Monitor Link组支持Smart Link组成员端口作为其上行成员端口,Smart LinkMonitor Link技术结合起来可以实现备份链路的级联。

具体的实现方法为:将一个Smart Link组所有成员端口作为一个Monitor Link组的上行端口,而该Monitor Link组下行端口的对端端口为另外一个Smart Link组的主端口或者副端口(如9所示)。

图9 Smart Link级联组网图

9中,各设备Smart LinkMonitor Link配置情况如1所示。

表1 9Smart LinkMonitor Link配置一览表

Switch

Smart Link Group 1

Monitor Link Group 1

Master Port

Slave Port

Uplink Port

Downlink Port

Switch C

GE1/0/1

GE1/0/2

GE1/0/1GE1/0/2

GE1/0/3

Switch J

GE1/0/1

GE1/0/2

GE1/0/1GE1/0/2

GE1/0/3

Switch F

GE1/0/1

GE1/0/2

未创建Monitor Link

 

1可知,9中红色线条表示的链路部分为第一级的Smart Link备份链路,蓝色线条表示的链路部分为第二级的Smart Link备份链路。

5.3  Smart LinkRRPP混合组网

10描述的是Smart LinkRRPP混合组网应用。

在该组网环境中,Switch ASwitch BSwitch CSwitch D上开启了RRPP协议提供链路冗余备份。

如果通过配置STP来实现链路备份的话,要求Switch CSwitch DSwitch E相连的所有端口都开启STP功能。因为Switch CSwitch D相连的两个端口已经开启了RRPP功能,不能再开启STP 功能,所以Switch E上的链路备份可以通过配置Smart Link组来实现,这样比在Switch CSwitch DSwitch E上配置RRPP子环更简单方便,同时还适用于Swtich E不支持RRPP的场合。

图10 Smart LinkRRPP混合组网图

Copyright © 2008 杭州华三通信技术有限公司 版权所有,保留一切权利。

非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。

本文档中的信息可能变动,恕不另行通知。

联系我们