目录

简介

为响应OSPF RFC 1793,在Cisco IOS®软件版本11.2中引入了开放最短路径优先(OSPF)的需求电路选项 leavingcisco.com。OSPF每10秒发送一次hello消息,并每30分钟刷新一次其链路状态通告(LSA)。这些功能可保持邻居关系,并确保链路状态数据库准确,并且使用的带宽比路由信息协议(RIP)和内部网关路由协议(IGRP)中的类似功能少得多。 不过,这种流量对于需求电路来说仍太大。使用OSPF需求电路选项可抑制Hello和LSA刷新功能。OSPF可以建立需求链路以形成邻接关系并执行初始数据库同步,即使需求电路的第2层断开,邻接关系仍保持活动状态。

Cisco IOS版本12.1(2)T引入了OSPF的泛洪减少功能。此功能旨在最大限度地减少因定期刷新具有大量LSA的OSPF域中的LSA而创建的流量。与OSPF需求电路功能不同,泛洪减少通常在租用线路上配置。泛洪减少使用与需求电路相同的技术来抑制周期性LSA刷新。此功能已提交以标准化到IETF OSPF工作组。

先决条件

要求

本文档的读者应掌握以下这些主题的相关知识:

使用的组件

本文档中的信息基于以下软件和硬件版本:

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。

规则

有关文件规则的更多信息请参见“ Cisco技术提示规则”。

在需求电路与一般电路上 OSPF 有什么不同?

OSPF按需电路有两个主要功能,使其与普通电路不同。

抑制定期Hello

在链路上配置OSPF需求电路时,会抑制定期OSPF问询。定期问询仅在点对点和点对多点网络类型上被抑制。在任何其他网络类型上,OSPF问询仍通过接口发送。

抑制定期 LSA 刷新

OSPF需求电路不会定期刷新每30分钟一次的LSA。当建立需求电路链路时,相邻路由器之间会交换一个唯一的选项位(DC位)。如果两台路由器成功协商DC位,则会记录该位,并在LSA时代中设置一个称为DoNotAge位(DNA)的特定位。 DNA位是LS年龄字段中最有意义的位。通过设置此位,LSA将停止老化,并且不会发送定期更新。

在 OSPF 需求电路上何时发送周期性 LSA 更新?

使用OSPF需求电路功能时,只有两种情况会定期刷新LSA:

首先,由于路由器必须发送新的LSA信息来更新邻居的拓扑更改,因此在停止LSA刷新时,无法做太多。

但是,有一种特殊的方法来处理第二种情况。区域边界路由器(ABR)是下面网络图中的路由器D,它知道路由器C无法理解DNA LSA,因为它发现DC位在路由器C发起的LSA的选项字段中是清晰的。在这种情况下,ABR(路由器D)通知能够请求电路的路由器不要使用DNA位设置来发起LSA,因为路由器不理解DNA位。

此网络图显示了定期LSA刷新通过需求电路发送的场景:

dc.gif

指示 LSA

ABR(路由器D)在主干中发出指示LSA,告知主干中的所有路由器不要发起任何DNA LSA。当路由器A(另一个ABR)看到此指示LSA时,它会将指示LSA发送到其他区域,不包括主干区域和任何末节区域或非末节区域(NSSA)区域。路由器D的此指示LSA如下所示。指示LSA是第4类汇总LSA,其中链路状态ID是ABR本身,而不是自治系统边界路由器(ASBR)。 换句话说,链路状态ID和通告路由器字段是相同的,如下所示:

RouterD# show ip ospf database asbr-summary
   Adv Router is not-reachable
   LS age: 971
   Options: (No TOS-capability, No DC) 
   LS Type: Summary Links(AS Boundary Router) 
   Link State ID: 141.108.1.129 (AS Boundary Router address)
   Advertising Router: 141.108.1.129
   LS Seq Number: 80000004
   Checksum: 0xA287
   Length: 28
   Network Mask: /0
     TOS: 0  Metric: 16777215

指示LSA的度量设置为无穷大。链路状态ID和通告路由器字段始终是发起指示LSA的ABR的路由器ID。在上述网络图中,路由器A和路由器B之间的链路配置为需求电路,但由于区域1中的路由器无法理解DNA LSA,因此不会有任何源自区域1的DNA LSA。因此,源于区域1的定期LSA更新会通过需求电路发送。

只有两种情况会导致OSPF ABR生成指示LSA:

解决方案

将区域2配置为末节或NSSA区域。这可以防止路由器D发起的指示LSA由路由器A发送到区域2,因为区域2是末节区域,而且指示LSA(第4类汇总LSA)不能泛洪到末节区域。现在,由于区域2没有看到任何指示LSA,因此它会继续在区域2内生成DNA LSA,并且路由器A和路由器B之间的链路不会启动,因为定期LSA刷新被抑制。

思科建议您在非主干区域配置OSPF需求电路,并将这些区域设置为NSSA、末节或完全末节(后者更可取)。 这是为了最小化从其他区域注入到包含需求电路的区域的信息。因此,您可以最小化更改范围,这可以启动OSPF需求电路。有关OSPF需求电路功能的故障排除方案,请参阅“为什么OSPF需求电路不断启动链路”。

如果您的情况类似于上图所示,并且需求电路也是主干的一部分,则无法使用此解决方案,因为主干区域不能配置为末节或NSSA。

配置任务

本节中的配置任务示例显示创建需求电路所需的配置。只需一端在接口下拥有需求电路命令,因为如果另一端能够理解需求电路,它会在hello数据包中自动协商此功能。如果它不能理解需求电路,它会忽略此选项。

RouterA# show run interface Serial0
 interface Serial 0
  encapsulation frame-relay
  ip address 141.108.1.1 255.255.255.0
  ip ospf network-type point-to-mutipoint
  ip ospf demand-circuit
!

注意:尽管需求电路仅在点对点或点对多点网络类型上使用,但可以对任何网络类型使用需求电路来抑制问询。

扩散缩减特性与需求电路特性有什么不同?

OSPF泛洪减少功能是对需求电路的细微修改,旨在减少因定期LSA刷新而引起的链路上的额外流量。它使用相同的机制来消除对定期LSA刷新的需求。通常,路由器不会立即连接到链路,并且无法识别它是配置为需求电路还是泛洪减少链路 — 这两种链路的数据库表示是相同的。

泛洪减少与需求电路的主要区别在于前者仅抑制周期性LSA刷新;它不会抑制定期hello数据包。因此,泛洪减少功能不会影响邻居路由器发生故障的检测。

泛洪减少链路的限制与需求电路相同。特别是,区域内的所有路由器必须支持需求电路功能,才能减少泛洪。需求电路和泛洪减少链路的故障排除技术也很常见。

此示例显示OSPF泛洪减少功能配置:

interface POS 0/0
 ip address 192.168.122.1 255.255.255.0
 ip ospf flood-reduction

如上所述,路由器的接口POS 0/0已配置为减少OSPF泛洪。链路上不发送定期LSA刷新,但会发送问询。

相关信息