Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




Arhitecturi si principii de operare in retele

Informatica


Arhitecturi si principii de operare în retele

Ierarhie de protocoale



Pentru a fi mai simple în proiectare, cele mai multe din rețele sunt organizate ca o suită de nivele (plane), fiecare nivel bazându-se pe predecesorul. Numărul de nivele, numele, conținutul și funcția fiecăruia diferă de la rețea la rețea. Obiectivul fiecărui nivel este de a oferi servicii nivelelor superioare, fără a se apela la detalii de implementare (complexitatea de implementare este ascunsă). Astfel, nivelul n de pe o mașină va comunica cu nivelul n de pe altă mașină. Regulile și convențiile folosite în această comunicație sunt cunoscute sub numele de protocolul nivelului n, fig 1. Entitățile corespunzătoare nivelelor corespondente de pe mașini diferite se numesc procese peer. Cu alte cuvinte se face o comunicație (mesaje, pachete) între procese peer-to-peer prin intermediul protocolului.


mediu fizic

 

Nivel 1

 

Nivel 1

 

protocol nivel 1

 

interfață nivel 1/2

 

fig 1 - nivele, protocoale și interfețe

În realitate, transferul datelor între nivelele n de pe două mașini diferite se face prin nivelele inferioare. În fig 1 comunicația virtuală se reprezintă prin linii punctate iar cea reală prin linii pline. Între nivele adiacente există o interfață care definește ce operații (primitive) și servicii (combinații de primitive) oferă nivelele inferioare celor superioare. Un obiectiv major în proiectarea numărului de nivele este definirea clară a interfețelor, ceea ce presupune o definire clară a funcțiilor fiecărui nivel. Acest mod de proiectare permite înlocuirea ușoară a implementării unui nivel cu altul (de exemplu, linii telefonice cu canale satelit). Mulțimea de nivele și protocoale formează arhitectura rețelei. Specificațiile arhitecturii trebuie să conțină informații care să permită o implementare conform protocolului. Atât detaliile implementării cât și specificațiile interfeței nu fac parte din arhitectură, fiind ascunse unui utilizator (pot varia de la o mașină la alta, dar respectă protocoalele și nivelele). Să considerăm propagarea unei comunicații prin cele 7 nivele din fig 1. Un mesaj m este produs de un proces ce se execută pe nivelul 7. Mesajul este trecut nivelului 6 conform definiției interfeței 6/7. Nivelul 6 transformă și el mesajul, să zicem că îl compresează și devine M și îl trece nivelului 5 prin interfața 5/6. Nivelul 5 să zicem că regularizează mesajele fără a le modifica, în sensul că nu transmite un mesaj recepționat nivelului 6 până ce nivelul 6 nu termină de rezolvat cu transmisia de mesaje. În cele mai multe din rețele nu există o limită privind mărimea mesajelor acceptate de nivelul 4, dar există o limită impusă de nivelul 3. Nivelul 4 sparge mesajele în unități mai mici prevăzându-le cu headere, fig 2.


fig 2 - fluxul de informații pentru comunicația virtuală de pe nivelul 7

Headerul include informație de control, ca de exemplu numere de secvență, pentru a permite nivelului 4 de pe mașina destinație să refacă mesajul din bucăți, în ordinea corectă, dacă nivelele inferioare nu mențin precedența unităților transmise. În alte nivele, headerele conțin mărimi ale datelor, mărci de timpi și alte câmpuri de control.


fig 3 - transformarea unui mesaj în Internet

În nivelul 3 se selectează linia de ieșire, se atașează propriul header 252q164c și se trec datele nivelului 2. Nivelul 2 adaugă fiecărei unități un header dar și un trailer și se trec rezultatele nivelului 1 pentru transmisia fizică. La recepție, mesajul urcă nivel de nivel, absorbindu-se headerele în consecință. Trebuie înțeleasă importanța comunicației virtuale/reale și diferența dintre protocol și interfață. Procesele peer de pe nivelul 4, de exemplu, consideră comunicația ca fiind orizontală folosind protocolul de pe nivelul 4. Ele dispun de proceduri ca SendToOtherSide și GetFromOtherSide, care realizează comunicația cu ajutorul nivelelor inferioare prin interfața 3/4. De exemplu, în fig 3 se prezintă transformarea unui mesaj trimis dintr-o aplicație prin TCP/IP Internet, mediul fizic fiind Ethernet.

