Retelele cu difuzare - II

      Daca va mai amintiti, in articolul precedent am aratat ca sistemul ALOHA cuantificat a aparut ca o dezvoltare a sistemului ALOHA pur, prin aplicarea unei restrictii asupra momentului cind statia poate transmite pachetul de date. Mergand mai departe, aplicand restrictii mai severe, se pot obtine sisteme de transmisie mai performante. Astfel au aparut o alta gama de protocoale, si anume: cele cu detectie de purtatoare (colision sense protocols). Aceste sisteme de protocoale implementeaza, pe fiecare statie de lucru, un mecanism care "asculta" canalul pentru a detecta daca este in curs o alta transmisie. Calculatorul care doreste sa emita un pachet nu va putea incepe transmisia decit in cazul in care nu a detectat o purtatoare, deci canalul este liber.

CSMA

      Un prim protocol din aceasta categorie este CSMA 1-persistent (Carrier Sense Multiple Access - acces multiplu cu detectie de purtatoare). In acest caz, cand canalul este liber, calculatorul va transmite pachetul de date. Protocolul se numeste 1-persistent deoarece statia de lucru, atunci cand gaseste canalul liber, va emite cu o probabilitate de 1 (100%). Chiar si in acest sistem exista posibilitatea sa apara coliziuni, si anume, atunci cand 2 calculatoare, aproape simultan, determina canalul liber si incep sa transmita datele. Am folosit mai sus notiunea de "aproape simultan" pentru a arata ca momentul inceperii transmiterii celor 2 pachete nu trebuie sa fie identic. Acest moment poate fi decalat cu o perioada de timp -t- care o putem numi si intarziere de propagare. Cu cat este mai mare intarzierea de propagare, cu atat probabilitatea aparitiei unei coliziuni este mai mare, si deci, performanta protocolului este mai slaba.
      Un al doi-lea protocol cu detectie de purtatoare este CSMA nepersistent. Atunci cand un calculator doreste sa emita, acesta asculta canalul; daca nimeni nu emite - va incepe transmisia. In cazul in care canalul este ocupat, statia nu va ramane incontinuu in ascultare, pentru a-l ocupa imediat dupa sfarsitul transmisiei anterioare (asa cum se intampla la CSMA 1-persistent). In acest caz statia va astepta o perioada aleatoare de timp si apoi va repeta ascultarea canalului. Ea va incepe emisia numai in cazul in care va determina canalul ca fiind liber.
      Un alt protocol din aceasta categorie este CSMA p-persistent. In momentul in care canalul este liber, calculatorul va transmite pachetul cu o probabilitate p. Deci, cu o probabilitate q=1 - p, el va astepta urmatorul moment favorabil. Daca urmatoarea incercare de a determina starea canalului indica faptul ca acesta este liber, statia va emite cu o probabilitate p sau va astepta din nou cu probabilitatea q. Acest algoritm de transmisie se va repeta pana cand pachetul va fi, in sfarsit, transmis, sau o alta statie va incepe sa emita.

CSMA cu detectia coliziunii

      Am vazut ca prin imbunatatiri repetate s-a ajuns de la ALOHA la protocoale din ce in ce mai performante, CSMA 0,01-persistent fiind un protocol care da rezultate foarte bune la incarcari mari ale retelei. Aplicand, in continuare, o alta imbunatatire se ajunge la protocolul CSMA/CD (Carrier Sense Multiple Access with Collision Detection - acces multiplu cu detectia purtatoarei si a coliziunii). De data aceasta imbunatatirea consta in intreruperea transmisiei in momentul in care se detecteaza o coliziune. Mai exact, daca 2 statii gasesc canalul liber si incep sa transmita simultan, amandoua vor putea detecta coliziunea aproape imediat, caz in care isi vor termina brusc emisia. Oricum, pachetele respective ar fi fost total inutilizabile (ar fi fost necesara o re-transmisie a lor), castigand astfel timp si largime de banda.
      Acest protocol este des intalnit in retelele LAN, fiind implementat in subnivelul MAC. Coliziunile pot fi detectate urmarind puterea sau latimea impulsului receptionat si comparandu-le cu parametrii semnalului transmis.

