Le protocole CDP

Article de blog | Finger In The Net

Le protocole CDP

Qu’est-ce que le protocole CDP ?

Le Cisco Discovery Protocol (CDP) est un protocole propriétaire développé par Cisco Systems. Il fonctionne au niveau 2 du modèle OSI (couche liaison de données) et permet aux équipements Cisco de s’identifier mutuellement sur un même segment réseau. CDP transmet des informations essentielles telles que le nom du périphérique, le modèle, l’interface utilisée, l’adresse IP de gestion ou encore le VLAN natif.

Son objectif principal est de simplifier la découverte automatique des voisins réseau, en particulier dans les infrastructures entièrement Cisco.

À quoi sert CDP ?

CDP est un outil précieux pour les ingénieurs réseau car il facilite la visualisation de la topologie physique. Il permet de détecter rapidement les erreurs de câblage, de valider les connexions trunk, de repérer des boucles réseau, ou encore de vérifier les paramètres d’un lien (comme la négociation duplex).

Utiliser CDP permet également de gagner du temps lors du déploiement ou du dépannage d’une infrastructure Cisco.

Fonctionnement de CDP

Le protocole envoie à intervalle régulier des messages CDP encapsulés dans des trames Ethernet. Ces messages sont diffusés à destination de l’adresse MAC 01:00:0C:CC:CC:CC. Chaque trame contient des champs au format TLV (Type-Length-Value) transportant les informations de l’équipement local.

Par défaut, un message CDP est envoyé toutes les 60 secondes, et les informations sont conservées pendant 180 secondes (TTL). L’Ethertype utilisé est 0x2000.

Les informations reçues sont stockées dans une table de voisins, consultable à tout moment via la CLI Cisco avec

show cdp neighbors.

Différences entre CDP et LLDP

Contrairement à LLDP (Link Layer Discovery Protocol), qui est un standard IEEE 802.1AB utilisé dans des environnements multi-constructeurs, CDP est spécifique à Cisco. Il n’est donc pas compatible avec les équipements d’autres marques, sauf dans certains cas où le support de CDP est intégré manuellement (comme sur des téléphones IP tiers).

LLDP est à privilégier dans les infrastructures mixtes, tandis que CDP reste très pratique dans les environnements 100 % Cisco.

Commandes CDP sur Cisco IOS

Voici quelques commandes utiles pour tirer parti de CDP :

  • cdp run : active CDP globalement sur l’équipement
  • cdp enable ou no cdp enable : active ou désactive CDP sur une interface
  • show cdp neighbors : affiche les équipements voisins
  • show cdp neighbors detail : donne des informations plus complètes (adresse IP, modèle…)
  • show cdp : permet de vérifier les paramètres globaux du protocole

Configuration du protocole CDP

Activer le protocole CDP :

switch# cdp run

Désactiver le protocole CDP :

switch# no cdp run

Les commandes suivantes permettent de vérifier l’état de ce protocole :

switch# show cdp 
Global CDP information:
   Sending CDP packets every 60 seconds       < Envoi toute les 60s ces infos
   Sending a holdtime value of 180 seconds    < Ces infos sont valide 180s
   Sending CDPv2 advertisements is enabled
Switch# 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
Switch# show cdp traffic
CDP counters :
   Total packets output: 304, Input: 305
   Hdr syntax: 0, Chksum error: 0, Encaps failed: 0
   No memory: 0, Invalid packet: 0,
   CDP version 1 advertisements output: 0, Input: 0
   CDP version 2 advertisements output: 304, Input: 305

Informations apprise par le protocole CDP

Quand le protocole CDP est activé, il envoie les informations suivantes sur tous ces ports :

  • Device ID : Le hostname de l’équipement
  • Entry address(es): Adresses IP présentes sur l’équipemen
  • Platform: Le modèle de l’équipement
  • Capabilities: Type d’équipement (switch/routeur)
  • Interface :Interface physique où est branché cet équipement
  • Port ID : Interface physique de l’interconnexion sur l’équipement en question
  • Version : Version d’IOS
  • Advertisement version: Version du protocole CDP
  • VTP Management Domain: Domaine VTP
  • Native VLAN :VLAN natif (par défaut, tout port est en mode access et fait partie de ce fameux VLAN)
  • Management address : Adresse IP de management
