本文說明如何解決正常網路運作中遇到的可能會降低網路連線的開放最短路徑優先(OSPF)錯誤訊息。
Cisco建議您瞭解OSPF基礎知識。
本文件所述內容不限於特定軟體和硬體版本。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路正在作用,請確保您已瞭解任何指令可能造成的影響。
OSPF協定是在企業和服務提供商網路中廣泛部署的內部網關協定(IGP)。
開發此協定是因為Internet社群需要為TCP/IP協定系列引入高功能、非專有的IGP。關於為網際網路建立通用互操作IGP的討論始於1988年,直到1991年才正式確定。當時,OSPF工作組要求考慮OSPF以推進網際網路標準草案。
OSPF協定基於鏈路狀態技術,不同於傳統的Internet路由協定(如路由資訊協定(RIP))中使用的基於Bellman-Ford向量的演算法。
本節介紹三個可能會降低網路連線性的OSPF問題。
您將收到OSPF-4-FLOOD_WAR錯誤消息。當路由器反複收到自己的鏈路狀態通告(LSA)並將其從網路中刷新或傳送新版本的時,就會發生OSPF泛洪戰爭。這是為了檢測當網路中出現重複的IP地址時第2類LSA的問題,或者當不同OSPF區域中存在重複的路由器ID時第5類LSA的問題。
在典型場景中,網路中有一台路由器發起LSA,另一台路由器刷新LSA。
此圖說明了第一台路由器和第二台路由器(分別命名為R1和R2)之間的發起和清除事件:
您將收到%OSPF-4-CONFLICTING_LSAID錯誤消息。此錯誤消息表示由於與具有相同鏈路狀態ID但子網掩碼不同的當前LSA發生衝突,導致阻止了LSA的發生。
RFC 2328(附錄E)中的演算法用於解決通告具有相同字首和不同掩碼的多個LSA時的衝突。當使用此演算法並通告主機路由時,存在無法解決衝突,並且主機路由或衝突字首未通告的情況。
以下是錯誤訊息的範例片段:
%OSPF-4-CONFLICTING_LSAID: LSA origination prevented by existing LSA with same LSID
but a different mask
Existing Type 5 LSA: LSID 192.168.1.0/31
New Destination: 192.168.1.0/32
配置OSPF以使用導致高CPU的快速問候資料包功能。快速呼叫資料包的OSPF支援功能允許配置,以便以不到一秒的間隔傳送呼叫資料包。這些型別的配置會使OSPF網路中的收斂速度更快。
此命令是用來設定必須接收至少一個Hello封包或鄰居視為關閉的間隔:
ip ospf dead-interval minimal hello-multipliermultiplier
以下是範例:
Router(config-if)# ip ospf dead-interval minimal hello-multiplier 5
在本示例中,使用minimal關鍵字、hello-multiplier關鍵字和值的說明啟用了對快速Hello資料包的OSPF支援。由於乘數設定為5,因此每秒傳送五個Hello資料包。
本節介紹解決上一節中所述問題的可能方法。
在嘗試排除泛洪警告消息故障時,請務必瞭解錯誤消息。消息在源路由器和刷新路由器上的顯示不同。因此,必須關注報告泛洪戰爭消息的LSA型別,因為每個LSA型別都以不同方式進行故障排除。
以下是OSPF泛洪戰爭消息的一個示例片段:
%OSPF-4-FLOOD_WAR: Process 1 re-originates LSA ID 172.16.254.25 type-2 adv-rtr
172.16.253.1 in area 0
%OSPF-4-FLOOD_WAR: Process 1 flushes LSA ID 172.16.254.25 type-2 adv-rtr
172.16.253.1 in area 0
以下是所描述的報文元件:
如果路由器收到的2類網路LSA的LSA ID與與該路由器關聯的某個介面的IP地址相同,則路由器應刷新LSA。此案例的根本原因是源路由器和清除路由器上存在重複的IP地址。
為了解決此問題,請重新配置其中一個介面的IP地址,或關閉具有重複IP地址的介面。
3型LSA很少遇到洪災戰爭問題。在OSPF域中傳播頻繁擺動鏈路的IP子網時,已記錄第3類LSA的泛洪警告錯誤消息。
如果您因第3類LSA而遇到洪災戰爭問題,思科建議您向思科技術支援中心(TAC)提交支援案例。
當位於不同區域的路由器上存在重複的路由器ID時,會發生由第5類LSA引起的泛洪戰爭。必須更改其中一台路由器的路由器ID。
第5類泛洪戰爭的另一個例項是,有兩個路由器具有相同的邊界網關協定(BGP)network語句,並且兩個路由器將這些BGP網路重新分發到OSPF。如果其中任一BGP路由器通過OSPF到達網路,則會報告由於第5類LSA而引起的OSPF泛洪戰爭。
總而言之,請確保路由器ID不同,並且正確重新分配外部LSA應能防止由於第5類LSA引起的泛洪戰爭問題。
嘗試解決OSPF-CONFLICTING_LSAID錯誤消息時應採取的初始步驟是查詢未通告的字首以及衝突的字首。
要查詢這些命令,請在CLI中輸入show ip route和show ip ospf database命令。管理員必須跟蹤「新目標」的來源:192.168.1.0/32,如問題2部分描述的示例案例所示,並更正網路的子網掩碼。
LSA ID衝突的常見情況記錄在OSPF的最近更改之後,並在您更正OSPF network語句中的子網掩碼配置之後得到解決。
當客戶在Cisco Catalyst系列交換機上部署OSPF快速Hello時,Cisco TAC會記錄高CPU案例。
Cisco IOS®在非搶佔式模式下運行,而快速呼叫資料包功能要求比一秒停頓間隔更頻繁地處理OSPF Hello。OSPF很可能無法在具有其他長時間運行的進程的系統上獲取所需的資源。根據您的環境和路由器上配置的其他協定和應用程式,使用此功能可能會出現問題。
通過雙向轉發檢測(BFD)引入亞秒Hello的替代方案,其中BFD是為快速鄰居關閉檢測而開發的。BFD以中斷模式運行,不會出現OSPF快速Hello所觀察到的問題。思科建議您使用BFD來加快收斂速度。
以下是OSPF快速Hello產生的兩個已知缺陷:
修訂 | 發佈日期 | 意見 |
---|---|---|
1.0 |
01-Apr-2015 |
初始版本 |