一、链路聚合的产生
由于在企业网络中,核心层负责数据的高速转发,极其容易引发链路阻塞。所以在核心层部署链路聚合可以整体提升网络的数据吞吐量,解决链路拥塞的问题。
二、链路聚合的原理与好处
1、什么是链路聚合
链路聚合是把两台设备之间的链路聚集在一块,当做一条逻辑链路使用。
2、链路聚合带来的好处
- 链路聚合可以提高链路的带宽。理论上,通过链路聚合,可使一个聚合端口的带宽最大为所有成员端口的带宽总和。
- 链路聚合可以提高网络的可靠性。配置了链路聚合的端口,若其中一端口出现故障,则该成员端口的流量就会切换到成员链路中去。保障了网络传输的可靠性。
- 链路聚合还可以实现流量的负载均衡。把流量平均分到所有成员链路中去。使得每个成员链路最低限度的降低产生流量阻塞链路的风险
三、链路聚合的模式
链路聚合总共有两种模式:手动负载均衡模式与LACP(链路聚合控制协议)模式。
1、手动负载均衡模式
在此模式下,Eth-Trunk的建立,成员接口的加入由手工配置。该模式下的所有活动链路都参与数据的转发,平均分担流量。如果某条活动链路出现故障,则自动在剩余的活动链路中平均分担流量。适用于两直连设备之间,既需要大量的带宽,也不支持LACP协议时。可以基于MAC地址与IP地址进行负载均衡。
2、LACP(链路聚合控制协议)模式
在此模式下,Eth-Trunk的建立,成员接口的加入由手工配置。链路两端的设备会相互发送LACP报文,协商聚合参数,从而选举出活动链路和非活动链路。
活动成员链路(M):用于在负载均衡模式中的数据转发。
非活动成员链路(N):用于冗余备份。如果一条活动成员链路出现故障,非活动成员链路中优先级最高的将代替出现故障的活动链路。状态由非活动链路变为活动链路。
3、两者的区别
在手动负载均衡模式下,所有的端口都处于数据转发状态;在LACP模式下,会有一些链路充当备份链路。
四、数据流控制
1、在一个聚合端口中,成员端口的所有参数必须一致,参数包括:物理口数量、传输速率、双工模式、流量控制模式。成员端口可以是二层也可是三层。
2、为了避免由于多个成员端口传输,数据帧前后到达顺序不一致而导致的数据包乱序的情况。Eth-Trunk采用逐流负载分担的机制,其数据帧可以根据实际情况的需求按照源MAC、目的MAC、源IP、目的IP、VLAN、物理端口等不同的条件进行流量的分流。通过哈希计算不同的条件,从而得出的不同结果,不同的结果的数据帧通过不同的成员端口发送,相同的结果的数据帧从同一成员端口发送,从而保证了数据包顺序的准确性。但是这样不能保证带宽的利用率。
注:本人根据手动模式,设置三条链路进行链路聚合,默认情况下只有一条链路进行数据的转发,当切换到IP分流的时候情况不变;MAC分流的时候有两条进行数据转发,一条链路没有转发数据。网上查的资料是链路得是2的n次方,于是我又加了一条,这样共计4条链路。结果MAC分流下是两条进行转发;IP分流下还是一条进行数据转发。
五、Eth-Trunk 端口
①只能删除不包含任何成员端口的Eth-Trunk端口。
②二层的Eth-Trunk端口的成员端口必须是二层的接口;三层的Eth-Trunk端口的成员端口必须是三层的接口。
③一个Eth-Trunk端口最多可以加入8个成员端口。
④加入Eth-Trunk端口的接口类型必须是Hybrid接口(Access与Trunk类型的端口无法加入)。
⑤Eth-Trunk端口不能作为其他Eth-Trunk端口的成员端口。
⑥同一个以太网接口只能属于一个Eth-Trunk端口。
⑦同一个Eth-Trunk端口下的成员端口的类型必须一致。
⑧如果本端设备接口加入了Eth-Trunk端口,与该接口直连的对端接口也必须加入Eth-Trunk端口,两端才能正常通信。
⑨如果成员端口的速率不同,速率低的接口可能会发送拥塞,造成报文的丢失。
⑩接口加入Eth-Trunk端口后,成员端口不再学习MAC地址,Eth-Trunk端口进行MAC地址的学习。
六、配置Eth-Trunk端口
1、二层Eth-Trunk的配置
<SW1>system-view [SW1]interface Eth-Trunk 1 //设置Eth-Trunk1 [SW1-Eth-Trunk1]trunkport GigabitEthernet 0/0/1 to 0/0/5 //将1-5五个端口设为成员端
2、三层Eth-Trunk的配置
<AR1>system-view [AR1]interface Eth-Trunk 1 //配置Eth-Trunk1 [AR1-Eth-Trunk1]undo portswitch //使二层链路转变为三层链路 [AR1-Eth-Trunk1]ip address 192.168.1.1 24 //可以配置IP地址 [AR1]interface GigabitEthernet 0/0/0 [AR1-GigabitEthernet0/0/0]eth-trunk 1 //将GE0/0/0加入Eth-Trunk1
七、常用命令
[AR1-Eth-Trunk1] mode ? //选择链路聚合的模式。
[AR1-Eth-Trunk1] load-balance ? //选择负载均衡的判断条件