一、Smart Link产生背景
当下游设备连接到上游设备时,使用单上行方式容易出现单点故障,造成业务中断。因此通常采用双上行方式,即将一台下游设备同时连接到两台上游设备,以最大限度地避免单点故障,提高网络可靠性。双上行组网虽然能提高网络可靠性,但又引入了环路问题。通常可通过STP(生成树协议),但STP在收敛速度上只能达到秒级,不适用于对收敛时间有很高要求的用户。
Smart Link是一种针对双上行组网的解决方案,实现了高效可靠的链路冗余备份和故障快速切换。
说明:1. Smart Link是H3C和华为私有协议;2. 故障切换速度可达厘秒级
Smart Link的主要特点如下:
专用于双上行组网;
收敛速度快(达到厘秒级);
配置简单,便于用户操作(其实并不简单)。
Monitor Link是对Smart Link技术的有力补充。Monitor Link用于监控上行链路,以达到让下行链路同步上行链路状态的目的,使Smart Link的备份作用更加完善。
注意:(1)Smart-link、STP、RRPP同时只能运行一种;(2)配置Smart-link时,需要在相关接口上关闭STP特性。
二、Smart Link相关概念
1. 运行机制
双上行的两个端口组成一个Smart-link组,配置为主端口和副端口,主端口链路故障,立即切换为副端口转发数据。
2. 保护VLAN
说明:可以理解为业务vlan
Smart-link组允许转发的VLAN,以MST实例的形式进行映射。
3. 控制VLAN
FLUSH报文转发的VLAN。
4. FLUSH报文
说明:不配置flush报文,Smart Link主端口故障链路也会立即切换到从端口,但是由于上行交换机学习的MAC地址仍然对应原接口,此时需要等到mac地址表刷新业务才能恢复故障。通过flush报文可以立即刷新正确的MAC地址记录。
技术背景
链路发生故障切换时,上行交换机学习的MAC地址仍然对应原接口,需要通过流量来刷新正确的MAC地址记录。
解决方案
收到Flush报文的交换机,会在接收报文的端口重新学习MAC地址记录。
5. Smart-link角色抢占模式
默认主端口故障恢复后,不会发生角色抢占,即主链路故障恢复后业务仍然走备链路,除非备链路故障再次切换到主链路。可通过配置使主端口自动抢占角色。
6. Monitor Link
定义
用于把上行链路的存活状态同步到下行链路,使Smart-link可以感知到跨设备的链路故障。
原理
上行端口:连接上层设备的端口
下行端口:连接Smart-link的端口
当所有上行端口Down,自动关闭下行端口;任意一个上行端口Up,自动开启下行端口。
三、Smart Link配置实例
1. 配置拓扑
2. 配置需求
(1)网络中有 Vlan10,Vlan20,Vlan30,Vlan40 一共 4 个业务 Vlan,数据可以在所有链路上转发
(2)在 SW1 上使用 Smart-link 对上行链路进行备份。要求 Smart-link组1 引用 MST 实例 1 (映射 Vlan10 和 Vlan20)的流量经过 SW2 的链路访问上行设备,而 Smart-link 组 2 引用实例 2(映射 Vlan30 和 Vlan40)的流量经过 SW3 的链路访问上行设备,组 1 和组 2 分别在 Vlan100 和 Vlan200 内发送和接收 Flush 报文
(3)要求当 Smart-link 主链路故障恢复后,端口角色能够自动恢复
(4)要求当 SW2 和 SW3 的上行链路故障后,也能触发 Smart-link 角色切换
(5)按图所示,接入层配置两台PC,验证实验结果
3. 配置步骤
(1)配置保护VLAN和控制VLAN,并在相关接口下放行
在所有交换机上创建 Vlan10,Vlan20,Vlan30 和 Vlan40,另外由于后面需要配置控制 VLAN,所以还需要创建 Vlan100 和 Vlan200,配置所有互联接口类型为 Trunk,放行所有 Vlan
[SW1]vlan 10
[SW1-vlan10]vlan 20
[SW1-vlan20]vlan 30
[SW1-vlan30]vlan 40
[SW1-vlan40]vlan 100
[SW1-vlan100]vlan 200
[SW1-vlan200]int g 1/0/1
[SW1-GigabitEthernet1/0/1]port link-type trunk
[SW1-GigabitEthernet1/0/1]port trunk permit vlan 10 20 30 40 100 200
[SW1-GigabitEthernet1/0/1]int g 1/0/2
[SW1-GigabitEthernet1/0/2]port link-type trunk
[SW1-GigabitEthernet1/0/2]port trunk permit vlan 10 20 30 40 100 200
[SW1-GigabitEthernet1/0/2]quit
[SW1]
[SW2]vlan 10
[SW2-vlan10]vlan 20
[SW2-vlan20]vlan 30
[SW2-vlan30]vlan 40
[SW2-vlan40]vlan 100
[SW2-vlan100]vlan 200
[SW2-vlan200]int g 1/0/1
[SW2-GigabitEthernet1/0/1]port link-type trunk
[SW2-GigabitEthernet1/0/1]port trunk permit vlan 10 20 30 40 100 200
[SW2-GigabitEthernet1/0/1]int g 1/0/2
[SW2-GigabitEthernet1/0/2]port link-type trunk
[SW2-GigabitEthernet1/0/2]port trunk permit vlan 10 20 30 40 100 200
[SW2-GigabitEthernet1/0/2]quit
[SW2]
[SW3]vlan 10
[SW3-vlan10]vlan 20
[SW3-vlan20]vlan 30
[SW3-vlan30]vlan 40
[SW3-vlan40]vlan 100
[SW3-vlan100]vlan 200
[SW3-vlan200]int g 1/0/1
[SW3-GigabitEthernet1/0/1]port link-type trunk
[SW3-GigabitEthernet1/0/1]port trunk permit vlan 10 20 30 40 100 200
[SW3-GigabitEthernet1/0/1]int g 1/0/2
[SW3-GigabitEthernet1/0/2]port link-type trunk
[SW3-GigabitEthernet1/0/2]port trunk permit vlan 10 20 30 40 100 200
[SW3-GigabitEthernet1/0/2]quit
[SW3]
[SW4]vlan 10
[SW4-vlan10]vlan 20
[SW4-vlan20]vlan 30
[SW4-vlan30]vlan 40
[SW4-vlan40]vlan 100
[SW4-vlan100]vlan 200
[SW4-vlan200]int g 1/0/1
[SW4-GigabitEthernet1/0/1]port link-type trunk
[SW4-GigabitEthernet1/0/1]port trunk permit vlan 10 20 30 40 100 200
[SW4-GigabitEthernet1/0/1]int g 1/0/2
[SW4-GigabitEthernet1/0/2]port link-type trunk
[SW4-GigabitEthernet1/0/2]port trunk permit vlan 10 20 30 40 100 200
[SW4-GigabitEthernet1/0/2]quit
[SW4]
(2)在 SW1 上使用 Smart-link 对上行链路进行备份。要求 Smart-link组1 引用 MST 实例 1 (映射 Vlan10 和 Vlan20)的流量经过 SW2 的链路访问上行设备,而 Smart-link 组 2 引用实例 2(映射 Vlan30 和 Vlan40)的流量经过 SW3 的链路访问上行设备,组 1 和组 2 分别在 Vlan100 和 Vlan200 内发送和接收 Flush 报文
2.1 在SW1上配置 MST域,创建Instance1映射Vlan10、Vlan20 ,Instance2 映射 Vlan30、Vlan40
说明:Smart Link只是调用实例,而不是mstp,不需要配置域名和修订级别
[SW1]stp region-configuration
[SW1-mst-region]instance 1 vlan 10 20
[SW1-mst-region]instance 2 vlan 30 40
[SW1-mst-region]active region-configuration
[SW1-mst-region]dis this
#
stp region-configuration
instance 1 vlan 10 20
instance 2 vlan 30 40
active region-configuration
#
2.2 在所有交换机的 G1/0/1 和 G1/0/2 端口上关闭 STP 特性
[SW1]int g 1/0/1
[SW1-GigabitEthernet1/0/1]undo stp enable
[SW1-GigabitEthernet1/0/1]int g 1/0/2
[SW1-GigabitEthernet1/0/2]undo stp enable
[SW1-GigabitEthernet1/0/2]quit
[SW1]
[SW2]int g 1/0/1
[SW2-GigabitEthernet1/0/1]undo stp enable
[SW2-GigabitEthernet1/0/1]int g 1/0/2
[SW2-GigabitEthernet1/0/2]undo stp enable
[SW2-GigabitEthernet1/0/2]quit
[SW2]
[SW3]int g 1/0/1
[SW3-GigabitEthernet1/0/1]undo stp enable
[SW3-GigabitEthernet1/0/1]int g 1/0/2
[SW3-GigabitEthernet1/0/2]undo stp enable
[SW3-GigabitEthernet1/0/2]quit
[SW3]
[SW4]int g 1/0/1
[SW4-GigabitEthernet1/0/1]undo stp enable
[SW4-GigabitEthernet1/0/1]int g 1/0/2
[SW4-GigabitEthernet1/0/2]undo stp enable
[SW4-GigabitEthernet1/0/2]quit
[SW4]
2.3 在SW1上创建 Smart-link 组1,引用实例1,配置控制VLAN 为 Vlan100,主端口为 G1/0/1,从端口为 G1/0/2
说明:(1)在Smart-link 组里看不到主从端口,只能在端口下查看;(2)添加主从端口也可以在端口下使用[SW1-GigabitEthernet1/0/1]port smart-link group 1 primary 命令。
[SW1]smart-link group 1
[SW1-smlk-group1]protected-vlan reference-instance 1
[SW1-smlk-group1]flush enable control-vlan 100
[SW1-smlk-group1]port GigabitEthernet 1/0/1 primary
[SW1-smlk-group1]port GigabitEthernet 1/0/2 secondary
[SW1-smlk-group1]dis this
#
smart-link group 1
flush enable control-vlan 100
protected-vlan reference-instance 1
#
2.4 在SW1 上创建Smart-link组2,引用实例2,配置控制VLAN 为 Vlan200,主端口为 G1/0/2,从端口为 G1/0/1
[SW1]smart-link group 2
[SW1-smlk-group2]protected-vlan reference-instance 2
[SW1-smlk-group2]flush enable control-vlan 200
[SW1-smlk-group2]port GigabitEthernet 1/0/1 secondary
[SW1-smlk-group2]port GigabitEthernet 1/0/2 primary
[SW1-smlk-group2]dis this
#
smart-link group 2
flush enable control-vlan 200
protected-vlan reference-instance 2
#
2.5 在 SW2,SW3,SW4 的互联端口上配置允许在 Vlan100 和 Vlan200 发送接收 Flush 报文
[SW2]int g 1/0/1
[SW2-GigabitEthernet1/0/1]smart-link flush enable control-vlan 100 200
[SW2-GigabitEthernet1/0/1]int g 1/0/2
[SW2-GigabitEthernet1/0/2]smart-link flush enable control-vlan 100 200
[SW2-GigabitEthernet1/0/2]quit
[SW2]
[SW3]int g 1/0/1
[SW3-GigabitEthernet1/0/1]smart-link flush enable control-vlan 100 200
[SW3-GigabitEthernet1/0/1]int g 1/0/2
[SW3-GigabitEthernet1/0/2]smart-link flush enable control-vlan 100 200
[SW3-GigabitEthernet1/0/2]quit
[SW3]
[SW4]int g 1/0/1
[SW4-GigabitEthernet1/0/1]smart-link flush enable control-vlan 100 200
[SW4-GigabitEthernet1/0/1]int g 1/0/2
[SW4-GigabitEthernet1/0/2]smart-link flush enable control-vlan 100 200
[SW4-GigabitEthernet1/0/2]quit
[SW4]
2.6 把 Vlan1 所在的实例 0 也引用到 Smart-link 组 1 来解决vlan1环路的问题
说明:Smart-link配置完成后,由于只引用了实例1和实例2,并没有引用Vlan1所在的实例0;而SW1的相关接口关闭了STP特性,导致 SW2、SW3和SW4上的STP协议判断没有环路,从而不会阻塞任何端口;而且所有接口都配置为了 Trunk 并默认放行 Vlan1,所以当前网络中 Vlan1 存在逻辑环路
解决vlan1环路的3个办法:
(1)把vlan1映射到instance1或者instance2;
(2)把instance0引用到Smart-link group 1或者Smart-link group 2;
(3)在所有trunk端口上禁止放行vlan1
[SW1]smart-link group 1
[SW1-smlk-group1]protected-vlan reference-instance 0
[SW1-smlk-group1]dis this
#
smart-link group 1
flush enable control-vlan 100
protected-vlan reference-instance 0 to 1
#
使用dis smart-link group all 查看Smart Link配置
可以看到,smart-link组1中,SW1的g1/0/1为主端口,g1/0/2为从端口;smart-link组2中,SW1的g1/0/1为从端口,g1/0/2为主端口。配置基本完成,可以shutdownSW1的g1/0/1端口查看主从端口的角色切换情况,同时PC1pingSW4上的网关,查看丢包情况。
[SW1]dis smart-link group all
Smart link group 1 information:
Device ID : ac2c-0fb6-0100
Preemption mode : None
Preemption delay: 1(s)
Control VLAN : 100
Protected VLAN : Reference Instance 0 to 1
Member Role State Flush-count Last-flush-time
-----------------------------------------------------------------------------
GE1/0/1 PRIMARY ACTIVE 2 23:56:04 2021/05/30
GE1/0/2 SECONDARY STANDBY 0 NA
Smart link group 2 information:
Device ID : ac2c-0fb6-0100
Preemption mode : None
Preemption delay: 1(s)
Control VLAN : 200
Protected VLAN : Reference Instance 2
Member Role State Flush-count Last-flush-time
-----------------------------------------------------------------------------
GE1/0/2 PRIMARY STANDBY 0 NA
GE1/0/1 SECONDARY ACTIVE 2 00:03:33 2021/05/31
说明:
实验结果证明真的1个pack没丢,强于MSTP,Smart Link牛!牛!!牛!!!
2.7 配置当 Smart-link 主链路故障恢复后,端口角色能够自动恢复
[SW1-smlk-group1]preemption mode role
[SW1-smlk-group2]preemption mode role
说明:Smart-link 默认不开启角色抢占,如主链路故障恢复后,仍然保持数据从备份链路传输。需要配置开启抢占模式,才能够使端口角色自动恢复
[SW1]smart-link group 1
[SW1-smlk-group1]preemption mode role
[SW1-smlk-group1]quit
[SW1]smart-link group 2
[SW1-smlk-group2]preemption mode role
[SW1-smlk-group2]dis this
#
smart-link group 2
preemption mode role
flush enable control-vlan 200
protected-vlan reference-instance 2
#
效果测试:关闭SW1的G1/0/1口,Smart-link组1会切换G1/0/2口为活跃链路,再次开启G1/0/1口后,活跃链路会重新切换回G1/0/1口
2.8 配置Monitor Link,当SW2 和SW3的上行链路故障后,也能触发 Smart-link 角色切换
说明:Smart-link 只监听本机端口状态,当本机主端口故障,才会触发角色切换。所以需要在 SW2 和 SW3 上配置 Monitor-link,当SW2、SW3的上行链路故障时,也能触发Smart-link
2.8.1 在 SW2 上创建 Monitor-link 组,配置上行端口为 G1/0/1,下行端口为 G1/0/2
[SW2]monitor-link group 1
[SW2-mtlk-group1]port GigabitEthernet 1/0/1 uplink
[SW2-mtlk-group1]port GigabitEthernet 1/0/2 downlink
[SW2-mtlk-group1]dis this
#
monitor-link group 1
#
2.8.2 在 SW3 上创建 Monitor-link 组,配置上行端口为 G1/0/2,下行端口为 G1/0/1
[SW3]monitor-link group 1
[SW3-mtlk-group1]port GigabitEthernet 1/0/2 uplink
[SW3-mtlk-group1]port GigabitEthernet 1/0/1 downlink
[SW3-mtlk-group1]dis this
#
monitor-link group 1
#
效果测试:在 SW2 关闭 G1/0/2 口或 SW3 上关闭 G1/0/2 口,Monitor-link 会自动关闭 G1/0/1 口来触发 SW1 的 Smart-link 的角色切换。整个配置结束。
附:
关注我,加微信,获取此次配置工程、更多配置案例,也可以承接远程调试各厂商交换机、路由器、防火墙等私活,欢迎各位老板加微信私聊。
文章浏览阅读263次。接下来李宏毅教授介绍了梯度下降的优化方案,如采用动量、RMSProp、Learning Rate Decay、Warm Up等。接下来介绍遇到鞍点时的优化办法。接下来探讨,当optimization不佳的时候,如何判断是遇到了鞍点还是遇到了局部最小值点?而红框是一个二次型,若二次型矩阵是正定或者负定的,则可直接判断出该点是局部最小还是局部最大。本系列用于推导、记录该系列视频中本人不熟悉、或认为有价值的知识点。当然,这个方法不多用,只是介绍,顺便复习有关知识即可。关于多元函数泰勒公式,可参考。
文章浏览阅读4.2k次。vue作为数据驱动,通过数据和视窗view层绑定,操作数据即可触发view层的更新,所以数据绑定尤为重要单层的数据绑定很简单,父组件传值进去,子组件通过props获取,然后通过$emit事件携带参数回调父组件<v-child :vlaue="data" @update="update"></v-child>子组件<template> <inp..._vue多层嵌套数据绑定
文章浏览阅读882次,点赞10次,收藏17次。1.背景介绍人工智能(AI)是一种通过计算机程序模拟人类智能的技术。计算弹性(Cloud Computing)是一种通过互联网提供计算资源的服务。在过去的几年里,计算弹性和人工智能逐渐相互依赖,共同推动了人类思维的发展。本文将从以下几个方面进行探讨:背景介绍核心概念与联系核心算法原理和具体操作步骤以及数学模型公式详细讲解具体代码实例和详细解释说明未来发展趋势与挑战附录常见问题与...
文章浏览阅读5.4k次。/** 视频链接 */竖屏视频#define videoURL1 @"http://yun.it7090.com/video/XHLaunchAd/video01.mp4"#define videoURL2 @"http://yun.it7090.com/video/XHLaunchAd/video02.mp4"#define videoURL3 @"http://yun.it7090.com/v..._竖屏视频测试网站
文章浏览阅读2.6w次,点赞61次,收藏473次。Qt QTableWidget表格控件的用法(非常详细)QTableWidget 是 Qt 提供的一种表格控件(如图 1 所示),类似于我们经常使用的 Excel 表格,可以将数据以表格的方式展示给用户。整个 QTableWidget 表格可以分为 3 个区域:区域 ① 和 ② 都是表头,区域 ① 设置每一行的表头,区域 ② 设置每一列的表头。我们可以自定义两个区域内的表头,比如第一列是各个教程的名称,所以第一列的表头可以修改为“教程名称”;区域 ③ 为数据区,表格中所有的数据都位于此区域,该区域内_qt中的tablewidget控件里面的表格只能上下翻页拉动滑块但是不能左右拉动滑块
文章浏览阅读2k次,点赞3次,收藏9次。如何成为一名黑客? Eric Raymond 身为Jargon File的编辑,常有一些..._如何成为一名黑客
文章浏览阅读577次。计算机中丢失msvcp140.dll无法启动此程序怎么办?msvcp140.dll在哪里_无法启动此程序因为计算机丢失msvcp140d.dll
文章浏览阅读723次。N-LINX 是南科复华信息科技研发的一款同时具备交流耦合程控放大器和支持单、双极性宽带信号输入的高速数据采集卡;板载FPGA具备实时信号处理能力,这些特性使N-LINX成为激光雷达、光电倍增管应用以及光纤传感等领域进行信号采集和分析的理想工具。N-LINX提供快速的PCI Express3.0x8数据传输接口,以及灵活配置的硬件组合,获得性能、功耗和成本之间的佳平衡,尤其适合于OEM应用。南科复华高速数据采集卡N-LINX的应用领域,激光雷达系统;光电倍增管采集系统;雷电定位系统等其他相关领域。_16bit精度
文章浏览阅读1.8k次。基于对比自监督学习的语言模型设计和改进*摘要:最近几年见证了自然语言处理特别是表示学习的预训练模型的蓬勃发展,基于对比学习的自监督模型是其中最火的一种。BERT是近几年来在多种语言处理任务上取得了突出成就,但是它在需要处理句子的任务(例如聚类或语义搜索)效率低下,因为它需要组合地评估许多句子对,这非常耗时。 而Sentence -BERT(SBERT)试图通过学习单个句子的语义表示来解决这一难题,以便可以轻松地访问相似性比较。但是,SBERT接受了带有高质量标记语句对的Corpus培训,这限制了其在标._自然语言改进算法数据讨论
文章浏览阅读459次,点赞10次,收藏7次。Harbor安装
文章浏览阅读379次。问题描述给定一个n个顶点,m条边的有向图(其中某些边权可能为负,但保证没有负环)。请你计算从1号点到其他点的最短路(顶点从1到n编号)。输入格式第一行两个整数n, m。接下来的m行,每行有三个整数u, v, l,表示u到v有一条长度为l的边。输出格式共n-1行,第i行表示1号点到i+1号点的最短路。样例输入3 31 2 -12 3 -13 1 2样例输出-1-2数据规模与约定对于10%的数据,n ..._蓝桥杯最短路径
文章浏览阅读117次。转自:https://www.cnblogs.com/xiao-apple36/p/9603499.html阅读目录xlrd模块实现对excel文件内容读取,xlwt模块实现对excel文件的写入。安装12pip install xlrdpip install xlwtxlrd模块使用excel文档名称为联系人.xls,内容如下:(1) 打开excel文件并获取所有sheet1234567impo..._xlwt模块使用方法