Obiective în proiectarea nivelelor

Orice nivel trebuie să aibă un mecanism de stabilire a conexiunii. Este nevoie de o formă de adresare pentru specificarea unei destinații anume sau a unor destinații multiple. De asemenea, trebuie să existe un mecanism de terminare a unei conexiuni când nu mai este nevoie de ea. Alt set de decizii privesc regulile pentru transferul datelor. Astfel, datele ce sunt transmise numai într-o direcție se spune că comunică simplex. Datele ce comunică în ambele direcții, dar nu simultan, se spune că comunică half-duplex, iar cele care comunică în ambele direcții fără restricții, se spune că comunică full-duplex. Un protocol trebuie să determine câte canale logice corespund unei conexiuni și prioritatea lor. Multe rețele prevăd cel puțin două canale logice per conexiune, unul pentru date normale și altul pentru date urgente. Controlul erorilor este un obiectiv important deoarece mediul și circuitele fizice aferente nu sunt perfecte. Sunt cunoscute multe metode de detecție/corecție a erorilor, care trebuie să fie identice pentru doi parteneri de comunicație. Mai mult, receptorul trebuie să poată spune transmițătorului care mesaje s-au recepționat corect și care nu. Nu toate canalele de comunicație păstrează ordinea mesajelor. Pentru rezolvarea pierderii precedenței, protocolul trebuie să asigure mijloace de refacere. O soluție imediată este numerotarea mesajelor. O altă problemă ce trebuie rezolvată este aducerea la un numitor comun a vitezei de transmisie cu cea de recepție. Soluțiile propuse presupun un feedback al receptorului către transmițător. O altă problemă este inabilitatea unor nivele de a trata cu mesaje lungi. Astfel, se face dezasamblarea, transmiterea și recepționarea mesajelor. În unele cazuri poate fi întâlnită problema inversă, în care procesele solicită transmisia în unități prea mici, ce trebuie mai întâi asamblate mai multe într-un mesaj. Când este prea scump sau inoportun pentru stabilirea unei conexiuni proprii pentru fiecare pereche de procese, nivelul corespunzător poate decide folosirea aceleiași conexiuni pentru comunicații multiple, independente. Atâta timp cât multiplexarea/demultiplexarea se face transparent, ea poate fi folosită de orice nivel. Procedeul este folosit mai ales la nivel fizic unde traficul trebuie să partajeze aceleași circuite. Dacă există mai multe căi între sursă și destinație, trebuie selectată o rută. Uneori, această decizie este împărțită pe mai multe nivele.

Modelul de comunicație care cuprinde 7 nivele cu protocoalele aferente a fost propus de International Standard Organization (ISO) ca un prim pas în standardizarea intenațională a diferitelor protocoale (Day și Zimmermann, 1983). Acest model este denumit ISO OSI (Open Systems Interconnection) Reference Model deoarece tratează conectarea unor sisteme deschise, adică sisteme ce pot comunica cu oricare altele. Principiile aplicate în derivarea celor 7 nivele au fost :

un nivel trebuie creat dacă apare un plan de abstractizare diferit

orice nivel trebuie să realizeze o funcție bine definită

funcția fiecărui nivel trebuie aleasă pentru a se putea defini protocoale standardizate internațional

marginile unui nivel trebuie alese pentru minimizarea fluxului de informații între interfețe

numărul de nivele trebuie să fie nici prea mare (arhitectura devine inoperantă), nici prea mic (funcții diferite nu pot fi în același nivel)

În fig 4 se prezintă o rețea formată din 4 noduri, fiecare având încârcate un număr de nivele din cele 7.


fig 4 - modelul ISO/OSI pentru o rețea

R

 


F2

 

F1

 

D2

 

D1

 

F3

 

F2

 

F1

 

D3

 

D2

 

D1

 

date (D)

 

fizic (F)

 

Prezentăm pe scurt funcția fiecărui nivel :

aplicație - realizează comunicația între procesele user/aplicații. Celelalte nivele sunt create pentru a-l suporta pe acesta. Exemple de aplicații : email, www, ftp, SGBD distribuit, tele(video)conferencing