Protocoale fara coliziuni

      Chiar daca protocolul CSMA/CD inregistreaza performante ridicate fata de celelalte protocoale care admit aparitia coliziunilor, totusi, aceste coliziuni afecteaza in mod negativ performanta totala a intregului sistem (retea). Influenta nefasta a coliziunilor este cu atat mai mare cu cat cadrele transmise sunt mai scurte si cu cat lungimea cablului este mai mare. Deoarece retelele bazate pe fibre optice foarte lungi si largime de banda mare, sunt din ce in ce mai des folosite, se impune gasirea unor noi solutii (protocoale) care sa satisfaca noile cerinte. Ca urmare au fost create noi protocoale care rezolva total problema coliziunilor (nu pot aparea coliziuni in nici una din fazele transmisiei de date).
      In prezentarea de mai jos vom presupune existenta unei retele cu N statii, numerotate in mod unic, cu numere de la 0 la N-1. Facem observatia ca unele calculatoare pot fi oprite o parte din timp. Problema care se pune este ce statie va primi dreptul de emisie dupa o transmisie efectuata cu succes.

Protocolul Bit-Map (cu harta de biti)

      In cazul acestui protocol, perioada de timp dintre 2 emisii succesive este impartita in, exact, N cuante de timp egale. Daca statia cu indicativul 0 doreste sa transmita un pachet, ea va emite, mai intai, un bit 1 in timpul cuantei 0. Nici un alt calculator nu va avea voie sa transmita in timpul acestei cuante. Independent de statia 0, calculatorul numarul 1, va trimite un bit 1 in timpul cuantei 1, numai daca doreste sa transmita un pachet. Si asa mai departe. In general, statia k poate anunta ca are de transmis un pachet, emitand un bit 1 in cuanta k. Dupa trecerea tuturor calor N cuante, fiecare calculator va sti care dintre statii dereste sa transmita date. In acest moment, calculatoarele care au trimis un bit 1 in cuanta corespunzatoare, vor incepe sa transmita, in ordine crescatoare a identificatorului de statie.
      Datorita faptului ca orice statie stie, in orice moment, daca se transmite sau nu, si ce statie transmite, nu vor exista niciodata coliziuni. Dupa ce ultima statie si-a transmis pachetul, va urma o noua perioada de "negocieri", compusa din N cuante de timp.
      Astfel de protocoale, in care orice statie isi anunta intentia de a transmite, inainte de emisia propriu-zisa, se numesc protocoale cu rezervare (rezervation protocols).
      O prima problema a acestor protocoale este ca, unei statii de lucru, ii trebuie un interval de timp pentru a deveni gata de transmisie. Astfel, ea este in pericol de a pierde cuanta de timp in care poate emite bitul 1; caz in care va trebui sa astepte ciclul urmator.
      O alta problema de performanta a acestor protocoale este ca el introduce o incarcare suplimantara a retelei, egala cu numarul de calculatoare din retea.
      Pana in acest moment am pus in evidenta, in cadrul articolului, doua strategii de baza pentru obtinerea dreptului de a transmite intr-o retea cablata:

  • metoda cu conflict acceptat: CSMA, ALOHA,
  • metoda fara coliziuni.
      In cazul unui trafic scazut sunt mai performante metodele cu conflict, in special protocolul ALOHA - datorita intarzierilor mic. Odata cu cresterea traficului, aceste protocoale introduc o incarcare suplimentara din ce in ce mai mare datorata "arbitrarii" canalului. In conditii de trafic ridicat sunt performante protocoalele fara coliziuni.
      Ideal ar fi un protocol care sa imbine cele 2 metode: in conditii de trafic scazut sa utilizeze varianta cu conflicte, iar la trafic ridicat sa functioneze in varianta fara coliziuni. Astfel de protocoale exista in momentul de fata si poarta denumirea de protocoale cu conflict limitat (limited contention protocols).