给大家推荐一个公众号“网络工程师笔记”,每天更新网络知识,网络工程师必备公众号。
后台回复“资料”,领取华为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 状态,同样,恢复时也是对聚合组的所有接口进行操作。

【网络工程师必备干货】Smart Link可靠性技术详解相关推荐

  1. CSS_后端工程师必备知识-从入门到劝退详解-呕心沥血撰写(滑稽)

    文章目录 一.CSS简介 二.语法格式 三.CSS的使用方式 1. 嵌入式 2. 外链式 3. 行间样式 4.三种样式优先级和应用场景 四.选择器 1. 基本选择器 1.所有元组器选择 2.标签选择器 ...

  2. 链路聚合_【网络干货】链路聚合可靠性技术详解

    一.基本概念 如图所示,DeviceA 与DeviceB 之间通过三条以太网物理链路相连,将这三条链路捆绑在一起,就成为了一条逻辑链路,这条逻辑链路的最大带宽等于原先三条以太网物理链路的带宽总和,从而 ...

  3. 链路聚合_链路聚合可靠性技术详解(三)

    eth-trunk链路聚合支持流量本地转发机制和特殊的链路聚合e-trunk. 一.Eth-Trunk 支持接口流量本地优先转发(堆叠) 1.堆叠设备:将多台设备通过专用的堆叠电缆连接起来,对外呈现为 ...

  4. 链路聚合_链路聚合可靠性技术详解(二)

    链路聚合的两种模式: 根据是否启用链路聚合控制协议 LACP,链路聚合分为手工负载分担模式和LACP 模式. 一.手工负载分担模式链路聚合 手工负载分担模式下, Eth-Trunk 的建立.成员接口的 ...

  5. 《Network Warrior中文版(第2版)——思科网络工程师必备手册》一3.3 自动协商故障...

    本节书摘来自异步社区<Network Warrior中文版(第2版)--思科网络工程师必备手册>一书中的第3章,第3.3节,作者[美]Gary A. Donahue,更多章节内容可以访问云 ...

  6. 2023年网络工程师必备10大软件,最新安装包分享

    常听人说:拳头再硬,也比不上锤子!同样的,作为一个网络工程师只有满腹的技术而不会使用对应的软件工具,是完全不行的.那作为一个2023年的网络工程师必备的软件有哪些呢? 以下10大网工必备软件都已整理好 ...

  7. 31个网络工程师必备高频软件大汇总

    今日份唠嗑已营业. 晚上好,我是老杨.我之前更新过两期网络工程师必备工具,从阅读量上都能知道到底有多受欢迎. 老杨10月太忙,没法整理.正好11月初还有点时间,更新第三期给你们. 前两期的工具安利我放 ...

  8. 《Network Warrior中文版(第2版)——思科网络工程师必备手册》一导读

    前 言 Network Warrior中文版(第2版)--思科网络工程师必备手册 本书所举示例,均取自笔者以及笔者有幸曾与共事的同事们的工作经历.当然,出于法律和名誉上的原因,笔者已对具体细节,以及任 ...

  9. 《Network Warrior中文版—思科网络工程师必备手册 》

    <Network Warrior中文版-思科网络工程师必备手册 >china-pub推荐 适合从事计算机网络技术.管理和运维工作的工程技术人员阅读. 可以让有经验的网络工程师和管理员巩固并 ...

最新文章

  1. netty websocket客户端_Websocket操作字节序 之 服务端
  2. 修复Chrome上的ERR_TOO_MANY_REDIRECTS错误?
  3. 飞桨第三课2020.4.2
  4. jsf组件不显示_JSF组件库–质量不只是零缺陷
  5. Flow vs Jenkins 实操对比,如何将Java应用快速发布至ECS
  6. 测试基础-03-用例设计方法:案例讲解
  7. 一起谈.NET技术,asp.net 页面转向 Response.Redirect, Server.Transfer, Server.Execute的区别...
  8. MongoDB集群构建
  9. s5原生android 5.0,三星Galaxy S5/S4吃上原生安卓5.0棒棒糖
  10. codeforces #309 div1 D
  11. PAT (Basic Level) 1045 柳婼、旭神两大思路分析【测试点】样例
  12. [GAMP学习笔记]计算STEC程序中遇到的一些问题小结
  13. MAGIX Sound Forge Audio Studio v16.0.0.39 WiN 音频编辑软件
  14. 互联网金融学习总结(5)——市场主流的风控模型简要学习总结
  15. 韩国appleid17+认证流程
  16. 简单三步下载网页微博中的视频
  17. vsual studio 如何关闭禁止mscorsvw.exe (转)
  18. SMS短信解码举例(一)
  19. 按“Win+E”键出现【找不到应用程序】或【explore.exe找不到】的解决方法
  20. 企业微信可以直接转账吗?

热门文章

  1. 一阶低通滤波器方程_请教一阶二阶低通滤波器
  2. js获取播放器播放时间和停止播放
  3. 电脑重启bootmgr_Windows系统启动不了如何修复?Bootmgr/NTLDR is missing解决方法
  4. 2021年度最火Diffusion Models:用于图像编辑和text引导图像生成的GLIDE
  5. php pdf只能查看不能下载,对于pdf文件不支持浏览器下载如何处理?
  6. 单点登陆连接超时的解决方式
  7. android图片格式
  8. wps模板服务器无响应,WPS表格无响应
  9. java泡泡堂分析_java泡泡堂 - WEB源码|JSP源码/Java|源代码 - 源码中国
  10. sql server 数据库表中增加列,增加字段,插入列,插入字段,修改列,修改字段,