prezentare - se face conversia datelor într-un format comun, de exemplu little endian versus big endian

sesiune - se leagă două aplicații pe baza unei "legături", se realizează autentificarea, recuperarea din stări de eroare

transport - asigură un serviciu de transport universal (end-to-end data delivery), comunicație end-host to end-host, se pot multiplexa mai multe streamuri din nivelele superioare, se sincronizează viteze de transmisie cu cele de recepție

rețea - acceptă pachete din nivele superioare și declanșează trimiterea lor, controlează rutarea pachetelor în rețea, detectează și rezolvă blocaje, congestii (uneori ultimele funcții fac parte din transport)

date - se face comunicația la nivel de frame pe un singur canal

fizic - se face comunicația biților (0/1) pe fir

Funcțiile generice ce pot exista într-un nivel sunt :

controlul erorilor - gestionarea mesajelor pierdute sau care nu mai respectă ordinea

controlul fluxului - asigură un echilibru între puterea de procesare și viteza de comunicație

alocarea resurselor - se alocă resursele fizice (buffere, bandă de frecvență) și logice (structuri de date)

fragmentarea - se împart datele în unități de transmisie după care se asamblează

multiplexarea - se combină sesiuni din nivele superioare în unele mai scurte

setup la conectare - se inițiază comunicația logică cu o altă entitate

adresare/numire - se gestionează identificatori asociați entităților

compresie - se reduce rata de transfer

criptare

gestiunea timer-ului - se ține o evidență a comunicației, se face revenirea din erori

Proiectarea unei arhitecturi de comunicație pe bază de nivele prezintă avantaje indiscutabile dar poate crea și unele probleme :

nivelul n poate duplica funcții din nivele inferioare, de exemplu refacerea din eroare pe principiul hop-to-hop sau end-to-end

diverse nivele pot avea nevoie de aceeași informație, de exemplu marca de timp

uneori, nivelul n are nevoie de informații din nivelul n-2, de exemplu la fragmentare

Principii de operare în rețea

După cum s-a văzut, o rețea poate fi privită ca un sistem desemnat a transmite grupuri de biți (numite pachete) sau streamuri de biți între end-sisteme, ca de exemplu computere sau alte dispozitive. Un stream de biți este o secvență de biți corespunzătoare unui semnal vocal și care în mod normal are o viteza de 64 kbps. Un serviciu de comunicație poate fi :

orientat conexiune

fără conexiune

Un serviciu orientat conexiune este echivalent unei legături dedicate. Biții sau pachetele sunt transmise în ordinea corectă și posibil (dependent de specificații ) fără erori. Un serviciu fără conexiune transmite pachetele unul câte unul, fără a ține cont că fac parte dintr-o grupare logică. Astfel, pentru a implementa un serviciu orientat conexiune unele noduri din rețea trebuie să ieie act de această conexiune. Aceste noduri vor executa un setup de conectare înainte de transmiterea datelor. Este posibil, de asemenea, să se rezerve resurse (buffere în noduri, capacitate de transmisie) pentru conexiunea ce se va realiza, garantându-se o calitate a serviciului (rata serviciului, delay maxim end-to-end, o rată minimă de transfer, etc). Un serviciu orientat conexiune poate fi construit deasupra unui serviciu fără conexiune (se va gestiona reordonarea pachetelor și retransmiterea pachetelor corupte). Pentru conectarea unui număr de end-sisteme la o rețea se folosesc combinații de comutatoare și canale. Canalele sunt partajate de transmisiile care se fac printr-o tehnică de multiplexare. Comutatoarele direcționează pachetele sau streamurile la destinația specificată. Suplimentar, în rețea se mai poate face un control al erorilor sau al fluxului de date.

Multiplexarea la nivel MAC

Multiplexarea este o metodă de partajare a unui canal de comunicație de mai multe streamuri (pachete sau streamuri de biți). Un canal de comunicație este un suport fizic ce permite transmiterea de semnale analogice (orice valoare dintr-un interval) sau digitale (biți). În comunicații se folosesc o serie de scheme de multiplexare. Înțelegerea funcționării lor permite aprecierea caracteristicilor și posibilitatea folosirii adecvate în diverse aplicații ce necesită suport de comunicații. Schemele de multiplexare separă streamurile de informații în semnale ce pot fi refăcute similar la recepție. În mod principial, semnalele sunt separate prin ortogonalizarea lor în timp, frecvență sau cod.

Multiplexarea în timp presupune :

multiplexarea prin divizarea timpului

multiplexarea statistică

accesul multiplu

Multiplexarea în frecvență presupune :

multiplexarea divizării în frecvență

multiplexarea divizării lungimii de undă

Multiplexarea pe bază de cod presupune :

multiplexarea prin divizarea codului

În continuare prezentăm grafic toate aceste tipuri de multiplexare. Multiplexarea prin divizarea timpului divide timpul în frame-uri și fiecare frame în N sloturi. Sloturile sunt alocate periodic la cele N semnale, fig 5

Frame

 


fig 5 - multiplexarea prin divizarea timpului

Bufferele de intrare pot stoca intrările pe parcursul unui frame. Viteza pe canal este mai mare sau egală cu suma maximelor ratelor de sosire a streamurilor.

Avantaje : simplitate, mărginirea timpului de propagare, nu există posibile interacțiuni

Dezavantaje : este ineficientă dacă ratele de sosire a streamurilor variază mult

Multiplexarea prin divizarea statistică permite transmisia pachetelor ori de câte ori sunt pregătite, posibil folosind mecanisme de planificare pentru favorizarea constituirii unor pachete în defavoarea altora (pe bază de prioritate, EDF), fig 6


fig 6 - multiplexarea prin divizarea statistică

Bufferele de intrare trebuie să poată reține intrări în avalanșă. Rata de transfer a canalului este mai mare sau egală cu suma mediei ratelor de sosire a streamurilor. Întârzierea pe canal depinde de trafic.

Avantaje : o bună utilizare chiar în cazul traficului în avalanșă

Dezavantaje : întârzierile în comunicație sunt aleatoare putând duce și la pierderi de informație

  În timp ce multiplexarea prin divizarea timpului sau statistică este folosită de un singur transmițător pentru alocarea unui canal diverselor streamuri, multiplexarea prin multiplicarea accesului este folosită de mai mulți transmițători ce partajează un canal, fig 7.


 

 

 


fig 7 - acces multiplu

Schema este folosită de exemplu de rețeaua Token Ring. Bufferele de intrare trebuie să rețină avalanșe de intrări. Rata de transfer a canalului este mai mare sau egală cu suma mediei ratelor de sosire a streamurilor.

Avantaje : este o schemă descentralizată cu eficiență medie

Dezavantaje : întârzierile în comunicație sunt aleatoare putând duce chiar la pierderi de informație

Modulația în frecvență modifică frecvențele într-un semnal, shiftându-le în jurul unei purtătoare, fig 8


frecvență

 

fig 8 - multiplexarea prin modulația frecvenței

Modulatorul va produce un spectru disjunct. Lățimea de bandă este mai mare sau egală cu suma lățimilor de bandă pentru 0 și 1. Întârzierea pe canal este neglijabilă

Avantaje : întârziere neglijabilă, nu există interacțiune

Dezavantaje : schema este ineficientă dacă ratele de sosire a streamurilor variază mult

Multiplexarea prin divizarea lungimii de undă constă în transmiterea diferitelor semnale ca semnale de diverse culori, într-un cablu de fibră optică, de către diverși laseri. Receptorul folosește un filtru optic (o prismă sau alt dispozitiv de difracție) pentru a extrage culorile luminii și a le converti în semnale electrice cu ajutorul unui detector optic. Avantajul acestei metode este independența completă a diferitelor semnale. Unele semnale pot fi analogice, altele digitale. Schema utilizează eficient capacitatea enormă de transmisie a fibrelor optice, mult mai bine ca alte scheme. De exemplu, laserii pot converti semnale de 10 Gbps în lumină. Utilizând 10 laseri de culori diferite se poate ajunge la o rată de transmisie de 100 Gbps.

