加载中…
个人资料
红茶三杯
红茶三杯
  • 博客等级:
  • 博客积分:0
  • 博客访问:1,268,500
  • 关注人气:1,825
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

【OSPF】路由汇总

(2015-04-12 18:59:10)
标签:

ospf

红茶三杯

分类: Routing
1. 关于路由汇总

路由汇总,又被称为路由聚合(Route Aggregation or Route Summarization),指的是把一组路由汇聚成一条路由条目的操作。这组路由被称为明细路由,而所汇聚成的路由被称为汇总路由。路由汇总是一种重要的思想,在大型的项目中是必须考虑的一个重点事项。我们都知道,随着网络的规模越来越大,网络中的设备所需维护的路由表项也就会越来越多,路由表的规模也就会逐渐变大,而路由表是需要占用设备的内存空间的,路由的查询也是需要占用设备的资源的,因此我们需要考虑(尤其在一些大型的网络中)在保证网络中路由畅通的同时,减小路由表的规模。路由汇总就是一个有效的手段。几乎所有的路由协议都支持路由汇总。RIP、EIGRP等协议支持自动及手工路由汇总,而OSPF只支持手工路由汇总。OSPF支持两种形式的手工自动汇总:一种部署在ABR上,另一种则部署在ASBR上。

2. OSPF路由汇总案例

【OSPF】路由汇总
网络拓扑如上图所示。R1、R2、R3、R4及R5运行OSPF,OSPF区域的规划如图。
R5将三个直连网段(172.16.1.0/24、172.16.2.0/24及172.16.3.0/24)都network到OSPF。
R1将三个直连网段(10.1.1.0/24、10.1.2.0/24及10.1.3.0/24)都重发布到OSPF。
完成上述配置后,所有的路由器应该都能学习到全网的路由。

2.1 在ABR上执行路由汇总

【OSPF】路由汇总

在R3(ABR)上对Area2内的路由执行汇总:
R3(config)# router ospf 1
R3(config-router)# area 2 range 172.16.0.0 255.255.0.0 cost ?

注意,这种汇总方式(area range)只能在ABR上配置,而且只能对ABR直接连接的区域中的Intra-Area路由(区域内部路由)执行汇总。R3执行汇总后,R1及R2的路由表中将出现172.16.0.0/16的汇总路由,而不会再学习到明细路由。如此一来,R1及R2的路由表就精简了,而且当它们需要访问R5下挂的那三个网段时,可以通过这条汇总路由到达。

要强点的是,如果不是在R3,而是在R2上对R5下挂的网段进行汇总,则无法实现。因此此时R3作为ABR,已经将描述这些网段的3类LSA注入到了Area0,而在R2上,是无法对这些3类LSA进行路由汇总的。

2.2 在ASBR上执行路由汇总

【OSPF】路由汇总

在R1上对其自己重发布进OSPF的路由执行汇总:
router ospf 1
  summary-address 10.1.0.0 255.255.0.0
完成上述配置后,R2、R3、R4及R5都会学习到一条10.1.0.0/16的汇总路由(使用Type-5 LSA描述),而不会再学习到10.1.1.0/24、10.1.2.0/24以及10.1.3.0/24这三条明细路由。

2.3 在NSSA的ABR上执行路由汇总

【OSPF】路由汇总

将网络做一点小小的变更,Area1被配置为NSSA。R1将三条直连路由引入NSSA,R2会学习到这三条外部路由(Type-7 LSA),并执行Type-7 LSA转Type-5 LSA的动作,因此其实R2既是ABR又是ASBR,这些Type-5 LSA是由其产生的,那么R2也能执行路由汇总:
router ospf 1
  summary-address 10.1.0.0 255.255.0.0

3. OSPF汇总路由的防环设计

【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。这就出现了环路。

OSPF为了解决这个问题,在执行路由汇总时,会在本地自动产生一条指向Null0的路由。例如在R3处执行了路由汇总,则它会自动产生一条指向Null0的路由:
O       172.16.0.0/16 is a summary, 00:00:02, Null0
这样一来当再有类似事件发生,数据包将在R3这就被丢弃(匹配Null0路由)。
实际上,当执行路由汇总时,自动在本地路由表产生一条指向Null0的路由是一种非常常规的防环手段,许多动态路由协议都具备这个特征。




红茶三杯

网络工程 | 数据通信 | 项目管理
学习 沉淀 成长 分享

红茶三杯版权所有,转载请注明出处

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有