Smart Link和Monitor Link

Smart Link和Monitor Link简介

        Smart Link,又叫做备份链路。一个Smart Link由两个接口组成,其中一个接口作为另一个的备份。Smart Link常用于双上行组网,提供可靠高效的备份和快速的切换机制。

        Monitor Link是一种接口联动方案,它通过监控设备的上行接口,根据其Up/Down状态的变化来触发下行接口Up/Down状态的变化,从而触发下游设备上的拓扑协议进行链路的切换。

作用:

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

        Smart Link和Monitor Link简介Smart Link用于双上行组网示例

        如上图所示SwitchA采用双上行方式分别连接到SwitchB和SwitchC,这样SwitchA到达SwitchD的链路就可以有两条(SwitchA->SwitchB->SwitchD和SwitchA->SwitchC->SwitchD),但是网络中的环路会产生网络风暴。在SwitchA上配置Smart Link,正常情况下,可实现Interface2所在链路作为Interface1所在链路的备份。若Interface1所在的链路发生故障,Smart Link会自动将数据流量切换到Interface2所在链路,保证业务不中断。

Smart Link和Monitor Link简介在此类组网中采用Smart Link技术有以下优点:

  • 能够实现在双上行组网的两条链路正常情况下,一条链路处于转发状态,而另一条处于阻塞待命状态,从而可避免环路的不利影响。
  • 配置和使用更为简洁,便于用户操作。
  • 当主用链路发生故障后,流量会在毫秒级的时间内迅速切换到备用链路上,极大限度地保证了数据的正常转发。

        在一些二层拓扑协议(如Smart Link)组网中,拓扑协议无法监视到上行接口的状态,从而导致拓扑协议无法进行链路切换。Monitor Link可用于扩展一些二层拓扑协议的应用范围,通过监控上行链路对下行链路进行同步设置,达到上行链路故障迅速传达给下行设备,从而触发下游设备上的拓扑协议进行链路的切换,防止长时间因上行链路故障而出现流量丢失。

Smart Link基本概念

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

Smart Link示意图

Smart Link组

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

主接口/从接口

        如上图所示,Interface1被配置为Smart Link组的主接口,Interface2被配置为Smart Link组的从接口。主接口又叫Master接口,从接口又叫Slave接口。

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

Flush报文

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

控制VLAN(Control VLAN)
  • 发送控制VLAN

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

  • 接收控制VLAN

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

负载分担

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

Smart Link实例

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

配置Smart Link负载分担示例

        如下图所示,为了保证网络的可靠性,用户侧网络采用双上行方式组网。由于组网上存在多个VLAN的数据流量,为使链路得到充分利用,用户希望两条上行链路均进行数据流量的转发。组网要求业务中断时间控制在毫秒级。

配置思路

采用如下的思路配置Smart Link功能:

  1. 在SwitchA上进行配置,将需要进行负载分担的VLAN 500映射到实例10。
  2. 在SwitchA上配置Smart Link组,将对应接口加入Smart Link组中。
  3. 在SwitchA上配置负载分担功能,实例10映射的VLAN数据从备份链路进行转发。
  4. 在SwitchA上使能回切功能,使得故障恢复后,流量切换到相对稳定的原主链路上。
  5. 在SwitchA上使能发送Flush报文功能。
  6. 在SwitchB、SwitchC和SwitchD三台设备对应接口上使能Flush报文接收功能。
  7. 在SwitchA上使能Smart Link组功能。
操作步骤
Switch1配置

1.配置VLAN信息

        Switch1上创建VLAN,并配置接口允许相应VLAN通过(这里忘记改设备名称了)

<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]vlan batch 10 100 500
[Huawei]interface gigabitethernet 0/0/1
[Huawei-GigabitEthernet0/0/1]port link-type trunk
[Huawei-GigabitEthernet0/0/1]port trunk allow-pass vlan 10 100 500
[Huawei-GigabitEthernet0/0/1]quit
[Huawei]interface gigabitethernet 0/0/2
[Huawei-GigabitEthernet0/0/2]port link-type trunk 
[Huawei-GigabitEthernet0/0/2]port trunk allow-pass vlan 10 100 500
[Huawei-GigabitEthernet0/0/2]quit

2.在SwitchA上配置VLAN映射

[Huawei]stp region-configuration
[Huawei-mst-region]instance 10 vlan 500
[Huawei-mst-region]active region-configuration
[Huawei-mst-region]quit

3.将去使能STP功能的上行接口加入Smart Link组并指定为主接口或从接口

