ICMP (Internet Control Message Protocol) znajduje się w warstwie sieciowej modelu OSI (lub tuż nad nią w warstwie internetowej, jak niektórzy twierdzą) i jest integralną częścią Internetu Zestaw protokołów (powszechnie nazywany TCP / IP).
ICMP ma przypisany numer protokołu 1 w zestawie IP zgodnie z IANA.org.
Zaprojektowany, aby działać jako raportowanie błędów i zapytania, odgrywa kluczową rolę w usłudze datagramów między hostami w komunikacji sieciowej.
Jest to część usługi IP, która działa jako system informacji zwrotnej w sieciowej komunikacji IP, upewniając się, że Niedostarczalne pakiety są zgłaszane do hosta wysyłającego, takiego jak router lub brama.
Każde urządzenie sieciowe IP może wysyłać datagramy ICMP, w tym karty sieciowe i inne urządzenia, które są powszechnie używane w twoim środowisku.
Co to jest ICMP?
Rolę ICMP w komunikacji sieciowej można porównać do zespołu, który tworzy automobi le przy użyciu części wysyłanych od producenta.
Producent wysyła części pojedynczo, zakładając, że są one odbierane przez ekipę montażową.
Jednak czasami część nie dociera zgodnie z planem lub części są spowalniane przez ich zwykłą metodę dostawy i istnieje szybszy sposób dostarczania części do montażu.
Zespół montażowy potrzebuje sposobu na powiadomienie producenta o ponownym wysłaniu brakującej części lub wysłać części inną, szybszą firmą kurierską lub trasą.
ICMP pełni tę rolę komunikatora, który przekazuje informacje od odbiorcy do nadawcy.
Ten protokół jest dość złożony. Nie tylko zgłasza niedostarczalne pakiety i nieosiągalne hosty, ale także wysyła wiadomości przekierowań, wiadomości z odpowiedziami echa i echa oraz inne omówione poniżej.
(Komunikaty odpowiedzi Echo / echo są używane przez dobrze znane polecenie PING, co pozwala użytkownikowi na wysłanie echa do hosta odbierającego, który wysyła odpowiedź echo, jeśli zostanie odebrane echo).
Komunikaty ICMP zapewniają systemowi sposób powiadamiania hosta źródłowego, jeśli host zdalny nie jest odbieranie przesyłanych pakietów.
ICMP nie pomaga IP być bardziej niezawodnym i nie odbiera ani nie wysyła żadnych rzeczywistych danych. Istnieje po prostu jako system informacji zwrotnej, źródło informacji o problemach z utraconymi pakietami i uszkodzonym routingiem danych.
Jednym z najbardziej znanych i użytecznych komunikatów w datagramie ICMP jest komunikat „Miejsce docelowe nieosiągalne”.
Komunikaty o nieosiągalnym miejscu docelowym są generowane z kilku powodów, w tym z braku dostępu do sieci, hosta, portu lub protokołu.
Router wysyła te komunikaty o nieosiągalnym miejscu docelowym z powrotem do hosta, który następnie zwykle wysyła go do aplikacji, która wygenerowała oryginalny pakiet.
Komunikaty o błędach informują aplikację o konieczności ponownej próby, a w razie potrzeby aplikacja hosta może wygenerować komunikat o błędzie do użytkownika aplikacji , powiadamiając ich o problemach z łącznością sieciową.
Ważne jest, aby wiedzieć, że nawet jeśli wiadomości o miejscu docelowym nieosiągalne to te, które ludzie wie najlepiej przez narzędzie PING, to nie wszystko, co jest w ICMP.
Inne ważne komunikaty obejmują e Komunikat przekierowania, którego używa brama, aby powiadomić hosta o wysłaniu ruchu do innego routera.
Przekroczony czas jest używany przez router do powiadamiania hosta, że pakiet przekroczył swój czas życia ( TTL) i został odrzucony; kiedy host zaczyna odbierać pakiety przekroczonego czasu, może to oznaczać, że gdzieś poniżej istnieje pętla sprzężenia zwrotnego.
Komunikaty Source Quench są wysyłane z routera do hosta, informując go, że jego pojemność buforowania jest pełna i na krótko wstrzymać transmisje, aby nadrobić zaległości.
Inne typy wiadomości obejmują między innymi problem z parametrem, żądanie maski adresu & odpowiedź i znacznik czasu.
ICMP nie będzie wysyłać wiadomości o wiadomościach ICMP; gdyby tak się stało, stworzyłoby pętlę sprzężenia zwrotnego – zwrócony komunikat ICMP wygenerowałby komunikat ICMP z powrotem na drugą stronę, który wygenerowałby kolejny komunikat i tak dalej, tworząc burzę pakietów ICMP, która szybko zalałaby sieć .
Z tego samego powodu ICMP nie odpowiada na adresy rozgłoszeniowe lub multiemisyjne. W przeciwieństwie do innych protokołów IP, takich jak TCP i UDP, ICMP nie wymienia danych między hostami.
Zgodnie z ogólną zasadą użytkownicy końcowi nie wchodzą w interakcje z tym protokołem, z wyjątkiem ograniczonej liczby narzędzi diagnostycznych, takich jak ping i traceroute, używane do rozwiązywania problemów z połączeniami sieciowymi i internetowymi.
Protokół ICMP może zostać wykorzystany do ataku na komputery za pomocą tak zwanego „Ping of Death”, który jest powszechnym atakiem cybernetycznym, który może powodować problemy z odmową usługi w twoich sieciach.
Pakiet IP zaprojektowany do przepełnienia bufora komputera docelowego jest wysyłany w celu zawieszenia systemu.
Kolejny atak polega na zalewach żądań ping, które uniemożliwiają normalny ruch przed dotarciem do docelowego komputera.
Atakom tym można stosunkowo łatwo zapobiec, wdrażając sprawdzanie fragmentów IP w procesie ponownego składania .
Komunikaty ICMP to datagramy zawarte w pakietach IP i są używane zarówno przez protokoły IPv4 (ICMPv4), jak i IPv6 (ICMPv6).
Pakiety te rozpoczynają się od nagłówka IP, po którym następuje nagłówek ICMP, typ i kod, suma kontrolna i dane.
Dane zależą od typu i pól kodu, które identyfikują wysyłany komunikat ICMP.
Jeden z najważniejszych części zestawu protokołów internetowych, ICMP pełni kluczową rolę w komunikacji sieciowej IP.
Zapewnia, że host transmitujący wie, czy jego pakiety nie są odbierane przez zdalny host, zapewniając kluczowe informacje dotyczące problemów z siecią, takich jak a także pomagać hostom w wydajniejszym przesyłaniu danych.
Technicy sieciowi i administratorzy używają go również jako diagnozy stic narzędzie pomagające zidentyfikować punkty awarii w sieci.
Ostatecznie niezbędne narzędzie w naszym stałym, niekończącym się przepływie miliardów pakietów IP wysyłanych na całym świecie w każdej sekundzie każdego dnia.