news 2026/4/23 16:06:25

什么是M-LAG

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
什么是M-LAG

文章目录

    • 为什么需要M-LAG
    • 如何实现M-LAG组网
    • M-LAG是如何工作的
    • 如何应用M-LAG技术



M-LAG(Multichassis Link Aggregation Group)提供一种跨设备链路聚合的技术。M-LAG通过将两台接入交换机以同一个状态和用户侧设备或服务器进行跨设备的链路聚合,把链路的可靠性从单板级提升到设备级。同时,由于M-LAG设备可以单独升级,保证了业务流量的稳定性,使得M-LAG技术在数据中心网络广泛应用。


为什么需要M-LAG

近几年来,M-LAG作为一项虚拟化技术被广泛使用,然而M-LAG技术的发展并非一蹴而就。

众所周知,传统的数据中心网络采用设备和链路冗余保证高可靠性。因其链路利用率低和网络维护成本高,数据中心交换机又提出了堆叠技术,将多台交换机虚拟成一台交换机,达到简化网络部署和降低网络维护的目的。

为了满足业务量增大和对网络更高可靠性的要求,于是出现了M-LAG虚拟化技术,通过多台设备间的链路聚合将链路的可靠性从单板级提高到设备级。

STP+VRRP技术

传统的数据中心网络采用STP+VRRP协议来保障链路冗余,满足了基本的可靠性需求。

STP+VRRP技术示意图

但STP+VRRP方案存在如下痛点,已无法满足数据中心流量和规模的快速增长。

  • STP的阻塞链路机制,导致二层链路利用率低。
  • VRRP的主备备份功能,导致三层链路利用率低。
  • Server仅支持以主备方式接入设备。

针对STP+VRRP方案的缺点,先后出现了堆叠和M-LAG虚拟化技术,用于满足业务量增大和对网络更高可靠性的要求。

堆叠和M-LAG虚拟化技术

堆叠和M-LAG实现跨设备链路聚合提高二层链路利用率,M-LAG的双活网关技术提高了三层链路利用率,且服务器可以通过链路聚合实现双活接入设备。

堆叠和M-LAG虚拟化技术示意图

M-LAG和堆叠都可以解决传统数据中心网络的问题,但从业务稳定性考虑,通常选择M-LAG。

堆叠和M-LAG作为广泛运用于数据中心网络接入层的两种横向虚拟化技术,他们都可实现终端的冗余接入,实现链路冗余备份,提高数据中心网络的可靠性和可扩展性。然而,与堆叠技术相比,M-LAG存在更高的可靠性和独立升级的优势。

对比了堆叠和M-LAG的优劣。针对升级过程业务中断时间要求高、对组网可靠性要求高的场景,我们推荐用户使用M-LAG技术,用作数据中心网络终端接入技术。


堆叠和M-LAG的对比

如何实现M-LAG组网

在M-LAG系统中,ServerA、DeviceA和DeviceB进行跨设备链路聚合。DeviceA和DeviceB通过动态交换服务组DFS Group(Dynamic Fabric Service Group)完成M-LAG设备之间的配对,当DeviceA和DeviceB配对成功后会协商出主备关系。在M-LAG正常工作后,DeviceA和DeviceB之间通过peer-link链路实时同步对端信息。而M-LAG的故障检测则主要依赖于双主检测链路(DAD link,Dual-Active Detection link),设备通过双主检测链路定期互发心跳报文。

M-LAG组网示意图

M-LAG组网详细的实现流程包括以下五步:DFS Group配对、DFS Group协商主备、M-LAG成员口协商主备、双主检测和M-LAG信息同步。

M-LAG组网实现过程

M-LAG是如何工作的

M-LAG正常工作场景

  • 已知单播流量转发
    当M-LAG正常工作时,自用户侧发往网络侧的已知单播流量(图中绿色流量)由M-LAG主备设备形成逐流负载分担,共同进行流量的转发。反之,自网络侧发往用户侧的已知单播流量(图中黄色流量)同样由M-LAG主备设备形成逐流负载分担,共同进行流量的转发。


