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

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

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

单链路  一箭易断 

​在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技术涉及的基础概念。

DFS Group即动态交换服务组(Dynamic Fabric Service Group),主要用于对组成MC-LAG的两台网络设备(图中A和B)之间的配对,对这两台设备的接口状态、表项等信息进行同步。

在DFS Group中,设备A和B的角色区分为主和备,在正常情况下,主备设备同时进行业务流量的转发。

Peer-link是两台MC-LAG设备A、B之间的直连二层链路,用于协商报文的交互以及部分流量的传输。

Keepalive是MC-LAG两台设备之间的心跳链路,承载心跳数据包,主要作用是在主备设备间发送双主检测报文,进行双主检测,防止设备A、B出现双主用的情况。

MC-LAG成员接口是两台网络设备A和B上连接接入设备的接口。

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

  • MC-LAG两端设备在配置完成后,两端设备会通过Peer-link定期发送Hello报文,Hello报文中携带了各自的DFS Group ID、协议版本号、系统MAC等信息。
  • 在收到对端的Hello报文后,判断对端的DFS Group ID是否与自己相同,如果相同,则配对成功。
  • 配对成功后选举主/备设备。根据MC-LAG优先级进行选举,优先级高的为主;如果MC-LAG优先级相同则比较两台设备的系统MAC,MAC小的为主。
  • 主备设备间发送同步报文进行信息同步。
  • 主/备设备通过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接口和管理网口之外的所有物理接口进行Error-down处理。此时,所有流量都只会通过MC-LAG主设备进行转发。

结语

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

此外,MC-LAG两台网络设备独立运行,可以分别进行升级,升级过程只要保证一台设备正常工作,对运行的业务几乎不会产生影响。

目前,MC-LAG技术在新型IP城域网和云数据中心正被广泛使用,可以在采用Spine-Leaf网络架构的同时,部署MC-LAG来保证网络的可靠性。

在5G的演进过程中,MC-LAG技术必将为IP承载网络提供更加可靠的保障。​