概念:
Smart Link通过两个端口相互配合工作来实现功能。这样的一对端口组成了一个Smart Link组。为了区别一个Smart Link组中的两个端口,我们将其中的一个叫做主端口,另一个叫做从端口。同时我们利用Flush报文、Smart Link实例和控制VLAN等机制,以更好地实现Smart Link的功能(包括负载分担)。
工作流程:
如上图所示,Interface1被配置为Smart Link组的主接口,Interface2被配置为Smart Link组的从接口。主接口又叫Master接口,从接口又叫Slave接口。
当Smart Link组中的两个接口都处于Up状态时,主接口将优先进入转发状态,而从接口将保持待命状态。当主接口所在链路发生故障时,从接口将切换为转发状态。
回切功能:
当原主用链路故障恢复时,Interface1将维持在阻塞状态,不进行抢占,从而保持流量稳定。如果希望流量切换到原主用链路,可以通过如下两种机制进行切换。
• 使用Smart Link组回切功能,需要在SwitchD上使能回切功能。当原主用链路故障恢复后,经过回切定时器设定的时间,Smart Link会自动将流量切换到原主用链路上。
• 使用配置命令强制让Smart Link立即将流量切换到原主用链路上
Flush报文:
当Smart Link组发生链路切换时,原有的转发表项将不适用于新的拓扑网络,需要整网进行MAC表项和ARP表项的更新。这时,Smart Link组通过发送Flush报文通知其他设备进行MAC和ARP表项的刷新操作。如上图所示,当链路发生切换时,SwitchD会发送组播Flush报文通知SwitchA、SwitchB和SwitchC进行MAC和ARP表项的更新。
字段含义:
• Destination MAC为未知组播地址。可以通过判断该地址是否为0x010F-E200-0004来区分该报文是否为FLUSH报文。
• Source MAC表示发送FLUSH报文的设备的接口MAC地址,如果该接口没有MAC地址,则使用二层协议的缺省MAC地址。
• Control Type表示控制类型。目前只有删除MAC地址转发表项和ARP表项一种(0x01)。
• Control Version表示版本号。当前版本号为0x00,用于后续版本的扩展。
• Device ID表示发送FLUSH报文的设备的桥MAC地址。
• Control VLAN ID表示发送控制VLAN的ID号。
• Auth-mode表示认证模式,和Password一起使用,便于以后进行安全性扩展。
• VLAN Bitmap表示VLAN位图,用于携带需要刷新地址表的VLAN列表。
• FCS表示帧校验和,用于检查报文的合法性。
控制VLAN:
• 发送控制VLAN
发送控制VLAN是Smart Link组用于广播Flush报文的VLAN。如图所示,如果在SwitchD上开启了Flush报文发送功能,当发生链路切换时,设备会在发送控制VLAN内广播发送Flush报文。
• 接收控制VLAN
接收控制VLAN是上游设备用于接收并处理Flush报文的VLAN。如图所示,如果上游设备SwitchA、SwitchB和SwitchC能够识别Flush报文,并开启了Flush报文接收处理功能,当发生链路切换时,上游设备会处理收到的属于接收控制VLAN的Flush报文,进而刷新MAC表和ARP表。
当上游设备收到Flush报文时,判断该Flush报文的发送控制VLAN是否在收到报文的接口配置的接收控制VLAN列表中。如果不在接收控制VLAN列表中,设备对该Flush报文不做处理,直接转发;如果在接收控制VLAN列表中,设备会处理收到Flush报文,进而执行MAC地址转发表项和ARP表项的刷新操作。
负载分担模式:
相当于两个相反状态的主备备份。当Smart Link组的主从链路均正常时,Smart link允许两条链路可以转发不同的数据流量。负载分担情况下,两个接口均处于转发状态,从接口转发负载分担实例流量,主接口转发其它实例流量。当其中一条链路故障时,Smart Link组会自动将所有的流量切换到另一条链路上。
查看结果:
参考资料:华为hedex文档