通过自动汇总,可以达到减小路由表,减少路由更新所产生的流量的效果,自动汇总在网络的边界,将子网汇总成一个有类的网络,默认情况下自动汇总是默认开启的。
自动汇总,只对内部路由生效 内部路由就是EIGRP协议宣告的子网,外部网络就是通过重分布等其他方式进入EIGRP协议的路由条目
下面我们通过实验来证明:
实验拓扑图如下
配置接口IP地址,以及宣告路由协议
R1(config)#int lo 172
R1(config-if)#ip add 172.16.1.1 255.255.255.0
R1(config-if)#ip add 172.16.2.1 255.255.255.0 secondary
R1(config-if)#ip add 172.16.3.1 255.255.255.0 secondary
R1(config-if)#ip add 172.16.4.1 255.255.255.0 secondary
R1(config-if)#exit
R1(config)#int lo 192
R1(config-if)#ip add 192.168.1.1 255.255.255.0
R1(config-if)#ip add 192.168.2.1 255.255.255.0 secondary
R1(config-if)#ip add 192.168.3.1 255.255.255.0 secondary
R1(config-if)#ip add 192.168.4.1 255.255.255.0 secondary
R1(config-if)#exit
R1(config)#router eigrp 90
R1(config-router)#net 12.1.1.0 宣告12.1.1.0网段进入EIGRP
R1(config-router)#redistribute connected metric 10000 1000 255 1 1500 将直连路由重分布进入EIGRP,此时的路由条目对于EIGRP来说就是外部路由,管理距离为170
R1(config-router)#exit
R2#config
R2(config)#int f1/0
R2(config-if)#ip add 12.1.1.2 255.255.255.0
R2(config-if)#no shut
R2(config-if)#exit
R2(config)#router eigrp 90
R2(config-router)#net 12.1.1.0
R2(config-router)#exit
R3(config)#int f1/0
R3(config-if)#ip add 12.1.1.3 255.255.255.0
R3(config-if)#no shut
R3(config-if)#exit
R3(config)#router eigrp 90
R3(config-router)#net 12.1.1.0
R3(config-router)#exit
此时我们就将拓扑做通了。在查看每个路由器的路由表之前,我们先估每一台路由器的路由表应该是什么
R1 的路由表猜想:
C 12.0.0.0
C 12.1.1.0
C 172.16.1.0 172.16.2.0 172.16.3.0 172.16.4.0 192.168.1.0 192.168.2.0 192.168.3.0
192.168.4.0
R1上应该都是一些直连路由
那么我们看我们的猜测是否正确,查看R1的路由表
R1上都只直连路由
下面我们估算R2的路由表
c 12.1.1.0
c 12.0.0.0
dex 172.16.1.0 172.16.2.0 172.16.3.0 172.16.4.0
dex 192.168.1.0 192.168.2.0 192.168.3.0 192.168.4.0
那么我们现在查看R2的路由表
R3的路由表内容是与R2类似的
我们发现开启自动汇总的情况下,外部路由并没有被汇总
下面我们将外部路由变成内部路由,也就是取消重分布,把所有的路由宣告进入EIGRP
将R1的配置进行如下修改
此时我们再查看R2或R3的路由表
此时我们看到 172.16.1.0 172.16.2.0 等路由条目被汇总成了主类,也就是172.16.0.0/16
通过这个实验,我们就证明了
EIGRP协议的自动汇总仅针对内部路由有效
现在我们配置EIGRP内部路由条目的手工汇总
EIGRP手工汇总是将路由汇总后发出去,是对出去的路由生效,而不是对进来的路由生效
所以我们要在 R1的 F1/0上进行路由汇总
手工汇总可以对内部路由生效,那么我们在路由器R1上的f1/0接口进行路由汇总
我们继续在R1的 lo 192 上配置几个IP地址并将其宣告到EIGRP协议
我们发现在R1上添加了几个IP地址 192.168.5.1 192.168.6.1 并将其宣告到EIGRP,现在我们进行配置手工汇总,汇总192.168的路由条目
通过查看R1的路由表我们发现, 我们需要汇总6个IP地址 也就是192.168.1~192.168.6
那么什么掩码里面的主机数目大于6呢? 那么应该是 255.255.248.0
我们在R1的f1/0上执行下列命令
此时我们查看R2的路由表
我们看到,此时路由表里面已经没有 192.168.X.X的明细路由了只有一个汇总路由,也就是我们成功的将EIGRP内部路由进行了汇总
EIGRP外部路由手工汇总,通过前面实验我们发现EIGRP的外部路由不能自动汇总,那么外部路由可否手工汇总呢?
我们将R1的路由表恢复成下图的样子
此时在R1上进行手工汇总
我们在R1上对EIGRP外部路由进行汇总,在R2上查看路由表
我们看到R2上成功学习到汇总后的路由条目,可见手工汇总可以针对内部路由和外部路由
那么我们在汇总时候为什么使用掩码 255.255.248.0
如果是 255.255.248.0 那么可知 块大小为8 那么IP地址可划分出的子网为 172.16.0.0 172.16.8.0 172.16.16.0 等 而我们要汇总的路由条目 为172.16.1~4 在 0~8中间,故用掩码 255.255.255.248
那么用掩码 255.255.252.0 为什么不行
那通过这个掩码我们看到 块大小为 4 那么得出的IP子网为 172.16.0.0 172.6.4.0 而我们要汇总的地址是 172.16.1~ 172.16.4 我们知道 172.16.4和172.16.0 不是在同一个子网当中,故使用这个掩码是不正确的