Internet Control Message Protocol

Internet Control Message Protocol (ICMP), dosł. internetowy protokół komunikatów kontrolnych) – opisany w RFC 792 ↓ protokół warstwy sieciowej modelu OSI, 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 modelu TCP/IP (w warstwie sieci modelu ISO/OSI), rolę narzędzia do rozwiązywania problemów odgrywa protokół komunikacyjny zarządzania siecią Internet (ICMPInternet 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

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 routera.
  • 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.

Pakiet (datagram) ICMP

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

Dane (opcjonalne)

Lista typów wiadomości

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(inne języki) Algorithm Discovery Protocol
40 Photuris(inne języki), Security failures
41-255 Zarezerwowane

Zobacz też

Linki zewnętrzne

  • Jon Postel, Internet Control Message Protocol, STD 5, RFC 792, IETF, wrzesień 1981, DOI10.17487/RFC0792, ISSN 2070-1721, OCLC 943595667 (ang.).

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.
Kembali kehalaman sebelumnya