M-LAG(Multichassis Link Aggregation Group)即跨设备链路聚合组,是一种实现跨设备链路聚合的机制,如下图所示,将SwitchA和SwitchB通过peer-link链路连接并以同一个状态和Switch进行链路聚合协商,从而把链路可靠性从单板级提高到了设备级。

M-LAG除了具备增加带宽、提高链路可靠性、负载分担的优势外,还具备以下优势:

  • 更高的可靠性:把链路可靠性从单板级提高到了设备级。

  • 简化组网及配置:可以将M-LAG理解为一种横向虚拟化技术,将双归接入的两台设备在逻辑上虚拟成一台设备。M-LAG本身提供了一个没有环路的二层拓扑同时实现冗余备份,极大的简化了组网及配置。

  • 独立升级:两台设备可以分别进行升级,保证有一台设备正常工作即可,对正在运行的业务几乎没有影响。

M-LAG的基本概念

如下图所示,用户侧设备Switch(可以是交换机或主机)通过M-LAG机制与另外两台设备(SwitchA和SwitchB)进行跨设备链路聚合,共同组成一个双活系统。这样可以实现SwitchA和SwitchB共同进行流量转发的功能,保证网络的可靠性。

M-LAG涉及的相关概念,如下表所示。

概念

说明

DFS Group

动态交换服务组DFSGroup(DynamicFabricServiceGroup),主要用于部署M-LAG设备之间的配对。

M-LAG双归设备之间的接口状态,表项等信息同步需要依赖DFS Group协议进行同步。

DFS主设备

部署M-LAG且状态为主的设备,通常也称为M-LAG主设备。

DFS备设备

部署M-LAG且状态为备的设备,通常也称为M-LAG备设备。

说明:

DFS Group的角色区分为主和备,正常情况下,主设备和备设备同时进行业务流量的转发,转发行为没有区别,仅在故障场景下,主备设备的行为会有差别。

双主检测链路

双主检测链路,又称为心跳链路,是一条三层互通链路,用于M-LAG主备设备间发送双主检测报文。用于检查是否出现双主的情况。

双主检测链路可以通过外部网络承载,也可以单独配置一条三层可达的链路来作为双主检测链路。

peer-link链路

peer-link链路是一条直连链路且必须做链路聚合,用于交换协商报文及传输部分流量。

peer-link接口

peer-link链路两端直连的接口均为peer-link接口。接口配置为peer-link接口后,该接口上不能再配置其它业务。

HB DFS主设备

通过心跳链路来协商的状态为主的设备。

HB DFS备设备

通过心跳链路来协商的状态为备的设备。

说明:

在正常情况下,HB DFS主备状态对M-LAG的转发行为不会产生影响,仅用于二次故障恢复场景下,在原DFS主设备或备设备故障恢复且peer-link链路仍然故障时,触发HB DFS状态为备的设备上相应端口Error-Down,避免M-LAG设备在双主情况下出现的流量异常。

M-LAG成员接口

M-LAG主备设备上连接用户侧主机(或交换设备)的Eth-Trunk接口。

M-LAG成员接口角色也区分主和备,与对端同步成员口信息时,状态由Down先变为Up的M-LAG成员接口成为主M-LAG成员口,对端对应的M-LAG成员口为备。

说明:

仅在M-LAG接入组播场景下,M-LAG成员接口的主备角色存在转发行为差异。

M-LAG协议交互原理

