Internet Control Message Protocol

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania

ICMP (ang. Internet Control Message Protocol, internetowy protokół komunikatów kontrolnych) – opisany w RFC 792 protokół warstwy sieciowej OSI/TCP/IP wykorzystywany w diagnostyce sieci oraz trasowaniu. Pełni przede wszystkim funkcję kontroli transmisji w sieci. Jest wykorzystywany w programach ping oraz traceroute.

Teoretycznie sieci powinny działać poprawnie przez cały czas, lecz tak nie jest. Gdy coś dzieje się nie tak w warstwie internetowej, rolę narzędzia do rozwiązywania problemów odgrywa protokół komunikacyjny zarządzania siecią Internet (ICMP — Internet Control Message Protocol). ICMP jest protokołem serwisowym, który zgłasza błędy łączności między hostami.

W warstwie internetowej datagramy dostarczane są w sposób bezpołączeniowy, na zasadzie „najlepiej, jak się da”. Protokół ICMP jest zestawem komunikatów, przesyłanych w datagramach IP i zdolnych do zgłaszania błędów w dostarczaniu innych datagramów IP.

Komunikaty ICMP są narzędziami diagnostycznymi „wbudowanymi” w warstwę internetową. Jeśli dwa hosty nie są w stanie komunikować się ze sobą, komunikaty ICMP mogą pomóc w zdiagnozowaniu problemu. Ponieważ w szybko ewoluującym środowisku może wystąpić zalew komunikatów, niedostarczenie komunikatu ICMP nie powoduje wysłania komunikatu ICMP o błędzie. Szczególnie, gdy komunikat ICMP o niedostępności hosta docelowego nie dotrze do hosta źródłowego, ten nie wysyła kolejnego komunikatu ICMP.

Przykłady wykorzystania[edytuj | edytuj kod]

Poniższa lista zawiera kilka sytuacji, z powodu których bramy lub hosty mogą wysyłać komunikaty ICMP:

  • Gdy router lub host jest zbyt obciążony, by móc przyjąć do buforów kolejne datagramy, komunikaty ICMP służą do zwolnienia szybkości napływania datagramów do danego rutera.
  • Gdy router lub host znajduje lepsza trasę do miejsca przeznaczenia, może wysłać do hosta źródłowego komunikat ICMP, powiadamiający o krótszej trasie.
  • Gdy host docelowy jest nieosiągalny, ostatnia brama wysyła komunikat ICMP z powrotem do hosta źródłowego, informując o niedostępności adresata.
  • Gdy host lub brama przetwarza pakiet o TTL równym 0 hopów, wówczas odrzuca ten pakiet i ewentualnie wysyła komunikat ICMP do hosta źródłowego.

Ramka ICMP[edytuj | edytuj kod]

Bit 0 7 Bit 8 15 Bit 16 23 Bit 24 31
Typ Kod Suma kontrolna

Dane (opcjonalne)

Lista typów wiadomości[edytuj | edytuj kod]

Typ Znaczenie
0 Echo Reply (zwrot echa – "odpowiedź na ping")
1 - 2 Zarezerwowane
3 Destination Unreachable (nieosiągalność miejsca przeznaczenia)
4 Source Quench (tłumienie nadawcy)
5 Redirect Message (zmień trasowanie)
6 Alternate Host Address (alternatywny adres hosta)
7 Zarezerwowane
8 Echo Request (żądanie echa)
9 Router Advertisement (ogłoszenie routera)
10 Router Solicitation (wybór routera)
11 Time Exceeded (przekroczenie limitu czasu)
12 Parameter Problem (Problem z parametrem)
13 Timestamp (żądanie sygnatury czasowej)
14 Timestamp Reply (zwrot sygnatury czasowej)
15 Information Request (żądanie informacji)
16 Information Reply (zwrot informacji)
17 Address Mask Request (żądanie maski adresowej)
18 Address Mask Reply (zwrot maski adresowej)
19 Zarezerwowane dla bezpieczeństwa
20-29 Zarezerwowane
30 Traceroute (śledzenie trasy)
31 Datagram Conversion Error (błąd konwersji datagramu)
32 Mobile Host Redirect (zmiana adresu ruchomego węzła)
33 IPv6 Where-Are-You (Pytanie IPv6 "gdzie jesteś")
34 IPv6 Here-I-Am (Odpowiedź IPv6 "tu jestem")
35 Mobile Registration Request (prośba o rejestrację węzła ruchomego)
36 Mobile Registration Reply (odpowiedź na prośbę o rejestrację węzła ruchomego
37 Domain Name Request (żądanie nazwy domeny)
38 Domain Name Reply (zwrot nazwy domeny)
39 SKIP Algorithm Discovery Protocol
40 Photuris, Security failures
41-255 Zarezerwowane

Zobacz też[edytuj | edytuj kod]

Linki zewnętrzne[edytuj | edytuj kod]