Sunteți pe pagina 1din 8

Algoritmi de dirijare Algoritmul de dirijare este acea parte a software-lui nivelului reea care rspunde de alegerea liniei de ieire

pe care un pachet recepionat trebuie trimis mai departe. n cazul datagramelor aceast decizie trebuie luat din nou pentru fiecare pachet recepionat, deoarece e posibil ca cea mai bun rut s se fi modificat ntre timp. n cazul circuitelor virtuale, decizia de dirijare se ia doar la stabilirea unui nou circuit virtual. !up aceea pachetele vor urma doar calea stabilit anterior. Acest ultim caz este numit uneori sesiune de dirijare deoarece calea rm"ne n funciune pentru o ntreag sesiune utilizator #e$. transfer de fiiere, login prin terminal%. &n algoritm trebuie s fie' corect, simplu, robust, stabil, s previn defavorizarea nodurilor, optimal. Algoritmii pot fi' neadaptivi - alegerea cii se calculeaz n avans #of line% i parvine ruterului la iniializarea reelei( adaptivi - i modific deciziile de dirijare pentru a reflecta modificrile de topologie i pe cele de trafic. Algoritmii adaptivi difer prin' - locul de unde i iau informaia #local, de la un vecin, de la toate ruterele%( - momentul n care schimb rutele #c"nd se schimb ncrcarea, topologia, la ) secunde%. - metrica folosit pentru optimizare #distana, timpul de tranzit, numrul de salturi%. Principiul optimalitii i arborele de scufundare !ac ruterul * este pe calea optim de la ruterul + la ruterul ,, atunci calea optim de la * la , este pe aceeai rut #se poate demonstra prin metoda reducerii la absurd%. -a o consecin, mulimea rutelor ctre o anume destinaie formeaz un arbore av"nd rdcinile terminate n destinaii i care se cheam arbore de scufundare (vezi fig #b%%. .copul tuturor algoritmilor de dirijare este de a descoperi i folosi arborii de scufundare pentru toate rutele.

/ot e$ista mai muli arbori de scufundare pentru o arhitectura de reea dat. Algoritmi statici de dirijare Dirijarea pe calea cea mai scurt -alea cea mai scurt este dictat de metrica de msurare a distanei. Aceasta poate fi' distana n 0m, numrul de salturi, rata de transfer, traficul mediu, costul comunicaiei, lungimea minim a cozilor de ateptare, nt"rzieri msurate. +deea este de a construi un graf al subreelei, fiecare nod al grafului fiind un ruter, iar fiecare arc al grafului fiind o linie de comunicaie cu o anumit valoare pentru metrica folosit n aprecierea liniei respective. Algoritmul gsete calea cea mai scurt #valoarea minim a metricii% ntre dou rutere. -el mai cunoscut i utilizat algoritm de determinare a ci cea mai scurt este !ij0stra #1232%. . gsim calea cea mai scurt de la A la 4.

distana de la nodul surs p"n la el pe calea cea mai scurt cunoscut Algoritmul de inundare - genereaz foarte multe pachete. /entru a limita numrul acestora se procedeaz astfel' 1. contor de salturi n antetul fiecrui pachet decrementat la fiecare salt i care face ca pachetul s fie distrus atunci c"nd contorul atinge valoarea 5. 6. ruterul surs s plaseze un numr de secven n fiecare pachet pe care l primete de la calculatorul gazd asociat. 7iecare ruter necesit meninerea unei liste pentru fiecare ruter surs, cu numere de secven iniiate de acel ruter surs i care au fost deja trimis mai departe. !ac sosete un pachet care deja se afl n list el nu se mai trimite. .e poate nsoi lista de un contor k care semnific faptul c toate numerele de secven p"n la k au fost deja tratate. +nundarea se utilizeaz n aplicaii militare, aplicaii de baz de date distribuite care este necesar s fie actualizate concurent. Dirijarea bazat pe flux n condiiile n care traficul mediu de la i la j este cunoscut n avans i ntr-o apro$imare rezonabil, constant n timp, este posibil analiza matematic a flu$urilor pentru a optimiza dirijarea. +deea care st la baza analizei este aceea c pentru o anumit linie dac se cunosc capacitatea i flu$ul mediu, este posibil s se calculeze nt"rzierea medie a unui pachet pe linia respectiv, folosind teoria cozilor. /e baza nt"rzierilor medii ale tuturor liniilor se poate calcula imediat, ca medie ponderat dup flu$, nt"rzierea medie a unui pachet pentru ntreaga subreea. /roblema dirijrii se reduce apoi la gsirea algoritmului de dirijare care produce nt"rzierea medie minim pentru subreea. 7olosirea acestei tehnici presupune' - cunoaterea topologiei subreelei( - matricea traficului(

