目录

简介

先决条件

要求

使用的组件

规则

问题

行为解释

解决方案

相关信息

简介

有时，路由器会注意到某些开放最短路径优先(OSPF)show命令(如show ip ospf neighbor和show ip ospf database)的输出需要很长时间才能完成。输出逐行显示，显示一行后，在显示下一行之前需要15到20秒。本文档讨论导致此行为的一些原因和可能的解决方案。

先决条件

要求

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

使用的组件

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

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

规则

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

问题

由于问题的性质，本文档仅能描述问题，无法显示问题示例。要描述问题，需要16秒才能完全显示此输出。

citrus# show ip ospf database

OSPF Router with ID (10.48.77.45) (Process ID 1)

Router Link States (Area 0)

Link ID         ADV Router      Age         Seq#       Checksum Link count

10.48.77.45     10.48.77.45     72          0x80000001 0x5A6F   1

citrus#

显示此行为的最常见命令有：

- show ip ospf border-routers

- show ip ospf database(包括命令的更具体版本，如show ip ospf database router)

- show ip ospf interface

- show ip ospf neighbor

行为解释

要确定此行为发生的原因，请在发出show ip ospf database命令时在路由器上启用debug ip packet detail命令，如下例所示。

citrus# debug ip packet detail

IP packet debugging is on (detailed)

citrus# show ip ospf database

OSPF Router with ID (10.48.77.45) (Process ID 1)

Router Link States (Area 0)

Link ID         ADV Router      Age         Seq#       Checksum Link count

10.48.77.45

Oct 23 11:26:16: IP: s=10.48.77.45 (local), d=255.255.255.255 (Dialer1), len 70, sending broad/multicast

Oct 23 11:26:16:     UDP src=57969, dst=53

Oct 23 11:26:16: IP: s=126.106.177.81 (local), d=255.255.255.255 (Dialer2), len 70, sending broad/multicast

Oct 23 11:26:16:     UDP src=57969, dst=53

Oct 23 11:26:16: IP: s=10.48.77.45 (local), d=255.255.255.255 (Ethernet0), len 70, sending broad/multicast

Oct 23 11:26:16:     UDP src=57969, dst=53

...

Oct 23 11:26:31: IP: s=10.48.77.45 (local), d=255.255.255.255 (Ethernet0), len 70, sending broad/multicast

Oct 23 11:26:31:     UDP src=57969, dst=5310.48.77.45     160         0x80000001 0x3AFD   1

citrus#

上面的输出表明，一旦发出show ip ospf database命令，路由器就会在所有接口上广播目的端口为53的用户数据报协议(UDP)数据包。UDP 53是域名服务(DNS)。 通过检查路由器的配置，您可以了解路由器尝试执行DNS查找的原因。

解决方案

要解决此问题，需要确定路由器发送DNS查询的原因。通过使用show run和include命令查看路由器的配置，可以看到以下内容。

citrus# show run | include name

hostname citrus

ip ospf name-lookup

citrus#

路由器在配置中使用ip ospf name-lookup命令。此命令将OSPF配置为查找DNS名称，以便在所有OSPF show EXEC命令显示中使用。此功能有助于更轻松地识别路由器，因为这样一来路由器会按名称显示，而不是按自己的路由器 ID 或邻居 ID 显示。因此，配置此命令后，路由器将在各种show命令中对OSPF router-id执行DNS查找。如果它可以将此类router-id解析为名称，它将在show 命令中显示名称，而不是IP地址。

请注意，只有在未全局禁用ip domain-lookup时，ip ospf name-lookup才会触发DNS查找。默认情况下，Cisco IOS®软件上启用了ip domain-lookup。

在Cisco路由器中配置ip ospf name-lookup时，可能会遇到以下问题：

- 路由器配置中未指定DNS服务器。在这种情况下，您将广播DNS查询，如上面的调试输出所示。如果出现这种情况，则延迟是由等待DNS查询超时引起的。

如果这是问题所在，可以通过发出ip name-server命令在路由器上配置DNS服务器。有关详细信息，请参阅在Cisco路由器上配置DNS。

- 路由器中指定了DNS服务器，但无法访问。在路由器中使用ip name-server命令可能配置了DNS服务器，但由于某种原因，此DNS服务器无法访问。您可以通过ping DNS服务器来检查它是否可达。如果ping失败，则DNS服务器无法访问，并且无法执行DNS查找。

要解决此问题，请检查DNS服务器无法到达的原因（服务器已关闭或网络中存在路由问题）。 在这种情况下，您可以通过发出no ip ospf name-lookup全局命令来禁用OSPF名称查找功能。

相关信息

- OSPF技术支持

- 在 Cisco 路由器上配置 DNS

- 技术支持 - Cisco Systems