Smart Link & Monitor Link技术白皮书
关键词:Smart Link,Monitor Link,控制VLAN,FLUSH报文,快速切换,双上行,链路备份
摘 要:Smart Link是一种为双上行组网提供高效可靠的链路备份、负载分担和快速收敛性能的解决方案。Monitor Link用于监控上行链路,以达到让下行链路同步上行链路状态的目的,从而触发Smart Link的主备链路切换,使Smart Link的备份作用更加完善。本文主要介绍了Smart Link和Monitor Link技术的基本概念、运行机制和典型组网应用。
缩略语:
缩略语 | 英文全名 | 中文解释 |
- | Smart Link | 灵活链路 |
- | Monitor Link | 监控链路 |
RRPP | Rapid Ring Protection Protocol | 快速环网保护协议 |
STP | Spanning Tree Protocol | 生成树协议 |
目 录
2.3 通过Smart Link实现流量的负载分担... 11
5.1 Smart Link与Monitor Link配合组网... 15
双上行组网是目前常见的一种组网形式。如图1所示,Switch A通过Switch B和Switch C双上行到Switch D。
虽然双上行组网可以提供链路备份,但网络中的环路(Switch A --> Switch B --> Switch D --> Switch C --> Switch A)会引起广播风暴,因此,需要采取措施避免环路。一般情况下,可以通过STP来消除环路,但STP的收敛时间较长,会丢失较多流量,不适用于对收敛时间有很高要求的组网环境。另一种高效的环网解决方案RRPP虽然可以提高收敛性能,但是RRPP主要适用于较复杂的环形组网,且配置复杂度较高。基于上述原因,H3C提出了Smart Link技术解决方案。
Smart Link是一种为双上行组网量身定做的解决方案,具有如下优点:
l 能够实现在双上行组网的两条链路正常情况下,只有一条处于连通状态,而另一条处于阻塞状态,从而防止了环路引起的广播风暴。
l 当主用链路发生故障后,流量会在毫秒级的时间内迅速切换到备用链路上,保证了数据的正常转发。
l 配置简单,便于用户操作。
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/1和GigabitEthernet1/0/2组成了一个Smart Link组(用蓝色线条标识),端口GigabitEthernet1/0/1处于转发状态(用实线标识),端口GigabitEthernet1/0/2处于阻塞状态(用虚线标识)。Switch E的端口GigabitEthernet1/0/1和GigabitEthernet1/0/2组成了另外一个Smart Link组(用红色线条标识),端口GigabitEthernet1/0/1处于阻塞状态(用虚线标识),端口GigabitEthernet1/0/2处于转发状态(用实线标识)。
主端口(Master Port)是通过命令行指定的Smart Link组的一种端口角色。Smart Link组的主端口可以是以太网端口(电口或光口),也可以是聚合接口。
如图2所示组网环境,Switch D的Smart Link组中处于转发状态的端口GigabitEthernet1/0/1是主端口,而Switch E的Smart Link组中的端口GigabitEthernet1/0/1虽然被阻塞,但它仍是主端口。
副端口(Slave Port)是通过命令行指定的Smart Link组的另外一种端口角色。Smart Link组的副端口可以是以太网端口(电口或光口),也可以是聚合接口。副端口所在的链路也被称为“备用链路”。
如图2所示组网环境,Switch D的Smart Link组中被阻塞的端口GigabitEthernet1/0/2是副端口,而Switch E的Smart Link组中的端口GigabitEthernet1/0/2虽然处于转发状态,但它仍是副端口。
保护VLAN是Smart Link组内承载数据流量的用户数据VLAN。端口可以加入多个Smart Link组,这些Smart Link组保护不同的VLAN。各Smart Link组分别独立计算组内端口的转发状态。
如图2所示组网环境,Switch D上可以创建Smart Link组1和Smart Link组2,两个Smart Link组分别保护不同的VALN,Smart Link组1保护VLAN 1~10,Smart Link组2保护VLAN 11~20,这样就可以控制两组VLAN的流量分别通过不同的端口上行。
发送控制VLAN(Control VLAN)是Smart Link组用于广播发送FLUSH报文(关于FLUSH报文的介绍请参见2.1.6 )的VLAN。
如图2所示组网环境,如果在Switch D和Switch E上开启了FLUSH报文发送功能,当发生链路切换时,设备会从新的主用链路上在发送控制VLAN内广播发送FLUSH报文。
接收控制VLAN是上游设备用于接收并处理FLUSH报文的VLAN。
如图2所示组网环境,如果Switch D和Switch E的上游设备(Switch A、Switch B和Switch C)能够识别FLUSH报文,并开启了FLUSH报文接收处理功能,当发生链路切换时,上游设备会处理收到的属于接收控制VLAN的FLUSH报文,进而执行MAC地址转发表项和ARP表项的刷新操作。
当Smart Link组发生链路切换时,原有的转发表项已经不再适用于新的拓扑网络,需要对整网进行MAC地址转发表项和ARP表项的更新。Smart Link通过FLUSH报文来通知其他设备进行表项的刷新操作。
FLUSH报文采用IEEE802.3封装,包括Destination MAC、Source MAC、Control VLAN ID和VLAN 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表示发送控制VLAN的ID号。
l Auth-mode表示认证模式,和Password一起使用,便于以后进行安全性扩展。
l VLAN Bitmap表示VLAN位图,用于携带需要刷新地址表的VLAN列表。
l FCS表示帧校验和,用于检查报文的合法性。
下面以图4所示的组网为例,按照链路正常-->链路故障-->链路恢复的过程,来介绍Smart Link的工作机制。
图4 Smart Link运行机制示意图
Switch A的端口GigabitEthernet1/0/1为主端口,端口GigabitEthernet1/0/2为副端口。双上行链路都正常的情况下,主端口处于转发状态,所在的链路是主用链路,副端口处于待命状态,所在链路是备用链路。数据沿着蓝色线条所表示的链路进行传输,网络中不存在环路,避免产生广播风暴。
当Switch A的主用链路发生故障时,主端口GigabitEthernet1/0/1切换到待命状态,副端口GigabitEthernet1/0/2切换到转发状态。此时,网络中各设备上的MAC地址转发表项和ARP表项可能已经错误,需要提供一种MAC及ARP更新的机制,完成流量的快速切换,以免造成流量丢失。目前更新机制有以下两种。
这种方式适用于上游设备(如图4中的Switch B、Switch C和Switch 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 ID,Control VLAN ID字段填充Smart Link组配置的发送控制VLAN ID。
(2) 当上游设备收到FLUSH报文时,判断该FLUSH报文的发送控制VLAN是否在收到报文的端口配置的接收控制VLAN列表中。如果不在接收控制VLAN列表中,设备对该FLUSH报文不做处理,直接转发;如果在接收控制VLAN列表中,设备将提取FLUSH报文中的VLAN Bitmap数据,将设备在这些VLAN内学习到的MAC及ARP表项删除。
此后,如果Switch D收到目的设备为Switch A的数据报文,对于需要进行二层转发的报文,Switch D会通过二层广播方式进行转发;对于需要进行三层转发的报文,设备会通过ARP探测方式先更新ARP表项,然后将报文转发出去。这样,数据流量就可以正确地进行发送。
& 说明:
l 为了保证FLUSH报文在发送控制VLAN内正确传送,请确保双上行网络上的所有端口都属于发送控制VLAN。否则,FLUSH报文将发送或转发失败。
l 建议用户以保留Tag的方式发送FLUSH报文,若想以去掉Tag的方式发送FLUSH报文,需确保对端端口缺省VLAN和发送控制VLAN一致,否则将导致FLUSH报文不在发送控制VLAN内传送。
这种方式适用于与不支持Smart Link功能的设备(包括其他厂商设备)对接的情况,需要有上行流量触发。
l 如果没有来自Switch A的上行流量去触发Switch D的MAC及ARP表项更新,那么当Switch D收到目的设备为Switch A的数据报文时,Switch D仍会通过端口GigabitEthernet1/0/1转发出去,但报文已经不能到达Switch A,流量中断,直到其MAC或ARP表项自动老化。
l 如果Switch A有上行流量要发送,但由于Switch A的MAC及ARP表项也是错误的,所以直到其表项自动老化、重新学习后,流量才能被发送出去。当上行流量通过端口GigabitEthernet1/0/2到达设备Switch D后,Switch D会更新自己的MAC及ARP表项,那么当Switch D再收到目的设备为Switch A的数据报文时,Switch D会通过端口GigabitEthernet1/0/2转发出去,报文就可以经由Switch C到达Switch A。
通过FLUSH报文通知设备更新的机制无须等到表项老化后再进行更新,可以大大减少表项更新所需时间。一般情况下,链路的整个切换过程可在毫秒级的时间内完成的,基本无流量丢失。
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仍将继续处于待命状态,不进行流量切换,从而保持流量稳定。
在同一个双上行链路组网中,可能同时存在多个VLAN的数据流量,Smart Link可以实现流量的负载分担,即不同VLAN的流量沿不同的路径进行转发。通过把上行链路的端口分别配置为两个Smart Link组的成员(每个Smart Link组的保护VLAN不同),且端口在不同组中的转发状态不同,这样就能实现不同Smart Link组保护VLAN的流量转发路径不同,从而达到负载分担的目的。
在实现负载分担时,建议将Smart Link组配置为角色抢占模式,否则无法保证流量按照用户的想法一直在两条链路上进行分担。因为,如果配置为非角色抢占模式,刚开始可以实现流量分流,但链路故障后所有流量将集中在同一条链路上传输,链路恢复后流量继续在同一条链路上传输,这样就无法达到负载分担的目的。
如图4所示组网环境,在Switch A上创建两个Smart Link组,每个Smart Link组保护的VLAN不同,但均配置为角色抢占模式。Smart Link组1的主端口为GigabitEthernet1/0/1,副端口为GigabitEthernet1/0/2,保护VLAN为VLAN 1~10;Smart Link组2的主端口为GigabitEthernet1/0/2,副端口为GigabitEthernet1/0/1,保护VLAN为VLAN 11~20。两个Smart Link组中的主端口均处于转发状态。这样,VLAN 1~10的流量将沿着蓝色线条所表示的链路进行传输,VLAN 11~20的流量将沿着红色线条所表示的链路进行传输,从而实现VLAN流量的负载分担。
l 开启了STP、RRPP的端口不能作为Smart Link组的成员端口。
l 聚合组成员端口、业务环回组成员端口不能作为Smart Link组的成员端口。
图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技术应运而生。
Monitor Link是对Smart Link技术的有力补充。Monitor Link用于监控上行链路,以达到让下行链路同步上行链路状态的目的,使Smart Link的备份作用更加完善。
Monitor Link组也称为监控链路组,由一个或多个上行和下行端口组成。下行端口的状态随上行端口状态的变化而变化。
图6 Monitor Link概念介绍示意图
如图6所示,Switch A的端口GigabitEthernet1/0/1、GigabitEthernet1/0/2和GigabitEthernet1/0/3组成了一个Monitor Link组。
上行端口(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组的上行端口未指定时,则认为上行端口故障,所有下行端口都将被关闭。
下行端口(Downlink Port)是Monitor Link组中的监控者,是通过命令行指定的Monitor Link组的另外一种端口角色。Monitor Link组的下行端口可以是以太网端口(电口或光口)或聚合接口。
如图6所示,Switch A的端口GigabitEthernet1/0/2和GigabitEthernet1/0/3为该设备上配置的Monitor Link组的两个下行端口。
& 说明:
当Monitor Link组的上行端口恢复正常时,Monitor Link只会开启因上行端口故障而阻塞的下行端口,不能开启手工关闭的下行端口。并且某个下行端口故障对上行端口和其他下行端口没有影响。
如图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 A上Smart Link组的链路切换。
当Switch B的上行端口GigabitEthernet1/0/1所在链路故障恢复时,下行端口GigabitEthernet1/0/2也将被开启,如果Switch A上Smart Link组配置为角色抢占模式,则同样会触发Switch A上Smart Link组的链路切换,否则等待下一次链路切换。
这样,Monitor Link技术配合Smart Link技术实现了高效可靠的链路备份和快速收敛性能。
聚合组成员端口、业务环回组成员端口不能作为Monitor Link组的成员端口。
图8描述的是一个典型的双上行组网,是Smart Link及Monitor Link技术的主要应用场景。
图8 Smart Link与Monitor Link配合组网图
在该组网环境中,Smart Link配置在Switch D和Switch E上。通过配置多个Smart Link组并保护不同的VLAN,这些VLAN的流量分别沿双上行链路的不同路径转发,实现负载分担的目的。当Switch B与Switch D或Switch C与Switch E之间的链路出现故障时,Smart Link组迅速感知并进行链路的切换。
为了使Switch D(或Switch E)能直接感知Switch A与Switch B(或Switch C)之间的链路故障,还需要在Switch B(或Switch C)上配置了Monitor Link组,端口GigabitEthernet1/0/1作为上行端口,端口GigabitEthernet1/0/2和GigabitEthernet1/0/3分别作为对应的下行端口。
Monitor Link组一旦检测到上行端口所在链路故障,将强制关闭下行端口,从而触发Switch D和Switch E上的Smart Link组内的链路切换。当上行端口或链路故障恢复时,下行端口将自动开启,从而使Switch D(或Switch E)能够迅速感知Switch A与Switch B(或Switch C)之间链路状态的变化。
图9描述的是Smart Link及Monitor Link技术级联的实现组网应用,达到更加可靠的链路备份的目的。
Monitor Link组支持Smart Link组成员端口作为其上行成员端口,Smart Link和Monitor Link技术结合起来可以实现备份链路的级联。
具体的实现方法为:将一个Smart Link组所有成员端口作为一个Monitor Link组的上行端口,而该Monitor Link组下行端口的对端端口为另外一个Smart Link组的主端口或者副端口(如图9所示)。
图9 Smart Link级联组网图
图9中,各设备Smart Link与Monitor Link配置情况如表1所示。
表1 图9Smart Link与Monitor 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/1、GE1/0/2 | GE1/0/3 |
Switch J | GE1/0/1 | GE1/0/2 | GE1/0/1、GE1/0/2 | GE1/0/3 |
Switch F | GE1/0/1 | GE1/0/2 | 未创建Monitor Link组 |
由表1可知,图9中红色线条表示的链路部分为第一级的Smart Link备份链路,蓝色线条表示的链路部分为第二级的Smart Link备份链路。
图10描述的是Smart Link和RRPP混合组网应用。
在该组网环境中,Switch A、Switch B、Switch C和Switch D上开启了RRPP协议提供链路冗余备份。
如果通过配置STP来实现链路备份的话,要求Switch C、Switch D和Switch E相连的所有端口都开启STP功能。因为Switch C和Switch D相连的两个端口已经开启了RRPP功能,不能再开启STP 功能,所以Switch E上的链路备份可以通过配置Smart Link组来实现,这样比在Switch C、Switch D和Switch E上配置RRPP子环更简单方便,同时还适用于Swtich E不支持RRPP的场合。
图10 Smart Link与RRPP混合组网图
Copyright © 2008 杭州华三通信技术有限公司 版权所有,保留一切权利。
非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。
本文档中的信息可能变动,恕不另行通知。