M-LAG已知单播流量转发示意图

  • 组播、广播和未知单播流量转发
    当M-LAG正常工作时,自用户侧发往网络侧的组播、广播和未知单播流量(图中黄色流量)在设备间泛洪扩散。对于可能造成的环路(图中红色),则利用M-LAG的单向隔离机制隔绝由peer-link发往M-LAG成员口的流量。反之,当网络侧发往用户侧的组播、广播和未知单播流量(图中绿色流量)在设备间泛洪扩散时,同样利用单向隔离机制隔绝由peer-link发往M-LAG成员口的流量。


M-LAG组播、广播和未知单播流量转发示意图

M-LAG故障工作场景

  • 上行链路故障
    M-LAG接入普通以太网场景,由于M-LAG主设备的上行链路故障,通过M-LAG主设备的流量均经过peer-link链路进行转发。M-LAG接入三层网络场景下,需要在M-LAG主备设备间配置三层逃生链路,使得到达M-LAG主设备的上行流量通过三层逃生链路到达M-LAG备设备。
    当故障的上行链路恰好为双主检测链路,此时对于M-LAG正常工作没有影响。一旦peer-link也发生故障,M-LAG出现双主冲突,双主检测又无法进行,此时用户侧发往Master的流量会因为没有上行口而被丢弃。针对这个问题我们可以用管理口作为双主检测链路;也可以配置Monitor-link功能,将M-LAG成员口和上行口关联,一旦上行链路故障会联动M-LAG成员口故障,这样就防止了流量的丢失。

上行链路故障示意图

  • M-LAG成员口故障
    当M-LAG成员口故障时,用户侧发往网络侧的流量(图中绿色流量)由正常链路负载分担转发,网络侧不感知故障,流量依然发送给双归设备。由于M-LAG成员口故障,双归场景变为单归场景,此时端口隔离机制放开。当M-LAG成员口故障设备收到从网络侧发往用户侧流量(图中黄色流量),会通过peer-link将流量交给正常工作的M-LAG设备转发到用户侧。
    当M-LAG成员口故障恢复后,M-LAG成员口UP会触发一次M-LAG系统的MAC表项同步,单归场景恢复为双归场景,流量恢复负载分担转发。


M-LAG成员故障示意图

  • peer-link故障
    M-LAG双归接入设备一旦感知peer-link链路状态为Down,会立即通过DAD链路发起一次双主检测。如果在一定时间内未收到对端发布的双主检测报文,则认为对端设备故障。如果收到对端发送的双主检测报文,则认为peer-link故障。
    Peer-link故障时,两台M-LAG设备不能同时转发流量,若同时转发流量会出现广播风暴、MAC漂移等问题。因此M-LAG备设备会将除peer-link口、堆叠口和管理网口之外的所有物理接口Error-down。此时,流量都只会从M-LAG主设备转发。
    Peer-link故障恢复后,peer-link接口UP,M-LAG系统将重新协商。协商完成后,为保障M-LAG的端口隔离机制生效,除M-LAG成员口以外的其他口恢复UP状态,而M-LAG成员口在4分钟后恢复UP状态。

peer-link故障示意图

  • M-LAG设备故障
    M-LAG主设备故障,M-LAG备设备将升级为主,其设备侧Eth-Trunk链路状态仍为UP,流量转发状态不变,继续转发流量。M-LAG主设备侧Eth-Trunk链路状态变为Down,双归场景变为单归场景。
    如果是M-LAG备设备发生故障,M-LAG的主备状态不会发生变化,M-LAG备设备侧Eth-Trunk链路状态变为Down。M-LAG主设备侧Eth-Trunk链路状态仍为UP,流量转发状态不变,继续转发流量,双归场景变为单归场景。
    M-LAG设备故障恢复时,peer-link先UP,DFS状态重新协商,M-LAG成员口恢复UP,流量恢复负载分担。M-LAG主设备恢复后设备状态仍然为主,M-LAG备设备恢复后设备状态仍然为备。

M-LAG设备故障示意图

如何应用M-LAG技术

通过上文我们了解到M-LAG有负载分担流量和备份保护的作用,那么下面我们介绍M-LAG的应用场景。

