ICMP

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

ICMP je v informatice jeden z nejdůležitějších protokolů počítačových sítí založených na rodině protokolů TCP/IP (tedy protokolu, který používá Internet). Protokol ICMP používají operační systémy v síti pro odesílání služebních informací, například chybových zpráv pro oznámení, že požadovaná služba není dostupná nebo že potřebný počítač nebo router není dosažitelný.

ICMP se svým účelem liší od TCP a UDP protokolů tím, že obvykle není používán síťovými aplikacemi přímo, nýbrž je vygenerován na základě nějaké události. Výjimkou je např. +more nástroj ping, který posílá ICMP zprávy „Echo Request“ (a očekává příjem zprávy „Echo Reply“), aby určil, zda je cílový počítač dosažitelný a jak dlouho paketům trvá, než se dostanou k cíli a zpět (tj. měří latenci).

Technický přehled

ICMP protokol definovaný v RFC 792 je součást sady protokolů internetu. ICMP zprávy se typicky generují při chybách v IP datagramech (specifikováno v RFC 1122) nebo pro diagnostické a routovací účely.

Verze ICMP pro IPv4 je známá jako ICMPv4. IPv6 používá obdobný protokol ICMPv6.

ICMP zprávy se konstruují nad IP vrstvou; obvykle z IP datagramu, který ICMP reakci vyvolal. IP vrstva patřičnou ICMP zprávu zapouzdří novou IP hlavičkou (aby se ICMP zpráva dostala zpět k původnímu odesílateli) a obvyklým způsobem vzniklý datagram odešle.

Například každý stroj (jako třeba mezilehlé routery), který přeposílá IP datagram, musí v IP hlavičce dekrementovat políčko TTL („time to live“, „zbývající doba života“) o jedničku. Jestliže TTL klesne na 0 (a datagram není určen stroji provádějícímu dekrementaci), router přijatý paket zahodí a původnímu odesilateli datagramu pošle ICMP zprávu „Time to live exceeded in transit“ („během přenosu vypršela doba života“).

Každá ICMP zpráva je zapouzdřená přímo v jediném IP datagramu, a tak (jako u UDP) ICMP nezaručuje doručení.

Ačkoli ICMP zprávy jsou obsažené ve standardních IP datagramech, ICMP zprávy se zpracovávají odlišně od normálního zpracování protokolů nad IP. V mnoha případech je nutné prozkoumat obsah ICMP zprávy a doručit patřičnou chybovou zprávu aplikaci, která vyslala původní IP paket, který způsobil odeslání ICMP zprávy k původci.

Mnoho běžně používaných síťových diagnostických utilit je založeno na ICMP zprávách. Příkaz traceroute je implementován odesíláním UDP datagramů se speciálně nastavenou životností v TTL políčku IP hlavičky a očekáváním ICMP odezvy „Time to live exceeded in transit“ nebo „Destination unreachable“ („Cíl nedosažitelný“). +more Příbuzná utilita ping je implementována použitím ICMP zpráv „Echo Request“ a „Echo Reply“.

Nejpoužívanější ICMP datagramy

Echo Request … požadavek na odpověď, každý prvek v síti pracující na IP vrstvě by na tuto výzvu měl reagovat. Často to z různých důvodů není dodržováno. +more * Echo Reply … odpověď na požadavek * Destination Unreachable … informace o nedostupnosti cíle, obsahuje další upřesňující informaci ** Net Unreachable … nedostupná cílová síť, reakce směrovače na požadavek komunikovat se sítí, do které nezná cestu ** Host Unreachable … nedostupný cílový stroj ** Protocol Unreachable … informace o nemožnosti použít vybraný protokol ** Port Unreachable … informace o nemožnosti připojit se na vybraný port * Redirect … přesměrování, používá se především pokud ze sítě vede k cíli lepší cesta než přes výchozí bránu. Stanice většinou nepoužívají směrovací protokoly a proto jsou informovány touto cestou. Funguje tak, že stanice pošle datagram své, většinou výchozí, bráně, ta jej přepošle správným směrem a zároveň informuje stanici o lepší cestě. ** Redirect Datagram for the Network … informuje o přesměrování datagramů do celé sítě ** Redirect Datagram for the Host … informuje o přesměrování datagramů pro jediný stroj * Time Exceeded … vypršel časový limit ** Time to Live exceeded in Transit … během přenosu došlo ke snížení TTL (Time To Live) na 0, aniž byl datagram doručen ** Fragment Reassembly Time Exceeded … nepodařilo se sestavit jednotlivé fragmenty v časovém limitu (např. pokud dojde ke ztrátě části datagramů).

Ostatní datagramy jsou používány spíše vzácně, někdy je používání ICMP znemožněno špatným nastavením firewallu.

Související články

ICMPv6 * IRDP (ICMP Router Discovery Protocol)

Externí odkazy

[url=http://www.ietf.org/rfc/rfc792.txt][[rfc:792|RFC 792[/url]]] * [url=http://www.iana.org/assignments/icmp-parameters]ICMP parametry[/url]

Kategorie:Internetové protokoly Kategorie:Počítačové sítě

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top