Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 88|Odpowiedź: 1

[Rozwiązywanie problemów] Krótkie wprowadzenie do sieciowego ICMP (Internet Control Message Protocol).

[Skopiuj link]
Opublikowano 02.03.2026 14:44:38 | | | |
Internet Control Message Protocol ICMP (Internet Control Message Protocol) to mechanizm raportowania błędów, ważny podprotokół w klastrze protokołów TCP/IP, zwykle używany przez protokoły warstwy IP lub wyższej (TCP lub UDP), należy do protokołu warstwy sieciowej, głównie wykorzystywanego do przesyłania komunikatów sterujących między hostami IP a routerami, służącego do raportowania, czy host jest osiągalny, czy dostępna jest trasa itd. Chociaż te komunikaty sterujące nie przesyłają danych użytkownika, odgrywają kluczową rolę w zbieraniu różnych informacji sieciowych, diagnozowaniu i rozwiązywaniu różnych usterek sieci oraz przesyłaniu danych użytkownika.

Dlaczego potrzebujesz ICMP?

W procesie transmisji danych IP zapewnia usługę best-effort, czyli dokładne staranie się wysyłać pakiety danych do adresu docelowego. Nie weryfikuje, czy host docelowy otrzymuje pakiet, i nie może wykonywać kontroli przepływu ani kontroli błędów. Dlatego podczas procesu przesyłania pakietów nieuniknione są różne błędy. ICMP został stworzony, aby efektywniej przekazywać pakiety IP i zwiększać szanse na sukces dostarczania pakietów. W przypadku ICMP, gdy występuje problem z transmisją pakietów w sieci, host lub urządzenie zgłasza sytuację błędu do protokołu wyższej warstwy i przekazuje raport o nieprawidłowej sytuacji, aby protokół wyższej warstwy mógł ocenić, czy komunikacja jest poprawna, za pomocą własnego programu kontroli błędów do kontroli ruchu i kontroli błędów, aby zapewnić jakość usług.

Jakie są scenariusze zastosowania ICMP?

Raportowanie błędów

Komunikaty o błędach ICMP zgłaszają błędy sieciowe, takie jak niedostępność docelowa, limity czasu lub problemy z segmentacją. Wiadomości te są szczególnie ważne dla protokołu User Datagram Protocol (UDP) z modelem komunikacji bezpołączeniowej.

UDP nie zapewnia niezawodnej, uporządkowanej transmisji pakietów. Podczas wysyłania pakietów UDP pakiety mogą zostać utracone lub zawiodować, na przykład w przypadku błędów sumy kontrolnej podczas transmisji. Jeśli tak się stanie, odbiorca wysyła komunikat ICMP o błędzie do nadawcy, aby powiadomić o problemie.

Diagnoza

Możesz użyć ICMP do diagnostyki sieci. Najczęściej używany jest do pingowania i traceroute.

Polecenie ping testuje dostępność urządzeń sieciowych, wysyłając pakiety żądań ICMP echo do urządzenia docelowego. Jeśli urządzenie jest dostępne, zwracana jest odpowiedź echa ICMP. Niezawodnie sprawdza opóźnienia sieci i zapewnia dostępność urządzeń.

Polecenie traceroute śledzi ścieżkę pakietu od źródła do celu. Aby to zrobić, komenda wysyła echo request i echo reply do zamierzonego miejsca docelowego.

Żądania Echo zawierają wartość czasu do życia (TTL), która jest zmniejszana o 1 dla każdego routera, przez który przechodzi pakiet. Gdy pakiet dotrze do routera z zerowym TTL, router wysyła wiadomość ICMP do źródła.

Wiadomość zawiera informacje o trasie, którą przeszedł pakiet. Traceroute pokazuje dokładną trasę pakietu i może dostarczyć szczegółów dotyczących wydajności sieci.

Cyberbezpieczeństwo

Możesz użyć ICMP do wykrywania nieautoryzowanego ruchu sieciowego i przepuszczać tylko legalny ruch przez sieć. Zapory sieciowe wykorzystują ICMP do zezwalania lub blokowania określonych typów ruchu. Administratorzy sieci korzystają również z narzędzi monitorujących ICMP do monitorowania statusu i łączności urządzeń sieciowych oraz wykrywania nieznanych urządzeń.

Możesz także użyć go do wykrywania nietypowych wzorców ruchu, które mogą wskazywać na nieautoryzowaną aktywność.

Format komunikatu protokołu ICMP

Format pakietu ICMP przedstawiono na rysunku, a każda wiadomość ICMP zawiera pełny nagłówek IP pakietu, który pochodził z wiadomości ICMP, a pakiet ICMP jest zamknięty wewnątrz pakietu IP jako część pakietu IP. Trzy stałe pola zawarte w nagłówku ICMP stanowią główną podstawę, na której urządzenie źródłowe określa typ występującego błędu.

