Sunteți pe pagina 1din 70

CAPITOLUL 11.

Comutaia de pachete

Apariia i dezvoltarea comutaiei de pachete se datoreaz interesului manifestat de diverse firme i administraii n identificarea unei soluii eficiente de implementare a reelelor de date cu grad sczut de vulnerabilitate, care s utilizeze superior, fa de varianta cu comutaie de circuite, resursele ncorporate (n principal, capacitile cilor de comunicaii). n general, criteriul de vulnerabilitate a fost satisfcut prin realizarea acestor reele n configuraie distribuit de tip plas (figura 11.1). Creterea eficienei utilizrii resurselor s-a obinut prin nlocuirea angajrii permanente a resurselor pe durata unei conexiuni (cazul comutaiei de circuite) cu angajarea lor intermitent (respectnd mai mult sau mai puin acelai traseu), doar pentru a transmite ctre destinaie informaia util, generat n perioadele de activitate ale expeditorului.

Figura 11.1 Topologii de reele cu comutaie de pachete Un astfel de comportament, de comutare ntre stri de activitate i de repaus, este propriu transferurilor de date care, n plus, prin natura lor au impus ca transmisia prin reea s fie complet numerizat. Iniial, mediile de comunicaii cu care au fost nzestrate reelele de date se caracterizau prin capaciti sczute (de ordinul zecilor de Kbit/sec) i nivel de

zgomot ridicat. ns aceste aspecte nu au mpiedicat dezvoltarea reelelor, pentru c transferurile de date prezint o sensibilitate sczut la ntrzieri. Ulterior, odat cu creterea calitii liniilor de date precum i cu progresul conceptual nregistrat n domeniul comutaiei, s-a urmrit diversificarea ariei de aplicaii acoperite de astfel de reele care n prezent comut, alturi de date, semnale vocale i video caracterizate prin sensibilitate ridicat la ntrzieri. Un nod al unei reele cu comutaie de pachete este un sistem informaional, dotat cu un calculator de comand, a crui principal sarcin este aceea de a comanda i controla transferul fluxurilor numerice recepionate pe o linie de intrare pe una sau pe mai multe din liniile sale de ieire (funcie de tipul difuzrii: punct la punct, punct-multipunct). Nu este o terminologie standard pentru asemenea calculatoare de comutaie, ele fiind denumite noduri de comutaie de pachete, sisteme intermediare, centrale de comutaie de date sau cel mai adesea rutere. Realizarea transferului presupune n mod obligatoriu nlnuirea a dou operaii: memorare i retransmisie. Operaia de memorare asigur i compensarea diferenelor dintre viteza de recepie i cea de transmisie. Alegerea liniilor de ieire se face dup o anumit regul care este specificat n algoritmul de rutare cu care este nzestrat reeaua corespunztoare (capitolul 1: nivelul reea din modelul OSI). Fluxul informaional este compus din pachete (de unde deriv i denumirea tehnicii de comutaie), care reprezint blocuri informaionale de lungimi convenabil alese, obinute prin fragmentarea secvenelor de date (mesajelor) generate de surse n perioada de activitate. Introducerea operaiei suplimentare de fragmentare a mesajelor a fost necesar pentru a reduce capacitile de memorare din elementele de comutaie, timpii de tranzit prin reea i numrul mesajelor recepionate eronat.

11.1 Modul de transfer cu comutaie de pachete Conform cu modelul OSI, nivelul reea are menirea de a transfera informaia de la surs la destinaie de-a lungul cilor de comunicaie de care dispune. Aceasta nseamn c nivelul reea furnizeaz nivelului transport, ca servicii, legturi ntre surse i destinaii, care se prezint ca nite "conducte" (pipeline), ascunznd astfel nivelurilor superioare drumul fizic prin reea.

Figura 11.2 Funcia reelei n modelul OSI Pentru a putea ndruma datele prin nodurile intermediare, nivelul reea trebuie s cunoasc ct mai exact topologia reelei. De asemenea, pe baza acestor informaii, trebuie s aleag rutele care ofer caracteristici optime din punctul de vedere al costului, al siguranei de ndrumare i al timpului de transfer. Nivelul reea, aa cum s-a afirmat mai sus, este un furnizor de servicii pentru nivelul transport. Aceste servicii au fost gndite astfel nct: - s "ascund" tehnologia folosit n cadrul subreelei, serviciile fiind aceleai pentru orice tip de reea, - s ofere o interfa independent de numrul, tipul si topologia subreelelor prezente n reea,

- s pun la dispoziia nivelului transport adrese de reea care s aparin unui plan standard de numerotare, mai ales atunci cnd reele sunt de mari dimensiuni (tip WAN - Wide Area Network). Adoptnd un anumit mod de transfer al informaiei, serviciile se clasific n: 1. servicii orientate pe conexiune: 2. servicii fr conexiune: - cu comutaie de circuite, - cu comutaie de pachete, - cu comutaie de pachete. 1. Transferul prin comutaia de circuite ntlnit n reelele telefonice clasice, dar i n NISDN, pune la dispoziia unei conexiuni, pe toat durata acesteia, un circuit fizic sau o cale temporal pe un circuit partajat. Circuitul este stabilit n faza de iniiere a conexiunii i este dedicat acesteia n mod continuu, indiferent dac se transmit sau nu informaii pn n momentul eliberrii sale. 2. Transferul fr conexiune cu comutaie de pachete (datagrame) permite fiecrui pachet s tranziteze individual prin reea ntre surs i destinaie. Pentru aceasta fiecare pachet poart cu el i informaia referitoare la destinatar, astfel nct transferul su prin reea nu va depinde de felul n care a fost rutat predecesorul su. Folosirea serviciului de tip datagrame presupune existena unor protocoale mult mai sofisticate dect n cazul comutaiei de circuite, reeaua rezultat fiind ns mai robust fa de situaiile de congestie sau fa de defectrile nodurilor. 3. Transferul prin comutaia rapid de pachete, numit mod de transfer asincron, ATM (Asynchronous Transfer Mode), este un concept care mbin comutaia de pachete cu comutaia de circuite. Termenul "asincron" din denumire nu este legat de caracterizarea transmisiei pe mediul fizic, aceasta fiind sincron SDH (Synchronous Digital Hierarchy) sau plesiocron PDH (Plesyochronous Digital Hierarchy), ci se refer la alocarea intervalelor temporale (slot-uri) n interiorului cadrului numeric ce se transmite. n acest sens, tehnica ATM permite ca, de la un cadru la altul, fluxul informaional provenit de la o surs s poat ocupa slot-uri diferite i n numr diferit. Rezult astfel o flexibilitate foarte mare,

lucru ce explic alegerea ATM ca tehnic de comutaie att pentru B-ISDN, ct i pentru interconectarea de LAN-uri. Principalele caracteristici ale modului de transfer ATM sunt: - Sistemele ATM opereaz cu pachete de lungime constant, numite celule ATM. Fiecare celul conine un antet (header) de 5 octei i un cmp informaional de 48 octei. Dimensiunea relativ mic a celulei conduce la valori acceptabile pentru probabilitatea de eroare i pentru timpul de propagare. Lungimea fix a celulei faciliteaz realizarea material a comutatoarelor i obinerea unor viteze mari de comutaie. - Tehnica ATM este orientat pe conexiune, permind realizarea hardware a comutaiei pe baza unui numr restrns de informaii coninute n header i garantnd secvenialitatea fluxului informaional transferat. Aceasta nseamn c toate pachetele aparinnd unui flux informaional urmeaz acelai traseu (ir de comutatoare), care este stabilit n faza de iniiere, ce precede transferul efectiv al celulelor ATM. ns iniierea unei conexiuni este condiionat de rezultatul unei negocieri prealabile, n care utilizatorul comunic reelei care sunt cerinele sale, exprimate ca indicatori de calitate: debit maxim, ntrzieri maxime admise, erori acceptate etc. Ca urmare, reeaua stabilete dac are resurse suficiente pentru a garanta calitatea cerut. n caz contrar, ea refuz conexiunea sau propune alte niveluri de calitate, pe care utilizatorul, la rndul lui, le accept sau nu. Dac rezultatul final al negocierii este afirmativ, abia atunci se trece la faza de iniiere a conexiunii, n care se stabilesc resursele folosite pentru legtur: canalele virtuale, VC (Virtual Channel), i fasciculele virtuale, VP (Virtual Path). Fiecrui element-resurs i se aloc un identificator, de exemplu VCj i VPk. Transferul ntr-o reea ATM presupune modificarea n cadrul centrelor de comutaie tranzitate a valorilor nscrise n perechea (VP, VC) din header-ul unei celule, n funcie de cile de ieire alese pentru ndrumarea acesteia. Acest tip de comutaie este asemntor cu comutaia spaial. Dac mai multe celule provenite din fluxuri diferite doresc aceeai ieire, comutatorul le pune ntr-o coad de

ateptare de unde vor fi pe rnd extrase i emise pentru a-i continua drumul spre destinaie. n cadrul negocierilor prealabile, orice comutator ATM este capabil s garanteze o probabilitate redus de pierderi de celule datorat blocajelor interne. - Controlul erorilor legate de cmpul informaional se face "cap la cap" (pe nivelul transport corespunztor modelului OSI), adic doar la receptor, eliminnd verificrile fcute n fiecare nod de pe traseul legturii. Aceast soluie duce la o procesare mai rapid a pachetului. Motivul renunrii la controalele intermediare este acela c noile medii de transport (de exemplu fibra optic) pot asigura uor probabiliti de eroare ordinul 10-10. - Controlul erorilor "pe traseu" vizeaz numai header-ul. Celulele n care se detecteaz mai mult de o eroare sunt eliminate. Celulele cu doar o singur eroare detectat sunt corectate. - Nu exist mecanisme de retransmisie cap la cap. Modul de transfer utilizat de un anumit nod de comutaie se alege pe baza unui compromis stabilit ntre complexitatea realizrii practice i aria serviciilor asigurate. Astfel, comutaia prin circuitele virtuale permite folosirea unor pachete care poart cu ele doar numrul circuitului virtual ales n locul unor informaii complete despre destinatar. Aceste informaii referitoare la traseul conexiunii pot duce n anumite aplicaii la creterea semnificativ a debitului datelor ce trebuie transportate. n plus, tehnica cu canale virtuale poate conduce la ocuparea unui volum semnificativ din memoria unui nod pentru nregistrarea tabelelor de rulare. Alegerea modului de transfer trebuie s in seama de tipul de trafic pentru care este gndit reeaua. n consecin, pentru serviciile de tip tranzacional, unde sesiunea de comunicaie este de scurt durat, timpul de stabilire / eliberare a conexiunii virtuale devine prohibitiv, astfel nct sunt de preferat servicii de tipul fr conexiune. n schimb, pentru transferul unor cantiti mari de date (de exemplu transferul de fiiere) circuitele virtuale sunt indicate. Vulnerabilitatea este un alt aspect deficitar al comutaiei prin circuite virtuale, deoarece defectarea sau saturarea unui nod al reelei compromite toate

legturile care l tranziteaz. Acest dezavantaj poate fi nlturat cu preul creterii complexitii reelei, n sensul completrii acesteia cu o competent inteligen care s coordoneze reconfigurarea dinamic a circuitelor n funcie de informaiile de funcionare culese de la nodurile reelei. n cazul datagramelor, datorit faptului c fiecare pachet este ndrumat separat, defectarea uni nod afecteaz doar un numr redus de pachete. Comutaia rapid de pachete (ATM) pare a fi n acest moment soluia cea mai performant. Datorit modului n care a fost conceput, tehnica ATM prezint o flexibilitate care permite n principiu satisfacerea oricrui tip de serviciu existent sau viitor. Prin folosirea ATM, reeaua poate deservi utilizatori cu cerine de trafic foarte diferite, plecnd de la servicii de tip telemetrie i fax pn la televiziune de nalt definiie. Se ajunge astfel la conceptul de "reea universal", dar pentru implementarea ei trebuie nlturat o principal economic important, anume costul ridicat al investiiilor. Trecerea n revist a tehnicilor de comutaie utilizate n prezent n reelele de telecomunicaii a pus n eviden o serie de caracteristici distincte. Coninutul tabelului 11.1 prezint ntr-o manier sintetic aceste caracteristici, punnd accentul asupra modului n care fiecare tehnic rezolv principalele aspecte legate de serviciile pentru care a fost conceput. Tabelul 11.1 Tehnici de comutaie i caractere specifice
COMUTAIA DE CIRCUITE Iniializarea circuitului Informaii de adres pentru surs l destinaie Rutarea n reea Controlul congestiei Secvenialitatea pachetelor Negocierea parametrilor necesar necesare numai la iniializare ruta se stabilete la iniializarea legturii se face la nivelul fiecrui circuit virtual traversat garantat este posibil COMUTAIA DE PACHETE nu este necesar exist n cadrul fiecrui pachet individual, la nivel de pachet nu se face la nivel de pachet nu este garantat nu exist COMUTAIE RAPIDA DE PACHETE (ATM) necesar necesare numai la iniializare ruta se stabilete la iniializarea legturii se face "cap la cap" garantat se face la iniializarea legturii

Performanele unei

reele pot fi compromise atunci

cnd

numrul

pachetelor n tranzit depete capacitile de prelucrare ale resurselor ncorporate. Cauzele care conduc la atingerea unei asemenea situaii, denumit congestie, sunt diferite i destul de numeroase. Astfel, dac centrele de comutaie proceseaz prea lent pachetele, atunci memoriile tampon de la intrri se umplu cu pachete n ateptare, iar pachetele excedentare sunt pierdute. Acelai fenomen se poate produce i n memoriile de pe ieiri, dac nodurile scot mai multe pachete dect pot accepta transmitoarele din liniile de ieire. De asemenea, viteza cu care sunt mprosptate tabelele de rutare influeneaz congestia. Eliminarea situaiilor de aceast natur se face prin nzestrarea reelei cu funcii speciale destinate controlului de flux i controlului de congestie. Rolul controlului de congestie este de a obliga nodurile s acioneze astfel nct s nu se ncarce excesiv reeaua, n timp ce prin controlul de flux se trateaz relaia productor-consumator, realiznd un mecanism de reacie ntre un emitor de pachete i receptorul corespunztor. Mecanismul de reacie face ca emitorul s nu ofere trafic mai mare dect poate primi receptorul.

11.2 Algoritmi de rutare Funcia principal a nivelului reea este aceea de a ndruma pachetele de la surs pn la destinaie. De-a lungul acestui traseu, pachetele trec prin mai multe noduri de comutaie. Algoritmii de rutare aparin acelei componente a nivelului reea care are rolul de a decide, pentru un pachet care a intrat ntr-un anumit nod, care este linia de ieire. Dac reeaua folosete un serviciu de tip datagrame, aceast decizie este luat pentru fiecare pachet de date n parte. Dac reeaua lucreaz cu circuite virtuale, decizia de rutare este luat doar n faza de iniializare a circuitului, toate pachetele urmnd ruta prestabilit. Algoritmii de rutare trebuie s ndeplineasc o serie de cerine:

