Cisco CDP (Cisco Discovery Protocol)

CDP (Cisco Discovery Protocol) : Cisco tarafından geliştirilen ve Cisco cihazlarda default olarak bulunan, bağlı cihazların birbirleri hakkında bilgi edinmesini sağlayan protokoldür. Cihazların hangi porttan (interface) bağlı olduğunu, cihazın türünü (swtich, router vs), cihazların işletim sistemi gibi birçok konuda bilgi sağlar.

Küçük bir örnek üzerinden protokole göz atalım.

Ben şu şekilde bir yapılandırma yaptım:

cisco cdp nedir

R1

interface Ethernet0/0
ip address 192.168.1.1 255.255.255.252
!
interface Ethernet0/1
ip address 192.168.2.1 255.255.255.0

R2

interface Ethernet0/0
ip address 192.168.3.1 255.255.255.252

SW

interface Vlan1
ip address 192.168.2.10 255.255.255.0

Routerlara interface IP ve Switche de yönetim IP’si verdim. CDP ile ilgili hiçbir şey yapmadım. Ama CDP Cisco’da varsayılan olarak açık olduğu için protokol çalışacak ve keşiflerini yapacaktır. Biraz show komutları ile CDP neler bulmuş ona bakalım.

show cdp neighbors

show cdp neighbors

Bu komut adından da anlaşılacağı üzere komşuları gösterir. Çıktıya baktığımızda, komşumuzun Device ID’sinin (hostname), hangi portumuzun bağlı olduğunu, kaç saniyedir ayakta olduğunu, türünü, işletim sistemini ve komşumuzun hangi portunun bize bağlı olduğunu görebiliriz.

Örnekte R1’in iki komşusu olduğunu ve bunlar hakkında bilgileri edinmiş olduk. Peki ya daha fazla bilgiye ihtiyacım varsa ne olacak? Bu durumda komuta yeni bir parametre daha eklemem gerekecek. Komşular hakkında daha fazla detay almak için detail parametresi ile kullanmam gerekecek. 

show cdp neighbors detail

show cdp neighbors detail
show cdp neighbors detail

Evet, artık komşularım hakkında daha fazla detaya sahibim. Artık komşularımın hangi IP adresini kullandığını ve işletimin sisteminin detaylarına kadar görebiliyorum. Çıktıya baktığımızda komşu Switchin yönetim IP’sinin 192.168.2.10 olduğunu, Ethernet0/1 portundan bağlı olduğumu, switchin ise bize Ethernet0/0 portundan bağlı olduğunu ve hatta bu bağlantının half duplex olduğuna kadar görebiliyorum. Çok güzel değil mi?

Port (interface) bazında komşuları görmek

Şimdiye kadar tüm portlardaki komşulukları gördük. Örnekte iki tane bağlantı olduğu için çıktıyı okumak zor değildi. Eğer çok fazla bağlantının olduğu bir cihazda bu komutları çalıştırmış olsaydık işimiz biraz daha zor olurdu. Bundan dolayı işi biraz daha kolaylaştırmak için port bazında çıktıya bakmak daha iyi olacaktır. Port bazında komşulukları görmek için show cdp neighbors komutundan sonra interface adını belirtmemiz yeterli olacaktır. Örnek olarak R1’in ethernet 0/0 portuna bakalım.

show cdp neighbors ethernet 0/0

show cdp neighbors interface

Bu bilgi bana yeterli gelmedi, ben biraz daha fazla bilgi edinmek istiyorum derseniz eğer; port belirtildikten sonra detail parametresini kullanmak gerekecek. 

show cdp neighbors ethernet 0/0 detail

show cdp neighbors interface detail

CDP ile komşulukları nasıl görüntüleyebileceğimizi kısaca gördük. Bir de CDP protokolümüzün hangi değerlerde çalıştığını görelim:

show cdp

show cdp

Bu komutla çalışan CDP protokolünün temel yapılandırmasını görmüş olduk. Çıktıya baktığımızda her 60 saniyede bir CDP paketlerinin gönderildiğini, komşulukların 180 boyunca komşuluk tablosunda tutulduğunu öğrenmiş olduk. Bu değerler istek doğrultusunda değiştirilebilir; bu süreleri uzatabilir ya da kısaltabilirsiniz.

Bu işlemi yapmak için config modda olmamız gerekecek. 

holdtime ayarlamak için cdp holdtime komutu kullanılabilir. Holdtime için 10-255 arasında değer girilebilir ve bu değer saniye cinsindendir.

R1(config)#cdp holdtime ?
<10-255> Length of time (in sec) that receiver must keep this packet

CDP mesajlarının süresinin ayarlamak için ise cdp timer komutu kullanılır. 5-254 arasında değer girilebilir ve bu değer saniye cinsindendir.

R1(config)#cdp timer ? 
<5-254> Rate at which CDP packets are sent (in sec)

CDP kullanımını kapatmak

CDP’nin nimetlerinden faydalandık ama her zaman cihazların bilgilerini paylaşmak istemeyebiliriz. Örneğin R2’nin dış networkte olduğunu farz edelim. Dış networkte bulunan bir cihazın benim cihazımla ilgili bilgiler almamasını isteyebilirim. Bu durumda CDP’yi pasif edebilir ve bilgi akışını kesebilirim.

CDP’yi iki şekilde pasif/aktif edebiliriz:

Birincisi, tüm CDP paketlerini kesmek için global config modda no cdp run komutu ile yapılabilir. Bu durumda hiçbir şekilde CDP mesajları atılmayacak ve komşuluk bilgileri edinilmeyecektir.  Bu komuttan sonra tüm komşuluk tablosu silinecek ve yeni komşuluklar yapılamayacaktır.

R1(config)#no cdp run

İkincisi, interface bazında CDP pasif edilebilir. Bu durumda tüm CDP bilgi alışverişi değil de, sadece ilgili porttaki CDP mesajları kesilmiş olur. Bunu yapmak için ilgili portun konfigürasyonuna girip no cdp enable komutunu kullanmak yeterli olacaktır.

Örnek olarak R1 ile R2 arasındaki CDP kapatma işlemi şu şekilde olacaktır:

R1(config)#interface ethernet 0/0
R1(config-if)#no cdp enable

Bu komuttan sonra CDP mesajları atılmayacaktır ancak komşuluk tablosunda holdtime süresi bitene kadar komşuluklar görünecektir.

CDP kullanımını açmak

CDP kullanımını açmak için global config modda cdp run komutunu çalıştırmak yeterli olacaktır.

R1(config)#cdp run

Port bazında CDP etkinleştirmek için ise, ilgili portun konfigürasyonuna girip cdp enable komutunu çalıştırmak yeterli olacaktır.

R1(config)#interface ethernet 0/0
R1(config-if)#cdp enable

CDP‘nin temel kullanımı bu şekildeydi. Umarım faydalı olmuştur. 

Click to rate this post!
[Total: 6 Average: 5]

Salih ALTUNTAŞ

Cisco CCNA ve Huawei HCIA hakkında blog içerikleri üretmekteyim.

2 thoughts on “Cisco CDP (Cisco Discovery Protocol)

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir