什么是链路聚合?
链路聚合(Link Aggregation)是将—组物理接口捆绑在一起作为一个逻辑接口来增加带宽的一种方法。随着网络规模不断扩大,用户对骨干链路的带宽和可靠性提出越来越高的要求。在传统技术中,常用更换高速率的接口板或更换支持高速率接口板的设备的方式来增加带宽,但这种方案需要付出高额的费用,而且不够灵活。采用链路聚合技术可以在不进行硬件升级的条件下,通过将多个物理接口捆绑为一个逻辑接口,实现增加链路带宽的目的。链路聚合的备份机制能有效提高可靠性,同时,还可以实现流量在不同物理链路上的负载分担。
如图1所示,DeviceA与DeviceB之间通过三条以太网物理链路相连,将这三条链路捆绑在一起,就成为了一条逻辑链路Eth-trunk,这条逻辑链路的带宽等于原先三条以太网物理链路的带宽总和,从而达到了增加链路带宽的目的;同时,这三条以太网物理链路相互备份,有效地提高了链路的可靠性。
设备支持手工负载分担和LACP(Link Aggregation Control Protocol)两种聚合模式。
手工负载分担模式链路聚合
手工负载分担模式下,Eth-Trunk的建立、成员接口的加入完全由手工来配置。该模式下所有活动链路都参与数据的转发,平均分担流量,因此称为负载分担模式。如果某条活动链路故障,链路聚合组自动在剩余的活动链路中平均分担流量。
手工负载分担模式通常应用在对端设备不支持LACP协议的情况下。
手工负载分担模式
Eth-Trunk接口可以分为二层Eth-Trunk接口和三层Eth-Trunk接口,都可以增加带宽、提高可靠性,根据网络中的应用来选择配置二层Eth-Trunk接口还是三层Eth-Trunk接口。
操作步骤
一、配置二层Eth-Trunk接口。
1. 执行命令system-view,进入系统视图。
2. 执行命令interface eth-trunk trunk-id,创建二层Eth-Trunk接口。
缺省情况下,Eth-Trunk接口处于二层模式。
二、配置三层Eth-Trunk接口。
1. 执行命令system-view,进入系统视图。
2. 执行命令interface eth-trunk trunk-id,创建二层Eth-Trunk接口。
3. 执行命令undo portswitch,配置三层Eth-Trunk接口。
4. 执行命令ip address ip-address { mask | mask-length } [ sub ],配置三层Eth-Trunk接口的IP地址。
5. (可选)执行命令mtu mtu,配置三层Eth-Trunk接口的MTU值。
最大传输单元MTU(Maximum Transmission Unit)单位为字节,缺省情况下,接口的MTU值为1500。
注意
l 二层Eth-Trunk接口下不能配置mtu命令。
l 直连链路两端接口上的MTU值需要一致。如果使用mtu命令改变接口MTU的值,请同时修改与本设备相连的其他设备的MTU值,确保两端设备的MTU值匹配。否则,可能导致业务中断。
l 使用mtu命令改变接口最大传输单元MTU后,需要重启接口以保证配置的MTU生效。先执行shutdown命令将接口关闭,再执行undo shutdown命令将接口开启。
LACP 模式链路聚合
LACP模式是一种利用LACP协议进行聚合参数协商、确定活动接口和非活动接口的链路聚合方式。该模式下,需手工创建Eth-Trunk,手工加入Eth-Trunk成员接口,由LACP协议协商确定活动接口和非活动接口。
LACP模式也称为M∶N模式。这种方式同时可以实现链路负载分担和链路冗余备份的双重功能。在链路聚合组中M条链路处于活动状态,这些链路负责转发数据并进行负载分担,另外N条链路处于非活动状态作为备份链路,不转发数据。当M条链路中有链路出现故障时,系统会从N条备份链路中选择优先级最高的接替出现故障的链路,并开始转发数据。
LACP模式与手工负载分担模式的主要区别为:LACP模式有备份链路,而手工负载分担模式所有成员接口均处于转发状态,分担负载流量。
背景信息
根据是否启用链路聚合控制协议LACP,链路聚合分为手工负载分担模式和LACP模式。手工负载分担模式下,Eth-Trunk的建立、成员接口的加入完全由手工来配置。所有活动链路都参与数据的转发,平均分担流量。手工负载分担模式通常应用在对端设备不支持LACP协议的情况下。
改变Eth-Trunk工作模式前应确保该Eth-Trunk中没有加入任何成员接口,否则无法更改Eth-Trunk的工作模式。
Eth-Trunk接口可以分为二层Eth-Trunk接口和三层Eth-Trunk接口,都可以增加带宽、提高可靠性,根据网络中的应用来选择配置二层Eth-Trunk接口还是三层Eth-Trunk接口。
操作步骤
l 配置二层Eth-Trunk接口。
1. 执行命令system-view,进入系统视图。
2. 执行命令interface eth-trunk trunk-id,创建二层Eth-Trunk接口。
缺省情况下,Eth-Trunk接口处于二层模式。
l 配置三层Eth-Trunk接口。
1. 执行命令system-view,进入系统视图。
2. 执行命令interface eth-trunk trunk-id,创建二层Eth-Trunk接口。
3. 执行命令undo portswitch,配置三层Eth-Trunk接口。
4. 执行命令ip address ip-address { mask | mask-length } [ sub ],配置三层Eth-Trunk接口的IP地址。
5. (可选)执行命令mtu mtu,配置三层Eth-Trunk接口的MTU值。
最大传输单元MTU(Maximum Transmission Unit)单位为字节,缺省情况下,接口的MTU值为1500。
注意
l 二层Eth-Trunk接口下不能配置mtu命令。
l 直连链路两端接口上的MTU值需要一致。如果使用mtu命令改变接口MTU的值,请同时修改与本设备相连的其他设备的MTU值,确保两端设备的MTU值匹配。否则,可能导致业务中断。
l 使用mtu命令改变接口最大传输单元MTU后,需要重启接口以保证配置的MTU生效。先执行shutdown命令将接口关闭,再执行undo shutdown命令将接口开启。
(可选)配置负载分担方式
背景信息
在需要配置Eth-Trunk负载分担方式的设备上进行如下配置。
操作步骤
l 对于二层Eth-trunk接口:
1. 执行命令system-view,进入系统视图。
2. 执行命令load-balance { dst-ip | dst-mac | src-ip | src-mac | src-dst-ip | src-dstmac
},配置Eth-Trunk的负载分担模式。
缺省情况下,二层Eth-Trunk接口的负载分担模式为src-dst-mac。Eth-Trunk的负载分担是逐流进行的,本端与对端的负载分担模式可以不一致,两端互不影响。
说明
目前二层Eth-Trunk接口的负载分担模式为全局模式配置,即所有的Eth-Trunk接口只能选择同时支持一种负载分担模式。
l 对于三层Eth-trunk接口:
1. 执行命令system-view,进入系统视图。
2. 执行命令interface eth-trunk trunk-id,进入Eth-Trunk接口视图。
3. 执行命令load-balance { dst-ip | dst-mac | src-ip | src-mac | src-dst-ip | src-dstmac},配置Eth-Trunk的负载分担模式。
缺省情况下,三层Eth-Trunk接口的负载分担模式为src-dst-ip。Eth-Trunk的负载分担是逐流进行的,本端与对端的负载分担模式可以不一致,两端互不影响。
用户视图下,执行reset lacp statistics eth-trunk [ trunk-id [ interface interface-typeinterface-number ] ]命令,清除LACP收发报文的统计信息。
在日常维护工作中,可以在任意视图下选择执行以下命令,了解链路聚合组的运行状况。
操作步骤
l 执行display eth-trunk [ trunk-id [ interface interface-type interface-number | verbose ] ]命令,查看Eth-Trunk接口的配置信息。
l 执行display lacp statistics eth-trunk [ trunk-id [ interface interface-type interfacenumber] ]命令,查看LACP模式下的LACP报文收发统计信息。
l 执行display interface eth-trunk [ trunk-id ]命令,查看Eth-Trunk接口的状态信息。
l 执行display trunkmembership eth-trunk trunk-id命令,查看Eth-Trunk的成员接口信息。
手工链路聚合配置举例奇怪参考:
http://www.elvhome.com/html/2013-5-22/20135221729669805.html
LACP链路聚合请参考:
http://www.elvhome.com/html/2013-5-22/201352217352621426.html
华为路由器AR系列配置三层链路聚合示例:
http://www.elvhome.com/html/2013-5-22/201352217394084624.html





