Smart Link 和 Monitor Link应用

news2024/11/15 14:23:14

定义

Smart Link常用于双上行链路组网,提高接入的可靠性。 Monitor Link通过监视上行接口,使下行接口同步上行接口状态,起到传递故障信息的作用。

Smart Link,又叫做备份链路。一个Smart Link由两个接口组成,其中一个接口作为另一个的备份。 Smart Link常用于双上行组网,提供可靠高效的备份和快速的切换机制。Monitor Link是一种接口联动方案,它通过监控设备的上行接口,根据其Up/Down状态的变化来触发下行接Up/Down状态的变化,从而触发下游设备上的拓扑协议进行链路的切换。

目的

下游设备连接到上游设备,当使用单上行方式时,若出现单点故障,会造成业务中断。若采用双上行方式,将一台下游设备同时连接到两台上游设备,可降低单点故障对网络的影响,提高了可性。

图1

图1所示sw1采用双上行方式分别连接到sw2sw3,这样sw1到达sw4的链路就可以有两条(sw1>sw2>sw4sw1>sw3>sw4),但是网络中的环路会产生网络风暴。在sw1上配置SmartLink,正常情况下,可实现Interface2所在链路作为Interface1所在链路的备份。若Interface所在的链路发生故障, Smart Link会自动将数据流量切换到Interface2所在链路,保证业务不断。
在此类组网中采用Smart Link技术有以下优点:
1能够实现在双上行组网的两条链路正常情况下,一条链路处于转发状态,而另一条处于阻塞待命状态,从而可避免环路的不利影响。
2配置和使用更为简洁,便于用户操作。
3当主用链路发生故障后,流量会在毫秒级的时间内迅速切换到备用链路上,极大限度地保证了数据的正常转发。
在一些二层拓扑协议(如Smart Link)组网中,拓扑协议无法监视到上行接口的状态,从而导致拓扑协议无法进行链路切换。 Monitor Link可用于扩展一些二层拓扑协议的应用范围,通过监控上行链路对下行链路进行同步设置,达到上行链路故障迅速传达给下行设备,从而触发下游设备上的拓扑协议进行链路的切换,防止长时间因上行链路故障而出现流量丢失。

Smart link原理

Smart link

Smart Link通过两个端口相互配合工作来实现功能。这样的一对端口组成了一个SmartLink组。为了区别一个Smart Link组中的两个端口,我们将其中的一个叫做主端口,另一个叫做从端口。同时我们利用Flush报文、 Smart Link实例和控制VLAN等机制,以更好地实现Smart Link的功能(包负载分担)。

Smart Link组,一个组内最多可包含两个接口,其中一个为主接口,另一个为从接口。正常情况下,只有一个接口处于转发( Active)状态,另一个接口被阻塞,处于待命Inactive)状态。图1所示,设备sw1上的接口Interface1和接口Interface2组成了一个Smart Link

Interface1被配置为Smart Link组的主接口, Interface2被配置为Smart Link组的从接口。主接口叫Master接口,从接口又叫Slave接口。Smart Link组中的两个接口都处于Up状态时,主接口将优先进入转发状态,而从接口将保持待命状态。当主接口所在链路发生故障时,从接口将切换为转发状态。

Flush报文

Smart Link组发生链路切换时,原有的转发表项将不适用于新的拓扑网络,需要整网进行MAC表项和ARP表项的更新。这时, Smart Link组通过发送Flush报文通知其他设备进行MACARP表项的刷新操作。如图1所示,当链路发生切换时,sw1会发送组播Flush报文通知sw2sw3sw4进行MACARP表项的更新。

控制VLAN(Control VLAN)

发送控制VLAN

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

l 接收控制VLA接收控制VLAN是上游设备用于接收并处理Flush报文的VLAN。如1所示,

如果上游设备SwitchASwitchBSwitchC能够识别Flush报文,并开启了Flush报文接收处理功能,当发生链路切换时,上游设备会处理收到的属于接收控制VLAN的Flush报文,进而刷新MAC表和ARP表。

负载分担

Smart Link支持配置多个负载分担VLAN实例。当Smart Link组的主从链路均正常时,Smart link允许两条链路可以转发不同的数据流量。负载分担情况下,两个接口均处于转发状态,从接口转发负载分担实例流量,主接口转发其它实例流量。当其中一条链路故障时,Smart Link组会自动将所有的流量切换到另一条链路上。

Smart Link 实例

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

Monitor Link 原理

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

Monitor Link

Monitor Link组也叫监控链路组,由上行接口和下行接口共同组成。组的成员可以是接口、静态聚合组、手工聚合组或Smart Link组,其中Smart Link组只能作为上行接口。下行接口的状态随上行接口的变化而变化。如图1所示,Interface3Interface4组成了一个Monitor Link组。

上行接口

上行接口又称为Uplink接口,是Monitor Link组中受监控者,所有上行接口故障则表示该Monitor Link组故障,该组的下行接口将都会被强制设为Down状态。如1所示,Interface3为上行接口。上行链路也可以是Smart Link组,当上行链路是Smart Link组时,只有当Smart Link组的两个接口都处于inactive状态(包括Down)时,才能认为该上行链路故障。

