IP : 开放最短路径优先 (OSPF)

什么是OSPF 区域和虚拟链路?

2015 年 8 月 28 日 - 机器翻译
其他版本: PDFpdf | 英语 (2015 年 4 月 22 日) | 反馈


目录


简介

本文档介绍开放最短路径优先 (OSPF) 区域和虚拟链路。

先决条件

要求

本文档没有任何特定的要求。

使用的组件

本文档不限于特定的软件和硬件版本。

规则

有关文档规则的详细信息,请参阅 Cisco 技术提示规则

什么是区域、Stub 区域和 Not-So-Stubby 区域?

OSPF 网络可划分为多个子域,每个子域称为区域。区域是一系列 OSPF 网络、路由器和连接的逻辑集合,这些 OSPF 网络、路由器和连接具有相同的区域标识。区域内的路由器必须为所属的区域保存拓扑数据库。路由器没有有关区域外网络的详细信息,从而缩小了数据库的规模。

区域可限制路由信息分发的范围。在一个区域内无法执行路由更新过滤。必须正确地同步链路状态数据库(LSDB)在同一个区域内的路由器和是相同的;但是,在不同区域之间可以进行路由汇总和过滤。创建区域的主要优点是通过路由过滤和汇总减少要传播的路由数量。

分成不同区域的每个 OSPF 网络必须遵循以下规则:

  • 主干区域 - 该区域将一组独立的区域组成单个域,必须存在。

  • 每个非主干区域必须直接连接到主干区域(虽然该连接可能是通过虚拟链路建立的简单逻辑连接)。

  • 在任何故障情况下(如链路断开或路由器出现故障),主干区域均不得进行分割(分成更小的部分)。

    警告 警告: 如果不遵从这些规则,网络中某些路由器可能会产生部分路由信息,从而对网络造成破坏。

区域由区域ID Cisco IOS 用IP地址格式表示的软件支持区域ID识别或十进制形式,例如,区域0.0.0.0与area 0是相等的。如果网络中有多个区域,则需要将主干区域命名为“区域 0”。因为骨干区域与网络中的多个区域相连,所以必须为相邻的区域。若将骨干区域进行分割,则自治系统的某些部分将无法接入,因此您需要配置虚链路以修复分割区域。

接口位于两个(或更多)不同区域的路由器为区域边界路由器。区域边界路由器位于两个区域之间的 OSPF 边界。任何链路的两边始终属于同一个 OSPF 区域。

自治系统边界路由器(ASBR)在整个OSPF自治系统范围内通告外部目的地。外部路由是从其他任何协议重分配到 OSPF 的路由。在很多情况下,外部链路状态在每个路由器数据库中的链路状态里占有很大的比例。末端区域是一种禁止通告外部路由的区域,因此可在更大程度上缩小数据库的规模。一条默认汇总路由 (0.0.0.0) 被插入到末节区域中以到达这些外部路由。若网络中不存在外部路由,则不必定义末节区域。

末节区域不接收外部路由,但会接收属于同一 OSPF 域其他区域的网络信息。您可以定义完全末节区域。处于完全末节区域的路由器将与路由相关的仅 LSDB 信息以及默认路由保留在其区域内部。

次末节区域(NSSA)是OSPF末节区域的扩展。与末节区域类似,次末节区域也可以防止AS-外部链路状态通告(LSA)扩散到NSSA中,它依赖默认路由来到达外部目的地。因此,NSSA(如末端区域) 必须位于OSPF路由域的边缘。因为 NSSA 可将外部路由导入到 OSPF 路由中,比末节区域更具有灵活性,所以给小路由域提供转接服务不是 OSPF 路由域的一部分。

有关 OSPF 数据库的更多信息请参阅 OSPF Database Explanation Guide

定义末节区域

若要将一个区域定义为末节区域,则在区域内所有路由器中使用 area xx stub 命令。在下面所示的拓扑中,区域 7 中的路由器不必知道所有外部目的地。无论外部目的地如何,区域 7 中的路由器都必须向 ABR 发送数据包以到达 ASBR。区域 7 可定义为末端区域。若要将区域 7 定义为末节区域,必须在区域内所有路由器中配置 area 7 stub 命令。

