網路管理是一個非常繁重的工作,但如果網路內採用的是Cisco的設備,可善用其專屬的CDP協定,透過運用該協定特有的指令,就可以輕易地掌握整個網路的運作情形。
目前最廣泛被使用的是CDP version 2,亦即CDPv2。CDPv2可以提供更多硬體的資訊,也提供更具智慧性的硬體資訊追蹤功能,這項功能中包含一個回報機制,這個新的資訊回報機制能夠完成更迅速的資訊追蹤,以便降低收集資訊所需要的時間。若有錯誤訊息,可以將錯誤訊息送到Console端或是記錄到伺服器的檔案內。上面所提到可以收集的資料,就是CDPv2的版本。
預設上,每個設定好要使用CDP的Cisco設備每60秒會送出分享資訊,而每一台Cisco設備都絕對不會把別台傳送過來的資訊再次地轉發給別人,而只會把收到的資訊存放到本地端的資料庫表格中。一旦超過三次沒有成功從某一台Cisco網路設備取得更新的資料,就會把與那一台網路設備相關的資料從資料庫中移除。
結合CDP與SNMP的使用
SNMP是Simple Network Management Protocol的縮寫,簡單來說,SNMP協定允許用來管理網路,用於監測連接到網路的設備是否正常運作,相信大部分網路管理人員都知道SNMP協定。如果將CDP與SNMP結合使用,則可讓網路管理程式學習到網路設備的種類、附近SNMP Agent的位置等等。
CDP協定的設定方式
以下開始介紹如何開啟或關閉CDP協定,以及如何顯示CDP協定相關資訊,當然也包含各種相關指令的操作說明。
顯示CDP協定資訊的指令:show cdp
Cisco路由器上的CDP協定可手動開啟或關閉,預設是開啟的。也可根據不同的埠來做開啟關閉的動作。若要查看CDP的相關資訊,可以使用以下這個指令:
而show cdp指令的後面可以接上多種關鍵字,以便顯示各種不同的CDP協定資訊,接上各種關鍵字之後的指令可以是:
就show cdp neighbors這個指令而言,可以取得以下這些資訊:
1. 鄰近設備的Device ID
2. 本地端的介面
3. Hold-time值,單位是秒
4. 鄰近設備的種類代碼
5. 鄰近設備的硬體平台
6. 鄰近設備的遠端埠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這個指令可取得以下這些資訊:
1. 鄰近設備的Device ID
2. 網路第三層協定的資訊,例如IP位址。
3. 鄰近設備的硬體平台
4. 鄰近設備的種類
5. 本地端介面種類和Outgoing遠端的埠ID
6. Hold-time值,單位是秒。
7. Cisco IOS軟體種類和版本資訊
其中,鄰近設備的種類可以顯示出這設備是路由器、交換機或是其他種類的設備,與show cdp neighbors指令所能顯現的設備種類代碼差不多,而其他能顯示的內容也和show cdp neighbors差不多。比較特別的是,這個指令可以顯示網路第三層協定的資訊、Cisco IOS軟體種類以及版本資訊,對於要考試的讀者,這是比較值得注意的。
由上面這些資訊看來,這個指令所能顯示的資訊與「show cdp entry *」指令其實是非常類似。
第三個要介紹的指令是show cdp traffic,該指令可用來顯示與介面的流量相關的資訊,因此這個指令可以顯示下列相關訊息:
1. 資料錯誤
2. Checksum錯誤
3. 封裝失敗
4. 記憶體用盡(Out of memory)
5. 無效的封包
6. 已分割的封包
7. 已經送出和已經接收到的CDPv1封包
8. 已經送出和已經接收到的CDPv2封包
需注意的是,show cdp traffic這個指令在Cisco Catalyst 1900 Switch上是不支援的。而第四個show cdp interface則可顯示目前送CDP的介面狀況,如下所示:
1. 介面是否運作中
2. 介面所使用的封裝方式
3. Hold-time值是多少
4. 每隔多久送出CDP封包(預設是每隔60秒)