对于路由方面的负载均衡,我们常说的就是eigrp这个负载均衡问题了。那么在这个方面,可以从两个角度进行分析,包括对等和非对等。那么我们将把这两个内容串联到设置过程中为大家讲解,加深一下印象。
1、EIGRP默认支持四条链路的不等代价的负载均衡(所有路由基本上都支持);
2、使用下面命令可支持六条:
router EIGRP 10
maximum-paths 6——设置成6条
variance——后跟差异度量值,实现负载均衡。差异值为1时,只有相同度量才会安置到本地路由表中,为2时,任一由EIGRP发现的了解的路由,只有其度量少于继任度量的两倍,将会被安置到本地的路由表中。
EIGRP Load Balancing 非等价负载均衡
每个路由协议都支持等值路径的负载均衡.除此之外,IGRP和EIGRP也支持不等值路径的负载均衡,使用variance命令. Variance命令向路由器通告一个n值,n值使用variance命令指定.n值为1-128之间,默认为1。
router E有三个路径到网络X
◆E-B-A with a metric of 30
◆E-C-A with a metric of 20
◆E-D-A with a metric of 45
Router E选择第二个路径,E-C-A的metric为20,20为三个路径的最小值,如果希望EIGRP选择优先E-B-A路径,配置variance值为乘数 2
router eigrp 1
network x.x.x.x
variance 2
这样增加了metric到40(2*20=40)。这样EIGRP包括了所有metric小于40的路由,在上面的配置中,路由器使用了两个路径到达网络 X,E-C-A和E-B-A,因为两个路径的metric值都在40以下。因为E-D-A的metric为45,大于40,所以eigrp不选择此路径到达网络X。而且,路由器D报告到达网络X的metric为25,这个值比可行的metric值20要大。这就意味着即使variance设置为3,E- D-A路径也不会被选择为负载均衡的路径,因为router D不是一个可行的后继者。
Traffic Sharing
Eigrp不仅支持不等值路径的负载均衡,而且也支持智能负载均衡,例如traffic sharing。有多个路由到达同一目的网络有不同cost的情况下,想要控制在不同路由上的traffic,可以使用traffic sharing命令。使用balanced关键字,路由器按照不同路由的metrics比率成比例的分配流量。这是默认设置。
router eigrp 1
network x.x.x.x
variance 2
traffic-share balanced
下面是traffic share计算案例
◆For path E-C-A: 30/20 = 3/2 = 1
◆For path E-B-A: 30/30 = 1
如果不能整除,我们按照其整数计算(注意:不是四舍五入)。在这个案例中eigrp发送包通过E-C-A和E-B-A的比率为1:1,这样做到了负载均衡的目的。
现在我们假设在E-B间的metric为25,B-A间的metric为15。这样E-B-A的metric为40,因为40不小于2×20(20是可行的路径metric,2是variance值),这样在E-C-A和E-B-A之间不可以实现负载均衡。如果希望实现负载均衡,我们需要将 variance值设置为3。这样两条链路上的traffic share比率为
◆For path E-C-A: 40/20 = 2
◆For path E-B-A: 40/40 = 1
这样eigrp在E-C-A和E-B-A的流量比率为2:1。通过这样的方法,eigrp不仅支持了不等值的路由负载均衡,而且也支持了智能负载均衡
在关键字min使用时,traffic仅仅通过最小cost路径发送,即使在路由表中有多个路由路径
router eigrp 1
network x.x.x.x
variance 3
traffic-share min across-interfaces
这样配置的结果是,eigrp仅仅通过E-C-A的路径发送