TCP/IP:n ARP ja RARP


Seminaariesitelmä


S-38.116, Teletietotekniikka


Ari Jaatinen

40482P

ajaatine@cc.hut.fi

SISÄLLYSLUETTELO

1. Lyhenne- ja käsiteluettelo 2
2. Johdanto 3
3. TCP/IP, Transmission Control Protocol / Internet Protocol 4
3.1 TCP/IP:n perusprotokollat 4
3.1.1 TCP (RFC 793), Transmission Control Protocol 4
3.1.2 UDP, User Datagram Protocol 5
3.1.3 IP (RFC 791), Internet Protocol 6
3.1.4 ICMP, Internet Control Message Protocol 7
3.2 TCP/IP:n sijoittuminen OSI viitemalliin 8
3.3 TCP/IP:n muita protokollia 8
3.4 IP-osoite 9
4. ARP (RFC 826), Address Resolution Protocol 10
4.1 ARP:n käyttö 10
4.2 ARP-paketin rakenne 11
4.3 Proxy ARP 12
5. RARP (RFC 903), Reverse Address Resolution Protocol 14
6. Muut ARP:t 15
7. Yhteenveto 15
8. Lähdeluettelo 16

























1. Lyhenne- ja käsiteluettelo

AppleTalk Applen kehittämä tietoliikenneyhteiskäytäntö

ARP Address Resolution Protocol, IP-osoitteen selvitys protokolla

CIDR Classless Inter-Domain Routing, väliaikaisratkaisu IP-osoitteiden jakeluun, osoite ilmoitetaan IP-osoite aliverkkomaski parina

DARP Dynamic Address Resolution Protocol, protokolla joka toimii RARP:n tavoin

Datagrammi Tietosähke

DECnet Digital Equipment Corporation network

DNS Domain Name Server

Frame Relay Kehysrakenteeseen perustuva tietoliikenneverkko

FTP File Transfer Protocol, Tiedostonsiirtoprotokolla

HTTP Hypertext Transfer Protocol, hyperteksti protokolla

ICMP Internet Control Message Protocol, testaus-, kysely- ja vikaraportointiprotokolla

Internet Society TCP/IP:n standardointia valvova järjestö

Inverse ARP Frame Relay:ssä käytetty ARP

IP-osoite 32-bittinen verkoista riippumaton, globaali osoite

IPv6 Internet Protocol version 6, tulevaisuuden IP versio (osoitteet 48 bittisiä)

IPX Internet Packet Exchange Protocol, Novell Netwaren tietoliikenneprotokolla

ISO International Standards Organization, kansainvälinen standardointi organisaatio

MAC-osoite Medium Access Control, esim. Ethernet- ja Token ring-kortteihin ohjelmoidut 6-tavuiset osoitteet

OSI Open System Interconnection, avointen järjestelmien viitemalli

Protokolla Yhteyskäytäntö, jonka mukaan laitteet voivat siirtää tietoja keskenään

RARP Reverse Address Resolution Protocol, fyysisen osoitteen selvitys protokolla

Rlogin Pääteliikennemekanismi, yhteys ilman käyttäjätunnusta

RFC Request For Comments, TCP/IP standardeja kutsutaan tällä nimellä

SMTP Simple Mail Transfer Protocol, sähköpostin siirtoprotokolla

SNMP Simple Network Management Protocol, verkonhallintaprotokolla

Telnet Pääteliikennemekanismi, jolla yhteys avataan

TCP/IP Transmission Control Protocol/Internet Protocol, protokollaperhe

TFTP Trivial File Transfer Protocol, lähetä/kuittaa -protokolla

UDP User Datagram Protocol, yhteydetön kuljetusprotokolla

2. Johdanto

