如何跨设备完成链路聚合?M-LAG技术详解!

▶ M-LAG简介

M-LAG(Multichassis Link Aggregation Group)即跨设备链路聚合组,是一种实现跨设备链路聚合的机制,将一台设备与另外两台设备进行跨设备链路聚合,从而把链路可靠性从单板级提高到了设备级。

对二层来讲,可将M-LAG理解为一种横向虚拟化技术,将M-LAG的两台设备在逻辑上虚拟成一台设备,形成一个统一的二层逻辑节点。M-LAG提供了一个没有环路的二层拓扑同时实现冗余备份,不再需要繁琐的生成树协议配置,极大的简化了组网及配置。这种设计相对传统的xSTP破环保护,逻辑拓扑更加清晰、链路利用更加高效。

图1-1 M-LAG物理与二三层逻辑结构示意图

图1-1所示有如下特点:

  • M-LAG配对交换机对外提供M-LAG接口,用于接入二层业务;

  • M-LAG配对交换机之间部署Peer-Link,用于M-LAG协议消息交互,以及设备间横向业务流量转发;

  • 从三层视角看,M-LAG的配对设备又是两个独立的设备,可以支持独立的网管,并作为独立的OSPF路由节点

  • 同时,M-LAG支持本地优先转发,最大程度减少M-LAG配对设备之间的东西向流量;

  • M-LAG支持双主检测,由于两台配对设备为独立设备,因此通过带内或者带外的IP可达检测即可达到目的,不需要为此另外加线缆。

▶ 相关概念 

  1. 域编号:

    域编号(Domain ID)是M-LAG系统的唯一标识符,用来区分不同的M-LAG。两台设备的Domain ID相同,才能组成M-LAG系统。

  2. 虚拟AP组:

    M-LAG两台设备上,与同一接入设备连接的一对聚合接口,组成虚拟AP组(也称为VAP),用于接入设备双归接入,不同接入设备接入不同的虚拟组。虚拟组内只支持二层聚合接口。

    虚拟组的两个聚合接口在开启LACP(Link Aggregation Control Protocol,链路汇聚控制协议)时,LACP协商时使用相同的LACP系统ID和系统优先级,对于接入设备的上联设备,M-LAG双设备逻辑上就是同一台设备。

  3. Peer Link链路:

    M-LAG两台设备间的链路称为Peer Link链路,用于同步数据及传输部分流量。Peer Link链路两端直连的接口称为Peer Link接口,Peer Link接口必须配置为二层聚合接口。为了增加Peer Link链路的可靠性,建议Peer Link部署多条物理链路。

    为增强M-LAG设备间数据传输的可靠性,同步数据使用TCP传输,需要在Peer Link链路之上配置一个SVI口,并配置M-LAG主从设备间三层可达,用于设备间同步数据。

  4. 设备角色:

    M-LAG两台设备在正常运行时会协商出主/备角色,正常情况下,主设备和备设备同时参与转发,并没有差别;当故障发生后,主设备和从设备的行为有所差异。比如Peer Link链路故障,两台设备虚拟AP组断裂,需要将备角色的设备业务口关闭,强制切换流到主设备,以避免接入设备转发异常。

  5. VAP成员接口:

    加入虚拟AP组的AP接口称为VAP成员口接口,用于连接接入设备的聚合口。为了增强可靠性,建议使用LACP协议。

  6. 双主检测链路:

    双主检测链路是一条三层通路,用于Peer Link链路故障时检测M-LAG设备的双主状态。为保证检测的实时性,双主检测链路不参与任何转发,建议单独配置一条三层可达的链路作为双主检测链路(比如两台设备管理口直连)。

  7. 心跳保持时间:

    当Peer Link链路故障时,设备会启动心跳保持定时器,等待双主检测链路上保活机制报文就绪,在定时器到期后,才开始双主检测,防止因为报文延迟造成错误检测。

  8. 域协商超时时间:

    M-LAG两台设备的VAP组使用相同的LACP系统ID和系统优先级,设备刚启动的时候,需要等M-LAG协商成功,获取到LACP系统ID和系统优先级后,VAP成员口才能开始LACP协商。但如果对端设备下电了,则会一直无法协商成功,造成本地VAP成员口无法正常工作。因此需设定一个协商超时时间,超时时间到期后,认为处于单机工作状态,则直接使用本设备的LACP系统ID和系统优先级进行LACP协商。

  9. 快速收敛模式:

    快速收敛模式是指单向隔离且不阻断单播报文。当VAP成员口故障恢复时,接口上的MAC表项出口会从Peer Link口切换到VAP接口,但当MAC表项较多时,切换期间,发往接入设备的部分流量还会继续使用Peer Link口,由于M-LAG系统的防环机制,对端设备会开启单向隔离(Peer Link口报文不往下联口转),就会造成断流。为了能快速收敛,采用单向隔离同时不阻断单播报文,但这样可能造成下联接入设备收到重复报文。

    例如,设备1和设备2通过配置M-LAG组成M-LAG系统:

  1. 下联设备的请求报文通过设备1转发,此时设备1学习到下联设备的MAC但还未同步至设备2。如果应答报文由设备2转发,则设备2会将该报文从VAP口和Peer Link口泛洪,设备1从Peer Link口收到报文后查找MAC地址表可以查到下联设备的MAC,也会通过VAP口转发报文。此时下联设备就会收到两份重复的应答报文。

    开启快速收敛模式时,会加快故障恢复收敛性能,但可能存在瞬间重复报文,当在某些场景时,不希望出现重复报文,则可以选择关闭快速收敛模式。