M-LAG主要应用于将服务器或交换机双归接入二层网络、VXLAN网络和三层网络,以及多级M-LAG。

M-LAG双归接入二层网络

M-LAG双归接入二层网络时,需要将两台M-LAG设备模拟成同一个STP逻辑节点,达到与STP对接破环的目的。

我们可以通过手动配置双归设备为STP网络根桥或配置VSTP协议,将M-LAG两个设备模拟成一个STP节点。其中,VSTP协议的作用主要是在双归设备之间同步STP协议状态,将两台设备以同一个状态对外进行STP协商。

M-LAG双归接入二层网络示意图

M-LAG双归接入VXLAN网络

M-LAG双归接入VXLAN网络时,需要将两台M-LAG设备虚拟成一个VTEP。无论是手工建立隧道还是通过MP-BGP自动建立隧道,DeviceA和DeviceB均用这个虚拟的VTEP的IP和外界建立VXLAN隧道。


M-LAG双归接入VXLAN网络示意图

M-LAG双归接入三层网络

M-LAG双归接入三层网络时,M-LAG双归设备成为二层网络和三层网络的分界点,即承担网关的作用。由于是两台设备做网关,他们对网络侧需要展示相同的网关IP和MAC。在DeviceA和DeviceB上配置相同IP地址和虚拟MAC地址,达到相同网关的目的。

M-LAG双归接入三层网络示意图

多级M-LAG

在网络规模较大场景下,可以在Spine和Leaf同时部署M-LAG来保证链路可靠性。图中灰色底纹中的两台设备组成M-LAG。

多级M-LAG应用场景,不能使用手动配置根桥的方式来进行STP破环,需要通过VSTP协议来同步M-LAG双归设备的STP协议状态信息。


多级M-LAG网络示意图


版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 14:44:49

线性规划优化:单纯形法

原文:towardsdatascience.com/linear-programming-optimization-the-simplex-method-b2f912e4c6fd 到目前为止,本系列已经涵盖了线性规划的基础知识。在本文中,我们将从基本概念转向底层的细节!本文将介绍单纯形法,这是…

作者头像 李华
网站建设 2026/4/23 11:33:50

springboot集成Jasypt实现配置文件启动时自动解密-ENC

SpringBoot本身并没有自动加解密的功能&#xff0c;平时项目启动时&#xff0c;自动解密配置文件里ENC( )包含的数据&#xff0c;原因是使用了Jasypt&#xff08;Java Simplified Encryption&#xff09;。一、前置条件&#xff0c;maven引入依赖<!-- Spring Boot集成Jasypt…

作者头像 李华
网站建设 2026/4/23 8:46:52

SpringBoot+Vue 甘肃非物质文化网站平台完整项目源码+SQL脚本+接口文档【Java Web毕设】

摘要 甘肃非物质文化遗产作为中华优秀传统文化的重要组成部分&#xff0c;承载着丰富的历史文化信息和民族智慧。随着信息技术的快速发展&#xff0c;传统的非遗保护方式已难以满足现代社会的需求&#xff0c;数字化保护与传承成为重要趋势。本项目旨在构建一个基于SpringBoot和…

作者头像 李华
网站建设 2026/4/23 12:58:41

基于IWOA-CNN-BiLSTM-Attention多变量时序预测 Matlab代码

目录 1、代码简介 2、代码运行结果展示 3、代码获取 1、代码简介 [独家原创]基于IWOA-CNN-BiLSTM-Attention多变量时序预测 Matlab代码 改进点&#xff1a;三个(附赠参考文献)--------【如需优化算法(IWOA)测试函数&#xff0c;额外加20】 1、准反向学习---来初始化种群 …

作者头像 李华
网站建设 2026/4/22 19:47:39

扔掉 K8s 和 YAML 后,我的团队上线速度快了 10 倍

我一直在思考一个问题&#xff1a;为什么在容器化如此普及的今天&#xff0c;部署应用依然是一件让许多团队头疼的难事&#xff1f;我们用 AI 加速了“写代码”&#xff0c;但工程师大量的时间&#xff0c;却消耗在了写代码之外的、那些看不见的“摩擦”上。我认为&#xff0c;…

作者头像 李华