下行接口

下行接口又称为Downlink接口,是Monitor Link组中监控者,下行接口故障不影响上行接口,也不影响其他下行接口。如1所示, Interface4为下行接口。配置Monitor Link组后,上行接口将被实时监控,一旦所有上行接口出现故障,包括链路故障、OAM的单通故障、OAM的连接无法建立等,其所在组的所有Up的下行接口都会被强制设为Down状态。当上行链路恢复正常时,恢复下行接口。

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

说明

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

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

附交换机配置:

sw1:

#

vlan batch 10 20

#

interface GigabitEthernet0/0/1

 port link-type trunk

 port trunk allow-pass vlan 10

 stp disable

#

interface GigabitEthernet0/0/2

 port link-type trunk

 port trunk allow-pass vlan 10

 stp disable

#

interface GigabitEthernet0/0/3

 port link-type access

 port default vlan 10

#

interface GigabitEthernet0/0/4

 port link-type access

 port default vlan 10

#

smart-link group 1

 restore enable

 smart-link enable

 port GigabitEthernet0/0/1 master

 port GigabitEthernet0/0/2 slave

 timer wtr 30

 flush send control-vlan 20 password simple 123

#

sw2:

#

vlan batch 10 20

#

interface GigabitEthernet0/0/1

 port link-type trunk

 port trunk allow-pass vlan 10

 smart-link flush receive control-vlan 20 password simple 123

#

interface GigabitEthernet0/0/2

 port link-type trunk

 port trunk allow-pass vlan 10

 smart-link flush receive control-vlan 20 password simple 123

#

monitor-link group 1

 port GigabitEthernet0/0/2 uplink

 port GigabitEthernet0/0/1 downlink 1

#

Sw3:

#

vlan batch 10 20

#

interface GigabitEthernet0/0/1

 port link-type trunk

 port trunk allow-pass vlan 10

 smart-link flush receive control-vlan 20 password simple 123

#

interface GigabitEthernet0/0/2

 port link-type trunk

 port trunk allow-pass vlan 10

 smart-link flush receive control-vlan 20 password simple 123

#

monitor-link group 1

 port GigabitEthernet0/0/2 uplink

 port GigabitEthernet0/0/1 downlink 1

#

Sw4:

#

vlan batch 10 20

#

interface GigabitEthernet0/0/1

 port link-type trunk

 port trunk allow-pass vlan 10

 smart-link flush receive control-vlan 20 password simple 123

#

interface GigabitEthernet0/0/2

 port link-type trunk

 port trunk allow-pass vlan 10

 smart-link flush receive control-vlan 20 password simple 123

#

interface GigabitEthernet0/0/3

 port link-type access

 port default vlan 1

#

扩展部分:

在图2中,主机侧配置主备模式,当交换机上行链路发生故障时,也会存在主机侧不能感知,流量转发中断;此时可通过在交换机配置Monitor Link组,实现上行链路与下行链路联动,

实现链路切换。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1201044.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

木疙瘩踩坑日记-容易忽略的一些BUG

在一开始玩家务必很清楚这三个概念 图形:舞台上元素的最小单位。软件自带的以及外部导入的图片默认都是图形!最朴素的元素!可以添加预制动画、关键帧动画、进度动画(软件自带的形状) 元件:一个可以内部封…

高性能收发原始数据包的框架(Netmap)

一、Netmap 简介 Netmap 是一个高性能收发原始数据包的框架,由 Luigi Rizzo 等人开发完成,其包含了内核模块以及用户态库函数。其目标是,不修改现有操作系统软件以及不需要特殊硬件支持,实现用户态和网卡之间数据包的高性能传递。…

Git系列之分支与标签的使用及应用场景模拟

🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是君易--鑨,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的博客专栏《Git实战开发》。🎯🎯 &a…

【网络奇遇记】我和因特网的初相遇2 —— 三种交换方式

🌈个人主页:聆风吟 🔥系列专栏:网络奇遇记、数据结构 🔖少年有梦不应止于心动,更要付诸行动。 文章目录 前言一. 电路交换1.1 电路交换讲解1.2 电路交换实例 二. 分组交换1.1 分组交换讲解1.2 分组交换实例…

Go 14岁了

今天我们庆祝Go开源十四周年!Go度过了美好的一年,发布了两个功能齐全的版本和其他重要的里程碑。 我们在2月份发布了Go 1.20,在8月份发布了Go 1.21,更多地关注实现改进而不是新的语言更改。 在Go 1.20中,我们预览了配置…

基于Python+Django的图书管理系统

项目介绍 图书是人类文明传播的一个重要方式,很多历史悠久的文明都是通过图书来进行传递的,虽然随着时代的进步电子信息技术发展很快,但是纸质图书的地位仍然是非常稳固的,为了能够让知识拥有更加快捷方便的传递方式我们开发了本…

