ARP | |
---|---|
Nimi | Address Resolution Protocol |
Taso ( OSI-mallin mukaan ) | kanavoitu |
Perhe | TCP/IP |
Luotu vuonna | 1982 |
Portti/ID | 0x0806/ Ethernet |
Protokollan tarkoitus | Verkko-osoitteiden muuntaminen kanavaosoitteiksi |
Erittely | RFC 826 |
Tärkeimmät toteutukset (asiakkaat) | TCP/IP-pinon toteutukset Microsoft Windowsissa , Linuxissa ja BSD :ssä |
Ydintoteutukset ( palvelimet ) | TCP/IP-pinon toteutukset Windowsissa , Linuxissa ja BSD :ssä |
Mediatiedostot Wikimedia Commonsissa |
ARP ( Eng. Address Resolution Protocol - osoitteenmääritysprotokolla) on tietokoneverkoissa käytettävä protokolla, joka on suunniteltu määrittämään toisen tietokoneen MAC-osoite tunnetun IP-osoitteen perusteella .
Protokollan kuvaus julkaistiin marraskuussa 1982 RFC 826 :ssa . ARP on suunniteltu lähettämään IP-paketteja Ethernet-pakettien (kehysten) kautta. ARP:ssä käytettyä periaatetta kohde-isännän laitteisto-osoitteen selvittämisestä käytettiin sitten muun tyyppisissä verkoissa.
ARP on yleistynyt Ethernetin päälle rakennettujen IP -verkkojen yleisyyden vuoksi, koska niissä käytetään lähes aina ARP:tä. ARP:tä ei ole IPv6 - protokollaperheessä , sen toiminnot on määritetty ICMPv6 :lle .
Mieti ARP : n toiminnan olemusta yksinkertaisessa esimerkissä. Tietokone A (IP-osoite 10.0.0.1) ja tietokone B (IP-osoite 10.22.22.2) on yhdistetty Ethernet -verkolla . Tietokone A haluaa lähettää datapaketin tietokoneelle B, jonka tiedossa on tietokoneen B IP-osoite. Ethernet-verkko, johon ne ovat yhteydessä, ei kuitenkaan toimi IP-osoitteiden kanssa. Siksi tietokoneen A on tiedettävä tietokoneen B osoite Ethernet-verkossa ( MAC-osoite Ethernet-termeillä) voidakseen lähettää Ethernetin kautta. Tätä tehtävää varten käytetään ARP-protokollaa. Tämän protokollan mukaisesti tietokone A lähettää yleislähetyspyynnön kaikille saman lähetysalueen tietokoneille . Pyynnön ydin: "tietokone, jonka IP-osoite on 10.22.22.2, kerro MAC-osoitteesi tietokoneelle, jossa on MAC-osoite (esim. a0:ea:d1:11:f1:01)". Ethernet-verkko toimittaa tämän pyynnön kaikille samassa Ethernet-segmentissä oleville laitteille, mukaan lukien tietokone B. Tietokone B vastaa tietokoneelle A pyynnöllä ja ilmoittaa MAC-osoitteensa (esim. 00:ea:d1:11:f1:11). Saatuaan tietokoneen B MAC-osoitteen tietokone A voi lähettää sille mitä tahansa dataa Ethernet-verkon kautta.
ARP-sanomia on seuraavan tyyppisiä: ARP-pyyntö ( ARP-pyyntö ) ja ARP-vastaus ( ARP-vastaus ). Lähettävä järjestelmä pyytää ARP-pyyntöä käyttäen vastaanottavan järjestelmän laitteisto-osoitetta, joka tulee ARP-vastauksen sisään.
Ennen verkkokerroksen paketin välittämistä Ethernet-segmentin yli verkkopino tarkistaa ARP-välimuistista, onko tarvittavat kohdesolmun tiedot jo rekisteröity sen taulukkoon. Jos ARP-välimuistissa ei ole tällaista merkintää, tehdään ARP-lähetyspyyntö. Tällä verkossa olevien laitteiden pyynnöllä on seuraava merkitys: "Tietääkö kukaan laitteen fyysistä osoitetta, jolla on sellainen ja sellainen IP-osoite?" Kun isäntä, jolla on tämä IP-osoite, vastaanottaa tällaisen pyyntöpaketin, sen on vastattava: "Kyllä, tämä on IP-osoitteeni ja laitteisto-osoitteeni on sellainen ja sellainen." Tämän jälkeen pyynnön lähettäjä tallentaa vastaanottajan laitteisto-osoitteen ARP-välimuistiinsa ja voi osoittaa tiedot vastaanottajalle.
Alla on esimerkki ARP-pyynnöstä ja vastauksesta. < katso sivun alalaidassa>
ARP-välimuistin merkinnät voivat olla staattisia tai dynaamisia. Yllä oleva esimerkki kuvaa dynaamista välimuistin merkintää. Voit myös luoda staattisia merkintöjä taulukkoon. Useimmissa käyttöjärjestelmissä tämä voidaan tehdä komennolla:
arp -s <IP-адрес> <MAC-адрес>Windows Server 2003:ssa dynaamisesti luodut ARP-taulukkomerkinnät pysyvät välimuistissa 2 minuuttia. Jos näiden kahden minuutin aikana tapahtui tietojen uudelleenlähetys tähän osoitteeseen, merkinnän tallennusaika välimuistissa pidennetään vielä 2 minuutilla. Tämä toimenpide voidaan toistaa useita kertoja, mutta välimuistin enimmäismerkintä kestää jopa 10 minuuttia. Tämän jälkeen merkintä poistetaan välimuistista ja tarvittaessa lähetetään uusi ARP-pyyntö [1] .
Uudemmissa käyttöjärjestelmissä ARP-taulukon merkintöjen säilytysaika ja tallennustapa ovat ohjelmallisesti valittavissa ja niitä voidaan haluttaessa muuttaa.
ARP ei kehitetty alun perin vain IP:lle, vaan tätä protokollaa voidaan käyttää myös MAC-osoitteiden selvittämiseen eri Layer 3 protokollien osoitteista . ARP on myös mukautettu hankkimaan muita (laitteisto) OSI-mallin kerroksen 2 osoitteita ( Layer 2 -osoitteet ).
InARP- ja ATM ARP -protokollia käytetään erilaisissa IP over ATM -kapseloinnissa, jotka on kuvattu standardissa RFC 1577 ( Classical IP and ARP over ATM ) [2] .
Tällä hetkellä ARP:tä käytetään pääasiassa IP- ja MAC-osoitteiden yhdistämiseen Ethernet-verkoissa.
Inverse Address Resolution Protocol , Inverse ARP tai InARP on protokolla muiden työasemien verkkokerroksen osoitteiden (esimerkiksi IP-osoitteiden ) hankkimiseksi niiden linkkikerroksen osoitteiden perusteella (esimerkiksi DLCI Frame Relay -verkoissa). InARP on yleisesti käytössä Frame Relay - ja ATM - verkoissa .
ARP:n ja InARP:n vertailuARP kääntää verkkokerroksen osoitteet linkkikerroksen osoitteiksi, kun taas InARP: tä voidaan pitää sen käänteisenä. InARP on toteutettu ARP:n laajennuksena. Näiden protokollien pakettimuodot ovat samat, vain toimintakoodit ja täytettävät kentät eroavat.
Reverse Address Resolution Protocol , Reverse ARP tai RARP , kuten InARP , kääntää linkkikerroksen osoitteet verkkokerroksen osoitteiksi. Mutta RARP:a käytetään lähettävien asemien itsensä loogisten osoitteiden hankkimiseen, kun taas InARP-protokollassa lähettäjä tietää omat osoitteensa ja pyytää toisen aseman loogista osoitetta. RARP hylättiin BOOTP :n hyväksi , joka puolestaan korvattiin DHCP :llä .
Osoitteen käännös suoritetaan etsimällä IP- ja MAC-osoitteiden välistä vastaavuustaulukkoa. Tämä taulukko, jota kutsutaan ARP-taulukoksi, on tallennettu käyttöjärjestelmän muistiin ja sisältää merkinnät jokaisesta sen tuntemasta isännästä. Kaksi saraketta sisältävät IP- ja Ethernet-osoitteet (MAC). Jos haluat muuntaa IP-osoitteen MAC-osoitteeksi, ARP-taulukko etsii merkintää vastaavalla IP-osoitteella.
Yksinkertaistettu ARP-taulukkoesimerkki223.1.2.1 | 08:00:39:00:2F:C3 |
223.1.2.3 | 08:00:5A:21:A7:22 |
223.1.2.4 | 08:00:10:99:AC:54 |
ARP-pyynnöissä ja -vastauksissa käytetty pakettirakenne on kuvattu alla. Ethernet -verkoissa nämä paketit käyttävät EtherType 0x0806 :ta, ja pyynnöt lähetetään yleislähetyksen MAC-osoitteeseen - FF:FF:FF:FF:FF:FF. Huomaa, että alla esitetyssä pakettirakenteessa 32- bittisiä sanoja käytetään perinteisesti SHA:na, SPA:na, THA:na ja TPA :na – todellinen pituus määräytyy fyysisen laitteen ja protokollan mukaan.
|
Jos isäntä, jonka IPv4-osoite on 10.10.10.123 ja MAC-osoite 00:0D:9D:86:59:E2, haluaa lähettää paketin toiselle isännälle, jonka osoite on 10.10.10.140, mutta ei tiedä sen MAC-osoitetta, sen on lähetettävä ARP. pyytää osoitteen ratkaisemista.
Alla näkyvä paketti edustaa lähetyspyyntöä. Jos isäntä, jonka IP-osoite on 10.10.10.140, on verkossa ja tavoitettavissa, se vastaanottaa tämän ARP-pyynnön ja palauttaa vastauksen.
|
Jos solmulla, jonka osoite on 10.10.10.140, yllä kuvatussa tilanteessa MAC-osoite on 00:09:58:D8:33:AA, se lähettää takaisin alla kuvatun paketin. Huomaa, että lähettäjän ja vastaanottajan osoitelohkot ovat nyt muuttaneet arvoja (vastauksen lähettäjä on nyt pyynnön vastaanottaja; vastauksen vastaanottaja on pyynnön lähettäjä). Vastauksen isännän MAC-osoite on myös 10.10.10.140 lähdefyysisen osoitteen (SHA) -kentässä, eikä THA-kenttä ole tyhjä (yksilähetysvastaus).
Mikä tahansa isäntä, joka on samassa verkossa lähettäjän ja vastaanottajan kanssa, vastaanottaa myös pyynnön (koska se on lähetys) ja lisää näin lähettäjän tiedot välimuistiinsa. ARP-vastaus ohjataan vain ARP-pyynnön alkuperään, joten ARP-vastaus ei ole muiden verkon isäntien käytettävissä.
|
ARP:n tehokkuus riippuu suurelta osin ARP-välimuistista ( ARP-välimuisti ), joka on saatavilla jokaisessa isännässä. Välimuisti sisältää käyttöjärjestelmän laatiman MAC- ja IP-osoitteiden vastaavuustaulukon.
Välimuistimerkinnän käyttöikä on jätetty kehittäjän harkinnan varaan. Oletusarvo voi olla kymmenistä sekunneista (esimerkiksi 20 sekuntia) neljään tuntiin ( Cisco IOS ). [3]
ARP:tä voidaan käyttää IP-osoiteristiriitojen havaitsemiseen paikallisessa verkossa. RFC 5227 määrittelee ARP Probe -pyyntömuodon , jossa on täysin nolla SPA - kenttä (IP-osoite 0.0.0.0). Ennen IP-osoitteen määrittämistä liitännälle isäntä VOI varmistaa, että osoite ei ole toisen LAN-segmentin isäntälaitteen käytössä.
ARP Announcement on paketti (yleensä ARP-pyyntö [4] ), joka sisältää lähettävän isännän oikean SHA:n ja SPA:n, jonka TPA on yhtä suuri kuin SPA. Tämä ei ole lupapyyntö, vaan pyyntö päivittää paketin vastaanottavien muiden isäntien ARP-välimuisti.
Useimmat käyttöjärjestelmät lähettävät tällaisen paketin, kun isäntä tulee verkkoon, mikä auttaa estämään useita ongelmia. Esimerkiksi verkkokorttia vaihdettaessa (kun IP- ja MAC-osoitteiden välinen yhteys on päivitettävä), tällainen pyyntö korjaa verkon muiden isäntien ARP-välimuistin merkinnät.
ARP-hälytyksiä käytetään myös IP-osoitteiden "suojaamiseen" Zeroconf -protokollassa , joka kuvataan RFC 3927 :ssä .
ARP-pyynnön erikoistapaus on oman IP-osoitteen pyyntö, sitä kutsutaan nimellä " Vapaaehtoinen ARP " (vapaaehtoinen ARP-pyyntö) [5] .
Tällaisessa pyynnössä lähettäjän ja vastaanottajan IP-osoitteet ovat samat.
Ilmaista ARP :tä käytetään kahteen tarkoitukseen [5] :
TCP /IP-perusprotokollat OSI -mallin kerroksittain | |
---|---|
Fyysinen | |
kanavoitu | |
verkkoon | |
Kuljetus | |
istunto | |
Edustus | |
Sovellettu | |
Muuta sovellettu | |
Luettelo TCP- ja UDP-porteista |