Internet Control Message Protocol ICMP (Internet Control Message Protocol) je mechanismus pro hlášení chyb, důležitý podprotokol v TCP/IP protokolovém clusteru, obvykle používaný IP vrstvou nebo vyššími protokoly (TCP nebo UDP), patří do síťové vrstvy, která se převážně používá k přenosu řídicích zpráv mezi IP hostiteli a routery, slouží k hlášení, zda je hostitel dostupný, zda je dostupná trasa atd. Ačkoliv tyto řídicí zprávy nepřenášejí uživatelská data, hrají klíčovou roli při sběru různých síťových informací, diagnostice a řešení různých síťových poruch a přenosu uživatelských dat.
Proč potřebujete ICMP?
Při přenosu dat poskytuje IP službu na principu nejlepšího úsilí, což znamená, že se snaží co nejlépe odesílat datové pakety na cílovou adresu. Neověřuje, zda cílový hostitel paket přijme, a nemůže provádět řízení toku ani kontrolu chyb. Proto jsou během procesu přenosu paketů nevyhnutelné různé chyby. ICMP byl vytvořen pro efektivnější přeposílání IP paketů a zvýšení šancí na úspěšné doručení paketů. U ICMP, když dojde k problému s přenosem paketů v síti, hostitel nebo zařízení nahlásí chybovou situaci protokolu vyšší vrstvy a poskytne zprávu o abnormální situaci, aby protokol vyšší vrstvy mohl prostřednictvím vlastního programu pro řízení chyb a řízení provozu a chyb posoudit, zda je komunikace správná, aby zajistil kvalitu služby.
Jaké jsou scénáře aplikace ICMP?
Hlášení chyb
Chybové zprávy ICMP hlásí chyby v síti, jako je nedostupnost cílového cíle, časové limity nebo problémy s segmentací. Tyto zprávy jsou zvláště důležité pro User Datagram Protocol (UDP) s modelem komunikace bez spojení.
UDP neposkytuje spolehlivý a uspořádaný přenos paketů. Při odesílání UDP paketů mohou být pakety ztraceny nebo mohou selhat, například chyby kontrolního součtu během přenosu. Pokud k tomu dojde, příjemce odesílá zpět zprávu o chybě ICMP, aby upozornil na problém.
Diagnóza
ICMP můžete použít pro diagnostiku sítě. Nejčastěji se používá pro ping a traceroute příkazy.
Příkaz ping testuje přístupnost síťových zařízení tím, že odesílá ICMP echo request pakety cílovému zařízení. Pokud je zařízení přístupné, je vrácena odpověď ICMP echo. Spolehlivě kontroluje latenci sítě a zajišťuje dostupnost zařízení.
Příkaz traceroute sleduje cestu paketu od zdroje k cíli. K tomu příkaz odešle echo request a echo odpověď na zamýšlené místo.
Echo požadavky obsahují hodnotu času do života (TTL), která je snížena o 1 pro každý router, kterým paket prochází. Když paket dorazí k routeru s nulovou TTL, router odešle ICMP zprávu na zdrojovou stranu.
Zpráva obsahuje informace o trase, kterou paket zvolil. Traceroute ukazuje přesnou trasu paketu a může vám poskytnout podrobnosti o výkonu vaší sítě.
Kybernetická bezpečnost
ICMP můžete použít k detekci neoprávněného síťového provozu a povolit pouze legitimní provoz sítí. Firewally používají ICMP k povolení nebo blokování určitých typů provozu. Správci sítí také používají nástroje pro monitorování ICMP ke sledování stavu a konektivity síťových zařízení a k detekci neznámých zařízení.
Můžete ji také použít k odhalení neobvyklých dopravních vzorců, které mohou naznačovat neoprávněnou aktivitu.
Formát protokolu ICMP
Formát ICMP paketu je znázorněn na obrázku a každá ICMP zpráva obsahuje plnou IP hlavičku paketu, který zprávu ICMP původně vytvořil, a ICMP paket je zapouzdřen uvnitř IP paketu jako součást IP paketu. Tři pevná pole obsažená v hlavičce ICMP jsou hlavním základem, na kterém zdrojové zařízení určí typ chyby, která se vyskytuje.
Pole Type označuje typ ICMP zprávy; Pole Code představuje podtyp segmentu typu zprávy ICMP; Pole Checksum představuje kontrolní součet ICMP paketů.
Různé typy ICMP paketů se dělí na dva typy: chybové pakety a dotazovací pakety, jak je znázorněno v tabulce ICMP klasifikace paketů.
ICMP klasifikace paketů
Typ | | | | Odpověď 0-Echo | 0 | Echo odpovídá na zprávu | Informovat se | 3- Účel je nedosažitelný | 0 | Cílová síť nemůže k paketu dosáhnout | Chyba | 1 | Cílový hostitel nemůže k paketu přistupovat | Chyba | 2 | Cílová dohoda nemůže k paketu dorazit | Chyba | 3 | Cílový port nemůže k paketu dosáhnout | Chyba | 4 | Segmentace a DF flagové zprávy | Chyba | 5 | Pakety neúspěšné zdrojové trasy | Chyba | 6 | Pakety neznámé cílové sítě | Chyba | 7 | Hostující pakety neznámého cíle | Chyba | 8 | Zdrojový hostitel izoluje pakety | Chyba | 9 | Síťové pakety, ke kterým je zakázán přístup | Chyba | 10 | Hostovat zprávy, ke kterým je přístup zakázán | Chyba | 11 | Pakety nejsou dostupné pro konkrétní TOS síť | Chyba | 12 | Pakety nejsou dostupné konkrétnímu hostiteli TOS | Chyba | 13 | Pakety jsou potlačovány kvůli filtrování síťového provozu | Chyba | 14 | Zpráva o překročení pravomocí hostitele | Chyba | 15 | Zpráva o efektivním ukončení priority | Chyba | 5- Přesměrování | 0 | Přesměrování síťových paketů | Chyba | 1 | Přesměrovat hostitelské pakety | Chyba | 2 | Pakety přesměrování sítě založené na TOS | Chyba | 3 | TOS-based pakety pro přesměrování hostitele | Chyba | 8- Echo request | 0 | Echo požaduje pakety | Informovat se | 9- Oznámení routeru | 0 | Zprávy o oznámení směrování | Informovat se | 10 - Požadavek na router | 0 | Objevování/výběr/požadavek paketů pro routery | Informovat se | 11 - Timeout ICMP | 0 | TTL zpráva o vypršení času | Chyba | 1 | Sharding a reorganizace timeoutových paketů | Chyba | 12- Parametry problémů | 0 | Chybová zpráva prvního parametru IP reportu | Chyba | 1 | Chybějící požadované option pakety | Chyba | 2 | Nepodporované pakety délky | Chyba | 13- Požadavek na časové razítko | 0 | Pakety požadavků na časové značky | Informovat se | Odpověď s 14 časovými razítky | 0 | Časově označené odpovědi | Informovat se | 15- Žádost o informace | 0 | Pakety žádosti o informace | Informovat se | 16- Informační reakce | 0 | Pakety pro odpověď na zprávy | Informovat se |
Rozdíl mezi ICMP a TCP
TCP je protokol orientovaný na spojení pro spolehlivý, chybově ověřený přenos dat. Běžně se používá pro prohlížení webu, e-mail, vzdálené přihlášení a aplikace pro přenos souborů. TCP vyžaduje handshake, tedy sérii zpráv, které navazují důvěru a autentizaci mezi odesílatelem a příjemcem. TCP zaručuje doručení zpráv.
Naopak protokol Internet Control Message Protocol (ICMP) je protokol bez spojení. Nezaručuje doručení zprávy. Protože ICMP se používá pouze pro hlášení chyb, jsou ICMP zprávy také menší než TCP pakety.
ICMP a TCP se používají společně k určení příčiny selhání přenosu TCP. |