|
Politica de confidentialitate |
|
• domnisoara hus • legume • istoria unui galban • metanol • recapitulare • profitul • caract • comentariu liric • radiolocatia • praslea cel voinic si merele da aur | |
Arhitecturi si principii de operare in retele | ||||||
|
||||||
Ierarhie de protocoale Pentru a fi mai simple in proiectare, cele mai multe din retele sunt organizate ca o suita de nivele (plane), fiecare nivel bazandu-se pe predecesorul. Numarul de nivele, numele, continutul si functia fiecaruia difera de la retea la retea. Obiectivul fiecarui nivel este de a oferi servicii nivelelor superioare, fara a se apela la detalii de implementare (complexitatea de implementare este ascunsa). Astfel, nivelul n de pe o masina va comunica cu nivelul n de pe alta masina. Regulile si conventiile folosite in aceasta comunicatie sunt cunoscute sub numele de protocolul nivelului n, fig 1. Entitatile corespunzatoare nivelelor corespondente de pe masini diferite se numesc procese peer. Cu alte cuvinte se face o comunicatie (mesaje, pachete) intre procese peer-to-peer prin intermediul protocolului. fig 1 - nivele, protocoale si interfete In realitate, transferul datelor intre nivelele n de pe doua masini diferite se face prin nivelele inferioare. In fig 1 comunicatia virtuala se reprezinta prin linii punctate iar cea reala prin linii pline. Intre nivele adiacente exista o interfata care defineste ce operatii (primitive) si servicii (combinatii de primitive) ofera nivelele inferioare celor superioare. Un obiectiv major in proiectarea numarului de nivele este definirea clara a interfetelor, ceea ce presupune o definire clara a functiilor fiecarui nivel. Acest mod de proiectare permite inlocuirea usoara a implementarii unui nivel cu altul (de exemplu, linii telefonice cu canale satelit). Multimea de nivele si protocoale formeaza arhitectura retelei. Specificatiile arhitecturii trebuie sa contina informatii care sa permita o implementare conform protocolului. Atat detaliile implementarii cat si specificatiile interfetei nu fac parte din arhitectura, fiind ascunse unui utilizator (pot varia de la o masina la alta, dar respecta protocoalele si nivelele). Sa consideram propagarea unei comunicatii prin cele 7 nivele din fig 1. Un mesaj m este produs de un proces ce se executa pe nivelul 7. Mesajul este trecut nivelului 6 conform definitiei interfetei 6/7. Nivelul 6 transforma si el mesajul, sa zicem ca il compreseaza si devine M si il trece nivelului 5 prin interfata 5/6. Nivelul 5 sa zicem ca regularizeaza mesajele fara a le modifica, in sensul ca nu transmite un mesaj receptionat nivelului 6 pana ce nivelul 6 nu termina de rezolvat cu transmisia de mesaje. In cele mai multe din retele nu exista o limita privind marimea mesajelor acceptate de nivelul 4, dar exista o limita impusa de nivelul 3. Nivelul 4 sparge mesajele in unitati mai mici prevazandu-le cu headere, fig 2. fig 2 - fluxul de informatii pentru comunicatia virtuala de pe nivelul 7 Headerul include informatie de control, ca de exemplu numere de secventa, pentru a permite nivelului 4 de pe masina destinatie sa refaca mesajul din bucati, in ordinea corecta, daca nivelele inferioare nu mentin precedenta unitatilor transmise. In alte nivele, headerele contin marimi ale datelor, marci de timpi si alte campuri de control. fig 3 - transformarea unui mesaj in Internet m2i4ib Obiective in proiectarea nivelelor Orice nivel trebuie sa aiba un mecanism de stabilire a conexiunii. Este nevoie
de o forma de adresare pentru specificarea unei destinatii anume sau a unor
destinatii multiple. De asemenea, trebuie sa existe un mecanism de terminare
a unei conexiuni cand nu mai este nevoie de ea. Alt set de decizii privesc
regulile pentru transferul datelor. Astfel, datele ce sunt transmise numai intr-o
directie se spune ca comunica simplex. Datele ce comunica in ambele directii,
dar nu simultan, se spune ca comunica half-duplex, iar cele care comunica in
ambele directii fara restrictii, se spune ca comunica full-duplex. Un protocol
trebuie sa determine cate canale logice corespund unei conexiuni si prioritatea
lor. Multe retele prevad cel putin doua canale logice per conexiune, unul pentru
date normale si altul pentru date urgente. Controlul erorilor este un obiectiv
important deoarece mediul si circuitele fizice aferente nu sunt perfecte. Sunt
cunoscute multe metode de detectie/corectie a erorilor, care trebuie sa fie
identice pentru doi parteneri de comunicatie. Mai mult, receptorul trebuie sa
poata spune transmitatorului care mesaje s-au receptionat corect si care nu.
Nu toate canalele de comunicatie pastreaza ordinea mesajelor. Pentru rezolvarea
pierderii precedentei, protocolul trebuie sa asigure mijloace de refacere. O
solutie imediata este numerotarea mesajelor. O alta problema ce trebuie rezolvata
este aducerea la un numitor comun a vitezei de transmisie cu cea de receptie.
Solutiile propuse presupun un feedback al receptorului catre transmitator. O
alta problema este inabilitatea unor nivele de a trata cu mesaje lungi. Astfel,
se face dezasamblarea, transmiterea si receptionarea mesajelor. In unele
cazuri poate fi intalnita problema inversa, in care procesele
solicita transmisia in unitati prea mici, ce trebuie mai intai
asamblate mai multe intr-un mesaj. Cand este prea scump sau inoportun
pentru stabilirea unei conexiuni proprii pentru fiecare pereche de procese,
nivelul corespunzator poate decide folosirea aceleiasi conexiuni pentru comunicatii
multiple, independente. Atata timp cat multiplexarea/demultiplexarea
se face transparent, ea poate fi folosita de orice nivel. Procedeul este folosit
mai ales la nivel fizic unde traficul trebuie sa partajeze aceleasi circuite.
Daca exista mai multe cai intre sursa si destinatie, trebuie selectata
o ruta. Uneori, aceasta decizie este impartita pe mai multe nivele. fig 4 - modelul ISO/OSI pentru o retea
Prezentam pe scurt functia fiecarui nivel : Functiile generice ce pot exista intr-un nivel sunt : • setup la conectare - se initiaza comunicatia logica cu o alta entitate • adresare/numire - se gestioneaza identificatori asociati entitatilor • compresie - se reduce rata de transfer • criptare • gestiunea timer-ului - se tine o evidenta a comunicatiei, se face revenirea din erori Proiectarea unei arhitecturi de comunicatie pe baza de nivele prezinta avantaje indiscutabile dar poate crea si unele probleme : • nivelul n poate duplica functii din nivele inferioare, de exemplu refacerea din eroare pe principiul hop-to-hop sau end-to-end • diverse nivele pot avea nevoie de aceeasi informatie, de exemplu marca de timp • uneori, nivelul n are nevoie de informatii din nivelul n-2, de exemplu la fragmentare Principii de operare in retea Dupa cum s-a vazut, o retea poate fi privita ca un sistem desemnat a transmite
grupuri de biti (numite pachete) sau streamuri de biti intre end-sisteme,
ca de exemplu computere sau alte dispozitive. Un stream de biti este o secventa
de biti corespunzatoare unui semnal vocal si care in mod normal are o
viteza de 64 kbps. Un serviciu de comunicatie poate fi : Un serviciu orientat conexiune este echivalent unei legaturi dedicate. Bitii sau pachetele sunt transmise in ordinea corecta si posibil (dependent de specificatii ) fara erori. Un serviciu fara conexiune transmite pachetele unul cate unul, fara a tine cont ca fac parte dintr-o grupare logica. Astfel, pentru a implementa un serviciu orientat conexiune unele noduri din retea trebuie sa ieie act de aceasta conexiune. Aceste noduri vor executa un setup de conectare inainte de transmiterea datelor. Este posibil, de asemenea, sa se rezerve resurse (buffere in noduri, capacitate de transmisie) pentru conexiunea ce se va realiza, garantandu-se o calitate a serviciului (rata serviciului, delay maxim end-to-end, o rata minima de transfer, etc). Un serviciu orientat conexiune poate fi construit deasupra unui serviciu fara conexiune (se va gestiona reordonarea pachetelor si retransmiterea pachetelor corupte). Pentru conectarea unui numar de end-sisteme la o retea se folosesc combinatii de comutatoare si canale. Canalele sunt partajate de transmisiile care se fac printr-o tehnica de multiplexare. Comutatoarele directioneaza pachetele sau streamurile la destinatia specificata. Suplimentar, in retea se mai poate face un control al erorilor sau al fluxului de date. Multiplexarea la nivel MACMultiplexarea este o metoda de partajare a unui canal de comunicatie de mai multe streamuri (pachete sau streamuri de biti). Un canal de comunicatie este un suport fizic ce permite transmiterea de semnale analogice (orice valoare dintr-un interval) sau digitale (biti). In comunicatii se folosesc o serie de scheme de multiplexare. Intelegerea functionarii lor permite aprecierea caracteristicilor si posibilitatea folosirii adecvate in diverse aplicatii ce necesita suport de comunicatii. Schemele de multiplexare separa streamurile de informatii in semnale ce pot fi refacute similar la receptie. In mod principial, semnalele sunt separate prin ortogonalizarea lor in timp, frecventa sau cod. Multiplexarea in timp presupune : In continuare prezentam grafic toate aceste tipuri de multiplexare. Multiplexarea prin divizarea timpului divide timpul in frame-uri si fiecare frame in N sloturi. Sloturile sunt alocate periodic la cele N semnale, fig 5 fig 5 - multiplexarea prin divizarea timpului Bufferele de intrare pot stoca intrarile pe parcursul unui frame. Viteza pe canal este mai mare sau egala cu suma maximelor ratelor de sosire a streamurilor.Avantaje : simplitate, marginirea timpului de propagare, nu exista posibile interactiuni Dezavantaje : este ineficienta daca ratele de sosire a streamurilor variaza mult Multiplexarea prin divizarea statistica permite transmisia pachetelor ori de cate ori sunt pregatite, posibil folosind mecanisme de planificare pentru favorizarea constituirii unor pachete in defavoarea altora (pe baza de prioritate, EDF), fig 6 fig 6 - multiplexarea prin divizarea statistica Bufferele de intrare trebuie sa poata retine intrari in avalansa. Rata
de transfer a canalului este mai mare sau egala cu suma mediei ratelor de sosire
a streamurilor. Intarzierea pe canal depinde de trafic.
fig 7 - acces multiplu Schema este folosita de exemplu de reteaua Token Ring. Bufferele de intrare
trebuie sa retina avalanse de intrari. Rata de transfer a canalului este mai
mare sau egala cu suma mediei ratelor de sosire a streamurilor.
fig 8 - multiplexarea prin modulatia frecventei Multiplexarea prin divizarea lungimii de unda consta in transmiterea diferitelor semnale ca semnale de diverse culori, intr-un cablu de fibra optica, de catre diversi laseri. Receptorul foloseste un filtru optic (o prisma sau alt dispozitiv de difractie) pentru a extrage culorile luminii si a le converti in semnale electrice cu ajutorul unui detector optic. Avantajul acestei metode este independenta completa a diferitelor semnale. Unele semnale pot fi analogice, altele digitale. Schema utilizeaza eficient capacitatea enorma de transmisie a fibrelor optice, mult mai bine ca alte scheme. De exemplu, laserii pot converti semnale de 10 Gbps in lumina. Utilizand 10 laseri de culori diferite se poate ajunge la o rata de transmisie de 100 Gbps. Multiplexarea prin divizarea codului separa semnalele multiplicandu-le cu secvente pseudo-aleatoare, foarte rapid variabile, ce au ca valori +1, -1. Definim diversele semnale ?S(n,t), t ? 0 ?, n=1,...N iar t este timpul. Definim secventele pseudo-aleatoare prin ?K(n,t), t ? 0 ?, n=1,...N. Transmitatorul trimite suma semnalelor ?S(n,t)K(n,t), t ? 0 ?, n=1,...N. Notam aceasta suma cu ?R(t), t ? 0 ?. Receptorul, pentru a recompune ?S(1,t), t ? 0 ? calculeaza R(t)K(1,t), multiplicand semnalul receptionat cu secventa K(1,t). Se observa ca 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 variaza rapid, luand valorile +1, -1 si, cautand rapid, este foarte plauzibil ca suma semnalelor S(n,t)K(n,t)K(1,t), n=2,...N sa fie o secventa aleatoare de medie zero ce poate fi mediata prin variatii mici ale sumei. Un avantaj al acestei metode este degradarea treptat-lenta odata cu cresterea numarului de interferente de semnal. Un alt avantaj este robustetea la transfer multicai. Comutarea Comutarea permite unei retele sa faca sa se comunice prin partajarea resurselor.
Reteaua telefonica foloseste comutarea circuitelor, deoarece capacitatea unei
linii este rezervata unei singure convorbiri intre o sursa si o destinatie,
chiar daca aceasta capacitate este folosita la maximum sau nu. Ideea salvatoare
pentru eliminarea limitarii evidente de la linia telefonica a aparut in
?1960, cand Paul Baran, atunci la Rand Corporation, a propus transportul
datelor prin comutarea pachetelor, o versiune electronica a sistemului folosit
de Posta pentru transmiterea scrisorilor si coletelor. Comutarea pachetelor
este o metoda mult mai puternica decat comutarea de circuit, mai ales
in cazul streamurilor de informatii in avalansa (a caror debit poate
varia mult, cu maxime puternice la un moment dat -burst). Toate retelele de
calculatoare de azi folosesc comutarea pachetelor. Putem distinge doua forme
de comutare a pachetelor : • circuite virtuale - folosite de ATM Un circuit este capacitatea unei legaturi de a transmite un semnal tip voce, de la sursa la destinatie. O legatura poate transmite mai multe semnale in acelasi timp prin mai multe circuite, fig 9. fig 9 - comutarea de circuite Problemele ce apar tin de stabilirea comunicatiei (setup), eliberarea liniei, comunicatia in sine. Circuitele devin ocupate pe toata perioada stabilirii legaturii.Avantaje : intarzieri mici, aproximativ egale cu propagarea semnalelor Dezavantaje : nu sunt eficiente pentru trafic cu debit variabil (maxime mari) si timpul de stabilire a unei conexiuni poate fi mare. Un mod de comutare mai avantajos este prin comutarea pachetelor datagrame, fig 10. Adresele sunt introduse in pachete, care sunt rutate unul cate unul. Liniile sunt multiplexate statistic. fig 10 - comutare cu pachete datagram Avantaje : metoda este eficienta, robusta la eroriDezavantaje : se pot introduce intarzieri variabile, iar ordinea pachetelor poate fi perturbata O alta metoda de comutare este a circuitelor virtuale. Identificatorul unui circuit virtual se introduce in pachet. Aceleasi circuite pot fi folosit de mai multe pachete, liniile fiind multiplexate statistic, fig 11. fig 11 - circuite virtuale Controlul erorilor Orice legatura de comunicatie digitala este imperfecta, unii din bitii transmisi
fiind corupti. De exemplu, unii biti 0 pot fi receptionati ca 1 iar unii biti
1 pot fi receptionati ca 0. Raportul care este egal cu numarul bitilor corupti
datorita legaturii supra totalul bitilor transmisi formeaza rata de eroare la
transmisie. Aceasta rata (BER - bit error rate) are valori cuprinse intre
10?(-3), pentru legaturi cu mult zgomot (in general cele fara fir) si
10?(-12), pentru legaturi de inalta calitate (fibra optica). La impachetarea
bitilor intr-un pachet se adauga si un camp de biti prin care sa
se controleze erorile de transmisie. Sunt folosite doua metode : fig 12 - transmisia cu control al erorilor prin ACK Controlul fluxului de date In retelele de date se practica controlul fluxului pentru a preveni congestiile.
Ideea este cea din semaforizarea drumurilor : mai bine sunt oprite masini decat
sa se supraaglomereze traficul. In retele cu comutare de pachete se folosesc
doua metode de control al fluxului de date : controlul fluxului cu fereastra
si in bucla deschisa. Controlul fluxului cu fereastra limiteaza numarul
pachetelor in tranzit intre sursa si destinatie. Destinatia trimite
ACK-uri iar sursa se asigura ca nu transmite al n-lea pachet pana cand
nu a receptionat ACK-ul de la al (n-W)-ulea pachet, unde W este marimea ferestrei.
Fie, de exemplu, o retea cu un numar mare de perechi sursa/destinatie, care
schimba pachete intre ele. Sursele incearca sa mentina intarzierea
intre transmisia unui pachet si primirea ACK-ului corespunzator in
limita a T secunde. Ori de cate ori o sursa constata ca intarzierea
este mai mare decit T isi reduce fereastra W. Ca efect al acestei
reduceri, incarcarea retelei descreste si exista speranta ca intarzierea
va scadea sub T. In acel moment, sursa incepe un proces de crestere
fina a lui W. Schema poate sa functioneze bine daca T este suficient de mare.
De fapt, datorita startarii si terminarii continui de transmisii, exista o fluctuatie
mare in intarzierea pe retea. Este nevoie de o schema de control
cu fereastra aleasa cu grija. Este totusi imposibil de garantat ca toate perechile
sursa-destinatie vor functiona bine. Controlul in bucla deschisa nu ia
in consideratie vreo informatie de feedback. In schimb, transmitatorul
are un algoritm bazat pe timp ce regularizeaza transmisia de pachete. Un astfel
de control in bucla deschisa este folosit in retele ATM si se numeste
leaky bucket (galeata gaurita). Metoda garanteaza ca transmitatorul nu poate
trimite mai mult de B+Mt biti in orice interval de t secunde, pentru orice
t. M si B sunt doi parametri ai metodei. M este media ratei de transmisie pe
termen lung iar B este marimea maxima a debitului la un moment dat. Daca t creste,
rata medie de transmisie nu poate depasi (B+Mt)/t, care este aprox egal cu M.
Daca t ?? 1, transmitatorul poate trimite B biti. Obiectivul metodei este de
a proteja un anumit nod din retea : daca un transmitator trimite unui nod ce
are o rata de preluare de cel putin M si este echipat cu un buffer de cel putin
B biti, nodul receptor nu va pierde nici un bit. Sinteza In retele, arhitectura se refera la organizarea functiilor. Functiile implementate in software au menirea de a controla resursele. Software-ul specifica seturi de reguli, numite protocoale, pe baza carora se executa diversele entitati. Nivelele din comunicatii folosesc o arhitectura pe nivele. Structura de baza a unei arhitecturi multinivel este ca serviciile mai complexe sunt construite pe baza unora mai simple. De exemplu, serviciul de transmisie a bitilor sta la baza transmisiei cu pachete. Astfel, transmitatorul foloseste un serviciu prin care pachetele sunt impartite in frame-uri de streamuri de biti, insotite eventual de campuri de detectie a erorilor. fig 13 - arhitectura multinivel fig 14 - arhitectura unei retele deschise Nivelul cailor de comunicatie realizeaza transportul bitilor intre computere legate la un canal comun (partajate ca in LAN sau point-to-point) sau la o retea telefonica (X.25). Nivelul IP transmite datagramele end-to-end. Nivelul IP descompune datagramele in pachete la sursa si le reasambleaza la destinatie. Al treilea nivel din datagrama seteaza un serviciu orientat conexiune (TCP) sau nu (UDP). Ultimul nivel, cel aplicatie, implementeaza transfer de fisiere, email, fig 15. Retelele asigura servicii de transfer orientate conexiune sau nu. Pentru implementarea acestor servicii se utilizeaza un numar de mecanisme incluzand multiplexarea, comutarea, controlul erorilor, controlul fluxului. Acsete mecanisme asigura o cat mai buna conectivitate, odata cu o utilizare cat mai eficienta a resurselor. Pentru proiectarea unei retele care sa ofere servicii cu anumite caracteristici trebuie selectat cel mai bun mecanism si tehnologie. Cu toate ca nu se pot anticipa caracteristicile unui serviciu din simpla alegere a mecanismelor, se observa ca unele sunt mai potrivite pentru aplicatiile de timp real iar altele pentru transfer de fisiere.
fig 15 - organizare Internet Probleme1. Enumerati diferente intre comunicatia orientata conexiune si fara
conexiune |
||||||
|
||||||
|
||||||
Copyright© 2005 - 2024 | Trimite document | Harta site | Adauga in favorite |
|