한국   대만   중국   일본 
ICMP ? Wikipedie P?esko?it na obsah

ICMP

Z Wikipedie, otev?ene encyklopedie

ICMP ( anglicky Internet Control Message Protocol ) je v informatice jeden z nejd?le?it?j?ich protokol? po?ita?ovych siti zalo?enych na rodin? protokol? TCP/IP (tedy protokolu, ktery pou?iva Internet ). Protokol ICMP pou?ivaji opera?ni systemy v siti pro odesilani slu?ebnich informaci, nap?iklad chybovych zprav pro oznameni, ?e po?adovana slu?ba neni dostupna nebo ?e pot?ebny po?ita? nebo router neni dosa?itelny.

ICMP se svym u?elem li?i od TCP a UDP protokol? tim, ?e obvykle neni pou?ivan si?ovymi aplikacemi p?imo, nybr? je vygenerovan na zaklad? n?jake udalosti. Vyjimkou je nap?. nastroj ping , ktery posila ICMP zpravy ? Echo Request “ (a o?ekava p?ijem zpravy ? Echo Reply “), aby ur?il, zda je cilovy po?ita? dosa?itelny a jak dlouho paket?m trva, ne? se dostanou k cili a zp?t (tj. m??i latenci )

Technicky p?ehled [ editovat | editovat zdroj ]

ICMP protokol definovany v RFC 792 je sou?ast sady protokol? internetu . ICMP zpravy se typicky generuji p?i chybach v IP datagramech (specifikovano v RFC 1122 ) nebo pro diagnosticke a routovaci u?ely.

Verze ICMP pro IPv4 je znama jako ICMPv4 . IPv6 pou?iva obdobny protokol ICMPv6 .

ICMP zpravy se konstruuji nad IP vrstvou; obvykle z IP datagramu, ktery ICMP reakci vyvolal. IP vrstva pat?i?nou ICMP zpravu zapouzd?i novou IP hlavi?kou (aby se ICMP zprava dostala zp?t k p?vodnimu odesilateli) a obvyklym zp?sobem vznikly datagram ode?le.

Nap?iklad ka?dy stroj (jako t?eba mezilehle routery ), ktery p?eposila IP datagram, musi v IP hlavi?ce dekrementovat poli?ko TTL (? time to live “, ?zbyvajici doba ?ivota“) o jedni?ku. Jestli?e TTL klesne na 0 (a datagram neni ur?en stroji provad?jicimu dekrementaci), router p?ijaty paket zahodi a p?vodnimu odesilateli datagramu po?le ICMP zpravu ? Time to live exceeded in transit “ (?b?hem p?enosu vypr?ela doba ?ivota“).

Ka?da ICMP zprava je zapouzd?ena p?imo v jedinem IP datagramu, a tak (jako u UDP ) ICMP nezaru?uje doru?eni.

A?koli ICMP zpravy jsou obsa?ene ve standardnich IP datagramech, ICMP zpravy se zpracovavaji odli?n? od normalniho zpracovani protokol? nad IP. V mnoha p?ipadech je nutne prozkoumat obsah ICMP zpravy a doru?it pat?i?nou chybovou zpravu aplikaci, ktera vyslala p?vodni IP paket, ktery zp?sobil odeslani ICMP zpravy k p?vodci.

Mnoho b??n? pou?ivanych si?ovych diagnostickych utilit je zalo?eno na ICMP zpravach. P?ikaz traceroute je implementovan odesilanim UDP datagram? se specialn? nastavenou ?ivotnosti v TTL poli?ku IP hlavi?ky a o?ekavanim ICMP odezvy ? Time to live exceeded in transit “ nebo ? Destination unreachable “ (?Cil nedosa?itelny“). P?ibuzna utilita ping je implementovana pou?itim ICMP zprav ?Echo Request“ a ?Echo Reply“.

Nejpou?ivan?j?i ICMP datagramy [ editovat | editovat zdroj ]

  • Echo Request … po?adavek na odpov??, ka?dy prvek v siti pracujici na IP vrstv? by na tuto vyzvu m?l reagovat. ?asto to z r?znych d?vod? neni dodr?ovano.
  • Echo Reply … odpov?? na po?adavek
  • Destination Unreachable … informace o nedostupnosti cile, obsahuje dal?i up?es?ujici informaci
    • Net Unreachable … nedostupna cilova si?, reakce sm?rova?e na po?adavek komunikovat se siti, do ktere nezna cestu
    • Host Unreachable … nedostupny cilovy stroj
    • Protocol Unreachable … informace o nemo?nosti pou?it vybrany protokol
    • Port Unreachable … informace o nemo?nosti p?ipojit se na vybrany port
  • Redirect … p?esm?rovani, pou?iva se p?edev?im pokud ze sit? vede k cili lep?i cesta ne? p?es vychozi branu. Stanice v?t?inou nepou?ivaji sm?rovaci protokoly a proto jsou informovany touto cestou. Funguje tak, ?e stanice po?le datagram sve, v?t?inou vychozi, bran?, ta jej p?epo?le spravnym sm?rem a zarove? informuje stanici o lep?i cest?.
    • Redirect Datagram for the Network … informuje o p?esm?rovani datagram? do cele sit?
    • Redirect Datagram for the Host … informuje o p?esm?rovani datagram? pro jediny stroj
  • Time Exceeded … vypr?el ?asovy limit
    • Time to Live exceeded in Transit … b?hem p?enosu do?lo ke sni?eni TTL (Time To Live) na 0, ani? byl datagram doru?en
    • Fragment Reassembly Time Exceeded … nepoda?ilo se sestavit jednotlive fragmenty v ?asovem limitu (nap?. pokud dojde ke ztrat? ?asti datagram?)

Ostatni datagramy jsou pou?ivany spi?e vzacn?, n?kdy je pou?ivani ICMP znemo?n?no ?patnym nastavenim firewallu .

Souvisejici ?lanky [ editovat | editovat zdroj ]

Externi odkazy [ editovat | editovat zdroj ]