数据中心横向虚拟化 M-LAG 技术

M-LAG

一、M-LAG概述

1、M-LAG定义:M-LAG(Multichassis Link Aggregation Group)是跨设备链路聚合组。可以将两台设备进行跨设备链路聚合,从而把链路的可靠性从单板机提高到了设备级。

在这里插入图片描述

2、优势:

(1)、M-LAG系统的两台设备在逻辑上被虚拟成一台设备,它本身提供了一种没有环路的二层拓扑,逻辑组网更清晰,链路利用更充分。
(2)、M-LAG两台设备可以独立升级,实现效率高,业务秒级中断的目标。

因此,针对对组网可靠性要求高,对升级过程业务中断时间要求高的场景推荐使用M-LAG。
3、术语:
(1)、LAG:Link Aggregation Group 链路端口组
(2)、M-LAG:Multichassis Link Aggregation Group 跨设备链路聚合组
(3)、DFS-Group:动态交换服务组DFS Group(Dynamic Fabric Service Group),进行M-LAG设备配对,协商出M-LAG主备设备和M-LAG成员口的主备状态,同时进行表项同步。

①、DFS-Group id:只能为1
②、DFS主master:通过peer-link交互信息,选择主设备
③、DFS备standby:通过peer-link交互信息,选择备设备
正常转发:主备管控双活,转发双活
故障发生(分裂):peer-link故障,主正常转发,备的业务接口error-down
故障恢复:主还是主,备还是备,主备抢占吗,保证主转发
④、peer-link:对等体链路,必须是LAG(业内一般以Eth-trunk0作为M-LAG)2层,默认允许所有vlan
用途:
a、管控:交换dfs-group信息,同步表项(arp表项,mac表项)
b、转发:当上行流量down,跨框流量转发
⑤、DAD链路:双主检测链路(HB:heart beat 心跳),必须是三层链路
三层接口指:
a、MGMT接口(管理口)
b、物理接口
c、Lookback 接口
建议使用lookback接口或管理口
用途:当peer-link链路down了,进行双主检测

(4)、M-LAG的成员接口:主备设备上连接用户侧的主机(或交换设备)的Eth-Trunk接口为M-LAG的成员接口

①、选举m-lag成员的主接口:端口谁先up,谁就是主,不抢占。
②、针对单播流量:没有影响,双活
③、针对三层组播流量:如果是奇数目的组IP,走主。如果是偶数目的组IP,走备。

在这里插入图片描述

二、M-LAG基本建立过程

1、M-LAG基本建立过程工作模式

在M-LAG基本建立过程中,根据主备M-LAG成员口产生方式的不同,将M-LAG工作模式分为2种:双活模式主备模式

2、双活模式下M-LAG的建立过程

双活模式:在两台独立的设备DeviceA和DeviceB上,建立一个跨设备的Eth-Trunk与用户侧设备DeviceC的普通Eth-Trunk并通过M-LAG机制进行对接,共同组成一个M-LAG系统。
在这里插入图片描述

(1)、DFS Group配对

DFS Group是动态交换服务组,主要用于实现DeviceA和DeviceB设备之间的配对。当M-LAG两端设备完成配置后,设备首先通过peer-link链路(必须为聚合链路)发送DFS Group的Hello报文。当设备收到对端的Hello报文后,会判断报文中携带的DFS Group编号是否和本端相同,如果两台设备的DFS Group编号相同,则两台设备DFS Group配对成功。

(2)、DFS Group协商主备

①、 DFS Group配对配对成功后,两台设备会向对端发送DFS Group的设备信息报文,设备根据报文中携带的DFS Group优先级以及系统MAC地址确定出DFS Group的主备状态。
②、DFS Group角色分为:DFS主设备(M-LAG主设备)和DFS备设备(M-LAG备设备)
③、主备设备选举:a.优选优先级大的(默认优先级为100) b.如果优先级相同,优选MAC地址小的

(3)、M-LAG成员接口协商主备

