“单身”链路易翻车?MC-LAG教你组”网络CP”

“一箭易断,十箭难折。”

这是小时候常常听到的谚语故事,字面意思是一支箭很容易折断,多支箭捆在一起则难以被摧毁,这告诉了我们“团结合作”的重要性。

在承载领域,也有这则故事的妙用,让我们一起来看看吧~

单链路 一箭易断 

在IP网络发展的早期,两台网络设备(A和B)之间一般通过建立单条链路通信。

图片

很明显,使用单链路连接有如下缺陷:

存在带宽瓶颈,设备A、B之间的总带宽等于这条单链路的带宽。链路没有冗余备份,这条链路一旦出现问题,设备A、B之间可能会出现通信中断。

即使单链路有着明显的缺陷,但在那个对网络要求不高的年代,依然可以满足大众需求。

随着网络规模的发展,单链路已经无法满足网络对带宽和可靠性的要求,人们想到了将多条链路像“箭”那样进行“捆绑”。由此,链路聚合技术应运而生。

链路聚合十箭难折 

链路聚合通过将两个设备之间的多条链路进行“捆绑”,形成一个聚合组,聚合组内的多条链路此时可以被看作一条逻辑链路。

此时,这两个设备间的流量就可以分担在聚合组内的各条链路上。

图片

那么,链路聚合可以对网络带来哪些好处呢?

增加了网络带宽

将A、B之间多条链路捆绑成为一条逻辑链路,捆绑后的带宽是所有链路的带宽总和。

举个例子,A、B之间有3条链路做链路聚合,每条链路带宽为10 Gbps,则此聚合组的带宽最大就可以达到30 Gpbs。

提高了网络连接的可靠性

假如A、B间有一条链路出现故障而中断,流量会自动在剩下链路间重新分配,不会引起A、B之间的流量中断。

实现流量的负载均衡

链路聚合可以把A、B之间的流量平均分到所有成员链路中去,最大限度地降低了每个成员链路产生流量阻塞链路的风险。

避免产生二层环路

当A、B之间链路采用链路聚合时,这些链路不再是单条链路独立工作,对外成为一条逻辑链路。因此,不使用STP(Spanning Tree Protocol,生成树协议)也不会产生环路,有效避免了A、B之间产生二层环路的风险。

基于上述诸多优点,链路聚合在IP网络中得到了非常广泛的应用。

MC-LAG更可靠的“捆绑”

进入移动互联时代,互联网与我们的日常生活越发密切,在我们享受网络便捷的同时,也给网络带来了海量数据的交互处理,对网络的带宽和可靠性提出了更高要求。

而传统的链路聚合技术仅限于一对一的两台设备之间,不能实现一对多台设备之间的链路聚合。

于是,为了提供更可靠的网络,MC-LAG(Multi-Chassis Link Aggregation Group,跨设备链路聚合组)产生了。

当一台接入设备(可以是服务器或交换机)与上层两台网络设备A和B对接时,可采用MC-LAG技术组成跨设备链路聚合组。

图片

MC-LAG的基本思想是让两台网络设备A、B以同一状态与接入设备进行链路聚合,在接入设备看来,就如同与同一台网络设备建立了链路聚合关系。这样就将链路聚合技术从一对一的设备对接,扩展到了可以同时接入对端两台设备,并组成了一个双活系统。

下面我们一起看这个双活系统是如何工作的?

MC-LAG工作过程

了解MC-LAG工作过程之前,先学习一些MC-LAG技术涉及的基础概念。

图片

MC-LAG主/备设备:和堆叠一样,MC-LAG也会选取主/备设备。但是正常情况下,主备设备同时进行业务流量的转发,仅在故障场景下,主备设备的行为会有差别。ICBG同步:ICBG(Inter-Chassis Backup Group,跨机架备份组)用于MC-LAG双归设备之间的MAC、ARP表项等信息同步,在ICBG中可以指定需要进行信息同步的接口,设备A和B的角色区分为主和备,在正常情况下,主备设备同时进行业务流量的转发。Peer-link:两台MC-LAG设备A、B之间的直连二层链路,用于协商报文的交互以及部分流量的传输。Peer-link采用多条链路做链路聚合。Keepalive:MC-LAG两台设备之间的心跳链路,承载心跳数据包,主要作用是在主备设备间发送双主检测报文,进行双主检测,防止设备A、B出现双主用的情况。MC-LAG成员接口:两台网络设备A和B上连接接入设备的接口。两个MC-LAG成员口的状态需要进行同步,为增加可靠性,MC-LAG成员口链路聚合推荐配置为LACP模式。

了解了MC-LAG基础概念之后,我们进一步了解MC-LAG的建立过程,包括如下4个步骤。

图片

MC-LAG两端设备在配置完成后,通过Keepalive链路发送建链报文,与对端进行协商,以便与对端建立MC-LAG系统。两端先根据MC-LAG优先级进行主备选举,优先级高的为主;如果MC-LAG优先级相同则比较两台设备的系统MAC,MAC小的为主。主、备设备间通过Peer-link链路实时或定时进行信息同步,同步的信息包括MAC、ARP、成员接口状态等。主、备设备通过Keepalive链路发送心跳检测报文,主要是用于在Peer-link故障时进行双主检测。

完成了上述建立过程,MC-LAG就可以正常工作了。

MC-LAG流量转发

MC-LAG主要应用于双归接入场景,即接入侧设备C通过MC-LAG技术,接入网络侧设备A和B。正常工作时,上行流量和下行流量采用负载均衡方式经设备A、B转发。

图片

如果上面网络出现故障,MC-LAG又是如何保护网络正常工作呢?

成员接口链路故障

如果MC-LAG某成员接口故障,例如,设备B的成员接口出现故障。接入侧设备C感知到设备B成员接口故障,将所有上行流量均发送给设备A,由设备A转发。

设备B收到从网络侧发往接入侧设备C的流量,会通过Peer-link将流量交给正常工作的设备A转发到接入侧设备C。

图片

MC-LAG设备故障

如果一台MC-LAG设备出现故障,例如,设备B出现故障。此时设备B无法进行流量转发,则所有流量均由设备A转发。

图片

Peer-link出现故障

如果发生Peer-link故障,这时设备A、B不能同时转发流量,否则会导致广播风暴、MAC漂移等一系列问题,所以只允许一台设备转发流量。

此时,MC-LAG的备设备(这里是设备B)会将自己除了Peer-link接口、Keepalive接口和管理网口之外的所有物理接口进行Error-down处理。此时,所有流量都只会通过MC-LAG主设备进行转发。

图片

上行链路故障

如果发生上行链路故障,设备C的上行流量到达设备A后会通过Peer-link发送给设备B进行转发(也可以配置上下行端口联动,上行流量全部从设备C直接送到设备B进行转发)。

图片

通过前面的介绍,可以了解到MC-LAG技术相对于传统链路聚合技术有更多的优势,在增强了网络可靠性的同时,简化了组网,实现了设备级的高可用冗余保护以及多路径转发。

此外,MC-LAG两台网络设备独立运行,可以分别进行升级,升级过程只要保证一台设备正常工作,对运行的业务几乎不会产生影响。目前,MC-LAG技术在新型IP城域网和数据中心正被广泛使用,可以在采用Spine-Leaf网络架构的同时,部署MC-LAG来保证网络的可靠性。在5G的演进过程中,MC-LAG技术必将为IP承载网络提供更加可靠的保障。

THE END