CDP ist eigentlich recht simpel und straight forward, dennoch gibts 2-3 Details die man wissen sollte.
CDP ist per default auf allen Ports aktiviert.
Status prüfen:
CAT1#show cdp Global CDP information: Sending CDP packets every 60 seconds Sending a holdtime value of 180 seconds Sending CDPv2 advertisements is enabled
Global ausschalten:
CAT1(config)#no cdp run CAT1(config)#do sh cdp % CDP is not enabled CAT1(config)#
Per Port ausschalten
CAT1(config)#int fa0/1 CAT1(config-if)#no cdp enable CAT1(config-if)#
Prüfen ob CDP auf einem Port aktiviert ist:
CAT1#show cdp interface fastEthernet 0/1 FastEthernet0/1 is up, line protocol is up Encapsulation ARPA Sending CDP packets every 60 seconds Holdtime is 180 seconds
Der wohl am häufigsten verwendete Befehl, CDP Neighbors abfragen:
CAT1#show cdp neighbors Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone, D - Remote, C - CVTA, M - Two-port Mac Relay Device ID Local Intrfce Holdtme Capability Platform Port ID APLI1002 Fas 0/1 149 T AIR-LAP11 Fas 0 CME Fas 0/4 156 R S I 2801 Fas 0/0 AAP1 Fas 0/2 152 T I AIR-AP113 Fas 0 CAT2 Fas 0/24 147 R S I WS-C3560- Fas 0/24 CAT2 Fas 0/23 147 R S I WS-C3560- Fas 0/23 CAT3 Fas 0/22 154 S I WS-C3560- Fas 0/22 WLC1 Gig 0/2 145 H AIR-WLC44 Gig 0/0/2
Manchmal kann die Neighbor Liste recht unübersichtlich sein. Sollte man bereits wissen auf welchen Interface der gesuchte Neighbor hängt, ergibt sich die Abfrage gefiltert auf das Interface:
CAT1#show cdp neighbors fastEthernet 0/23 Capability Codes: R - Router, T Bridge S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone, D - Remote, C - CVTA, M - Two-port Mac Relay Device ID Local Intrfce Holdtme Capability Platform Port ID CAT2 Fas 0/23 135 R S I WS-C3560- Fas 0/23
Doch was kann man sonst noch machen?
CAT1#show cdp ?
entry Information for specific neighbor entry
interface CDP interface status and configuration
neighbors CDP neighbor entries
tlv CDP optional TLVs
traffic CDP statistics
| Output modifiers
<cr>
Entry lässt einen nach einem bestimmten Neighbor suchen, nehmen wir CAT2 aus dem Beispiel oben.
CAT1#show cdp entry CAT2 ------------------------- Device ID: CAT2 Entry address(es): IP address: 10.10.210.1 IPv6 address: FE80::2 (link-local) Platform: cisco WS-C3560-24PS, Capabilities: Router Switch IGMP Interface: FastEthernet0/23, Port ID (outgoing port): FastEthernet0/23 Holdtime : 173 sec Version : Cisco IOS Software, C3560 Software (C3560-IPSERVICESK9-M), Version 12.2(55)SE6, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2012 by Cisco Systems, Inc. Compiled Mon 23-Jul-12 13:10 by prod_rel_team advertisement version: 2 Protocol Hello: OUI=0x00000C, Protocol ID=0x0112; payload len=27, value=00000000FFFFFFFF01022501000000000000001B54A56C00FF0000 VTP Management Domain: 'ipexpert' Native VLAN: 999 Duplex: full Management address(es): IP address: 10.10.210.1
Wenn man rausfinden möchte, welche CDP Version von Geräten im Netz verwendet wird, kann man anhand der Traffic Counters Rückschlüsse ziehen.
CAT1#show cdp traffic CDP counters : Total packets output: 506023, Input: 442843 Hdr syntax: 0, Chksum error: 0, Encaps failed: 0 No memory: 0, Invalid packet: 2, CDP version 1 advertisements output: 0, Input: 0 CDP version 2 advertisements output: 506023, Input: 442843
Was ist ein Timer?
CAT1(config)#cdp timer ? <5-254> Rate at which CDP packets are sent (in sec) CAT1(config)#cdp holdtime ? <10-255> Length of time (in sec) that receiver must keep this packet
Timer = Wie oft sende ich CDP Pakete an meine Nachbarn
Holdtime = Wie lange sollen meine Nachbarn mich im Cache behalten, nachdem sie keine CDP Pakete mehr von mir erhalten.
Beispiel auf CAT1: Timer 5 / Holdtime 15
CAT1(config)#cdp timer 5 CAT1(config)#cdp holdtime 15
CAT sendet somit alle 5 Sekunden ein CDP Paket mit einer Holdtime von 15 Sekunden.
Auf CAT 2 sollte man nun nie einen Timer unter 10 sehen:
CAT2#show cdp neighbors fastEthernet 0/23 Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone, D - Remote, C - CVTA, M - Two-port Mac Relay Device ID Local Intrfce Holdtme Capability Platform Port ID CAT1 Fas 0/23 12 R S WS-C3560- Fas 0/23 CAT2#show cdp neighbors fastEthernet 0/23 Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone, D - Remote, C - CVTA, M - Two-port Mac Relay Device ID Local Intrfce Holdtme Capability Platform Port ID CAT1 Fas 0/23 11 R S WS-C3560- Fas 0/23 CAT2#show cdp neighbors fastEthernet 0/23 Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone, D - Remote, C - CVTA, M - Two-port Mac Relay Device ID Local Intrfce Holdtme Capability Platform Port ID CAT1 Fas 0/23 10 R S WS-C3560- Fas 0/23 CAT2#show cdp neighbors fastEthernet 0/23 Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone, D - Remote, C - CVTA, M - Two-port Mac Relay Device ID Local Interface Holdtime Capability Platform Port ID CAT1 Fas 0/23 14 R S WS-C3560- Fas 0/23 CAT2#
Der Holdtime Cache wird somit von jedem neuen CDP Paket quasi wieder „aufgefüllt“.
Standardmässig verwendet CDP Version 2, diese lässt sich explizit abschalten:
CAT1(config)#cdp ? advertise-v2 CDP sends version-2 advertisements holdtime Specify the holdtime (in s Enable CDP timer Specify the rate at which CDP packets are sent (in sec) of specific tlv information CAT1(config)#no cdp advertise-v2
Prüfen:
CAT1(config)#do sh cdp Global CDP information: Sending CDP packets every 5 seconds Sending a holdtime value of 15 seconds Sending CDPv2 advertisements is not enabled
Wann gibt es Gründe CDPv2 abzuschalten?
Eigentlich keine, vorallem dann nicht wenn folgende Erweiterungen von CDPv2 genutzt werden:
Cisco Discovery Protocol Version 2 has three additional type, length, values (TLVs): VTP Management Domain Name, Native VLAN, and full/half-Duplex.
Soweit ich mich erinnre, spielt es sogar für die Aushandlung von PoE eine gewisse Rolle.
Selten beachtet wird die Sparte Capability. Meiner persönlichen Meinung nach, ist die Anzeige meist ohnehin irreführend:
CAT2#show cdp nei Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone, D - Remote, C - CVTA, M - Two-port Mac Relay Device ID Local Intrfce Holdtme Capability Platform Port ID 000c29a92648 Fas 0/12 154 H Cisco-VM- eth0 AP Fas 0/2 163 T AIR-LAP11 Fas 0 CAT4 Fas 0/22 129 R S I WS-C3560G Gig 0/22 CAT3 Fas 0/20 172 S I WS-C3560- Fas 0/20 CAT1 Fas 0/24 12 R S WS-C3560- Fas 0/24 CAT1 Fas 0/23 12 R S WS-C3560- Fas 0/23 WLC1 Gig 0/1 162 H AIR-WLC44 Gig 0/0/1 WLC4 Fas 0/15 159 H AIR-WLC21 Fastethernet0/0/1 WLC4 Fas 0/16 159 H AIR-WLC21 Fastethernet0/0/2
WLC = Hosts? aha
Da CDP einiges an Informationen über das Netz preisgibt und einfach abgesnifft werden kann, zuletzt die Frage wann CDP Sinn macht und wann nicht:
Port Beschreibung | CDP Disable |
Client Accessports | Ja |
VoIP Phone | Nein |
Trunk | Nein |
Serverport | *Ja |
Accesspoint | Nein |
*Ausnahmen möglich, so gibt es bspw. CDP Dienste die man auf Server laufen lassen kann, sollte dies in einem Szenario Sinn ergeben.