İnternet Kontrol Mesajı Protokolü , İnternet Protokol Paketini oluşturan temel protokollerden biridir. Bu protokol paketi için kontrol ve hata mesajlarını iletmek için kullanılır, örneğin bir hizmet veya bir ana bilgisayara ulaşılamadığında.
ICMP, genellikle bir ağ katmanı protokolüyle ilişkili hizmet ilkellerini sağlamasa da, IP protokolü ile aynı seviyededir . Kullanımı genellikle ağlardaki uygulamalar ve kullanıcılar açısından şeffaftır .
Bu makalede, IPv4 ile birlikte gelen ICMP sürüm 4 anlatılmaktadır . Sürüm 6 protokolünün makalede sunulan ıcmpv6 .
ICMP ( I Nternet Cı ontrol M esajı p rotocol - İnternet Kontrol Mesajı Protokolü ) a, seviye 3 protokolü ile OSI modeli iletim hatalarının kontrol edilmesini sağlar. Aslında, IP protokolü yalnızca paketlerin taşınmasını yönettiğinden ve hata mesajlarının gönderilmesine izin vermediğinden, bu protokol sayesinde bir gönderici makine bir ağ arızası olduğunu bilebilir. RFC 792'de ayrıntılı olarak açıklanmıştır .
IP protokolüne eşdeğer bir seviyede olmasına rağmen (OSI modelini TCP / IP modeline yaklaştırmaya çalışırsak ), yine de bir ICMP paketi bir IP datagramında kapsüllenir . IPv4 bağlamında, böyle bir paketin genel biçimi aşağıdaki gibidir:
Bit 0 - 7 | Bit 8 - 15 | Bit 16 - 23 | Bit 24 - 31 |
---|---|---|---|
Sürüm / IHL | Servis tipi | Toplam uzunluk | |
Tanımlama (parçalanma) | bayraklar ve uzaklık (parçalanma) | ||
Ömür (TTL) | Protokol | Üstbilgi sağlama toplamı | |
Kaynak IP Adresi | |||
Hedef IP adresi | |||
Mesaj tipi | Kodlu | Sağlama toplamı | |
Reçel veya veri | |||
Veriler ( isteğe bağlı ve değişken uzunluk ) |
Böyle bir datagram oluşur:
Muhtemel çeşitli olaylar, ilgili hata koduyla birlikte aşağıda rapor edilmektedir.
Tür | Kodlu | Açıklama |
---|---|---|
0 - Yankı yanıtı | 0 | ECHO yanıtı (Tip 8 mesaj yanıtı) |
1 ve 2 - Ayrılmış | Ayrılmış | |
3 - Ulaşılamayan alıcı | 0 | Ağa erişilemiyor |
1 | Makineye erişilemiyor | |
2 | Protokole erişilemiyor | |
3 | Bağlantı noktasına erişilemiyor | |
4 | Parçalanma gerekli ancak DF bayrağı nedeniyle mümkün değil | |
5 | Yönlendirme başarısız oldu | |
6 | Bilinmeyen ağ | |
7 | Bilinmeyen makine | |
8 | Makine ağa bağlı değil (kullanılmıyor) | |
9 | Ağ ile iletişim yasak | |
10 | Makine ile iletişim yasak | |
11 | Bu hizmet için ağa erişilemiyor | |
12 | Bu hizmet için makineye erişilemiyor | |
13 | İletişim yasak (filtreleme) | |
14 | Ana bilgisayar önceliği ihlal edildi | |
15 | Öncelik sınırına ulaşıldı | |
4 - Kaynağın kapatılması | 0 | Kaynağın kapatılması ( söndürme kaynağı ) |
5 - Yönlendirme | 0 | Bir ana bilgisayar için yeniden yönlendirme |
1 | Bir ana bilgisayar ve bir hizmet için yeniden yönlendirme | |
2 | Bir ağ için yeniden yönlendirme | |
3 | Bir ağ ve hizmet için yeniden yönlendirme | |
8 - Yankı isteği | 0 | ECHO isteği ( ping komutu tarafından kullanılır ) |
11 - Zaman aşıldı | 0 | Datagram ömrü aşıldı |
1 | Datagram parçası yeniden birleştirme süresi aşıldı | |
12 - Yanlış başlık | 0 | İşaretçi hatayı gösterir |
1 | Zorunlu bir seçeneğin olmaması | |
2 | Yanlış uzunluk | |
13 - Zaman talebi | 0 | Zaman damgası isteği |
14 - Cevap süresi | 0 | Zaman damgası yanıtı |
15 - IP adresi isteyin | 0 | Ağ adresi isteği |
16 - IP adresi yanıtı | 0 | Ağ adresi yanıtı |
17 - Alt ağ maskesi isteği | 0 | Alt ağ maskesi isteği |
18 - Alt ağ maskesi yanıtı | 0 | Alt ağ maskesi yanıtı |
Aktarım yönlendiricisi veya son makine, göndericiden çerçeve gönderme hızını yavaşlatmasını ister. Geçiş yönlendiricileri, alınan çerçeveleri yönlendirmeden önce bir arabellekte depolar ( saklama ve iletme ). Bu arabellek dolu olsaydı veya yönlendirici CPU yükü bir eşiği (veya tıkanıklığın başka herhangi bir nedenini) aşarsa, artık gelecekteki paketlerin yönlendirmesini üstlenemezdi. Daha sonra sessizce kaybolacaklardı. Bunun olmaması için herhangi bir geçiş düğümü vericiye yavaşlaması için bilgi verebilir. Ve bu, herhangi bir 4. katman protokolü için (UDP, TCP…).
Not: Bu, bir TCP bağlantısının kayan penceresinin boyutunu duyurma mekanizmasıyla gereksiz değildir, çünkü ikincisi yalnızca alıcı tarafından kontrol edilebilir ( vekaletname hariç ), ancak burada geçiş yönlendiricileridir.
Bu tür mesajlar 2012'de RFC 6633 tarafından kullanılmıyordu .
Yönlendirici, alıcıya ulaşmak için geçecek bir sonraki yönlendiricinin, gönderen bilgisayarınki ile aynı ağda olması nedeniyle, gönderen bilgisayar tarafından seçilen yolun optimum olmadığını fark eder. Yönlendirici, gönderen bilgisayarın yönlendirme tablosuna eklenecek bir sonraki yönlendiricinin adresini gönderir, böylece aynı alıcıya bir sonraki gönderide gereksiz yere gitmez. Bu seçenek genellikle kurumsal ağlarda engellenir çünkü bir saldırgan tarafından bir kurbandan kendi makinesine veri akışını yeniden yönlendirmek için kullanılabilir.
ICMP'ye karşı bilinen birkaç saldırı vardır. Bunların arasından alıntı yapabiliriz: