首页天道酬勤网络工程师必备干货Smart Link可靠性技术详解

网络工程师必备干货Smart Link可靠性技术详解

admin 08-23 11:31 298次浏览

给大家推荐一个公众号“网络工程师笔记”,每天更新网络知识,网络工程师必备公众号。
后台回复“资料”,领取华为HCNA/HCNP/HCIE培训所有资料

下面进行今天的正题:

 

 

一、Smart Link 基本概念

 

Smart Link 通过两个接口相互配合工作来实现功能。这样的一对接口组成了一个 Smart Link 组。

 

为了区别一个 Smart Link 组中的两个接口,我们将其中的一个叫做主接口,另一个叫做从接口。同时我们利用 Flush 报文、 Smart Link 实例和控制 VLAN 等机制,以更好地实现 Smart Link 的功能(包括负载分担)。

 

 

 

Smart Link 组

 

Smart Link 组,一个组内最多可包含两个接口,其中一个为主接口,另一个为从接口。正常情况下,只有一个接口处于转发(Active)状态,另一个接口被阻塞,处于待命(Inactive)状态。

如图所示,设备 SwitchD 上的接口 Interface1 和接口 Interface2 组成了一个 Smart Link 组。

 

主接口

 

主接口又叫 Master 接口,是 Smart Link 组的一种接口角色,当两个接口都处于待命状态时,主接口将优先进入转发状态。

主接口并不一直处于转发状态,发生链路切换后,如果从接口已经处于转发状态,那么即使主接口链路恢复正常,也只能处于待命状态,直到再进行一次链路切换(如果配置回切功能,回切时间到时,会切换到主链路)。

如图所示, Interface1 被配置为 Smart Link 组的主接口。

 

从接口

 

从接口又叫 Slave 接口,是 Smart Link 组的一种接口角色,当两个接口都处于待命状态时,从接口保持待命状态。从接口并不一直处于待命状态,当发生链路切换后,从接口将切换到转发状态。

如图所示, Interface2 被配置为 Smart Link 组的从接口。

 

Flush 报文

 

当 Smart Link 组发生链路切换时,原有的转发表项将不适用于新的拓扑网络,需要整网进行 MAC表项和 ARP 表项的更新。

这时, Smart Link 组通过发送 Flush 报文通知其他设备进行 MAC 和 ARP表项的刷新操作。

如图所示,当链路发生切换时, SwitchD 会发送 Flush 报文通知 SwitchA、SwitchB和 SwitchC 进行 MAC 和 ARP 表项的更新。Flush 报文是组播报文。

 

Smart Link 实例

 

Smart Link 引用 MSTP 的实例,每个实例用来绑定若干 VLAN;不同的实例绑定不同的 VLAN;Smart Link 组的从链路通过绑定不同的实例来实现负载分担。

 

 

控制 VLAN(Control VLAN)

 

发送控制 VLAN:

发送控制 VLAN 是 Smart Link 组用于广播发送 Flush 报文的 VLAN。如图,如果在 SwitchD上开启了 Flush 报文发送功能,当发生链路切换时,设备会从新的链路上,用发送控制 VLAN广播发送 Flush 报文。

 

接收控制 VLAN:

接收控制 VLAN 是上游设备用于接收并处理 Flush 报文的 VLAN。如图所示,如果上游设备 SwitchA、 SwitchB 和 SwitchC 能够识别 Flush 报文,并开启了 Flush 报文接收处理功能,

当发生链路切换时,上游设备会处理收到的属于接收控制 VLAN 的 Flush 报文,进而执行MAC 地址转发表项和 ARP 表项的刷新操作。

 

负载分担

 

Smart Link 支持配置多个负载分担 VLAN 实例。

当 Smart Link 组的主从链路均正常时, Smart link允许两条链路可以转发不同的数据流量。

 

负载分担情况下,两个接口均处于转发状态,从接口转发负载分担实例流量(对负载分担实例的数据流量进行转发,对非负载分担实例的数据流量进行阻塞),主接口转发非负载分担的实例流量(与从接口相反)。当其中一条链路故障时, Smart Link 组会自动将所有的流量切换到另一条链路上。

 

 

二、Smart Link 基本原理

 

按照链路正常->链路故障->链路恢复的过程,介绍 Smart Link 运行的基本原理。

 

 

 

链路正常工作原理


SwitchD 的 Interface1 为主接口, Interface2 为从接口, Interface1 和 Interface2 组成了一个 Smart Link组。