/image/gif/paws/13703/8a.jpg

完全末节区域的定义

若要定义完全末节区域,使用 OSPF 路由器配置命令 area xx stub no-summary。在上面的网络图中,区域 7 中的路由器不必知道所有外部目的地或其他区域骨干网的任何汇总 LSA。区域 7 中的路由器必须向 ABR 发送数据包才能到达区域 7 以外的任何目的地。区域 7 可以被定义为完全末节区域。若要将区域 7 定义为完全末节区域,需要在 ABR 上配置 area 7 stub no summary 命令。

定义次末节区域

若要定义 NSSA,使用 OSPF 路由器配置命令 area xx nssa 。例如,在下面的拓扑中,通过在区域内所有路由器中输入 area 2 nssa 命令来将区域 2 定义为 NSSA。通过这种方式,区域 2 的内部路由器可免受所有 AS- 外部 LSA 的影响,这些 AS- 外部 LSA 是由 OSPF ASBR 导入的。但是它仍然允许非 OSPF 路由器的关联。外部路由信息被导入到 Type-7 LSA 中的 NSSA 里。Type-7 LSA 与 Type-5 AS-External LSA 类似,但 Type-7 LSA 只能被扩散到 NSSA 中。为了进一步传播 NSSA 外部信息,必须通过 NSSA ABR 将 Type-7 LSA 转换为 Type-5 AS-external-LSA。Cisco IOS 11.2 和更高版本支持 NSSA。

/image/gif/paws/13703/8a1.jpg

NSSA 完全 Stub 区域的定义

要定义 NSSA 完全 Stub 区域,使用 OSPF 路由器配置命令 area xx nssa no-summary。在上面的网络图中,通过在 NSSA ABR 上输入 area 2 nssa no-summary 命令来将区域 2 配置为 NSSA 完全 Stub 区域。通过这种方式可以防止任何 Type 5 AS- 外部或 Type 3 汇总路由在区域 2 中渗透。

普通区域、末节区域、完全末节区域和 NSSA 区域之间的区别

下表说明了本技术文件中所定义的区域类型之间的区别。

区域 限制
正常
Stub 不允许 Type 5 AS 外部的 LSA
完全末节区域 不允许 Type 3、4 或 5 LSA,但汇总汇总路由除外
NSSA 不允许 Type 5 AS 外部的 LSA,但在 NSSA ABR 上转换为 Type 5 的 Type 7 LSA 可以通过。
NSSA 完全 Stub 区域 不允许 Type 3、4 或 5 LSA,默认汇总路由除外,但允许在 NSSA ABR 上转换为 Type 5 的 Type 7 LSA。

请参阅 OSPF 如何生成默认路由?中的 OSPF 区域类型部分,了解有关不同区域类型的详细信息。

什么是虚拟链路?

OSPF 自治系统中的所有区域都必须在物理上与骨干区域 (area 0) 相连。在无法实现这种物理连接的情况下,可利用虚拟链接来通过非骨干区域建立连到骨干网的接。如上所述,您还可利用虚拟链路来通过非骨干区域连接骨干区域的两个被分割的部分。配置虚拟链路所使用的区域称为中转区域,这种区域必须具有全部路由信息。中转区域不能是末节区域。

使用 area area-id virtual-link router-id 命令配置一个虚拟链路,area-id 是分配给转换区域的区域 ID(可以为有效 IP 地址或十进制数值),router-id 为虚拟链路邻居的路由器 ID。在下面的拓扑中,虚拟链路通过区域 5 将区域 7 与骨干网连接起来:

/image/gif/paws/13703/8_b.gif

在这种情况下,在两个路由器之间建立了虚拟链路,这两个路由器的 ID 分别是 ID 1.1.1.1 和 ID 2.2.2.2。若要建立虚拟链路,则在路由器 1.1.1.1 上配置 area 5 virtual-link 2.2.2.2 子命令,并在路由器 2.2.2.2 上配置 area 5 virtual-link 1.1.1.1 子命令。有关详细信息,请参阅配置虚拟连接上的 OSPF 认证

相关的思科支持社区讨论

思科支持社区是您提问、解答问题、分享建议以及与工作伙伴协作的论坛。


相关信息


Document ID: 13703