- exactitate, - simplitate, - flexibilitate, adic s fie capabile s se adapteze la schimbrile care survin n reea, - stabilitate, adic s convearg ct mai repede ctre un optim, - s fie echitabile fa de toi clienii, adic s nu favorizeze anumii utilizatori, - s fie optime relative la numite criterii precum: - numrul de salturi n reea (numrul de noduri parcurse pn la destinaie); - distana ntre surs i destinaie; - timpul mediu de ateptare n tampoanele transmitoarelor aferente traseului precum i duratele de propagare pe arcele (link-urile) implicate; - costul comunicaiei (fiecare link are un cost asociat); - durata propagrii (se determin cu ajutorul unor "pachete ecou" ce sunt returnate ct de repede se poate de nodul receptor ctre surs). Algoritmii de rutare pot fi grupai n dou clase principale: I. algoritmi adaptivi - care au capacitatea de a lua decizii bazate pe msurtori i estimri de trafic n timp real. Rularea adaptiv poate fi: - centralizat, atunci cnd exist un singur nod care ia deciziile de rutare pentru toat reeaua; - local (izolat), atunci cnd nodurile iau decizii de rutare n mod individual, fr a avea informaii despre situaia din restul reelei; - distribuit, atunci cnd deciziile luate de ctre fiecare nod sunt bazate pe un schimb de informaii realizat de ctre nod cu vecinii si. II. Algoritmi neadaptivi care nu au posibilitatea s in seama de starea prezent a reelei. n cazul rutrii neadaptive, tabelele de rutare sunt stabilite la punerea n funciune a reelei, pe baza unor date estimative referitoare la reea, i sunt fixe pe toat durata de aplicare. n principiu un algoritm fix se modific doar

la sesizarea unor schimbri majore n caracteristicile traficului deservit de reea sau n structura reelei. Este evident c n anumite perioade, datele estimative luate n considerare la proiectarea algoritmilor fici de ndrumare s difere mult de datele reale culese din reea, ceea ce conduce n funcionare la situaii de blocare mai mult sau mai puin grave. Exist posibilitatea de a mbunti performanele unei reele ce funcioneaz dup o ndrumare fix, prin aplicarea procedurii de ndrumare multiperiodic; se construiesc mai muli algoritmi de ndrumare pentru aceeai reea, fiecare fiind valabil pe o anumit perioad de timp de funcionare a reelei, caracterizat de o anumit ncrcare de trafic i de distribuie a acestuia. Fiecare algoritm este fix i se aplic n mod exclusiv pe perioada pentru care a fost construit, trecerea pe un alt algoritm, fcndu-se n mod automat la expirarea perioadei de valabilitate.

11.2.1 Introducere n teoria grafurilor Modelarea reelelor de comunicaii, n vederea stabilirii planurilor de ndrumare i realizrii analizelor de performane se execut ntr-o manier simpl i deosebit de avantajoas cu ajutorul grafurilor. Ideea este de a construi graful unei reele, n care fiecare nod al grafului reprezint un centru de comutaie (un nod) al reelei, iar fiecare arc al grafului reprezint o linie de comunicaie (denumit adesea link). Pentru a gsi un drum (o rut) de-a lungul reelei ntre o pereche dat de centre de comutaie, este suficient a determina, cu un algoritm adecvat, drumul cel mai scurt prin graf ntre nodurile corespunztoare. Drumul cel mai scurt prin graf are o mulime de nelesuri, n funcie de elementul considerat ca msur a acestui drum: numr de salturi (tranzite), distan fizic ntre noduri, lungimea irului de ateptare anexat link-ului, ncrcarea link-ului, lime de band afectat, costul de comunicaie, ntrzierea de transmisie etc.

nainte de a prezenta principiile diferiilor algoritmi folosii n stabilirea rutelor optime prin reele (prin grafurile asociate lor), se impune a fi precizate noiunile fundamentale specifice teoriei grafurilor [MINOU 85]. Un graf G = [X, U] este determinat prin dou mulimi: - mulimea X a nodurilor (vrfurilor), numerotate cu i = 1,2,...,N. Dac N este numrul total al nodurilor, N = card X, atunci se spune c graful G este de ordinul N; - mulimea U a arcelor u. Un arc u U este o pereche de noduri ale grafului G, u = (i, j). Se noteaz prin crd U = M dimensiunea mulimii arcelor. n reprezentare grafic vrfurile se deseneaz printr-un punct sau chiar un cerc, iar arcele prin linii (drepte sau curbe) cu sau fr sgei, dup cum graful este orientat sau neorientat (figura 11.3). Graful neorientat este graful n care perechile de noduri care definesc un arc sunt neordonate. De exemplu perechile (i, j) i (j, i) definesc acelai arc ntr-un graf neorientat. Graful orientat este graful n care perechile de noduri care definesc un arc sunt orientate. De exemplu pentru arcul (i, j): i este nodul surs (extremitatea iniial) a arcului, iar j este nodul destinaie (extremitatea terminal) a acestuia. Un arc ale crui extremiti coincid este o bucl.

Figura 11.3 Graf orientat cu 5 noduri i 9 arce (exemplu) Graful complet este graful n care pentru orice pereche de noduri i i j exist cel puin un arc de forma (i, j) sau (j, i). Cu alte cuvinte graful complet conine

numrul maxim posibil de arce ntre cele N noduri ale sale. Pentru un graf neorientat, numrul maxim de arce este N(N-1)/2, iar pentru un graf orientat numrul maxim de arce este N(N - 1) . Densitatea grafului este raportul ntre numrul arcelor sale i numrul arcelor din graful complet avnd acelai numr de noduri cu el. Astfel n cazul grafului orientat densitatea este

M , iar pentru graful neorientat densitatea N ( N 1)

este de 2 ori mai mare. Trebuie precizat c n general, n aplicaiile practice grafurile au un numr important de noduri, dar totui o densitate sczut. Aceasta face ca algoritmii folosii n diferite scopuri s poat fi uor folosii, numrul necesar de iteraii pentru obinerea soluiilor fiind mic.
Se spune c j este succesorul lui i dac exist un arc pentru care

extremitatea iniial este i iar cea terminal este j, adic u = (i, j). Ansamblul succesorilor unui nod i X se noteaz prin i i reprezint aplicaia multivoc a nodului respectiv. De exemplu pentru graful din figura 11.3 aplicaiile multivoce sunt: 1 ={2,3} , 2 ={3,4} , 3 ={4} , 4 ={3,5} i 5 ={3,5} .
Se spune c j este predecesorul lui i dac exist un arc u = (j, i). Ansamblul

predecesorilor unui nod i X se noteaz prin i1 i reprezint aplicaia reciproc


multivoc a nodului respectiv. Pentru exemplul din figura 11.3 aplicaiile

reciproce pentru cele 5 noduri sunt:


51 ={4,5}.

21 ={l}, 31 ={l,2}, 41 ={2,3} i

Drumul

P este

secven

de

arce u1 = (i, i1 ) , u 2 = (i1 , i2 ) , ...,

u q = (iq 1 , j ) , definit ca P = {u1 , u 2 ,..., u r ,..., u q }, astfel nct o extremitate a arcului ur al secvenei ( 2 r q 1 ) este comun cu arcul ur-1, iar cealalt extremitate este comun cu arcul ur+1. Nodul i este extremitatea iniial a drumului, iar nodul j este extremitatea sa final. Aceasta nseamn c, n czui grafurilor simple (care conin cel mult un singur arc ntre oricare pereche de noduri), un drum poate fi descris prin succesiunea nodurilor pe care el le parcurge n ordine: {i, i1 ,...iq 1 , j}. Dac ne

referim la acelai exemplu din figura 11.3, atunci ntre nodurile 1 i 4 se pot urma drumurile P1 = {1,2,4}, P2 = {1,2,3,4} sau P3 = {1,3,4} . Toate aceste drumuri sunt
drumuri elementare, pentru c n parcurgerea lor nu se ntlnete de dou ori

acelai nod. Lungimea drumului se exprim prin numrul arcelor componente sau prin sumarea unor parametrilor afereni acestor arce (lungime fizic, timp de propagare a semnalelor, cost etc.).
Circuitul este un drum ia care extremitile coincid. Graful conex asigur un drum pentru fiecare pereche de noduri, exist de

acces ntre ele.


Arborele este un graf orientat care nu conine bucle (cicluri) i pentru care

sunt valabile urmtoarele proprieti: - exist un singur nod, numit rdcin, spre care nu este dirijat nici un arc, - pentru orice nod diferit de rdcin exist un singur arc dirijat spre el, - orice nod este accesibil dinspre rdcin pe un singur drum. n descrierea, modelarea i analiza reelelor, algoritmii de baz utilizai urmresc descoperirea arborilor caracteristici lor. Dintre motivele pentru care arborii sunt utilizai ca baz n numeroi algoritmi i tehnici de modelare i analiz, se pot enumera urmtoarele: - arborii sunt reele minimale, asigurnd conectivitate fr a folosi link-uri suplimentare; - furnizeaz o cale unic ntre fiecare pereche de noduri, eliminnd problemele de rutare.

11.2.2 Algoritmul Kruskal pentru arborele minim

n procesul de optimizare a ndrumrilor este util s se cunoasc drumul cel mai scurt prin reea care interconecteaz toate nodurile unei reele. Acest drum este denumit arbore minim i constituie totdeauna un element de comparaie pentru

orice drum real dintre dou noduri oarecare ale reelei, n general, un arbore este un graf conex fr cicluri. n stabilirea arborelui minim se pleac de la cunoaterea grafului reelei i a lungimii fiecrui arc. Algoritmul se compune din executarea etapelor urmtoare: - se ordoneaz arcele dup lungimea lor n sens cresctor. - cel sau cele mai scurte arce fac parte din arborele minimal. Se formeaz astfel subarborele iniial i se elimin din list arcul sau arcele astfel considerate. - dintre arcele rmase n list se aleg n continuare cel sau cele mai scurte (de aceeai lungime) care nu formeaz un ciclu cu subarborele precedent. Se obine astfel un al doilea subarbore. - se continu n acelai mod pn ce au fost reinute cele N-1 arce arborelui minimal.
Aplicaia 11.1

Se consider o reeaua cu 7 noduri de comutaie, ce sunt interconectate conform grafului din figura 11.4(a). Determinai arborele minim al acestei reele.

Figura 11.4 (a) graful reelei; (b) arborele minim Rezolvare: ordonarea arcelor dup lungimea lor, exprimat n uniti convenionale este urmtoarea:

Lungime: Arc:

9 10 11 13 AC AB BC BF DE AF CD CG AG AD AE EF BG DG DF CE EG

infinit Toate arcele care nu exist (de exemplu BD, CF etc.)

ncepnd cu cel mai scurt arc (AF = 3) sunt considerate toate arcele grafului, n ordinea cresctoare a lungimii lor, eliminndu-se cele care nchid contururi mpreun cu cele anterior reinute (n tabel sunt subliniate arcele reinute). Arborele care rezult n urma aplicrii algoritmului este reprezentat n figura 11.4(b); acest arbore are lungimea: L = 3 + 24 + 5 + 8 = 31 *** Trebuie precizat ca o observaie important c arborele minim nu reprezint drumul cel mai scurt prin reea pentru orice pereche de noduri. El poate fi doar un ghid n aprecierea eficienei drumurilor prin reea: nici un drum real ntre dou noduri oarecare ale reelei nu trebuie s fie mai lung dect arborele minim.

11.2.3 Algoritmi pentru drumul cel mai scurt

n definirea unui algoritm de rutare optim se urmrete minimizarea unei funcii de cost al reelei, plecnd de la cunoaterea costului individual pe arc. Fiind dat graful G = [X, U], unde X este mulimea nodurilor i U este mulimea arcelor din graf, pentru fiecare arc u U, care unete dou noduri i,jX se asociaz mrimea l(u) = lij (ce poate reprezenta o distan, un cost, un timp etc.) avnd valori reale. Pe baza acestor mrimi, se poate calcula lungimea drumului
cel mai scurt dintre o surs i o destinaie:

D = l (u )
u

(11.1)

adic prin considerarea lungimilor tuturor arcelor nlnuite n acest drum. Drumul minim este cu siguran ales dintre mai multe drumuri elementare posibile ntre perechea de noduri (surs - destinaie) considerate.
11.2.3.1 Algoritmul Bellman-Ford-Moore

Ecuaia Bellman-Ford-Moore care exprim principiul de optimizare a drumului de la o surs k la un nod oarecare i, este:
min ( Dkj + l ji ) pentru i k Dki = ( j ) pentru i = k 0 (11.2)

n ecuaia (11.2) Dki este lungimea drumului minim de la sursa k la destinaia i, iar j este un alt nod al reelei, care este adiacent destinaiei, aflndu-se la distana cunoscut lji fa de aceasta, i pentru care se tie cu certitudine c Dkj este minim (figura 11.5). (adiacenta a dou noduri este materializat prin existena un arc ntre ele.) Dac Dkj nu ar fi drum minim, atunci cu siguran c alt nod intermediar j ar fi fost considerat. Sursa este totdeauna la distana 0 fa de ea nsi.

Figura 11.5 Trasee de acces ntre o pereche de noduri k - i Ecuaia (11.2) face parte dintr-un sistem de ecuaii de optimizare care consider ca surs i respectiv ca destinaie toate cele N noduri ale reelei (i, j, k = 1.....N).
Algoritmul Bellman-Ford-Moore (1957) impune ca fiecrui nod s i se

asocieze o etichet ( p k (i ), Dki ) , coninnd dou cmpuri:

- cmpul pk (i ) - precizeaz identitatea nodului precedent (predecesor), aflat pe drumul de la nodul surs k la nodul curent i,

- cmpul Dki - distana de la nodul surs pn la nodul curent, de-a lungul celui mai bun drum cunoscut.

Figura 11.6 Exemplu de aplicare a algoritmului Bellman-Ford-Moore Iniial, nici o cale nu este cunoscut, deci n mod convenional, etichetele provizorii ale tuturor nodurilor sunt (-1.-1), mai puin eticheta nodului surs k, aceasta fiind evident (k,0). Eticheta sursei este considerat valid i nu se va modifica ulterior (figura 11.6).

Etichetele provizorii ale nodurilor se modific iterativ pe msur ce se deruleaz procedura de minimizare a drumului, ajungnd evident la o form final, dup un numr de pai de rulare a algoritmului. Un pas de rulare se efectueaz pentru un nod anumit al grafului. El presupune considerarea tuturor succesorilor lui i reactualizarea etichetelor. Reactualizarea etichetelor se "judec" pe baza comparaiei dintre vechile
* distane Dki ale nodurilor i noile distane Dki , ce sunt calculate pe trasee care

includ nodurile predecesoare i care dein valori valide n etichetele lor. O valoare este considerat valid dac ea s-a pstrat n iteraia anterioar. Distana i identitatea predecesorului vor fi modificate numai dac

Dki = 1sau

