Sunteți pe pagina 1din 13

MINISTERUL EDUCAIEI AL REPUBLICII MOLDOVA UNIVERSITATEA TEHNICA A MOLDOVEI FACULTATEA RADIOELECTRONIC I TELECOMUNICAII CATEDRA SISTEME OPTOELECTRONICE

Dare de seam
Tema: Protocoale de reea ARP i RARP. La disciplina: Protocoale.

A efectuat A verificat

Chiinu 2009

PROTOCOLUL ARP Address Resolution Protocol Pentru ca dou dispozitive dintr-o reea local s poat comunica, dispozitivul care transmite trebuie s cunoasc att adresa MAC, ct i adresa IP a dispozitivului destinaie. Atunci cnd se dorete comunicarea cu un dispozitiv a crui adres IP este cunoscut, trebuie aflat adresa sa MAC. Suita de protocoale TCP/IP dispune de un protocol, numit ARP, care poate obine n mod automat adresa MAC a unei staii cu un IP cunoscut. Exist o multitudine de moduri n care nodurile din reea pot determina adresa MAC pe care o vor folosi ca adres destinaie n ncapsularea de nivel 2. Fiecare staie va ine o tabel cu toate adresele IP i MAC ale calculatoarelor din aceeai reea local. Aceste tabele se numesc tabele ARP i cu ajutorul lor se mapeaz adrese IP la adrese MAC. Tabelele ARP sunt reinute n RAM, ceea ce nseamn c trebuie refcute la fiecare rebootare a staiei. Administratorul de reea poate modifica manual intrrile din aceast tabela prin mijloace puse la dispoziie de ctre sistemul de operare, ns aceste modificari sunt complet excepionale i n marea majoritate a cazurilor, tabelele sunt gestionate exclusiv de ctre dispozitivul care le menine. Cereri ARP Cnd un calculator surs afl adresa IP a destinatiei cu care dorete s comunice, va cuta adresa de MAC a acestuia n tabela ARP proprie. Dac nu poate gsi adresa n aceast tabel, staia va iniia o procedur numit cerere ARP. Un pachet special de cerere ARP este trimis prin broadcast de adresa MAC (ff-ff-ff-ff-ff-ff ) n reeaua local pentru a fi recepionat de toate dispozitivele. Datorit faptului c pachetul a fost trimis pe adresa de broadcast, toate staiile din reeaua local l vor primi i l vor trimite nivelului reea pentru a fi analizat. Dac adresa IP a dispozitivului corespunde adresei destinaie din pachet, dispozitivul va rspunde. n caz contrar, pachetul este ignorat. Sursa nu tie adresa MAC a destinaiei, dar i tie adresa IP. Cadrul cu cererea ARP este trimis prin broadcast MAC tuturor staiilor din reeaua local.
Header MAC Destinatie Ff-ff-ff-ff-ff-ff Sursa 00-00-BC-12-34-56

Realizarea broadcastului de nivel 2 nseamn c se seteaz adresa destinaie din cadrul headerului adugat de ctre nivelul legatur de date n procesul de ncapsulare la valoarea ff-ff-ff-ff-ff-ff. Ori de cte ori o staie primete un cadru n care adresa destinaie are aceast valoare, acest cadru este tratat ca i cum ar fi fost destinat staiei care l-a primit i este deci trimis mai departe nivelului reea. Acest mecanism ne asigur c orice pachet de broadcast de nivel 2 va fi recepionat i transmis nivelului reea de ctre toate staiile la care ajunge. Cadrul ARP

Headerul cadrului
Headerul MAC Destinaie Ff-ff-ff-ff-ff-ff Sursa 00-00-BC-12-34-56 Headerul IP Destinaie 192.168.1.100 Sursa 192.168.1.205 Mesaj de cerere ARP Care este adresa ta MAC?

Figura 1 Headerul cadrului protocolului ARP

