双上行组网是目前我司设备常用应用组网之一,该组网下通过生成树协议阻塞冗余链路,起备份作用。当主用链路故障时,将流量切换到备用链路。但即使采用快速生成树协议的快速迁移,也只能是秒级的收敛速度。这对于应用于电信级网络核心的我司高端以太网交换机,是非常不利的一个性能参数。基于这一原因,提出了Smart Link解决方案,针对双上行组网,实现主备链路冗余备份及故障快速迁移。
SMLK:SMART-LINK
STP:Spanning Tree Protocol
TC:Topology Change
1) SMART-LINK组
译为灵活链路组,包括两条链路,其中一条进行转发,另一条链路阻塞,作冗余备份。
2) 主用链路和备用链路
SMART-LINK组中处于转发状态的链路称为主用链路,处于阻塞状态的链路称为备用链路。
3) 主端口和从端口
SMART-LINK组的主用和备用链路在特定的设备上体现为端口或者聚合组端口,此处统称为端口。为了区分SMART-LINK组中的两个端口,将两个端口分别命名为主端口和从端口,也叫MASTER端口和SLAVE端口。目前SMART-LINK不支持按角色抢占的方式,因而两个端口对应的链路哪个处于转发状态并不固定,即主从端口和主用备用链路并无固定的对应关系。
4) FLUSH报文
类似于STP协议中的TC报文,为了能够使网络中的设备及时感知网络拓扑变化,SMART-LINK发送一个FLUSH报文通知其他设备进行地址刷新。但是,由于该技术为私有技术,目前只限于我司的一些设备能够识别该报文。对于不识别FLUSH报文的设备,只能通过流量触发MAC地址的更新。报文格式如图1:
图1 SMART-LINK报文格式
报文采用IEEE802.3封装,各字段含义如下:
DMAC为私有组播地址,可以通过该地址区分协议。
CtrlType是Control Type的缩写,表示控制类型,目前只有清除MAC地址一种(0x01)。
CtrlVer是Control Version的缩写,表示版本号,可以用作以后的扩展。
Device ID表示站点的桥MAC。
Control VLAN ID表示控制VLAN的ID。
AuthMode表示认证模式,和Password一起使用,便于以后进行安全性扩展。
Rserved为保留字段,用于后续扩展。
VLAN Bitmap表示VLAN位图,用于携带需要刷新地址表的VLAN列表。
FCS表示帧校验和,用于检查报文的合法性。
5) 控制VLAN
为了对FLUSH报文的收发进行有效控制,引入控制VLAN的概念,FLUSH报文中携带控制VLAN信息,接收时对控制VLAN进行检查,对于控制VLAN不一致的报文将直接丢弃。
SMART-LINK用于在以太网交换机上实现链路备份功能,通过手工配置指定链路间的相互备份关系,备份关系一旦指定,即刻生效。配置时需要指定组内端口的主从角色,主端口优先转发,从端口默认备份,但是如果主端口故障或者主端口不存在,则从端口必须转发,除非从端口也发生故障。默认情况下,为保证网络稳定,不按端口角色进行抢占,即从端口处于转发状态下,主端口链路恢复正常后将转到阻塞状态进行备份,直到从端口故障才允许主端口进入转发状态。
SMART-LINK技术应用的典型组网图如下:
在A设备上建立两个互为备份的二层接口(或聚合组)A1和A2,其中一个接口进行流量转发的同时,另一个处于阻塞状态。如图,A1转发流量时,A2被阻塞。此时的流量为图中的红色箭头表示。
如果A1链接的Link1链路故障,那么A2立刻切换为非阻塞状态,开始转发流量。此时的流量为图中的蓝色箭头表示。
A2在从阻塞状态切换为非阻塞状态时,在VLAN内组播发送FLUSH报文,网络中各台设备收到该报文后,根据端口的设置确定是否更新指定VLAN列表的地址转发表。VLAN列表将会在FLUSH报文中携带,地址转发表包括MAC表、ARP(ND)表等。
SMART-LINK技术建立了一条备份链路,主用链路故障切换到备份链路的收敛性能可以达到50ms~200ms;但是,SMART-LINK技术为双上行组网量身定制,组网比较固定,有一定的局限性。