* * dac Dki Dki unde Dki = Dki + l ji cu j -1. Altfel, se pstreaz eticheta de la pasul

anterior. Numrul maxim de iteraii care trebuie a fi executate n cadrul algoritmului pentru identificarea drumul minim de la o anumit surs este N-1.
Aplicaia 11.2

Utilizai algoritmul Bellman-Ford-More pentru stabilirea celor mai scurte drumuri pentru reeaua cu 6 noduri din figura 11.6.
Indicaie: In figura 11.6 sunt precizate cele 5 reactualizri ale etichetelor

nodurilor raportate la nodul 1 considerat ca surs; prima reactualizare se face n raport cu sursa i evident sunt modificate etichetele celor 3 succesori ai acesteia: nodurile 2, 3 i 4. De fiecare dat se marcheaz cu stelu (*) etichetele modificate i se deseneaz cu linie ngroat arcul participant la drumul minim curent, stabilit pn n acel moment. Fiecare reactualizare se execut fa de un anumit nod intermediar; nodul respectiv este marcat printr-un cerc suplimentar. Dac distana pn la surs, considernd acest nod ca predecesor este mai mic pentru un nod oarecare dect la pasul anterior, atunci eticheta lui se modific; n caz contrar sau de egalitate, se menine eticheta anterioar.

Dup cinci reactualizri s-a obinut drumul minim care leag nodul surs nr.1 cu toate destinaiile lui, celelalte noduri ale grafului. Acest drum este desenat cu linie groas continu, iar cu linie ntrerupt sunt desenate arcele care nu sunt folosite n cuprinsul acestuia. *** Rezultatul stabilirii tuturor drumurilor cele mai scurte pentru un graf se concentreaz ntr-o matrice de rulare: = {pk (i )} fiecare destinaie, pe traseul drumului cel mai scurt.
Aplicaia 11.3

(11.3)

n care fiecare linie corespunde unei surse i precizeaz predecesorii pentru

Determinai matricea de rute pentru reeaua din aplicaia anterioar.


0 2 4 = 4 4 4 1 5 1 4 5 0 2 2 4 5 3 0 5 3 5 4 5 0 4 5 4 5 5 0 5 4 5 5 6 0

Rezolvare: Matricea de rute este precizat alturat. n general, introdus ntro baz de date, ea poate fi folosit n identificarea drumului ntre orice surs i spre orice destinaie din reea; de exemplu: - plecnd de la sursa 4 spre destinaia 3, se urmeaz traseul: 4-5-3; - de la sursa 6 la destinaia 2 se urmeaz traseul: 6 - 5 - 4 2. - de al sursa 1 la destinaia 5 se urmeaz traseul: 1 4 5. * * *

Aplicaia 11.4

Determinai arborele minim pentru reeaua din figura 11.6 i comparai lungimea lui cu distanele dintre noduri msurate pe drumurile minime.
Aplicaia 11.5

Precizai care sunt tabelele de rutare folosite n reea, corespunztor drumurilor minime deduse n aplicaia 11.2.

Rezolvare: pentru nodul nr.1 sunt necesare doar 2 fascicule diferite de


jonciuni, pe care sunt ndrumate comunicaiile pentru toate cele 5 destinaii diferite din reea, conform drumului minim precizat anterior; tabela de rutare are coninutul urmtor:
Nod de destinaie nr. Fascicul de ieire nr. 2 1 3 2 4 2 5 2 6 2

***
11.2.3.2 Algoritmul Dijkstra

Algoritmul Dijkstra, utilizat prima dat n reeaua ARPANET (1959), este o variant simplificat i perfecionat a algoritmului Bellman-Ford-Moore. El se bazeaz pe afirmaia urmtoare: dac nodul k este parte a drumului cel mai scurt ntre nodurile i i j, atunci drumul cel mai scurt ntre i i j trebuie s rezulte din calea cea mai scurt ntre i i k urmat de calea cea mai scurt ntre k i j. nseamn c de fapt ar rezulta o formul de optimizare de forma:

Dij min ( Dik + Dkj ) (k )

(11.4)

i c n derularea algoritmului Bellman-Ford-Moore se poate aduce o simplificare esenial: dup prima reactualizare a etichetelor se va considera ca nod "activ"

succesorul sursei care deine o etichet minim (cel ce prezint distana cea mai
mic pn la surs); cu siguran c acest succesor se va afla pe drumul cel mai scurt. Acesta va fi nodul de referin n pasul urmtor, toate etichetele succesorilor lui putnd s fie acum reactualizate etc.

Aplicarea algoritmului se ncheie atunci cnd au fost parcurse toate arcele reelei, fr ns a fi necesar ca toate nodurile s fie pe rnd considerate ca noduri active.
Aplicaia 11.6

Reluai aplicaia 11.2 folosind algoritmul Dijkstra.

Indicaii: considernd ca surs nodul nr.1, algoritmul se desfoar conform


figurii 11.7. n fiecare pas de aplicare al algoritmului nodul activ este haurat, iar toate etichetele reactualizate ale nodurilor succesoare sunt marcate cu stelu (*). Iniial, cum nu se cunoate nici o cale, etichetele provizorii ale nodurilor au forma (i, ) , deoarece orice nod i se afl deocamdat la o distan infinit de mare fa de surs. Eticheta sursei k este evident de forma (k, 0), deoarece un nod este ntotdeauna la distana nul fa de el nsui.

Figura 11.7 Aplicarea algoritmului Dijkstra (exemplu)

Pe msur ce algoritmul se deruleaz, etichetele provizorii se reactualizeaz, cptnd o form final la identificarea participrii nodurilor la drumul minim. Arcele grafului, ce sunt considerate n procesul de stabilire a drumului minim sunt desenate cu linie ngroat n figura 11.8. Ultima schem, reactualizarea 5, nu aduce nici o modificare a etichetelor fa de iteraia anterioar, dar ea a fost necesar doar pentru a considera i ultimul arc (2 - 3) al grafului. Pe aceast schem este marcat cu linie groas continu drumul minim, iar cu linie ntrerupt arcele care nu particip la el. Concluzia care se desprinde este aceea c prin aplicarea algoritmului Dijkstra exist ansa ca, pentru grafuri mari i dense s se obin drumul minim mai rapid dect prin folosirea algoritmului Bellman-Ford-Moore.
Aplicaia 11.7

Pentru grafurile din figura 11.8 determinai: arborele minim, drumurile cele mai scurte pentru toate destinaiile i matricea de rute corespunztoare.

Figura 11.8 Grafuri propuse pentru analiz ***

11.3 ndrumare local

n conformitate cu procedura de ndrumare local, deciziile de rutare se iau de ctre fiecare nod n parte pe baza propriilor informaii, ce au fost culese local, n mod individual i independent de restul nodurilor din reea. Nu exist un arbitru

care s supravegheze activitatea nodurilor, care s permit luarea unor decizii optime de rutare la nivelul ntregii reele. Datorit acestui fapt, este posibil ca deciziile individuale ale nodurilor s duc la situaii n care varianta care este aleas ca fiind cea mai bun pentru un nod s fie pentru un alt nod cu totul dezavantajoas. Totui trebuie remarcat faptul c fiecare nod ncearc ca n luarea propriilor decizii de ndrumare s se adapteze la schimbrile de trafic din reea, dar la acele aspecte pe care el nsui le poate observa n mod direct; se poate aprecia deci c are loc o ndrumare adaptiv local. n continuare sunt prezentai principalele caracteristici ale algoritmilor folosii n ndrumarea local.

11.3.1 Algoritmul "cartofului fierbinte"

Atunci cnd un pachet nou apare ntr-un nod, care este provenit din reea sau de la surse proprii i care nu i este adresat, aplicarea algoritmului "cartofului
fierbinte" (hot potato - la pomme de terre bruillante) face ca nodul s se

debaraseze ct mai repede de el. Pachetul va fi plasat ntr-un ir de ateptare al unei linii de ieire oarecare, pentru a fi ndrumat n reea, fr ca nodul respectiv s se preocupe de direcia n care pachetul va fi ndrumat sau dac acea direcie are vreo legtur cu destinaia pachetului. nseamn c aceast rutare nu ine cont de adresele de destinaie ale pachetelor i nici de situaia de ocupare din restul reelei. O mbuntire a utilizrii algoritmului se obine prin considerarea unor anumite criterii de alegere a liniei de ieire, cum ar fi de exemplu lungimea irului de ateptare sau gradul de prioritate al liniei. n consecin, se poate folosi una din variantele urmtoare: - pachetul nou sosit este poziionat n irul de ieire a crui lungime este cea mai mic,

- se alege aleator una din ieirile a crei coad de ateptare nu depete un anumit prag de umplere, - se alege linia de ieire cu gradul maxim de prioritate (prioritile ntre linii se stabilesc n raport cu experiena anterioar a nodului), - ordonnd liniile de ieire n dou tabele, dup lungimea cozii i dup gradul lor de prioritate, se alege ieirea ce corespunde sumei minime a celor doi parametri; valorile considerate se reactualizeaz permanent.

11.3.2 Algoritmul de autonvare "backward learning"

Ideea care st la baza acestui algoritm de autonvare "din auzite" (backward learning - savoir diffr) este aceea c se pot afla date despre nodurile vecine prin interpretarea informaiilor coninute n pachetele care sosesc dinspre acele noduri. n acest scop, fiecare pachet trebuie s conin pe lng identificatorul nodului surs i un contor care se incrementeaz la fiecare salt prin reea (trecere printr-un nod intermediar). Astfel, dac un nod primete pe linia sa de intrare nr.k un pachet provenind de la nodul X, pachet avnd contorul de salturi cu valoarea q, atunci nseamn c nodul X se afl la distana q pe drumul liniei k. Dac n memoria sa de rute, nu exist un alt drum mai scurt spre X, atunci nodul nva aceast rut spre X prin linia k, reactualiznd corespunztor tabela de rutare. Dup un anumit timp de funcionare a reelei, toate nodurile reuesc s descopere n acest fel care le sunt rutele optime ctre celelalte noduri. Dar, n acest proces de stabilire pe ansamblul reelei a rutelor optime, nu s-a putut avea n vedere ncrcarea diferitelor trasee sau chiar starea lor de nefuncionare. nseamn c definirea anumitor trasee ca fiind cele mai scurte nu este sprijinit de cunoaterea unor informaii complete asupra reelei, deci "optimul" este doar aparent sau parial corect.

Pentru a elimina pe ct posibil deciziile eronate, toate nodurile trebuie s reiau periodic activitatea de cutare a rutelor optime "uitnd" vechile trasee. n timpul acestor cutri, rutarea este suboptimal. Dac perioada este prea mare, reeaua nu se poate adapta rapid modificrilor aprute. Dac relurile sunt prea dese, timpul de convergen al algoritmului risc s nu mai fie atins, rutarea fiind continuu suboptimal.

11.3.3 Algoritmul "inundrii"

Forma extrem a rutrii locale este inundarea n care orice pachet de intrare este emis pe toate liniile de ieire din nod, cu excepia liniei pe care a sosit. Inundarea genereaz astfel un numr excesiv de mare de pachete duplicate, care, dac nu sunt luate msuri de prevedere speciale, pot conduce la apariia unor situaii nedorite de blocare a ntregii reele. Prin aplicarea algoritmului de inundare a ieirilor probabilitatea ca orice pachet s ajung n final la destinaia sa este suficient de mare, dei pachetele nu sunt orientate direct de surs pe ruta optim. Totui nu trebuie eliminat riscul congestionrii reelei n ansamblu, prin migrarea haotic a copiilor de pachete n sperana atingerii destinaiilor adecvate, i chiar a nodurilor particulare, care primesc n mod repetat aceleai pachete. Au fost create diferite mecanisme care limiteaz multiplicarea pachetelor prin procesul de inundare a ieirilor:
Varianta 1: limitarea drumului prin reea. Sursa introduce n eticheta

pachetului o informaie de contorizare, care reprezint numrul maxim de salturi (de noduri traversate) ce pot fi efectuate n reea. Acest contor va fi decrementat la fiecare tranzit suferit de pachet ntr-un nod pe ruta sa spre destinaie. Cnd valoarea contorului devine nul, pachetul este distrus.

n mod ideal, contorul se iniializeaz cu lungimea drumului dintre surs i destinaie (exprimat n numr de salturi i cunoscut eventual cu ajutorul algoritmului de autonvare). Dac sursa nu cunoate ct de mare este aceast lungime, atunci contorul poate fi iniializat pentru cazul cel mai defavorabil: distana cea mai mare din reea. Pentru a prentmpina situaiile critice, cnd o parte a reelei este n deranjament i este scoas din funciune, valorile respective ale contorului, se pot majora cu un coeficient de siguran. n plus, la destinaie este necesar inerea unei evidene a pachetelor recepionate, pentru a putea elimina copiile.
Varianta 2: verificarea identitii pachetelor primite. Fiecare surs

numeroteaz secvenial pachetele pe care le introduce n reea. De asemenea, fiecare nod i construiete liste pentru fiecare surs, coninnd numerele pachetelor deja primite. Dac un pachet se afl pe o asemenea list, atunci el va fi distrus. Pentru ca listele s nu creasc nelimitat, trebuie ca fiecare din ele s fie asociat cu un contor k. Contorul precizeaz c toate pachetele cu numr secvenial sub k au fost deja primite, deci lista complet a acestora nu mai este necesar.
Varianta 3: inundare selectiv. Nodul de tranzit nu trimite un pachet pe

orice linie de ieire, ci doar pe acelea care "conduc" pachetul n direcia aproximativ bun. Metoda poate fi aplicat doar n cazul reelelor cu structur regulat; un pachet sosit dinspre vest este orientat n direcia estic a reelei.
Varianta 4: rularea aleatoare. Pe direcia aproximativ bun, nodul de

tranzit alege la ntmplare o singur ieire (se utilizeaz superior diferitele trasee; algoritmul este foarte robust). Inundarea nu este o metod practic pentru orice aplicaie. Pentru reelele militare ea asigur o garanie sporit a meninerii comunicaiilor, dac ne gndim c n situaii conflictuale n orice moment rutele optime pot fi "distruse" i exact atunci meninerea legturilor este deosebit de important. De asemenea, inundarea este recomandat aplicaiilor de baze de date distribuite, n care este necesar

uneori reactualizarea tuturor datelor concurente. Poate cea mai important utilizare a algoritmului de inundare este aceea de a furniza o msur de comparare cu ali algoritmi: inundarea alege totdeauna calea cea mai scurt dintre mai multe ci paralele.

11.3.4 Algoritmul de rulare "delta"

Acest algoritm este o combinaie ntre rutarea centralizat i rutarea local. n mod individual, nodurile i msoar "costul" fiecrei linii i trimit periodic ctre nodul central un pachet cu datele stabilite. Costul unei linii poate reprezenta timpul de ntrziere, lungimea cozii de ateptare, debitul etc. Pe baza acestor informaii, nodul central stabilete cele mai bune n drumuri de urmat pentru fiecare pereche de noduri i i j ale reelei, precum i costurile aferente lor C1 (i, j ), C 2 (i, j ),..., C n (i, j ) . Toate aceste drumuri sunt echivalente pentru o relaie de comunicaie (i, j) pentru c au costuri comparabile, anume respectnd o abatere maxim

