Home - Rasfoiesc.com
Educatie Sanatate Inginerie Business Familie Hobby Legal
Doar rabdarea si perseverenta in invatare aduce rezultate bune.stiinta, numere naturale, teoreme, multimi, calcule, ecuatii, sisteme




Biologie Chimie Didactica Fizica Geografie Informatica
Istorie Literatura Matematica Psihologie

Retele calculatoare


Index » educatie » » informatica » Retele calculatoare
» Rutele informatiei - trasee de rutare


Rutele informatiei - trasee de rutare


In drumul sau de la o retea la alta, de la o sursa catre o destinatie, informatia intalneste cel putin un nod (sau un "hop"), adica un calculator care inlesneste transportul acesteia. Aceste noduri comunica deoarece, anterior, au fost supuse unei operatiuni de "bridging", adica unei alocari de adrese si creare de legaturi de comunicatie. Rutarea nu este insa un "bridging". Diferenta este foarte importanta: bridging-ul se face pe layer 2 (adica nivelul link-urilor), iar rutarea, cea care se ocupa efectiv de transferul informatiei, apare pe layer 3, cel dedicat structurii de retea. Bazele rutarii au fost explicate in literatura informatica acum mai bine de doua decenii, insa popularitatea comerciala si-a dobandit-o spre mijlocul anilor 1980. Aceasta pentru ca, relativ recent, internetworking-ul s-a dezvoltat pe scara larga. Rutarea implica doua activitati de baza: determinarea cailor de rutare optime si transportul grupurilor de informatii, in mod tipic denumite pachete. In contextul procesului de rutare, a doua sa parte poarta numele de switching. Desi switching-ul poate fi facut relativ simplu, determinarea caii optime poate fi foarte complexa.

Cum se determina un traseu de rutare?

Fara a sti prea multe despre procedurile de rutare, putem considera mai intai ca traseul optim este cel de lungi-me minima. Pentru aceasta se folosesc algoritmi de rutare care initializeaza si administreaza tabele de rutare in care sunt inscrise, printre altele, toate distantele dintre rutere. De exemplu, un ruter va memora asociatiile dintre o destinatie finala si cel mai apropiat ruter in calea optima catre care trebuie sa trimita pachetele de date. In momentul in care un ruter primeste un pachet de date, ii verifica adresa de destinatie si incearca o asociere a acesteia cu ruterul cel mai apropiat.
Tabelele de rutare pot contine si alte informatii, cum ar fi cele despre calita-tea unui anumit traseu. Ruterul com-para lungimile, le pondereaza cu gradul de performanta si determina calea op-tima. Dimensiunea rezultanta poate diferi in functie de algoritmul de rutare folosit. Vom descrie mai tarziu cateva dintre aceste metode de dimensionare. Ruterele comunica unul cu celalalt si se ajuta reciproc la mentinerea tabelelor de rutare prin transmisia multor tipuri de mesaje cum ar fi cele de "update" sau de "link-state". Analizand mesajele de "update" de la toate nodurile la care are acces, un ruter poate sa-si construiasca o imagine detaliata a topologiei retelei globale. Printr-un me-saj de "link-state", un ruter le informeaza pe toate celelalte despre starea si tipul conexiunilor expeditorului de mesaj. Acest mesaj poate fi folosit, de asemenea, in crearea tabelelor de rutare.



Switching

