前言
Cisco Discovery Protocol (CDP) 是 Cisco 獨家的 Protocol,只可在 Cisco 產品上執行。透過 CDP,網管人員可以查看該設備的物理連接,得到相鄰設備的資訊,例如:型號、IOS 版本等等。現在一般都會使用 CDP Version 2,而 Cisco 設備預設亦會是 Version 2。
Neighbors
用上圖網絡為例子,由於 CDP 預設是開啟的,因此只要輸入 show cdp neighbors 即可看到相鄰 Router 的資料。以下用 R1 作示範。
R1#show cdp neighbors
Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge
S - Switch, H - Host, I - IGMP, r - Repeater
Device ID Local Intrfce Holdtme Capability Platform Port ID
R2 Eth 0/0 128 R S I 3640 Eth 0/0
R3 Eth 0/1 133 R 7206VXR Fas 0/0
Device ID
相鄰設備的 hostname。
Local Intrfce
即 Local Interface,是本設備連接相鄰設備的 Interface。
Holdtme
CDP packet 預設每 60 秒傳送一次,如果過了預設 Hold Time 180 秒也收不到 CDP packet,則判斷對方已死掉。所以 Hold Time 會由 180 秒開始倒數,直至收到 CDP packet 再回到 180 秒,如果 Hold Time 數到 0 也收不到 CDP packet 的話,此條紀錄便會被移除。
Capability
相鄰設備是一件什麼東西呢?只要查看 Capability Code 便知道了。
Platform
相鄰設備的型號。
Port ID
正在連接相鄰設備的那一個 Interface。
如果想看得詳細一點的話,可以用 show cdp neighbors detail,連 IP Address、IOS Version 也赤裸裸的顯示出來了,沒有私隱!
R1#show cdp neighbors detail ------------------------- Device ID: R2 Entry address(es): IP address: 192.168.1.1 Platform: Cisco 3640, Capabilities: Router Switch IGMP Interface: Ethernet0/0, Port ID (outgoing port): Ethernet0/0 Holdtime : 173 sec Version : Cisco IOS Software, 3600 Software (C3640-JK9S-M), Version 12.4(16), RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2007 by Cisco Systems, Inc. Compiled Wed 20-Jun-07 11:43 by prod_rel_team advertisement version: 2 VTP Management Domain: '' Duplex: half ------------------------- Device ID: R3 Entry address(es): IP address: 192.168.2.1 Platform: Cisco 7206VXR, Capabilities: Router Interface: Ethernet0/1, Port ID (outgoing port): FastEthernet0/0 Holdtime : 174 sec Version : Cisco IOS Software, 7200 Software (C7200-IK9S-M), Version 12.4(17a), RELEASE SOFTWARE (fc2) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2007 by Cisco Systems, Inc. Compiled Wed 07-Nov-07 21:02 by prod_rel_team advertisement version: 2 Duplex: full
CDP Timer 與 Hold Time
如果這時候我們更改 R2 的 hostname,會發現要等一段時間後紀錄才出現,而且舊紀錄也沒有立刻消失,這可能會造成一點困擾。
R2(config)#hostname Router2
R1#show cdp neighbors Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge S - Switch, H - Host, I - IGMP, r - Repeater Device ID Local Intrfce Holdtme Capability Platform Port ID R2 Eth 0/0 128 R S I 3640 Eth 0/0 Router2 Eth 0/0 168 R S I 3640 Eth 0/0 R3 Eth 0/1 133 R 7206VXR Fas 0/0
如果想更新快一點的話,可以修改 CDP Timer,縮短更新時間。但此舉會增加網絡負荷,請小心使用。現在試把 R2 的 CDP timer 改成 5 秒 (預設是 60 秒)。
Router2(config)#cdp timer ? <5-254> Rate at which CDP packets are sent (in sec) Router2(config)#cdp timer 5
用 show cdp 指令可查看 Timer 值。
Router2#show cdp
Global CDP information:
Sending CDP packets every 5 seconds
Sending a holdtime value of 180 seconds
Sending CDPv2 advertisements is enabled
觀察 R1 的 CDP Neighbor,會發現 Router2 的 HoldTme 每數到 175 便會回到 180,證明 CDP Timer 已改成 5 秒。
R1#show cdp neighbors Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge S - Switch, H - Host, I - IGMP, r - Repeater Device ID Local Intrfce Holdtme Capability Platform Port ID Router2 Eth 0/0 179 R S I 3640 Eth 0/0 R3 Eth 0/1 169 R 7206VXR Fas 0/0
現在嘗試在 R2 更改 CDP holdtime。
R2(config)#cdp holdtime ? <10-255> Length of time (in sec) that receiver must keep this packet R2(config)#cdp holdtime 10
R2#show cdp
Global CDP information:
Sending CDP packets every 5 seconds
Sending a holdtime value of 10 seconds
Sending CDPv2 advertisements is enabled
在 R1 看 CDP Neighbor,現在 Router2 的 Holdtime 會由 10 秒開始倒數,如果過了 10 秒都收不到 Router2 傳送 CDP packet,就會刪掉紀錄。這樣子,不存在的設備就可以快一點消失。
R1#show cdp neighbors Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge S - Switch, H - Host, I - IGMP, r - Repeater Device ID Local Intrfce Holdtme Capability Platform Port ID Router2 Eth 0/0 6 R S I 3640 Eth 0/0 R3 Eth 0/1 121 R 7206VXR Fas 0/0
關掉 CDP
由於 CDP 會暴露重要資訊,有時我們並不希望啟動 CDP,例如:我是 ISP ,我不想我的客戶知道我 Router 的資料,那便要關掉 CDP 了。
我們可以在 Interface 用 no cdp enable,這樣,只有這個 Interface 的 CDP 會被關掉。
R2(config)#interface ethernet 0/0
R2(config-if)#no cdp enable
又或者使用 Global 指令 no cdp run,這樣就所有 Interface 都不會發 CDP 了。
R2(config)#no cdp run
關掉 CDP 後,R1 便看不到 Router2 的資料。
R1#show cdp neighbors Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge S - Switch, H - Host, I - IGMP, r - Repeater Device ID Local Intrfce Holdtme Capability Platform Port ID R3 Eth 0/1 134 R 7206VXR Fas 0/0
相關主題
Jan Ho 2014-08-08
Posted In: Layer 2 網絡技術
發佈留言