aceeai

pe

ntreaga

reea,

adic

C k (i, j ) C1 (i, j ) , pentru orice k = 1, n .


Nodul central, dup ce a stabilit aceste echivalene, trimite ctre fiecare nod lista drumurilor sale echivalente ctre toate destinaiile din reea, drumuri recomandate pentru rutare. De precizat c drumul nu este descris n totalitate, ci doar prin identitatea ieirii de ales pentru flecare destinaie. Rmne ca orice nod s decid singur asupra drumului efectiv ales. Alegerea se face fie ntmpltor, fie prin aplicarea unui criteriu suplimentar (eventual angajare prioritar n raport cu valoarea exact a costului). Cnd = 0, atunci nu se poate accepta dect drumul de cost minim, toate celelalte drumurile posibile fiind inferioare lui; deci doar nodul central va decide asupra rulrii, adic ne aflm n cazul rutrii centralizate. Dac , atunci toate drumurile posibile sunt judecate ca fiind echivalente i deciziile de rutare se

iau la nivelul fiecrui nod, pe baza informaiilor locale; este cazul celei mai ntmpltoare rutri locale. ntre aceste dou situaii extreme, se negociaz soluia cea mai convenabil, prin alegerea valorii parametrului , i se mparte responsabilitatea lurii deciziei de rutare ntre nodul central i toate celelalte noduri subordonate lui.

11.4 ndrumare distribuit

Dac fiecare nod al reelei are posibilitatea s schimbe cu vecinii si informaii de rutare, atunci pe baza lor i poate construi tabele de ndrumare proprii, pe care s le foloseasc n realizarea unei ndrumri distribuite. Informaiile furnizate reciproc de nodurile vecine se refer la evaluarea curent a unor parametri utili proceselor de ndrumare, generic numii "distane": timp de tranzit (msec), lungimea distanelor ntre noduri (km), lungimea irului de ateptare pe liniile de ieire (numr de pachete), capacitatea de transport a liniei de ieire (pachete/sec) etc. Dac "distana" este lungimea irului, atunci fiecare nod examineaz singur fiecare ir. Dac ns "distana" este timpul de tranzit (ntrzierea de transmisie), atunci fiecare nod trebuie s foloseasc pachete speciale de "ecou": fiecare nod primind un asemenea pachet, marcheaz timpul si l trimite napoi ct mai curnd posibil.

11.4.1 Algoritmul de "rutare optimal"

nainte de a prezenta algoritmii specifici de rutare distribuit, este util a face cteva precizri generale referitoare la rutele optime, fr a ine seama de topologia reelei sau de traficul scurs de ea.

Aceste precizri se ncadreaz n aa numitul "principiu de optimizarea, care prevede c: dac se constat c nodul J este pe calea optim care vine de la

nodul I la nodul K, atunci calea optim de la J ctre K urmeaz aceeai rut.


Consecina direct a principiului de optimizare este aceea c setul cilor optime care pleac de la toate sursele din reea i care sunt relative la o destinaie dat, formeaz un arbore cu rdcina n nodul destinaie. Acesta este numit arbore
colector i nu este cu necesitate unic. De exemplu, pentru reeaua din figura 11.9,

s-a construit arborele colector pentru destinaia B n raport cu numrul minim de salturi pn la ea, plecndu-se de la toate sursele din reea. ntr-un arbore colector se folosesc noiunile de "amonte" i "aval" pentru a se preciza poziia diferitelor noduri; de exemplu, pentru traficul plecnd de la M spre B, nodul N este n amonte fa de J, iar C este n aval fa de J.

Figura 11.9 Subreea (a) i arbore colector (b) Scopul oricrui algoritm de rutare este de a descoperi i a folosi arborii colectori pentru toate nodurile. Arborele colector, ca orice arbore, nu conine bucle, astfel c fiecare pachet poate fi livrat, n mod teoretic, dup un numr finit i limitat de salturi. ns, n practic, nu se ntmpl totdeauna aa, deoarece anumite link-uri sau chiar unele noduri fiind n deranjament, celelalte noduri pot avea o imagine fals asupra topologiei reelei i deci pot construi rute neconforme cu realitatea i imposibil de urmat. De aceea este imperios necesar ca nodurile s culeag i s

foloseasc informaii reale asupra reelei, n scopul stabilirii unor rute optime pentru ndrumarea pachetelor proprii sau ale celor tranzitate. n raport cu informaiile primite, nodul are posibilitatea s creeze rute de ndrumare adaptate condiiilor reale, adic s realizeze o ndrumare adaptiv. Pe toat perioada de meninere a valabilitii informaiilor se pstreaz acelai set de rute, care conduc la efectuarea unei ndrumri fixe (permanent sau numai pe un timp limitat). Dac nodurile nu pot cunoate sau nu pot ine seama de condiiile de trafic i de ocupare a reelei, ele vor folosi aa numiii algoritmi statici, bazai pe elementele constructive fixe ale reelei (topologie i distane fizice ntre noduri). Fiecare nod deine o tabel de costuri, n care coloanele corespund nodurilor vecine, iar liniile se completeaz pentru nodurile de destinaie. Coninutul fiecrei locaii din tablou reprezint costul drumului ctre destinaie de-a lungul arborelui colector care conine nodul vecin corespunztor.

Figura 11.10 Arbori colectori (de cost minim) Fie de exemplu reeaua din figura 11.10, n care sunt precizate i schemele tuturor arborilor colectori de cost minim ce corespund reelei. Tabelul 11.2 conine

costurile de rutare pe care nodurile 4, 1 i 2 trebuie s le considere n alegerea rutelor sale minime. Tabelul 11.2 Costurile pe arborii colectori din figura 11.10
Nod destinaie 1 2 3 4 5 6 vecinii nodului 4 1 [1] 3 -1 -1 -1 2 4 [2] 5 -1 -1 5 -1 -1 [2] [1] [3] vecinii nodului 1 2 [2] 5 4 5 7 3 -1 5 -1 -1 -1 4 3 [3] 1 [2] [4] vecinii nodului 2 1 [2] 5 3 4 6 3 3 4 [2] [2] [5] 4 6 [3] 5 4 6

S-a notat prin "-1" faptul c nodul vecin se afl n amonte pe arborele colector al destinaiei dorite. Tabela de rutare se completeaz alegnd (exceptnd valorile negative) ieirea spre vecinul care produce ruta de cost minim (ncadrat n paranteze drepte). Dac un link al reelei se ntrerupe din cauza unui deranjament, atunci rutele spre anumite destinaii sunt blocate. n asemenea situaii un server nu poate s "ntoarc" traficul su, ci trebuie s gseasc un vecin care are acces la alte ramuri disponibile ale arborelui colector. Fie c, pentru exemplul ales, link-ul 4-5 este n deranjament. Nodul 4 ncepe prin a marca toate locaiile din tabelul de rutare care foloseau nodul 5 ca vecin "optim" (cazul destinaiilor 3, 5 i 6). Se caut apoi o alternativ pentru drumurile minime ce au fost eliminate ntreruperea prin 4-5. Pentru destinaia 3 exist o variant suboptim prin nodul 2 (de cost 5) i aceasta va fi folosit. Pentru celelalte ns, situaia este dificil, deoarece ambii vecini sunt n amonte fa de 4. n consecin nodul 4 trimite vecinilor 1 i 2 un pachet de control, al crui coninut este "ajutor, nu pot ajunge la 5. La recepia acestuia, fiecare vecin controleaz dac are o rut nlocuitoare (anterior suboptimal) i comunic imediat rspunsul. Pe baza rspunsurilor primite de la vecinii accesibili, nodul 4 reface tabela sa de rutare, alegnd noile rute minime. Tabelul 11.3 prezint noile costuri evaluate de vecinii "vzui" de ctre nodul 4; pentru nodul 5, care este

"invizibil" din cauza ntreruperii link-ului 4-5, costurile sunt simbolic marcate prin "-2". Tabelul 11.3 Noile costuri (rspuns la pachetul de control emis de nodul 4)
nod destinaie 1 2 3 4 5 6 1 [1] 3 -1 6 7 vecinii nodului 4 2 4 [2] [5] [41 [6] 5 -2 -2 -2 -2 -2

Se observ c dei un link al reelei este n deranjament, nodurile reuesc s refac traseele de acces spre diferitele destinaii din reea, prin informaiile reciproce pe care i le transmit. Dac iniial, nodul 4 folosea pentru destinaiile sale rute ce ncepeau n ordine cu nodurile vecine 1, 2, 5, 5 i 5, dup reconfigurare aceleai destinaii sunt accesate prin vecinii 1, 2, 2, 2 i 2.

11.4.2 Algoritmul vectorilor de distane Algoritmii de rutare prin vectori de distane opereaz prin intermediul unor tabele (adic vectori) coninute n fiecare nod i care precizeaz cea mi bun

distan cunoscut fa de fiecare destinaie, precum i linia de ieire ce trebuie folosit pentru a ajunge la ea. Fiecare nod i construiete dou categorii de tabele: - tabelul destinaiilor - conine distanele cunoscute pn la fiecare destinaie din reea i care sunt msurate pe drumuri ce folosesc fiecare linie de ieire n parte. Acest tabel este reactualizat periodic pe baza informaiilor primite de la vecini i prin reinerea valorilor minime.

- tabelul vecinilor - precizeaz distana pn la fiecare nod vecin, stabilit


periodic prin culegerea local a informaiei necesare. De exemplu, dac pentru o reea se consider timpul ca element de msur al "distanei", atunci fiecare nod trebuie s trimit, la fiecare T msec, fiecrui vecin al

su o list cu ntrzierile estimate de el pn la toate destinaiile i s primeasc informaii similare de la toi vecinii si. n plus, el cunoate ntrzierea pn la fiecare vecin. Fie c un nod primete un tabel de destinaii de la un vecin X ce conine distana Xi msec estimat de acesta pentru o destinaie i oarecare. tiind c m este timpul pentru a ajunge pn la nodul vecin X, atunci nseamn c nodul n cauz atinge destinaia i n m + Xi msec via nodul vecin X. Efectund asemenea calcule cu informaiile primite de la toi vecinii, referitoare la aceeai destinaie, nodul alege ruta cu distana minim. Ruta aleas este optim pentru acest moment al estimrii i este menionat n linia corespunztoare destinaiei respective n noua tabel de destinaii (de ndrumare). Coninutul noii tabele rmne neschimbat pn la estimarea viitoare i este folosit la ndrumarea pachetelor pe parcursul ntregii perioade T. Trebuie precizat c vechea tabel de ndrumare nu a fost luat n considerare la calculul noilor distane.
Aplicaia 11.8

Pentru reeaua din figura 11.7 sunt adevrate tabelele de destinaii din tabelul 11.4, ca fiind comunicate lui J de ctre nodurile vecine. Se cere s se determine, prin aplicarea algoritmului vectorilor de distane, tabela de rutare reactualizata de nodul J, dac valorile ntrzierilor stabilite de el fa de vecinii si A, I, H i K sunt n ordine de 8, 10, 12 i 6 msec.

Figura 11.7 Reea cu rutare multicale: a) structura reelei; b) linii de ieire din J

Rezolvare: Consultnd coninutul tabelului de destinaii, care constituie


tabel de rutare valabil n perioada anterioar, se constat c de exemplu nodul A pretinde c are o ntrziere de 12 msec pn la B, de 25 msec pn la C, de 40 msec pn la D etc. Nodul J a msurat sau a estimat ntrzierile sale proprii pn la vecinii A, I, H i K, acestea avnd respectiv valorile de 8, 10, 12 i 6 msec. n consecin nodul J i va calcula noile rute innd seama de cele dou categorii de informaii. De exemplu, pentru destinaia C se procedeaz astfel: - prin vecinul A: ntrzierea va fi de 25 msec (pretinse de A) + 8 msec (estimate de el pentru a ajunge la A), adic n total 33 msec (pe traseul J-A-B-C), - prin vecinul I: 18 +10 = 28 msec, - prin vecinul H: 19 + 12 = 31 msec, - pentru vecinul K: 36 + 6 = 42 msec Tabelul 11.4 Vectori de distane primii de nodul J i noua sa tabel de rutare
Destinaia A B C D E F G H I J K L Vectorii primii de J de la A I H K 0 24 20 21 12 36 31 28 25 18 19 36 40 27 8 24 14 7 30 22 21 20 19 40 18 31 6 31 13 20 0 19 21 0 14 22 9 11 7 10 21 22 22 0 29 33 9 9 Timpi de acces fa vecini 8 10 12 6 Noua tabel de destinaii calculat de J ntrzierea minim Ieirea optim 8 linia 1 - spre A 20 linia 1 - spre A 28 linia 2 - spre I 20 linia 3 - spre H 17 linia 2 - spre I 29 linia 1 - spre A 18 linia 3 - spre H 12 linia 3 - spre H 10 linia 2 - spre I 0 6 linia 4 - spre K 15 linia 4 - spre K

Cea mai bun valoare relativ la destinaia C este 28 msec, astfel c ea va fi trecut n noua tabel de rutare (a destinaiilor); ruta de folosit pentru atinge destinaia C va urma deci linia nr.2 de ieire, care are acces spre nodul I.

Pentru restul destinaiilor se procedeaz n mod similar, rezultatul complet al tabelei de rutare reactualizat de nodul J este precizat n poriunea haurat a tabelului 11.4. ***

11.4.3 Rutarea multipl (multicale)

Calitatea ndrumrii prin reea nu este total rezolvat doar prin alegerea drumurilor optime (de exemplu de "distane" minime) pentru fiecare comunicaie. Aceast alegere poate conduce la obinerea unor transferuri avantajoase prin reea, dar numai n situaiile fericite, cnd sarcina oferit spre prelucrare nu depete capacitile de prelucrare prevzute iniial n reea. n caz contrar, sau cnd o parte din resurse sunt n deranjament, apar n mod inevitabil blocaje i pierderi substaniale de trafic. Pentru a diminua sau chiar elimina efectele unor asemenea situaii, se recomand a fi prevzute, pentru fiecare relaie de comunicaie, ci suplimentare (de ajutor) de ndrumare. Se execut n consecin o rutare multipl (rutare

multicale) pentru fiecare relaie de comunicaie.


n cazul n care ntre dou noduri exist posibilitatea realizrii a mai multor ci de ndrumare de "distane" aproximativ egale, ele sunt ci echivalente; traficul ntre cele dou noduri poate fi partajat pe aceste rute echivalente, realizndu-se astfel o rutare multicale. Principiul de implementare a rulrii multicale este urmtorul: la sosirea unui pachet, nodul de comutaie alege aleatoriu o cale dintre cele echivalente, alegerea fiind independent de calea pe care a fost trimis pachetul anterior. n cadrul fiecrui nod de comutaie exist un tabel cu diferitele linii posibile de ieire pentru fiecare destinaie n parte i cu ponderile asociate lor.

