与RIP不同,OSPF不支持自动路由聚合,仅支持手动路由聚合。OSPF路由聚合有两种机制:区域间路由聚合和外部路由聚合。区域间路由聚合必须配置在ABR路由器上,指的是ABR在把与自己直接相连区域(Area)中的Type-1和Type-2 LSA转换成Type-3 LSA时,对生成的Type-3 LSA进行聚合。外部路由聚合必须配置在ASBR路由器上,指的是ASBR对Type-5 LSA进行聚合。

区域间路由聚合是ABR对自己直接相连区域内的路由进行聚合,从而减少传播至与自己直接相连的其它区域的Type-3 LSA 的数量。需要注意:区域间路由只能聚合由Type-1 LSA 或 Type-2 LSA产生的路由;如果路由器由外部或其它区域传到本区的(或者说路由是由Type-5 LSA或Type-3 LSA 生成的),则对于这样的路由ABR是不能够进行聚合的。

外部路由聚合是指在ASBR路由器上针对引入OSPF网络的外部路由进行的聚合,目的是减少在OSPF网络中的Type-5 LSA 的数量。外部路由聚合必须在外部路由进入OSPF网络的ASBR上进行;外部路由进入OSPF网络后,在ABR上是无法对相应的Type-5 LSA进行聚合的。

对于NSSA区域,当该区域的ABR将Type-7 LSA 转换为 Type-5 LSA 时,该ABR也可以充当ASBR的角色,并对Type-5 LSA 进行聚合。需要注意:当NSSA区域存在多台ABR时,必须由Router-ID 最大的ABR进行Type-7 LSA 到 Type-5 LSA的转换操作。NSSA区域的外部路由聚合有两种方式,一种是在NSSA区域的ASBR上直接对外部路由进行聚合,另一种是在NSSA区域中 Router-ID 最大的、负责将Type-7 LSA 转换成Type-5 LSA 的ABR上进行聚合。

R1、R2、R3为公司总部网络路由器,R4为分支机构路由器,R5为外部非OSPF网络的路由器,SW1为总部内部交换机,R1、R2、R3、R4、SW1运行OSPF协议。PC1、PC2、PC3、分别属于vlan2 vlan 3 vlan 4。SW1与R1之间的链路属于vlan5,且属于区域1。R1与R2 R1与R3之间链路属于区域0。R4与R2 R4与R3属于区域2。区域2 是一个NSSA区域,R4使用静态路由去往R5的Loopback接口所模拟的外部网络。网络管理员需要在实现全网互通的前提下,尽可能地精简LSDB和优化路由表。

ospf可以使用聚合口吗 ospf的路由聚合可以在哪类_路由表

接口IP配置不赘述,接下来部署OSPF。

SW1配置

ospf可以使用聚合口吗 ospf的路由聚合可以在哪类_路由器_02


ospf可以使用聚合口吗 ospf的路由聚合可以在哪类_运维_03


R1配置

ospf可以使用聚合口吗 ospf的路由聚合可以在哪类_运维_04


R2配置

ospf可以使用聚合口吗 ospf的路由聚合可以在哪类_运维_05


R3配置

ospf可以使用聚合口吗 ospf的路由聚合可以在哪类_路由器_06


R4配置OSPF 并配置去往外部网络的静态路由,并进行引入。

ospf可以使用聚合口吗 ospf的路由聚合可以在哪类_ospf可以使用聚合口吗_07

//查看R1的邻居状态(状态都为Full)

ospf可以使用聚合口吗 ospf的路由聚合可以在哪类_运维_08

//查看R1的路由表

ospf可以使用聚合口吗 ospf的路由聚合可以在哪类_网络_09

ospf可以使用聚合口吗 ospf的路由聚合可以在哪类_ospf可以使用聚合口吗_10


//可以看到R1上已经接收到了所有的非直连路由,全网已经实现了互通。//查看R2的LSDB

ospf可以使用聚合口吗 ospf的路由聚合可以在哪类_运维_11

ospf可以使用聚合口吗 ospf的路由聚合可以在哪类_路由表_12


//可以看到目前R2为每一台PC所属的网络都单独维护了Type-3 LSA (Sum-Net LSA)//查看R2的路由表

ospf可以使用聚合口吗 ospf的路由聚合可以在哪类_ospf可以使用聚合口吗_13


//可以看到目前R2的路由表中拥有每一台PC所属网络的路由。为了减少LSDB中Type-3 LSA 的数量以及路由表中路由条目的数量,下面进行区域间路由聚合。//在SW1上使用命令 abr-summary 配置区域间路由聚合

ospf可以使用聚合口吗 ospf的路由聚合可以在哪类_路由器_14

//查看R1的LSDB及路由表

ospf可以使用聚合口吗 ospf的路由聚合可以在哪类_网络_15


ospf可以使用聚合口吗 ospf的路由聚合可以在哪类_路由表_16


//可以看到,R1的LSDB中为每一台PC所属的网络都单独维护了 Type-3 LSA,在路由表中为每一台PC所属的网络都单独维护了路由,说明配置区域间路由聚合并没有产生作用,原因是只有在ABR上才能进行区域间的路由聚合。删除SW1上的路由聚合配置

[SW1-ospf-10-area-0.0.0.1]undo abr-summary 20.0.0.0 255.255.252.0//在ABR路由器R2的区域0中配置域间路由聚合