如下图所示,M-LAG的建立过程有如下几个步骤:

  1. DFS Group配对
    当设备完成M-LAG配置后,设备首先通过peer-link链路发送DFS Group的Hello报文。当设备收到对端的Hello报文后,会判断报文中携带的DFS Group编号是否和本端相同,如果两台设备的DFS Group编号相同,则两台设备DFS Group配对成功。

  2. DFS Group协商主备
    配对成功后,两台设备会向对端发送DFS Group的设备信息报文,设备根据报文中携带的DFS Group优先级以及系统MAC地址确定出DFS Group的主备状态。
    以SwitchB为例,当SwitchB收到SwitchA发送的报文时,SwitchB会查看并记录对端信息,然后比较DFS Group的优先级,如果SwitchA的DFS Group优先级高于本端的DFS Group优先级,则确定SwitchA为DFS主设备,SwitchB为DFS备设备。如果SwitchA和SwitchB的DFS Group优先级相同,比较两台设备的MAC地址,确定MAC地址小的一端为DFS主设备。

  3. M-LAG成员接口协商主备
    在DFS Group协商出主备状态后,M-LAG的两台设备会通过peer-link链路发送M-LAG设备信息报文,报文中携带了M-LAG成员接口的配置信息。在成员口信息同步完成后,确定M-LAG成员接口的主备状态。
    与对端同步成员口信息时,状态由Down先变为Up的M-LAG成员接口成为主M-LAG成员口,对端对应的M-LAG成员口为备,且主备状态默认不回切,即:当M-LAG成员接口状态为主的设备故障恢复后,先前由备状态升级为主状态的接口仍保持主状态,恢复故障的M-LAG成员接口状态为备。

  4. 双主检测
    协商出M-LAG主备后,两台设备之间会通过双主检测链路按照1s的周期发送M-LAG双主检测报文,一旦设备感知peer-link故障,会按照100ms的周期发送三个双主检测链路报文,加速检测。当两台设备均能够收到对端发送的报文时,双活系统即开始正常的工作。

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

M-LAG防环机制

如下图所示,从接入设备或网络侧到达M-LAG配对设备的单播流量,会优先从本地转发出去,peer-link链路一般情况下不用来转发数据流量。当流量通过peer-link链路广播到对端M-LAG设备,在peer-link链路与M-LAG成员口之间设置单方向的流量隔离,即从peer-link口进来的流量不会再从M-LAG口转发出去,所以不会形成环路,这就是M-LAG单向隔离机制。

单向隔离机制生效前提

当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场景下,设备会默认按下列顺序下发全局ACL配置:

  • Rule1:允许通过源端口为peer-link接口,目的端口为M-LAG成员口的三层单播报文;

  • Rule2:拒绝通过源端口为peer-link接口,目的端口为M-LAG成员口的所有报文;

当M-LAG设备感知到本端的M-LAG成员口状态为Down时,会通过peer-link发送M-LAG同步报文,通知对端设备撤销自动下发的相应的M-LAG成员端口的单向隔离ACL规则组。

M-LAG配置一致性检查

M-LAG运用于企业网中时,面临一个突出的问题:部署企业网数据中心时,通过手工配置、人工比对来保证每一个M-LAG系统两端设备的配置一致性,不仅处理效率低下,更多的是带来诸多潜在的误配置风险。

为了解决上述问题,华为公司提出了M-LAG配置一致性检查的解决方案。该解决方案中,通过M-LAG机制自带的配置一致性检查功能,去订阅M-LAG系统两端设备的各模块配置。通过检查功能返回的比对结果,及时地调整M-LAG两端设备的配置部署,防止组网成环或者数据丢包等问题发生。

M-LAG配置一致性检查将设备配置分为两类,分别为关键配置(Type 1)和一般配置(Type 2)。根据对关键配置检查不一致时的处理方式,M-LAG一致性又分为严格模式(strict)和松散模式(loose)。

  • 关键配置(Type 1):如果在M-LAG系统两端设备不一致,会导致成环、状态正常但长时间丢包等问题。

    严格模式下,如果M-LAG两端设备存在Type 1配置不一致,会导致M-LAG备设备上成员口处于ERROR DOWN状态,且触发设备对Type 1类型配置检查不一致的告警。

    松散模式下,如果M-LAG两端设备存在Type 1配置不一致,则会触发设备对两种类型配置检查不一致的告警。

  • 一般配置(Type 2):如果在M-LAG系统两端设备不一致,可能会导致M-LAG运行状态异常。与Type 1类型的配置相比较而言,Type 2类型的配置问题更容易被发现,对组网环境的影响也相对较小。

    无论处于何种模式,如果M-LAG两端设备存在以下Type 2配置不一致,只会触发设备对两种类型配置检查不一致的告警。

M-LAG正常工作场景流量转发

单播流量转发

单播流量转发包括二层已知单播转发和三层单播转发。如下图所示,M-LAG双活系统在接入设备双归接入场景下的已知单播流量转发:

对于南北向单播流量,在M-LAG接入侧,M-LAG的成员设备接收到接入设备通过链路捆绑负载分担发送的流量后,共同进行流量转发。到达M-LAG主备设备发往网络侧的流量则根据路由表转发流量。

