Değerli arkadaşlar, merhaba! Bu yazımızda sizlerle, ICMP hakkında konuşacağız.
Açılımı; 'Internet Control Message Protocol' yani 'İnternet Kontrol Mesaj Protokolü' olan ICMP, ağ cihazları tarafından ağ iletişim sorunlarını teşhis etmek için kullanılan bir Ağ Katmanı (Network Layer) protokolüdür. Kendisi, hata raporlama ve test için oldukça önemli bir protokoldür.
Temel olarak ICMP, verilerin hedefe zamanında ulaşıp ulaşmadığını belirlemek için kullanılır. Biraz düşününce sizin de aklınıza yatacaktır; ICMP, genellikle Router'lar (Yönlendiriciler) gibi ağ cihazlarında kullanılır.
ICMP'nin birincil amacı, hata raporlamaktır. İki cihaz internet üzerinden bağlandığında ICMP, verilerden herhangi birinin amaçlanan hedefe ulaşmaması durumunda hata üretir ve bunu, gönderen cihazla paylaşır. Ayrıca bir veri paketi bir Router için çok büyükse Router bu paketi taşıyamaz, düşürür (drop) ve veri için orijinal kaynağa (veriyi gönderene) bir ICMP hata mesajı gönderir.
Bunları topladığımızda şöyle bir cümle kurabiliriz: "Alıcıdan göndericiye ulaşması beklenen verilerle ilgili mesajları üretir. Veri, alıcıya ulaşmazsa veya yanlış sırada ulaşırsa ICMP, göndericiye veriyi yeniden göndermesi için bilgi verir. ICMP bu şekilde, veriler hakkında bilgi iletmek için geliştirilmiş bir protokoldür. Burada dikkat etmeniz gereken çok önemli bir nokta daha vardır. ICMP, veriler hakkında bilgi iletir; verilerin kendisini yönetebilme becersine sahip değildir."
ICMP, İnternet Protokolü'nün (IP) aksine TCP veya UDP gibi bir Taşıma Katmanı (Transport Layer) protokolü ile ilişkili değildir. Bu, ICMP'yi bağlantısız bir protokol kılar yani bir cihazın, bir ICMP mesajı göndermeden önce başka bir cihazla bağlantı açmasına gerek yoktur.
Ayrıca ICMP, bir ağın performansını ölçmek ve onu izlemek, incelemek için de kullanılır. Yaygın olarak kullanılan 'ping' komutu da ICMP ile çalışır; detaylar için 'ping' isimli blogumuzu okuyabilirsiniz.
Deminden beri 'hata mesajı' deyip duruyoruz; 0 - 255 çeşit ICMP mesajı vardır ve her tip farklı bilgi sağlar. Bunlarla beraber hata mesajı olarak sayılmayan mesajların da bazılarını açıklamamız gerekiyor. Birazdan her başlığın başında göreceğiniz sayılar, ICMP paketinin numarasıdır, amacını belirler; bir nevi tanımlayıcıdırlar. Ayrıca bu kısımda mesajların İngilizce karşılıklarını dikkate almanızı öneririm.
11. Time Exceeded (Süre Aşıldı): 'ping' blogumuzda da bahsettiğimiz TTL değerinin sıfıra ulaşması sonucunda bu mesaj ile karşılaşırız. Bununla beraber bu hata mesajı, eğer verinin tüm parçaları hedefe ulaşmamışsa da gösterilir.
3. Destinatoin Unreachable (Hedefe Ulaşılamaz): Router veya aracı ana bilgisayar veri paketini teslim edemediğinde bağlantıyı başlatan cihaz bu hata ile karşılaşır. Sonuç olarak veri paketi yine düşürülür (drop).
4. Source Quench (Kaynak Söndürme): Cihazlar, ağ tıkanıklığı nedeniyle veri paketini teslim edemediğinde bu mesaj ile karşılaşır. Hata raporlama mesajı, kaynak cihaza yoldaki tıkanıklık hakkında bilgi vererek ve veri gönderme sürecini yavaşlatarak Ağ Katmanı'na akış denetimi (flow control) ekler.
5. Redirection (Yeniden Yönlendirme): Optimal olmayan bir yoldaki Router, aldığı paketi kaynak ve hedef arasında en uygun yolu olan başka bir Router'a yönlendirir; zaten cihazın amacı da budur. Bu durumda rotasındaki değişiklikle ilgili, kaynağı günceller ve bu mesajı döndürür.
12. Parameter Problem (Parametre Problemi): Veri paketi başlığında (header) herhangi bir eksiklik varsa kaynak cihaz bu mesajı alır.
0. 'Echo Request Message' and 'Echo Reply Message' (Yankı İstek Mesajı ve Yankı Cevap Mesajı): Bu mesajlar, ağ tanılama sorunlarını çözmeye yardımcı olur.
13. Timestamp Request and Timestamp Reply (Zaman Damgası İstegi ve Zaman Damgası Yanıtı): Cihazlar arasındaki verinin gidiş - dönüş süresinin belirlenmesine yardımcı olur.
Yayınlanma Tarihi: 2022-08-23 15:07:28
Son Düzenleme Tarihi: 2022-08-29 18:01:19