思科自家設備專用的CDP網路協定,可以讓該公司出品的網路產品更容易管理,但有利必有弊,因此本文將說明如何使用CDP協定的相關指令來增進管理效率,並同時避免不肖使用者藉此攻擊Cisco網路設備。
目前最被廣泛使用的是CDP version 2,即CDPv2。CDPv2可以提供更多硬體的資訊,也提供更具智慧性的硬體資訊追蹤功能,這項功能中包含一個回報機制,這個新的資訊回報機制能夠完成更迅速的資訊追蹤,以便降低收集資訊所需要的時間。若有錯誤訊息,可以將錯誤訊息送到Console端或是記錄到伺服器的檔案中。上面所提到可以收集的資料,就是CDPv2的版本。
預設上,每個設定好要使用CDP的Cisco設備每60秒會送出分享資訊,而每一台Cisco設備都絕對不會把別台傳送過來的資訊再次地轉發給別人,而只是把收到的資訊存放到本地端的資料庫表格內。一旦超過三次沒有成功地從某一台Cisco網路設備取得更新的資料,就會把與那一台網路設備相關的資料從資料庫中移除。
結合CDP與SNMP的使用
SNMP是Simple Network Management Protocol的縮寫,簡單來說,SNMP協定可以拿來管理網路,用於監測連接到網路的設備是否正常運作。相信大部分網路管理人員都知道SNMP協定,如果需要的話,未來可以再多加介紹SNMP。
如果結合了CDP與SNMP一起使用的話,可以讓網路管理程式學習到網路設備的種類、附近SNMP Agent的位置等等。
CDP協定的設定方式
以下開始介紹如何開啟或關閉CDP協定,以及如何顯示CDP協定相關資訊,當然也包含各種相關指令的操作說明。
顯示CDP協定資訊的指令:show cdp
Cisco路由器上的CDP協定可以手動開啟或關閉,預設為開啟。此外,也可以根據各個不同的埠來做開啟或關閉的動作。若要查看CDP的相關資訊,可以使用以下這個指令:
show cdp指令的後面可以接上多種關鍵字以便顯示各種不同的CDP協定資訊,接上各種關鍵字之後的指令可以是:
就Show cdp neighbors指令而言,可以取得以下這些資訊:
· 鄰近設備的Device ID
· 本地端的介面
· Hold-time值,單位是秒。
· 鄰近設備的種類代碼
· 鄰近設備的硬體平台
· 鄰近設備的遠端埠ID
這也是查看CDP資訊中最常被使用的指令。其中,Hold-time指的是此設備持有目前資訊長達多久的時間。開啟CDP協定後,各個Cisco設備會定期交換設備的資訊給其他Cisco網路設備,預設是每隔60秒會交換一次,因此Hold-time能夠顯示出目前資訊已經留存在設備中沒有更新,預設上資訊最多只會被保留180秒,超過180秒,此資訊就會被丟棄。
show cdp neighbors指令所輸出的內容會因為不同的Cisco設備而有些微的差異,但是大致上的資訊都是差不多的。至於鄰近設備的種類代碼,其可能的值與代表意義如表1所示。
表1 鄰近設備代碼所代表的意義
另外,show cdp neighbors指令也可以應用在Cisco Catalyst Switch上用來顯示本地端介面接收CDP的更新資訊。
如果在show cdp neighbors指令後面加上detail關鍵字,則可以取得更詳細的資訊,例如顯示鄰近Cisco設備在網路層的位址,指令如下:
接著要介紹的是show cdp entry指令。show cdp entry指令後面可接上Cisco設備ID或是設備的IP位址,代表要顯示那個鄰近設備的相關資訊,當然也可以加上*以便於顯示全部的鄰近設備,例如:
透過show cdp entry這個指令,可以取得下列的
資訊:
· 鄰近設備的Device ID
· 網路第三層協定的資訊,例如IP位址。
· 鄰近設備的硬體平台
· 鄰近設備的種類
· 本地端介面種類以及outgoing遠端的埠ID
· Hold-time值,單位是秒。
· Cisco IOS軟體種類以及版本資訊
其中,鄰近設備的種類可以顯示出這個設備是路由器、交換機或是其他種類的設備,與show cdp neighbors指令所能顯現的設備種類代碼很相近。
其他能顯示的內容和show cdp neighbors指令差不多,比較特別的是,show cdp entry指令可以顯示網路第三層協定的資訊以及Cisco IOS軟體種類以及版本資訊,這對於要考試的讀者是比較值得注意的。
由以上這些資訊看來,上面這個指令所能顯示的資訊與show cdp entry *指令其實差不多。
第三個要介紹的指令是show cdp traffic,這個指令是用來顯示與介面的流量相關的資訊,因此該指令可以顯示下列相關訊息:
· 資料錯誤
· Checksum錯誤
· 封裝失敗
· 記憶體用盡(Out of memory)
· 無效的封包
· 已分割的封包
· 已經送出以及已經接收到的CDPv1封包
· 已經送出以及已經接收到的CDPv2封包
需要注意的是,show cdp traffic指令在Cisco Catalyst 1900 Switch上是不支援的。
第四個show cdp interface指令則可以顯示出目前傳送CDP的介面狀況,包含:
· 介面是否運作中
· 介面所使用的封裝方式
· Hold-time值是多少
· 每隔多久送出CDP封包(預設是每隔60秒)