1 EIGRP的metric计算
M=[107/BW(min)+Delay(sum)/10]×256
以上图为例
,
如果
R1
学习
R3
的
loopback0
:
2.2.2
.2
的路由,则
BW
(
min
):为
R3
的
loopback0
、
R2
的
S0/1
、
R1
的
S0/0
接口中最小的一个,单位
Kb
。
Delay(sum)
:为
R3
的
loopback0+R2
的
S0/1+R1
的
S0/0
之和,单位
usec
。
实例:
R1
:
E 2.2.2 .2/32 [90/158720] via 172.1.1.1, 00:06:20, fastethernet0
S0/0 Metric: 0, MTU: 1500, BW: 100000 Kbps, DLY: 100 usec
R2
:
S0/1 Metric: 0, MTU: 1500, BW: 100000 Kbps, DLY: 100 usec
R3
:
loopback0 Metric: 0, MTU: 32768, BW: 8000000 Kbps, DLY: 5000 usec
[107/100000+5200/10]*256=158720
注意,在计算过程中出现小数的,将小数部分直接全部丢弃,不做四舍五入处理。
2、EIGRP的负载均衡
负载均衡是指路由器在其离目标地址的距离相同的所有网络端口之间分配数据流的能力。
注意:负载均衡只针对经过路由器的数据流,而不针对当前路由器生成的数据流。
2.1 等值负载均衡
只要通过两条路径学习到的
Metric
值相等即可,根据上述公式可知通过修改
BW
、
Delay
或
offset
可实现,一般建议通过后两种方式实现,因为修改
BW
容易出现小数,计算相对比较麻烦。
2.1.1 修改Delay实现等值负载均衡
由此图可见当前路径选择的时
metric
为
158720
的路由,此时我们只要将两者的
metric
值调整为相同即可实现等值负载均衡,此处我们可以将两个
metric
调整为
158720
或
412160
都可以,以将
158720
调整为
412160
为例
,
实际上就是一个简单数学计算的过程,根据上述公式算得可将
R1
的
F1/0
口
delay
调整为
10000usec
即可实现(当然调整
R3
的
F1/0
口或者
R4
的
loopback0
口都可以)。
注意:上述环境我是在
cisco
模拟器上实现的,在接口下修改
delay
时,思科的应修改时需要调整数的
1/10,
如上述我们要调整为
10000usec
,则
delay
需设置为
1000
,而在我们
1762
上试验直接设置计算出来的值(
10000
)即可,
6.1.25
的版本。
2.1.2 通过offset(只可将小的metric改大)实现
如上例,我们只需将
R4
的
F1/0
口学习到的路由
metric
调整为
412160
,那么在
R3
上通过以下设置实现
2553440=412160-158720
access-list 1 permit 10.0.0 .1
offset-list 1 out 253440 f 0/0
2.2 非等值负载均衡
实现非等值负载均衡的条件是什么:
1.
当前
FD
必须大于从下一跳路由器获悉的
AD
。
2.
当前
FD
和
multiplier
的乘积大于下一跳路由的度量值。
由此图可见满足第一个条件
158720>156160,
再通过调整
variance
(范围
1-128
)
实现条件
2
即可达到非等值负载均衡的目的。
还是取上例,
158720*3=476160>412160,
所以我们在这里只要将
R1
上的
variance
值设置的
>=3
即可