对于东西向单播流量,在全部组建M-LAG,没有孤立端口的场景下,二层流量通过M-LAG本地优先转发,三层流量通过双活网关转发,都不经过peer-Link链路,直接由M-LAG主备设备转发至对应成员口。

组播流量转发

M-LAG接入二层网络

M-LAG上行接入二层网络,那么二层网络必须要保证发往M-LAG的流量只有一份,否则会有成环的风险。如下图所示,假设右侧M-LAG上行接口被STP协议阻塞:

  • 在ServerB作为组播源、ServerA作为组播组成员时,M-LAG主备都可以转发组播流量,在网络侧只引流一份流量的情况下,接收到流量的设备直接转发到本地的M-LAG成员口

  • 在ServerA作为组播源、ServerB作为组播组成员时,组播源的流量通过负载分担发送至M-LAG主备设备,由于右端M-LAG设备的上行接口被阻塞,那么右端设备的组播出接口指向peer-link链路。

如果本地M-LAG成员口故障,则组播流量如下图所示会从peer-link绕行,转发至M-LAG系统另一台设备的成员口进行转发。

M-LAG接入三层网络

M-LAG上行接入三层网络,M-LAG系统成员设备需要支持二三层组播混跑。如下图所示,M-LAG双活系统在接入设备双归接入场景下的组播流量转发:

在ServerB作为组播源、ServerA作为组播组成员时,M-LAG主备设备都从组播源引流,且按照以下规则由M-LAG主备设备在本地查找组播表后将流量负载分担转发至组播组成员:

  • 若组播组地址最后一位为奇数(例如225.1.1.1或FF1E::1、FF1E::B),则由M-LAG成员口状态为主的设备转发至组播组成员;

  • 若组播组地址最后一位为偶数(例如225.1.1.2或FF1E::2、FF1E::A),则由M-LAG成员口状态为备的设备转发至组播组成员;

在ServerA作为组播源、ServerB作为组播组成员,且M-LAG设备无下挂其他组播组成员时,组播源发出的流量负载分担到M-LAG系统主备设备,收到流量后在本地查找组播表将报文发送出去。

区别于单播流量,M-LAG系统在转发组播流量时需要在M-LAG两台设备间配置一条独立三层链路。因为在故障场景下,可能出现网络侧只有单链路上行,此时M-LAG主备设备间部署一条独立的单独L3链路可以用来传输组播报文。如下图所示,在网络侧链路连接M-LAG备设备场景下,由peer-link接口转发的组播报文由于单向隔离无法转发至指定的M-LAG成员口,组播地址最后一位为奇数的组播报文是无法通过peer-link链路绕行至M-LAG成员口状态为主的设备,只能由独立三层链路转发至该设备。

广播流量转发

M-LAG接入二层网络

M-LAG上行接入二层网络,那么二层网络必须要保证发往M-LAG的流量只有一份,否则会有成环的风险。此处以M-LAG主设备的转发为例,如下图所示,假设右侧M-LAG上行接口被STP协议阻塞,M-LAG主设备收到广播流量后向各个下一跳转发,当流量到达M-LAG备设备时,由于peer-link与M-LAG成员接口存在单向隔离机制,到达备设备的流量不会向S-1转发。

M-LAG接入三层网络

以M-LAG备设备的转发为例,如下图所示,M-LAG备设备收到广播流量后向各个下一跳转发,当流量到达M-LAG主设备时,由于peer-link与M-LAG成员接口存在单向隔离机制,到达主设备的流量不会向S-1转发。

M-LAG故障场景流量转发

上行链路故障

如下图所示,M-LAG接入普通以太网场景,由于M-LAG主设备的上行链路故障,通过M-LAG主设备的流量均经过peer-link链路进行转发。

当故障的上行链路恰好为双主检测链路,此时对于M-LAG正常工作没有影响。一旦peer-link也发生故障,M-LAG出现双主冲突,双主检测又无法进行,则会出现丢包现象。

M-LAG接入三层网络场景下,需要在M-LAG主备设备间配置直连三层链路,使得到达Master设备的上行流量通过三层逃生链路到达Backup设备。

下行链路故障