Algoritmii de switching (comutare) sunt relativ simpli si sunt fundamental aceiasi pentru majoritatea protocoale-lor de rutare. Pentru a ilustra mai bine acest proces sa ne imaginam ca dorim sa trimitem o scrisoare la o adresa din Japonia. Adresa de pe plic, cea a destinatarului, poate fi asociata adresei de protocol, sau de layer 3. Ea nu se modifica. Pe parcurs, scrisoarea va trebui sa treaca prin mai multe oficii postale (rutere). Sa zicem ca nu exista o legatura aeriana directa intre Bucuresti si Tokyo. Scrisoarea va trebui sa parcurga insa un drum optim, astfel incat sa ajunga intacta si cat mai rapid la destinatar. De aceea, oficiul postal (ruterul) din Bucuresti va trebui sa aleaga modalitatea in care sa trimita scrisoarea: fie folosind traseul Beijing-Seul-Tokyo, fie Amsterdam-New York-Los Angeles-Tokyo. Numarul de hop-uri este, in cazul al doilea, mai mare. Insa siguranta poate fi mai mare si timpul transferului mai redus, datorita eficientei oficiilor postale din orasele de pe parcurs. Odata facuta alegerea celui de-al doilea traseu, prin algoritmul de rutare bazat pe fiabilitate si intarziere minima, scrisorii i se va atasa o prima adresa de layer 2, cea a oficiului din Amsterdam.
Scrisoarea ajunge la ruterul din Amsterdam, care trebuie sa optimizeze la randul sau traseul. Analizand cu propriul algoritm de rutare legaturile posibile, ruterul din Amsterdam observa ca legatura cu New-York-ul este intrerupta. El va trebui sa decida trimiterea scrisorii pe primul traseu optim disponibil. Interogand toate ruterele (oficii postale) cu care este in legatura, ruterul din Amsterdam decide sa ruteze scrisoarea prin Sydney, stiind ca legatura Sydney-Tokyo este sigura. Pe scrisoare va aparea noua adre-sa de layer 2, cea a ruterului din Sydney, iar adresa de protocol, de layer 3 a destinatarului final, ramane neschimbata. Sa explicam acum si intr-un limbaj mai tehnic. In majoritatea cazurilor, primul ruter stabileste ca trebuie sa trimita un pachet unui alt ruter. Avand adresa de layer 3 a ruterului destinatie (presupunem ca o are in tabela de adrese), ruterul sursa trimite un pachet pe adresa fizica de tip MAC (Media Access Control) a urmatorului ruter, stabilita deja prin bridging. Acest mesaj contine adresa de protocol, sau de layer 3, a ruterului destinatie. In timp ce examineaza adresa de protocol a destinatiei finale pentru pachetul trimis, al doilea ruter determina daca poate sau nu sa inainteze pachetul catre urmatorul ruter (hop). Daca ruterul doi nu cunoaste cum sau unde sa trimita pachetul, atunci il elimina sau il trimite inapoi la primul ruter insotit de un mesaj de eroa-re. In caz contrar, modifica adresa fizica (de layer 2) pentru urmatorul hop si transmite pachetul. La un moment dat, ruterul care primeste pachetul de date este si destinatia finala a acestuia. In tot acest parcurs pachetul s-a deplasat de la un ruter la celalalt. Pe parcurs i s-a modificat numai adresa de pe nivelul fizic (layer 2), in timp ce adresa de protocol (layer 3) a ramas neschimbata. Discutia de mai sus descrie procesul de switching intre un sistem sursa si unul destinatie. Organizatia Internationala de Standardizare (ISO) a elaborat o terminologie ierarhizata folosita in descrierea acestui proces. Prin aceasta terminologie, dispozitivele de retea fara capacitatea de a inainta pachete intre subretele sunt denumite "End Systems" (ESs), in timp ce sistemele cu aceasta capacitate sunt denumite "Intermediate Systems" (ISs). Cele din urma sunt subdivizate in cele care pot comunica in interiorul domeniilor de rutare (intradomeniu) si cele care pot comunica atat in interiorul cat si intre domeniile de rutare (interdomeniu). Domeniile de rutare sunt denumite si sisteme autonome. Cu anumite protocoale, domeniile de rutare pot fi divizate in zone de rutare, dar protocoalele de rutare sunt inca folosite pentru switching atat in interiorul cat si intre zone.

Proiectarea algoritmilor de rutare

