實戰操作--CDP發現協議的維護及故障排除
本文主要給大家詳細的介紹了CDP發現協議的維護和故障的排查問題,并且給大家詳細的介紹了如何獲取設備信息的等操作,希望那個此文對你有所幫助。
當網絡中增加了一臺路由器或者交換機,那么現有的網絡設備是如何自動發現這個“新鄰居”的呢?對于思科網絡來說,主要是CDP發現協議在其中起作用。簡單的說,CDP發現協議就是用來獲取鄰居設備的信息。這些信息包括被連接設備的類型(交換機或者路由器)、連接到的路由器的接口或者本地連接的接口和設備的數量的等等。在這篇文章中,筆者主要想介紹一下這個CPD協議的維護以及如何來排除跟這個協議相關的故障。
一、獲取鄰居設備的相關信息
CDP發現協議的主要作用就是用來發現所有與本地設備直接連接的思科網絡設備。注意這句話說有個定語“直接相連”非常關鍵。如果兩個設備之間還連接其它設備的話,那么就不能夠發現。
每個運行CDP發現協議的路由器都會與自己的鄰居交換協議信息。網絡管理員在有需要的情況下,可以將CDP信息交換的結果顯示在連接到本地路由器的控制臺上。如下圖所示,在任何一臺路由器或者交換機的設備上,輸入以下命令:show cdp neighbors命令,就可顯示出與這臺路由器或者交換機“直接相連”的設備的相關信息。
從上面這個圖形中,我們可以得出如下結論。
一是關于CDP的維護大部分都必須在特權模式下進行。如上圖所示,在開始的時候,筆者使用了Enable命令進入到了特權模式。只有在這個模式下,才能夠查看鄰居設備的信息。注意,必須要在特權模式下進行操作。
二是這個命令的輸入技巧。這個命令比較長,如果一個個字符的去輸入顯然比較費時費力。而且neighbors這個單詞又比較容易拼寫錯誤。此時就需要用到IOS軟件的歷史紀錄命令。在實際工作中,只需要輸入nei三個字符,然后按一下Tab鍵,系統就會自動補齊后面的支付,而不需要輸全。這對英文不怎么好的用戶來說,是一個福音。
三是這個命令所反映出來的信息。如上圖所示,這個命令可以反映出設備標示的ID 、本地接口、連接保持時間、功能、平臺、端口標示、VTP管理域名、本地Vlan、工作模式(全雙工或者半雙工)等等豐富的信息。如果這些信息還不能夠滿足網絡管理員需求的話,那么用戶還可以在這個命令后面加一個參數detail。如此的話,就可以顯示更加詳細的信息。
這些信息對于日常的網絡維護是非常有幫助的。如能夠讓管理員了解網絡上相關設備的所有概況,幫助管理員更加好的理解現有網絡的拓撲結構。對于后續網絡的維護與優化也具有非常大的價值。
二、維護與監控CDP信息
1、啟用或者關閉CDP協議。
默認情況下,CDP發現協議是全局啟用的。不過如果與比較老的思科設備共同使用的時候,可能需要手工啟動這個發現協議。如當路由器與1900系列的交換機進行互聯的時候,那么就需要在交換機上手工啟用這個協議。如果需要在路由器上全局啟用CDP發現協議的話,則可以通過CDP RUN命令。而在IOS 10.3以后的版本中,還支持在接口模式下使用CDP發現協議。如果要啟用這個特性的話,就需要進入到接口配置模式,然后使用cdp enable在接口上啟用CDP。不過與全局模式相反,默認情況下,在接口上的CDP發現協議缺省是沒有啟用的。
2、查看數據幀傳輸的信息。在網絡維護與優化的時候,需要知道數據幀傳輸的相關信息。要了解這些信息的話,網絡管理員就可以使用show cdp interface命令來查看。結果如下下圖所示:
可見使用這個命令可以獲取CDP用于通告和發現數據幀傳輸的信息。這些信息包括保持時間、CDP分組發送的頻率、接口封裝的時間以及街口的管理和協議情況等等。毋庸置疑,這些信息對于后續維護,特別是CDP性能的優化,具有很大的參考價值。
3、禁用CDP發現協議。
雖然CDP協議能夠自動發現新增加的網絡設備,但是從網絡管理員眼中,它是一把雙刃劍。一方面提高了網絡的靈活性,另一方面也給網絡造成了不小的安全隱患。如某個攻擊者如果攻破了一臺路由器或者交換機,那么就可以通過CDP發現協議來了解與其相連的彎路設備的相關信息。這就為其進行下一步的攻擊提供了非常重要的信息。為此有時候出于安全的目的而不喜歡使用某個設備的信息的時候,就需要禁用這個特定設備的CDP發現協議。如果要在全局級別下禁用CDP協議的話,那么可以在全局配置模式下使用no cdp run命令來實現。
不過在采取這個操作之前,筆者認為管理者需要先了解全局配置與接口配置之間的關系。在上面筆者談到過,在IOS10.3以后的版本中,CDP協議同時支持全局模式與接口模式。在何種情況下,如果關閉了全局配置模式下的CDP發現協議,那么對于接口模式下的CDP發現協議有什么影響呢?這里需要注意,如果在全局配置模式下禁用CDP發現協議的話,那么在接口上也就不能夠啟用CDP發現協議。
三、CDP發現協議故障排除工作中常用的命令
有時候CDP發現協議也會出錯。或者說排除網絡故障時需要用到CDP協議的相關信息。筆者下面總結一下在日常網絡故障排除中可能需要用到的相關命令(跟CDP協議相關),以方便各位網絡管理員后續排除網絡問題。
第一個命令是show cdp traffic。這個命令的輸出結果如下圖所示。
很明顯,這個命令主要顯示的是CDP計數器的相關值,包括發送接收校驗和錯誤的分組個數。錯誤的分組個數最好越少越好。如果太多的話,會明顯降低網絡性能。
第二組命令是跟時間相關的信息。如命令cdp timers可以用來指定IOS軟件發送CDP更新的時間信息;cdp holdtime則用來指定接收設備在丟棄CDP分組前保持這個信息的時間等等。
四、CDP發現協議使用的注意事項
一是需要注意CDP協議在ISO7層架構中的地位。CDP發現協議是ISO中規定的第二層協議中的一種,具體的說,是位于子網訪問協議之上。這第二層連接底層的物理介質和上層的網絡層協議。CDP發現協議運行在所有的Cisco設備上,獨立于介質和協議。這里需要注意的是,CDP發現協議跟TCP或者Telnet協議不同,其是思科網絡設備的專有協議,也只能夠運行在思科的網絡設備上。理解這一點對于CDP協議的設置與維護有很大幫助。
二是需要注意協議的兼容性。到現在為止,CDP發現協議主要有兩個大的版本,分別為CDP版本1與CDP版本2。其中IOS12.0以后的版本支持的是CDP版本2的協議。而ISO103以及以后的版本缺省支持的是CDP版本1。這兩個版本到底有哪些差異,由于篇幅的限制,筆者不做過多展開,各位讀者若感興趣可以參考相關的資料。筆者這里要強調的一點是,CDP版本2能夠全面支持在接口模式下配置CDP發現協議,而CDP版本1則不行。這可能是兩個版本的CDP協議重大區別之一。
三是需要注意CDP協議在全局配置模式與接口配置模式下的聯系與差異。具體來說,就是記住一個原則。“就大不就小”。也就是說,如果在全局配置模式下,禁用了CDP發現協議,那么在接口模式下也就不能夠啟用CDP協議。反之,則可以。
四是需要注意安全問題。由于CDP協議會泄露網絡中的一些比較敏感的信息,會為攻擊者提供方便。為此在一些對于安全要求比較高的企業中,如銀行等金融企業,往往會禁用這個協議。由此可見,CDP發現協議也是一把雙刃劍,在使用的時候需要注意其帶來的安全隱患。