CDP – Cisco Discovery Protocol
Il protocollo in dettaglio
Il CDP (Cisco Discovery Protocol) è un protocollo prorietario Cisco nato per condividere alcune informazioni verso i dispositivi direttamente connessi attraverso l’invio di blocchi di informazioni noti come TLV (Type Length Values). Opera al livello 2 della pila ISO-OSI (Data Link) ed è attivo di default sulla maggior parte degli apparati dell’azienda di San Jose.
Le informazioni contenute nelle TLV vengono memorizzate in una tabella dei neighbors (tabella dei vicini).
Esistono due versioni del protocollo:
La versione 1, datata 1994, supporta un numero limitato di TLV come ad esempio il Device-ID TLV, l’Address TLV, la Capability TLV, il Version TLV, la Platform TLV ed altre.
La seconda versione (del 1997) ha inserito tra le informazioni annunciate nelle TLV anche dettagli sul VLAN Trunking Protocol (altro protocollo proprietario Cisco di cui parleremo in un altro articolo), sulla VLAN nativa, sulla modalità Half/Full duplex, sul PoE e tanto altro ancora.
A discapito del nome “Discovery Protocol” che letteralmente significa “Protocollo di scoperta”, va detto che per il suo comportamento è più un protocollo per “farsi scoprire”!
Difatti, l’apparato su cui è in esecuzione il CDP, non chiede informazioni ai suoi “vicini” direttamente connessi ma invia le proprie informazioni di presentazione in multicast all’indirizzo 0100.0ccc.cccc (l’indirizzo di destinazione cambia in c000.0800.0000 nel caso siamo in presenza di reti di tipo Token Ring IEEE 802.5) quando il link fisico diventa attivo (fase di FastStart – 3 frame CDP inviate 1 volta al secondo).
Successivamente invia periodicamente queste informazioni a intervalli definiti da un tempo di timer.
Nella frame CDP il dispositivo mittente indica anche per quanto tempo il vicino deve conservare le informazioni inviate (tempo di holdtime) prima che questo le scarti e consideri chiusa la relazione di adiacenza.
Alla ricezione della frame CDP, il ricevente controlla se esiste una entry nella tabella dei neighbor per quel mittente su quella particolare interfaccia fisica:
- Se non è presente, inserisce le informazioni presenti nelle TLV attribuendole il valore di holdtime ricevuto;
- Se è presente, sovrascrive le informazioni nelle TLV riportando sempre il valore di holdtime ricevuto.
Questa condizione serve per l’aggiornamento dinamico delle informazioni.
Il CDP può essere abilitato o disabilitato sia a livello globale (su tutte le porte) sia a livello di singola interfaccia. Nel caso in cui volessimo abilitare una singola interfaccia a parlare CDP, il protocollo comunque deve essere abilitato a livello globale per poi escluderlo su tutte le porte non necessarie.
Di default gli apparati Cisco sono impostati con il CDP attivo alla versione 2 e i tempi di timer e holdtime sono rispettivamente di 60” e 180”. I tempi del FastStart non sono invece modificabili.
Ed ora vediamo insieme – anche con l’aiuto di qualche esempio – quali sono i comandi per il protocollo CDP da impartire ai nostri apparati Cisco!