Pachetele de cerere ARP au un format special, a crui structur este prezentat n figura de mai sus. Un astfel de pachet are o dimensiune a header-ului de 28 de octei i conine, n afar de informaiile adugate la ncapsulare de nivelurile legtur de date i reea, doar informatiile necesare recunoaterii faptului c este o cerere ARP. Toate dispozitivele din segmentul local de reea vor investiga cadrul i vor verifica dac adresa proprie de IP este aceeai cu adresa IP destinaie.
IP Header Destinatie 192.168.1.100 Sursa 192.168.1.205

EU ?
Figura 2 Schema simplificat

Pentru c pachetul este trimis avnd ca adres destinaie adresa de broadcast pe adrese MAC, toate staiile din reeaua local l primesc i l analizeaz. Nivelul reea verific adresa IP destinaie nscris n headerul IP i o compar cu adresa proprie. Dac nu ignor cadrul; Dac da: Citete restul pachetului Trimite raspuns ARP Rspunsul ARP: Ofera adresa MAC a dispozitivului

nu

nu
IP-ul propriu se potrivete!!!

Sursa: cerere ARP

Adresa mea de MAC

Figura 3 Verificarea adresei IP

Dac o staie determin c adresa IP destinaie din cadrul pachetului de cerere ARP este egal cu adresa proprie IP, aceasta va pregti un pachet de rpuns ARP. Acest pachet va avea ca adres IP destinaie adresa IP a staiei care a iniiat cererea ARP. Adresa surs ncapsulat la nivelul reea va fi egal cu adresa IP pentru care se dorea gsirea adresei MAC corespunztoare, deci cea a staiei care trimite pachetul de rspuns ARP. Cadrul care ncapsuleaz acest pachet va fi adresat ctre adresa MAC a calculatorului care a fcut cererea ARP i, n cadrul cmpului pentru adresa MAC, sursa va completa practic rspunsul la cererea ARP fcut, adic adresa MAC a staiei care rspunde.

Durata de via a cache-ului ARP Pentru a gasi adresa MAC mapat unei adrese IP ctre care se dorete transmiterea unui pachet, un dispozitiv din reea i va verifica mai nti tabela ARP proprie i numai dac nu gsete adresa dorit n aceast tabel va face o cerere ARP. Aceast procedur introduce necesitatea ca tabelele de ARP s conin informaii actuale, altfel pachetele vor fi trimise la adrese greite. Pe baza tabelei ARP se trimite un pachet ctre o plac de reea destinaie sau alta, deci corespondea adres IP adres MAC reinut n aceast tabel trebuie s fie corect la orice moment dat. ns adresele IP nu sunt fixe i sunt asignate diverselor dispozitive de ctre administratorul de reea, ceea ce nseamn c ele se pot schimba ntre dou momente de timp. Dac tabelele ARP nu ar fi din cnd n cnd nnoite, s-ar putea ajunge la o situaie cnd o mapare ntre o adres IP i una MAC reinut ntr-un cache ARP s nu mai corespund realitii, fcnd astfel comunicarea imposibil. Pentru a evita aceast problem, dispozitivele de reea stabilesc un timp de viaa pentru o intrare n cache-ul ARP. Dup expirarea acestui interval de timp, intrarea n tabel va fi invalidat. Procesul de nlturare a intrrilor vechi din tabelele ARP poart numele de mbtrnire. Pentru o flexibilitate sporit i pentru a reduce overhead-ul cauzat de cererile ARP, s-a adugat un mecanism prin care, ori de cte ori o staie primete un pachet cu informaii noi despre un dispozitiv din reea, adaug aceste informaii la tabela ARP proprie.

