Co to jest protokół komunikatów kontroli Internetu?
Internet Control Message Protocol (ICMP) to narzędzie używane do raportowania błędów i celów diagnostycznych w sieciach komputerowych. ICMP jest częścią pakietu protokołu internetowego (IP) Suite i składa się ze wstępnie zdefiniowanych wiadomości o różnych celach. Większość aspektów protokołu kontroli wiadomości internetowych pozostaje niezauważona przez użytkowników końcowych, ale niektóre narzędzia sieciowe, takie jak traceroute i ping, polegają na komunikatach ICMP ze względu na ich funkcjonalność.
Sercem zarówno Internetu, jak i mniejszych sieci komputerowych jest zbiór protokołów zwanych pakietem IP. Te protokoły określają formaty wiadomości wymienianych między urządzeniami sieciowymi oraz ustanawiają reguły dotyczące sposobu wysyłania i odbierania tych wiadomości. Protokoły są również warstwowe, przy czym każda warstwa opiera się na warstwie pod nią. ICMP jest częścią drugiej co do wielkości warstwy, warstwy internetowej. Ta warstwa obejmuje dobrze znany protokół internetowy odpowiedzialny za transmisję poszczególnych grup danych, zwanych pakietami, przez jedną lub więcej sieci.
ICMP służy do wysyłania komunikatów o błędach lub informacji diagnostycznych między urządzeniami lub hostami za pomocą protokołu internetowego. Komunikaty ICMP są wstępnie zdefiniowane i można się do nich odwoływać według nazwy lub numeru typu. Większość tych komunikatów dotyczy różnych rodzajów raportowania błędów. Na przykład, gdy nie można dotrzeć do określonego hosta, często generowany jest komunikat ICMP wskazujący na konkretny problem uniemożliwiający dostarczenie danych. Inne typy wiadomości są wysyłane, jeśli pakiety ulegną uszkodzeniu lub jeśli router lub host w sieci jest przepełniony.
Maksymalny rozmiar pakietu nie jest predefiniowany, ale podyktowany przez maksymalną jednostkę transmisji (MTU) określonego łącza sieciowego. Różne łącza mogą mieć różne MTU, ale aby zakończyć podróż, pakiet musi być mniejszy niż najmniejszy MTU na danej ścieżce. Technika znana jako Path MTU Discovery (PMTUD) wykorzystuje komunikaty ICMP do powiadamiania nadawcy, gdy pakiety są zbyt duże dla określonego segmentu ścieżki.
Powiązany protokół znany jako ICMP Router Discovery Protocol (IRDP) może ułatwić automatyczną konfigurację sieci dla hostów, które go obsługują. IRDP używa dwóch rodzajów komunikatów protokołu kontroli Internetu do ogłaszania i wykrywania pobliskich routerów, tj. Hostów, które łączą dwie lub więcej sieci. Router obsługujący protokół IRDP będzie okresowo rozgłaszał komunikat reklamowy routera ICMP informujący o swojej obecności na hostach. Gospodarze mogą również wysłać wiadomość z prośbą do wszystkich pobliskich routerów o identyfikację.
Niektóre popularne narzędzia sieciowe korzystają również z protokołu Internet Control Message Protocol. Jedno narzędzie, traceroute, wykorzystuje komunikat ICMP wygenerowany, gdy pakiet wygasł lub przekroczył swój „czas życia” (TTL). Ustawiając celowo niską wartość TTL dla pakietu, traceroute otrzyma komunikat ICMP Przekroczony czas z ostatniego routera, do którego pakiet dotarł przed wygaśnięciem. Powtórzenie tego procesu i zwiększenie wartości TTL teoretycznie wygeneruje listę wszystkich pakietów hostów, które podróżują.
Inne narzędzie o nazwie ping polega na komunikacie ICMP Echo Request, na który odpowiada komunikat ICMP Echo Reply. Niestety, ping może być również nadużywany w tak zwanym „ataku smurfowym”, gdy haker wysyła żądania echa ze sfałszowanymi informacjami o nadawcy, na które następnie odpowiada wiele innych komputerów. Może to przeciążać sieć do punktu, do którego nie mogą dostać się żadne legalne pakiety, co jest znane jako odmowa usługi.