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.
|