CDP Basics

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.

 

Samuel Heinrich
Senior Network Engineer at Selution AG (Switzerland)
Arbeitet in Raum Basel (Switzerland) als Senior Network Engineer mit über 15 Jahren Erfahrung im Bereich Netzwerk

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.