基础通信学习之链路聚合技术


  1. 链路聚合技术

    链路聚合是指将一组物理端口捆绑在一起作为一个逻辑接口来增加带宽的一种方法,又称为多端口负载均衡组。通过在两台设备之间建立链路聚合组(Link Aggregation Group, LAG ),可以提供更高的通信带宽和更高的可靠性,而这种提高不需要硬件的升级,并且还为两台设备的通信提供了冗余保护。本节将对链路聚合的实现进行介绍,包括以下3点。

    1. 链路聚合的基本概念
    2. LACP协议
    3. 链路聚合的实现方式
  2. 链路聚合的基本概念

    链路聚合,也称为端口捆绑,端口聚集或链路聚集。链路聚合是将多个端口聚合在一块形成一个汇聚组。使用链路汇聚服务的上层实体把同一聚合组内多条物理链路视为一条逻辑的链路。一个汇聚组好像就是一个端口。如下图

    链路聚合在数据链路层上实现, 部署链路聚合组的目的主要在于以下两点。

    1. 增加网络带宽:通过将多个连接的端口捆绑成为一个逻辑连接,捆绑后逻辑端口的带宽是每个独立端口的带宽总和。当端口上的流量增加而成为限制网络性能的瓶颈时,采用支持该特性的交换机可以轻而易举地增加网络的带宽。例如,可以将4GE端口连接在一起,组成一个4Gbit/s的连接。业务流量能够以负载分担的方式运行在这4GE链路上。
    2. 提高网络连接的可靠性:当主干网络以很高的速率连接时,一旦出现网络连接故障,后果是不堪设想的。高速服务器以及主干网络连接必须保证绝对的可靠。采用端口聚合的一个良好的设计可以对这种故障进行保护, 例如,聚合组中的一条链路出现故障或者维护人员由于误操作将一根电缆错误地拔下来,不会导致聚合组上的业务中断。也就是说,组成端口聚合的一个端口连接失败, 网络数据将自动重定向到那些好的连接上。这个过程非常快,交换机内部只需要将数据调整到另一个端口进行传送就可以了,从而保证了网络无间断地继续正常工作。

    在创建链路聚合组,将物理链路加入链路聚合组时需确保以下参数保持一致, 其中的逻辑参数指的是同一汇聚组中端口的基本配置。

    1. 物理参数。

    进行汇聚的链路数目

    进行聚合的链路的速率

    进行聚合的链路的双工方式

    1. 逻辑参数

    STP配置一致,包括端口的STP使能/关闭 、与端口相连的链路属性(如点对点或非点对点)、STP优先级 、路径开销 、报文发送速率限制、是否环路保护、 是否根保护、是否为边缘端口。

    QoS配置一致,包括流量限速、优先级标记、默认的802.1p优先级、带宽保证、 拥塞避免,流重定向、流量统计等。

    VLAN配置一致,包括端口上允许通过的VLAN、端口默认VLANID

    端口配置一致,包括端口的链路类型,如TrunkHybridAccess属性。

    另外,使能了某些功能的端口无法加入到链路聚合组中,例如配置了镜像的监控端口和目的端口、配置了静态MAC地址的端口、配置了静态ARP的端口、便能 802.1x的端口、VPN 端口等。

  3. LACP协议

    链路聚合控制协议LACP,是基于IEEE 802.3ad标准的用于实现链路动态汇聚的协议。LACP协议通过链路汇聚控制协议数据单元(Link Aggregation Control Protocol Data Unit,LACPDU )与对端交互信息。

    LACP为交换数据的设备提供了一种标准的协商方式,供系统根据自身配置自动形成聚合链路,并启动聚合链路收发数据。聚合链路形成后,负责维护链路状态,在聚合条件发生变化时,自动调整或解散链路聚合。

    LACP协议的报文结构如下图所示,总长度为1024(bit),合计128字节。如图所示

     

     

     

  4. 链路聚合的方式

    链路聚合根据 是否启用链路聚合控制协议可以分为3种方式:手工聚合、静态聚合、动态聚合。

    1. 手工聚合。

    手工聚合是一种最基本的链路聚合方式,在该模式下,链路聚合组的建立、成员接口的加入,以及哪些接口作为活动接口完全由手工来配置,没有链路聚合控制协议的参与。手工主备模式通常应用在两端或其中端设备不支持LACP协议的情况下。

    1. 静态聚合

    静态聚合模式下,链路聚合组的建立,成员接口的加入都是由手工配置完成的。但与手工负载分担模式链路聚合不同的是,该模式下LACP协议为使能状态,负责活动接口的选择。也就是说,当把一组接口加入链路聚合组后,这些成员接口中哪些接口作为活动接口,哪些接口作为非活动接口还需要经过LACP协议报文的协商确定。

    1. 动态聚合

    动态聚合模式下,链路聚合组根据协议自动创建,聚合端口也是根据KEY值自动匹配添加(KEY值是根据数据包的MAC地址或IP地址,经HASH算法计算得出 ), 不允许用户增加或删除动态LACP汇聚中的成员端口。只有速率和双工属性相同,连接到同一个设备,有相同基本配置的端口才能被动态聚合在一起,

    链路聚合组的实现如图所示,SWASWB之间采用静态聚合的方式进行链路捆绑,实现三条链路的聚合。

    在链路聚合组的配置中,除了实现模式外,还可以配置活动链路上限阐值和活动链路下限阐值。如上图所示,可以配置活动链路上限阐值为2,那么就意昧着,在GE1/0/1GE1/0/2GE1/0/33条被聚合的链路中,LACP会协商出两条链路作为活动链路,而剩下的链路则作为备用链路,当聚合组中的其中一条链路出现故障的时候,备用链路才会成为活动链路进行数据转发。

    活动链路下限阐值的配置则主要是为了能够保证带宽满足业务需求。如上图所示,如果SWASWB之间需要转发1.5Gbit/s的流量.那么在配置链路聚合组的时候就可以选择配置活动链路的下限阈值为2。在默认情况下活动链路下限阎值为1,那么如果聚合组中的两条链路出现故障,聚合组仍能正常工作,但此时带宽只有1Gbit/s,会导致业务丢包。配置了活动链路下限阈值后,如果活动链路数小于阈值,那么链路聚合组会置为DOWN状态,不再转发业务。所以,在存在其它业务保护路径的情况下,若SWA的业务也可以通过SWC到达SWB,那么就可以在SWASWB之间的链路聚合组上配置活动链路下限阈值,在聚合组链路带宽小于1.5Gbit/s的时候,让聚合组状态置DOWN,业务倒换到另外的路径上进行传递。如果没有另外的业务保护路径,就没必要配置活动链路下限阉值。

     

     

  5. 链路聚合故障案例分析

    链路聚合可以提供更高的通信带宽和更高的可靠性,而且这种提高不需要硬件的升级,因此,链路聚合在现网的很多场景中都有使用,用来对两台设备间的通信提供冗余保护。下面通过学习一个现网案例,对链路聚合的原理进行深入理解。

     

    案例:配置静态链路聚合后业务不通

    网络连接组网图如下图所示,S-switch-AS-switch-B之间通过静态链路聚合模式进行链路捆绑,增加链路带宽。在S-switch-AS-switch-B上分别创建聚合端口Eth-Trunk,同时将物理GE接口加入到了Eth-Trunk。配置后发现两台S-switch设备不能互通。

    故障可能原因分析:

    根据之前讲述的链路聚合组的原理可知,静态聚合模式的链路聚合组,端口是手工加入链路聚合组的,但活动接口是通过LACP进行协商的。根据故障现象的描述,交换机双方业务不通,那么在排查故障原因的时候,需要对以下4点信息进行确认。

    1. 交换机是否都设置了工作模式为静态LACP
    2. 交换机的物理接口状态工作是否正常,双工模式等参数设置是否正确。
    3. 加入Eth-Trunk的物理接口是否正确。
    4. 是否配置了活动链路下限阈值。

    经过检查发现链路两端设备上的工作模式均为静态LACP模式,接口参数配置正确,都加入到了链路聚合组中,但交换机上配置了活动链路的下限阈值4,导致了链路聚合组工作状态异常,无法进行数据转发。

    故障解决方法:

    取消活动链路数的下限阈值配置,或者配置接口成员数量大于下限阈值。

    故障案例总结:

    在配置链路聚合组的时候,需注意以下参数设置。

    1. 链路两端设备的工作模式相同。
    2. 加入聚合组的接口工作正常且端口参数配置正确。
    3. 聚合组中处于Up状态的以太网接口成员个数大于下限阈值。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM