发布网友 发布时间:2022-04-20 02:46
共1个回答
热心网友 时间:2022-06-09 12:10
华为链路聚合分为两种:
● 手动负载均衡模式:在这种模式下,Eth-Trunk的建立、成员接口的加入都是手工配置的,没有协议
的参与。在该模式下所有活动链路都参与数据转发,平均分坦流量。如果某条活动链路出现故障,链
路聚合组自动在剩余的活动链路上平均分配流量。
● LACP模式:在LACP模式中,链路两端的设备相互发送LACP报文,协商聚合参数。协商完成后,两台
设备确定活动接口和非活动接口。LACP模式需要的动创建一个Eth-Trunk口,并添加成员。LACP模式
也叫M:N模式,M代表活动成员链路。N代表非活动链路,用于冗余备份。LACP与手动负载均衡的区别在
于,在LACP模式中,有一些链路充当备份链路,如果有一条活动链路发生故障,该链路传输的数据被
切换到一条优先级最高的备用链路上,这条备用链路转变为活动状态。而在手动负载均衡模式中,所
有的成员都处于转发状态。
链路聚合的要求
● 聚合链路两端的物理口(成员口)的所有参数必须一致,包括物理口的数量、速率、双工方式、
流量控制模式。
● 成员口可以是二层接口或三层接口。
● 数据流在聚合链路上传输,数据顺序必须保持不变。比如一个数据流中的第一个帧通过一条物理
链路传输,第二个帧通过另一条物理链路传输,有可能同一个数据流的第二个数据帧比第一个帧先
到达,这样就产生了接收数据包乱序的情况。
● 为避免这种情况发生,Eth-Trunk采用逐流负载分担的机制,这种机制把数据帧中的地址通过HASH
算法生成HASH-KEY值,然后根据这个值在Eth-Trunk转发表中寻找对应的出接口。不同的MAC或IP地址
HASH得出的HASH-KEY值也不同,从而接口也就不同。这样即可以避免乱序问题,也达到了负载均衡的
目的。
负载均衡的类型
● dst-ip,根据报文的目的IP地址进行负载均衡
● dst-mac,根据报文的目的MAC地址进行负载均衡
● src-dst-ip,根据报文的源IP地址和目的IP地址进行负载均衡
● src-dst-mac,根据报文的源MAC地址和目的MAC地址进行负载均衡
● src-ip,根据报文的源IP地址进行负载均衡
● src-mac,根据报文的源MAC地址进行负载均衡
配置手动负载均衡
1、如下图我们在两台交换机之间添加4条链路,由于交换机默认开启了STP,所以可以看到当前只有一
条链路处于转发状态。
2、我们先shutdown掉这四个端口,关闭STP。
3、然后在SW1和SW2上创建Eth-Trunk 1,然后将接口g0/0/1、g0/0/2、g0/0/3和g0/0/4接口加入到
Eth-Trunk 1中,注意将接口加入到Eth-Trunk前需要确认成员接口下没有任何配置。同时以两台交
换机上执行以下命令进行配置。
interface eth-trunk 1
interface g0/0/1
eth-trunk 1
interface g0/0/2
eth-trunk 1
interface g0/0/3
eth-trunk 1
interface g0/0/4
eth-trunk 1
4、配置完成后,undo shutdown所有成员接口。检查Eth-Trunk 1状态,可以看到WorkingMode为
NORMAL,默认负载均衡模式为SIP-XOR-DIP,也就是src-dst-ip,根据报文的源IP地址和目的IP地址
进行负载均衡。成员接口为g0/0/1~g0/0/4,可用带宽为4G。
display eth-trunk 1
display interface eth-trunk 1
5、下面我们来验证一下负载均衡,如下图我们通过SW2这边的6主机来PING SW1侧的一台主机。来看看
数据包是如何选路的。
6、通过抓包,可以看到在默认情况下,所有Ping请求和回复都只走一条路。
7、现在我们将Eth-Trunk 1的负载均衡模式改为根据报文的源MAC地址进行负载均衡。
8、现改完成后,通过抓包可以看到现在4条链路上都有数据包在通过,也就是4条链路都用起来了。
主机1.66的ping请求和回复走g0/0/1这条路,主机1.2和1.5的ping请求和回复走g0/0/2这条路,主
机1.3和1.4的ping请求和回复走g0/0/3这条路,主机1.77的ping请求和回复走g0/0/4这条路。
配置LACP静态
1、我们基于上面的拓扑继续配置LACP,首先在两台交换机上删除4个接口下的配置。
interface g0/0/1
undo eth-trunk
interface g0/0/2
undo eth-trunk
interface g0/0/3
undo eth-trunk
interface g0/0/4
undo eth-trunk
2、分别在两台交换机上创建Eth-Trunk 1为静态LACP模式,然后再将端口加入其中,这里我们使用
3个端口。
interface eth-trunk 1
mode lacp
interface g0/0/1
eth-trunk 1
interface g0/0/2
eth-trunk 1
interface g0/0/3
eth-trunk 1
3、在SW1上配置LACP的系统优先级为100,使其成为LACP主动端。
lacp priority 100
4、在SW1上配置接口的优先级,确定活动链路。
int g0/0/1
lacp priority 100
int g0/0/2
lacp priority 100
5、在SW1上配置活动接口上限为2。
int eth-trunk 1
max bandwidth-affected-linknumber 2
6、配置完成后,检查LACP状态。这里可以三条路都是selected状态,这个应该是eNSP模拟的有些问
题,应该要有一条路是unselected才对。可以看到最大带宽是3G,当前带宽是2G,这就符合我们的
配置了。
7、通过抓包可以看到实际上是有两条路在跑流量,有一条路是空闲的,符合我们的配置要求。
8、然后我们shutdown一条有流量的端口后,空闲的这条路会变成活动链路接管流量。这也符合我们的
配置要求。