Typora-PicGo-七牛云图床

Typora-PicGo-七牛云图床 问题描述: 每次使用Typora写完笔记后,想要将笔记上传至CSDN会发现一个问题,由于没有配置图床,笔记中的图片需要一张一张的上传到CSDN,非常麻烦,若使用PicGo并搭配七牛云的10G免费…

Django配置文件,request,链接mysql方法,Orm简介

三板斧问题(views.py) HttpResponse # 返回的是字符串render # 渲染一个HTML静态文件,模板文件redirect # 重定向的 在视图文件中得视图函数必须要接收一个形参request,并且,视图函数也要有返回值&#xff…

Linux - 基础IO(重定向 - 重定向模拟实现 - shell 当中的 重定向)- 下篇

前言 上一篇博客当中,我们对 文件 在操作系统当中是 如何就管理的,这个问题做了 详细描述,本篇博客将基于上篇 博客当中的内容进行 阐述,如有疑问,请参考上篇博客: Linux - 基础IO(Linux 当中…

matlab 多自由度的车辆垂向振动模型 车辆平稳性研究

1、内容简介 略 17-可以交流、咨询、答疑 多自由度的车辆垂向振动模型 多自由度的车辆垂向振动模型,包含四分之一车体模型、半车模型和整车模型 垂向振动模型、四分之一车体模型、半车模型和整车模型 2、内容说明 略 3、仿真分析 略 4、参考论文 略 链接&…

第七章 块为结构建模 P3|系统建模语言SysML实用指南学习

仅供个人学习记录 块行为建模 块提供了行为情境,行为这个 SysML 词条覆盖了块如何处理输如/输出和其内部状态改变的所有描述。 块可以指定某个行为作为其主行为或者分类器行为,该行为在块实例化后启动执行。其他行为可以指定为方法,提供了处…

人机交互——自然语言生成

自然语言生成是让计算机自动或半自动地生成自然语言的文本。这个领域涉及到自然语言处理、语言学、计算机科学等多个领域的知识。 1.简介 自然语言生成系统可以分为基于规则的方法和基于统计的方法两大类。基于规则的方法主要依靠专家知识库和语言学规则来生成文本&#xff0…

【Redis】list列表

上一篇: String 类型 https://blog.csdn.net/m0_67930426/article/details/134362606?spm1001.2014.3001.5501 目录 Lpush LRange Rpush Lpop Rpop Lindex Ltrim Lset 列表不存在的情况 如果列表存在 Linsert ​编辑 在………之前插入 在……后面插入…

Windows系统安装Redis、配置环境变量

系列文章目录 第一章 Java线程池技术应用 第二章 CountDownLatch和Semaphone的应用 第三章 Spring Cloud 简介 第四章 Spring Cloud Netflix 之 Eureka 第五章 Spring Cloud Netflix 之 Ribbon 第六章 Spring Cloud 之 OpenFeign 第七章 Spring Cloud 之 GateWay 第八章 Sprin…

【 第十一章】软件设计师 之 面向对象设计与结构化分析设计

文章底部有个人公众号:热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享? 踩过的坑没必要让别人在再踩,自己复盘也能加深记忆。利己利人、所谓双赢。 备考资料导航 软考好处:软考的…

域名无法访问了,如何找回浏览器的缓存

背景需求 双十一即将来临,这意味着我购买了三年低配的阿里服务器,而它的服务期限也即将到期。为了提前做好准备,我在一周前对静态网站进行了备份,并成功地使用了Vercel进行部署(已经有了域名)。相比于付费…

腾讯云3年轻量应用服务器2核2G4M带宽540元,它来了

腾讯云轻量应用服务器特价是有新用户限制的,所以阿腾云建议大家选择3年期轻量应用服务器,一劳永逸,免去续费困扰。腾讯云轻量应用服务器3年可以选择2核2G4M和2核4G5M带宽,3年轻量2核2G4M服务器540元,2核4G5M轻量应用服…

jdk21 虚拟线程原理及使用分享

虚拟线程概述 jdk21已于北京时间9月19日21点正式发布, 其中引人注目的就是虚拟线程(Virtual Thread)随之正式发布, 不再是此前jdk19、jdk20中的预览版本。 平台线程:java传统的线程是对系统线程的包装,为了区别于虚拟线程,因此将通过传统方式…

C#源代码生成器深入讲解一

C#源代码生成器 01 源代码生成器初体验 新建一个类库,一定是standard2.0版本,否则会出问题。引用Nuget包Microsoft.CodeAnalysis.Common新建一个类,继承自ISourceGenerator接口 //一定要写,制定语言 [Generator(LanguageNames.…

Django 基于ORM的CURD、外键关联,请求的生命周期

文章目录 基于ORM进行的CURDORM外键关联Django请求的生命周期流程图 基于ORM进行的CURD 本质上就是通过面向对象的方式,对数据库的数据进行增、删、改、查。 这里将会将我们之前所有内容结合到一起,首先确保基于上序操作已经建立好了UserInfo表&#xff…