PROTOCOLUL RARP Reverse Address Resolution Protocol RARP (Reverse Adress Resolution Protocol) este un protocol simplu care are ca efect alocarea automat a adreselor logice staiilor din reea. Staiile i cunosc adresele proprii MAC i doresc s afle adresa lor de IP. Acestea trimit o cerere RARP n reea. Serverul RARP din reea va rspunde cererii i va asigna o adres IP staiei respective. Acest protocol este folosit de ctre dispozitivele care au o dependen mare de reea (terminale fr disc) i de obicei partea din protocol ce ine de client este ars n ROMul dispozitivului. Protocolul Reverse ARP este asemntor cu ARP, n sensul c are acelasi scop: asocierea unei adrese MAC cu o adres IP. RARP este folosit mai ales de ctre staiile fr discuri. Aceste staii i cunosc la momentul bootrii numai adresa fizic MAC, fr a ti care este adresa IP proprie. Prin RARP, un calculator i poate afla adresa IP pe baza adresei MAC a plcii sale de reea. Staiile fr disc nu dispun de suport magnetic pe care s-i poat salva configuraia IP, pentru a-i putea reface setrile de reea dup ce au fost scoase de sub tensiune. n consecin, aceste statii trebuie s-i afle adresa IP la fiecare bootare. Configuratia IP pentru fiecare staie ce foloseste protocolul RARP pentru a-i afla aceast configuraie este stocat pe serverul RARP. n timpul bootrii, staiile fr disc au rutine speciale n EPROM care le permit s afle, printr-o cerere RARP, care le este adresa IP. Cadrul RARP vs. ARP

Headerul cadrului

Headerul MAC Destinatie Ff-ff-ff-ff-ff-ff Sursa 00-00-8C-12-34-56

IP Header Destinatie 255.255.255.255 Sursa 0.0.0.0

Mesaj cerere ARP Care este adresa MEA de IP?

Figura 4 Headerul cadrului protocolului RARP

Att protocolul ARP, ct i RARP, folosesc acelai tip de pachet, numit pachet cerere ARP, pentru a face o cerere. Ambele pachete de cerere sunt trimise prin broadcast de adresa MAC. Deosebirile ntre cele dou cereri constau n ncapsularea de la nivel reea, mai exact cerererea ARP se transmite direcionat (se cunoaste IP-ul destinatie i se dorete aflarea adresei MAC), pe cnd cererea RARP se trimite prin broadcast IP pe adresa 255.255.255.255, fr s se completeze cmpul adres IP surs, acesta se iniializeaz la valoarea 0. Clientul RARP

Atunci cand un client RARP primete un rspuns la o cerere fcut, va desfura urmtoarea procedur: i seteaz adresa IP proprie la adresa destinaie primit n rspunsul RARP; i copiaz aceast adres proprie n RAM i o folosete din acest moment nainte ca adres proprie n toate ncapsulrile i verificrile de nivel 3 realizate; ncepe s funcioneze ca o staie normal n reeaua local cu noile setri efectuate;. la orice scoatere de sub tensiune, aceste setri sunt pierdute i trebuie refcute la rebootare prin aceeai procedur. Comparatie ARP & RARP Similariti: ambele se ocup cu maparea adreselor IP la adrese MAC ambele folosesc acelai tip de pachet; ambele folosesc adrese de broadcast pentru a-i ndeplini scopul. Similaritile principale ntre ARP i RARP sunt legate de faptul c folosesc acelai format de pachet pentru a trimite cereri i de faptul c se ocup de aceeai problem i anume maparea adreselor IP la adrese MAC. Ambele protocoale folosesc un broadcast pentru a trimite cererile fcute.

Diferene: ARP - obine adresa MAC a altor staii folosind o adres IP; RARP obine adresa proprie IP folosind adresa proprie MAC; Pachetele ARP folosesc broadcast pe adrese MAC (ff-ff-ff-ff-ff-ff); RARP folosete adresa IP de broadcast (255.255.255.255), precum i adresa MAC de broadcast (ff-ff-ff-ff-ff-ff); Tabelele ARP sunt meninute local; Tabelele RARP sunt meninute de ctre serverul RARP; Rspunsul ARP este folosit de staia local pentru a-i nnoi cache-ul ARP;

