出现的背景
在传统以太网中为提高网络的健壮性,通常采用双上行链路的方式组网。二层网络中虽然可以利用STP解决环路问题,但是由于STP的收敛时间只能达到秒级,会导致大量数据丢失,不适合对于业务中断时间要求高的组网环境。于是诞生了Smart kink技术用于在特定环境下替代STP,可实现毫秒级的链路切换。
什么是Smart link
Smart link又叫备份链路,常用于双上行的组网。一主(Master)一备(Slave)可实现故障时的快速切换。
Smart link工作机制
如图上SW1的两个接口配置为Smart link组,其中Master链路将承载数据流量,当Master故障后,备份链路Slave切换为主,承载数据流量。当两个接口都处于Up状态时,主接口将优先处于active状态,而从接口处于待命状态。
回切功能:
当主链路故障后又恢复时,默认是不进行抢占,以此来保障数据的不中断。若希望主链路恢复依旧作为主,可是使用回切功能,并且可以设置回切时间。
restore enable //使能回切功能
timer wtr 30 //设置回切时间为30s
Flush报文:
当Smart link下行链路故障时,上行设备原有的转发表项不再适用于新的网络拓扑,此时需要将原有的MAC和ARP表项进行更新。这时,Smart link中的Flush报文来了,当链路主备切换时,它会向上行设备通告Flush报文来告知其他设备刷新MAC和ARP表项。其中Flush报文是通过控制vlan来进行转发,上行设备收到Flush报文也是通过判断其收到的Flush报文的接口配置是否在接收的控制vlan中,若是,则处理,执行相应操作。
负载分担模式:
Smart link通过两条链路配置主备,但是备口处于不活动状态。可以通过绑定实例来进行负载分担
Smart link负载分担
如图1.2同一时刻双上行链路中只有一条处于转发状态,另一条链路处于空闲状态。Smart Link支持负载分担实例,即允许指定实例对应的VLAN数据通过备份链路进行转发,从而使主链路和备份链路承载不同VLAN数据流量的转发,达到负载分担的目的。
如图在未配置负载分担的情况下,所有的报文都通过SW1的g0/0/1接口转发,为了提高连链路的利用率,配置Smart link的负载分担模式,将VLAN 21~VLAN 30的数据流量在接口G0/0/2上进行传输,而未配置为负载分担实例的VLAN 10~VLAN 20的报文还是通过主用链路转发以此实现负载分担。
Smart link的负载分担配置
SW1配置:
<SW1> undo t m //关闭窗口日志信息
<SW1>sys //进入全局视图
[SW1] sys SW1 //修改设备名称为SW1
[SW1] vlan batch 10 to 30 //创建vlan10~vlan30
[SW1] port-group group-member g0/0/1 to g0/0/2 //创建进入接口组
[SW1-port-group] port link-type trunk //配置接口模式为Trunk口
[SW1-port-group] port trunk allow-pass vlan 10 to 30 //放行vlan10~30
[SW1-port-group] stp disable //关闭STP
[SW1] stp region-configuration //进入MST域视图
[SW1-mst-region] instance 30 vlan 21 to 30 //绑定实例与vlan关系
[SW1-mst-region] active region-configuration //激活MST域配置
[SW1] smart-link group 1 //配置Smart link组
[SW1-smlk-group1] port g0/0/1 master //配置为Smart link组的master
[SW1-smlk-group1] port g0/0/2 slave //配置为Smart link组的slave
[SW1-smlk-group1]load-balance instance 30 slave //配置负载分担功能
[SW1-smlk-group1] restore enable //使能回切功能
[SW1-smlk-group1] timer wtr 20 //设置回切时间
[SW1-smlk-group1]flush send control-vlan 10 //使能发送Flush报文功能
[SW1-smlk-group1]smart-link enable //使能Smart Link组功能
SW2配置:
[SW2] port-group group-member g0/0/1 g0/0/2 //创建进入接口组
[SW2-port-group] smart-link flush receive control-vlan 10 //使能接收Flush报文功能
[SW2-port-group] stp disable //关闭STP
SW3配置:
[SW2] port-group group-member g0/0/1 g0/0/2 //创建进入接口组
[SW2-port-group] smart-link flush receive control-vlan 10 //使能接收Flush报文功能
[SW2-port-group] stp disable //关闭STP
SW4配置:
[SW2] port-group group-member g0/0/1 g0/0/2 //创建进入接口组
[SW2-port-group] smart-link flush receive control-vlan 10 //使能接收Flush报文功能
[SW2-port-group] stp disable //关闭STP
利用命令dis smart-link group 1
如图1.3利用dis smart-link group 1查看SW1上Smart-link group 1的信息.
- Smart-link group已经开启
- 回切时间为30S
- 负载链路为实例30 控制vlan为10
- 接口信息以及状态与配置相符
Monitor link的出现
如图1.4在双上行的链路组网中,上行设备或者链路故障时,下层的设备(SW1)无法感知,从而影响正常业务的运行。在以往的VRRP组网中,为了达到上行设备或者链路故障时,VRRP主备能够及时快速的切换,防止次优路径的产生,我们可以将VRRP与BFD进行联动来达到毫秒级的快速切换检测,那么在Smart link的场景下,可用什么技术来支持呢?我们一起来看看吧