双上行链路都正常的情况下,主接口处于转发状态,所在的链路是主用链路,从接口处于待命状态,所在链路是备用链路。数据沿着灰色线条所表示的链路进行传输,网络中不存在环路,避免产生广播风暴。

 

链路故障处理原理

 

当 SwitchD 的主链路发生故障时,主接口 Interface1 切换到待命状态,从接口 Interface2 切换到转发状态。

此时,网络中相关设备上的 MAC 地址转发表项和 ARP 表项可能不再适用,需要提供一种 MAC 及 ARP 更新的机制。

 

目前更新机制有以下两种。

A、通过 Flush 报文通知设备更新表项

 

这种方式适用于上游设备(如图中的 SwitchA、 SwitchB 和 SwitchC)支持 Smart Link 功能,能够接收处理 Flush 报文的情况。为了实现快速链路切换,需要在 SwitchD 上开启 Flush 报文发送功能,在上游设备所有处于双上行链路上的接口开启接收处理 Flush 报文的功能。

 

1. SwitchD 进行链路切换后,会从新的主用链路上发送 Flush 报文,即通过 Interface2 发送。

2. 当上游设备收到 Flush 报文时,判断该 Flush 报文的发送控制 VLAN 是否在收到报文的接口配置的接收控制 VLAN 列表中。如果不在接收控制 VLAN 列表中,设备对该 Flush 报文不做处理,直接转发;如果在接收控制 VLAN 列表中,设备会处理收到 Flush 报文,进而执行MAC 地址转发表项和 ARP 表项的刷新操作。

 

此后,如果 SwitchA 收到目的设备为 SwitchD 的数据报文,会根据更新后的 MAC 地址转发表项或ARP 表项进行转发。这样,数据流量就可以正确地进行发送。

 

B、自动通过流量更新表项

 

这种方式适用于与不支持 Smart Link 功能的设备(包括其他厂商设备)对接的情况,需要有上行流量触发。

 

如果没有来自 SwitchD 的上行流量去触发 SwitchA 的 MAC 及 ARP 表项更新,那么当 SwitchA收到目的设备为 SwitchD 的数据报文时, SwitchA 仍会通过接口 Interface3 转发出去,但此时报文已经不能到达 SwitchD,会造成流量丢失,直到其 MAC 或 ARP 表项自动老化。

 

如果 SwitchD 有上行流量要发送,但由于 SwitchD 的 MAC 及 ARP 表项也是错误的,所以直到其表项自动老化、重新学习后,流量才能被发送出去。当上行流量通过接口 Interface4 到达设备 SwitchA 后, SwitchA 会更新自己的 MAC 及 ARP 表项,那么当 SwitchA 再收到目的设备为 SwitchD 的数据报文时, SwitchA 会通过接口 Interface4 转发出去,报文就可以经由SwitchC 到达 SwitchD。

 

通过 Flush 报文通知设备更新的机制无须等到表项老化后再进行更新,可以极大程度地减少表项更新所需时间。通常,链路的切换过程可在毫秒级的时间内完成,最大限度地减少流量的丢失。

 

链路恢复处理原理


当原主用链路故障恢复时, Interface1 将维持在阻塞状态,不进行抢占,从而保持流量稳定。如果希望流量切换到原主用链路,可以通过如下两种机制进行切换。

 

使用 Smart Link 组回切功能,需要在 SwitchD 上使能回切功能。当原主用链路故障恢复后,经过回切定时器设定的时间, Smart Link 会自动将流量切换到原主用链路上。
使用配置命令强制让 Smart Link 立即将流量切换到原主用链路上。

 

如图所示组网示例,当 SwitchD 的 Interface1 的链路恢复后,如果配置了 Smart Link 组回切功能,在回切定时器超时后, Interface2 将被阻塞并切换到待命状态,而 Interface1 将切换到转发状态。而如果使用配置命令强制让 Smart Link 进行链路切换,在执行命令后, Interface2 将被立即阻塞并切换到待命状态,而 Interface1 会切换到转发状态。

 

三、Smart Link 负载分担

 

在同一个组网中,可能同时存在多个 VLAN 的数据流量, Smart Link 可以实现流量的负载分担,即不同 VLAN 的流量沿不同 Smart Link 组所确定的路径进行转发。

 

Smart Link 支持负载分担实例,备份链路分担指定的负载分担实例内 VLAN 的流量,即允许指定实例对应的 VLAN 数据通过备份链路进行转发(主链路此时不会对这些 VLAN 数据进行转发),从而使主链路和备份链路承载不同 VLAN 数据流量的转发,达到负载分担的目的。

 

 

 