protocole CDP - Show CDP neighbor CISCO CCNA

 

Quelques commandes afin de vérifier les informations apprises :

Cette commande va nous permettre de connaître en résumé les informations collectées via le protocole CDP.

switch# 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
 SWITCH1           Gig 0/2         170         S I        WS-C2960-   Gig 0/1
 ROUTEUR1          Fas 0/13        136        R S I       CISCO2901   Gig 0/1

Cette commande va nous permettre de connaître en détail les informations collectées via le protocole CDP.

switch# show cdp neighbors detail
Device ID: SWITCH1
Entry address(es):
IP address: 172.16.1.1
Platform: cisco WS-C2960-24TT-L, Capabilities: Switch IGMP
Interface: GigabitEthernet0/2, Port ID (outgoing port): GigabitEthernet0/1
Holdtime : 161 sec
Version :
Cisco IOS Software, C2960 Software (C2960-LANBASEK9-M), Version 15.0(1)SE3, 
RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2012 by Cisco Systems, Inc.
Compiled Wed 30-May-12 14:26 by prod_rel_team
advertisement version: 2
Protocol Hello: OUI=0x00000C, Protocol ID=0x0112; payload len=27,
value=00000000FFFFFFFF010221FF00000000000018339D7B0E80FF0000
VTP Management Domain: ''
Native VLAN: 1
Duplex: full
Management address(es):
IP address: 172.16.1.1

Device ID: ROUTEUR1
etc .....

Cette commande va nous permettre de connaître en détail les informations collectées via le protocole CDP pour un équipement précis.

switch# show cdp entry SWITCH1

Bonnes pratiques

Il est recommandé de désactiver CDP sur les ports publics ou exposés, comme les liaisons vers Internet ou vers des clients non maîtrisés. Cela permet de limiter les fuites d’informations sur l’architecture réseau.

CDP doit être utilisé de manière stratégique : utile sur les liens d’infrastructure, mais à éviter sur les zones non sécurisées.

En résumé

CDP est un outil incontournable pour tous les administrateurs de réseaux Cisco. Il facilite la découverte de la topologie physique, accélère les déploiements et permet un diagnostic efficace des erreurs de configuration. Même s’il est propriétaire, il reste un standard de fait dans les environnements Cisco, simple à mettre en œuvre et très puissant.

Les protocoles CDP et LLDP sont des protocoles de découverte réseau de niveau 2.

Ils permettent à un équipement actif d’avertir ses voisins directement connectés de son existence.

Notre équipement qui utilise un de ces deux protocoles va donc envoyer un message de ce type sur toutes ces interfaces :

“Bonjour ! Je m’appelle switch_01 ! Je possède les adresses IP 192.168.0.254 et 192.168.1.254. Je suis un switch Cisco 2950, mon IOS est en 12.4, mon domaine VTP est VTP_EDF, mon VLAN natif est le VLAN 3 et je suis administrable via l’adresse IP 10.10.10.1. Nous sommes interconnectés via mon port GigabithEthernet 0/1. Bonne journée !”

Ce message va être envoyé toutes les 60 secondes !

Si un équipement reçoit ce type de message et utilise ce protocole, il va garder en mémoire ces informations.

CDP / LLDP

Le cours CDP et LLDP en Vidéo

Noël NICOLAS

Auteur de l'article

Expert Réseau
15 ans d’expérience
CCNP Routing and Switching
Fondateur du site FingerInTheNet

Eric JOUFFRILLON

Co-auteur de l'article

Expert SATCOM
Technicien Réseau
17 ans d’éxpérience déploiement réseau SATCOM
Spécialisé LFN (Long Fat Network).Diffusion vidéo et QOS.

CURSUS DE FORMATION

Administrateur Réseau