Sunteți pe pagina 1din 16

UNIVERSITATEA POLITEHNICA BUCURETI

Facultatea de Transporturi Siste!e Tele!atice pentru Transporturi




Proiect Siste!e Tele!atice
Te!a proiectului"
Protocoale de Retea ARP si RARP



Student: C#etraru Adrian



Bucuresti 2014

PROTOCOLUL ARP $ Address Resolution Protocol
Pentru ca dou dispozitive dintr-o reea local s poat comunica,
dispozitivul care transmite trebuie s cunoasc att adresa !", ct #i
adresa $P a dispozitivului destinaie% !tunci cnd se dore#te comunicarea
cu un dispozitiv a crui adres $P este cunoscut, trebuie a&lat adresa sa
!"% Suita de protocoale '"P($P dispune de un protocol, numit !)P,
care poate obine *n mod automat adresa !" a unei staii cu un $P
cunoscut%
+,ist o multitudine de moduri *n care nodurile din reea pot
determina adresa !" pe care o vor &olosi ca adres destinaie *n
*ncapsularea de nivel 2% -iecare staie va ine o tabel cu toate adresele $P
#i !" ale calculatoarelor din aceea#i reea local% !ceste tabele se
numesc tabele !)P #i cu a.utorul lor se mapeaz adrese $P la adrese
!"% 'abelele !)P sunt reinute *n )!, ceea ce *nseamn c trebuie
re&cute la &iecare rebootare a staiei%
!dministratorul de reea poate modi&ica manual intrrile din aceste
tabele prin mi.loace puse la dispoziie de ctre sistemul de operare, *ns
aceste modi&icari sunt complet e,cepionale #i *n marea ma.oritate a
cazurilor, tabelele sunt /estionate e,clusiv de ctre dispozitivul care le
menine%
Cereri ARP
"nd un calculator surs a&l adresa $P a destinatiei cu care dore#te
s comunice, va cuta adresa de !" a acestuia *n tabelul !)P propriu%
0ac nu poate /si adresa *n aceast tabel, staia va iniia o procedur
numit cerere !)P% 1n pac2et special de cerere !)P este trimis prin
broadcast de adresa !" 3&&-&&-&&-&&-&&-&& 4 *n reeaua local pentru a &i
recepionat de toate dispozitivele% 0atorit &aptului c pac2etul a &ost
trimis pe adresa de broadcast, toate staiile din reeaua local *l vor primi
#i *l vor trimite nivelului reea pentru a &i analizat% 0ac adresa $P a
dispozitivului corespunde adresei destinaie din pac2et, dispozitivul va
rspunde% 5n caz contrar, pac2etul este i/norat%
Sursa nu #tie adresa !" a destinaiei, dar *i #tie adresa $P% "adrul
cu cererea !)P este trimis prin broadcast !" tuturor staiilor din
reeaua local%
)ealizarea broadcastului de nivel 2 *nseamn c se seteaz adresa
destinaie din cadrul 2eaderului adu/at de ctre nivelul le/atur de date
*n procesul de *ncapsulare la valoarea &&-&&-&&-&&-&&-&&% 6ri de cte ori o
staie prime#te un cadru *n care adresa destinaie are aceast valoare, acest
cadru este tratat ca #i cum ar &i &ost destinat staiei care l-a primit #i este
deci trimis mai departe nivelului reea% !cest mecanism ne asi/ur c
orice pac2et de broadcast de nivel 2 va &i recepionat #i transmis nivelului
reea de ctre toate staiile la care a.un/e%
Cadrul ARP
-i/ura 1 7eaderul cadrului protocolului !)P
Header !"
%estinatie
F&'&&'&&'&&'&&'&&
Sursa
(('(('BC')*'+,'-.

7eaderul cadrului
Headerul /AC
%estina0ie
F&'&&'&&'&&'&&'&&
Sursa
(('(('BC')*'+,'-.
Headerul IP
%estina0ie
)1*2).32)2)((
Sursa
)1*2).32)2*(-
/esa4 de cerere ARP
Care este adresa ta
/AC5
Pac2etele de cerere !)P au un &ormat special, a crui structur este
prezentat *n &i/ura de mai sus% 1n ast&el de pac2et are o dimensiune a
2eader-ului de 28 de octei #i conine, *n a&ar de in&ormaiile adu/ate la
*ncapsulare de nivelurile le/tur de date #i reea, doar in&ormatiile
necesare recunoa#terii &aptului c este o cerere !)P%
'oate dispozitivele din se/mentul local de reea vor investi/a
cadrul #i vor veri&ica dac adresa proprie de $P este aceea#i cu adresa $P
destinaie%
-i/ura 2 Sc2ema simpli&icat
Pentru c pac2etul este trimis avnd ca adres destinaie adresa de
broadcast pe adrese !", toate staiile din reeaua local *l primesc #i *l
analizeaz% 9ivelul reea veri&ic adresa $P destinaie *nscris *n 2eaderul
$P #i o compar cu adresa proprie%
: 0ac nu : i/nor cadrul;
: 0ac da:
: "ite#te restul pac2etului
: 'rimite raspuns !)P
: )spunsul !)P:
: 6&era adresa !" a dispozitivului
IP Header
%estinatie
)1*2).32)2)((
Sursa
)1*2).32)2*(-
+1
<

-i/ura = >eri&icarea adresei $P
0ac o staie determin c adresa $P destinaie din cadrul
pac2etului de cerere !)P este e/al cu adresa proprie $P, aceasta va
pre/ti un pac2et de rspuns !)P% !cest pac2et va avea ca adres $P
destinaie adresa $P a staiei care a iniiat cererea !)P% !dresa surs
*ncapsulat la nivelul reea va &i e/al cu adresa $P pentru care se dorea
/sirea adresei !" corespunztoare, deci cea a staiei care trimite
pac2etul de rspuns !)P% "adrul care *ncapsuleaz acest pac2et va &i
adresat ctre adresa !" a calculatorului care a &cut cererea !)P #i *n
cadrul cmpului pentru adresa !", sursa va completa practic rspunsul
la cererea !)P &cut, adic adresa !" a staiei care rspunde%
%urata de 6ia07 a cac#e'ului ARP
Pentru a /asi adresa !" mapat unei adrese $P ctre care se
dore#te transmiterea unui pac2et, un dispozitiv din reea *#i va veri&ica
mai *nti tabela !)P proprie #i numai dac nu /se#te adresa dorit *n
aceast tabel va &ace o cerere !)P% !ceast procedur introduce
necesitatea ca tabelele de !)P s conin in&ormaii actuale, alt&el
Sursa: cerere !)P
IP'ul propriu se potri6e8te999
!dresa mea de !"
nu
nu
pac2etele vor &i trimise la adrese /re#ite% Pe baza tabelei !)P se trimite
un pac2et ctre o plac de reea destinaie sau alta, deci corespondea
adres $P : adres !" reinut *n aceast tabel trebuie s &ie corect la
orice moment dat%
5ns adresele $P nu sunt &i,e #i sunt asi/nate diverselor dispozitive
de ctre administratorul de reea, ceea ce *nseamn c ele se pot sc2imba
*ntre dou momente de timp% 0ac tabelele !)P nu ar &i din cnd *n cnd
*nnoite, s-ar putea a.un/e la o situaie cnd o mapare *ntre o adres $P #i
una !" reinut *ntr-un cac2e !)P s nu mai corespund realitii,
&cnd ast&el comunicarea imposibil% Pentru a evita aceast problem,
dispozitivele de reea stabilesc un timp de viaa pentru o intrare *n cac2e-
ul !)P% 0up e,pirarea acestui interval de timp, intrarea *n tabel va &i
invalidat% Procesul de *nlturare a intrrilor vec2i din tabelele !)P
poart numele de *mbtrnire%
Pentru o &le,ibilitate sporit #i pentru a reduce over2ead-ul cauzat
de cererile !)P, s-a adu/at un mecanism prin care, ori de cte ori o
staie prime#te un pac2et cu in&ormaii noi despre un dispozitiv din reea,
adau/ aceste in&ormaii la tabela !)P proprie%
PROTOCOLUL RARP $ Re6erse Address Resolution Protocol
RARP 3)everse !dress )esolution Protocol4 este un protocol
simplu care are ca e&ect alocarea automat a adreselor lo/ice staiilor din
reea% Staiile *#i cunosc adresele proprii !" #i doresc s a&le adresa lor
de $P% !cestea trimit o cerere )!)P *n reea% Serverul )!)P din reea va
rspunde cererii #i va asi/na o adres $P staiei respective%
!cest protocol este &olosit de ctre dispozitivele care au o
dependen mare de reea 3terminale &r disc4 #i de obicei partea din
protocol ce ine de client este ?ars@ *n )6-ul dispozitivului%
Protocolul )everse !)P este asemntor cu !)P, *n sensul c are
acelasi scop: asocierea unei adrese !" cu o adres $P%
)!)P este &olosit mai ales de ctre staiile &r discuri% !ceste
staii *#i cunosc la momentul bootrii numai adresa &izic !", &r a #ti
care este adresa $P proprie% Prin )!)P, un calculator *#i poate a&la adresa
$P pe baza adresei !" a plcii sale de reea%
Staiile &r disc nu dispun de suport ma/netic pe care s-#i poat
salva con&i/uraia $P, pentru a-#i putea re&ace setrile de reea dup ce au
&ost scoase de sub tensiune% 5n consecin, aceste statii trebuie s-#i a&le
adresa $P la &iecare bootare%
"on&i/uratia $P pentru &iecare staie ce &oloseste protocolul )!)P
pentru a-#i a&la aceast con&i/uraie este stocat pe serverul )!)P% 5n
timpul bootrii, staiile &r disc au rutine speciale *n +P)6 care le
permit s a&le, printr-o cerere )!)P, care le este adresa $P%
Cadrul RARP 6s2 ARP
-i/ura 4 7eaderul cadrului protocolului )!)P
!tt protocolul !)P, ct #i )!)P, &olosesc acela#i tip de pac2et,
numit pac2et cerere !)P, pentru a &ace o cerere% !mbele pac2ete de
cerere sunt trimise prin broadcast de adresa !"% 0eosebirile *ntre cele
dou cereri constau *n *ncapsularea de la nivel reea, mai e,act cerererea
!)P se transmite direcionat 3se cunoaste $P-ul destinatie #i se dore#te
a&larea adresei !"4, pe cnd cererea )!)P se trimite prin broadcast $P
pe adresa 2AA%2AA%2AA%2AA, &r s se completeze cmpul adres $P surs,
acesta se iniializeaz la valoarea 0%
7eaderul cadrului
Headerul /AC
%estinatie
F&'&&'&&'&&'&&'&&
Sursa
(('(('3C')*'+,'-.
IP Header
%estinatie
*--2*--2*--2*--
Sursa
(2(2(2(
esa. cerere !)P
"are este adresa +! de
$P<
Clientul RARP
!tunci cand un client )!)P prime#te un rspuns la o cerere &cut,
va des&#ura urmtoarea procedur:
: *#i seteaz adresa $P proprie la adresa destinaie primit *n
rspunsul )!)P;
: *#i copiaz aceast adres proprie *n )! #i o &olose#te din
acest moment *nainte ca adres proprie *n toate *ncapsulrile #i
veri&icrile de nivel = realizate;
: *ncepe s &uncioneze ca o staie normal *n reeaua local cu
noile setri e&ectuate;%
: la orice scoatere de sub tensiune, aceste setri sunt pierdute #i
trebuie re&cute la rebootare prin aceea#i procedur%
Co!paratie ARP : RARP
Similariti:
: ambele se ocup cu maparea adreselor $P la adrese !"
: ambele &olosesc acela#i tip de pac2et;
: ambele &olosesc adrese de broadcast pentru a-#i *ndeplini scopul%
Similaritile principale *ntre !)P #i )!)P sunt le/ate de &aptul c
&olosesc acela#i &ormat de pac2et pentru a trimite cereri #i de &aptul c se
ocup de aceea#i problem #i anume maparea adreselor $P la adrese
!"%
!mbele protocoale &olosesc un broadcast pentru a trimite cererile
&cute%