①、 在DFSGroup协商出主备状态后,M-LAG的两台设备会通过peer-link链路发送M-LAG设备信息报文,报文中携带了M-LAG成员口的配置信息。在成员口信息同步完成后,确定M-LAG成员口的主备状态。
②、成员接口的主备选举:a.优选先UP的接口为主成员接口,后UP的接口为备成员接口
③、成员接口的主备不抢占:如果M-LAG成员口状态为主的设备故障,则对端对应的M-LAG成员口从备状态升级为主状态;当M-LAG成员口状态为主的设备故障恢复后,先前由备状态升级为主状态的接口仍保持主状态,恢复故障的M-LAG成员口状态为备。

(4)、双主检测

①、协商出M-LAG主备设备后,两台设备之间会通过双主检测链路(心跳链路,又称为DAD link,是一条三层互通链路。)
②、检测周期:1s发送一次M-LAG双主检测报文。 一旦设备感知peer-link故障,会在双主检测延时时间(缺省值为3s)后,按照200ms的周期发送三个双主检测链路报文进行加速检测,防止误触发双主加速检测,导致一端M-LAG设备端口被Error-Down。
③、注意事项:双主检测链路和peer-link链路不能共用,若双主检测报文通过peer-link链路转发,peer-link链路Down时,双主检测不能进行,无法触发一端M-LAG设备端口Error Down,可能会导致流量转发异常。

(5)、M-LAG同步信息

正常工作后,两台设备之间会通过peer-link链路发送M-LAG同步报文实时同步对端的信息,M-LAG同步报文中包括MAC表项、ARP表项、ND表项等,发送M-LAG成员口的状态,这样任意一台设备故障都不会影响流量的转发,保证正常的业务不会中断。

3、主备模式下M-LAG的建立过程

主备模式:在两台独立的设备DeviceA和DeviceB上,建立一个跨设备的Eth-Trunk与用户侧服务器Server并通过M-LAG机制进行对接,共同组成一个M-LAG系统。
在这里插入图片描述
与双活模式类似,主备模式下M-LAG的建立过程也分为如下几个步骤:
(1)、DFS Group配对
(2)、DFS Group协商主备
(3)、M-LAG成员接口选举主备
(4)、双主检测
(5)、M-LAG同步信息

与双活模式的唯一区别:

主备M-LAG成员口的产生方式上与双活模式不同:M-LAG设备根据服务器主网卡发出的协议报文(即选主报文)进行M-LAG成员口的主备选举,与主网卡对接的M-LAG成员口成为主M-LAG成员口,对端对应的M-LAG成员口为备M-LAG成员口(即与备网卡对接的M-LAG成员口成为备M-LAG成员口)。

三、M-LAG防环机制

1、防环机制

M-LAG本身具有防环机制,可以构造出一个无环网络。当流量通过peer-link链路广播到对端M-LAG设备,在peer-link链路与M-LAG成员口之间设置单方向的流量隔离,即从peer-link口进来的流量不会再从M-LAG口转发出去,所以不会形成环路,这就是M-LAG单向隔离机制。

2、单向隔离机制

(1)、单向隔离机制生效前提:

当M-LAG两台设备协商出M-LAG主备后,系统通过M-LAG同步报文判断接入设备是否双活接入:

①、若接入设备双活接入M-LAG系统,则M-LAG两台设备下发对应M-LAG成员口的单向隔离配置,来隔离由peer-link口发往M-LAG成员口的流量。
②、若接入设备单归接入M-LAG系统,则M-LAG系统不会下发对应M-LAG成员口的单向隔离配置。
③、主备模式下,M-LAG系统不会下发对应M-LAG成员口的单向隔离配置。

(2)、单向隔离机制实现原理

