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.
![]() |
|
|
|
|
|
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
![]() |
|||||||
![]() | ![]() |
||||||
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
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
![]() | ![]() |
|||||||||
![]() |
||||||||||
![]() |
||||||||||
![]() |
||||||||||
![]() |
||||||||||
![]() |
||||||||||
|
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
![]() |
![]() | ![]() | ![]() |
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
![]() |
|||||
![]() |
|||||
![]() |
|||||
![]() |
|
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.
|
|
|
|
|
|
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.
![]() |
|||||
|
|||||
|
|||||
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.
![]() |
|
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
|