Objectifs de certification

ICND1 100-105

  • 5.2 Configurer et vérifier la gestion du périphérique Backup et restore de la configuration du périphérique, Utilisation de Cisco Discovery Protocol ou LLDP pour la découverte des périphériques, Licensing, Logging, Timezone, Loopback

CCNA R&S 200-125

  • 7.3 Configurer et vérifier la gestion du périphérique (Backup et restore de la configuration du périphérique, Utilisation de Cisco Discovery Protocol ou LLDP pour la découverte des périphériques, Licensing, Logging, Timezone, Loopback)
  • 2.8 Configurer et vérifier les protocoles Couche 2 L2 (Cisco Discovery Protocol, LLDP)

Voisinage CDP et LLDP

CDP Cisco Discovery Protocol (propriétaire) et LLDP Link Layer Discovery Protocol (standardisé IEEE 802.1ab) sont des protocoles de couche (L2) servant à l’identification, au diagnostic, à la surveillance, à la gestion et à la configuration des périphériques à partir de cette couche.

1. Introduction protocole de voisinage

On peut trouver des protocoles de voisinage L2, au niveau de la couche Liaison de données :

  • Utilité : identification, diagnostic, surveillance, gestion et configuration des périphériques.
  • Protocoles CDP et LLDP.
  • Vulnérable dans l’environnement L2.
  • Diagnostic de base : si ces protocoles sont fonctionnels, la couche 2 est donc fonctionnelle.

On peut aussi rencontrer des protocoles de voisinage L3, au niveau de la couche Internet :

  • Résolution d’adresses et maintien de relations de voisinage en IPv6 (L3) avec Neighbor Discovery.
  • ND (ICMPv6).
  • Vulnérable au sein de l’environnement L3 (domaine de Broadcast/Multicast).

1.1. Protocoles de voisinage L2

Deux protocoles de voisinage de couche L2 sont courants1 :

  • CDP (propriétaire Cisco, activé par défaut sur les routeurs et commutateurs).
  • LLDP (standard interopérable, IEEE 802.1ab).

Leur objectif principal est d’échanger des informations entre périphériques intermédiaires qui peuvent s’identifier finement à travers des TLVs (Type-length-value).

1.2. Caractéristiques des protocoles de voisinage L2

  • Uniquement transmis dans des trames (IEEE 802.3 / IEEE 802.2, par exemple).
  • Portée L2.
  • Adresses L2 Multicast réservées.
  • CDP et LLDP sont disponibles en plusieurs versions.
  • Délais mise à jour/durée de vie.
  • Informations transportées dans des TLV (Type-length-value)

1.3. Voisinage de couche 3

Neighbor Discovery (ND, ICMPv6) est aussi un protocole de voisinage mais de couche 3 :

  • Voisins = Noeuds attaché au même lien (L2).
  • Objectif : maintenir les informations L2, “Link-Layer”.
  • Utilisé en IPv6 par Neighbor Discovery (ICMPv6/ND) pour la résolution d’adresse.
  • La détection des voisins.
  • Le maintien des informations de voisinage.
  • La détection du routeur et des paramètres du réseau de manière active.

2. Cisco Discovery Protocol CDP

2.1. Caractéristiques de Cisco Discovery Protocol

  • Cisco Discovery Protocol, propriétaire
  • Protocole de couche 2 (embarqués dans des trames) :
    • Adresse de destination 01:00:0c:cc:cc:cc
    • Logical-Link Control
    • DSAP: SNAP (0xaa)
    • Organization Code: Cisco (0x00000c)
    • PID: CDP (0x2000)
  • Mises à jour par défaut toutes les 60 secondes.
  • Informations retenues (“holdtime”) 3 X 60 secondes = 180 s.
  • Activé par défaut sur toutes les interfaces
  • A désactiver (globalement ou par interfaces) car très indiscret

