ICMP Nedir? Ne İşe Yarar ve Nasıl Çalışır?
ICMP nedir? ICMP (Internet Control Message Protocol), ağ üzerindeki cihazların birbirleriyle hata, durum ve bağlantı bilgilerini paylaşmasını sağlayan bir ağ protokolüdür. Özellikle bağlantı problemlerini tespit etmek, bir hedefe erişilip erişilemediğini kontrol etmek ve ağ sorunlarını analiz etmek için kullanılır.
Ping ve traceroute gibi sık kullanılan ağ araçlarının çalışma mantığında ICMP önemli bir yere sahiptir.
ICMP Nedir?
ICMP, Türkçede İnternet Kontrol Mesajı Protokolü olarak ifade edilebilir. TCP veya UDP gibi doğrudan kullanıcı verisi taşımak yerine ağ üzerindeki iletişimle ilgili kontrol ve hata mesajlarının iletilmesini sağlar.
Örneğin bir sunucuya gönderilen paket hedefe ulaşamıyorsa, ağ cihazları ICMP aracılığıyla bunun nedenine ilişkin bir mesaj gönderebilir.
ICMP, IP protokolünün çalışmasını destekleyen önemli protokollerden biridir.
ICMP Ne İşe Yarar?
ICMP'nin temel görevi ağ bağlantılarının durumu hakkında bilgi sağlamaktır. Sistem yöneticileri ve ağ uzmanları tarafından bağlantı sorunlarının tespitinde yaygın olarak kullanılır.
Başlıca kullanım alanları şunlardır:
-
Bir IP adresine veya sunucuya erişim olup olmadığını kontrol etmek
-
Ağ üzerindeki gecikmeyi ölçmek
-
Hedefe ulaşılamadığını bildirmek
-
Paketlerin izlediği ağ yolunu analiz etmek
-
Yönlendirme ve bağlantı problemlerini tespit etmek
-
Paket boyutu veya TTL gibi ağ sorunları hakkında bilgi sağlamak
ICMP Nasıl Çalışır?
ICMP, IP paketleri içerisinde kontrol mesajları göndererek çalışır.
Bir cihaz başka bir sisteme ICMP mesajı gönderdiğinde hedef cihaz veya ağ üzerindeki yönlendirici uygun bir ICMP yanıtı oluşturabilir.
ICMP Echo Request ve Echo Reply Nedir?
En bilinen ICMP mesajları Echo Request ve Echo Reply mesajlarıdır.
Ping komutu çalıştırıldığında hedef sunucuya ICMP Echo Request gönderilir. Hedef cihaz ICMP trafiğine izin veriyorsa Echo Reply mesajıyla cevap verir.
Örneğin:
ping 8.8.8.8
Bu komut ile 8.8.8.8 IP adresine ICMP paketleri gönderilerek bağlantı ve gecikme durumu kontrol edilir.
ICMP Mesaj Türleri Nelerdir?
ICMP içerisinde farklı amaçlarla kullanılan birçok mesaj türü bulunur.
Echo Request ve Echo Reply
Ping işlemlerinde kullanılan ICMP mesajlarıdır.
-
Echo Request: Hedef cihaza gönderilen sorgudur.
-
Echo Reply: Hedef cihazın verdiği yanıttır.
Destination Unreachable
Gönderilen paketin hedefe ulaştırılamadığını belirtir.
Bunun farklı nedenleri olabilir:
-
Hedef ağın erişilemez olması
-
Hedef cihazın erişilemez olması
-
İlgili portun erişilemez olması
-
Güvenlik duvarı tarafından trafiğin engellenmesi
Time Exceeded
Bir IP paketinin TTL değerinin sıfıra ulaşması durumunda gönderilir.
Traceroute ve tracert gibi araçlar, paketlerin ağ üzerinde hangi cihazlardan geçtiğini belirlemek için bu ICMP mesajından yararlanabilir.
Redirect
Bir yönlendirici, paketin daha uygun bir ağ geçidi üzerinden gönderilmesi gerektiğini belirtmek amacıyla ICMP Redirect mesajı gönderebilir.
Ping ile ICMP Arasındaki Fark Nedir?
Ping ve ICMP aynı şey değildir.
ICMP bir ağ protokolüdür, ping ise ICMP mesajlarından yararlanan bir ağ test aracıdır.
Ping komutu genellikle hedef sisteme ICMP Echo Request gönderir ve Echo Reply yanıtının gelip gelmediğini kontrol eder.
Örneğin:
ping google.com
Yanıt alınıyorsa hedef cihazın ICMP isteklerine cevap verdiği anlaşılabilir.
Ancak ping yanıtı alınamaması her zaman sunucunun kapalı olduğu anlamına gelmez. Sunucunun güvenlik duvarında ICMP trafiği engellenmiş olabilir.
Traceroute ve ICMP İlişkisi
Traceroute veya Windows sistemlerde kullanılan tracert komutu, hedefe ulaşırken paketlerin geçtiği yönlendiricileri tespit etmek için TTL değerlerinden ve ICMP mesajlarından yararlanabilir.
Windows üzerinde örnek kullanım:
tracert google.com
Linux üzerinde ise:
traceroute google.com
Bu araçlar özellikle ağ yönlendirme sorunlarının ve bağlantının hangi noktada kesildiğinin tespit edilmesinde faydalıdır.
ICMP Güvenlik Duvarında Engellenmeli mi?
ICMP'nin tamamen engellenmesi genellikle gerekli değildir.
ICMP yalnızca ping işlemleri için kullanılmaz. Ağ üzerindeki hata bildirimleri ve bağlantı teşhisi gibi önemli görevleri de bulunmaktadır.
Ancak güvenlik nedeniyle belirli ICMP mesajlarına rate limit uygulanabilir veya yalnızca ihtiyaç duyulan ICMP türlerine izin verilebilir.
ICMP Tamamen Kapatılırsa Ne Olur?
ICMP trafiğinin tamamen engellenmesi durumunda:
-
Ping testleri çalışmayabilir.
-
Ağ sorunlarının tespiti zorlaşabilir.
-
Bazı hata mesajları alınamayabilir.
-
Path MTU Discovery gibi ağ mekanizmalarında sorun yaşanabilir.
Bu nedenle ICMP'yi tamamen kapatmak yerine güvenlik duvarında kontrollü şekilde yönetmek daha doğru bir yaklaşım olabilir.
ICMP Hangi Portu Kullanır?
ICMP'nin belirli bir TCP veya UDP portu bulunmaz.
Örneğin HTTP genellikle TCP 80, HTTPS ise TCP 443 portunu kullanırken ICMP doğrudan IP katmanında çalışan ayrı bir protokoldür.
Bu nedenle:
ICMP Portu: Yoktur
Firewall kurallarında ICMP genellikle port numarası yerine doğrudan protokol türü üzerinden yönetilir.
ICMP TCP mi UDP mi?
ICMP, TCP veya UDP değildir.
ICMP, IP protokolüyle birlikte çalışan ayrı bir kontrol protokolüdür. IPv4 içerisinde ICMP için IP Protocol Number 1 kullanılır.
IPv6 ortamlarında ise ICMPv6 kullanılmaktadır.
ICMP ile Ağ Sorunları Nasıl Kontrol Edilir?
Bağlantı problemi yaşandığında ilk olarak ping testi gerçekleştirilebilir.
Örneğin:
ping 1.1.1.1
IP adresine ping atılabiliyor ancak alan adına ping atılamıyorsa problem DNS kaynaklı olabilir.
Ardından rota kontrolü yapılabilir:
traceroute 1.1.1.1
Windows için:
tracert 1.1.1.1
Bu testler bağlantı probleminin yerel ağda mı, internet servis sağlayıcısında mı veya hedef ağda mı bulunduğunun anlaşılmasına yardımcı olabilir.
ICMP Hakkında Sık Sorulan Sorular
ICMP nedir kısaca?
ICMP, ağ üzerindeki cihazların bağlantı durumu ve hata mesajlarını birbirine iletmesini sağlayan bir kontrol protokolüdür.
ICMP ping midir?
Hayır. Ping bir ağ test aracıdır. ICMP ise ping aracının kullanabildiği protokoldür.
ICMP'nin portu kaçtır?
ICMP'nin TCP veya UDP port numarası bulunmaz.
ICMP kapatılırsa internet çalışır mı?
Çoğu durumda internet bağlantısı çalışmaya devam eder. Ancak bağlantı teşhisi, hata bildirimleri ve bazı ağ mekanizmalarında sorunlar meydana gelebilir.
ICMP güvenli midir?
ICMP ağların normal çalışması için faydalı bir protokoldür. Güvenlik açısından tamamen engellemek yerine gerekli ICMP türlerinin ve trafik miktarının firewall üzerinden kontrollü şekilde yönetilmesi tercih edilebilir.
Sonuç
ICMP, internet ve yerel ağlarda hata bildirimleri, bağlantı kontrolü ve ağ sorunlarının teşhis edilmesi için kullanılan temel protokollerden biridir.
Ping ve traceroute gibi araçların çalışmasında önemli rol oynayan ICMP'nin TCP veya UDP portu bulunmaz. Sunucu güvenliği açısından ICMP trafiğini tamamen kapatmak yerine gerekli mesaj türlerine izin verilmesi ve gerektiğinde rate limit uygulanması daha sağlıklı bir ağ yapılandırması sağlayabilir.