双上行组网是目前常用的应用组网之一,提供链路冗余的同时也带来了环路问题,正常的解决方法是采用STP生成树协议来保证冗余性同时解决环路问题,但是生成树协议的收敛速度是秒级的,对一些情况是不容接受的。并且如果采用生成树协议,对组中中的每一个交换机都要做STP的相应的配置,过于麻烦。
于是有了Smark Link协议,它在一定常见下可以替代STP协议,并且收敛速度是毫秒级的。
图中虚线圈住的是Smart Link 组 ,也叫灵活链路组
每组包括两个端口
一个端口是Master Link (主端口) 另一个是 Slave Link(从端口)
正常情况下主端口处于转发(Active)时,从端口被阻塞,区域待命(Standby)状态
而当主端口出现阻塞,Smart Link 组会自动将主端口阻塞,让从端口进入转发状态。
当Smart Link 组端口状态发送变化的时候,对应的组网的拓扑也发生了变化,原本的交换机的MAC表项有部分可能不再适用,会出现丢包的现象。
所以在端口状态变化后,需要对整网的MAC地址表项和ARP表项进行更新
机制一 :通过flush报文通知设备更新表项
从Smart Link设备从新的链路发送flush 报文,这种方式需要上行的交换机都能够识别flush报文,收到报文后更新自己的mac地址表。这种方法需要flush报文在一个发送控制vlan(专门传输flush报文的vlan)上传输,通过报文上的内容(VLAN Bitmap字段)学习。
缺点:flush报文会触发MAC清除和APR 老化学习等动作,从而占用大量网络资源,所以不建议在规模较大的Smart Link中采用这种机制
机制二:通过流量自动更新表项
自动通过流量刷新MAC地址表和ARP表项,这方法适用于上行电路不支持识别flush报文,需要上行流量来触发。
有抢占式和非抢占式,默认是非抢占式,可以手动恢复
Monitor Link
monitor link 是对smart link 在技术上的补充。
对于SwitchA,他可以感受到它所直连的电路,但是假如像箭头所指的电路出现故障,Switch A 并不能马上感知到,依旧会使用GE1/0/1口作为Active口,继续转发数据。
Monitor Link 作用就是 在Switch B处,对上行端口和下行端口加入了同步的功能
当上行端口出现问题,下行端口状态也会改变,从而让Switch A感知到GE1/0/1 的故障
从而阻塞GE1/0/1口,开启GE1/0/2口
Monitor Link 使Smart Link的备份左右更加完善。