Note : “SubNetwork Access Protocol” (SNAP) est un mécanisme de multiplexage sur les réseaux utilisant IEEE 802.2 LLC. Le protocole transporté est identifié par les 8 bits du champ “Service Access Point” (SAP).

2.2. CDP en Cisco IOS

La commande show cdp affiche les paramètres CDP.

#show cdp
Global CDP information:
    Sending CDP packets every 60 seconds
    Sending a holdtime value of 180 seconds
    Sending CDPv2 advertisements is enabled

2.3. Modification des compteurs CDP

Par exemple pour modifier les compteurs de mis à jour à 30 secondes et de retenue à 120 secondes.

(config)#cdp timer 30
(config)#cdp holdtime 120

Pour vérifier cette modification, on utilisera volontiers la commande show cdp.

show cdp
Global CDP information:
	Sending CDP packets every 30 seconds
	Sending a holdtime value of 120 seconds
	Sending CDPv2 advertisements is  enabled

Les paramètres par défaut des compteurs se rétablissent manuellement :

(config)#cdp timer 60
(config)#cdp holdtime 180

2.4. Voisins CDP

La commande show cdp neighbors affiche de manière synthétique les voisins vus par le nom d’hôte, l’interface locale d’apprentissage, la durée de vie de l’information, le type de matériel et les port distant qui à envoyé l’information.

#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
SW0              Gig 0/0           156             R S I            Gig 0/0

Total cdp entries displayed : 1

2.5. Détails CDP sous Cisco IOS

La commande show cdp neighbors detail affiche des détails sur les voisins détectés.

#show cdp neighbors detail
-------------------------
Device ID: gateway
Entry address(es):
  IP address: 192.168.1.254
  IPv6 address: FD00:192:168:1::1  (global unicast)
  IPv6 address: FE80::1  (link-local)
Platform: Cisco ,  Capabilities: Router Source-Route-Bridge
Interface: GigabitEthernet0/0,  Port ID (outgoing port): GigabitEthernet0/0
Holdtime : 114 sec

Version :
Cisco IOS Software, IOSv Software (VIOS-ADVENTERPRISEK9-M), Version 15.6(2)T, RELEASE SOFTWARE (fc2)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2016 by Cisco Systems, Inc.
Compiled Tue 22-Mar-16 16:19 by prod_rel_team

advertisement version: 2
Duplex: half (Mismatch)
Management address(es):
  IP address: 192.168.1.254


Total cdp entries displayed : 1

2.6. Désactivation de CDP

Alors que CDP est activé par défaut sur toutes les interfaces d’un routeur ou d’un commutateur Cisco, on peut le désactiver interface par interface (no cdp enable) ou globalement (no cdp run)

(config)#int f0/1
(config-if)#no cdp enable
(config-if)#exit
(config)#no cdp run

Quand CDP est désactivé, la commande show cdp donne la sortie % CDP is not enabled.

2.7. Commandes CDP complémentaires

(config)#cdp ?
  advertise-v2      CDP sends version-2 advertisements
  filter-tlv-list   Apply tlv-list globally
  holdtime          Specify the holdtime (in sec) to be sent in packets
  log               Log messages generated by CDP
  run               Enable CDP
  source-interface  Insert the interface's IP in all CDP packets
  timer             Specify the rate at which CDP packets are sent (in sec)
  tlv               Enable exchange of specific tlv information
  tlv-list          Configure tlv-list

2.8. Captures CDP

Link Layer Discovery Protocol (LLDP) est un protocole normé dans la publication IEEE 802.1ab. C’est un protocole destiné à remplacer un bon nombre de protocoles propriétaires (Cisco CDP, Extreme EDP, etc.) utilisés dans la découverte des topologies réseau de proche en proche; il sert aussi à apporter des mécanismes d’échanges d’informations entre équipements réseaux et utilisateurs finaux.