▶ 部署方案 

  • 组网方案一:汇聚层组建M-LAG

    通过跨设备端口虚拟化技术(M-LAG),实现汇聚层和接入层交换机之间的网络逻辑无环化,取代STP。汇聚层两台交换机配对,汇聚交换机之间横向链路配置为peer-link。两台汇聚交换机下行连接同一接入交换机的端口配置为跨框的Eth-Trunk。

    图1-2 汇聚层使用M-LAG示意图

  • 这种设计相对传统的STP断点保护,逻辑拓扑更加清晰、链路利用更加高效。M-LAG的配对设备,控制平面和管理平面独立,只有协议面的耦合,理论上可靠性相对堆叠更高,还提供设备独立升级的能力,带来维护的方便性。

  • 组网方案二:接入层组建M-LAG

    同样M-LAG技术适用于服务器双网卡要求双活接入的应用场景。服务器双活接入两网卡共享MAC。双网卡实现基于流的负载分担策略。因此,通过M-LAG将服务器连接的端口配置为Eth-Trunk,两个端口的MAC和ARP表项同步。接入层使用M-LAG示意图

▶ 方案特色 

M-LAG技术本质上还是控制平面虚拟化技术,但是和堆叠技术不同的是,由于M-LAG的目的仅仅是在链路聚合协商时,对外表现出同样的状态,所以不需要像堆叠那样同步设备上所有的信息,只需要同步接口和表项相关的一些内容。这样,控制面耦合程度相比堆叠来说,会小很多,而且堆叠技术的一些缺陷在M-LAG 上也会缓解很多,比如上面我们说过的堆叠的三个主要的问题:

  • 可靠性问题:M-LAG需要同步的仅仅是协议面的一些内容,并不需要同步所有的设备状态,理论可靠性相对堆叠更加好。

  • 维护问题:M-LAG两台设备可以进行独立升级。仅协议面耦合,中断时间较短。

  • 扩展性问题:M-LAG技术主要目的是为了解决接入侧多路径问题,在数据中心网络中一般会配合路由或者一些大二层技术来实现网络侧的多路径转发问题。

▶ 堆叠与M-LAG对比 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值