Pole Type wskazuje typ wiadomości ICMP;
Pole Code reprezentuje podtyp segmentu typu wiadomości ICMP;
Pole sumy kontrolnej reprezentuje sumę kontrolną pakietów ICMP.

Różne typy pakietów ICMP dzielą się na dwa typy: pakiety błędu i pakiety zapytań, jak pokazano w tabeli klasyfikacji pakietów ICMP.



Klasyfikacja pakietów ICMP

Typ
Kod
opis
Zapytanie/błąd
Odpowiedź 0-Echo
0
Echo odpowiada na wiadomość
Zapytać
3- Cel jest nieosiągalny
0
Docelowa sieć nie może dotrzeć do pakietu
Błąd
1
Docelowy host nie może dotrzeć do pakietu
Błąd
2
Umowa docelowa nie może dotrzeć do pakietu
Błąd
3
Port docelowy nie może dotrzeć do pakietu
Błąd
4
Komunikaty flagowe segmentacji i DF
Błąd
5
Pakiety nieudane przez trasę źródłową
Błąd
6
Pakiety sieci docelowej nieznanych
Błąd
7
Pakiety hosta nieznanego miejsca docelowego
Błąd
8
Host źródłowy izoluje pakiety
Błąd
9
Pakiety sieciowe, do których dostęp jest zabroniony
Błąd
10
Wiadomości hostowane, do których dostęp jest zabroniony
Błąd
11
Pakiety nie są dostępne dla konkretnej sieci TOS
Błąd
12
Pakiety nie są dostępne do konkretnego hosta TOS
Błąd
13
Pakiety są tłumione z powodu filtrowania ruchu sieciowego
Błąd
14
Wiadomość o przekroczeniu uprawnień hosta
Błąd
15
Komunikat o skutecznym zakończeniu priorytetu
Błąd
5- Przekierowanie
0
Przekierowywanie pakietów sieciowych
Błąd
1
Przekierowanie pakietów hosta
Błąd
2
Pakiety przekierowania sieci oparte na TOS
Błąd
3
Pakiety przekierowania hosta oparte na TOS
Błąd
8- Prośba o echo
0
Echo prosi o pakiety
Zapytać
9- Ogłoszenie routera
0
Wiadomości o ogłoszeniu trasowania
Zapytać
10 - Żądanie routera
0
Odkrywaj/wybieraj/żądaj pakietów dla routerów
Zapytać
11 - Przerwa ICMP
0
Wiadomość TTL o timeoutzie
Błąd
1
Fragmentowanie i reorganizacja pakietów timeoutów
Błąd
12- Problemy parametrów
0
Komunikat o błędzie pierwszego parametru raportu IP
Błąd
1
Brak wymaganych pakietów opcji
Błąd
2
Pakiety długości nieobsługiwane
Błąd
13- Prośba o znacznik czasu
0
Pakiety żądań znaczników czasowych
Zapytać
Odpowiedź z 14-znacznikami czasowymi
0
Pakiety odpowiedzi z oznacznikiem czasowym
Zapytać
15- Prośba o informacje
0
Pakiety żądania informacji
Zapytać
16- Odpowiedź informacyjna
0
Pakiety odpowiedzi na wiadomości
Zapytać

Różnica między ICMP a TCP

TCP to protokół zorientowany na połączenie, umożliwiający niezawodną, sprawdzoną transmisję danych. Jest powszechnie wykorzystywany do przeglądania stron internetowych, e-maili, zdalnego logowania oraz aplikacji do przesyłania plików. TCP wymaga uścisku dłoni, czyli serii wiadomości, które ustanawiają zaufanie i uwierzytelnianie między nadawcą a odbiorcą. TCP gwarantuje dostarczanie wiadomości.

Dla porównania, protokół Internet Control Message Protocol (ICMP) jest protokołem bezpołączeniowym. Nie gwarantuje to dostarczania wiadomości. Ponieważ ICMP służy wyłącznie do raportowania błędów, wiadomości ICMP są również mniejsze niż pakiety TCP.

ICMP i TCP są używane razem do ustalenia przyczyny awarii transmisji TCP.




Poprzedni:Gniazdo domeny UNIX (UDS) przez komunikację TCP
Następny:.NET/C# wysyła wiadomości na podstawie transmisji PostMessage
 Ziemianin| Opublikowano 03.03.2026 20:24:27 |
Odpowiedź pingowa na zakaz serwera Linux (ICMP)
https://www.itsvse.com/thread-11203-1-1.html
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com