TCP/IP-protokolla on maailman yleisin tietoliikenneprotokolla ja se on saavuttanut varsin kunnioitettavan 20-vuoden iän. Huolimatta siitä, että TCP/IP on yksi vanhimmista käytössä olevista tietoliikenneprotokollista se ei ole osoittanut heikkenemisen merkkejä, vaan on vanhentuessaan saanut uusia valmistajia ja sitä myötä myös uusia käyttäjiä. Syitä tähän menestystarinaan on helppo löytää: standardien avoimmuus, määrittelyjen yksinkertaisuus, ilmaiset esimerkkitoteutukset jne. Protokollana TCP/IP ei ole mitenkään teknisesti ylivoimainen verrattuna muihin vastaaviin (IPX, DECnet, OSI, AppleTalk, jne.). Näistä löytyy jopa yksityiskohtia, jotka ovat vahvempia kun TCP/IP:ssä, mutta TCP/IP:n yksinkertaisuus on syy, miksi se on pärjännyt paremmin kilpailussa muita vastaan. TCP/IP:ssä on onnistuttu välttämään lähes kaikki kompromissiratkaisut ja tuloksena on saatu protokolla, joka voidaan toteuttaa helposti erilaisissa koneympäristöissä sekä hyvin laajoissakin verkoissa.

TCP/IP on valmistaja- ja laitteistoriippumaton protokolla. Siitä löytyy versiot erilaisiin tietokoneisiin prosessorista ja käyttöjärjestelmästä riippumatta. Perusprotokollat ja -sovellukset ovat niin yksinkertaisia, että ne on voitu toteuttaa mitä erilaisimmissa laiteympäristöissä. Nykyään TCP/IP on saatavilla kaikkiin laiteympäristöihin ja moniin ympäristöihin se kuuluu vakiovarusteena. Standardoinnissa käytetään niin tutkijoiden, valmistajien kuin käyttäjien edustajia. Tämä takaa yleensä (ei aina) sen, että standardi on suhteellisen helposti toteutettavissa ja myös toimiva.

TCP/IP ei myöskään riipu verkkotyypistä. Se ei vaadi allensa mitään tiettyä verkkoa, vaan tietokone voidaan kytkeä siihen verkkoon, joka on parhaiten saatavilla. Käytettäessä erilaisia verkkoja TCP/IP tarjoaa niiden välille "yhteisen" kielen, jonka välityksellä laitteet voivat keskustella. Uusia verkkotekniikoita käyttöönotettaessa, niihin määritellään tapa, kuinka TCP/IP siirretään kyseessä olevan verkon yli. Myös nopeat tekniikat kuten ATM ja Frame Realy toimivat TCP/IP:n alla, jolloin saadaan käyttöön niiden tarjoamat suuret nopeudet.

Tässä seminaarissa tullaan esittelemään TCP/IP-protokollaperhe yleisesti ja perehdytään tarkemmin ARP- ja RARP -protokolliin, joiden tehtävänä on selvittää koneen IP- tai fyysinen osoite.


3. TCP/IP, Transmission Control Protocol / Internet Protocol

TCP/IP perustuu kolmeen protokollaan TCP, UDP ja IP. TCP ja UDP ovat kujetusprotokollia, jotka tarjoavat sovelluksille liityntärajapinnan eri verkkopalveluihin. IP on verkkoprotokolla, joka hoitaa yhteydet erilaisiin verkkoympäristöihin.

Protokollien standardoinnin valvonnan hoitaa Internet Society. Standardeissa on määritelty: 1. perusprotokollat, 2. näiden käyttö erilaisissa verkoissa sekä 3. perussovellusten määrittelyt. Kehitystyötä tehdään jatkuvasti sekä pitkällä aikajänteellä, että akuuteista tarpeista johtuen. Kehitystyötä tehdään sekä suurten yritysten toimesta, että yksityiseltä pohjalta, joten näillä on ainakin teoreettinen mahdollisuus vaikuttaa TCP/IP:n suuntaan. Tämän johdosta standardeja tulee koko ajan lisää ja niiden vaikutus/käyttö vaihtelee aina maailmanlaajuisesta unohdettuihin asti. TCP/IP:n standardeja kutsutaan RFC-dokumenteiksi ja ne kaikki ovat vapaasti saatavilla Internetin FTP-arkistokoneista. Tällä hetkellä RFC-dokumenttejä on jo yli 2100.

3.1 TCP/IP:n perusprotokollat

Toimiakseen TCP/IP vaatii, että siitä asennetaan ainakin perusprotokollat niihin laitteisiin joiden välillä halutaan liikennöidä. Perusprotokollat hoitavat yhteydet siirtoverkkoon sekä tarjoavat sovelluksille yhtenäisen tietoliikenneliityntärajapinnan. TCP/IP:n perusprotokollat ovat TCP, UDP, IP ja ICMP.