当下行M-LAG成员口故障时,DFS Group主备状态不会变化,但如果故障M-LAG成员口状态为主,则备M-LAG成员口状态由备升主,流量切换到该链路上进行转发。发生故障的M-LAG成员口所在的链路状态变为Down,双归场景变为单归场景。

在M-LAG主成员口故障的同时,主设备学习到的S-1侧MAC不会被清除,直接刷新MAC表的出端口指向peer-link口,实现流量快速切换,避免未知单播泛洪。

在故障M-LAG成员口恢复后,MAC表的出端口从peer-link指向M-LAG成员口,实现流量快速切换,避免未知单播泛洪。同时,为避免M-LAG主备成员状态切换造成的某些协议振荡,设备支持M-LAG成员口状态不再回切,即由备升主的M-LAG成员口状态仍为主,原主M-LAG成员口在故障恢复后状态为备。

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备设备恢复后设备状态仍然为备。

心跳链路故障

心跳链路是用来处理peer-link故障时检测M-LAG系统是否是双主,若心跳链路承载三层网络的业务,心跳故障对设备流量转发会有影响。若心跳链路承载二层业务或不承载三层业务,心跳故障对设备流量转发无影响。两种情况都会产生心跳故障告警。心跳链路故障恢复后,产生心跳故障恢复告警。

peer-link故障

缺省情况下,M-LAG应用在普通以太网络、VXLAN网络或IP网络的双归接入,peer-link故障但双主检测心跳状态正常时,会触发M-LAG备设备上除逻辑端口、管理网口、peer-link接口和堆叠口以外的其他接口处于Error-Down状态。

peer-link故障恢复时,处于Error Down状态的M-LAG接口默认将在240s后自动恢复为Up状态,处于Error Down状态的其它接口将立即自动恢复为Up状态。

M-LAG二次故障(peer-link故障+M-LAG设备故障)

如下图中2所示,在M-LAG应用于双归接入时,当peer-link故障但双主检测心跳状态正常会触发DFS备设备上某些端口处于Error-Down状态,此时DFS状态为主的设备继续工作。在该场景的基础上,若DFS状态为主的设备由于断电、主控板损坏、整机故障重启等其他故障导致主设备不能工作时,由下图中3所示,此时M-LAG主备设备皆不能正常转发流量。

在该场景下,可以借助M-LAG二次故障增强功能来实现该故障场景下业务不中断的可靠性要求。在上述场景基础下,若M-LAG已使能二次故障增强功能,则DFS状态为备的设备会借助M-LAG双主检测机制感知到DFS主设备故障(在一定周期内接收不到任何的M-LAG双主检测心跳报文)后,将升级为DFS主设备并恢复设备上处于ERROR DOWN状态的端口为Up状态,继续转发流量。

若原DFS状态为主的设备故障恢复后但peer-link故障仍故障时:

  1. 若配置LACP M-LAG的系统ID在一定时间内切换为本设备的LACP系统ID,则在LACP协商时接入侧仅选择上行链路中的一条链路为活动链路,实际流量转发正常。
  2. 若配置LACP M-LAG的系统ID为缺省情况,即系统ID不回切,M-LAG两台设备均使用同一系统ID来与接入侧设备协商,链路均能被选中成为活动链路。该场景下,由于peer-link链路仍然故障,M-LAG两端无法同步对端的优先级、系统MAC等信息,形成M-LAG两台设备双主的情况,可能导致流量异常。此时,如下图所示,可以借助心跳链路报文中携带必要的DFS Group协商主备的必要信息(如DFS Group优先级、系统MAC等)来协商M-LAG两台设备的HB DFS主备信息,触发HB DFS状态为备的设备上某些端口处于ERROR DOWN状态,HB DFS状态为主的设备继续工作。

跨设备链路聚合 M-LAG相关推荐

  1. 华为M-LAG跨设备链路聚合技术理论讲解

    目录 为什么会出现M-LAG M-LAG基本概念 M-LAG建立过程 M-LAG的协议兼容性 M-LAG的防环机制 M-LAG正常工作流量转发 单播流量转发 组播流量转发 广播流量转发 M-LAG故障 ...

  2. M-LAG—跨设备链路聚合组

    目录 一.M-LAG简介 二.M-LAG基本概念 1)M-LAG 基本概念 三.M-LAG 协议交互原理 1)DFS Group配对 2)DFS Group协商主备 3)M-LAG成员接口协商主备 4 ...

  3. M-LAG跨设备链路聚合组

    目录 定义 目的 M-LAG的基本概念 M-LAG防环机制 M-LAG故障场景流量转发 配置交换机双归接入IP网络示例(V-STP方式) 定义 M-LAG(Multichassis Link Aggr ...

  4. 跨设备链路聚合_路由与交换技术(华为设备)第五讲---链路聚合

    前言: 随着网络规模不断扩大,用户对骨干链路的带宽和可靠性提出了越来越高的要求.在传统技术中,常用更换高速率的接口板或更换支持高速率接口板的设备的方式来增加带宽,但这种方案需要付出高额的费用,而且不够 ...

  5. 跨设备链路聚合_企业核心经常用到的链路聚合技术,原理与实现

    兄弟们好,又到了跟大家见面的时候了,这次向大家介绍的是链路聚合协议LACP,上次我们只说了链路聚合的手工模式,这次来说一下另一种模式叫做LACP静态. LACP应用场景 我们看上面这张图,SW1和SW ...

  6. 跨设备链路聚合 M-LAG配置案例

    组网需求 如下图所示,通过配置M-LAG双归接入IP网络可以满足以下要求: ​当一条接入链路发生故障时,流量可以快速切换到另一条链路,保证可靠性. 为了高效利用带宽,两条链路同时处于active状态, ...

  7. 华为设备链路聚合(LACP模式)

    配置要求: SW1与SW2通过G0/0/1.G0/0/2.G0/0/3的链路聚合进行连接,链路聚合要有两条活动链路,一条冗余链路.在SW1上配置vlan10:1.1.1.254/24的网关,并将vla ...

  8. H3C设备链路聚合(LACP/PAGP)

    H3C链路聚合 一.为什么会有链路聚合? 1.为了节省成本,就不用了换一个千兆交换机,而是选择将几个百兆接口捆绑到一起来实现增加数据吞吐量的效果: 2.链路聚合可以起到增加带宽及负载的作用提高链路可靠 ...

  9. 链路聚合的手工模式和LACP模式

    链路聚合的手工模式和LACP模式 链路聚合可以提高可靠性,链路带宽的利用,还可以实现负载均衡,如果单线链路故障不会影响到整体的数据转发,除非所有都down了 手工模式: 所有链路都会参与流量转发,设备 ...

最新文章

  1. DNS智能解析的另类使用 让搜索引擎更快更好的收录您的网站
  2. java并发编程之美-阅读记录2
  3. QT乱码总结7.编码测试和总结二
  4. HDU - 6071 Lazy Running 同余最短路 + 分层
  5. pwn环境搭建_[原创]CTF_Pwn环境搭建
  6. 关于各类图形CAD底层内核
  7. (4)华为ensp--RIP基本配置
  8. 求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf输入数据,输出计算结果
  9. FLV player 在线播放器【www.lantianye3.top】
  10. HDU 5285:wyh2000 and pupil
  11. 看不懂简明python教程_简明python教程的读书笔记(一)
  12. 遥感智能解译相关产品及公司
  13. Lesson 52 A pretty carpet 漂亮的地毯
  14. 移动端用户放大字体导致样式出问题
  15. excel解析html代码,使用excel vba解析HTML的错误
  16. poj-2905 The Pilots Brothers' refrigerator
  17. 最近在关注冰岩作坊自己写的一个ftp的搜索
  18. html文件用wps打开,wps文件如何打开?直接打开wps文件的操作技巧
  19. win10无法访问xp计算机,XP系统访问Win10打印机被拒绝的解决方法
  20. Python解决鸡兔同笼

热门文章

  1. 【考研政治】2021肖八整理(时政部分)
  2. AMBA APB总线协议(APB4)
  3. 嵌入式硬件电路设计基本功
  4. OpenStack-M版(Mitaka)搭建基于(Centos7.2)+++十、Openstack对象存储服务(swift)中
  5. 二叉排序树和平衡二叉树
  6. Java 将Word保存为WPS和WPT格式
  7. python能解决什么数据问题_浅谈Python数据分析
  8. mosquitto入门教程
  9. 牛客OR36 链表的回文结构
  10. android简单实现表格布局,Android开发中TableLayout表格布局