matricea capacitilor liniilor, -i, msurat n 8 ,bps'9%.

/entru a obine rutele din matrice, fig.#b%, s-a aplicat un algoritm de dirijare #de e$. calea cea mai scurt%. )otal pachete;sec -apacitate de <r. mediu de nt"rzierea pe linia i pachete;sec i :inie transfer 8,bps9 medie 8msec9 /ondere pi i -i -i )i 1> 1 A= 1> 65 63 21 5,1?1 @6 16 6 =16 65 63 ?? 5,1>A @6 A B -! A 15 16,3 13> 5,5?B @6 11 > AC 11 65 63 ?1 5,1B> @6 1B 3 C7 1B 35 A6,3 65 5,132 @6 @ A 7! @ 15 16,3 6666 5,52@ @6 ? @ =7 C15 @ 65 65 63 63 A? 32
1 = @55 bii.

5,166 5,52@

15 @6 @ @6

)otal pachete n reea @6. !imensiunea medie a unui pachet


)i = 1 -i i
i

nt"rzierea medie pentru ntreaga subreea ) = )i p i = @A ms Algoritmi dinamici de dirijare -ei mai folosii sunt algoritmul de dirijare cu vectori distan i algoritmul de dirijare bazat pe starea legturilor.

Algoritmul de dirijare cu vectori distan #=ellman - 7ord - 7ul0erson% /resupune c fiecare ruter menine o tabel #un vector% care pstreaz cea mai bun distan cunoscut spre fiecare destinaie i linia care trebuie urmat pentru a ajunge acolo. Aceste tabele sunt actualizate prin schimbul de informaii ntre nodurile vecine. .e pot folosi diferite metrici. !ac se folosete metrica salturilor, distana este de doar un salt. !ac metrica folosit este lungimea cozilor de ateptare, ruterul e$amineaz lungimile acestor cozi. !ac metrica este cea a nt"rzierilor ruterul o poate msura direct prin pachetele speciale numite C-4D n care receptorul va marca doar timpul curent i le va trimite napoi c"t mai repede. C$emplu'

7olosim metrica nt"rzierilor, iar ruterul cunoate nt"rzierea spre fiecare dintre vecinii si. D dat la fiecare ) 8milisecunde9 fiecare ruter trimite spre fiecare vecin o list a estimrilor proprii spre fiecare destinaie. !e asemenea el recepioneaz o list similar de la fiecare vecin. /entru ruterul * au sosit tabelele cu nt"rzieri de la vecinii si. A spune c p"n la - i trebuie 63 msec, p"n la ! >5 msec, etc. * i-a msurat nt"rzierile spre cei patru vecini i sunt *AE@, *+E15, *4E16, *,EA. * calculeaz acum cile p"n la fiecare alt ruter dac trimite pachetul pe r"nd ctre vecinul A, +, 4, respectiv ,. C$. pentru ruterul F prin vecinul' A ' @ G 1@ E 6A + ' 15 G B1 E >1 4 ' 16 G A E 1@ , ' A G B1 E B? !eci pachetele pentru F le trimite prin vecinul 4, pe aici nt"rzierea fiind minim. Dirijarea folosind starea legturilor - sub diferite variante este cel mai utilizat n prezent. -onform acestui algoritm fiecare ruter trebuie' 1. s descopere care sunt vecinii si i s afle adresele de reea ale acestora. 6. s determine nt"rzierea sau costul p"n la vecinii si. B. s pregteasc un pachet prin care anun pe toat lumea c tocmai a terminat de cules datele despre vecini. >. s trimit acest pachet ctre toate celelalte rutere. 3. c calculeze cea mai scurt cale spre fiecare ruter.