3.1.1 TCP (RFC 793), Transmission Control Protocol

TCP on luotettava yhteydellinen kuljetusprotokolla. Luotettavuus tarkoittaa sitä, että TCP takaa tiedon perillemenon ehjänä ja vieläpä oikeassa järjestyksessä. TCP hoitaa itse hävinneiden / rikkoontuneiden pakettien uudelleenlähetyksen sekä vuonohjauksen. TCP pätkii sovellukselta tulevan datan IP-paketteihin, jotka vastaanottavan pään TCP kokoaa ja toimittaa sovellukselle. Tuttuja TCP:tä käyttäviä sovelluksia ovat Telnet, FTP, SMTP ja Rlogin. TCP-kehyksen rakenne on esitetty kuvassa 1.





Kuva 1. TCP-kehyksen rakenne.

TCP-kehyksen kentät:

Lähdeportti source port, portti josta sanoma lähetetään (> 1024), lähettäjän yhteystunnus.

Kohde portti destination port, portti jonne sanoma lähetetään eli kohteen sovellustunnus.

Lähetysnro sequence number, lähtevä tavunumero.

Kuittausnro acknowledgement number, kuittaus tavun/tavuryhmän numeroon..

Otsikon pituus data offset, TCP-otsikon pituus n * 4 oktettia.

Varattu reserved, varattu käytettäväksi tulevaisuudessa.

Liput flags, urgent pikadatan tunnistus, acknowledge kuittauksen ilmoitus, push pyydetään TCP:n laittamaan kakki puskurissa oleva data matkaan, reset nollaa TCP-yhteyden, synchronization synkronointiin (?) ja finish yhteyden lopetukseen.

Ikkuna window, kertoo lähettäjälle montako tavua vastaanottaja on kykenevä vastaanottamaan.

Tarkistussumma checksum, koko TCP-sanoman tarkistesumma.

Pikadatanosoitin urgent pointer, osoittaa pikadatan paikan.

Lisätoiminnot options, käyttäjän omia lisäoptioita.

Täyte padding, täyttää otsikon siten että se on kooltaan n * 4 oktettia.

3.1.2 UDP, User Datagram Protocol

UDP tarjoaa kevyen liittymärajapinnan IP-tason tietosähkeiden käsittelyyn. TCP:stä poiketen UDP on yhteydetön, ja siten se ei sovellu siirtoon, jossa vaaditaan luotettava datan perillemeno. Kaikki sovellukset eivät kuitenkaan kaipaa tätä varmuutta, vaan voivat toimia ilman ennakkoon avattuja yhteyksiä, lähettämällä tietosähkeitä toisilleen (esim. kyselytoiminnot). UDP:tä käyttävien sovellusten tulee itse varmistaa viestien perillemeno ja oikeellisuus. Yleisesti varmistus on hoidettu uusimalla kysely jos vastausta ei ole saatu tietyn ajan kuluessa. UDP on tarkoitettu kysely / vastaus-toimintoihin. UDP:tä käyttäviä sovelluksia ovat esim. nimipalvelu (DNS, Domain Name Server) ja SNMP (Simple Network Management Protocol). Kuvassa 2 on esitetty UDP-protokollan kehysrakenne.

Kuva 2. UDP:n kehysrakenne.

UDP:n kehysrakenne on huomattavasti yksinkertaisempi kuin TCP:n kehysrakenne, mutta kehyksen kentillä on samat tehtävät kuin TCP:n vastaavilla kentillä (kts. kohta TCP).

3.1.3 IP (RFC 791), Internet Protocol

IP on yhteydetön verkkoprotokolla ja sen tehtävänä on huolehtia IP-datagrammien reititys verkosta toiseen IP-osoitteiden perusteella. IP-datagrammit eli tietosähkeet reititetään toisistaan riippumatta. Niille ei ole ennalta määrätty mitään yhteyskohtaista polkua. IP-osoitteella kerrotaan tietokoneelle tai reitittimelle tietosähkeen seuraava kohde, joka voi olla vastaanottaja tai seuraava reititin matkalla vastaanottajan luo. Kuva 3. selvittää IP-otsikon rakennetta.

Kuva 3 IP-otsikon rakenne.