[Huawei]interface gigabitethernet 0/0/1
[Huawei-GigabitEthernet0/0/1]stp disable
[Huawei-GigabitEthernet0/0/1]quit
[Huawei]interface gigabitethernet 0/0/2
[Huawei-GigabitEthernet0/0/2]stp disable
[Huawei-GigabitEthernet0/0/2]quit
[Huawei]smart-link group 1
[Huawei-smlk-group1]port gigabitethernet 0/0/1 master
[Huawei-smlk-group1]port gigabitethernet 0/0/2 slave

4.在Switch1上配置负载分担功能

[Huawei-smlk-group1]load-balance instance 10 slave

5.使能回切功能并设置回切时间

[Huawei-smlk-group1]restore enable
[Huawei-smlk-group1]timer wtr 30

6.使能发送Flush报文功能

指定发送Flush报文的密码为simple加密方式

[Huawei-smlk-group1]flush send control-vlan 10 password simple jiayi20

7.在Switch1使能Smart Link组功能

[Huawei-smlk-group1]smart-link enable
[Huawei-smlk-group1]quit

8.验证配置结果

        使用display smart-link group命令查看SwitchA上的Smart Link组信息。如果显示如下信息,则表示配置成功。

  • Smart Link组功能已经使能
  • 回切时间为30秒
  • 控制VLAN编号为10
  • 接口GE0/0/1为主接口且处于Active状态,接口GE0/0/2为从接口且处于Inavtive,并且配置了负载分担功能
[Huawei]display smart-link group 1
Smart Link group 1 information :Smart Link group was enabledWtr-time is: 30 sec.Load-Balance Instance: 10 There is no protected-vlan reference-instanceDeviceID: 4c1f-ccc7-42cc  Control-vlan ID: 10Member                  Role   State    Flush Count Last-Flush-Time----------------------------------------------------------------------GigabitEthernet0/0/1    Master Active   1           2023/12/07 21:40:09 UTC-08
:00 GigabitEthernet0/0/2    Slave  Inactive 0           0000/00/00 00:00:00 UTC+00
:00 
Switch2配置

        创建配置vlan并且使能接收Flush报文功能

<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname Switch2
[Switch2]vlan batch 10 100 500
[Switch2]interface gigabitethernet 0/0/1
[Switch2-GigabitEthernet0/0/1]port link-type trunk
[Switch2-GigabitEthernet0/0/1]port trunk allow-pass vlan 10 100 500
[Switch2-GigabitEthernet0/0/1]stp disable
[Switch2-GigabitEthernet0/0/1]smart-link flush receive control-vlan 10 password 
simple jiayi20
[Switch2-GigabitEthernet0/0/1]quit
[Switch2]interface gigabitethernet 0/0/2
[Switch2-GigabitEthernet0/0/2]port link-type trunk
[Switch2-GigabitEthernet0/0/2]port trunk allow-pass vlan 10 100 500
[Switch2-GigabitEthernet0/0/2]stp disable
[Switch2-GigabitEthernet0/0/2]smart-link flush receive control-vlan 10 password 
simple jiayi20
[Switch2-GigabitEthernet0/0/2]quit

        以下Switch3、4同理

Switch3配置
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname Switch3
[Switch3]vlan batch 10 100 500
[Switch3]interface gigabitethernet 0/0/1
[Switch3-GigabitEthernet0/0/1]port link-type trunk
[Switch3-GigabitEthernet0/0/1]port trunk allow-pass vlan 10 100 500
[Switch3-GigabitEthernet0/0/1]stp disable
[Switch3-GigabitEthernet0/0/1]smart-link flush receive control-vlan 10 password 
simple jiayi20
[Switch3-GigabitEthernet0/0/1]quit
[Switch3]interface gigabitethernet 0/0/2
[Switch3-GigabitEthernet0/0/2]port link-type trunk
[Switch3-GigabitEthernet0/0/2]port trunk allow-pass vlan 10 100 500
[Switch3-GigabitEthernet0/0/2]stp disable
[Switch3-GigabitEthernet0/0/2]smart-link flush receive control-vlan 10 password 
simple jiayi20
[Switch3-GigabitEthernet0/0/2]quit
Switch4配置
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname Switch4
[Switch4]vlan batch 10 100 500
[Switch4]interface gigabitethernet 0/0/1
[Switch4-GigabitEthernet0/0/1]port link-type trunk
[Switch4-GigabitEthernet0/0/1]port trunk allow-pass vlan 10 100 500
[Switch4-GigabitEthernet0/0/1]stp disable
[Switch4-GigabitEthernet0/0/1]smart-link flush receive control-vlan 10 password 
simple jiayi20
[Switch4-GigabitEthernet0/0/1]quit
[Switch4]interface gigabitethernet 0/0/2
[Switch4-GigabitEthernet0/0/2]port link-type trunk
[Switch4-GigabitEthernet0/0/2]port trunk allow-pass vlan 10 100 500 
[Switch4-GigabitEthernet0/0/2]stp disable
[Switch4-GigabitEthernet0/0/2]smart-link flush receive control-vlan 10 password 
simple jiayi20
[Switch4-GigabitEthernet0/0/2]quit

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

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

