CATEGORII DOCUMENTE |
CERINTELE DEARE ALE NIVELULUI RETEA
9
Vom prezenta, in continuare, o introducere a cerintelor pe care proiectantul nivelului retea trebuie sa le rezolve. Acestea includ serviciile furnizate nivelului transport si proiectarea interna a subretelei.
1.1 Comutare de pachete de tip Memoreaza-si-Retransmite (Store-and-Forward)
Dar inainte de a incepe explicarea detaliilor nivelului retea, merita probabil sa reinitializam contextul in care opereaza protocoalele de la nivelul retea. Acest context este prezentat in fig. 5-1. Componentele majore ale sistemului sunt echipamentul companiei de telecomunicatii (rutere conectate prin linii de transmisie), prezentat in interiorul ovalului umbrit, si echipamentul clientului, prezentat in afara ovalului. Gazda HI este conectata direct la unul dintre ruterelc companiei de telecomunicatii,/!, printr-o linie inchiriata. in contrast. ¡12 este intr-o retea LAN cu un ruter, F, detinut si operat de catre client. Acest ruter are, deasemeni, si o linie inchiriata catre echipamentul companiei de telecomunicatii. Am prezentat F ca fiind in afara ovalului, deoarece nu apartine companiei de telecomunicatii, dar in termeni de constructie, software si protocoale, probabil ca nu difera fata de rutercle acesteia. Este discutabil daca apartine subretelei, dar in contextul acestui capitol ruterele din localul clientului sunt coasiderate parte a subretelei deoarece ruleaza aceeasi algoritmi ca si ruterele companiei de telecomunicatii (si aici principala noastra preocupare sunt algoritmii).
Echipamentul companiei de
Fig. 5-1. Cadrul protocoalelor nivelului retea.
Acest echipament este folosit dupa cum urmeaza. O gazda care are de transmis un pachet il transmite celui mai apropiat ruter, fie in aceeasi retea IAN, fie printr-o legatura punct la punct cu compania de telecomunicatii. Pachetul este memorat acolo pana ajunge integral, astfel incat sa poata fi verificata suma de control. Apoi este trimis mai departe catre urmatorul ruter de pe traseu, pana ajunge la gazda destinatie, unde este livrat. Acest mecanism reprezinta comutarea de pachete de tip memorcaza-si-retransmite. asa cum am vazut in capitolele anterioare.
1.2 Servicii furnizate nivelului transport
Nivelul retea furnizeaza servicii nivelului transport la interfata dintre cele doua niveluri. O intrebare importanta este ce fel de servicii furnizeaza nivelul retea nivelului transport. Serviciile nivelului retea au fost proiectate avand in vedere urmatoarele scopuri:
1. Serviciile trebuie sa fie independente de tehnologia ruterului.
2. Nivelul transport trebuie sa fie independent de numarul, tipul si topologia ruterelor existente.
SEC. 1
3. Adresele de retea disponibile Ia nivelul transport trebuie sa foloseasca o schema de numerotare uniforma, chiar in cadrul retelelor LAN si WAN.
Obiectivele fiind stabilite, proiectantul nivelului retea are o mare libertate in a scrie specificatiile detaliate ale serviciilor oferite nivelului transport. Aceasta libertate degenereaza adesea intr-o apriga batalie intre doua tabere opuse. Problema centrala a discutiei este daca nivelul retea trebuie sa furnizeze servicii orientate pe conexiune sau servicii neorientate pe conexiune.
O tabara (reprezentata de comunitatea Internet) afirma ca scopul ruterului este de a transfera pachete si nimic mai mult. In viziunea lor (bazata pe experienta a aproape 30 de ani de exploatare a unei retele de calculatoare in functiune), subreteaua este inerent nesigura, indiferent cum ar fi proiectata. De aceea calculatoarele gazda trebuie sa accepte faptul ca reteaua este nesigura si sa faca controlul erorilor (i.e., detectia si corectia erorii) si controlul fluxului ele insele.
Acest punct de vedere duce rapid la concluzia ca serviciul retea trebuie sa fie neorientat pe conexiune, cu doua primitive SEND PACKET si RECEIVE PACKET si cu foarte putin in plus. in particular, nu trebuie facuta nici o operatie pentru controlul ordinii sau fluxului pachetelor pentru ca oricum calculatorul gazda va face acest lucru, si, de obicei, dublarea acestor operatii aduce un castig nesemnificativ. in continuare, fiecare pachet va trebui sa poarte intreaga adresa de destinatie, pentru ca fiecare pachet este independent de pachetele predecesoare, daca acestea exista.
Cealalta tabara (reprezentata de companiile de telefoane) afirma ca subreteaua trebuie sa asigure un serviciu orientat pe conexiune sigur. Ei sustin ca 100 de ani de experienta cu sistemul telefonic mondial reprezinta un ghid excelent. in aceasta perspectiva, calitatea serviciului este elementul dominant, si intr-o subretea fara conexiuni, calitatea serviciului este dificil de obtinut, in special pentru trafic in timp real cum ar fi voce si imagine.
Aceste doua tabere sunt cel mai bine exemplificate de Internet si retele ATM. Reteaua Internet ofera un serviciu la nivelul retea neorientat pe conexiune; retelele ATM ofera un serviciu la nivelul retea orientat pe conexiune. Totusi, este interesant de notat ca cu cat garantarea calitatii serviciului devine din ce in ce mai importanta, lnternetul evolueaza. in particular, incepe sa dobandeasca proprietati asociate normal cu serviciile orientate conexiune, asa cum vom vedea mai tarziu. De fapt, ne-am facut o parere despre aceasta evolutie in timpul studiului despre retele VLAN in Cap. 4.
13 Implementarea serviciului neorientat pe conexiune
Dupa ce am vazut cele doua clase de servicii pe aire nivelul retea le furnizeaza utilizatorilor sai, este momentul sa vedem functionarea interna a acestui nivel. Sunt posibile doua organizari diferite, in functie de tipul serviciului oferit. Daca este oferit un serviciu neorientat pe conexiune, atunci pachetele sunt trimise in subretea individual si dirijate independent de celelalte. Nu este necesara nici o initializare prealabila. in acest context, pachetele sunt numite frecvent datagrame (datagrams) (prin analogie cu telegramele), iar subreteaua este numita subretea datagrama (datagram subnet). Daca este folosit serviciul orientat conexiune, atunci, inainte de a trimite pachete de date, trebuie stabilita o cale de la ruterul sursa la ruterul destinatie. Aceasta conexiune este numita VC (virtual circuit, circuit virtual), prin analogic cu circuitele fizice care se stabilesc in sistemul telefonic, iar subreteaua este numita subretea cu circuite virtuale (virtual-circuit subnet). in aceasta sectiune vom studia subretele datagrama; in urmatoarea sectiune vom studia subretelele cu circuite virtuale.
Sa vedem cum functioneaza o subretea datagrama. Sa presupunem ca procesul PI din fig. 5-2 are un mesaj lung pentru procesul P2. El transmite mesajul nivelului transport, cu instructiunile de livrare catre procesul P2 aflat pe calculatorul gazda H2. Codul nivelului transport ruleaza De calculatorul
1 a : |
|
B ' |
B |
c ; |
c |
o! |
B |
e ; |
c |
F ¡ 1 |
c |
a : |
- |
B ; |
B |
c ; |
c |
Di |
B |
e ; |
B |
Fi |
B |
a ; |
a |
B ; |
a |
c |
, - |
D |
D |
e |
: e |
f |
e |
a! |
c |
B |
D |
c |
c |
D |
|
e |
! - |
F |
; F |
Dest.Ruta
Fig. 5-2. Dirijarea intr-o subretea datagrama.
Sa presupunem ca mesajul este de patru ori mai lung decat dimensiunea maxima a unui pachet, asa ca nivelul retea trebuie sa il sparga in patru pachete, 1,2,3, si 4 si sa le trimita pe fiecare in parte ruterului A, folosind un protocol punct-la-punct, de exemplu, PPP. Din acest punct controlul este preluat de compania de telecomunicatii. Fiecare ruter are o tabela interna care ii spune unde sa trimita pachete pentru fiecare destinatie posibila. Fiecare intrare in tabela este o pereche compusa din destinatie si linia de iesire folosita pentru acea destinatie. Pot fi folosite doar linii conectate direct. De exemplu, in fig. 5-2,-4 are doar doua linii de iesire - catre B si C - astfel ca fiecare pachet ce vine trebuie trimis catre unul dintre aceste rutere, chiar daca ultima destinatie este alt ruter. Tabela de rutare initiala a Iui.4 este prezentata in figura sub eticheta "initial'.
Cum au ajuns la A, pachetele 1, 2 si 3 au fost memorate pentru scurt timp (pentru verificarea sumei de control). Apoi fiecare a fost trimis mai departe catre C conform tabelei lui A. Pachetul 1 a fost apoi trimis mai departe catre E si apoi catre F. Cand a ajuns la F, a fost incapsulat intr-un cadru al nivelului legatura de date si trimis catre calculatorul gazda H2 prin reteaua LAN.
Totusi, ceva diferit s-a intamplat cu pachetul 4. Cand a ajuns la A a fost trimis catre rutenii B, chiar daca si el este destinat tot lui F. Dintr-un motiv oarecare, A a decis sa trimita pachetul 4 pe o ruta diferita de cea urmata dc primele trei. Poate ca a aflat despre o congestie undeva pe calea ACE
SEC 1
si si-a actualizat tabela de rutare, asa cum apare sub eticheta "mai tarziu'. Algoritmul ce administreaza tabelele si ia deciziile de rutare se numeste algoritm de rutare (routing algorithm). Algoritmii de rutare sunt unele dintre principalele elemente pe care Ie vom studia in acest capitol.
1.4 Implementarea serviciilor orientate pe conexiune
Pentru serviciile orientate conexiune, avem nevoie de o subretea cu circuite virtuale. Sa vedem cum functioneaza aceasta. Ideea care se sta la baza circuitelorVirtuale este evitarea alegerii unei noi cai (rute) pentru fiecare pachet trimis, ca in fig. 5-2. In schimb, atunci cand se stabileste o conexiune, se alege o cale intre masina sursa si masina destinatie, ca parte componenta a initializarii conexiunii si aceasta este memorata in tabelele ruterelor. Acea cale este folosita pentru tot traficul de pe conexiune, exact in acelasi mod in care functioneaza sistemul telefonic. Atunci cand conexiunea este eliberata, este inchis si circuitul virtual. In cazul serviciilor orientate conexiune, fiecare pachet poarta un identificator care spune carui circuit virtual ii apartine.
Tabela ruterului A
c! |
1 |
C; |
2 |
■_________ * |
Tabela ruterului C
i--- 1 a ; |
1 |
a i |
2 |
Tabela ruterului E
F ; |
1 |
F : |
2 |
In Out
Fig. 5-3. Dirijare in cadrul unei subretele cu circuite virtuale.
De exemplu, sa consideram situatia din fig. 5-3. Aici calculatorul gazda HI a stabilit conexiunea I cu calculatorul gazda H2. Aceasta este memorata ca prima intrare in fiecare tabela de rutare. Prima linie a tabelei lui ^ spune ca daca un pachet purtand identificatorul de conexiune 1 vine de la HI, atunci trebuie trimis catre ruterul C, dandu-i-sc identificatorul de conexiune I. Similar, prima intrare a lui C dirijeaza pachetul catre E, tot cu identificatorul de conexiune 1.
Acum sa vedem ce se intampla daca H3 vrea, de asemenea, sa stabileasca o conexiune cu H2. Alege identificatorul de conexiune 1 (deoarece initializeaza conexiunea si aceasta este singura conexiune) si indica subretelei sa stabileasca circuitul virtual. Aceasta conduce la a doua linie din tabele. Observati ca apare un conflict deoarece desi/1 poate distinge usor pachetele conexiunii 1 de la HI de pachetele conexiunii 1 de la 113, C nu poate face asta. Din acest motiv, A asociaza un identificator de conexiune diferit pentru traficul de iesire al celei de a doua conexiuni. Pentru evitarea conflictelor de acest gen ruterele trebuie Ba poata inlocui identificatorii de conexiune in pachetele care pleaca. in uncie contexte, aceasta se numeste comutarea etichetelor (labei switching).
1.5 Comparatie intre subretele cu circuite virtuale si subretele datagrama
Atat circuitele virtuale cat si datagramele au suporteri si oponenti. Vom incerca acum sa rezumam argumentele ambelor tabere. Principalele aspecte sunt prezentate in fig. 5-4, desi cei extrem de rigurosi ar putea probabil gasi un contraexcmplu pentru toate cele descrise in aceasta figura.
Problema |
Subretea datagrama |
Subretea cu circuite virtuale (CV) |
Stabilirea circuitului |
Nu este necesara |
Obligatorie |
Adresare |
Fiecare pachet contine adresa completa pentru sursa si destinatie |
Fiecare pachet contine un numar mic de CV |
lnforma|ii de stare |
Ruterele nu pastreaza informatii despre conexiuni |
Fiecare CV necesita spatiu pentru tabela ruterului per conexiune |
Dirijare |
Fiecare pachet este dirijat indepen dont |
Calea este stabilita la initierea CV; toate pachetele o urmeaza |
Efectul defectarii ruterului |
Nici unul, cu exceptia pachetelor pierdute in timpul defectarii |
Toate circuitele virtuale care trec prin ruterul defect sunt terminate |
Calitatea serviciului |
Dificil |
Simplu, daca pentru fiecare CV pot fi alocate in avans suficiente resurse |
Controlul congestiei |
Dificil |
Simplu, daca pentru fiecare CV pot fi alocate in avans suficiente resurse |
Fig. 5-4. Comparatie intre subretele datagrama si subretele cu circuite virtuale.
in interiorul subretelei exista situatii in care trebuie sa se aleaga intre facilitati antagoniste specifice fie circuitelor virtuale, fie datagramelor. Un astfel de compromis este acela intre spatiul de memorie al ruterului si latimea de banda. Circuitele virtuale permit pachetelor sa contina numere de circuite in locul unor adrese complete. Daca pachetul tinde sa fie foarte mic, atunci existenta unei adrese complete in fiecare pachet poale reprezenta o supraincarcare (overhead) importanta si deci o irosire a latimii de banda. Pretul platit pentru folosirea interna a arcuitelor virtuale este spatiul necesar pastrarii tabelei in ruter. Solutia mai ieftina este determinata de raportul intre costul circuitelor de comunicatie si cel al memoriei ruterului.
Alt compromis este cel intre timpul necesar stabilirii circuitului si timpul de analiza a adresei. Folosirea circuitelor virtuale presupune existenta unei faze initiale de stabilire a caii, care cerc timp si consuma resurse. Oricum, este usor sa ne imaginam ce se intampla cu un pachet de date intr-o subretea bazata pe circuite virtuale: ruterul foloseste numarul circuitului ca un index intr-o tabela pentru a afla unde merge pachetul. intr-o retea bazata pe datagrame, pentru a gasi intrarea corespunzatoare destinatiei se foloseste o procedura de cautare mult mai complicata.
O alta problema este cea a dimensiunii spatiului necesar pentru tabela din memoria ruterului. O subretea datagrama necesita o intrare pentru fiecare destinatie posibila, in timp ce o retea cu circuite virtuale necesita o intrare pentru fiecare circuit virtual. Totusi, acest avantaj este relativ iluzoriu deoarece si pachetele de initializare a conexiunii trebuie rutatc, iar ele folosesc adresele destinatie, la fel ca si datagramele.
Circuitele virtuale au unele avantaje in garantarea calitatii serviciului si evitarea congestionarii subretelei, deoarece resursele (de exemplu zone tampon, largime de banda si cicluri CPU) pot fi rezervate in avans, atunci cand se stabileste conexiunea. La sosirea pachetelor, latimea de banda necesara si capacitatea ruterului vor fi deja pregatite. Pentru o subretea bazata pe datagrame, evitarea congestionarii este mult mai dificila.
Pentru sistemele de prelucrare a tranzactiilor (de exemplu apelurile magazinelor pentru a verifica cumparaturi realizate cu carti de credit) overhead-ul implicat de stabilirea si eliberarea unui circuit virtual poate reduce cu usurinta utilitatea circuitului. Daca majoritatea traficului este de acest tip, folosirea interna a circuitelor virtuale in cadrul subretelei nu prea are sens. Pe de alta parte, ar putea fi de folos circuite virtuale permanente, stabilite manual si care sa dureze luni sau chiar ani.
Circuitele virtuale au o problema de vulnerabilitate. Daca un ruter se defecteaza si isi pierde continutul memoriei, atunci toate circuitele virtuale care treceau prin el sunt suprimate, chiar daca acesta isi revine dupa o secunda. Prin contrast, daca se defecteaza un ruter bazat pe datagrame vor fi afectati doar acei utilizatori care aveau pachete memorate temporar in cozile de asteptare ale ruterului si este posibil ca numarul lor sa fie si mai mic, in functie de cate pachete au fost deja confirmate. Pierderea liniei de comunicatie este fatala pentru circuitele virtuale care o folosesc, insa poate fi usor compensata daca se folosesc datagrame. De asemenea, datagramele permit ruterului sa echilibreze traficul prin subretea, deoarece caile pot fi modificate partial in cursul unei secvente lungi de pachete transmise.
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 1087
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved