开放式最短路径优先(OSPF)的生成方式和默认路由(0.0.0.0)的通告方式随着默认路由所注入的区域类型的变化而变化。本文档中涵盖了正常区域、末节区域/完全末节区域和次末节区域 (NSSA)。
有关文件规则的更多信息请参见“ Cisco技术提示规则”。
本文档没有任何特定的前提条件。
本文档不限于特定的软件和硬件版本。
正常区域:此类区域可以是标准区域或中转(骨干)区域。标准区域是指可接受区域内、区域间及外部路由的区域。骨干区域是指 OSPF 中其他所有区域所连接的中心区域。
注意:区域内路由是指在区域内传递的更新。区域间路由是指在区域之间传递的更新。外部路由是指自治系统边界路由器(ASBR)从另一路由协议传入OSPF域的更新。
末节区域:这些区域不接受属于外部自治系统(AS)的路由;但是,此类区域存在区域间和区域内路由。为了到达外部网络,末节区域中的路由器使用被注入区域边界路由器(ABR)区域的默认路由。末节区域一般配置在分支机构不需要了解其到他办公室的所有路由的情况,相反可能使用默认路由到中心局然后再从中心局到其它地方。由于叶节点路由器的内存要求降低,因此 OSPF 数据库的大小要求也降低。
要将某个区域定义为末节区域,请使用 OSPF 路由器配置命令 area <area id> stub
完全末节区域: 除了默认路由传播的内部区域以外,这些区域都不允许路由。ABR 将默认路由注入到区域中,并且属于此区域的所有路由器使用默认路由,以将任何数据流发送到外面区域。
要定义完全末节区域,请在 ABR 上使用 OSPF 路由器配置命令 area <area id> stub no-summary。
NSSA:此区域类型允许将少数几个外部路由灵活导入区域内部,同时设法保留末端特性。假设末节区域的某个路由器连接到运行不同路由协议的外部 AS,该路由器现在便成为 ASBR,因此该区域不再称为末节区域。然而,如果区域配置为NSSA,ASBR会生成可以注入NSSA区域中的NSSA外部链路状态通告(LSA) (类型-7)。这些 Type-7 LSA 在 NSSA ABR 中转换成为 Type-5 LSA,并在 OSPF 域中泛滥。
要定义 NSSA,请使用 OSPF 路由器配置命令 area <area id> nssa。
有关 NSSA 的详细信息,请参阅 OSPF 次末节区域。
默认情况下,在正常区域中,OSPF 路由器不生成到它们的路由域的默认路由,即使存在默认路由。要让 OSPF 路由器生成默认路由,使用 OSPF 路由器配置模式的 default-information originate [always] [metric metric-value] [metric-type type-value] [route-map map-name] 命令。这生成一个带链接状态ID 0.0.0.0和网络掩码0.0.0.0的第2类外部连接,从而使路由器成为ASBR。
采用上述命令,可以指定度量和默认路由的度量类型。默认值为metric = 1,metric-type = E2。要了解有关外部类型1和类型2路由的详细信息,请参阅《OSPF设计指南》中的Redistributing Routes into OSPF部分。
可通过两种方式向正常区域注入默认路由。
如果 ASBR 在其路由表中已经有默认路由,您可以使用 default-information originate router configuration 命令,将现有的 0.0.0.0/0 通告到 OSPF 域。
如果 ASBR 没有默认路由,您可以将关键字 always 添加到 default-information originate 命令 (default-information originate always)。
此命令将向OSPF域通告默认路由,而不管它是否有到0.0.0.0的路由。添加always关键字的另一个好处是它可以为网际网络添加稳定性。例如,如果 ASBR 正在从其他路由域(比如 RIP)获取默认路由,并且该路由正在抖动,每一次路由抖动并不总是需要关键字,ASBR 会将新型 5 LSA 发送到 OSPF 域,导致 OSPF 域中的若干不稳定性。使用关键字,ASBR 可以一直通告 OSPF 域中的默认值,这样 RIP 域中的默认路由抖动不会导致 OSPF 域中的任何不稳定性。
有关 OSPF 如何将默认路由注入正常区域的配置示例,请参阅 OSPF 如何将默认路由注入正常区域。
在末节区域和完全末节区域中,到末节区域的ABR生成链路状态ID为0.0.0.0的汇总LSA。即使ABR没有自己的默认路由,也是如此。在这种情况下,不需要使用 default-information originate 命令。
如前面所述,外部路由不在末节区域中传播,即使是区域间路由(汇总路由)也不在完全末节区域中传播。这些区域中的路由器使用 ABR 生成的默认路由,到达区域外的目的地。
关于 OSPF 如何将默认路由注入末节或完全末节区域的示例配置,参见 OSPF 如何将默认路由注入末节或完全末节区域。
NSSA 的 ABR 将会生成默认路由,但不是在默认情况下生成的。要强制 ABR 生成默认路由,请使用 area <area id> nssa default-information originate 命令。ABR生成带有连接状态 ID 0.0.0.0 的第 7 类 LSA,并且在 NSSA 内部进行通告。此默认路由将在 NSSA 中作为类型 7 LSA 进行传播
通告 NSSA 中的默认路由的另外一种办法就是使用 area <area id> nssa no-summary 命令。
使用无汇总关键字,NSSA ABR 不会通告 NSSA 中的区域间路由(类型 3 和类型 4 汇总路由),而是通告默认路由。此默认路由将在 NSSA 中作为类型 3 LSA 进行传播。
要获得示例配置,显示 OSPF 如何将默认路由注入到 NSSA,请参考“OSPF 如何将默认路由注入到 Not So Stubby 区域”。
欲知 NSSA 如何生成默认路由的更多信息,请参阅 OSPF 非末节区域中 NSSA 部分的默认路由。