Diferene:
!)P - obine adresa !" a altor staii &olosind o adres $P;
)!)P : obine adresa proprie $P &olosind adresa proprie !";
Pac2etele !)P &olosesc broadcast pe adrese !" 3&&-&&-&&-&&-&&-&&4;
)!)P &olose#te adresa $P de broadcast 32AA%2AA%2AA%2AA4, precum #i
adresa !" de broadcast 3&&-&&-&&-&&-&&-&&4;
'abelele !)P sunt meninute local;
'abelele )!)P sunt meninute de ctre serverul )!)P;
)spunsul !)P este &olosit de staia local pentru a-#i *nnoi cac2e-ul
!)P;
)spunsul )!)P este &olosit de o staie pentru a-#i con&i/ura parametrii
locali $P%
0eosebirile *ntre !)P #i )!)P sunt le/ate *n primul rnd de
scopul utilizrii celor dou: *n timp ce !)P este &olosit pentru a&larea
adresei !" a unei alte staii cu o adres $P cunoscut, pe cnd )!)P
este utilizat pentru /sirea adresei $P proprii *n cazul cunoa#terii adresei
!"% Pe cnd pentru o cerere !)P, broadcastul este e,clusiv pe adrese
!", pac2etul )!)P este trimis att pe o adres de broadcast de nivel 2,
ct #i printr-un broadcast /eneral $P%
5n timp ce tabelele !)P sunt meninute local de ctre &iecare nod
din retea, tabelele )!)P sunt inute centralizat pe serverul )!)P%
6 ultim di&eren const *n modul de &olosire a pac2etului
rspuns% "u a.utorul pac2etului de rspuns !)P se *nnoie#te cac2e-ul
!)P local, pe cand pac2etul de rspuns )!)P este utilizat de ctre o
staie pentru a-#i con&i/ura proprii parametri de reea $P%
Ni6elul re0ea $ deter!inarea c7ii de ur!at
1n router este un dispozitiv care asi/ur comunicarea *ntre dou
sau mai multe reele distincte% )outerul
&olose#te sc2ema de adres pentru nivel =
3adrese lo/ice : adrese $P, $PB4 pentru a diri.a
pac2etele *ntre diversele reele, cutnd calea
cea mai bun pentru aceste pac2ete% "nd un router &orCard-eaz un
pac2et, *i *nlocuie#te in&ormaia de nivel 2 cu propria adres, deci
adresarea de nivel 2 rmne &oarte important%
"omunicarea *ntr-o reea 3bazat pe comutarea de pac2eteD4 este
ec2ivalent cu ale/erea unui drum *ntr-un /ra&% +,ist nenumarai
al/oritmi care trateaz acest /en de probleme, dar pentru cazul mai
special al unei reele 3un /ra& dinamic, *n care anumite le/turi *ntre
noduri pot &i inaccesibile pentru o perioad de timp 3mai mic, mai
mare sau c2iar de&initiv4 se potrivesc &oarte bine doi al/orimi% !ce#tia
stau la baza implementrii celor dou tipuri de protocoale de rutare
&olosite: linE-state, respectiv distance-vector%
"2iar dac vom trata *n continuare aspecte le/ate de adresarea la
nivelul =, vom vedea c practic rmne &oarte important #i adresarea
la nivelul 2% 1na din problemele ce apar este &aptul c trebuie &cut o
trecere de la adresarea de nivel 2 la adresarea de nivel = #i invers%
!ceste probleme sunt rezolvate #i ele cu a.utorul unor protocoale
speci&ice 3!)P, )!)P4%
-i/ura A : -iecare inter&a a unui router are propria adres $P #i propria
adres !"
1na din necesitile pe care trebuie s le aib un dispozitiv ce &ace
parte dintr-o reea este s aib un identi&icator care s &ie unic% 0ac
aceast condiie nu este *ndeplinit, adic e,ist dou dispozitive *ntr-o
reea cu acela#i identi&icator, comunicarea *ntre cele dou dispozitive,
precum #i *ntre oricare dintre ele #i oricare alt dispozitiv nu va mai putea
&i &cut corect, pentru c e,ist ambi/uiti% "ine ar trebui s primeasc
in&ormaia<
!m spus c un router asi/ur interconectarea mai multor reele%
!ceasta implic c routerul &ace parte din toate reelele pe care le
interconecteaz% "um &iecare dispozitiv dintr-o reea trebuie s aib un
identi&icator unic *n reeaua respectiv, *nseamna c routerul va avea
identi&icatori di&erii pentru &iecare din reelele din care &ace parte%
Practic &iecare inter&a a routerului 3?partea@ din router care
aparine unei reele, att &izic ct #i lo/ic : et2ernet, seriale4 va avea o
adres proprie att la nivel = 3$P4 ct #i la nivel 2 3!"4%
-i/ura F : $nter&eele unui router trebuie s aib adrese din reele di&erite
0e asemenea, adresele lo/ice ale inter&eelor trebuie s aparin
unor reele di&erite, *ntruct inter&eele sunt pri ale routerului ce aparin
unor reele di&erite%
Cu! se asi;nea<7 adresele IP 5
!.un/nd la problematica adresrii de nivel =, trebuie s reamintim
c aceste adrese sunt adrese lo/ice% Spre deosebire de nivelul 2, unde
adresele !" erau *nscrise *n )6-ul plcii de reea de ctre
productorul acesteia, la nivelul = adresele trebuiesc asi/nate de ctre
administratorul de reea%
+,ist dou metode de alocare a acestor adrese: alocare static7 #i
alocare dina!ic7% 9umele lor sunt destul de su/estive%
Prima dintre ele const *n atribuirea de adrese pentru &iecare
dispozitiv din reea, e,plicit, de ctre administratorul de reea%
!vanta.ul acestei metode de alocare a adreselor este simplitatea,
securitatea #i over2ead-ul practic ine,istent% +ste o soluie bun pentru
reele de dimensiuni mici sau pentru reele mai mari, dar care nu *#i
sc2imb &oarte mult con&i/uraia%
0ezatanta.ele se materializeaz prin mult munc de administrare
#i o inere strict a evidenei 3tot de ctre administratorul de reea4%
!locarea dinamic de adrese este de pre&erat *n cazul reelelor de
dimensiune mare sau a reelelor care *#i sc2imb con&i/uraia &recvent% 5n
acest caz, administratorul de reea instruie#te un server care va distribui
adresele lo/ice staiilor din retea, *n coloborare cu acestea%
"ele mai cunoscute protocoale pentru asi/narea de adrese $P *n
mod dinamic sunt urmtoarele: B66'P, )!)P, 07"P%
C7utarea adreselor
Protocolul +t2ernet identi&icG
/azdele printr-un numGr pe F octei,
care nu are nimic *n comun cu o
adresG $P% 0in cauza aceasta este
nevoie de un mecanism pentru a
&ace le/tura *ntre adrese $P #i
adrese +t2ernet% !cesta este a#a
numitul !dress )esolution Protocol 3!)P4 - protocol de cutare al
adreselor% 0e &apt, !)P nu este le/at de +t2ernet neaprat, ci este &olosit
#i la alte tipuri de reele, ca de e,emplu la reelele radio% $deea care st la
baza !)P este ceea ce &ac cei mai muli oameni cnd vor s-l /seascG pe
dl B *ntre 1A0 de oameni: mer/ #i *l stri/ pe nume, &iind si/ur c acesta
va rspunde dac este acolo%
"nd !)P vrea s /seasc adresa +t2ernet corespunzGtoare unei
adrese $P, &olose#te o proprietate a protocolului +t2ernet numit
?rGspndire@ 3broadcastin/4, cnd o data/ram este adresat simultan
tuturor staiilor din reea% 0ia/rama aceasta conine o *ntrebare pentru a
a&la adresa $P% -iecare /azdG din reea compar adresa $P din data/rama
primit cu propria adresG $P #i dac se potrivesc, *i *ntoarce un rspuns
!)P /azdei care a &cut cererea% !ceast /azd poate e,tra/e acum, din
rGspuns, adresa +t2ernet%
0esi/ur ne putem *ntreba cum poate #ti o /azd care din milioanele
de ma#ini cu +t2ernet din lume este /azda cutat #i cum poate #ti c
aceasta posedG inter&a +t2ernet% !ceste *ntrebri *#i a&l rspunsul *n
ceea ce se nume#te rutare 3routin/4, care se ocupG cu /sirea locaiei
&izice a unei /azde *ntr-o reea% !cesta va &i subiectul urmtoarelor
seciuni%
6datG ce o /azdG a descoperit o adresG +t2ernet, o va ine minte
ast&el *nct s nu mai trebuiasc s *ntrebe din nou data viitoare cnd va
vrea s trimit o data/ram /azdei cu pricina% 5ns nu este bine s
pstreze acest in&ormaie totdeauna; de e,emplu, /azda de la distan *#i
poate sc2imba placa de reea din cauza problemelor te2nice, deci intrarea
!)P devine invalid% Pentru a &ora alt *ntrebare, intrrile *n memoria
!)P trebuiesc #terse din cnd *n cnd%
"teodatG este necesarG /sirea adresei $P asociate unei adrese
+t2ernet date% !ceasta se *ntmpl cnd o ma#in &r disc vrea s
booteze de pe un server din reea, situaie des *ntlnit *n reelele locale%
1n client &GrG disc nu are nici o in&ormaie despre el *nsu#i - *n a&ar de
adresa +t2ernetD !#a c va trimite un mesa. rspndit 3broadcast4
coninnd o ru/minte ctre serverul de boot pentru a-i spune adresa sa
$P% Pentru aceasta e,ist alt protocol numit )everse !dress )esolution
Protocol 3)!)P4% 5mpreunG cu protocolul B66'P, el de&ine#te metoda
prin care clienii &r disE pot boota de pe un server din reea%
La ce ni6el se 6eri&ic7 o adres7 /AC 5
Problema adresrii prin adrese &izice 3adrese !"4 apare la nivelul
le/atur de date, mai e,act atunci cnd nivelurile superioare
3transport('"P #i reea($P4 trimit nivelului le/atur de date un pac2et cu o
adres $P destinaie #i o adres $P surs cunoscute% Sarcina nivelului
le/atur de date 3sau acces la reea *n modelul '"P($P4 este acela de a
completa corect adresele !" pentru surs #i destinaie ast&el *nct
comunicarea s aiba loc *n mod corect% Pentru a se putea transmite date
*ntre dou staii, sunt neaparat necesare att adresa !", ct #i adresa $P%