相关文章

nodejs流

什么是流 stream 流是用于在 Node.js 中处理流数据的抽象接口。 node:stream 模块提供了用于实现流接口的 API。 什么是流数据 流数据是指一组顺序、大量、快速、连续到达的数据序列&#xff0c;一般情况下数据流可被视为一个随时间延续而无限增长的动态数据集合。流数据应用…

【keil备忘录】2. stm32 keil仿真时的时间测量功能

配置仿真器Trace内核时钟为单片机实际的内核时钟&#xff0c;需要勾选Enable设置&#xff0c;设置完成后Enable取消勾选也可以&#xff0c;经测试时钟频率配置仍然生效&#xff0c;此处设置为48MHZ: 时间测量时必须打开register窗口&#xff0c;否则可能不会计数 右下角有计…

第十四章 : Spring Boot 整合spring-session,使用redis共享

第十四章 &#xff1a; Spring Boot 整合spring-session,使用redis共享 前沿 本文重点讲述&#xff1a;spring boot工程中使用spring-session机制进行安全认证&#xff0c;并且通过redis存储session&#xff0c;满足集群部署、分布式系统的session共享。 基于SPringBoot 2.3.2…

[linux运维] 利用zabbix监控linux高危命令并发送告警(基于Zabbix 6)

之前写过一篇是基于zabbix 5.4的实现文章&#xff0c;但是不太详细&#xff0c;最近已经有两个小伙伴在zabbix 6上操作&#xff0c;发现触发器没有str函数&#xff0c;所以更新一下本文&#xff0c;基于zabbix 6 0x01 来看看效果 高危指令出发问题告警&#xff1a; 发出邮件告…

学好操作系统需要的前置知识

1. 态度&#xff1a;不要等一切都准备好了再前行 如果把一切你可能会说&#xff0c;没有这些基础知识&#xff0c;我每看一篇文章&#xff0c;知识就铺天盖地席卷过来&#xff0c;仿佛每一个知识点都准确地打在了自己的盲点上&#xff0c;这该怎么办呢&#xff1f; 我非常能理…

AI助力智慧农业,基于YOLOv8全系列模型【n/s/m/l/x】开发构建不同参数量级的识别系统

智慧农业随着数字化信息化浪潮的演变有了新的定义&#xff0c;在前面的系列博文中&#xff0c;我们从一些现实世界里面的所见所想所感进行了很多对应的实践&#xff0c;感兴趣的话可以自行移步阅读即可&#xff1a; 《自建数据集&#xff0c;基于YOLOv7开发构建农田场景下杂草…

05 JQuery基础入门

文章目录 一、jQuery介绍1. 简介2. 版本介绍3. 相关网站4. HTML引入方式 二、基础语法1. 顶级对象$2. 与DOM对象转化3. 选择器4. 事件5. 动画6. 修改样式7. 修改属性 一、jQuery介绍 1. 简介 jQuery是JavaScript编程语言底层库&#xff0c;它是一个快速&#xff0c;简洁的Jav…

ERPNext SQL 注入漏洞复现

0x01 产品简介 ERPNext 是一套开源的企业资源计划系统。 0x02 漏洞概述 ERPNext 系统frappe.model.db_query.get_list 文件 filters 参数存在 SQL 注入漏洞,攻击者除了可以利用 SQL 注入漏洞获取数据库中的信息(例如,管理员后台密码、站点的用户个人信息)之外,甚至在高权…

基于springboot实现的仿天猫商城项目

一、系统架构 前端&#xff1a;jsp | js | css | jquery 后端&#xff1a;springboot | mybatis-plus 环境&#xff1a;jdk1.7 | mysql | maven 二、代码及数据库 三、功能介绍 01. web端-首页 02. web端-商品查询 03. web端-商品详情 04. web端-购物车 05. web端-订单…

