{"id":333,"date":"2020-04-06T00:26:53","date_gmt":"2020-04-05T22:26:53","guid":{"rendered":"http:\/\/tech.sosthe.sk\/?p=333"},"modified":"2020-04-06T00:26:53","modified_gmt":"2020-04-05T22:26:53","slug":"4-7-protokol-icmp","status":"publish","type":"post","link":"http:\/\/tech.sosthe.sk\/index.php\/2020\/04\/06\/4-7-protokol-icmp\/","title":{"rendered":"4.7. Protokol ICMP"},"content":{"rendered":"<p><strong>ICMP: internet control message protocol<\/strong>,\u00a0<a href=\"http:\/\/www.ietf.org\/rfc\/rfc792.txt\">RFC 792<\/a><\/p>\n<p>Protokol ICMP pou\u017e\u00edvaj\u00fa stanice a routre, aby sa navz\u00e1jom informovali o situ\u00e1cii v sieti. Naj\u010dastej\u0161ie pou\u017eitie ICMP je na chybov\u00e9 spr\u00e1vy o nedostupnosti siete, stanice, protokolu alebo portu.<\/p>\n<p>ICMP protokol je sie\u0165ov\u00fd protokol, ktor\u00e9ho spr\u00e1vy sa pren\u00e1\u0161aj\u00fa v tele IPv4 datagramu podobne ako TCP alebo UDP segmenty. Niekedy je preto pova\u017eovan\u00fd za transportn\u00fd protokol. My ho v\u0161ak za transportn\u00fd pova\u017eova\u0165 nebudeme, lebo nepren\u00e1\u0161a \u017eiadne d\u00e1ta aplika\u010dnej vrstvy.<\/p>\n<p>Hlavi\u010dka ICMP protokolu obsahuje dve \u010d\u00edsla\u00a0<strong>code<\/strong>\u00a0a\u00a0<strong>type<\/strong>, ktor\u00e9 dohromady ur\u010duj\u00fa typ spr\u00e1vy. Chybov\u00e9 ICMP spr\u00e1vy maj\u00fa navy\u0161e v tele aj hlavi\u010dku a prv\u00fdch 8 bajtov tela datagramu, ktor\u00fd chybu sp\u00f4sobil. V\u0161etky typy spr\u00e1v si pozrite v\u00a0<a href=\"http:\/\/www.ietf.org\/rfc\/rfc792.txt\">RFC 792<\/a>\u00a0alebo e\u0161te lep\u0161ie na str\u00e1nkach organiz\u00e1cie\u00a0<a href=\"http:\/\/www.iana.org\/assignments\/icmp-parameters\">IANA<\/a>.<\/p>\n<p>ICMP spr\u00e1vy sa pou\u017e\u00edvaj\u00fa aj na diagnostiku siete. Ak chceme zisti\u0165, \u010di je stanica s nejakou IP adresou dostupn\u00e1, pou\u017eijeme program\u00a0<strong>ping<\/strong>, ktor\u00fd vy\u0161le ICMP spr\u00e1vu \u201eecho request\u201c (type 8 code 0) a ak je stanica dostupn\u00e1 (a nem\u00e1 nastaven\u00fd firewall tak, \u017ee ICMP spr\u00e1vy neprij\u00edma), tak odpovie ICMP spr\u00e1vou \u201eecho reply\u201c (type 0 code 0) a my vieme, \u017ee je zapnut\u00e1.<\/p>\n<p>Ve\u013emi u\u017eito\u010dn\u00fdm pomocn\u00edkom na diagnostiku siete je aj program\u00a0<strong>traceroute<\/strong>\u00a0alebo\u00a0<strong>tracert<\/strong>. Je zalo\u017een\u00fd na tom, \u017ee ke\u010f uplynie \u017eivotnos\u0165 datagramu, router tento paket zahadzuje a posiela ICMP spr\u00e1vu\u00a0<em>TTL expired<\/em>\u00a0(type 11 code 0). Traceroute vysiela datagramy najprv s TTL=1, potom s TTL=2 a tak \u010falej, a\u017e pokia\u013e niektor\u00e9 datagramy \u201enepre\u017eij\u00fa\u201c cel\u00fa cestu k cie\u013eovej stanici. TTL sa na ka\u017edom routri zni\u017euje o 1, alebo sa datagram zahadzuje ak dosiahne TTL hodnotu nula. To znamen\u00e1, \u017ee najprv pr\u00eddu ICMP spr\u00e1vy\u00a0<em>TTL expired<\/em>\u00a0z najbli\u017e\u0161ieho routra, potom z druh\u00e9ho na ceste k cie\u013eu, a tak \u010falej.<\/p>\n<p>Pod\u013ea toho, ak\u00fd typ spr\u00e1v bol zasielan\u00fd, reaguje cie\u013eov\u00e1 stanica r\u00f4zne. Ak bol pou\u017eit\u00fd v posielanom IP datagrame UDP segment, ktor\u00e9mu sa be\u017ene nastavuje nejak\u00fd port, ktor\u00fd je pravdepodobne neotvoren\u00fd, vr\u00e1ti sa ICMP spr\u00e1va\u00a0<em>destination port unreachable<\/em>\u00a0(typ 3 code 3). V pr\u00edpade, \u017ee sa pou\u017eil TCP SYN segment, ktor\u00fd sa v ICMP be\u017ene pou\u017e\u00edva s portom 80, tak pr\u00edde bu\u010f ICMP spr\u00e1va\u00a0<em>destination port unreachable<\/em>\u00a0alebo SYNACK segment, ke\u010f\u017ee sa predpoklad\u00e1, \u017ee chceme nadviaza\u0165 TCP spojenie na webov\u00fd server. Tie\u017e sa m\u00f4\u017ee pou\u017ei\u0165 ICMP spr\u00e1va \u201eecho request\u201c, vtedy z cie\u013ea pr\u00edde ICMP spr\u00e1va \u201eecho reply\u201c. To, ak\u00fd bude typ odosielan\u00fdch spr\u00e1v, sa d\u00e1 nastavi\u0165 prep\u00edna\u010dmi programu traceroute (tracert).<\/p>\n<p>Ak je niektor\u00fd router na ceste vypnut\u00fd \u010di nefunk\u010dn\u00fd, do\u010dk\u00e1me sa asi ICMP spr\u00e1vy\u00a0<em>destination network unreachable<\/em>\u00a0(type 3 code 0) od routra pred n\u00edm. Ak je vypnut\u00e1 iba cie\u013eov\u00e1 stanica, pr\u00edde z posledn\u00e9ho routra na ceste spr\u00e1va\u00a0<em>destination host unreachable<\/em>\u00a0(type 3 code 1).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>ICMP: internet control message protocol,\u00a0RFC 792 Protokol ICMP pou\u017e\u00edvaj\u00fa stanice a routre, aby sa navz\u00e1jom informovali o situ\u00e1cii v sieti. Naj\u010dastej\u0161ie pou\u017eitie ICMP je na&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[],"_links":{"self":[{"href":"http:\/\/tech.sosthe.sk\/index.php\/wp-json\/wp\/v2\/posts\/333"}],"collection":[{"href":"http:\/\/tech.sosthe.sk\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/tech.sosthe.sk\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/tech.sosthe.sk\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/tech.sosthe.sk\/index.php\/wp-json\/wp\/v2\/comments?post=333"}],"version-history":[{"count":1,"href":"http:\/\/tech.sosthe.sk\/index.php\/wp-json\/wp\/v2\/posts\/333\/revisions"}],"predecessor-version":[{"id":334,"href":"http:\/\/tech.sosthe.sk\/index.php\/wp-json\/wp\/v2\/posts\/333\/revisions\/334"}],"wp:attachment":[{"href":"http:\/\/tech.sosthe.sk\/index.php\/wp-json\/wp\/v2\/media?parent=333"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/tech.sosthe.sk\/index.php\/wp-json\/wp\/v2\/categories?post=333"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/tech.sosthe.sk\/index.php\/wp-json\/wp\/v2\/tags?post=333"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}