Prima chestiune se rezolv prin trimiterea unor pachete speciale 4A::D pe fiecare linie prin care este legat la un alt ruter. /artenerul este obligat s rspund anun"ndu-i identitatea. !ac mai multe rutere sunt conectate printr-un :A<, reeaua local se modeleaz ca un nou nod #artificial% prin care se trece pentru a lega 6 rutere din :A< #vezi figura urmtoare%.

Huterele A, - i 7 interconectate prin :A<.

<odul < este creat artificial.

Msurarea costului p"n la un ruter vecin se face prin trimiterea pachetelor C-4D pe linie cer"nd partenerului s-l returneze imediat. -ontoriz"nd timpul se obine o estimare rezonabil a nt"rzierii. nt"rzierea poate ine cont de coad sau nu( n primul caz timpul se msoar din momentul aezrii pachetului C-4D n coad, iar n al 6-lea caz din momentul c"nd pachetul ajunge pe prima poziie din coad. onstruirea pachetelor cu starea legturilor const n completarea de ctre fiecare ruter a unui pachet conin"nd' -identitatea sa( -un numr de secven( -v"rsta #timpul de via%( -lista vecinilor cu nt"rzierea asociat. /achetele pot fi reconstruite periodic sau la producerea unui eveniment '

oprirea unui vecin pornirea modificri de parcurs #rut%

Distribuirea pachetelor cu starea legturilor /achetele se distribuie prin inundare. /entru a avea controlul inundrii, fiecare pachet conine un numr de secven care este incrementat de ruter la fiecare nou pachet trimis. Huterele pstreaz evidena tuturor perechilor #ruter surs, numr secven% pe care le vd. :a sosirea unui nou pachet cu starea legturilor, el este cutat n lista pachetelor deja vzute. !ac pachetul este nou el este trimis pe toate liniile, cu e$cepia celei pe care a sosit. !ac este duplicat, pachetul este distrus. !ac pachetul sosit are un numr de secven mai mic dec"t cel mai mare numr de secven detectat, atunci el este rejectat ca fiind nvechit. I"rsta se decrementeaz la fiecare secund, c"nd ajunge la 5 informaia de la ruterul respectiv este distrus. n mod normal un nou pachet, conin"nd starea legturilor, este emis la fiecare 15 min astfel nc"t informaia de la ruter e$pir doar dac ruterul este oprit.

.tructura de date pentru ruterul = din reeaua de mai sus este'

/achetul de la C a ajuns pe dou ci CA= i C7= i de aceea se trimite numai ctre - i se confirm ctre A i 7. alcularea noilor rute o face fiecare ruter de ndat ce a acumulat un set complet de pachete cu starea legturilor, ncep"nd prin a construi graful subreelei, iar apoi cu algoritmul #!ij0stra gsete calea cea mai scurt ctre toate destinaiile%. n reelele foarte mari poate fi critic memoria ocupat de aceste pachete i timpul de interpretare. Dirijarea ierarhic Huterele sunt mprite n regiuni, fiecare ruter tiind toate detaliile necesare pentru a dirija pachete spre destinaie n cadrul regiunii sale, dar netiind nimic despre organizarea intern a celorlalte regiuni. C$emplu'