在设备双活接入M-LAG场景下,设备通过端口隔离功能实现peer-link接口与M-LAG成员口之间的单向隔离,隔离由peer-link接口发往M-LAG成员口的广播等泛洪流量。
M-LAG两台设备会自动下发对应M-LAG成员口的单向隔离配置,无需用户手工配置,同一端口隔离组内的端口之间无法互通。当M-LAG设备感知到本端的M-LAG成员口状态为Down时,会通过peer-link发送M-LAG同步报文,通知对端设备自动将相应的M-LAG成员口从隔离组中清除。

四、M-LAG缺省配置

参数缺省值
LACP M-LAG的系统优先级32768
LACP M-LAG的系统ID设备的以太口MAC地址
M-LAG成员接口上报Up状态的延时时间240秒
M-LAG成员接口延迟自动恢复时间0秒
peer-link接口不允许通过的VLAN所有VLAN都允许通过
DFS Group的优先级100
LACP M-LAG的系统ID延迟切换时间0秒

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

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

相关文章

UE 打包报错 MarketplaceRules.dll‘ does not exist.

Precompiled rules assembly /Users/unity/Library/Application Support/Epic/UnrealEngine/Intermediate/Build/BuildRules/MarketplaceRules.dll does not exist. Window下找到该DLL 拷到Mac对应的目录下即可。如没有则需要手动创建相应的文件夹 /Users/unity/Library/Appl…

# 全面解剖 消息中间件 RocketMQ-(5)

全面解剖 消息中间件 RocketMQ-(5) 一、RocketMQ :过滤消息的两种方式 1、Tag 过滤 在大多数情况下,TAG 是一个简单而有用的设计,其可以来选择您想要的消息。 例如: DefaultMoPushconsumer consumer new DefaultM…

文件夹突变解析:类型变文件的数据恢复与预防

在数字化时代,文件夹作为我们存储和组织数据的基本单元,其重要性不言而喻。然而,有时我们可能会遇到一种令人困惑的情况——文件夹的类型突然变为文件,导致无法正常访问其中的内容。这种现象不仅会影响我们的工作效率,…

[MySQL最详细的知识点]

MySQL 关系型数据库以一行作为一个记录,列数据库以一列为一个记录一行是一个记录,一列是一个字段一行是一个实体,一列是一个属性 MySQL引擎: MySQL引擎:可以理解为,MySQL的“文件系统”,只不过功能更加强大。​MySQL引擎功能:除…

mysql 分区

目标 给一个表(半年有800万)增加分区以增加查询速度 约束 分区不能有外键否则会报错 https://blog.csdn.net/yabingshi_tech/article/details/52241034 主键 按照时间列进行分区 https://blog.csdn.net/winerpro/article/details/135736454 参看以…

安全测试 之 常见安全漏洞:CORS

1. 背景 安全测试定义:安全测试,是在软件产品开发基本完成时,验证产品是否符合安全需求定义和产品质量标准的过程。目的:通过对系统进行全面的脆弱性安全测试,发现系统未知的安全隐患并提出相关建议,确保系…

BUAA操作系统万字笔记-课堂笔记-期末考试-考研必备-北航961系列

文章目录 1 概论1.1 CPU漏洞攻击1.2 操作系统简史1.2.1 体系结构1.2.2 系统发展 1.3 操作系统基本实现机制1.3.1 异常:陷阱和中断 2 系统引导3 内存管理3.1 预备知识-链接与装载3.2 存储管理基础3.2.1 存储器管理目标3.2.2 存储器硬件发展3.2.3 存储管理的功能3.2.4…

【python】成功解决“TypeError: not enough arguments for format string”错误的全面指南

成功解决“TypeError: not enough arguments for format string”错误的全面指南 一、引言 在Python编程中,TypeError: not enough arguments for format string错误是一个常见的字符串格式化问题。这个错误通常发生在使用str.format()方法时,提供的参数…

frp之XTCP实现内网穿透家用电脑远程桌面公司电脑

官网XTCP介绍 《XTCP介绍》 实现图 fprs.toml # frps 服务端口(不填,则默认:7000) bindPort 81 auth.token "token 令牌"公司电脑frpc.toml serverAddr "frps公网服务器域名或ip" serverPort frps 服…