Valoarea fiecrei ponderi se poate stabili fie prin experiena proprie de ndrumare a pachetelor spre respectiva destinaie (de exemplu prin calcularea procentului cu succese de ndrumare obinute pe acea cale fa de numrul total de pachete emise ntr-o perioad eantion) sau pe baza vectorilor de distane comunicai de vecini. Pentru reeaua propus n aplicaia 11.7 nodul J de exemplu ar obine o ordonare a cilor echivalente (considernd c fiecare vecin poate realiza una) pentru fiecare destinaie aa cum se prezint n tabelul 11.5. Tabelul 11.5 Ci echivalente de ndrumare multipl ce sunt ponderate n nodul J
Destinaia A B C D E F G H I K L 1 1 2 3 2 1 3 3 1 4 4 calea I-a ieire pondere 0,56 0,40 0,30 0,38 0,36 0,29 0,39 0,41 0,48 0,64 0,41 calea II-a ieire 4 4 3 4 1 2 1 1 3 1 3 pondere 0,17 0,24 0,26 0,25 0,28 0,27 0,26 0,23 0,19 0,13 0,29 calea III-a ieire 3 3 1 2 4 3 4 4 4 2 1 pondere 0,14 0,19 0,25 0,21 0,22 0,26 0,19 0,20 0,17 0,12 0,16 calea IV-a ieire 2 2 4 1 3 4 2 2 1 3 o pondere 0,13 0,17 0,19 0,16 0,14 0,18 0,16 0,16 0,16 0,11 0,14

Traseele de ndrumare multipl se pot alege prin folosirea unei secvene de numere aleatorii subunitare n i bineneles n raport cu ponderea alocat fiecrei linii de ieire. De exemplu, pentru alegerea rutelor ctre destinaia C procedura este urmtoarea: - dac n < 0,3 atunci se alege ieirea nr.2, - dac 0,3 < n < 0,56 atunci se alege ieirea nr.3, - dac 0,56 < n < 0,81 atunci se alege ieirea nr. 1, - n rest se alege ieirea nr.4.

Se poate recurge i la o partajare a traficului adresat unei anumite destinaii ntre cile multiple, n mod proporional cu ponderea fiecrei linii de ieire sau chiar la o ndrumare ciclic progresiv pe toate liniile de ieire. n acest ultim caz se obine o calitate sporit de prelucrare a traficului, deoarece orice cale constituie un traseu de revrsare pentru calea anterioar i preia ntr-o prelucrare suplimentar traficul pierdut de aceasta. Principalele avantaje ale rutrii multicale sunt: - creterea fiabilitii reelei (n caz de defectare a unei linii, ea poate fi "ocolit" pe una din rutele echivalente), - alegerea n funcie de debitul informaiei a unei rutri optime ca vitez de transmisie.

11.4.4 Rutarea bazat pe flux

Algoritmii prezentai pn n acest moment consider numai topologia reelei n procesul de stabilire a rutelor optime, fr a avea vreo importan valoarea sarcinilor transportate liniile de comunicaie. Dar suprancrcarea unora dintre ele de ctre anumite surse, defavorizeaz utilizarea lor de ctre altele, producnd deteriorarea gradului de servire pe ansamblul reelei. Este deci necesar a folosi un algoritm de ndrumare, care dei este static, poate considera, deopotriv topologia reelei i sarcina total oferit fiecrui link din reea de toate sursele care au acces la el; n consecin el este numit algoritmul bazat pe flux. Ideea acestui algoritm a pornit de la faptul c n unele (sub)reele fluxul mediu de date ntre fiecare pereche de noduri este relativ stabil i previzibil, existnd deci posibilitatea efecturii unei analize matematice a fluxului informaional global din reea n vederea ndrumrii lui optime ntre surse i destinaii. Este cazul de exemplu al unei reele anexate unui lan de magazine, care transmit periodic rapoarte de vnzri, inventare de stocuri, comenzi de

aprovizionare, rapoarte financiare etc., toate acestea n momente aproape fixe, ceea ce face ca volumul traficului s varieze puin de la o perioad la alta. Pot fi deci asigurate capaciti de transmisie convenabile, astfel nct timpul de tranzit s fie minim, iar pierderile de informaie s fie nule. n aceste ipoteze, dac, pentru o linie i de transmisie dat, se cunoate media

i a fluxului ce i este oferit precum i capacitatea ei de transmisie Ci, atunci este


posibil s se calculeze timpul mediu de ntrziere i pentru un pachet, folosind teoria irurilor de ateptare:

i = ( C i i )

(11.5)

fiind rata de serviciu, aceeai pentru toate resursele din reea.


Cunoscnd aceast ntrziere pentru toate liniile, se poate calcula media ponderat, prin valoarea fluxurilor, a timpului de ntrziere pe ntreaga reea: 1


i =1 i

(11.6)

Problema de rulare este astfel redus la gsirea acelor trasee de ndrumare care produc ntrzieri minime pe reea,
Aplicarea algoritmului se bazeaz pe cunoaterea exact a anumitor informaii relative la reea, i anume: - topologia reelei, - matricea, de distribuie a traficului A = {akj }, exprimat n numr de pachete oferite ntre toate perechile de noduri k - j din reea, - matricea capacitilor de transmisie Ckj admisibile (n Kbit/sec) ale tuturor link-urilor dintre noduri - lungimea medie, L bii, a pachetelor emise de surse.
Aplicaia 11.9

Se cere evaluarea timpului mediu de tranzit pentru reeaua din figura 11.8. Capacitile de transmisie (Kbit/sec) sunt precizate pe fiecare arc al grafului.

Matricea de trafic oferit (pachete/sec) este prezentat n tabelul anexat, mpreun cu matricea de rutare. Pachetele emise de surse au o lungime medie de 800 bii.

Figura 11.8 Topologia reelei, capacitile link-urilor, matricea de trafic i de

rute pentru aplicaia 11.9 Rezolvare: Din consultarea datelor cuprinse n matricea de trafic se trage
concluzia c ea are o structur simetric, ceea ce face ca i matricea de rute s fie simetric. Este un caz particular, ales intenionat n aceast variant, pentru simplificarea calculelor; n cazurile reale, cele dou sensuri de comunicaie ale unei relaii de intercomunicare nu urmeaz n mod obligatoriu aceleai rute. Pe baza matricei de rute precizate, se contabilizeaz sarcina total oferit fiecrui link din reea (16 la numr, avnd n vedere cele 2 sensuri de comunicaie). Folosind formula (11.5) i tiind c timpul de serviciu pe o linie i este determinat de capacitatea sa proprie i de lungimea pachetelor transmise, 1 / = L / Ci , se calculeaz timpii de ntrziere pe fiecare link al reelei. Ponderea fiecrui link, considerat n evaluarea ntrzierii medii pe reea, este i = i / cu

= akj =124pachete (valorile


k =1 j =1

akj sunt extrase din matricea de trafic).

Rezultatele calculelor sunt concentrate n tabelul 11.6. Tabelul 11.6 Analiza reelei din figura 11.10
i 1 2 3 4 5 6 7 8 Link AB BC CD AE EF FD BF EC Ci i = Ci / L (pachete/sec) (Kbit/sec) (pachete/sec) 18 20 25 12 20 25 6 10 12,5 7 20 25 9 50 62,5 8 10 12,5 14 20 25 8 20 25

i (msec)
143 77 154 55 19 222 91 59

i
0,145 0,097 0,048 0,056 0,072 0,064 0,113 0,064

Cu datele din tabel i cu expresia (11.6) se obine valoarea: = 137,1 msec. Pentru a evalua un alt algoritm de ndrumare, se repet aceeai procedur, dar considernd pentru ncrcrile link-urilor valorile ce corespund acelui algoritm. Pentru fiecare relaie surs - destinaie exist ntr-o reea un numr limitat de rute posibile (una singur este ns aceea de lungime minim), deci procedura se poate repeta pentru fiecare din ele. n final, varianta care ofer valoarea minim a timpului mediu pe reea este cea recomandat. ***

11.4.5 Rutarea ierarhic

Pe msur ce reeaua devine tot mai ntins, tabelele de rutare din noduri devin tot mai mari. Memoria ocupat de ctre tabele crete, iar timpii necesari pentru luarea unei decizii de rutare ajung s fie prohibitivi. La un moment dat reeaua poate crete n aa msur, nct un nod de comutaie s nu aib ieiri suficiente ctre toate destinaiile. Soluia pentru asemenea cazuri este

ierarhizarea marilor reele, adic mprirea nodurilor pe mai multe regiuni, n

care exist o subreea cu structur proprie. Astfel, fiecare nod va cunoate detalii doar asupra rutrii pachetelor spre destinaiile din regiunea sa, fr a avea vreo informaie asupra structurii interne a altor regiuni. Aceast soluie este i mai evident dac lum n considerare cazul interconectrii subreelelor.

Figura 11.9 Rutare ierarhic pe 2 niveluri Pentru reelele deosebit de mari ierarhizarea se extinde pe mai multe niveluri: se grupeaz regiunile n structuri radiale (clustet), acestea n zone, zonele n grupuri etc. Figura 11.9 prezint un exemplu de rutare pe 2 niveluri ierarhice ntr-o reea cu 5 regiuni, nglobnd un numr de 17 noduri de comutaie. nseamn c o tabel complet de rutare (neierarhic) ar trebui s conin 17 intrri pentru oricare din nodurile reelei. Dac ns se aplica rutarea ierarhizat, tabela de rutare se simplific substanial; de exemplu, pentru nodul A sunt necesare doar 7 linii n tabel: 3 intrri pentru regiunea local (ca i n tabela anterioar), o intrare pentru regiunea 2 (ruta prin 1B - 2A) i nc una pentru toate celelalte regiuni 3, 4 i 5

(ruta prin 1C - 3B - 4A - 5A). Rutarea pachetelor prin reea se face prin decizii luate seciune dup seciune, ceea ce provoac uneori realizarea unor ci mai lungi dect cele optime. De exemplu, nodul 1A dorind s ating destinaia 5E, comunic cu 1C care, tiind unde se afl 5E, trimite pachetele spre 3B, din aceleai considerente acesta le retransmite lui 4A i n sfrit ele ajung n regiunea de destinaie, prin intermediul lui 5A (figura 11.9). Calea urmat deci pentru comunicaia 1A - 5E urmeaz un traseu cu 5 tranzite. Schema aleas de rutare nu este ns optim pentru toate relaiile din reea; de exemplu cea mai bun rut pentru 1A - 5C este prin regiunea 2. S-a ales totui pentru traficul total provenind de la regiunea 1 i destinat regiunii 5 rutarea prin regiunea 3, pentru c se obin astfel rute minime pentru majoritatea destinaiilor din 5. Pentru optimizarea reelelor ierarhizate este important a se cunoate pentru un anumit numr total de noduri care este cel mai potrivit numr de niveluri de rutare. Fie de exemplu o reea cu 720 de noduri. Dac s-ar alege o structur de tip plas, cu interconectare total, atunci tabela de rutare ar avea 720 linii de intrare. Dac se recurge la o ierarhizare cu 24 regiuni cu cte 30 de noduri fiecare, atunci fiecare ruter ar folosi 53 de intrri (30 locale i 23 distante), ceea ce reprezint o reducere evident a tabelelor de rutare. Kamoun i Kleinrock (1979) au descoperit c numrul optim de niveluri ierarhice pentru o reea cu N noduri este lnN, ceea ce necesit elnN intrri n fiecare ruter. De asemenea, ei au observat ca rutarea ierarhic provoac o anumit cretere a lungimii medii a drumurilor, dar aceast cretere este suficient de mic, putnd fi acceptat fr rezerve.
Aplicaia 11.10

Se consider o reea cu 720 de rutere. Care este numrul liniilor de intrare ntr-un ruter, dac se execut o rutare ierarhizat pe 3 niveluri, cu 8 clustere fiecare

cu cte 9 regiuni de 10 noduri? Dar pentru 4 niveluri cu distribuia ruterelor de tipul 34610? Care este soluia optim?

Rspuns: pentru 3 niveluri sunt necesare 25 intrri/ruter, iar pentru 4 niveluri


n structura propus sunt necesare 20 intrri/ruter. Numrul optim de niveluri este ln720 = 6,57 7, cu 17 linii de intrare pe fiecare ruter. * * *

11.4.6 Rutarea prin difuziune