Multiplexarea prin divizarea codului separă semnalele multiplicându-le cu secvențe pseudo-aleatoare, foarte rapid variabile, ce au ca valori +1, -1. Definim diversele semnale , n=1,...N iar t este timpul. Definim secvențele pseudo-aleatoare prin , n=1,...N. Transmițătorul trimite suma semnalelor , n=1,...N. Notăm această sumă cu . Receptorul, pentru a recompune calculează R(t)K(1,t), multiplicând semnalul recepționat cu secvența K(1,t). Se observă că R(t)K(1,t) este egal cu S(1,t) plus suma semnalelor S(n,t)K(1,t), n=2,...N. Deoarece semnalele variază rapid, luând valorile +1, -1 și, căutând rapid, este foarte plauzibil ca suma semnalelor S(n,t)K(n,t)K(1,t), n=2,...N să fie o secvență aleatoare de medie zero ce poate fi mediată prin variații mici ale sumei. Un avantaj al acestei metode este degradarea treptat-lentă odată cu creșterea numărului de interferențe de semnal. Un alt avantaj este robustețea la transfer multicăi.

Comutarea

Comutarea permite unei rețele să facă să se comunice prin partajarea resurselor. Rețeaua telefonică folosește comutarea circuitelor, deoarece capacitatea unei linii este rezervată unei singure convorbiri între o sursă și o destinație, chiar dacă această capacitate este folosită la maximum sau nu. Ideea salvatoare pentru eliminarea limitării evidente de la linia telefonică a apărut în 1960, când Paul Baran, atunci la Rand Corporation, a propus transportul datelor prin comutarea pachetelor, o versiune electronică a sistemului folosit de Poștă pentru transmiterea scrisorilor și coletelor. Comutarea pachetelor este o metodă mult mai puternică decât comutarea de circuit, mai ales în cazul streamurilor de informații în avalanșă (a căror debit poate varia mult, cu maxime puternice la un moment dat -burst). Toate rețelele de calculatoare de azi folosesc comutarea pachetelor. Putem distinge două forme de comutare a pachetelor :

datagrame - folosite în Internet

circuite virtuale - folosite de ATM

Un circuit este capacitatea unei legături de a transmite un semnal tip voce, de la sursă la destinație. O legătură poate transmite mai multe semnale în același timp prin mai multe circuite, fig 9.


fig 9 - comutarea de circuite


Problemele ce apar țin de stabilirea comunicației (setup), eliberarea liniei, comunicația în sine. Circuitele devin ocupate pe toată perioada stabilirii legăturii.

Avantaje : întârzieri mici, aproximativ egale cu propagarea semnalelor

Dezavantaje : nu sunt eficiente pentru trafic cu debit variabil (maxime mari) și timpul de stabilire a unei conexiuni poate fi mare.

B

 

C

 

AC

 

A

 

CD

 

D

 
Un mod de comutare mai avantajos este prin comutarea pachetelor datagrame, fig 10. Adresele sunt introduse în pachete, care sunt rutate unul câte unul. Liniile sunt multiplexate statistic.

fig 10 - comutare cu pachete datagram

Avantaje : metoda este eficientă, robustă la erori

Dezavantaje : se pot introduce întârzieri variabile, iar ordinea pachetelor poate fi perturbată

O altă metodă de comutare este a circuitelor virtuale. Identificatorul unui circuit virtual se introduce în pachet. Aceleași circuite pot fi folosit de mai multe pachete, liniile fiind multiplexate statistic, fig 11.


fig 11 - circuite virtuale

Controlul erorilor

Orice legătură de comunicație digitală este imperfectă, unii din biții transmiși fiind corupți. De exemplu, unii biți 0 pot fi recepționați ca 1 iar unii biți 1 pot fi recepționați ca 0. Raportul care este egal cu numărul biților corupți datorită legăturii supra totalul biților transmiși formează rata de eroare la transmisie. Această rată (BER - bit error rate) are valori cuprinse între 10 (-3), pentru legături cu mult zgomot (în general cele fără fir) și 10 (-12), pentru legături de înaltă calitate (fibră optică). La împachetarea biților într-un pachet se adaugă și un câmp de biți prin care să se controleze erorile de transmisie. Sunt folosite două metode :

detecția erorilor

corecția erorilor

