CDP

思科發現協議

CDP是Cisco Discovery Protocol的縮寫,它是由思科公司推出的一種私有的二層網路協議,它能夠運行在大部分的思科設備上面。通過運行CDP 協議,思科設備能夠在與它們直連的設備之間分享有關操作系統軟體版本,以及IP地址,硬體平台等相關信息。

協議簡介


CDP是思科私有的一種設備發現協議。類似的協議有HP的LLDP(Link Layer Discovery Protocol)還有華為/H3C的NDP(鄰居發現協議)協議。
CDP是一個二層的網路協議,默認每60 秒向01-00-0C-CC-CC-CC這個組播地址發送一次通告,如果在180秒內未獲得先前鄰居設備的CDP通告,它將清除原來收到的CDP信息。因為它不依賴任何的三層協議,透過CDP協議,可以幫助我們解決一些三層錯誤配置的故障,比如錯誤的三層地址等等。
CDP
CDP

版本


版本1

CDP版本1支持以下參數:
參數類型說明
1設備ID設備或硬體序號的主機名, ASCII編碼。
2地址發送CDP報文的介面的L3地址。
3埠ID發送CDP報文的介面。
4功能
描述設備的功能:
路由器:0x01 TB網橋: 0x02 SR 網橋:0x04交換機:0x08 (提供L2和 L3 交換)主機:0x10 IGMP有條件的過濾:0x20 網橋 或交換機在non-routerports不轉發IGMP報告信息包。轉發器:0x40
5版本軟體版本( 字元串同show version一樣)。
6平台硬體平台,例 如WS-C5000,WS-C6009或者Cisco RSP。

版本2

在CDP版本2中,除了支持CDP版本1中所有欄位,還引入了另外的協議欄位。但下列可以是特別有用的在交換的環境和用於 CatcOs。
注意當交換機運行CDP版本1時,將丟棄版本2的幀。當運行CDP版本2的交換機在介面接收到一個CDP版本1的幀時,將會在這個介面上發出CDP版本1的幀。
參數類型說明
9VTP域VTP域,如果設備配置了。
10native VLANDot1Q中這是不標記標籤的VLAN。
11Full/Half雙工此欄位包含發送的埠的雙工設置。

配置說明


cdp
配置命令:cdp { advertise-v2 | holdtime | log | run | source-interface| timer }
Router(config)# cdp run (全局啟用CDP)
操作命令說明
全局啟用CDPcdp run必選
開啟V2版本cdp advertise-v2發送V2版本報文
配置保持時間cdp holdtime設備從相鄰設備收到的包的保持時間,默認是180 秒
配置發送間隔cdp timerCDP 包傳給每個活躍介面的時間間隔,默認是60 秒
cdp enable
介面下配置CDP命令,指定埠下開啟使用cdp enable,關閉使用no cdp enable。
Router(config)#no cdp run
Router(config)#int fa0/1
Router(config-if)#no cdp enable
show cdp
查看CDP全局配置信息
Router#show cdp
Global CDP information:
Sending CDP packets every 60 seconds
Sending a holdtime value of 180 seconds
Sending CDPv2 advertisements is enabled
show cdp neighbors
使用show cdp neighbors 可以顯示直接相連的設備的信息,如下:
Router#show cdp neighbors
一些選項的解釋如下:
1.Device ID:直接相連的設備的主機名
2.Local Interface:接收CDP 包的介面
3.Holdtime:某設備從相鄰設備收到的包的保持時間,如果過了這個時間仍然沒收到新的CDP包,設備信息將被清除。
4.Capability:見輸出最頂部信息
5.Platform:Cisco 設備的類型
6.Port ID:相連設備的接受CDP 包信息的介面要查看更為詳細的CDP 信息可以使用show cdp neighbor detail 或show cdp entry*(這條命令在交換機中不能用)命令。
show cdp traffic
使用show cdp traffic 命令顯示介面CDP 包流量信息,如下:
Router#sh cdp traffic
CDP counters:
Packets output: 13, Input: 8
Hdr syntax: 0, Chksum error: 0, Encaps failed: 0
No memory: 0, Invalid packet: 0, Fragmented: 0
Router#
Gathering Port and Interface Information
show cdp interface
使用show cdp interface 命令顯示介面的CDP 狀態信息