Exist situaii cnd este necesar ca un terminal s trimit aceleai informaii ctre mai multe sau ctre toate terminalele reelei. Este cazul unui serviciu care trimite rapoarte despre vreme, sau reactualizri ale unei baze de date distribuite, sau programe radio. Pentru un asemenea serviciu este mai convenabil s lucreze n regim de difuziune ("broadcast) a datelor ctre toate terminalele; datele vor fi citite de toate terminalele sau numai de ctre terminalele interesate. n acelai regim de rutare prin difuziune poate funciona un ruter care dorete s afle care i sunt vecinii i s restabileasc tabelele de rutare. Metodele de implementare a rutrii prin difuziune sunt numeroase:
Metoda 1: emitorul trimite cte un singur pachet ctre fiecare destinaie.

Aplicarea metodei nu necesit caracteristici speciale pentru reea; n plus ea are i avantajul c nu se ncarc reeaua cu multe pachete. Exist ns dezavantajul c fiecare terminal trebuie s cunoasc lista complet a tuturor destinatarilor. n practic poate fi singura metod posibil, dar nu prezint prea mare interes.
metoda 2: sursa de pachete procedeaz la algoritmul de inundare a ieirilor.

Dei inundarea este o soluie proast pentru un algoritm de comunicaie punct la punct, n cazul difuziunii ea merit a fi considerat, mai ales atunci cnd nici unul din algoritmii prezentai deja nu este aplicabil. Dezavantajul metodei const n

faptul c este generat pe ansamblul reelei un numr mare de pachete, ceea ce consum considerabil capacitatea de transport a reelei.
metoda 3 - rularea multidestinaie. n acest caz fiecare pachet generat de

surs conine o list cu mai multe destinaii dorite. Atunci cnd pachetul ajunge ntr-un ruter, acesta testeaz destinaiile pentru a stabili setul de ieiri ce i sunt necesare. O linie de ieire este considerat necesar, dac ea reprezint cea mai bun rut cel puin pentru o destinaie. Ruterul genereaz o nou copie a pachetului pentru fiecare linie de ieire folosit i include n fiecare pachet numai lista acelor destinaii care folosesc acea ieire. De fapt setul destinaiilor este mprit ntre liniile de ieire folosite. Dup un numr suficient de salturi prin reea, fiecare pachet va purta doar o singur destinaie i va fi tratat ca un pachet normal. Aceast metoda reduce numrul pachetelor generate i ndrumate prin reea, dar este posibil ca mai multe rutere diferite s trimit pachete ctre aceeai destinaie.
metoda 4: folosirea explicit a arborelui colector al ruterului care iniiaz

difuziunea, sau a oricrui alt arbore de acoperire adecvat situaiei. Un arbore de acoperire este un subansamblu al reelei care conine toate ruterele, dar care nu comport bucle. Dac fiecare ruter cunoate liniile arborelui de acoperire, el poate copia un pachet intrat prin difuziune i l va trimite pe toate liniile arborelui, mai puin linia de sosire. Aceast metod optimizeaz utilizarea liniilor producnd numrul minim necesar de pachete de difuziune. Singura problem care trebuie rezolvat este cunoaterea obligatorie de ctre fiecare ruter a arborilor colectori sau de acoperire, ceea ce nu este totdeauna posibil.
metoda 5 - transmiterea pe drumul invers (reverse path forward). Aceast

metod ncearc s aproximeze comportamentul anterior, chiar atunci cnd ruterele ignor sau nu cunosc arborii de acoperire. Ideea este deosebit de simpl odat ce a fost enunat. Atunci cnd un pachet de difuziune sosete ntr-un nod, nodul verific dac pachetul a ajuns la el pe linia pe care el o folosete n mod normal pentru a trimite pachete ctre sursa de difuziune. Dac este aa, atunci nseamn c pachetul de difuziune a avut o mare ans de a fi urmat chiar ruta cea mai bun

venind de la surs i este n consecin pachetul original i nu o copie a lui. n acest caz, ruterul copiaz pachetul i expediaz copiile pe toate liniile, mai puin linia de sosire. Dac ns pachetul a sosit pe alt linie dect cea preferat n a atinge sursa, atunci el este distrus, fiind cu siguran o copie.

Figura 11.10 Algoritmul de transmitere pe drumul invers: (a) structura reelei,

(b) arborele M de acoperire, (c) arborele construit prin trimitere pe drumul invers
Algoritmul de transmitere pe drumul invers este aplicat pentru reeaua din figura 11.10, referitor la nodul M. n primul moment M trimite pachete ctre N, J, F i O, aa cum se prezint n nivelul 2 al arborelui. Fiecare din aceste pachete sunt primite pe drumul preferat dinspre M i marcm acest fapt prin cercul din jurul literei de identificare a ruterului; s-a considerat c drumul preferat dinspre M este de-a lungul arborelui desenat. La nivelul 2 sunt n consecin generate 8 pachete, cte dou n fiecare nod. Cele 8 pachete ajung n rutere care sunt nevizitate pn n acest moment, dar doar 5 dintre ele sosesc pe drumurile preferate sursei, deci ruterele respective continu algoritmul. Din cele 6 pachete generate la nivelul 3, numai 3 sosesc pe drumuri preferate, anume n nodurile K, C i I; celelalte sunt dubluri i sunt distruse n nodurile E, D i O. Rutarea prin difuziune se termin dup 5 salturi prin reea n decursul crora s-au generat 23 pachete. Avantajul acestui algoritm este acela c se implementeaz uor, deoarece rutere nu trebuie s cunoasc arborii de acoperire, iar pachetele nu trebuie s

conin lista multi-destinaiilor. n plus nu i sunt necesare nici mecanisme suplimentare pentru stoparea procesului de desfurare.

11.4.7 Rutarea muiticast

n unele aplicaii este nevoie de a trimite pachete doar la un numr restrns de rutere ale reelei, acestea aparinnd unui grup distinct de comunicaii. Se folosete n asemenea situaii un algoritm de rulare muiticast [DEE 90 i 93]. Dac grupul este mic, atunci se poate adopta o procedur punct-la-punct de trimitere a mesajelor. Dac ns grupul este mare, aceast strategie este deosebit de costisitoare. Pentru grupurile mari difuziunea ar putea fi o soluie, dar nu pentru orice situaie. Dac de exemplu grupul ar avea 1000 de terminale, iar reeaua ntreag ar comporta de 100 de ori mai multe noduri, este evident c un numr ridicat de noduri nu ar fi interesate de mesajele grupului, pentru care un numr deosebit de mare de pachete ar migra prin ansamblul reelei. Este neaprat necesar trimite mesajele doar ctre un grup bine definit de noduri, care este suficient de larg, dar mic n comparaie cu dimensiunile ntregii reele. Pentru a realiza o rutare multicast se recurge la definirea unui

administrator al grupului. n plus, fiecare ruter trebuie s tie crui grupul i


aparine i care este componena lui. De asemenea el va fi informat permanent asupra schimbrilor din grupul su. Toate aceste informaii, referitoare formarea sau distrugerea unui grup, la venirea ntr-un grup sau la prsirea lui, se refer la alte procese care nu privesc algoritmul de rutare. Conform rulrii multicast fiecare ruter calculeaz arborele de acoperire pentru toate celelalte rutere din grupul su. De exemplu, n figura 11.11(a) este prezentat o reea cu 2 grupuri, fiecare ruter fiind ataat la cel puin un grup.

Figura 11.11 (a) Reea, (b) Arbore de acoperire pentru nodurile din partea stng,

(c) Arbore multicast pentru grupul 1, (d) Arbore multicast pentru grupul 2.
Cnd un proces trimite un pachet unui grup, primul ruter examineaz arborele su i elimin toate liniile care nu conduc la membrii grupului su. n exemplul ales, figurile 11.11 (c) i (d) indic arborele "curat" pentru grupul 1 i respectiv pentru grupul 2. Pachetele multicast vor fi trimise doar de-a lungul arborelui corespunztor grupului. Pentru curirea arborilor sunt folosite diverse proceduri, printre care de baz este algoritmul trimiterii pe drumul invers. Oricnd un ruter primete un pachet care nu este interesant pentru grupul su, el rspunde prin trimiterea unui mesaj PRUNE, care informeaz sursa s nu mai trimit alte mesaje multicast acelui grup. n acest fel reeaua este n mod recursiv curat (pruned). Un dezavantaj posibil al rutrii multicast este acela c ar trebui scanate reele uneori suficient de largi. Presupunnd c exist o reea cu n grupuri, fiecare avnd n medie m membri, ar nsemna c pentru fiecare grup trebuie memorai m arbori de acoperire curai, dintr-un total de mn arbori ai reelei; n unele situaii sunt astfel necesare memorii deosebit de largi. O rezolvare ar fi prin folosirea arborilor bazai

pe rdcin [BALL 93]: un singur arbore de acoperire este calculat pentru fiecare

grup. Cnd are de trimis un mesaj, orice terminal l va trimite rdcinii, care apoi efectueaz rutarea multicast pentru ntreg grupul su. Dei exist inconvenientul c acest arbore bazat pe rdcin nu este optim pentru toate sursele, reducerea de memorie obinut prin folosirea unui singur arbore n locul celor m este esenial.

11.4.8 Rutarea pentru comunicaii cu mobile

n zilele noastre tot mai muli oameni au calculatoare portabile i n general doresc s aib acces normal la sistemul fiierelor proprii din orice punct al lumii n care se afl la un moment dat. Aceste terminale mobile introduc noi complicaii pentru reelele de pachete: pentru a ndruma un pachet ctre un terminal mobil trebuie ca mai nti reeaua s gseasc acel terminal. Subiectul introducerii terminalelor mobile n reele este oarecum nou, dar numeroase probleme legate de el au fost deja rezolvate sau se afl n faze avansate de cercetare. Un model tipic folosit de cercettori are o structur WAN (Wide Area

Network), ce se ntinde pe o zon geografic larg, putnd s acopere o ar sau


chiar un continent, i care conine rutere i terminale diverse. Orice utilizator care nu-i schimb poziia n spaiu este considerat staionar (fix) i este conectat la reea prin conductori de cupru sau prin fibr optic. n contrast cu el, exist n prezent utilizatori mobili, care pot fi de dou categorii: - utilizatori care la baz sunt staionari, dar care se deplaseaz temporar n diferite locuri fixe, altele dect locul de baz, i folosesc reeaua numai cnd sunt conectai fizic la ea, - utilizatori migratori, care menin conectarea la reea n timp ce se deplaseaz n cadrul acesteia, conectarea asigurndu-se prin alte mijloace dect cele fixe.

n orice situaie un utilizator mobil are o localizare de baz, creia i este asociat o adres de baz (home address) i care evident nu se schimb dac el se manifest ca utilizator mobil. Scopul rutrii n reele cu "mobile" este de a face posibil trimiterea eficient a pachetelor ctre utilizatorii mobili, identificai prin adresa de baz, oriunde s-ar afla ei n cadrul reelei. Problema suplimentar care apare, fiind deosebit de specific i de important, este de a-i "gsi" pe utilizatorii mobili n spaiul reelei.

Figura 11.12 (a) Reea WAN la care sunt ataate structuri LAN i MAN i celule de

comunicaii fr fir; (b) Rutarea pachetelor pentru utilizatori mobili.


n figura 11.12(a) se prezint o reea care conine mai multe zone, afectate unor structuri LAN i MAN sau n care se afl celule de comunicaii fr fir. Fiecare zon are unul sau mai muli ageni strini, care "iau urma terminalelor care viziteaz zona, memorndu-le adresele de baz n aa numitele registre pentru vizitatori, VLR (Visitors Location Register). n plus, fiecare zon are i un agent local ce ine evidena utilizatorilor a cror poziie de baz (domiciliu) se afl n domeniul respectiv, dei acetia se deplaseaz n mod curent n alte zone. Un registru de adrese de baz a terminalelor mobile, HLF (Home
Location Register), conine toate informaiile permanente, sau cu un anumit grad

de caracter temporar, despre un grup determinat de utilizatori, informaii ce pot fi accesate de la distan.

Cnd un nou utilizator intr ntr-o zon, fie pentru a se conecta la ea (a se cupla ntr-un LAN), fie doar pentru a hoinri prin ea, calculatorul su trebuie s se nregistreze la agentul strin de acolo. Procedura de nregistrare conine n mod principial urmtoarele etape: 1. Periodic, fiecare agent strin difuzeaz un pachet prin care i anun existena i identitatea (adresa). Un mobil nou sosit trebuie s atepte un asemenea mesaj, dar dac el nu sosete suficient de repede, terminalul mobil poate trimite un pachet de difuziune care spune: "Exist un agent strin n zon?" 2. Mobilul dialogheaz cu agentul strin, cruia i comunic adresa de baz, adresa curent pe nivelul legtur de date i anumite informaii de securitate. 3. Agentul mobil contacteaz agentul local al mobilului vizitator, cruia i spune: "Un terminal al tu se afl aici la mine". n plus, precizndu-i identitatea printr-o adres de reea, agentul strin introduce, n mesajul trimis spre agentul local, i informaiile de securitate dobndite de la mobil, pentru a-l convinge c situaia este adevrat. 4. Agentul local examineaz informaia de securitate, care conine i o amprent temporal, pentru a proba c a fost generat cu cteva secunde nainte. Dac rezultatul este mulumitor, atunci spune agentului strin c se poate progresa cu procesul de nregistrare. 5. Cnd agentul strin primete confirmarea de la agentul local, el opereaz intrarea n tabelele sale i informeaz terminalul mobil c este nregistrat din acest moment. n mod ideal, cnd un utilizator prsete o zon, el ar trebui s fie informat asupra anulrii nregistrrii, dar cei mai muli utilizatori ntrerup brusc calculatoarele lor, fr a permite derularea vreunei proceduri de eliberare. Cnd un pachet este trimis unui utilizator mobil, el este rutat corespunztor adresei locale a utilizatorului, adic spre LAN-ul local, aa cum se prezint n figura 11.12 (b) (pasul 1). Pachetul este deci interceptat de agentul local. El caut noua localizare (temporar) a mobilului i gsete adresa agentului strin care

gzduiete utilizatorul mobil n acel moment. n continuare agentul local are de rezolvat dou sarcini. Prima sarcin este de a ncapsula pachetul n cmpul taxabil (payload field) al unui pachet extern i de a-l trimite agentului strin; operaia este cunoscut sub denumirea tunneling (pasul 2). Dup ce a primit pachetul ncapsulat, agentul strin mut pachetul original din cmpul taxabil i l trimite utilizatorului mobil (vizitator) ca un cadru de date. A doua sarcin a agentului local este de a spune emitorului ca de acum nainte s trimit pachetele spre utilizatorul mobil prin ncapsularea lor n pachete taxabile, explicit adresate agentului strin (pasul 3). Pachetele urmtoare pot fi acum rutate direct utilizatorului, via agentul strin (pasul 4), ocolind cu totul agentul local.

11.5 Rutarea centralizat

Dac ntr-o reea traficul are variaii lente i neimportante, nseamn c se poate aprecia c reeaua are un grad sporit de stabilitate. n consecin, pentru o structur dat, tabelele de rutare pot fi ntocmite centralizat de ctre un singur nod, definit ca "nod centrat, i comunicate tuturor celorlalte noduri din reea. n mod periodic, mrimea perioadei de activitate stabilindu-se de la caz la caz, fiecare nod din reea trimite informaii ctre nodul central. Aceste informaii se refer la felul n care funcioneaz nodul, la variaiile de trafic survenite de la ultimul raport, la numrul de pachete din memoriile tampon proprii, la eventuale situaii de blocare a reelei etc. Nodul central primete toate aceste categorii de informaii i, pe baza acestora i a logicii sale proprii, stabilete care sunt noile tabele de rutare pentru toate nodurile subordonate. Unul din avantajele majore ale acestui tip de rutare const n faptul c deciziile se iau pe baza unor informaii complete despre reea. n plus, complexitatea nodurilor subordonate este mult redus, deoarece ele sunt eliberate de funcia de a lua decizii referitoare la modificrile tabelelor de rutare.

Din nefericire, exist i multe dezavantaje: - pentru a asigura o adaptare perfect la modificrile de trafic, toate procedurile de rutare necesit un volum mare de informaii vehiculate prin reea, cu att mai mare cu ct reeaua este de mari dimensiuni, i un efort tehnic important, care se repet n mod frecvent. - este posibil ca durata prelucrrilor necesare stabilirii noilor tabele de rutare s depeasc intervalul de meninere a situaiei luat n calcul, chiar dac nodul central folosete o unitate puternic de calcul. Pe lng timpul de calcul trebuie avut n vedere i timpul necesar pentru transmiterea informaiilor de modificare a tabelelor de rutare, care poate fi deosebit de mare pentru nodurile de la periferia reelei. Pentru aceste noduri, conflictul ntre rutele optime comunicate de nodul central i starea real a reelei, n momentul aplicrii noii tabele de rutare, este uneori deosebit de flagrant. - vulnerabilitatea nodului central este problem important. Dac acest nod se defecteaz, ntreaga reea nu mai funcioneaz. De aceea se procedeaz la dublarea nodului pentru a se asigura o siguran sporit de funcionare. Dar "copia" trebuie s fie permanent actualizat, lucrnd n microsincronism cu unitatea activ, deci apare un flux suplimentar de informaii ntre cele dou uniti. Se poate folosi lucrul n regim de partajare a traficului, n acest caz reactualizrile fiind mai simplu de realizat. - liniile conectate la nodul central, pe care se transfer toate pachetele cu funcii de rutare din reea sunt i ele deosebit de vulnerabile, deoarece exist pericolul de a intra ntr-un proces de congestie. n aceste situaii extreme nodul central este blocat, compromind toate comunicaiile din reea. Se poate totui afirma cu certitudine c algoritmii de rutare centralizat sunt potrivii pentru reele cu topologie stabil i trafic relativ constant. Rolul major al acestor algoritmi este acela de a adapta ndrumarea traficului la modificrile topologice ale reelei.