如图所示,在未配置负载分担的情况下,所有报文都通过SwitchD的Interface1接口沿转发(Active)链路进行传输。为了提高带宽的利用率,通过配置 Smart Link 负载分担,让部分 VLAN 的数据通过 SwitchD 的 Interface2 接口进行传输。

 

将 VLAN 300~VLAN 400 配置为 Smart Link 负载分担实例,让 VLAN 300~VLAN 400 的数据通过 SwitchD 的 Interface2 接口进行传输。而未配置为负载分担实例的 VLAN 100~VLAN 200 的报文还是通过主用链路转发,从而实现在 Smart Link 组中对实例中映射的 VLAN 数据流量进行负载分担。

 

四、Smart Link NSR

 

发生系统故障触发主备倒换,或者出于软件升级或系统维护的需要手动触发主备倒换,会导致路由中断造成流量丢失。

 

Smart Link 协议可以通过不间断路由 NSR(Non-Stop Routing)来解决这一问题。

在有备用控制平面的场景下, NSR 是一种在系统控制平面发生故障时邻居控制平面不感知的一种技术。主备倒换时,邻居不感知本地设备故障,从而保证设备承载的业务不受影响。

 

Smart Link NSR 通过以下方式实现实时数据的主备同步:

1. Smart Link 备份接口链路状态和实例转发状态,但不备份接口和接口角色,这些数据在备板中使用源数据恢复。

2. 在设备故障发生倒换后,新主板会下发接口实例转发状态,保证流量转发不会中断。

 

 

 

五、Monitor Link 基本概念

 

Monitor Link 通过监控上行接口所在的链路对下行接口进行同步设置。相互配合工作的上行接口和下行接口组合成一个 Monitor Link 组。

 

 

 

Monitor Link 组

 

Monitor Link 组也叫监控链路组,由上行接口和下行接口共同组成。

 

一个组包含一个上行接口和若干个下行接口。组的成员可以是单接口、静态聚合组、手工聚合组或 Smart Link 组,其中 Smart Link组只能作为上行接口。下行接口的状态随上行接口的变化而变化。

 

如图所示, Interface1 和Interface2 组成了一个 Monitor Link 组;Interface3 和 Interface4 组成了一个 Monitor Link 组。

 

上行接口

 

上行接口又称为 Uplink 接口,是 Monitor Link 组中受监控者,上行接口故障则表示该 Monitor Link组故障,该组的下行接口将都会被强制设为 Down 状态。

 

上行链路也可以是 Smart Link 组,当上行链路是 Smart Link 组时,只有当 Smart Link 组的两个接口都处于 inactive 状态(包括 Down)时,才能认为该上行链路故障。如图所示, Interface1 和 Interface3 为上行接口。

 

下行接口


下行接口又称为 Downlink 接口,是 Monitor Link 组中监控者,下行接口故障不影响上行接口,也不影响其他下行接口。如图所示, Interface2 和 Interface4 为下行接口。

 

六、Monitor Link 基本原理

 

 

 

配置好 Monitor Link 组后,上行接口将被实时监控,一旦上行接口出现故障,包括链路故障、 OAM的单通故障、 OAM 的连接无法建立等,其所在组的所有 Up 的下行接口都会被强制设为 Down 状态。当上行链路恢复正常时,恢复下行接口。

 

如图所示,如果 Interface1 所在的上行链路发生故障, Monitor Link 会将 Interface2 强制设为 Down状态。从而 SwitchC 可以感知经由 SwitchB 到达 SwitchA 的这条链路发生故障。当 Interface1 所在的上行链路恢复正常后, Monitor Link 会取消对 Interface2 强制设定的 Down 状态,开启 Interface2。

 

说明:

当上行接口是 Smart Link 组时,只有当 Smart Link 组的两个接口都处于 inactive 状态(包括 Down)时,才能认为该上行接口故障。

当下行接口是聚合组时,上行故障将会强制将聚合组中的所有接口设为 Down 状态,同样,恢复时也是对聚合组的所有接口进行操作。

multimap的介绍及使用OpenCV-Python 图像的边缘检测Python Scala中怎么使用def语句定义方法灯具管理系统MongoDB查询连接数及限制方法vue不能用index做为唯一标识的原因是什么
华为设备配置文件管理,华为网络设备配置命令 华为Smart Link与Monitor Link原理与配置,华为qinq原理与配置
相关内容