{"id":379,"date":"2020-04-06T08:33:30","date_gmt":"2020-04-06T06:33:30","guid":{"rendered":"http:\/\/tech.sosthe.sk\/?p=379"},"modified":"2020-04-06T16:35:01","modified_gmt":"2020-04-06T14:35:01","slug":"5-4-preklad-z-ipv4-adries-na-mac-adresy-sietovy-protokol-arp","status":"publish","type":"post","link":"http:\/\/tech.sosthe.sk\/index.php\/2020\/04\/06\/5-4-preklad-z-ipv4-adries-na-mac-adresy-sietovy-protokol-arp\/","title":{"rendered":"5.4.\u2002Preklad z IPv4 adries na MAC adresy: sie\u0165ov\u00fd protokol ARP"},"content":{"rendered":"<p>Ke\u010f\u017ee m\u00e1me dvojit\u00fa adres\u00e1ciu (IP a MAC adresy) mus\u00ed samozrejme existova\u0165 sp\u00f4sob, ako sa pri znalosti jednej adresy vieme dopracova\u0165 k druhej adrese. Znalos\u0165 oboch adries je potrebn\u00e1 na komunik\u00e1ciu, ktor\u00e1 vyu\u017e\u00edva sie\u0165ov\u00fa vrstvu, to znamen\u00e1 minim\u00e1lne pri komunik\u00e1cii medzi sie\u0165ami, ale napr\u00edklad aj na \u013eubovo\u013en\u00fa komunik\u00e1ciu v r\u00e1mci siete, ktor\u00e1 vyu\u017e\u00edva protokol IP a jeho nadstavby TCP a UDP. V ka\u017edom pr\u00edpade je na unicastov\u00fa komunik\u00e1ciu v Ethernete potrebn\u00e9 pozna\u0165 MAC adresu.<\/p>\n<p>Konkr\u00e9tne ARP protokol umo\u017e\u0148uje preklad z IPv4 adries na MAC adresy. Ten je potrebn\u00fd v pr\u00edpade, ak MAC adresu cie\u013eov\u00e9ho uzla v na\u0161ej sieti nepozn\u00e1me. Tento stav je dos\u0165 be\u017en\u00fd, ke\u010f\u017ee takmer v\u0161etky sie\u0165ov\u00e9 aplik\u00e1cie pou\u017e\u00edvaj\u00fa adres\u00e1ciu bu\u010f cez dom\u00e9nov\u00e9 men\u00e1 alebo IP adresy.<\/p>\n<p>Pred t\u00fdm, ako si povieme o tom, ako funguje ARP protokol, mus\u00edme spomen\u00fa\u0165 ARP tabu\u013eku. ARP tabu\u013eku obsahuje ka\u017ed\u00fd uzol v sieti (ka\u017ed\u00e9 rozhranie routra aj koncov\u00fdch zariaden\u00ed). V ARP tabu\u013eke sa uchov\u00e1vaj\u00fa dvojice IPv4 adresa a MAC adresa, ktor\u00e9 boli v poslednom obdob\u00ed zisten\u00e9 (d\u00e1 sa vyp\u00edsa\u0165 pr\u00edkazom arp -a). ARP tabu\u013eka nemus\u00ed obsahova\u0165 preklady adries v\u0161etk\u00fdch uzlov v sieti. Jednotliv\u00e9 dvojice adries sa z ARP tabu\u013eky m\u00f4\u017eu dokonca zmaza\u0165, pokia\u013e od dan\u00e9ho uzla nepri\u0161iel dlho \u017eiaden r\u00e1mec. \u010cas, za ktor\u00fd sa ma\u017ee, z\u00e1vis\u00ed od implement\u00e1cie v danom opera\u010dnom syst\u00e9me, ale b\u00fdva to 5-20 min\u00fat.<\/p>\n<p>Ke\u010f spojov\u00e1 vrstva vytv\u00e1ra r\u00e1mec, m\u00e1 od sie\u0165ovej vrstvy k dispoz\u00edcii IP adresu pr\u00edjemcu a odosielate\u013ea a m\u00e1 do r\u00e1mca dop\u00edsa\u0165 MAC adresu pr\u00edjemcu a odosielate\u013ea. S adresou odosielate\u013ea je to \u013eahk\u00e9, ke\u010f\u017ee ide o t\u00fa ist\u00fa stanicu. MAC adresu pr\u00edjemcu je potrebn\u00e9 odvodi\u0165 od IP adresy najbli\u017e\u0161ieho uzla, cez ktor\u00fd m\u00e1 prech\u00e1dza\u0165 datagram k cie\u013eu, ur\u010denom cie\u013eovou IP adresou. Ke\u010f\u017ee cez MAC adresu vieme komunikova\u0165 iba s uzlom v rovnakej sieti, v\u00fdchodiskom na zistenie cie\u013eovej MAC adresy je teda IP adresa nejak\u00e9ho rozhrania v na\u0161ej sieti. Nako\u013eko kone\u010dn\u00fd pr\u00edjemca nemus\u00ed by\u0165 v tej istej sieti, mus\u00edme sa najprv pozrie\u0165 do smerovacej tabu\u013eky, ktor\u00e1 sa uchov\u00e1va v ka\u017edom uzle. Ak cie\u013eov\u00e1 IP adresa nie je z rovnakej siete, mus\u00edme si zo smerovacej tabu\u013eky zisti\u0165 br\u00e1nu, cez ktor\u00fa ideme posiela\u0165 n\u00e1\u0161 paket. T\u00e1to br\u00e1na u\u017e mus\u00ed by\u0165 z na\u0161ej siete.<\/p>\n<p>Teraz u\u017e m\u00e1me IP adresu, ku ktorej chceme n\u00e1js\u0165 jej MAC adresu. Najprv sa pozrieme do ARP tabu\u013eky. Ak sa v nej preklad tejto IP adresy nach\u00e1dza, pou\u017eijeme ho a vytvor\u00edme \u017eiadan\u00fd r\u00e1mec. Ak sa v ARP tabu\u013eke t\u00e1to IP adresa nenach\u00e1dza, mus\u00edme ju najsk\u00f4r zisti\u0165 v na\u0161ej sieti cez ARP protokol.<\/p>\n<p>ARP protokol funguje nasledovne. Stanica vy\u0161le\u00a0<strong>ARP request<\/strong>\u00a0paket v\u0161etk\u00fdm zariadeniam v sieti na broadcastov\u00fa MAC adresu FF:FF:FF:FF:FF:FF. Ako MAC adresu odosielate\u013ea zad\u00e1 svoju MAC adresu. Tento paket mus\u00ed by\u0165 spracovan\u00fd v\u0161etk\u00fdmi zariadeniami v lok\u00e1lnej sieti. To zariadenie, ktor\u00e9 zist\u00ed, \u017ee IP adresa je jeho, po\u0161le\u00a0<strong>ARP response<\/strong>\u00a0paket tejto h\u013eadaj\u00facej stanici. Nako\u013eko u\u017e vie jej MAC adresu, po\u0161le jej ARP response u\u017e priamo \u2013 teda nie broadcastom, ale unicastom. Ke\u010f na\u0161a stanica dostane ARP response, dopln\u00ed si z\u00e1znam do svojej ARP tabu\u013eky a m\u00f4\u017ee vygenerova\u0165 hlavi\u010dku r\u00e1mca pre p\u00f4vodn\u00fd d\u00e1tov\u00fd paket.<\/p>\n<p>Rovnak\u00fd postup sa aplikuje na ka\u017edom uzle na ceste k cie\u013eov\u00e9mu pr\u00edjemcovi, v ka\u017edej sieti, cez ktor\u00fa datagram prech\u00e1dza.<\/p>\n<p>Je folkl\u00f3rom spolu s protokolom ARP spom\u00edna\u0165 aj protokol RARP (Reverse ARP). Ten sl\u00fa\u017ei na opa\u010dn\u00fd preklad \u2013 teda z MAC adresy na IP adresu. Scen\u00e1r protokolu RARP predpoklad\u00e1, \u017ee RARP sa posiela so \u017eiados\u0165ou o zistenie vlastnej IP adresy na z\u00e1klade vlastnej MAC adresy. Tento protokol bol v\u0161ak u\u017e d\u00e1vno prekonan\u00fd protokolom DHCP, ktor\u00fd okrem IP adresy poskytuje ove\u013ea viac, najm\u00e4 predvolen\u00fa br\u00e1nu a lok\u00e1lne rekurz\u00edvne DNS servery a \u010fal\u0161ie in\u00e9 slu\u017eby (napr. bootovanie po sieti).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ke\u010f\u017ee m\u00e1me dvojit\u00fa adres\u00e1ciu (IP a MAC adresy) mus\u00ed samozrejme existova\u0165 sp\u00f4sob, ako sa pri znalosti jednej adresy vieme dopracova\u0165 k druhej adrese. Znalos\u0165 oboch&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[],"_links":{"self":[{"href":"http:\/\/tech.sosthe.sk\/index.php\/wp-json\/wp\/v2\/posts\/379"}],"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=379"}],"version-history":[{"count":1,"href":"http:\/\/tech.sosthe.sk\/index.php\/wp-json\/wp\/v2\/posts\/379\/revisions"}],"predecessor-version":[{"id":380,"href":"http:\/\/tech.sosthe.sk\/index.php\/wp-json\/wp\/v2\/posts\/379\/revisions\/380"}],"wp:attachment":[{"href":"http:\/\/tech.sosthe.sk\/index.php\/wp-json\/wp\/v2\/media?parent=379"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/tech.sosthe.sk\/index.php\/wp-json\/wp\/v2\/categories?post=379"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/tech.sosthe.sk\/index.php\/wp-json\/wp\/v2\/tags?post=379"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}