Algoritmii de rutare pot fi deosebiti dupa mai multe caracteristici. Mai intai, scopul principal al proiectarii algorit-mului poate afecta functionarea proto-colului rezultant. Apoi, exista mai multe tipuri de algoritmi de rutare, iar fiecare dintre acestia are un impact diferit asupra resurselor retelei si ruterului. In sfarsit, algoritmii de rutare folosesc o varietate larga de sisteme de masura care afecteaza calculul rutelor optimale. Algoritmii de rutare sunt proiectati avand in vedere una sau mai multe dintre urmatoarele criterii de performanta: optimalitate, simplitate si rapiditate, robustete si stabilitate, convergenta rapida, flexibilitate. Optimalitatea se refera la capacitatea algoritmului de a selecta cea mai buna cale, in functie de sistemul de masura a distantei si ponderile folosite in calcule. De exemplu, un algoritm poate folosi un numar de hop-uri si intarzieri prestabilit, dar poate pondera mai mult aceste intarzieri in calcule. Algoritmii de rutare trebuie proiectati cat mai simplu posibil. Cu alte cuvinte, un algoritm trebuie sa ofere o functionalitate eficienta, cu un software si putere de calcul minime.
Randamentul este in special important atunci cand software-ul algoritmului trebuie sa ruleze pe un computer cu resurse fizice limitate. Robustetea algoritmilor presupune functionarea corecta in conditiile celor mai neobisnuite si neprevazute circumstante, cum ar fi defectiuni hardware, supraincarcare, implementari incorecte. Toate aceste defectiuni apar, in general, datorita pozitionarii ruterelor in punctele de jonctiune ale retelelor, fapt ce cauzeaza probleme severe in cazul defectiunilor acestora. In plus, algoritmii de rutare trebuie sa convearga foarte rapid. Convergenta poate fi considerata ca un consens la care ajung toate ruterele asupra cailor optime. In cazul in care un eveniment face ca un ruter sa fie inaccesibil, celelalte rutere trebuie sa-si redistribuie mesajele de update si sa stimuleze, in acelasi timp, recalcularea cailor optimale, ajungand la un consens in ceea ce priveste noua structura a tabelului de rutare. Algoritmii de rutare care converg lent pot duce la formarea de bucle de rutare sau caderi ale retelei. Flexibilitatea algoritmilor de rutare inseamna adaptarea acestora rapida si precisa la cele mai diverse situatii survenite in retea. Sa presupunem, de exemplu, ca un segment de retea a cazut. In clipa in care ruterele sunt informate de problema, algoritmii vor selecta cat mai rapid urmatoarea cale optima pentru toate rutele care folosesc acel segment. Algoritmii de rutare pot fi programati, printre altele, sa se auto-adapteze la modificari ale latimii de banda a retelei, ale dimensiunii cozii de asteptare a ruterului si intarzierilor din retea.

Tipuri de algoritmi de rutare

Algoritmii de rutare sunt clasificati dupa urmatoarele criterii: statici sau dinamici, de cale unica sau multipla, orizontali sau ierarhici, de intra-domeniu sau de inter-domeniu, de legatura sau de distanta. Algoritmii statici nu sunt propriu-zis algoritmi, intrucat acestia nu calculeaza traseul minim, ci preiau pur si simplu o cale din tabelele introduse de administratorul de retea la instalarea ruterului. Aceste tabele nu se modifica decat prin interventia administratorului. Astfel ca ele pot fi utilizate numai intr-un trafic predictibil si o structura de retea relativ simpla. Datorita inertiei la modificarile survenite in retea, algoritmii statici sunt imposibil de folosit in retelele actuale, in continua extindere.

