ICMP,Internet Control Message Protocol, ( İnternet Kontrol Mesaj Protokolü ), hata mesajları ve TCP/IP yazılımının bir takım kendi mesaj trafiği amaçları için kullanılır. Kontrol amaçlı bir protokoldür. Genel olarak sistemler arası kontrol mesajları IP yerine ICMP üzerinden aktarılır. ICMP, IP ile aynı düzeyde olmasına karşın aslında kendisi de IP’yi kullanır. ICMP, TCP/IP’ nin işlemesine yardımcı olan bir protokoldür. Her hostta mutlaka ICMP protokolü çalışır. Hata durumunda host tarafından geri ilgilendirmeyi sağlar. UDP’ye gore daha basit bir yapıdadır. Başlık bilgisinde port numarası bulundurmaz. Bütün ICMP mesajları ağ yazılımının kendisince yorumlanır, ICMP mesajının nereye gideceği ile ilgili bir port numarasına gerek yoktur. ICMP ‘yi kullanan en populer Internet uygulaması PING komutudur. Bu komut yardımı ile Internet kullanıcıları ulaşmak istedikleri herhangi bir bilgisayarın açık olup olmadığını test edebilirler. Aynı zamanda bu komut ile hatlardaki sorunları anında test etmekte mümkündür. Örneğin: Bir bilgisayara bağlanmak istediğimizde sistemimiz bize eğer host unreachable (bilgisayara erişilemiyor) gibi bir mesaj  verirse bu ICMP mesajı ile geri döner. ICMP ağ hakkında bazı bilgileri toplamak amacıile de kullanılır.  En yaygın kullanılan komut “PING” komutudur.

Örnek ICMP mesaj tipleri:  Alıcıya Erişilemiyor (Destination Unreachable)  Zaman Aşımı (Time Exceeded)  Parametre sorunu (Parameter Problem)  Yansıma (Echo)  Yansıma Karşılığı (Echo Reply)  Zaman Damgası (Time Stamp) (TRACEROUTE) Trace Route komutu ile TCP/IP protokolü üzerinden bir başka bilgisayara paketler gönderebilir ve bu paketlerin diğer bilgisayara ulaşırken hangi noktalardan geçtiğini görebilirsiniz. Sonuçları ms (mili saniye) cinsinden görebilirsiniz.

ICMP Paket Yapısı ve FormatıICMP mesajları IP datagramının kullanıcı verisi alanında taşınır. IP başlığındaki protokol alanı 1′e set edilerek ICMP’nin kullanıldığı gösterilir.

  • Tip alanı: Mesajın tipini tanımlar.
  • Kod alanı: Hata veya durum bilgisi tiplerini tanımlar.
  • Toplamsal-hata (checksum) alanı: ICMP mesajının 16-bitlik 1′e tümleyenini hesaplar.
  • Parametreler: Parametlerin daha uzun halinin belirlenmesinde kullanılır.
  • Bilgi: Mesajla ilgili bilgidir.

ICMP, TTL süresi dolduğu zaman paketin sahibine bildirim yapmak, herhangi bir durumda yok edilen paket hakkında ve parçalanmasın komutu verilmiş paket parçalandığında geribildirim sağlamak, hata oluşumlarında geribildirim sağlamak ve ayrıca paket başka bir yoldan gideceği zaman geribildirim sağlamak amaçlıdır.