.-a stabilit c numrul optim de niveluri pentru o subreea cu ! rutere este ln!, ceea ce necesit un total de eln < intrri pentru fiecare ruter.

+nevitabil n dirijarea ierarhic crete lungimea medie a cilor, ns creterea este suficient de mic pentru a fi acceptat. Dirijarea multidestinaie 7iecare pachet conine o list a destinaiilor. -"nd ajunge la un ruter, se verific toate destinaiile pentru a determina setul liniilor de ieire pe care trebuie trimis pachetul. Huterul genereaz o nou copie a pachetului pentru fiecare linie de ieire folosit i include n fiecare pachet doar acele destinaii care folosesc linia respectiv. !up un numr suficient de salturi fiecare pachet va conine o singur destinaie i poate fi tratat ca un pachet normal. D mbuntire se obine folosind arborele de' - acoperire construit din ruterul care iniiaz difuzarea multidestinaie - scufundare !ac nu se cunoate arborele de acoperire se poate folosi algoritmul cii inverse' c"nd un pachet ajunge la un ruter verific dac pachetul a sosit pe linia pe care se trimit de obicei pachete ctre sursa difuzrii. !ac este aa, este o ans foarte mare ca nsui pachetul de difuzare s fi urmat cea mai bun cale, fiind astfel prima copie care ajunge la ruter. /achetul este trimis pe toate liniile de ieire cu e$cepia celei pe care a venit. !ac pachetul nu a sosit pe linia preferat el este distrus fiind considerat un posibil duplicat. Algoritmi pentru controlul congestiei -ongestia apare atunci c"nd foarte multe pachete sunt prezente n reea. !ac prin controlul flu$ului se urmrete traficul capt la capt ntre un e$peditor i un destinatar, prin controlul congestiei se urmrete s se asigure c subreeaua este capabil s transporte ntreg traficul implicat. -ongestia este o problem global implic"nd toate calculatoarele, toate ruterele din reea. Abordarea tratrii congestiei se poate face prin' - metode n bucl deschis - care rezolv problema la proiectare, planific"nd c"nd s distrug pachete, unde se iau deciziile n reea, c"nd se accept trafic nou, etc. - metode n bucl nchis - abordare care curpinde trei pri a% monitorizarea sistemului, pentru a detecta c"nd i unde se produce congestia( b% trimiterea acestor informaii ctre locurile unde se pot e$ecuta aciuni. c% ajusteaz funcionarea sistemului pentru a corecta problema. Jetricile folosite pentru monitorizare sunt' lungimea medie a cozilor de ateptare, numrul de pachete care sunt retransmise pe motiv de time out, procentul din totalul pachetelor care au fost distruse #din cauza lipsei spaiului temporar de memorare%, nt"rzierea medie a unui pachet. Algoritmii n bucl deschis pot aciona' - asupra sursei #fereastra glisant, gleata gurit, gleata cu jeton% - asupra destinaiei #formarea traficului - negocierea parametrilor de transfer% Algoritmii n bucl nchis sunt' - cu reacie invers implicit - cu reacie invers e$plicit :a cei cu reacie invers implicit sursa deduce e$istena congestiei din observaii locale, cum ar fi timpul necesar pentru ntoarcerea pachetelor de confirmare, iar la cei cu reacie invers e$plicit, pachetele sunt trimise napoi de la locul congestiei ctre surs pentru a o avertiza. n literatur #vezi A. )anenbaum KHeele de calculatoareL%cei mai cunoscui algoritmi pentru controlul congestiei sunt' - gleata gurit( - gleata gurit cu jeton( - controlul n subreele bazate pe circuite virtuale' - controlul admisiei - stabilirea de noi circuite virtuale - negocierea traficului - volumul de date - calitatea serviciului - pachete de oc - pachete oc cu salt - cozi echitabile ponderate mprtierea ncrcrii - politica vinului - politica laptelui - protocolul de rezervare a resurselor

S-ar putea să vă placă și