Cisco Discovery Protocol (CDP)
Published: 01/07/2010
Reference trace files:
cisco_default_2950_cdp_version_2.cap
cisco_default_2950_cdp_version_1.cap
Cisco devices uses a device informational messaging protocol operating at layer 2 to let their directly-connected neighbors know who and what they are. Once every 60 seconds by default, a CDP frame is sent out of each Ethernet interface to its physically connected peer. This lets peers know what kind of devices they are, which IOS version it's running, the connected port number , etc..
CDP includes the following information relayed to peers (items in blue represent fields not in version 1 of the protocol):
Cisco Discovery Protocol
Version: 2
TTL: 180 seconds
Checksum: 0x6204 [correct]
[Good: True]
[Bad : False]
Device ID: MySwitch01
Type: Device ID (0x0001)
Length: 14
Device ID: MySwitch01
Addresses
Type: Addresses (0x0002)
Length: 17
Number of addresses: 1
IP address: 0.0.0.0
Protocol type: NLPID
Protocol length: 1
Protocol: IP
Address length: 4
IP address: 0.0.0.0
Port ID: FastEthernet0/1
Type: Port ID (0x0003)
Length: 19
Sent through Interface: FastEthernet0/1
Capabilities
Type: Capabilities (0x0004)
Length: 8
Capabilities: 0x00000028
.... .... .... .... .... .... .... ...0 = Not a Router
.... .... .... .... .... .... .... ..0. = Not a Transparent Bridge
.... .... .... .... .... .... .... .0.. = Not a Source Route Bridge
.... .... .... .... .... .... .... 1... = Is a Switch
.... .... .... .... .... .... ...0 .... = Not a Host
.... .... .... .... .... .... ..1. .... = Is IGMP capable
.... .... .... .... .... .... .0.. .... = Not a Repeater
Software Version
Type: Software version (0x0005)
Length: 277
Software Version: Cisco Internetwork Operating System Software
IOS (tm) C2950 Software (C2950-I6K2L2Q4-M),
Version 12.1(22)EA13, RELEASE SOFTWARE (fc2)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2009 by cisco Systems, Inc.
Compiled Fri 27-Feb-09 22:20 by amvarma
Platform: cisco WS-C2950T-24
Type: Platform (0x0006)
Length: 22
Platform: cisco WS-C2950T-24
Protocol Hello: Cluster Management
Type: Protocol Hello (0x0008)
Length: 36
OUI: 0x00000C (Cisco)
Protocol ID: 0x0112 (Cluster Management)
Cluster Master IP: 0.0.0.0
UNKNOWN (IP?): 0xFFFFFFFF (255.255.255.255)
Version?: 0x01
Sub Version?: 0x02
Status?: 0x21
UNKNOWN: 0xFF
Cluster Commander MAC: 00:00:00:00:00:00
Switch's MAC: 00:0e:84:cb:c7:c0
UNKNOWN: 0xFF
Management VLAN: 0
VTP Management Domain: ACME_Lab
Type: VTP Management Domain (0x0009)
Length: 12
VTP Management Domain: ACME_Lab
Native VLAN: 1
Type: Native VLAN (0x000a)
Length: 6
Native VLAN: 1
Duplex: Full
Type: Duplex (0x000b)
Length: 5
Duplex: Full
Trust Bitmap: 0x00
Type: Trust Bitmap (0x0012)
Length: 5
Trust Bitmap: 00
Untrusted port CoS: 0x00
Type: Untrusted Port CoS (0x0013)
Length: 5
Untrusted port CoS: 00
Management Addresses
Type: Management Address (0x0016)
Length: 17
Number of addresses: 1
IP address: 0.0.0.0
Protocol type: NLPID
Protocol length: 1
Protocol: IP
Address length: 4
IP address: 0.0.0.0
|
This shows CDP advertises its configured hostname (MySwitch01), the port it's coming from (FastEthernet0/1), the fact that it's a switch (as opposed to a router), the IOS version (12.1(22)EA13), the hardware model (WS-C2950T-24), the VTP domain (ACME_Lab), etc..
Version 2 of this protocol is currently the default on Cisco 2950 switches, although version 1 can be used instead by using the no cdp advertise-v2 command.
Cisco Discovery Protocol
Version: 1
TTL: 180 seconds
Checksum: 0x891c [correct]
[Good: True]
[Bad : False]
Device ID: MySwitch01
Type: Device ID (0x0001)
Length: 14
Device ID: MySwitch01
Addresses
Type: Addresses (0x0002)
Length: 17
Number of addresses: 1
IP address: 0.0.0.0
Protocol type: NLPID
Protocol length: 1
Protocol: IP
Address length: 4
IP address: 0.0.0.0
Port ID: FastEthernet0/1
Type: Port ID (0x0003)
Length: 19
Sent through Interface: FastEthernet0/1
Capabilities
Type: Capabilities (0x0004)
Length: 8
Capabilities: 0x00000028
.... .... .... .... .... .... .... ...0 = Not a Router
.... .... .... .... .... .... .... ..0. = Not a Transparent Bridge
.... .... .... .... .... .... .... .0.. = Not a Source Route Bridge
.... .... .... .... .... .... .... 1... = Is a Switch
.... .... .... .... .... .... ...0 .... = Not a Host
.... .... .... .... .... .... ..1. .... = Is IGMP capable
.... .... .... .... .... .... .0.. .... = Not a Repeater
Software Version
Type: Software version (0x0005)
Length: 277
Software Version: Cisco Internetwork Operating System Software
IOS (tm) C2950 Software (C2950-I6K2L2Q4-M),
Version 12.1(22)EA13, RELEASE SOFTWARE (fc2)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2009 by cisco Systems, Inc.
Compiled Fri 27-Feb-09 22:20 by amvarma
Platform: cisco WS-C2950T-24
Type: Platform (0x0006)
Length: 22
Platform: cisco WS-C2950T-24
|
CDP neighbors remember these values for a length of time based on the TTL (180 seconds by default). Some common commands to keep track of CDP status are:
show cdp neighbors detail |
show cdp entry * |
show cdp traffic |
show cdp interface <interface> |
There may be cases where having CDP enabled on a switch or a particular interface may not be a wise idea. For example, if an interface is directly connected to the outside world (such as your ISP upstream connection), you may want to disable it. To disable it globally on the switch, use no cdp run. For a specific interface, use the no cdp enable command.
Go back to the main articles list.