路由器上有時會注意到某些開放最短路徑優先(OSPF)show命令(例如show ip ospf neighbor和show ip ospf database)的輸出需要很長時間才能完成。輸出將逐行顯示,顯示一行後,下一行顯示前需要15到20秒。本文討論此行為的一些原因以及可能的解決方案。
本文件沒有特定需求。
本文件所述內容不限於特定軟體和硬體版本。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路正在作用,請確保您已瞭解任何指令可能造成的影響。
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
由於問題的性質,本文檔僅能描述問題,不能顯示問題的示例。要說明問題,需要花費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配置為查詢所有OSPF show EXEC命令顯示中使用的DNS名稱。此功能使識別路由器變得更加容易,因為路由器的顯示按名稱而不是按路由器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 |
初始版本 |