Java图形用户界面程序设计所需要使用的工具

Java图形用户界面程序设计 前言一、图形用户界面程序设计的概述GUI概述Java GUI技术的发展 二、AWT概述简介AWT继承体系总结 三、Swing概述Swing概述优势Swing的特征总结 前言 推荐一个网站给想要了解或者学习人工智能知识的读者,这个网站里内容讲解通俗易懂且风趣…

Python程序设计 身份证号的奥秘

第1关:判断性别 通过身份证的第17位也就是倒数第二位的数字可以辨别该身份证所属人的性别,奇数为男性,偶数为女性。 任务:输入身份证号,第17位若是偶数,输出男性,否则输出女性 如何截取字符串的一个字符 如何判断一个…

机器视觉检测--相机

一,相机就是CCD么? 通常,我们把相机都叫作CCD,CCD已经成了相机的代名词。其实很可能正在使用的是CMOS。CCD以及CMOS都称为感光元件,都是将光学图像转换为电子信号的半导体元件。他们在检测光时都采用光电二极管&#…

AI降痕:让AI代写的论文,也能成为原创佳作

随着人工智能技术的突飞猛进,AI生成内容(AIGC)已被广泛用于学术论文撰写中,提高效率同时也带来了原创性的挑战。面对日益严格的学术审查,一个突出的问题是:使用AI代写的论文能否通过内容检测?因…

【Postman接口测试】第四节.Postman接口测试项目实战(中)

文章目录 前言五、Postman断言 5.1 Postman断言介绍 5.2 响应状态码断言 5.3 包含指定字符串断言 5.4 JSON数据断言六、参数化 5.1 Postman参数化介绍 5.2 Postman参数化实现 5.3 针对项目登录接口参数化实现 总结 前言 五、Postman断言 5.1 Postman断言介…

【STM32之FreeRTOS(二)】任务的创建与删除

【STM32之FreeRTOS(二)】任务的创建与删除 文章目录 【STM32之FreeRTOS(二)】任务的创建与删除一、什么是任务?二、任务创建与删除相关函数1.任务创建与删除相关函数2.任务动态创建与静态创建的区别3.xTaskCreate 函数原型4.vTaskDelete 函数原型 三、实操(同时控制…

面试题:谈谈你对 JS 原型链的理解

面试题:谈谈你对 JS 原型链的理解 JavaScript 是一种基于原型的语言,即每个对象都拥有一个原型对象,对象通过其原型对象继承方法和属性。原型对象也有其原型对象,依次类推,就构成了原型链。当对象访问一个属性或方法后…

BioTech - 计算大量 蛋白质结构预测结果 的聚类中心(Cluster)

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/139419653 CASP16 的 H0215 样本,聚类之后,10个类别的最高置信度结果。 Agglomerative Clustering,即凝聚层次聚类,属于层次聚类算法,通过逐步合并或聚集数据点,…

Qt-demo高级感无边框窗口、美化基础控件

展示: 代码实现: // 鼠标按下事件(记录拉伸窗口或移动窗口时的起始坐标(左上角)) void framelessWidget::mousePressEvent(QMouseEvent *event) {if(event->button() Qt::LeftButton){mousePressed true; #if (QT_VERSION &…

傅立叶变换矩阵的频谱响应

傅立叶变换矩阵的频谱响应 线性变换可以用矩阵表示,傅立叶变换是一种线性变换,因此也可以使用矩阵表示。具体可以参考:离散傅立叶变换和线性变换的关系:什么是线性空间? 1、傅立叶矩阵 X [ k ] ∑ n 0 N − 1 x [ …

【EI会议/稳定检索】2024年电机与电气控制国际会议(ICMEC 2024)

2024 International Conference on Motor and Electrical Control 2024年电机与电气控制国际会议 【会议信息】 会议简称:ICMEC 2024 截稿时间:(以官网为准) 大会地点:中国厦门 会议官网:www.meciac.com 会议邮箱&…