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:
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
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
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
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
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
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.
Bu cihazda kullanıldığını gösteren içirerik