M-LAG技术详解

M-LAG简介

定义

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

图1 M-LAG示意图

M-LAG技术详解_第1张图片

 

目的

M-LAG作为一种跨设备链路聚合的技术,除了具备增加带宽、提高链路可靠性、负载分担的优势外,还具备以下优势:

  • 更高的可靠性

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

  • 简化组网及配置

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

  • 独立升级

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

M-LAG的基本概念

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

图1 M-LAG基本拓扑

M-LAG技术详解_第2张图片

 

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

表1 M-LAG基本概念

概念

说明

DFS Group

动态交换服务组DFS Group(Dynamic Fabric Service Group),主要用于部署M-LAG设备之间的配对,M-LAG双归设备之间的接口状态,表项等信息同步需要依赖DFS Group协议进行同步。

DFS主设备

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

DFS备设备

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

说明:

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

双主检测链路

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

说明:

正常情况下,双主检测链路不会参与M-LAG的任何转发行为,只在故障场景下,用于检查是否出现双主的情况。双主检测链路可以通过外部网络承载(比如,如果M-LAG上行接入IP网络,那么两台双归设备通过IP网络可以互通,那么互通的链路就可以作为双主检测链路)。也可以单独配置一条三层可达的链路来作为双主检测链路(比如通过管理口)。

peer-link接口

peer-link链路两端直连的接口均为peer-link接口。

peer-link链路

peer-link链路是一条直连链路且必须做链路聚合,用于交换协商报文及传输部分流量。接口配置为peer-link接口后,该接口上不能再配置其它业务。

为了增加peer-link链路的可靠性,推荐采用多条链路做链路聚合。

HB DFS主设备

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

说明:

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

HB DFS备设备

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

说明:

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

M-LAG成员接口

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

为了增加可靠性,推荐链路聚合配置为LACP模式。

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

说明:

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

 

M-LAG协议交互原理

基于M-LAG组成的双活系统提供了设备级的可靠性,那么M-LAG是如何建立的?如图 M-LAG的建立所示,M-LAG的建立过程有如下几个步骤:

图1 M-LAG的建立

M-LAG技术详解_第3张图片

 

  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主设备。

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

  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成员接口状态为备,此处与DFS Group协商主备状态不一致。

  4. 双主检测

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

    在DFS Group配对失败或者peer-link故障场景下,双主检测链路用于检查是否出现双主的情况。双主检测链路可以通过外部网络承载(比如,如果M-LAG上行接入IP网络,那么两台双归设备通过IP网络可以互通,那么互通的链路就可以作为双主检测链路)。也可以单独配置一条三层可达的链路来作为双主检测链路(比如通过管理口)。

    1. 双主检测链路通过管理网口互通,DFS Group绑定的管理网口IP地址要保证可以相互通信,管理网口下绑定VPN实例,保证双主检测报文与业务流量隔离。

    2. 双主检测链路通过业务网络互通,DFS Group绑定的IP地址要保证可以三层互通。如果peer-link接口之间建立路由邻居关系,则业务网络双主检测报文会直接通过最优路由经peer-link链路传输。一旦peer-link故障,路由收敛期间,双主检测报文通过次优路径传输到对端,双主检测时间会慢0.5秒或者1秒的时间。

  5. M-LAG同步信息

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

    用户可以通过display fei m-lag synchronization packet statistics查看支持的具体报文类型。

M-LAG应用场景

M-LAG特性主要应用于将服务器或交换机双归接入普通以太网络、TRILL(Transparent Interconnection of Lots of Links)、VXLAN(Virtual eXtensible Local Area Network)和IP网络。一方面可以起到负载分担流量的作用,另一方面可以起到备份保护的作用。由于M-LAG支持多级互联,M-LAG的组网可以分为单级M-LAG和多级M-LAG。

单级M-LAG场景

  • 交换机的双归接入

    如图1所示,为了保证可靠性,交换机在接入网络时需要考虑链路的冗余备份,采用部署MSTP等破环协议的方式可以实现,但是这种方式下链路的利用率很低,浪费大量的带宽资源。为了实现冗余备份同时提高链路的利用率,在SwitchA与SwitchB之间部署M-LAG,实现Switch的双归接入。这样SwitchA与SwitchB形成负载分担,共同进行流量转发,当其中一台设备发生故障时,流量可以快速切换到另一台设备,保证业务的正常运行。

    图1 交换机双归接入应用组网图

  • M-LAG技术详解_第4张图片

     

  • 服务器的双归接入

    如图2所示,为了保证可靠性,服务器一般采用链路聚合的方式接入网络,如果服务器接入的设备故障将导致业务的中断。为了避免这个问题的发生,服务器可以采用跨设备链路聚合的方式接入网络,在SwitchA与SwitchB之间部署M-LAG,实现服务器的双归接入。SwitchA与SwitchB形成负载分担,共同进行流量转发,当其中一台设备发生故障时,流量可以快速切换到另一台设备,保证业务的正常运行。

    服务器双归接入时的配置和一般的链路聚合配置没有差异,必须保证服务器侧和交换机侧的链路聚合模式一致,推荐两端均配置为LACP模式。

    图2 服务器双归接入应用组网图

  • M-LAG技术详解_第5张图片

     

多级M-LAG场景

如图3所示,SwitchA和SwitchB之间部署M-LAG后,在SwitchC和SwitchD之间部署M-LAG并与下层的M-LAG进行级联,这样不仅可以简化组网,而且在保证可靠性的同时可以扩展双归接入服务器的数量。多级M-LAG互联必须基于V-STP方式进行配置。

图3 多级M-LAG互联应用组网图

M-LAG技术详解_第6张图片

 

你可能感兴趣的:(路由协议,网络,1024程序员节,交换机,网络)