有时,路由器会注意到某些开放最短路径优先(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名称查找功能。
版本 | 发布日期 | 备注 |
---|---|---|
1.0 |
10-Aug-2005 |
初始版本 |