IEEE 802.3
IEEE 802.3 este un standard pentru retele locale (LAN-uri) ce folosesc CSMA/CD (Carrier Sense Multiple Access with Collision Detection) ca modalitate de acces la mediu. El face parte din familia mai mare a standardelor 802, in imaginea de mai jos fiind prezentate cele mai importante standarde componente ale acestei familii.
Se remarca ceea ce IEEE a adus în
plus fata de modelul de referinta OSI, si anume
împartirea nivelului legatura de date în doua subnivele -
MAC (Medium Access Control), responsabil cu împachetarea datelor si cu
gestionarea accesului la mediul de transmisiune, si LLC (Logical Link Control),
care introduce, cu ajutorul unei împachetari suplimentare, posibilitatea
de a folosi aceeasi legatura logica pentru livrarea (cu
conexiune sau fara) a datelor provenite de la mai multe protocoale de
nivel retea. Aceasta structurare a nivelului 2 OSI permite
independenta legaturii logice de date fata de mediul fizic
folosit (si implicit fata de toate aspectele tehnice legate de
utilizarea acestuia).
Standardul înglobeaza specificatii complete pentru functiona 17217y2416r rea CSMA/CD pe diverse medii fizice (cablu coaxial, cablu de cupru cu perechi rasucite, fibra optica, wireless) la viteze cuprinse intre 1Mb/s si 1Gb/s, atat half duplex (informatia poate circula in ambele sensuri intre statii, dar pe rand) cat si full duplex (datele "curg" simultan in ambele directii).
Subnivelul MAC
Raportat la stiva OSI, subnivelul MAC este primul nivel care lucreaza cu grupari logice de date, numite cadre (frame în engleza), rezultate din datele primite de la LLC prin adaugarea informatiei de control MAC - cu alte cuvinte, o împachetare a datelor. Prin contrast, nivelul fizic nu "stie" decât biti si aspectele legate de reprezentarea si transmiterea lor seriala, si nicidecum de cadre, automat toate implicatiile gruparii informatiei în unitati trebuind tratate la nivelul MAC. În consecinta, subnivelul MAC este cel care va trebui sa se ocupe de urmatoarele aspecte:
I/G
U/L
Adresa pe
46 biti
24 biti - OUI (Organizational Unique Identifier)
24 biti - asignati intern de catre producator
Bitul I/G indica daca adresa este una individuala sau de grup. O adresa individuala desemneaza o singura statie. Se pot defini adrese care corespund de fapt unui grup de statii - bitul I/G pus pe 1 semnifica faptul ca adresa este o adresa de grup; un cadru trimis catre o astfel de adresa va fi pastrat de catre toate statiile din grupul tinta, nu numai de una. De remarcat ca pentru adresa sursa primul bit este pus pe 0 (adresa sursa nu va putea fi niciodata o adresa de grup).
Bitul U/L indica daca adresa este administrata universal (global) sau local; cele administrate global au avantajul unicitatii la nivel mondial.
Notarea adreselor MAC se face de obicei în grupuri de câte doi digiti în hexazecimal; de exemplu, 00:e0:29:e6:54:38.
O adresa MAC speciala este adresa de broadcast, care are toti bitii pusi pe 1: FF:FF:FF:FF:FF:FF; un cadru trimis catre aceasta adresa va fi pastrat de toate statiile ce-l primesc.
Primii 24 de biti din adresa MAC formeaza identificatorul unic de producator; OUI - urile sunt asignate fiecarui producator în parte pe baza unei cereri catre IEEE. Restul de 24 de biti sunt asignati intern de catre producator, formând o combinatie unica pentru fiecare placa de retea produsa.
Length/Type - semnificatia acestui câmp depinde de valoarea aflata în acel câmp: daca ea este mai mare decât 0x600 (1536 în zecimal), câmpul semnifica tipul cadrului, respectiv identifica clientul subnivelului MAC; daca valoarea este mai mica, ea are ca semnificatie lungimea câmpului de date ce-i urmeaza.
Câmpul de date are o lungime minima si una maxima; datele de la nivelul superior nu au voie sa depaseasca valoarea maxima, iar în cazul în care lungimea acestora este inferioara celei minime, subnivelul MAC are responsabilitatea completarii cadrului cu umplutura (Pad).
FCS (Frame Check Sequence) este un câmp de verificare pentru detectia eventualelor erori ce pot aparea la transmisia pe mediul fizic. Este un CRC (Cyclic Redundancy Check) pe 32 de biti.
Extension reprezinta o modalitate de "lungire" artificiala a cadrului fara a mari dimensiunea datelor, procedeu necesar pentru o buna functionare a algoritmului CSMA/CD la viteze ridicate de transmisie (mai mari de 100Mb/s) fara a aduce modificari de substanta procesului de împachetare si pastrând compatibilitatea inversa.
Detalii functionale CSMA/CD
Desigur ca implementarea unui algoritm de acces ca cel descris (sumar) mai sus este mult mai complexa si trebuie sa tina seama de toate particularitatile unui mediu fizic real. Poate cel mai important aspect din acest punct de vedere este propagarea - faptul ca semnalul emis de catre una din statii nu ajunge instantaneu la celelalte. Acest fapt are implicatii asupra lungimii cadrului, dupa cum se va vedea în continuare.
Sa consideram urmatorul
scenariu: dupa o perioada de "liniste" pe mediu, statia A
începe sa transmita. Semnalul transmis de A se propaga prin
mediul fizic pâna la B. Sa spunem ca B începe sa
transmita cu o fractiune de secunda înainte ca semnalul de la A
sa ajunga la el. În mod firesc, va avea loc o coliziune. B se va opri
din transmiterea datelor si va emite semnalul de jam, care se va propaga
înapoi înspre A. Daca cumva A a terminat de transmis înainte ca
informatia despre coliziune sa ajunga la el (ca în figura alaturata), MAC-ul A va considera ca a transmis cadrul
corect (raportând acest lucru ca atare catre nivelul superior), în vreme
ce cadrul este de fapt pierdut. Tragem concluzia ca un cadru MAC trebuie
sa aiba o lungime minima; aceasta lungime va trebui sa
acopere timpul dus-întors între A si B (adica RTT - Round Trip Time),
în cazul cel mai defavorabil, adica atunci când A si B sunt cele mai
îndepartate statii din sistem si scenariul este cel prezentat în
figura. De aceea IEEE 802.3 stabileste lungimea minima a
câmpului de date din cadrul MAC la 512 biti, adica 64 de octeti.
Coliziunile nu pot avea loc în orice moment din timpul transmisiei unui cadru, ci doar în cadrul ferestrei de coliziune; practic, dupa ce a trecut suficient timp astfel încât semnalul de la A sa se propage pâna la cea mai îndepartata statie si sa se întoarca cu un eventual semnal de jam, toate statiile au simtit transmisia lui A si îsi întârzie trimiterea cadrelor proprii pâna când vad mediul liber; se numeste ca A a obtinut mediul (termenul folosit de IEEE este de "medium acquisition"), fiindca acum nimeni nu va mai emite în afara de A pâna când acesta termina de transmis tot cadrul început.
Daca dupa timpul de obtinere a mediului, intervine o coliziune, avem ceea ce se numeste coliziuni întârziate (late collisions); ele nu ar trebui sa apara în regim de functionare normala, putând indica un RTT al retelei prea mare pentru o functionare corecta a algoritmului CSMA/CD.
Acest timp minim devine o problema în momentul în care avem de-a face cu transmisiuni gigabit. De remarcat ca cei 512 biti au durata diferita în functie de viteza retelei: la 10Mb/s ei dureaza 51,2 ms, la 100Mb/s - 5,12 ms, iar la 1Gb/s - 512ns. Acest ultim timp se poate dovedi prea mic fata de RTT-ul oferit de retea, astfel încât este necesara marirea timpului de transmisie în cazul cadrelor mici, cu ajutorul câmpului extension din frame-ul MAC. Desigur, aceasta este o marire artificiala, o idee mai buna fiind marirea cantitatii de date împachetate; dealtfel, exista propuneri în acest sens (de crestere a datelor la 9000 de octeti pentru transmisiunile gigabit), însa ele au ramas la stadiul de tehnologii proprietare, nefiind înca standardizate. Astfel, s-a impus ca lungimea minima a câmpului de date pentru Gigabit Ethernet sa fie de 512 octeti.
Solutia de compromis pe care o ofera 802.3 pentru aceasta problema se numeste frame bursting si reprezinta posibilitatea ca o statie sa transmita un numar de cadre unul dupa altul (în limita unui numar de biti maxim), nefiind nevoie sa se opreasca dupa fiecare din ele, depasind astfel în mod eficient timpul minim de transmisie. Standardul specifica un numar maxim de 655536 de biti pentru frame bursting.
Un calcul simplu ne arata ca întârzierea unui semnal la propagarea printr-un cablu UTP duce la propagarea unui bit pe o distanta de 20,3 cm pâna cand se transmite bitul urmator pentru o viteza de transfer de 1Gbps si 203 cm pentru viteza de transfer de 100Mbps. Asta inseamna ca, pentru o lungime de 100m, pe cablu se afla la un moment dat in curs de transmitere aproximativ 500 de biti.
Este necesara o asteptare scurta a sursei, pentru ca destinatia sa proceseze frame-ul primit si sa se pregateasca pentru receptia urmatorului frame. Timpul cât un transmitator asteapta dupa ce a trimis un frame si pâna când îl trimite pe urmatorul este echivalentul timpului scurs pentru transmiterea a 96 biti prin mediu, pentru toate vitezele implementate pâna acum (10Mbps - 10Gbps). Acest interval de timp este numit "spacing gap".
Familia de standarde IEEE 802
Cele importante sunt marcate cu *, cele care sunt marcate cu ↓ sunt folosite rareori, iar 802.8 a fost abandonat.
|