H3C路由交换 Smart Link & Monitor Link
Smart Link
- Smart Link 是一种针对双上行组网的解决方案,实现了高效可靠的链路冗余备份和故障后的快速收敛。
- Monitor Link 是对 Smart Link技术的有力补充。Monitor Link用于监控上行链路,以达到让下行链路同步上行链路状态的目的,使Smart Link的备份作用更加完善
为满足用户对链路快速收敛要求的同时又能简化配置,H3C针对双上行组网提出了Smart Link解决方案,实现了主备链路冗余备份,并在主用链路发生故障后使流量能够迅速切换到备用链路上,因此具备较高的收敛速度。
Smart Link的主要特点如下:
- 专用于双上行组网;
- 收敛速度快,可达到亚秒级;
- 配置简单,便于用户操作;
SWD上的2个端口组成了一个Smart Link组,端口分别为主端口和副端口,发送控制VLAN和接收控制VLAN为VLAN10,保护VLAN是VLAN20。
- Smart Link组:Smart Link组也叫灵活链路组,每个组内只包含两个端口,其中一个为主端口,另一个为副端口。正常情况下,只有一个端口处于转发状态,另一个端口被阻塞,处于待命状态。
- 主端口:主(Master)端口是Smart Link组的一种端口角色。当Smart Link组中的两个端口都处于Up状态,主端口将优先进入转发状态。主端口并不一直处于转发状态,当主端口故障,则处于待命状态的副端口将切换为转发状态。 在没有配置角色抢占的情况下,即使主端口链路恢复正常,也只能处于待命状态,直到下一次链路切换。
- 副端口:副(Slave)端口是Smart Link组的另一种端口角色。当Smart Link组中的两个端口都处于UP状态时,副端口保持待命状态。但是副端口并不一直处于待命状态,当主端口发生链路故障,副端口切换到转发状态。
- Flush报文:当Smart Link组发生链路切换时,原有的转发表项将不适用于新的拓扑网络,需要网络中的所有设备进行MAC地址转发表项和ARP/ND表项的更新。Smart Link组通过发送Flush报文通知其他设备进行MAC地址转发表项和ARP/ND表项的刷新操作。
同一个环网中,可能存在多个VLAN的数据流量,Smart Link可以实现流量的负载分担,即不同VLAN流量沿不同VLAN的流量沿不同Smart Link组确定的路径进行转发。
通过把一个端口配置为多个Smart Link组的成员端口(每个Smart Link组的保护VLAN不同),且该端口在不同组中的转发状态不同,这样就能实现不同VLAN的数据流量的转发路径不同。从而达到负载分担的目的。
Monitor Link产生
Monitor Link是一种端口联动方案,主要用于配合 Smart Link 协议的组网应用,监控设备上行链路。根据上行链路的UP/Down状态变化来触发下行链路的Up/Down变化,从而触发下游设备Smart Link协议所控制备份链路的切换。
- Monitor Link 组:也叫监控链路组,每个组由上行链路和下行链路共同组成,成员角色由用户配置决定。其中上行链路和下行链路中都可以有多个成员端口,但每个成员只能属于一个Monitor Link 组。成员端口可以是二层以太网口也可以是二层聚合端口。
- 上行链路:上行链路(Uplink)是Monitor Link组中被监控的链路。当Monitor Link组没有上行链路成员或所有上行链路成员端口都为Down时,Monitor Link组就处于Down状态。而当Montreal Link组只要有一个上行链路成员为Up时,Monitor Link 组就处于UP状态。
- 下行链路:下行链路(DownLink)是Monitor Link组中的受动链路。当Monitor Link组的Up/Down状态变化时,Monitor Link 就相应的改变下行链路成员端口的状态使之与Monitor Link组的状态保持一致。
Monitor Link运行机制
- 当Monitor Link组中的所有上行链路成员端口都为Down时,将强制使其下行链路成员端口都为Down状态。
- 当Monitor Link组中只要有一个上行链路成员端口从Down转为Up状态时,将使下行链路成员端口都恢复为Up状态。
Smart Link & Monitor Link配置
Smart Link组配置命令
第一步:在系统视图下创建Smart Link组,并进入Smart Link组视图
[SW]smart-link group [Group-ID]
第二步:在Smart Link组视图下配置Smart Link组的保护VLAN
[SW-smlk-group1]protected-vlan reference-instance [Instance-ID]
第三步:在Smart Link组视图下开启发送Flush报文功能
[SW-smlk-group1]flush enable [control-vlan]
第四步:
在Smart Link组视图下配置Smart Link组的成员端口
[SW-smlk-group1]port [GigabitEthernet 1/0/1] [Primary | Secondary]
或在接口视图下配置Smart Link组的成员端口
[SW-GigabitEthernet1/0/1]port smart-link group [Group-ID] primary | [Secondary]
第五步:在Smart Link组视图下配置抢占模式为角色抢占模式
[SW-smlk-group1]preemption mode role
检查 Smart Link组状态
[SW]dis smart-link group all
如果要配置某端口为Smart link 组的成员端口(主端口或副端口),先手动关闭该端口。待Smart Link组配置完成后在开启该端口,以避免形成环路,导致广播风暴。请先关闭该端口的STP和RRPP功能,并确保该端口不是聚合成员或业务环回组成员端口。 用户需要配置控制VLAN存在,且Smart Link组的端口允许控制VLAN的报文通过。不要将已配置为控制VLAN的VLAN删除,否则会影响Flush报文的发送。
单Smart Link组配置示例
SWD双上行到SWA,双上行链路进行灵活备份,在VLAN1内发送和接收Flush报文,保护所有VLAN。SWD G1/0/2为主端口,G1/0/1为副端口。SWB和SWC能接收Flush报文。
双 Smart Link组配置示例
SWD进行双上行链路备份,Smart Link组1的引用实例0(绑定vlan1~100)的流量从经过SWB所在的链路通向SWA;而Smart Link组2的引用实例2(绑定VLAN101~200)的流量从经过SWC所在的链路通向SWA。Smart Link组1和组2分别在VLAN10和VLAN101内发送和接收Flush报文。
Monitor Link组配置命令
如果打算配置某端口为Monitor Link组成员端口(即Uplink或Downlink),则需先确保端口不是聚合成员端口和业务环回组成员端口。 一个端口只能属于一个Monitor link组。 建议先配置Monitor Link的上行链路成员,以避免下行链路出现不必要的Down/UP的变化过程。
第一步:创建Monitor Link组
[SWB]monitor-link group [Group-ID]
第二步:
在Monitor Link组视图下配置上行链路成员;
或在接口视图下配置Monitor Link组上行链路成员
[SWB-mtlk-group1]port [接口] uplink #在Monitor Link组视图配置
[SWB-GigabitEthernet1/0/1]port monitor-link group [Group-ID] uplink #在接口视图下配置
第三步:
在Monitor Link组视图下配置下行链路成员;
或在接口视图下配置Monitor Link组下行链路成员
[SWB-mtlk-group1]port [接口] downlink #在Monitor Link组视图配置
[SWB-GigabitEthernet1/0/2]port monitor-link group [Grup-ID] downlink #在接口视图下配置
第四步:查看Monitor Link组状态
[SWB]dis monitor-link group [Group-ID]
Monitor Link组配置示例
相关文章
- 看了 Spring 官网脚手架真香,也撸一个 SpringBoot DDD 微服务的脚手架!
- 握草,这些研发事故30%我都干过!
- 坚持写技术博客一年能有多少收获!
- 握草,你竟然在代码里下毒!
- 数据结构:7种哈希散列算法,你知道几个?
- IDEA Plugin,写一个看股票指数和K线的插件
- 12种 vo2dto 方法,就 BeanUtils.copyProperties 压测最拉胯!【快双11了,别用错喽】
- 以一己之力,生抗美团技术博客!
- 谁说明天上线,这货压根不知道开发流程!
- 2020总结 | 作为技术号主的一年!
- 阿里不允许使用 Executors 创建线程池!那怎么使用,怎么监控?
- 手写线程池,对照学习ThreadPoolExecutor线程池实现原理!
- 数据源太多,报表工具该如何兼容?
- 如何集成开源图表及报表到自研项目中
- 数据批处理速度慢?不妨试试这个
- etcd v3版本生产级集群搭建以及实现一键启动脚本
- 长篇图解etcd核心应用场景及编码实战
- [PostgreSql]生产级别数据库安装要考虑哪些问题?
- 用了这跨操作系统远控软件,我再也不出差了
- spring接口多实现类,该依赖注入哪一个?