Otsikon kentät:

Versio version 4 bittiä, kertoo käytettävän versiotyypin, nykyinen versio 4 (tuleva 6).

Ots. pituus hlen 4 bittiä, otsikon pituus neljän oktetteina (normaalisti 5 eli 20 oktettia).

Palvelu type of service 8 bittiä, palvelun tyyppi (0 normaali, 7 hallintadatagrammi).

Kokonaispituus total length 16 bittiä, koko datagrammin pituus oktetteina (max 65535 oktettia).

Tunnistus identification 8 bittiä, lähettäjän arpoma yksilöllinen tunniste, joka yhdessä osoitteen kanssa yksilöi datagrammin.

Liput flags 3 bittiä, viimeinen on käyttämättä, ilmoittavat voiko IP-pakettia pilkkoa ja jos on kyse pilkotun IP-paketin osasta ilmoitetaan tuleeko saman paketin osia edelleen.

Lohkon sijainti fragment offset 13 bittiä, pilkotun paketin sijoittumispaikka kootessa alkuperäinen IP-paketti.

Elinaika time to live 8 bittiä, alkaa jostain määrätystä luvusta ja vähenee aina yhdellä kulkiessaan reitittimen läpi (maksimissaan 255).

Protokolla protocol 8 bittiä, ilmoittaa käytetyn protokolla IP:n sisällä (TCP, UDP...).

Ots. tarkistuss. header checksum 16 bittiä, lasketaan otsikkokentät 16 bittisinä kokonaisuuksina yhteen 1-komplementti-aritmetiikalla ja otetaan summasta yhden komplementti.

Lähdeosoite source ip address 32 bittiä.

Kohdeosoite destination ip address 32 bittiä.

Lisämääreet ip options x bittiä, käyttäjän määrittelemiä lisämääreitä.

Täyte padding y bittiä, täyttää otsikkokentän lopun siten, että kokonaispituus tulee olemaan n*32 bittiä.

3.1.4 ICMP, Internet Control Message Protocol

ICMP on IP-protokollan testaus-, kysely- ja vianraportointiprotokolla. IP:n tarjotessa epäluotettavan yhteydettömän siirtopalvelun on mahdollista, että tietosähkeen matka katkeaa jostain syystä. Tällöin on oltava mahdollisuus raportoida käyttäjälle tapahtuneesta. ICMP on luotu erilaisten virhe-, kysely- ja testisanomien välittämiseksi. Vaikka ICMP-sanomat kuljetetaan IP:n sisällä, on se osa IP:tä, eikä ylemmän tason protokolla.

ICMP:ssä on kaksi sanomatyyppiä testaukseen: kaikupyyntö ja kaiun palautus esim. Ping käyttää kaiunpyyntöä. ICMP-virhesanomia on useita erilaisia. Niitä lähettävät tavallisimmin reitittimet, mutta vastaanottava laite voi myös tarvittaessa lähettää virhesanoman. Virhesanoma kohdistetaan aina IP-tietosähkeen lähettäjälle. ICMP-sanomien avulla on mahdollista saada tieto esim. kellonajasta, päiväyksestä, aliverkossa käytetystä aliverkkomaskista tai saada lista lähiverkon reitittimistä. Kuvassa 4. on esitetty ICMP-sanoman rakenne.


Kuva 4. ICMP-sanoman muoto.



ICMP-sanoman kentät:

Tyyppi type, ilmaisee sanomatyypin (esim. kaiku/kaiun palautus, kohde saavuttamaton, reitinvaihto...)

Koodi code, tavallisesti 0 tai lisätietoja tyypistä

Tarkistussumma checksum, sanoman tarkistussumma.

Parametrit parameters, 0 tai tyyppikohtaisia parametrejä.

Informaatio information, sanoman aiheuttaneen tietosähkeen IP-otsikko ja kahdeksan ensimmäistä riviä.

3.2 TCP/IP:n sijoittuminen OSI viitemalliin

OSI-malli on kansainvälisen standardointijärjestön ISO:n avointen järjestelmien viitemalli. OSI jakaa tietoliikenteen seitsemään päällekkäiseen kerrokseen ja määrittelee kerroksille niiden tehtävät ja peruskäsitteet. OSI ei itsessään määrittele varsinaisia yhteyskäytäntöjä eikä ota kantaa varsinaisiin tietoliikennejärjestelmiin vaan sen tarkoituksena on toimia viitekehyksenä standardeille ja vaatimuksille.