majoritatea algoritmilor de rutare existenti sunt de tip dinamic, care se autoajusteaza prin analizarea mesajelor de update primite in procesul rutarii. Daca mesajul indica o modificare a retelei, software-ul de rutare recalculeaza caile si trimite noi mesaje de update. Acestea penetreaza reteaua, stimuland ruterele din fiecare hop pentru a rula din nou algoritmii proprii si a-si schimba tabelele de rutare in consecinta. Algoritmii dinamici pot fi insotiti de rutari statice atunci cand este posibil. De exemplu, toate mesajele care nu pot fi rutate, sau contin adrese necunoscute, pot fi transferate catre un acelasi ruter care, de obicei, trimite un mesaj de eroare corespunzator. Unele protocoale de rutare sofisticate suporta transportul pe multiple cai catre aceeasi destinatie. Spre deosebire de algoritmii de cale unica, acesti algoritmi de cale multipla permit multiplexarea traficului prin mai multe linii. Avantajele lor sunt evidente: o viteza si o fiabilitate substantial imbunatatite. Intr-un sistem de rutare pe orizontala, toate ruterele sunt egale ca importanta, in timp ce intr-un sistem ierarhic unele rutere au o importanta mai mare fata de celelalte. Ruterele principale formeaza un backbone (trunchi) de rutare spre care se indreapta toate pachetele din ramurile adiacente. Odata ajunse la un ruter de backbone, pachetele sunt transferate prin algoritmi orizontali (peer-to-peer) catre un alt ruter de backbone care raspunde de setul de ramificatii pe care se gaseste destinatarul. Transmisia se va face acum pe calea calculata in sistem ierarhic descrescator, pe ramurile optime. Pentru a fi eficiente, sistemele de rutare isi desemneaza un grup logic de noduri, denumite domenii, sisteme autonome sau zone. In sistemele ierarhice unele rutere dintr-un domeniu pot comunica cu rutere din alte domenii, in timp ce toate celelalte rutere pot comunica numai cu ruterele din domeniul propriu. In retelele foarte mari pot exista nivele ierarhice suplimentare, in care ruterele de la cel mai inalt nivel ierarhic formeaza un backbone de rutare.
Avantajul principal al rutarii ierarhice este acela ca imita organizarea societatilor comerciale. Majoritatea comunicatiilor in retea apare in interiorul unor grupuri mici ale unei companii, denumite domenii. Fiindca ruterele de intra-domeniu trebuie sa cunoasca informatii numai despre celelalte rutere din interiorul domeniului, algoritmii lor de rutare pot fi simplificati si, in functie de algoritmul de rutare folosit, traficul de mesaje update poate fi redus corespunzator. Unii algoritmi de rutare presupun ca nodul sursa ("host") va determina toata calea de transmisie. Acest procedeu poarta denumirea de rutare la sursa. Ruterele care executa o astfel de rutare reactioneaza in principal ca dispozitive de stocare si retransmitere, trimitand pachetul catre urmatorul hop, fara nici un fel de grija suplimentara.
Alti algoritmi presupun ca host-ul nu stie nimic despre rutele disponibile. In acesti algoritmi, ruterele determina calea intre retele, bazandu-se pe ultimile calcule efectuate. In primul tip de sistem, host-ul este cel care poseda "inteligenta" in timp ce in al doilea sistem ruterele inglobeaza inteligenta. Sistemele bazate pe inteligenta sursei aleg mai des rutele optime, deoarece procesul de selectie se face inainte ca pachetul sa fie trimis efectiv. Insa tot acest efort de calcul al traiectoriei implica timp suplimentar si marirea traficului de update. Algoritmii de link-state (starea legaturii) transmit informatia de rutare catre toate nodurile de comunicatie inter-retea. Fiecare ruter, totusi, trimite numai portiunea tabelului de rutare care descrie starea propriilor sale legaturi. Celalalt tip de algoritmi, bazati pe vectorul de distanta, apeleaza fiecare ruter din imediata vecinatate si ii solicita o portiune sau intreg tabelul sau de rutare. Prin urmare algoritmii de link-state trimit mesaje scurte de update catre toate ruterele, in timp ce algoritmii de distanta trimit mesaje mai consistente catre toate ruterele vecine. Datorita convergentei lor mai rapide, algoritmii de tip link-state evita formarea de bucle de rutare, insa solicita mai multa putere a unitatii centrale si mai multa memorie, comparativ cu cei bazati pe distanta. Implementarea primului tip este, de aceea, mai scumpa si poate fi facuta doar pe sisteme performante.

Criterii de performanta pentru algoritmii de rutare