ICMP mesajları IP datagramının kullanıcı verisi alanında taşınır. IP başlığındaki protokol alanı 1’e set edilerek ICMP’nin kullanıldığı gösterilir. Tüm ICMP mesajları üç alandan oluşur:

  • Tip alanı: mesajın tipini tanımlar.
  • Kod alanı: hata veya durum bilgisi tipini tanımlar.
  • Toplamsal-hata (checksum) alanı: ICMP mesajının 16-bitlik 1’e tümleyenini hesaplar.
    ICMP mesaj tipleri
    1. Destination unreachable error message Hedef ulaşılamaz hata mesajı
    2. Packet too big error message Paket çok büyük hata mesajı
    3. Time exceeded error message Ulaşım zamanı aşıldı hata mesajı
    4. Parameter problem error message Parametre sorunu hata mesajı
    128. Echo request message Yansıma isteği mesajı
    129. Echo reply message Yansıma isteği mesajı
    130. Group membership query Grup üyelik sorgulaması
    131. Group membership report Grup üyelik raporu
    132. Group membership termination Grup üyeliği sonlandırması
    133. Router solicitation Yönlendirici istek bildirimi
    134. Router advertisement Yönlendirici bildirisi
    135. Neighbour solicitation Komşu istek bildirisi
    136. Neighbour advertisement Komşu bildirisi
    137. Redirect message Yönlendir mesajı

IGMP nedir?

IGMP, Internet Group Management Protocol (İnternet Grup Yönetim Protokolü), TCP/IP’de çoklu dağıtım (multicast) üyelerini yönetmek için kullanılan bir iletişim protokolüdür. Taşıma protokolü gibi davranmamasına rağmen, ağ katmanının üzerinde çalışması IP çoklu dağıtımın önemli bir özelliğidir. Tekli dağıtım(unicast) bağlantılardaki ICMP’ye benzerdir. IGMP online streaming videolarda ve oyunlarda kullanılabilir. Bu tip uygulamaları desteklerken kaynaklarının daha verimli şekilde kullanılmasını sağlar. IGMP istemciyi yerel çoklu dağıtım yapan bir yönlendiriciye bağlamak için hem istemci hemde bitişiğindeki ağ switchleri tarafından kullanılır. Protokolden bağımsız çokludağıtım (Protocol Independent Multicast –PIM) daha sonra video sunucusundan birçok çokludağıtım istemcisine trafiği yönlendirmek için, yerel ve uzaktaki çokludağıtım yapan yönlendiriciler arasında kullanılır.

Host ve Yönlendirici Gerçekleştirimleri

IGMP protokolü host taraflı ve yönlendirici taraflı olarak uygulanır. Host tarafı gruptaki üyeliğini kendi yerel yönlendiricisine rapor eder. Yönlendirici tarafı host dan gelen raporları dinler ve periyodik olarak sorgular gönderir. Linux işletim sistemi IGMP yi desteklemektedir.İşletim sisteminin merkezindeki Linux çekirdeği IGMP’yi sadece host taraflı uygular. Buna rağmen daemon (bilgisayar programı) IGMP linux yönlendiricisi olarak davranarak bu kullanılabilir.
IGMP’de temelde iki mesaj vardır:

  • Yayın alma isteği (IGMP Subscribe, yani IGMP Aboneliği): Bu mesajı, bir yayını almak isteyen bir kullanıcı router’ına gönderir. Router ise eğer o yayını almakta ise yayının bir kopyasını da o kullanıcıya göndermeye başlar. Eğer router o yayını almakta değil ise, bağlı olduğu router’lara yayın alma isteğini gönderir. Diğer router’lar da aynı işlemi yaparlar, taa ki yayını bulana kadar.
  • Yayın almayı kesme isteği (IGMP Unsubscribe, yani IGMP Aboneliği İptali): Bu mesajı, bir yayını almak istemeyen bir kullanıcı router’ına gönderir. Router ise eğer o yayını almak isteyen kullanıcı kalmamışsa yayını göndermekte olan router’a da aynı mesajdan bir kopya gönderir. Bu sayede, router’lar gereksiz yere yayın kopyalamaya uğraşmazlar. IGMP’nin değişik sürümlerinde, hata durumlarıyla baş edebilmek ve servis kalitesini artırabilmek için muhtelif durum mesajları da eklenmiştir. Ayrıca XORP gibi normal bir bilgisayarı tam teşekküllü çokludağıtımlı yönlendiriciye dönüştüren tam yönlendirme takımları da vardır.

Aşağıdaki resimde gösterildiği gibi IGMP iletileri IP veri birimlerine yerleştirilip gönderilir.

Çağla Ayvazoğlu