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%