Un exemplu de reea care funcioneaz pe baza rulrii centralizate este reeaua TYMNET, reea comercial cu comutaie de pachete care are n jur de 1000 de noduri.

11.6 Algoritmi pentru controlul congestiei

Fenomenul de congestie poate aprea n orice reea n care sarcina oferit depete posibilitile resurselor de prelucrare, n anumite puncte importante sau chiar n toate compartimentele sale. Odat declanat congestia ntr-un punct oarecare, fenomenul se amplific i se propag n avalan, conducnd, dac nu se iau msuri speciale de control i corecie, la imposibilitatea realizrii oricrei comunicaii. n cazul apariiei congestiei, irurile de ateptare pe liniile de ieire din nodurile de comutaie cresc, numrul pachetelor pierdute prin depirea capacitii de memorare crete, timpii de tranzit sporesc n mod corespunztor, pachetele ntrzie s ajung la destinaiile lor, sursele procedeaz la repetarea transmisiilor i congestia se amplific.

Figura 11.13

Degradarea performanelor reelei prin creterea excesiv a traficului oferit

Figura 11.13 prezint n mod grafic apariia congestiei, la depirea capacitii de transport a reelei, n situaii de congestie, numrul pachetelor recepionate scade cu mult sub capacitatea maxim de transport a reelei. Componentele resurselor de prelucrare folosite n reea contribuie n egal msur la apariia fenomenului de congestie: - dac este memorie insuficient multe pachete vor fi pierdute. Adugnd memorie ntr-un punct al reelei s-ar prea c situaia se mbuntete. Dar Nagle [NAG 87] a observat c dac un ruter are memorie infinit, atunci congestia este mai rea, pentru c timpul de ateptare pentru un pachet de a ajunge primul n ir depete o temporizare impus de surs, deci ea va duplica pachetul, ceea ce va spori nc sarcina reelei. n plus, lungul ir de pe o linie de ieire ar ncrca similar nodul urmtor pe lanul comunicaiei, odat ce pachetele sunt transmise mai departe. - dac ruterele sunt lente n operaiunile de reactualizare a tabelelor de rutare sau de prelucrare a pachetelor din iruri, atunci se poate ajunge la creterea irurilor, chiar peste capacitatea liniilor, mbuntind capacitatea, fr a schimba procesoarele, nu se face dect a muta punctul de "gtuire" a reelei dintr-un component n altul. Congestia se datoreaz totdeauna din nepotrivirile dintre componente, deci trebuie gsite totdeauna variantele echilibrate pentru a rezolva problema. Trebuie s se intervin prin procedee de control al congestiei i de control al traficului, procedee aflate ntr-o interdependen subtil:
Controlul congestiei se ocup cu problemele legate de comportamentul

tuturor ruterelor, al terminalelor, al proceselor de memorare-retransmitere din rutere i al altor factori care tind s diminueze capacitatea de transport a reelei. Acest control verific de fapt dac reeaua are capacitatea de a transporta traficul oferit.
Controlul traficului se refer la traficul punct-la-punct ntre o pereche dat

transmitor-receptor, sarcina lui fiind de a acomoda viteza de transmitere a unui

emitor cu viteza de absorbie a datelor de ctre receptor. ntotdeauna controlul traficului implic mecanisme de reacie invers exercitat de receptor asupra emitorului. Cele dou procese de control sunt adesea confundate deoarece anumii algoritmi de control al congestiei opereaz cu trimiterea "napoi" a unor mesaje ctre diverse surse atunci cnd se detecteaz situaii dificile pentru reea. Aceste mesaje solicit totdeauna ca sursele respective s diminueze rata de emisie a pachetelor lor, fie c receptoarele nu pot primi sarcina actual, fie c reeaua nu o poate transporta. n continuare vor fi pe scurt prezentate cteva mecanisme de control al congestiei, printre care i utilizarea controlului de flux pentru evitarea congestiei.

11.6.1 Prealocarea memoriilor

Dac reeaua folosete tehnica circuitelor virtuale, problema congestiei poate fi rezolvat astfel: atunci cnd se iniializeaz un circuit, un pachet de apel avanseaz de-a lungul reelei crend intrri n tabele pe msur ce el progreseaz n prelucrare. Cnd acest pachet atinge destinaia, ruta pe care o vor urma pachetele urmtoare este stabilit i totodat sunt create toate intrrile corespunztoare din tabelele de rutare ale tuturor ruterelor intermediare. De asemenea, n aceste noduri intermediare se rezerv i resursele (memoriile tampon) de care este nevoie. Dac nu se pot aloca resursele necesare, emitorul este atenionat c legtura solicitat nu se poate stabili prin transmiterea semnalului de "ocupat". Deoarece se lucreaz cu circuite virtuale, exist i avantajul unei informaii de rutare mai reduse n pachetele cu date, crescnd astfel debitul util servit. Se poate reduce congestia i mai mult dac la scoaterea pachetelor din cozi se lucreaz cu o politic de selecie cu fereastr supraunitar (chiar dac pachetul ce se afl n capul cozii este blocat datorit faptului c ieirea solicitat de el este ocupat, nu

apare totui o blocare prin fenomen HOL, deoarece pot fi scoase din coad alte pachete, urmtoarele din coad n limita ferestrei precizate, care solicit o ieire liber). Prin rezervarea memoriilor, un circuit virtual are resurse alocate permanent pe toat durata lui, iar comutaia de pachete se desfoar ca o comutaie de circuite clasic, rezervare a memoriilor, Practic, pentru a evita blocarea unor resurse ntr-un circuit virtual neutilizat, se aloc un ceas fiecrei resurse. Dac respectivul tampon nu este utilizat un timp determinat, el este alocat unei alte cereri.

11.6.2 Distrugerea pachetelor

Dac memoriile nu sunt rezervate, atunci exist riscul ca un pachet, la sosirea ntr-un nod, s nu gseasc nici un loc. n acest caz, nodul respectiv recurge la distrugerea voluntar a pachetului, din lips de resurse disponibile, realiznd astfel ntr-o manier foarte simpl rezolvarea problemei de congestie. Dac reeaua funcioneaz cu circuite virtuale, o copie a acestui pachet distrus este meninut, la sursa emitoare sau undeva n alt parte a reelei, pentru a se ncerca o nou retransmisie dup temporizare oarecare. Aplicarea fr discernmnt a algoritmului de distrugere a pachetelor poate conduce uneori la dificulti serioase pe ansamblul reelei. Dac un pachet conine o confirmare de recepie sosit de la un nod vecin, ignorarea ar fi o mare greeal. ns considerarea confirmrii, ar conduce la tergerea din memoria nodului a unor pachete emise i ajunse la destinaie, deci la eliberarea unor resurse i diminuarea congestiei. Dar dac nodul nu are resurse disponibile, el nu poate primi pachetul i deci nu poate afla dac el conine sau nu o informaie de confirmare. Rezolvarea acestui impas se obine prin rezervarea unei memorii pe linia de sosire, prin intermediul creia poate "inspecta" orice pachet de intrare, nainte de a-l distruge,

i de a folosi eventuala confirmare pe care el o conine. Se poate chiar "recompensa" un pachet nou sosit ce conine o confirmare de recepie, prin pstrarea lui n nodul de recepie; memoriile eliberate n urma confirmrii primite, se vor constitui ca noi memorii de intrare. Dac congestia se poate reduce prin distrugerea pachetelor, trebuie totui s existe o regul dup care se menin sau se distrug pachetele nou sosite. Fr o astfel de regul, este posibil ca o singur linie de ieire s foloseasc toate memoriile disponibile dintr-un nod, deoarece ele au fost atribuite n mod simplu prin aplicarea principiului "primul sosit, primul servit". De exemplu, figura 11.14(a) prezint cazul unui nod cu 10 memorii: 3 sunt alocate liniilor de intrare, iar restul de 7 conin pachete n ateptare pentru a fi transmise pe o singur linie de ieire.

Figura 11.14 Reducerea congestiei prin limitarea numrului de memorii alocate

liniilor de ieire
Dei 2 linii de ieire sunt libere, orice pachet de intrare destinat lor va fi distrus din lips de memorii; este o gestionare eronat a memoriilor. Soluia propus este limitarea numrului de memorii ataate unei linii de ieire. Dac, pentru exemplul ales limitarea este la 4 memorii, figura 11.14(b), atunci rmn 3 neafectate. Un nou pachet orientat spre linia 1 va fi distrus, n loc s sporeasc la 5 lungimea irului de ateptare. n general, Irland a dedus c pentru s linii de ieire i k memorii ntr-un nod, numrul maxim de tampoane care pot fi alocate unei singure ieiri este m = k / s [TAN 92]. Aceast strategie poate conduce la creterea randamentului unui nod de comutaie, deoarece pachetele orientate spre liniile de ieire pe care nu sunt

formate deja iruri de ateptare pot fi transmise imediat dup intrarea n nod (exist memorii de intrare disponibile acceptrii acestor pachete). n orice situaie, un pachet distrus ntr-un nod va fi retransmis, dup un anumit interval de temporizare, ceea ce produce diminuarea capacitii de transport a reelei, prin multiplicarea pachetelor. Dac intervalul de temporizare este prea scurt, duplicatele pachetelor vor fi emise n mod inutil, deoarece posibilitile reelei nu au fost cu siguran mbuntite n mod satisfctor, iar duplicatele nu fac dect s sporeasc nivelul congestiei. Dac ns intervalul este prea mare, comparabil cu timpul de tranzit prin reea, s-ar putea atinge limita de ateptare a confirmrilor i deci semnalizarea deranjamentelor. O perfecionare a mecanismului prevede distrugerea cu precdere a pachetelor care nu au voiajat prea mult prin reea, adic a acelora pentru care nu sa depus un efort prea mare de prelucrare i de consum de resurse. nseamn c la limita extrem, n situaia n care numrul memoriilor ataate noilor pachete depete un anumit prag, vor fi distruse sau respinse mai nti pachetele furnizate de terminalele proprii i abia apoi pachetele aflate n tranzit prin nod.

11.6.3 Limitarea numrului de pachete

Congestia reelei poate fi redus dac se urmrete permanent respectarea unui anumit numr maxim de pachete permise n reea. n acest scop se poate folosi "metoda isaritmic" propus n 1972 de Davies, care prevede pstrarea constant a numrului de pachete n reea: n interiorul reelei "circul" un anumit numr de "permise" (jetoane). Cnd un ruter vrea s trimit un pachet emis de un terminal propriu, el trebuie s captureze un jeton din reea i s-l distrug. Cnd pachetul ajunge la destinaie, nodul respectiv regenereaz jetonul, ceea ce nseamn c permanent numrul pachetelor din reea nu depete numrul iniial al jetoanelor, adic nu se atinge situaia de congestie.

n aplicarea acestei metode, simple de altfel, exist ns anumite riscuri: - dac un nod se defecteaz, el nu va mai genera jetoane atunci cnd pachetele care-i sunt destinate ajung la el. Scade astfel debitul reelei. n consecin ar trebui s se inspecteze periodic numrul de permise din reea, dar depistarea numrului exact de permise este o operaie suficient de dificil. - distribuia jetoanelor ntre noduri este o problem n sine, mai ales la reele de mari dimensiuni. Dac se dorete transmiterea unor fiiere de mari dimensiuni, ar trebui s se poat aloca unui nod mai multe permise (eventual prin intermediul unui gestionar central al jetoanelor), dar aceast soluie duce inechiti ntre noduri. Un compromis ar fi stabilirea unei limite maxime pentru numrul jetoanelor alocate unui singur nod.

11.6.4 Controlul fluxului

Controlul de flux se folosete pentru a evita ajungerea reelei n stare de congestie. Deoarece de obicei nu exist un arbitru care s poat supraveghea toate nodurile din reea, controlul de flux se limiteaz la a evita saturarea unui nod de ctre vecinii si. Dar cu siguran c acest lucru nu poate garanta c ntreaga reea funcioneaz corect. Mecanismul de control de flux se bazeaz pe estimarea unui trafic mediu cerut de un utilizator. Dac ns traficul este neregulat, controlul de flux nu va permite depirea cu mult a traficului mediu, fr ns a "recompensa" ntr-un fel perioadele cnd traficul este redus. Cea mai utilizat metod de a face controlul de trafic este de a limita numrul de circuite virtuale simultan folosite. Preul pltit este reducerea traficului maxim care poate fi suportat de ctre reea.

11.6.5 Controlul traficului cu "pachete de strangulare"

Pentru a nu reduce artificial volumul traficului ntre b pereche de noduri, se dovedete necesar existena unui mecanism care s sesizeze corect i rapid intrarea n congestie a sistemului. O metoda posibil este urmtoarea: fiecare nod supravegheaz ratele de utilizare ale ieirilor sale. Se asociaz o variabil real u fiecrei linii de ieire, avnd valori cuprinse ntre 0 i 1 i reprezentnd utilizarea recent a liniei. Pentru a avea o estimare ct mai bun a variabilei u, se "citete" utilizarea instantanee a liniei, n mod periodic cu o frecven constant a (aceasta poate fi considerat rapiditatea cu care ruterul "uit" istoria sa recent). Se realizeaz cu alte cuvinte o eantionare f (de valoare 1 sau 0) a utilizrii liniei, ceea ce permite o reactualizare periodic a variabilei u, folosind formula:

u nou = au vechi + (1 a ) f
Dac u este n vecintatea pragului de congestie, atunci linia de ieire intr n starea "atenie". Toate pachetele care doresc acea ieire sunt marcate (se seteaz un bit special n antet), continundu-i drumul n mod normal. n plus, ruterul trimite, ctre nodurile surs ale pachetelor marcate, o informaie special sub forma unui "pachet de strangulare", prin care se indic destinaia coninut n pachetele marcate. La rndul lor, pachetele marcate nu pot produce pachete de strangulare. Cnd nodul surs primete un asemenea pachet, el i va reduce pentru un timp volumul de trafic spre destinaia precizat n pachet. n acest fel se asigur un mecanism de reacie, prin care se poate reduce volumul traficului pe anumite relaii, eliminnd diferite cauze de suprasarcin din reea.

11.7 Caracteristicile pachetelor

