转载自红茶三杯博客:http://blog.sina.com.cn/s/blog_5ec353710102vtfy.html
当OSPF域内某台ABR(区域边界路由器)设备学习到了普通区域传递过来的大量的路由,而这些路由条目又是连续的,可以汇总成几条子网掩码更大的路由条目的时候,就可以考虑在这台ABR设备上做路由汇总,以便这些路由条目经过骨干区域(area 0)传递到其他普通区域的时候只通告这些汇总的路由,减少OSPF域内的路由数量,节约设备资源。
2. OSPF路由汇总案例(一)
网络拓扑如上图所示。R1、R2、R3、R4及R5运行OSPF,OSPF区域的规划如图。
在R3(ABR)上对Area2内的路由执行汇总:
2.2 在ASBR上执行路由汇总
在R1上对其自己重发布进OSPF的路由执行汇总:
2.3 在NSSA的ABR上执行路由汇总
将网络做一点小小的变更,Area1被配置为NSSA。R1将三条直连路由引入NSSA,R2会学习到这三条外部路由(Type-7 LSA),并执行Type-7 LSA转Type-5 LSA的动作,因此其实R2既是ABR又是ASBR,这些Type-5 LSA是由其产生的,那么R2也能执行路由汇总:
3. OSPF汇总路由的防环设计
在上图所示的场景中,R3将R5下挂的三个子网汇总成172.16.0.0/16并向R2通告这条汇总路由。R1则下发一条OSPF默认路由到整个OSPF域。此时R5下挂的某个子网里有PC中毒,疯狂扫描一个并不存在的子网的IP地址(如172.16.222.0/24子网),这些数据包被发给网关R5,R5通过路由表查询,最终将这些报文依照默认路由进行转发,也就是发送给R4,而R4也一样,将报文依照默认路由转发给R3,R3再转给R2,而R2由于已经收到R3传递过来的汇总路由(172.16.0.0/16),因此经过路由表查询后,数据包的目的地址匹配上了这条汇总路由,于是它又把这些数据包丢回去给R3,数据包的目的地址在R3处匹配了默认路由,又被丢回R2,如此反复,直到报文的TTL递减为0。这就出现了环路。
4. OSPF路由汇总案例(二)
域间汇总,在ABR上进行
R1配置:
router ospf 100
router-id 1.1.1.1
network 1.1.1.1 0.0.0.0 area 0
network 12.1.1.0 .0.0.0.255 area 0
R2配置:
router ospf 100
router-id 2.2.2.2
network 2.2.2.2 0.0.0.0 area 0
network 12.1.1.0 0.0.0.255 area 0
network 23.1.1.0 0.0.0.255 area 1
network 24.1.1.0 0.0.0.255 area 2
R3配置:
router ospf 100
router-id 3.3.3.3
network 3.3.3.3 0.0.0.0 area 1
network 192.168.20.1 0.0.0.255 area 1
network 192.168.21.1 0.0.0.255 area 1
network 192.168.22.1 0.0.0.255 area 1
network 192.168.23.1 0.0.0.255 area 1
network 23.1.1.0 0.0.0.255 area 1
R4配置:
router ospf 100
router-id 4.4.4.4
network 4.4.4.4 0.0.0.0 area 2
network 192.168.32.0 0.0.0.255 area 2
network 192.168.33.0 0.0.0.255 area 2
network 192.168.34.0 0.0.0.255 area 2
network 192.168.35.0 0.0.0.255 area 2
network 192.168.36.0 0.0.0.255 area 2
network 192.168.37.0 0.0.0.255 area 2
network 192.168.38.0 0.0.0.255 area 2
network 192.168.39.0 0.0.0.255 area 2
network 24.1.1.0 0.0.0.255 area 2
show ip route 查看路由表可以看见,由于域间路由的传播,R1上多达进20条路由,有R3宣告的4个。R4宣告的8个192.68网段的路由如果不进行汇总,会泛洪到全网,所以我们应该在Area 1和Area 2的ABR,也就是R2上进行汇总操作,具体操作如下:
R2(config)#router ospf 100
R2(config-router)#area 1 range 192.168.20.0 255.255.252.0
R2(config-router)#area 2 range 192.168.32.0 255.255.248.0
此时查看R1的路由表,发现
O IA 192.168.20.0/22 [110/21] via 12.1.1.2
O IA 192.168.32.0/21 [110/12] via 12.1.1.2
可以看见,Area 1和Area 2上的192.168网段已经完成了汇总。这样会节省很多资源,拓扑发生变化也不会影响Area 0的路由表。
域外汇总,在ASBR上进行
拓扑图不变,但将Area 2变为EIGRP
R2更改配置
router ospf 100
no network 24.1.1.0 0.0.0.255 area 2
router eigrp 90
no auto-summary
network 24.1.1.0 0.0.0.255
R4更改配置
no router ospf 100
router eigrp 90
no auto-summary
network 24.1.1.0 0.0.0.255
network 4.4.4.4 0.0.0.0
network 192.168.32.0 0.0.0.255
network 192.168.33.0 0.0.0.255
network 192.168.34.0 0.0.0.255
network 192.168.35.0 0.0.0.255
network 192.168.36.0 0.0.0.255
network 192.168.37.0 0.0.0.255
network 192.168.38.0 0.0.0.255
network 192.168.39.0 0.0.0.255
之后在R2上进行双向重分发
router ospf 100
redistribute eigrp 90 subnets
router eigrp 90
redistribute ospf 100 metric 1000 1 255 1 1500
可以看见O E2标记的为外部的EIGRP路由,并没有汇总。
在R2上进行域间路由汇总
router ospf 100
summary-address 192.168.32.0 255.255.248.0
然后查看R1的路由表
O IA 192.168.20.0/22 [110/21] via 12.1.1.2
O E2 192.168.32.0/21 [110/20] via 12.1.1.2
已经完成汇总。
5. 默认路由下放
假如有一条通往Internet的默认路由,但如何将它下放到ospf域内的所有路由器呢,以免一台一台的配置?接下来还是按照上一个含EIGRP的拓扑图来演示一下:
假定R2去往R4的就是默认路由,那么先在R2上面进行配置:
R2:
ip route 0.0.0.0 0.0.0.0 f1/0
在Area 0和Area 1进行下放默认路由.
router ospf 100
default-information originate
R1的路由表:
O*E2 0.0.0.0/0 [110/1] via 12.1.1.2
O IA 192.168.20.0/22 [110/21] via 12.1.1.2
O E2 192.168.32.0/21 [110/20] via 12.1.1.2
R3的路由表:
O*E2 0.0.0.0/0 [110/1] via 23.1.1.2
O E2 192.168.32.0/21 [110/20] via 23.1.1.2
我们都看到了O*E2的这条默认路由标记,因为下方的路由属于静态的路由,自然属于OSPF域外路由,所以标记为O E2,单又是默认路由,所以就是O*E2。
那如果我们没有在R2上配置默认路由,但我们想让其他设备将通往R2的路由设置为默认路由该如何进行配置呢?
首先我们将R2还原。此时R1的路由表的默认路由消失。
然后我们在OSPF进程下进行下放默认路由:
default-information originate always
此时查看R1的路由表:
O*E2 0.0.0.0/0 [110/1] via 12.1.1.2
综上,共有两种方式下放默认路由:
在本地有默认路由的情况下
R2(config-router)#default-information originate
本地没有默认路由的情况下,强行下放默认路由
R2(config-router)#default-information originate always
默认cost=1并且是一个由LSA-5下放的