Tabelele de rutare contin informa-tiile folosite de software-ul de switching pentru a selecta cea mai buna cale. Ne intrebam insa: cum sunt efectiv elaborate aceste tabele? Care este informatia pe care o contin? Cum determina algoritmii de rutare care cale este preferabila celorlalte?
Pentru minimizarea drumului parcurs de date catre destinatie, algoritmii folosesc numeroase criterii de performanta. Cei mai sofisticati combina mai multe astfel de criterii intr-un sistem hibrid. Cele mai importante determinari se refera la lungimea caii de transport, fiabilitate, intarziere totala, latime de banda, incarcare, costul comunicatiei. Evident, lungimea traseului este criteriul de performanta cel mai folosit. Unele protocoale de rutare permit administratorilor de retea sa aloce costuri arbitrare pentru fiecare legatura. Alte protocoale de rutare determina numarul de hop-uri, adica numarul de treceri prin diverse elemente de redirectionare (rutere de exemplu) prin care pachetul trebuie sa treaca in drumul sau de la sursa spre destinatie. Fiabilitatea, in contextul algoritmilor de rutare, se refera la gradul de dependenta de fiecare conexiune, exprimat in general functie de rata de eroare pe bit. Unele legaturi pot avea caderi mai numeroase decat altele, timpul de repunere in functiune fiind, si el, diferit. Orice fac-tor de fiabilitate poate fi luat in consideratie. Cuantificarea se face in valori numerice arbitrare alocate segmentelor de retea de catre administratori. Intarzierile de rutare se refera la timpul necesar transportului unui pachet de la o sursa catre o destinatie si depind de multi factori, printre care latimea de banda a legaturilor intermediare, traseu, prin algoritmul de rutare bazat pe fiabilitate si intarziere minima, scrisorii i se va atasa cozile de asteptare la porturile fiecarui ruter accesat, congestionarea traficului in toate legaturile intermediare si distanta fizica de parcurs. Deoarece intarzierile reprezinta un conglomerat de mai multe variabile importante, ele reprezinta un criteriu de performanta foarte util.
Latimea de banda se refera la capacitatea de trafic al unei legaturi. Este de la sine inteles ca o retea Ethernet de 10 Mbps este superioara unei linii inchiriate de 64 Kbps, din acest punct de vedere. Desi latimea de banda este o valoare ce exprima viteza maxima posibila pe un anumit trunchi de retea, caile care trec prin retele cu latime de banda mare nu sunt intotdeauna mai bune decat cele realizate prin retele mai lente. De exemplu, daca o legatura cu latime de banda mare este ocupata, timpul real, necesar transmisiei pachetului catre destinatie, ar putea fi mai mare. Incarcarea se refera la gradul in care o resursa de retea, cum ar fi un ruter, este ocupata. Incarcarea poate fi calculata folosind, de exemplu, gradul de utilizare a procesorului sau numarul de pachete pe secunda servite. Monitorizarea acestor parametri in mod continuu poate fi in sine un proces consumator de resurse.
Marile retele, continand subretele, grupuri sau multiple computere host, creeaza probleme speciale pentru administratorii de sistem. Ca si managerii de retele locale, administratorii unor astfel de retele trebuie sa rezolve probleme aparute din cauza echipamentului de provenienta diferita, sisteme de operare multiple si costuri suplimentare datorate noilor servicii si aplicatii la care trebuie sa adereze. In acelasi timp administratorii acestor retele se afla in fata unor dificultati de selectie si mentinere in functionare a switch-urilor, ruterelor si gateway-urilor, care permit comunicarea unui numar mare de clustere de retea. Ruterele vor conecta retele separate din punct de vedere logic, functionand cu acelasi protocol de transport, cum este Transmission Control Pro- tocol/Internet Protocol (TCP/IP). Ruterele, operand la nivelul trei al retelei din modelul de referinta OSI (Open Systems Interconnection), sunt dispozitive bazate pe protocol. De aceea ele vor trebui sa suporte orice protocol de rutare din respectiva retea locala. La nivelul retelelor locale de intreprindere putem intalni o larga varietate de protocoale. Unele sunt universale, altele sunt implementate la nivel de hardware si dependente de elementele de retea folosite. Cele mai numeroase sunt "deschise" prin aceea ca au fost standardizate de catre agentiile oficiale. Dar despre protocoale vom vorbi intr-un numar viitor.





Politica de confidentialitate





Copyright © 2024 - Toate drepturile rezervate