LLDP est un protocole ouvert constitué de deux parties :

  • un entête et une fin de message fixe
  • un ensemble de conteneurs d’information (TLV, Type-length-value)

3.2. Intérêts de LLDP

L’intérêt de LLDP vient du modèle ouvert de gestion des TLV :

  • Si un équipement de transit reçoit un message LLDP, il le lit dans son intégralité, et interprète tous les TLVs qu’il peut interpréter.
  • S’il lit un TLV qu’il ne sait pas interpréter, il le conserve tel quel dans le message et ne le prend pas en compte localement

Il retransmet ensuite le message originel en modifiant les TLV interprétés s’il y a besoin de les modifier, et les TLV non interprétés en les laissant tel quels.

3.3. Media Endpoint Discovery extension

Media Endpoint Discovery (LLDP-MED) est une amélioration de LLDP qui offre les fonctionnalités suivantes :

  • Découverte automatique des LAN policies (VLAN, priorités L2, Diffserver) activant le réseau plug-and-play
  • Localisation de périphériques par découverte permettant la création de bases de données (avec la VoIP, permettant un service d’urgence)
  • Gestion de l’alimentation PoE étendue et automatisée pour les périphériques terminaux
  • Gestion d’inventaire permettant de suivre les périphériques et de collecter leurs caractéristiques.

3.4. LLDP sous Cisco IOS

Pour activer LLDP, il est nécessaire d’encoder la commande lldp run en configuration globale.

(config)#lldp run

La commande show lldp affiche les paramètres LLDP.

#show lldp
Global LLDP Information:
    Status: ACTIVE
    LLDP advertisements are sent every 30 seconds
    LLDP hold time advertised is 120 seconds
    LLDP interface reinitialisation delay is 2 seconds

La commande show lldp neighbors affiche de manière synthétique les voisins vus par le nom d’hôte, l’interface locale d’apprentissage, la durée de vie de l’information, le type de matériel et les port distant qui à envoyé l’information.

#show lldp neighbors
Capability codes:
    (R) Router, (B) Bridge, (T) Telephone, (C) DOCSIS Cable Device
    (W) WLAN Access Point, (P) Repeater, (S) Station, (O) Other

Device ID           Local Intf     Hold-time  Capability      Port ID
SW0                 Gi0/0          120        R               Gi0/0

Total entries displayed: 1


Commandes LLDP complémentaires

Pour information quelques commandes LLDP complémentaires.

(config)#lldp ?
  holdtime    Specify the holdtime (in sec) to be sent in packets
  reinit      Delay (in sec) for LLDP initialization on any interface
  run         Enable LLDP
  timer       Specify the rate at which LLDP packets are sent (in sec)
  tlv-select  Selection of LLDP TLVs to send

Tableau comparatif CDP / LLDP sous Cisco IOS

Cisco IOSCDPLLDP
Activé par défautouinon
Compteur de mise à jour (timer)6030
Compteur de retenue (holdtime)180120
Activation globale(config)# cdp run(config)# lldp run
Activation par interface(config-if)# cdp enable(config-if)# lldp enable
Vérification# show cdp# show lldp

4. Compléments

4.1. Renifleurs CDP / LLDP

Sous Debian, on trouve des logiciels capables d’émettre et d’interpréter des messages CDP / LLDP.

cdpr - Cisco Discovery Protocol Reporter
cdpsnarf - Network sniffer to extract CDP information
ladvd - LLDP/CDP sender
lldpd - implementation of IEEE 802.1ab (LLDP)
yersinia - Network vulnerabilities check software

Sous Red Hat, on trouvera aussi certains logiciels CDP / LLDP.

...

Installation et lancement de CDPR

# yum install cdpr || apt-get install cdpr
# cdpr -help
# cdpr
# cdpr -d eth0 -vvv

4.2. Références

  1. EDP pour “Extreme Discovery Protocol” ou encore FDP pour “Foundry Discovery Protocol”. 

Laisser un commentaire