Transmisia asincronă pe linia serială RS-232-C este un exemplu de detecție a erorilor prin bitul de paritate (poate fi depistată o singură eroare). Scheme mai complicate pot detecta erori multiple, un exemplu în acest sens fiind codul CRC (Cyclic Redundancy Code), folosit în mai toate rețelele. Corecția erorilor presupune adăugarea de noi biți pentru a determina ce biți au fost corupți și ai determina. Un alt exemplu simplu, dar ineficient din punct de vedere al timpului, este transmisia aceluiași pachet de mai multe ori, în speranța că același bit nu va fi corupt în mai multe copii, după care se aplică o metodă de tip vot majoritar. Cele mai multe din rețele folosesc detecția erorilor. Diferența în controlul erorilor este dacă acesta trebuie făcut de-a lungul fiecărui segment al legăturii sau numai end-to-end. Regula practică spune că, dacă BER este mică, atunci controlul end-to-end este preferabil celui de-a lungul legăturii. Corecția erorilor poate fi aplicată dacă aplicația nu-și poate permite timpii de retransmisie. O schemă simplă de retransmisie este stop and go. Receptorul răspunde (ACK) la fiecare pachet recepționat corect. Transmițătorul transmite o copie dacă nu primește nici un ACK într-un interval specificat, fig 12.


fig 12 - transmisia cu control al erorilor prin ACK

Controlul fluxului de date

În rețelele de date se practică controlul fluxului pentru a preveni congestiile. Ideea este cea din semaforizarea drumurilor : mai bine sunt oprite mașini decât să se supraaglomereze traficul. În rețele cu comutare de pachete se folosesc două metode de control al fluxului de date : controlul fluxului cu fereastră și în buclă deschisă. Controlul fluxului cu fereastră limitează numărul pachetelor în tranzit între sursă și destinație. Destinația trimite ACK-uri iar sursa se asigură că nu transmite al n-lea pachet până când nu a recepționat ACK-ul de la al (n-W)-ulea pachet, unde W este mărimea ferestrei. Fie, de exemplu, o rețea cu un număr mare de perechi sursă/destinație, care schimbă pachete între ele. Sursele încearcă să mențină întârzierea între transmisia unui pachet și primirea ACK-ului corespunzător în limita a T secunde. Ori de câte ori o sursă constată că întârzierea este mai mare decît T își reduce fereastra W. Ca efect al acestei reduceri, încărcarea rețelei descrește și există speranța că întârzierea va scădea sub T. În acel moment, sursa începe un proces de creștere fină a lui W. Schema poate să funcționeze bine dacă T este suficient de mare. De fapt, datorită startării și terminării continui de transmisii, există o fluctuație mare în întârzierea pe rețea. Este nevoie de o schemă de control cu fereastră aleasă cu grijă. Este totuși imposibil de garantat că toate perechile sursă-destinație vor funcționa bine. Controlul în buclă deschisă nu ia în considerație vreo informație de feedback. În schimb, transmițătorul are un algoritm bazat pe timp ce regularizează transmisia de pachete. Un astfel de control în buclă deschisă este folosit în rețele ATM și se numește leaky bucket (găleată găurită). Metoda garantează că transmițătorul nu poate trimite mai mult de B+Mt biți în orice interval de t secunde, pentru orice t. M și B sunt doi parametri ai metodei. M este media ratei de transmisie pe termen lung iar B este mărimea maximă a debitului la un moment dat. Dacă t crește, rata medie de transmisie nu poate depăși (B+Mt)/t, care este aprox egal cu M. Dacă t << 1, transmițătorul poate trimite B biți. Obiectivul metodei este de a proteja un anumit nod din rețea : dacă un transmițător trimite unui nod ce are o rată de preluare de cel puțin M și este echipat cu un buffer de cel puțin B biți, nodul receptor nu va pierde nici un bit.

Intuiția a sugerat, iar analiza și măsurătorile practice au confirmat faptul că controlul fluxului cu fereastră devine mai puțin efectiv când conexiunile au un produs lățime de bandă întârziere mare. Astfel, dacă orice transmițător are o rată de transmisie cel puțin egală cu R bps (biți pe secundă) iar fiecare întârziere de propagare pentru fiecare conexiune este de cel puțin S secunde și mărimea ferestrei pentru o conexiune corespunde la B biți cu B << RS, atunci se poate transmite cel mult B/RS << 1 la un moment dat. Dacă însă mărimea ferestrei este comparabilă cu RS și RS >> 1, atunci conexiunile pot injecta un număr mare de biți în rețea, scăzând controlul și nemaiputându-se ști unde se va cumula efectul. De exemplu, dacă fiecare conexiune poate injecta 10 Mbytes și există 100 conexiuni care partajează aceleași noduri, este foarte posibil ca un nod să acumuleze 1 Gbyte, caz în care întârzierea în acest nod devine semnificativă.