Noiunea de pachet, folosit pentru a defini un segment din fluxul binar scurs n reelele numerice, este preluat din lexicul serviciului de mesagerie al potei, n care se mai utilizeaz i denumirea de colet. Preluarea noiunii a fost favorizat de prezena unor similitudini de caracteristici i metode de manevrare a elementelor astfel definite n cele dou tipuri de servicii de comunicaii. Astfel, n ambele cazuri, pe pachete trebuie se nscrie adresa destinatarului i cea a expeditorului. De asemenea, pentru taxarea serviciului, pachetelor li se consider o caracteristic fizic: greutatea coletelor potale, exprimat kilograme (sau submultipli) i respectiv, lungimea pachetelor informaionale numerice, exprimat n bii. Desigur c analogia nu poate fi total, serviciul de mesagerie ocupndu-se cu transportul fizic de marf, iar serviciul de comutare de pachete avnd ca sarcin transferul informaiei prin intermediul semnalelor electrice. De aceea, n continuare, se trec n revist i se prezint succint principalele caracteristici ale pachetelor ce traverseaz reelele numerice cu comutaie de pachete:
Lungimea pachetelor

Stabilirea lungimii pachetelor este o problem de optimizare care ia n considerare o serie de factori precum: - timpul mediu de tranzit (ntrzierea) prin reea; - raportul dintre sarcina util (neto), care corespunde segmentului informaional de transportat, i sarcina total (bruto), care include i informaia adiional necesar operrii n reea; - capacitile de memorare din nodurile reelei; - probabilitatea recepionrii eronate; - volumul de trafic deservit. Rezolvarea acestei probleme a necesitat studii teoretice i experimentale care au condus n prezent ia utilizarea de pachete cu lungimi cuprinse ntre 100 i 10.000 de bii.

ncapsularea pachetelor

Nodurile unei reele de comutaie de pachete funcioneaz ca sisteme teleinformatice a cror activitate se desfoar pe baz de protocoale definite conform modelului OSI. Din acest punct de vedere, comutaia de pachete implic, n general, primele trei niveluri i anume: fizic, de date i reea. Pentru ca formatele unitilor de date, PDU (Protocol Date Unit), ale protocoalelor utilizate pe aceste trei niveluri (i nu numai) s nu fie interdependente, trecerea dintr-un format ntr-altul se face utiliznd principiul
ncapsulrii pachetelor.

Figura 11.15 Principiul ncapsulrii pachetelor (schema simplificat)

ncapsularea const n includerea complet a unei uniti de date de protocol


(pachet n cazul nivelului reea) n interiorul unei uniti de date de protocol de nivel inferior. Un exemplu n acest sens este oferit de figura 11.15, n care se prezint simplificat modul n care se desfoar ncapsularea n cadrul protocolului X.25. Acest protocol este dedicat conectrii terminalelor DTE (Data Terminal
Equipment) la o reea cu comutaie de pachete ([CCITT 84], [SCHW 87], [TONE

88], [HELG 91]). Se poate observa din figura 11.15 c mesajul recepionat de la nivelul superior este preluat de nivelul 3, este fragmentat i distribuit serial

nivelului 2 prin intermediul unor pachete, care la rndul lor sunt incluse rnd pe rnd n unitatea de date de protocol a nivelului 2 numit cadru.

Figura 11.16 Interconectarea unor reele cu comutaie de pachete ce utilizeaz

protocoale diferite
Datorit proprietii de recursivitate, ncapsularea ofer o soluie eficient de interconectare a diverse tipuri de reele cu comutaie de pachete. Pentru aceasta este suficient intercalarea unui sistem numit pasarel (gateway) car cunoscnd protocoalele utilizate de diferitele reele deservite, transfer informaia ntre reele, efectund ncapsularea la emisie i decapsularea la recepie, n conformitate cu protocoalele respective (figura 11.16).
Cmpurile pachetelor

Informaia

propriu-zis

(sarcina

util) mpreun

cu

informaiile

suplimentare de nivel 3, necesare rutrii n reea sunt localizate n cadrul unui pachet, constituit ca unitate de date de protocol, PDU (vezi modelul OSI), n zone predefinite numite cmpuri (fields). Ca exemplu, figura 11.17 prezint formatul unui pachet de date modulo 8 utilizat pe nivelul 3 al protocolului X.25. Semnificaiile i rolurile informaiilor nscrise n respectivele cmpuri sunt urmtoarele: - bitul Q - difereniaz (dac e necesar) informaia pe dou niveluri (de prioritate, de exemplu); - numrul grupului logic i numrul canalului logic - pereche de informaii care reprezint identitatea canalului virtual pus la dispoziia legturii de date; - numerele P(S) i P(R) - exprimate modulo 8, n cazul acestui format - sunt utilizate pentru controlul erorilor i reglarea fluxului, adic meninerea vitezei de

debitare la emisie n limite acceptate la recepie (pe parcursul traseului sau la destinaie); - bitul D - indic modul de desfurare al controlului de flux; - date utilizator - nmagazineaz coninutul unui fragment din mesajul primit de la nivelul superior; - .a.m.d. ([SCHW 87], [BORC 94]).

Figura 11.17 Formatul unui pachet de date modulo 8 (protocol X.25) Exemplul anterior este extras dintr-un protocol bazat pe conexiune, care asigur secvenialitatea la destinaie. Acest obiectiv nu mai este ns garantat n cadrul reelelor cu comutaie de pachete orientate pe lipsa conexiunii. n aceast situaie se impune ca formatele utilizate s conin un cmp destinat nregistrrii identitii pachetului corespunztor. Cu ajutorul acestei identiti (incrementate modulo un anumit numr) se poate reface la destinaie ordinea corect a pachetelor, utiliznd de exemplu un circuit de sortare al crui principiu de funcionare este prezentat n figura 11.18. nscrierea n memoria tampon se face pe baza identitilor nscrise n pachetele recepionate, ceea ce permite refacerea secvenialitii printr-o citire ordonat a memoriei tampon.

Figura 11.18 Principiul refacerii secvenialitii n privina detectrii erorilor, cele mai multe reele cu comutaie de pachete utilizeaz codurile ciclice CRC (Cyclic Redundancy Check) care ofer o metod eficient de ndeplinire a acestei funcii. Atunci cnd serviciul de comutaie se desfoar cu rspuns de confirmare (modelul OSI folosete acest n scop dou primitive, RESPONSE i CONFIRM), aceast funcie controleaz retransmiterea unitilor informaionale afectate de eroare; n caz contrar se procedeaz la abandonarea pachetelor eronate, pe parcursul rutrii sau chiar la destinaie. Principial, un cod ciclic corector se bazeaz pe alegerea unui dicionar de cuvinte de cod n care simbolurile binare reprezint coeficienii unor polinoame divizibile prin acelai polinom G numit polinom generator. n acest fel, efectul zgomotului asupra unui cuvnt de cod recepionat se poate sesiza (n anumite limite), dac la recepie restul obinut n urma mpririi polinomului corespunztor la polinomul generator este diferit de zero. Intuitiv, procesul de codare-decodare

CRC se desfoar astfel:


1. Compune structura pachetului - 101.......001 (coninut pachet) 2. Adaug cmpul CRC n car toi biii sunt "0" - 101.......001 (coninut pachet); 00......0 (cmp CRC) 3. mparte ntreaga secven la polinomul generator G Rest (cmp CRC)

4. Introdu restul n cmpul CRC i ncepe transmisia 101......001 (coninut pachet); Rest (coninut CRC) 5. Perturbarea eventual a coninutului pachetului Informaie + zgomot 6. La recepie mparte ntreaga structur primit la acelai polinom generator G i reine restul (Informaie +zgomot)/ polinom G = ct + rest 7. Analizeaz restul: dac este zero, atunci secvena nu a fost perturbat (sau a fost modificat ntr-o manier care depete posibilitile deteciei!); dac nu, atunci secvena este eronat. n anumite limite, codurile ciclice au i posibilitatea de a corecta erorile. Cu toate acestea, n practic se prefer soluia retransmiterii secvenei eronate n locul celei de corectare, a crei complexitate influeneaz negativ performanele transmisiei. Un exemplu de antet (header) coninut ntr-un format de pachet utilizat ntr-un mediu de comutaie orientat pe lipsa conexiunii poate fi urmtorul: FLAG DST node SRC node FORWARD

Aceast structur face parte din setul de formate de pachete utilizate n reele cu arhitectur DNA (Digital Network Arhitecture) dezvoltat de DEC. Informaia coninut n antet cuprinde urmtoarele cmpuri: - FLAG - octetul de fanioane necesare specificrii tipului de pachet (de date, de control al rulrii etc.); - DST node - perechea de octei ce reprezint adresa nodului destinaie; - SRC node - perechea de octei ce reprezint adresa nodului surs; - FORWARD - contorul numrului de noduri tranzitate de pachetul n cauz (este necesar deoarece rutarea n reea folosete un algoritm distribuit care, n perioadele tranzitorii, poate favoriza circulaia n bucl a pachetelor).

11.8 Interfaa de acces la reea

Reelele de telecomunicaii sunt destinate interconectrii utilizatorilor acestora. Mijloacele prin care echipamentul unui utilizator (n tehnologia X.25 numit DTE, Data Terminal Equipment) se conecteaz la o reea poart denumirea de interfee de utilizator sau interfee de acces la reea. Aceste interfee au ca rol principal creterea eficienei de utilizare a capacitilor cilor de comunicaie dintre noduri, prin multiplexarea / concentrarea statistic a mai multor fluxuri de date cu debit sczut i/sau intermitent (sporadic).

Figura 11.19 Accesul prin porturi dedicate Principial, exist dou tipuri distincte de tehnici (interfee) de acces la reea: prin linii (medii de comunicaie) individuale, respectiv prin linii (ci de comunicaie) partajate (utilizate n comun).
a) Accesul prin linii individuale:

echipamentele

utilizatorilor

se

conecteaz la elementele active ale unor reele (multiplexor,

concentrator,

comutator) prin intermediul unor porturi dedicate (figura 11.19). Aceste porturi memoreaz independent mesajele recepionate, asigurnd astfel un transfer de informaie lipsit de conflicte. Citirea mesajelor din porturi n vederea transmisiei, n ntregime sau fragmentat, pe liniile de ieire corespunztoare se realizeaz prin sondare (scanare) periodic sau pe baza unui mecanism de ntreruperi. Disciplina

extragerii informaiei din memoriile tampon ale porturilor este, n general de tip FIFO (First In First Out), adic.......... ......deterministe (vezi cadrele MIC), tehnic ce este proprie comutaiei de circuite, i multiplexrii statistice (asincron), ce este proprie comutaiei ATM (vezi capitolul "Comutaie rapid de pachete"). Adoptarea concret a uneia dintre aceste dou tehnici (vezi Anexa 5) se face funcie de context, prin compararea rezultatelor obinute n urma evalurii performanelor ce le caracterizeaz. Performanele pot fi evaluate cu ajutorul modelelor teoretice dezvoltate n cadrul teoriei sistemelor (irurilor) de servire cu ateptare (modelele M/M/1 , M/G/1 etc.) i/sau prin intermediul programelor specializate de simulare i analiz statistic (QNAP, OPNET etc.).
b) Accesul prin linii partajate este caracteristic aplicaiilor n care un grup

de utilizatori este conectat la reea printr-o linie comun de acces (de exemplu un canal radio n care toi utilizatorii transmit pe aceeai frecven). n acest caz, avnd la dispoziie o unic legtur cu reeaua, utilizatorii pot intra n conflict dac inteniile lor de transmitere de mesaje se suprapun n timp. Din acest motiv, pentru a face fa unor astfel de situaii, accesul n reea prin linie partajat trebuie s dein o strategie de arbitraj, care s rezolve echitabil acest gen de conflicte. Principial, accesul la linia partajat poate urmri fie prevenirea fie

rezolvarea situaiilor conflictuale. Pentru prevenirea strilor conflictuale, accesul


se face pe baza unui control ce poate fi exercitat dintr-un centru supervizor (acces
cu comand centralizat) sau transferat de la un terminal la altul (acces cu transfer de comand). Pentru rezolvarea situaiilor conflictuale, accesul se face

fr o coordonare prealabil (acces aleatoriu), toate staiile fiind responsabile de rezolvarea strilor conflictuale. Aceste stri sunt sesizate prin detectarea

coliziunilor ntre pachete pe linia partajat, iar rezolvarea lor urmeaz o anumit
strategie (algoritm), de tip Aloha, "n trane" (slotted) Aloha etc. n ncheiere, trebuie observat c tehnicile de acces la reea urmresc s ofere soluii tehnico-economice optime diverselor aplicaii crora le sunt destinate.

Astfel, n general, tehnicile de acces prin linii individuale se preteaz situaiilor n care traficul provenit de la terminale se caracterizeaz prin regularitate i constrngeri temporale, iar tehnicile de acces prin linie partajat i gsesc aplicarea acolo unde debitul informaional este sporadic i tolerana fa de ntrzieri este relativ mare (de ordinul secundelor). Pe lng rolul de conectare la reea, interfeele de acces ndeplinesc frecvent i funcia de interconectare a terminalelor deservite, realizndu-se astfel o descentralizare a operaiilor de comutaie. Un asemenea exemplu l reprezint reelele locale (LAN) de tip Ethernet, ce au fost inventate de Robert Metcalfe i David Boggs de la Centrul de Cercetri al firmei XEROX. Ideea de baz este aceea de a utiliza n comun un singur cablu de transmisie (ether) ntre mai multe terminale (figura 11.20). Pentru a preveni transmisiile simultane, reeaua a fost nzestrat cu un algoritm de acces conform cruia, nainte de a transmite, fiecare terminal se asigur (ascultnd) c linia de comunicaie nu este utilizat. Dac condiia este satisfcut, transmisia se face rapid (de exemplu la 10Mbit/sec), pentru ca ocuparea canalului s fie ct mai mic.

Figura 11.20 Exemplu de reea ETHERNET

Dei cu anse mici innd cont de timpii redui de propagare prin cablu lipsa

complet a coliziunilor, algoritmul de rutare fiind prevzut cu un set suplimentar


de reguli de rezolvare a acestor situaii. Din acest motiv, reelele Ethernet sunt cunoscute i sub denumirea de sisteme CD/CSMA (Collision Detect / Carrier
Sense Multiple Acces). Acest lucru se datoreaz faptului c algoritmul de acces

conine i reguli necesare rezolvrii coliziunilor, a cror apariie nu poate fi evitat complet prin ascultarea canalului, chiar n condiiile unor timpi de foarte mici (reflexia undelor fiind absorbit de terminatori). Ethernet reprezint unul dintre numeroasele standarde ntlnite n domeniul reelelor de date. Aceste standarde s-au impus ca urmare a afirmrii i rspndirii unui anumit produs sau ca rezultat al negocierilor ntre productorii de sisteme competitive. Odat cu creterea interesului pentru intercomunicarea diferitelor reele (sisteme) s-a accentuat i rolul organismelor internaionale responsabile cu standardizarea comunicaiilor. n acest context, eforturile diverselor grupuri de studiu s-au canalizat n special n direcia stabilirii unor principii de urmat n fazele de proiectare a sistemelor, obinndu-se n final piatra de temelie a standardizrii i anume conceptul OSI
sistemelor deschise.

propagare

de

interconectare a