Koska OSI tarjoaa yleispätevän rakenteen tietoliikennejärjestelmille, esitän TCP/IP:n sijoittumisen OSI-malliin (kuva 5.).


OSI TCP/IP

Kuva 5. TCP/IP:n sijoittuminen OSI-malliin.

3.3 TCP/IP:n muita protokollia

TCP/IP on luonteeltaan protokollaperhe. Tähän perheeseen kuuluu suuri määrä erilaisia protokollia, jotka ovat jollain tavoin sidoksissa toisiinsa. Edellä esiteltyjen perusprotokollien lisäksi TCP/IP:stä löytyy paljon muita protokollia mm. HTTP, TFTP, ym. ym..

Tässä esityksessä käsitellään tarkemmin protokollat ARP (Address Resolution Protocol) ja RARP (Reverse Address Resolution Protocol).

3.4 IP-osoite

TCP/IP:ssä käytetty reititys perustuu kompakteihin, standardeihin ja binäärisiin IP-osoitteisiin. Jokaisella koneella on oma yksilöllinen 32-bittinen IP-osoite. Tätä IP-osoitetta käytetään kaikkeen koneiden välillä tapahtuvaan kommunikointiin.

Näistä 32-bitistä kolme ensimmäistä ilmoittaa koneille ja reitittimille kyseessä olevan osoitteen tyypin. Osoitteiden tyypit määräytyvät seuraavasti:



Taulukko 1. IP-osoiteluokat.

IP-osoitteissa, joissa kaikki asemaa määrittelevät bitit ovat nollia, tarkoittavaa verkkoa ja siinä tapauksessa jos asemaa määrittelevät bitit ovat ykkösiä on kyseessä broadcast-osoite. Osoiteavaruuden rajoittuneisuus on vaivannut TCP/IP-maailmaa jo jonkin aikaa, ja tähän on luvassa helpotusta IPv6:n (Internet Protocol version 6) mukana. Tällä hetkellä käytössä

oleva CIDR (Classless Inter-Domain Routing) on ainoastaan väliaikainen ratkaisu. CIDR:ssä IP-osoitteen isäntä-osasta on otettu bittejä verkko-osan käyttöön. Näin ollen esim. jos koneita on 800, tarvittaisiin tälloin alkuperäisellä luokituksella vähintään neljä C-luokan osoitetta (huono ratkaisu) tai B-luokan osoite (todella huono ratkaisu). CIDR:llä voidaan käyttöönottaa osa jostain B-luokan osoitteesta esim. IP-verkko 140.115.0.0, jonka aliverkkomaski 255.255.248.0. Tällöin osoitteen 21 ensimmäistä bittiä ovat verkko-osaa ja viimeiset 11 bittiä isäntä-osaa. CIDR osoitteet ilmoitetaan pareina osoite-aliverkkomaski.

4. ARP (RFC 826), Address Resolution Protocol

Lähiverkon liikennöinti onnistuu ainoastaan silloin, kun asemat tietävät toistensa IP- ja MAC-osoitteet. Ikävä kyllä, tällä hetkellä MAC- ja IP-osoitteen välillä ei ole mitään yhteyttä. Tähän ongelmaan on kaksi ratkaisua: 1. käytetään joko kiinteää kuvausta (osoitteet esim. kiintolevyllä) tai 2. menettelyä, jolla voidaan fyysinen osoite yhdistää IP-osoitteeseen. Kiinteää kuvausta voidaan käyttää pienissä verkoissa, joiden osoitekanta on muuttumaton, mutta lähes aina käytetään ARP-protokollaa. ARP:n tehtävänä on hoitaa fyysisen- ja IP-osoitteen yhdistäminen eli ARP sovittaa IP:n allaolevaan verkkoon (Ethernet, TR,...).

4.1 ARP:n käyttö

