You are on page 1of 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.

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

Sursa: cerere ARP

Adresa mea de MAC

nu
IP-ul propriu se potrivete!!!

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.

You might also like