應用舉例


SNMP協議通過CDP、MIB發現網路拓撲
SNMP 中結合使用 CDP 管理信息基礎 MIB,能使網路管理應用獲知設備類型和相鄰設備的 SNMP 代理地址,並向這些設備發送 SNMP 查詢請求。Cisco 發現協議支持CISCO-CDP-MIB。
CDP 運行在所有的媒體上,從而支持子網訪問協議 SNAP,包括區域網、幀中繼和非同步傳輸模式 ATM物理媒體。CDP 只運行於數據鏈路層,因此,支持不同網路層協議的兩個系統彼此相互了解。
CDP 配置的每台設備發送周期性信息,如我們所知的廣告到組播地址。每台設備至少廣告一個地址,在該地址下,它可以接收 SNMP 信息。廣告包括生存期,或保持時間等信息,這些信息指出了在取消之前接收設備應該保持 CDP 信息的時間長短。此外每台設備還要注意其它設備發出的周期性 CDP 信息,從中了解相鄰設備信息並決定那些設備的媒體介面什麼時候增長或降低。
CDP 版本2,是目前該協議使用最普遍的版本,它具有更高的智能設備跟蹤等性能。支持該性能的報告機制,提供快速差錯跟蹤功能,有利於縮短停機時間(Downtime)。報告差錯信息可以發送到控制台或日誌伺服器(Logging Server),這些差錯信息包括連接埠上不匹配(Unmatching)的本地 VLAN IDs(IEEE 802.1Q)以及連接設備間不匹配的埠雙向狀態。
通過CDP協議發現相鄰埠Duplex不匹配
從CDP Version2開始,CDP支持傳送埠的Duplex,Native VLAN ID以及VTP Domain等新的TLV 值。雙工不匹配是一種比較難發現的網路錯誤,它並不會帶來網路的中斷但是它會造成某些應用性能的急劇下降。
發現相鄰Trunk埠的Native VLAN ID不一致
Trunk埠的Native VLAN ID 不一致會導致部分VLAN 通訊出現混亂。交換機 SW1通過F0/1 與SW2的F0/2 連接。
PoE 受電設備申請PoE 電源分配
PoE是Power Over Ethernet的縮寫,也就是我們常說的Inline Power,為解決一些小型乙太網設備需要單獨供電的而推出的一種集中化供電方式。利用現有的5 類雙絞線為那些小型的設備如IP Phone,無線的AP提供電力供應。
在 PoE供電系統中,我們把提供電力供應的設備叫PSE(Power Supply Equipment)接收電力供應的叫PD(Powered Device)。在思科設備中PSE 往往是那些中心端點支持PoE供電的交換機或者交換模塊。而PD 設備則是那些需要遠程供電的IP Phone,無線AP等等。
對於 PSE 和PD設備都為思科的設備,思科允許它們之間通過CDP 交換信息,以期讓PSE 設備獲得PD 設備的真實需要的電源供應功率。
協同ODR工作
ODR是On-Demand Routing的縮寫,直譯可以翻譯成“按需路由”,我們可以把它看做是基於CDP協議的一種路由協議或者把它看做CDP協議的一種增強功能。在IOS 11.2 及以後版本開始支持這個特性。
ODR適合用在那些Huband Spoke型的網路結構中(Hub and Spoke的網路拓撲結果我們可以把它理解成一個中心點,多個分支的網路拓撲。集中分支)。我們只需要在Hub 中心路由器上啟用router odr,分支路由器會自動在它的CDP更新中添加有關它網路的TLV信息。