ospf可以使用聚合口吗 ospf的路由聚合可以在哪类_路由器_17


//查看R4的LSDB及路由表

ospf可以使用聚合口吗 ospf的路由聚合可以在哪类_路由表_18


ospf可以使用聚合口吗 ospf的路由聚合可以在哪类_ospf可以使用聚合口吗_19


//可以看到R4在LSDB中为每一台PC所属的网络单独维护了 Type-3 LSA ,在路由表中为每一台PC所属的网络都单独维护了路由,ABR路由器R2上配置的区域路由聚合也没有产生作用,原因是ABR只能对自己直连的区域进行区域间路由聚合。删除R2上的路由聚合配置

[R2-ospf-10-area-0.0.0.0]undo abr-summary 20.0.0.0 255.255.252.0//在ABR路由器R1区域1中配置路由聚合

ospf可以使用聚合口吗 ospf的路由聚合可以在哪类_ospf可以使用聚合口吗_20


//查看R2的LSDB及路由表

ospf可以使用聚合口吗 ospf的路由聚合可以在哪类_ospf可以使用聚合口吗_21


ospf可以使用聚合口吗 ospf的路由聚合可以在哪类_路由器_22


可以看到,R2的LSDB中没有为每一台所属的网络单独维护 Type-3 LSA,维护的是聚合后的 Type-3 LSA;R2的路由表中去往每一台PC所属的网络明细路由也被聚合后的路由取代了。//配置外部路由聚合

以 Type-7 LSA 的形式进入OSPF网络的外部路由仍然未被聚合,LSDB仍然会为每一条外部路由单独维护一条LSA,路由表中也会为每一条这样的LSA产生明细路由。

R4上使用 asbr-summary 配置外部路由聚合

ospf可以使用聚合口吗 ospf的路由聚合可以在哪类_路由器_23


//查看R4的LSDB及路由表

ospf可以使用聚合口吗 ospf的路由聚合可以在哪类_ospf可以使用聚合口吗_24

ospf可以使用聚合口吗 ospf的路由聚合可以在哪类_ospf可以使用聚合口吗_25


//可以看到R1的LSDB中没有明细 Type-5 LSA,只有聚合了的 Type-5 LSA,R1的路由表中也没有外部网络的明细路由,只有聚合后的路由。//查看R2的LSDB及路由表

ospf可以使用聚合口吗 ospf的路由聚合可以在哪类_运维_26


ospf可以使用聚合口吗 ospf的路由聚合可以在哪类_运维_27


//可以看到,R2的LSDB中没有明细 Type-5 LSA和Type-7 LSA,只有聚合后的Type-5 LSA 和 Type-7 LSA,R2的路由表中没有外部网络的明细路由,只有聚合后的路由。

//在NSSA区域的ABR上配置外部路由聚合
由于区域2是NSSA区域,该区域的ABR路由器会将 Type-7 LSA 转换为 Type-5 LSA,并泛洪到区域0。
先删除R4上的路由聚合配置,然后在区域2的ABR路由器R2上配置外部路由聚合
[R4-ospf-10]undo asbr-summary 20.0.5.0 255.255.255.252

[R2-ospf-10]asbr-summary 20.0.5.0 255.255.255.252

//查看R1的LSDB

ospf可以使用聚合口吗 ospf的路由聚合可以在哪类_路由表_28


//可以观察到,R1的LSDB中针对每一条外部明细路由都有一条相应的Type-5 LSA ,说明在ABR路由器R2上进行的外部路由聚合配置并未生效。原来,将 Type-7 LSA 转换为Type-5 LSA 的是Router-ID 较大的ABR路由器R3,所以,在R2上进行的外部路由聚合配置不能生效。//查看R1上的路由表

ospf可以使用聚合口吗 ospf的路由聚合可以在哪类_运维_29


//可以看到R1上的路由全部是明细路由

现在保留R2上的外部路由聚合配置,并在R3上配置外部路由聚合。
[R3-ospf-10]asbr-summary 20.0.5.0 255.255.255.252

配置完成后,查看R1的LSDB及路由表

ospf可以使用聚合口吗 ospf的路由聚合可以在哪类_路由器_30


ospf可以使用聚合口吗 ospf的路由聚合可以在哪类_路由表_31


//

可以看到R1的LSDB中没有明细的 Type-5 LSA,只有 Advrouter为R3(10.0.3.3)的聚合后的 Type-5 LSA,路由表中没有外部网络的明细路由,只有外部网络的聚合路由下一跳为R3(10.0.13.3),这说明R3上外部路由聚合配置已经生效。

关闭R3的G0/0/1接口,模拟故障。
[R3]int g 0/0/1
[R3-GigabitEthernet0/0/1]shutdown

//查看R1的LSDB

ospf可以使用聚合口吗 ospf的路由聚合可以在哪类_ospf可以使用聚合口吗_32


//可以看到R1上聚合后的Type-5 LSA 的Abvrouter变成了R2(10.0.2.2)。查看R1的路由表

ospf可以使用聚合口吗 ospf的路由聚合可以在哪类_网络_33


//可以看到R1去往外部网络的聚合路由的下一跳变成了R2(10.0.12.2)。说明,ABR路由器R2上的外部路由聚合配置是,对ABR路由器R3上的外部路由聚合配置的一个冗余备份。