集合的几个遍历方法

1. 集合的遍历 1.0 创建集合代码 List<String> strList new ArrayList<>(); strList.add("huawei"); strList.add("xiaomi"); strList.add("tencent"); strList.add("google"); strList.add("baidu");1.1 fo…

复杂gRPC之go调用go

1. 复杂的gRPC调用 我们使用了一个较为复杂的proto文件&#xff0c;这个文件的功能主要是用来定位的&#xff0c;详细内容可以看代码中的注解 syntax "proto3"; //指定生成的所属的package&#xff0c;方便调用 option go_package "./"; package route…

Redis和MySQL双写一致性实用解析

1、背景 先阐明一下Mysql和Redis的关系&#xff1a;Mysql是数据库&#xff0c;用来持久化数据&#xff0c;一定程度上保证数据的可靠性&#xff1b;Redis是用来当缓存&#xff0c;用来提升数据访问的性能。 关于如何保证Mysql和Redis中的数据一致&#xff08;即缓存一致性问题…

labelme等标注工具/数据增强工具输出JSON文件格式检查脚本

标注的文件太多了&#xff0c;还有用数据增强工具生成了一票的新数据。在转换或使用训练时候会报错&#xff0c;错误原因是json中语法有问题&#xff0c;这样会中断程序运行&#xff0c;调试造成很大困扰。 检查确实最后有问题&#xff0c;多写了一次 写一个脚本&#xff0c;用…

Python-滑雪大冒险【附源码】

滑雪大冒险 《滑雪大冒险》是一款充满趣味性和挑战性的休闲竞技游戏&#xff0c;在游戏中&#xff0c;玩家将扮演一位勇敢的滑雪者&#xff0c;在雪山上展示他们的滑雪技巧&#xff0c;游戏采用2D图形界面&#xff0c;以第三人称视角呈现 运行效果&#xff1a;用方向键及方向键…

flask 数据库迁移可能出现的六大问题,生成requirements文件夹方式,flask项目复写,

今日任务 项目分级显示 — app — — admin 代表 — — auth 代表用户的点赞 评论 登录等等 — — blog 代表blog的网页 首先单独把auth运行出来 第一步 1. 生成requirements文件夹 2.在一个新的虚拟环境里面完成requirements依赖下载 3.完成项目的复写 1. 生成requ…

算术运算(这么简单?进来坐坐?)

先热热身 算术运算&#xff0c;也称为四则运算&#xff0c;包括加法、减法、乘法和除法。此外&#xff0c;算术运算还包括乘方和开方。 在算术中&#xff0c;加减被视为一级运算&#xff0c;乘除被视为二级运算&#xff0c;乘方和开方被视为三级运算。在一道算式中&#xff0c;…

网站导航栏下滑隐藏,上滑显示,效果杠杆,兼容性强

前言 导航栏是网站必不可少的一部分&#xff0c;那么&#xff0c;导航栏应该怎么样子实现&#xff0c;可以高效自定义兼容开发呢&#xff1f;当然&#xff0c;不仅要实现&#xff0c;而且还要实现导航栏顶部固定位置&#xff0c;下拉隐藏&#xff0c;稍微往上滑动就会出现&…

Python中的并发编程(2)线程的实现

Python中线程的实现 1. 线程 在Python中&#xff0c;threading 库提供了线程的接口。我们通过threading 中提供的接口创建、启动、同步线程。 例1. 使用线程旋转指针 想象一个场景&#xff1a;程序执行了一个耗时较长的操作&#xff0c;如复制一个大文件&#xff0c;我们希…

2022年第十一届数学建模国际赛小美赛D题野生动物贸易是否应长期禁止解题全过程文档及程序

2022年第十一届数学建模国际赛小美赛 D题 野生动物贸易是否应长期禁止 原题再现&#xff1a; 野生动物市场被怀疑是此次疫情和2002年SARS疫情的源头&#xff0c;食用野生肉类被认为是非洲埃博拉病毒的一个来源。在冠状病毒爆发后&#xff0c;中国最高立法机构永久性地加强了野…

【git教程】

目录 git与SVN的区别&#xff1a;集中式与分布式的区别Windows上安装Git创建版本库/仓库&#xff08;repository&#xff09;将文件添加到repository报错处理 查看仓库的状态版本回退工作区和暂存区管理和修改撤销修改删除文件远程仓库添加远程仓库警告解除本地和远程的绑定关系…