Rspunsul RARP este folosit de o staie pentru a-i configura parametrii locali IP. Deosebirile ntre ARP i RARP sunt legate n primul rnd de scopul utilizrii celor dou: n timp ce ARP este folosit pentru aflarea adresei MAC a unei alte staii cu o adres IP cunoscut, pe cnd RARP este utilizat pentru gsirea adresei IP proprii n cazul cunoaterii adresei MAC. Pe cnd pentru o cerere ARP, broadcastul este exclusiv pe adrese MAC, pachetul RARP este trimis att pe o adres de broadcast de nivel 2, ct i printr-un broadcast general IP. n timp ce tabelele ARP sunt meninute local de ctre fiecare nod din retea, tabelele RARP sunt inute centralizat pe serverul RARP. O ultim diferen const n modul de folosire a pachetului rspuns. Cu ajutorul pachetului de rspuns ARP se nnoiete cache-ul ARP local, pe cand pachetul de rspuns RARP este utilizat de ctre o staie pentru a-i configura proprii parametri de reea IP. Nivelul reea determinarea cii de urmat Un router este un dispozitiv care asigur comunicarea ntre dou sau mai multe reele distincte. Routerul folosete schema de adres pentru nivel 3 (adrese logice adrese IP, IPX) pentru a dirija pachetele ntre diversele reele, cutnd calea cea mai bun pentru aceste pachete. Cnd un router forward-eaz un pachet, i nlocuiete informaia de nivel 2 cu propria adres, deci adresarea de nivel 2 rmne foarte important. Comunicarea ntr-o reea (bazat pe comutarea de pachete!) este echivalent cu alegerea unui drum ntr-un graf. Exist nenumarai algoritmi care trateaz acest gen de probleme, dar pentru cazul mai special al unei reele (un graf dinamic, n care anumite legturi ntre noduri pot fi inaccesibile pentru o perioad de timp (mai mic, mai mare sau chiar definitiv) se potrivesc foarte bine doi algorimi. Acetia stau la baza implementrii celor dou tipuri de protocoale de rutare folosite: link-state, respectiv distance-vector. Chiar dac vom trata n continuare aspecte legate de adresarea la nivelul 3, vom vedea c practic rmne foarte important i adresarea la nivelul 2. Una din problemele

ce apar este faptul c trebuie fcut o trecere de la adresarea de nivel 2 la adresarea de nivel 3 i invers. Aceste probleme sunt rezolvate i ele cu ajutorul unor protocoale specifice (ARP, RARP).

Figura 5 Fiecare interfa a unui router are propria adres IP i propria adres MAC

Una din necesitile pe care trebuie s le aib un dispozitiv ce face parte dintr-o reea este s aib un identificator care s fie unic. Dac aceast condiie nu este ndeplinit, adic exist dou dispozitive ntr-o reea cu acelai identificator, comunicarea ntre cele dou dispozitive, precum i ntre oricare dintre ele i oricare alt dispozitiv nu va mai putea fi fcut corect, pentru c exist ambiguiti. Cine ar trebui s primeasc informaia? Am spus c un router asigur interconectarea mai multor reele. Aceasta implic c routerul face parte din toate reelele pe care le interconecteaz. Cum fiecare dispozitiv dintr-o reea trebuie s aib un identificator unic n reeaua respectiv, nseamna c routerul va avea identificatori diferii pentru fiecare din reelele din care face parte. Practic fiecare interfa a routerului (partea din router care aparine unei reele, att fizic ct i logic ethernet, seriale) va avea o adres proprie att la nivel 3 (IP) ct i la nivel 2 (MAC).

Figura 6 Interfeele unui router trebuie s aib adrese din reele diferite

De asemenea, adresele logice ale interfeelor trebuie s aparin unor reele diferite, ntruct interfeele sunt pri ale routerului ce aparin unor reele diferite. Cum se asigneaz adresele IP ? Ajungnd la problematica adresrii de nivel 3, trebuie s reamintim c aceste adrese sunt adrese logice. Spre deosebire de nivelul 2, unde adresele MAC erau nscrise n ROMul plcii de reea de ctre productorul acesteia, la nivelul 3 adresele trebuiesc asignate de ctre administratorul de reea. Exist dou metode de alocare a acestor adrese: alocare static i alocare dinamic. Numele lor sunt destul de sugestive. Prima dintre ele const n atribuirea de adrese pentru fiecare dispozitiv din reea, explicit, de ctre administratorul de reea. Avantajul acestei metode de alocare a adreselor este simplitatea, securitatea i overhead-ul practic inexistent. Este o soluie bun pentru reele de dimensiuni mici sau pentru reele mai mari, dar care nu i schimb foarte mult configuraia. Dezatantajele se materializeaz prin mult munc de administrare i o inere strict a evidenei (tot de ctre administratorul de reea). Alocarea dinamic de adrese este de preferat n cazul reelelor de dimensiune mare sau a reelelor care i schimb configuraia frecvent. n acest caz, administratorul de reea instruiete un server care va distribui adresele logice staiilor din retea, n coloborare cu acestea. Cele mai cunoscute protocoale pentru asignarea de adrese IP n mod dinamic sunt urmtoarele: BOOTP, RARP, DHCP.

Cutarea adreselor Protocolul Ethernet identific gazdele printr-un numr pe 6 octei, care nu are nimic n comun cu o adres IP. Din cauza aceasta este nevoie de un mecanism pentru a face legtura ntre adrese IP i adrese Ethernet. Acesta este aa numitul Adress Resolution Protocol (ARP) - protocol de cutare al adreselor. De fapt, ARP nu este legat de Ethernet neaprat, ci este folosit i la alte tipuri de reele, ca de exemplu la reelele radio. Ideea care st la baza ARP este ceea ce fac cei mai muli oameni cnd vor s-l gseasc pe dl X ntre 150 de oameni: merg i l strig pe nume, fiind sigur c acesta va rspunde dac este acolo. Cnd ARP vrea s gseasc adresa Ethernet corespunztoare unei adrese IP, folosete o proprietate a protocolului Ethernet numit rspndire (broadcasting), cnd o datagram este adresat simultan tuturor staiilor din reea. Diagrama aceasta conine o ntrebare pentru a afla adresa IP. Fiecare gazd din reea compar adresa IP din datagrama primit cu propria adres IP i dac se potrivesc, i ntoarce un rspuns ARP gazdei care a fcut cererea. Aceast gazd poate extrage acum, din rspuns, adresa Ethernet. Desigur ne putem ntreba cum poate ti o gazd care din milioanele de maini cu Ethernet din lume este gazda cutat i cum poate ti c aceasta posed interfa Ethernet. Aceste ntrebri i afl rspunsul n ceea ce se numete rutare (routing), care se ocup cu gsirea locaiei fizice a unei gazde ntr-o reea. Acesta va fi subiectul urmtoarelor seciuni. Odat ce o gazd a descoperit o adres Ethernet, o va ine minte astfel nct s nu mai trebuiasc s ntrebe din nou data viitoare cnd va vrea s trimit o datagram gazdei cu pricina. ns nu este bine s pstreze acest informaie totdeauna; de exemplu, gazda de la distan i poate schimba placa de reea din cauza problemelor tehnice, deci intrarea ARP devine invalid. Pentru a fora alt ntrebare, intrrile n memoria ARP trebuiesc terse din cnd n cnd. Cteodat este necesar gsirea adresei IP asociate unei adrese Ethernet date. Aceasta se ntmpl cnd o main fr disc vrea s booteze de pe un server din reea, situaie des ntlnit n reelele locale. Un client fr disc nu are nici o informaie despre el

nsui - n afar de adresa Ethernet! Aa c va trimite un mesaj rspndit (broadcast) coninnd o rugminte ctre serverul de boot pentru a-i spune adresa sa IP. Pentru aceasta exist alt protocol numit Reverse Adress Resolution Protocol (RARP). mpreun cu protocolul BOOTP, el definete metoda prin care clienii fr disk pot boota de pe un server din reea. La ce nivel se verific o adres MAC ? Problema adresrii prin adrese fizice (adrese MAC) apare la nivelul legatur de date, mai exact atunci cnd nivelurile superioare (transport/TCP i reea/IP) trimit nivelului legatur de date un pachet cu o adres IP destinaie i o adres IP surs cunoscute. Sarcina nivelului legatur de date (sau acces la reea n modelul TCP/IP) este acela de a completa corect adresele MAC pentru surs i destinaie astfel nct comunicarea s aiba loc n mod corect. Pentru a se putea transmite date ntre dou staii, sunt neaparat necesare att adresa MAC, ct i adresa IP.