转载自红茶三杯博客:http://blog.sina.com.cn/s/blog_5ec353710102vtfy.html

1. 关于路由汇总
  路由汇总,又被称为路由聚合(Route Aggregation or Route Summarization),指的是把一组明细路由汇聚成一条汇总路由的操作。
  路由汇总是一种重要的思想,在大型的项目中是必须考虑的一个重点事项。随着网络的规模越来越大,网络中的设备所需维护的路由表项也就会越来越多,路由表的规模也就会逐渐变大,而路由表是需要占用设备的内存空间的,路由的查询也是需要占用设备的资源的。因此我们需要考虑(尤其在一些大型的网络中)在保证网络中路由畅通的同时,减小路由表的规模。在不使用路由汇总的情况下,每个链路的LSA会发送到OSPF骨干一级其他区域中,这就造成了不必要的网络流量和路由开销。但假如使用路由汇总,只有汇总的路由会传播到骨干区域,避免了大量LSA占用带宽,CPU以及内存资源。即便链路出现了故障,这种变化也不会传播到骨干网络中,使得骨干网络更加稳定。
  几乎所有的路由协议都支持路由汇总。RIP、EIGRP等协议支持自动及手工路由汇总,而OSPF只支持手工路由汇总。
  OSPF有两种情形的手工自动汇总:域间汇总在ABR上进行,域外汇总需在ASBR上进行。

OSPF汇总的使用场景
  当OSPF域内某台ASBR(自治域边界路由器)设备重分布了大量的路由进入OSPF域内,而这些路由条目又是连续的,可以汇总成几条子网掩码更大的路由条目的时候,就可以考虑在ASBR设备上做路由汇总,以便向OSPF域内传递的时候只通告这些汇总的路由,减少OSPF域内的路由数量,节约设备资源。
       当OSPF域内某台ABR(区域边界路由器)设备学习到了普通区域传递过来的大量的路由,而这些路由条目又是连续的,可以汇总成几条子网掩码更大的路由条目的时候,就可以考虑在这台ABR设备上做路由汇总,以便这些路由条目经过骨干区域(area 0)传递到其他普通区域的时候只通告这些汇总的路由,减少OSPF域内的路由数量,节约设备资源。

2. 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上执行路由汇总

  

  在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上执行路由汇总

  

  在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上执行路由汇总

  

  将网络做一点小小的变更,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汇总路由的防环设计

  

  在上图所示的场景中,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的路由是一种非常常规的防环手段,许多动态路由协议都具备这个特征。

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下放的

  

OSPF路由汇总的更多相关文章

  1. OSPF路由汇总和默认路由设置

    目标 掌握OSPF路由汇总的配置 掌握OSPF默认路由的配置 一.——区域间汇总 配置IP,R2四个环回口 R1(config)#inter s1/0 R1(config-if)#ip add 200 ...

  2. 神州数码OSPF路由汇总配置

    实验要求:掌握OSPF路由汇总配置 拓扑如下 R1 enable 进入特权模式 config 进入全局模式 hostname R1 修改名称 interface s0/1 进入端口 ip addres ...

  3. HCNP Routing&Switching之OSPF LSA更新规则和路由汇总

    前文我们了解了OSPF外部路由类型以及forwarding address字段的作用,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15225673.html: ...

  4. 【原创】锐捷实现OSPF路由协议和NAT地址转换协议

    路由网络设计与实施 [锐捷设备实现OSPF路由协议与NAT地址转换] 说明:   本文是在多VLAN双星型交换网络的基础之上发展的.关于组建多VLAN双星型交换网络,请参阅: <思科和锐捷组建多 ...

  5. 综合练习1,划分vlan,单臂路由,DHCP服务及其限制网段、租期,设置根桥,OSPF路由通告综合练习

    实验要求: 1.在LSW1上分别给vlan10和vlan20做DHCP网段分别为192.168.10.0/24.192.168.20.0/24禁用192.168.10.200-253,192.168. ...

  6. 基于 OSPF 路由的邻居邻接关系发现实践

    1.实验目的 理解 OSPF 邻居关系和 OSPF 邻接关系的含义及差别 观察 OSPF 邻居邻接关系的建立过程 观察 OSPF 链路状态数据库的同步过程 2.实验原理 OSPF 网络中,路由器在发送 ...

  7. 两台CISCO2691测试静态路由汇总,浮动静态路由和负载分担静态路由配置

    Dynagen的配置文件内容: #Lab - autostart = False [localhost] [[]] ram = image = C:\Program Files (x86)\Dynam ...

  8. laravel之路由汇总

  9. H3C 显示OSPF路由信息

随机推荐

  1. 项目实战--JSON.toJSONString()

    需求说明:公司使用Swagger(接口文档在线生成工具),为了让前端同事更好的了解传入参数的详细情况,应用项目中接口(eg:分页查询接口)中使用dto对象来接受前端传入的参数,但是后面中心项目中接口是 ...

  2. 使用CSS的clip-path实现图片剪切效果

    最近有个业务需求:校对图片文本信息,如下图所示,当鼠标点击文本中某一行的时候,文本上会显示对应行图片同时左侧会显示对应位置的画框. clip-path 今天要说的主题是:如何剪切原图中的部分图片?(前 ...

  3. 2021升级版微服务教程5—通过IDEA运行多个项目实例「模拟集群」

    2021升级版SpringCloud教程从入门到实战精通「H版&alibaba&链路追踪&日志&事务&锁」 教程全目录「含视频」:https://gitee.c ...

  4. 为linux添加一块新硬盘并分区

    一---如何增加一块硬盘1:虚拟机添加硬盘2:分区3:格式化4:挂载5:设置可以自动挂载 1---设置里面 2---分区命令 fdisk /dev/sdb开始分区m显示命令列表p显示磁盘分区 同fdi ...

  5. 【Oracle】更改oracle中的用户名称

    修改oracle中的用户名,要需要修改oracle基表中的相关内容, 1.查看user#, select user#,name from user$ s where s.name='用户修改前的'; ...

  6. ctfhub技能树—信息泄露—git泄露—Stash

    打开靶机环境 查看页面内容 使用dirsearch进行扫描 使用Githack工具处理git泄露情况 进入.git/refs目录 发现stash文件,使用notepad++打开文件 使用git dif ...

  7. 快速查询表中的NULL数据

    正常情况下,NULL值是不会放入B-TREE索引的,因此根据IS NULL查询的时候走的通常是全表扫描,如果记录比较少还好,记录比较多,查询会非常耗时 可以通过创建一个索引来解决 CREATE IND ...

  8. 欢迎来到 ZooKeeper 动物世界

    本文作者:HelloGitHub-老荀 Hi,这里是 HelloGitHub 推出的 HelloZooKeeper 系列,免费有趣.入门级的 ZooKeeper 开源教程,面向有编程基础的新手. Zo ...

  9. Angular入门到精通系列教程(13)- 路由守卫(Route Guards)

    1. 摘要 2. 路由守卫(Route Guards) 2.1. 创建路由守卫 2.2. 控制路由是否可以激活 2.3. 控制路由是否退出(离开) 3. 总结 环境: Angular CLI: 11. ...

  10. ovs-fields

    1. 字段匹配 精确匹配 field=value,如,nw_src=10.1.2.3. 按位匹配 field=value/mask,如,nw_src=10.1.0.0/255.255.0.0,nw_s ...