Sinteză

În rețele, arhitectura se referă la organizarea funcțiilor. Funcțiile implementate în software au menirea de a controla resursele. Software-ul specifică seturi de reguli, numite protocoale, pe baza cărora se execută diversele entități. Nivelele din comunicații folosesc o arhitectură pe nivele. Structura de bază a unei arhitecturi multinivel este că serviciile mai complexe sunt construite pe baza unora mai simple. De exemplu, serviciul de transmisie a biților stă la baza transmisiei cu pachete. Astfel, transmițătorul folosește un serviciu prin care pachetele sunt împărțite în frame-uri de streamuri de biți, însoțite eventual de câmpuri de detecție a erorilor.

nod B

 

nod A

 


fig 13 - arhitectură multinivel

Organizarea funcțiilor rețelei pe nivele, descompune proiectarea în module pentru care sunt posibile diverse implementări. Astfel, o rețea proiectată pentru cablu pereche poate fi modificată pentru legături fără fir, fără a modifica tot software-ul. De asemenea, produse software de la diverși producători pot interopera. În fig 13 se poate vedea cum protocolul de pe nivelul n execută de fapt un program distribuit. Există o comunicație virtuală la fiecare nivel. Un serviciu de comunicație de pe nivelul n transportă unități de biți împreună cu informații de control necesare execuției protocolului (header). Acțiunea de adăugare a unui header de protocol la unități de date se numește încapsulare iar acțiunea inversă decapsulare (la fel cu punerea unei scrisori într-un plic, apoi lipirea timbrul, scrierea adresei, toate formează un header necesar livrării scrisorii la destinatar care va renunța la toate acestea deoarece îl interesează numai conținutul).

Rețelele deschise sunt structurate pe patru nivele :

căile de transport a biților

servicii de bază pentru transportul pachetelor end-to-end

servicii ceva mai complexe

aplicații, bazate pe serviciile anterioare

Modelul este suficient de flexibil pentru a cuprinde diverse rețele ca Internet sau video-on-demand, fig 14.


fig. 14 - arhitectura unei  rețele deschise


Nivelul căilor de comunicație realizează transportul biților între computere legate la un canal comun (partajate ca în LAN sau point-to-point) sau la o rețea telefonică (X.25). Nivelul IP transmite datagramele end-to-end. Nivelul IP descompune datagramele în pachete la sursă și le reasamblează la destinație. Al treilea nivel din datagramă setează un serviciu orientat conexiune (TCP) sau nu (UDP). Ultimul nivel, cel aplicație, implementează transfer de fișiere, email, fig 15. Rețelele asigură servicii de transfer orientate conexiune sau nu. Pentru implementarea acestor servicii se utilizează un număr de mecanisme incluzând multiplexarea, comutarea, controlul erorilor, controlul fluxului. Acsete mecanisme asigură o cât mai bună conectivitate, odată cu o utilizare cât mai eficientă a resurselor. Pentru proiectarea unei rețele care să ofere servicii cu anumite caracteristici trebuie selectat cel mai bun mecanism și tehnologie. Cu toate că nu se pot anticipa caracteristicile unui serviciu din simpla alegere a mecanismelor, se observă că unele sunt mai potrivite pentru aplicațiile de timp real iar altele pentru transfer de fișiere.


X.25, Ethernet, Token Ring, FDDI

 

fig 15 - organizare Internet

Probleme

1. Enumerați diferențe între comunicația orientată conexiune și fără conexiune

2. În ce nivel din OSI considerați că se desfășoară următoarele :

a) transformarea streamurilor de biți în frame-uri

b) determinarea rutei în subnet

c) se asigură sincronizarea

3. Comparați metodele de multiplexare


Document Info


Accesari: 1539
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2024 )