ARP-protokollaa joudutaan käyttämään tilanteessa jossa asema haluaa lähettää, mutta sen tiedossa on ainoastaan vastaanottajan IP-osoite. Tällöin lähettäjä generoi ARP-kyselyn (esitetty kohdassa 4.2) ja lähettää sen verkkoon. Kysely on tyypiltään broadcast- eli levitysviesti, joka kulkeutuu kaikille kyseessä olevan segmentin asemille. Sanoma sisältää IP-osoitetiedot lähettäjästä ja vastaanottajasta sekä lähettäjän MAC-osoitteesta. Kaikki asemat sijoittavat lähettäjän IP- ja MAC-osoitetiedot omaan ARP-tauluun ja vastaanottajaksi merkitty asema täyttää sanomasta kohdan "vastaanottajan MAC-osoite" ja palauttaa sanoman takaisin lähettäjälle. Lähettäjä vastaanottaa sanoman ja merkitsee saadun MAC-osoitteen omaan ARP-tauluun. Tämän jälkeen lähetys onnistuu.

Lähettäjän generoima ARP-kysely leviää kaikkien siltojen lävitse, mutta reitittimien läpi sanoma ei pääse. ARP-sanoman kulkua on selvitetty kuvassa 6.





Kuva 6. ARP-sanoman kulku.

4.2 ARP-paketin rakenne

Kuvassa 7 on esitetty ARP-paketin rakenne kentittäin.


Kuva 7. ARP-sanoman muoto.

Sanoman osat:

Tyyppikenttä hardware type, mitä tyyppiä verkko on (Ethernet, Token Ring...).

Protokollatyyppi protocol type, esim IP.

MAC-osoitteen pituus HLEN, normaalisti pituus on 48 bittiä.

IP-osoitteen pituus PLEN, nykyään 32 bittiä tulevaisuudessa 48.

ARP-operaation tyyppi operation, 1 = kysely, 2 = vaste.

Lähettäjän MAC-osoite sender hardware address, 48 bittiä.

Lähettäjän IP-osoite sender IP address, 32 bittiä.

Vastaanottajan MAC-osoite target hardware address, 48 bittiä.

Vastaanottajan IP-osoite. target IP address, 32 bittiä.

4.3 Proxy ARP

Lähetettäessä viesti sellaiselle vastaanottajalle, joka sijaitsee samassa lähiverkossa, mutta kuitenkin eri verkkosegmentissä, reitittimen takana, voidaan käyttää reititintä ns. Proxy ARP:nä. Proxy ARP näyttää lähettäjälle kuin se olisi itse oikea vastaanottaja, vaikka se hoitaa vain sanomien osoitteiden muuttamisen sekä niiden välittämisen toiseen aliverkkoon.

Lähettäjän generoidessa sellainen ARP-kysely jonka vastaanottajaa ei löydy samasta verkkosegmentistä, tulee reitittimen, joka toimii Proxy ARP:na siepata ko kysely ja lähettää se muihin aliverkkoihin. Vastauksen saatuaan reititin lähettää kysyjälle aivan tavallisen ARP-vastauksen, jossa se mainostaa itseään kuin olisi lähettäjän tavoittelema vastaanottaja. Lähettäjä aloittaa tämän jälkeen lähettämisen normaalisti ja ARP Proxy hoitaa liikenteen välityksen molempiin suuntiin. ARP Proxy:a käytettäessä aliverkkomaskin asettaminen ei ole välttämätöntä. Kuvassa 8. esitetään ARP Proxy:n toimintaa.
















Kuva 8. ARP Proxy:n toiminta

Sanoman kulku:

Asema B yrittää lähettää asemalle D, mutta B ei tiedä D MAC-osoitetta.

1. B generoi ARP-kyselyn, jossa se kyselee D:n MAC-osoitetta. Levitysviesti kulkeutuu kaikille B:n kanssa samassa segmentissä oleville asemille, mutta D:ä ei löydy sieltä. Reititin, joka toimii myös Proxy ARP:na, havaitsee ARP-kyselyn ja huomaa, että kyselty laite ei sijaitse samassa segmentissä.

2. Proxy ARP generoi ARP-kyselyn muihin segmentteihin.

3. Asema D huomaa kyselyn ja vastaa siihen. Reititin saa tietoonsa D:n MAC-osoitteen.

4. Reititin vastaa B:n kyselyyn, mutta ilmoittaa MAC-osoitteena oman osoitteen.

5. B aloittaa lähetyksen ja luulee "keskustelevansa" D:n kanssa vaikka "keskustelee" reitittimen kanssa. Reititin hoitaa liikenteen asema D:lle.

5. RARP (RFC 903), Reverse Address Resolution Protocol

Edellä esitellyn ARP:n lähisukulainen RARP hoitaa lähes samoja tehtäviä kuin ARP, mutta toiseen suuntaan. RARP vastuulla on selvittää koneelle sen oma IP-osoite. Tätä protokollaa tarvitaan etenkin sellaisessa tilanteessa, jossa käytetään niin sanottua tyhmää päätettä, jossa itsessään ei ole tallennuskapasiteettia (HDD), johon IP-osoite voitaisiin tallentaa ja käynnistettäessä ladata muistiin.

Toiminta perustuu siihen, että jokaisella laitteella on kiinteä MAC-osoite, jota yleensä ei muuteta (poikkeuksena verkkokortin hajoaminen yms.). Itse RARP sanoman muoto on sama kuin ARP-sanoman. Ainoa poikkeus on operaatiokoodi, joka RARP:ssa on 3 tai 4. Laitteen generoidessa RARP-kysely, verkossa olevan palvelimen tulee vastata siihen ja ilmoittaa laitteelle jokin vapaa IP-osoite. IP-osoitteen ei siis välttämättä tarvitse olla joka kerta sama. Ongelmia saattaa esiintyä, jos verkossa on useampia palvelimia, jotka vastaavat RARP-kyselyyn. Kuvassa 9. on esitetty RARP-sanoman kulku.

Kuva 9. RARP-sanoman kulku.

Itse RARP-sanoma siis näyttää jokseenkin tältä: "Täällä laite MAC-osoitteessa X, mikähän on minun IP-osoitteeni?".



6. Muut ARP:t

Nämä edellä esitetyt ARP:t eivät ole suinkaan ainoita protokollia tällä rintamalla, vaan on olemassa myös muita toiminnaltaan vastaavia protokollia.

DARP (Dynamic Address Resolution Protocol) on toiminnaltaan samantyyppinen kuin RARP eli sen tehtävänä on selvittää laitteen IP-osoite, ilman jokaisen laitteen erikseen konfiguroimista. DARP:n työ on vielä kesken ja tullee korvaantumaan muilla tekniikoilla. Inverse ARP on käytössä Frame Relay:ssä. Inverse ARP selvittää Frame Relay-yhteystunnuksen eli loogisen kanavatunnuksen ja IP-osoitteen välisen yhteyden.

7. Yhteenveto

Tässä esityksessä ollaan pyritty selvittämään maailman käytetyimmän protokollaperheen TCP/IP:n yleisiä ominaisuuksia. Ja näiden esitietojen perusteella on yritetty selvittää tarkemmin sen kahta lähiverkko käytössä hyvin tärkeää protokollaa ARP:tä ja RARP:tä. Ongelmana oli löytää ne ydinkohdat TCP/IP:stä, joita tarvitaan ARP:n ja RARP:n ymmärtämiseen.

Protokollaperheenä TCP/IP:n asema maailmalla on erittäin vakaa ja tulevaisuudessa Ipv6:n tullessa, poistuvat osoiteavaruuteen kohdistuneet paineet. Tämän jälkeen TCP/IP:n leviäminen globaalina tietoliikenneyhteyskäytäntönä voi jatkua uusin eväin.














8. Lähdeluettelo

Douglas E. Comer, Internetworking with TCP/IP, Volume I, 3rd edition, Prentice Hall International, 1995, ISBN: 0-13-216987-8.

Arto Karila, Tik-110.350, Tietokoneverkot K-97 opetusmoniste, Otapaino, TKK

http://www.freesoft.org/Connected/Topics05a-Media/Ethernet/ARP.html

http://www.freesoft.org/Connected/RFC/826

http://www.freesoft.org/Connected/RFC/903

http://www.alexia.net.au/~www/yendor/internetinfo/arp.html

http://www.freesoft.org/Connected/RFC/1812

http://www.hds.com/htmlsysadmin/2-1-5.html

http://www.ceri.memphis.edu/help/@multin...T/TCPDUMP/OUTPUT_FORMAT/

ARP_RARP_PACETS

http://flash.compatible.com/cloop-html/show-arp.html