Ce este controlul accesului la mediu?
MAC (Media Access Control) este un sub-strat al nivelului Legatura de Date (Layer 2 OSI) care stabileste regulile prin care mai multe statii partajeaza un singur canal de comunicatie. Intrebarea centrala: "Cine transmite si cand?"
Protocoalele MAC se impart in trei categorii principale:
Protocoale de acces aleator
O statie transmite oricand are date, fara sa verifice daca mediul e liber. Daca nu primeste confirmare (ACK), presupune coliziune, asteapta un timp aleator si retransmite.
S = G · e-2G
Cel mai simplu protocol MAC. Eficienta 18.4% (= 1/2e). Perioada vulnerabila = 2T (doua cadre de transmisie).
Timpul e impartit in sloturi egale (durata = 1 cadru). O statie poate transmite doar la inceputul unui slot. Asta reduce fereastra vulnerabila la jumatate fata de Pure ALOHA.
S = G · e-G
Eficienta se dubleaza de la 18.4% la 36.8% (= 1/e) doar prin adaugarea sloturilor de timp. Cheia: fereastra vulnerabila scade de la 2T la T.
Inainte de transmisie, statia asculta canalul. Daca e liber, transmite. Daca e ocupat, asteapta. Coliziunile tot pot aparea din cauza intarzierii de propagare — doua statii pot detecta mediul liber simultan.
- 11-Persistent: Daca liber, transmite imediat (p=1). Daca ocupat, asculta continuu. Folosit in Ethernet.
- NNon-Persistent: Daca liber, transmite. Daca ocupat, asteapta un timp aleator, apoi verifica din nou. Mai putine coliziuni.
- pp-Persistent: Daca liber, transmite cu probabilitate p; cu (1-p) asteapta un slot. Folosit in Wi-Fi.
CSMA = ALOHA + "asculta inainte sa vorbesti". Coliziunile apar din cauza propagation delay. Trei strategii: 1-persistent (agresiv), non-persistent (politicos), p-persistent (echilibrat).
- 1Verifica daca mediul e liber
- 2Daca da, incepe transmisia
- 3In timp ce transmite, monitorizeaza canalul pentru coliziune
- 4Daca detecteaza coliziune: opreste transmisia, trimite jam signal (48 biti)
- 5Binary Exponential Backoff: dupa coliziunea n, asteapta aleator din [0, 2min(n,10) - 1] sloturi
- 6Dupa 16 coliziuni consecutive: abandoneaza, raporteaza eroare
Doar pentru retele cablate (nu functioneaza pe wireless). Cadrul minim de 64 bytes exista pentru a garanta ca orice coliziune e detectata inainte de sfarsitul transmisiei. Backoff: fereastra se dubleaza la fiecare coliziune, cap la 210.
- 1Verifica daca mediul e liber
- 2Daca da, asteapta DIFS (Distributed Inter-Frame Space)
- 3Daca inca e liber, porneste un backoff timer aleator
- 4Transmite cand timerul expira
- 5Receptorul trimite ACK dupa SIFS — fara ACK = retransmisie
- REmitatorul trimite RTS (Request to Send) cu durata estimata
- CReceptorul raspunde cu CTS (Clear to Send)
- NToate statiile care aud RTS/CTS isi seteaza NAV (Network Allocation Vector) si tac
- DEmitatorul transmite datele, receptorul confirma cu ACK
Doar pentru wireless — nu poate detecta coliziuni, deci le evita. Diferenta cheie fata de CD: CD = detecteaza (wired), CA = evita (wireless). RTS/CTS rezolva problema terminalului ascuns (doua statii nu se vad reciproc dar ambele vad AP-ul).
Protocoale cu jeton (Token)
- 1Un jeton liber (3 bytes) circula pe inel
- 2Statia care vrea sa transmita captureaza jetonul (schimba un bit)
- 3Transmite cadrul de date pe inel
- 4Cadrul circula; destinatarul copiaza datele
- 5Cadrul se intoarce la emitator, care il scoate din inel
- 6Emitatorul elibereaza un jeton liber nou
"Vorbeste doar cand ai bastonul." Zero coliziuni, acces deterministic (timp maxim de asteptare garantat). Performanta mai buna ca Ethernet sub sarcina mare, dar mai slaba sub sarcina mica (trebuie sa astepti jetonul). Punct slab: daca jetonul se pierde, reteaua se blocheaza (necesita statie monitor).
- 1Statiile formeaza un inel logic (fiecare cunoaste predecesorul si succesorul)
- 2Jetonul circula pe acest inel virtual, pe cablu de bus fizic
- 3Doar statia cu jetonul poate transmite
- 4Dupa transmisie, jetonul e pasat succesorului logic
"Token Ring pe cablu de bus." Acelasi avantaj deterministic, dar topologie fizica bus + inel logic in software. Folosit in medii industriale (MAP — Manufacturing Automation Protocol). Mnemonic pentru standarde: 802.4 = Bus (4 ca un scaun, stai in bus), 802.5 = Ring (5 degete fac un inel).
Comparatie protocoale MAC
| Protocol | Tip | Coliziuni | Eficienta | Utilizare | Standard |
|---|---|---|---|---|---|
| Pure ALOHA | Aleator | Da | 18.4% | Radio (istoric) | — |
| Slotted ALOHA | Aleator | Da | 36.8% | Satelit | — |
| CSMA/CD | Aleator | Detectate | Variabila | Ethernet (cablu) | 802.3 |
| CSMA/CA | Aleator | Evitate | Variabila | Wi-Fi (wireless) | 802.11 |
| Token Ring | Controlat | Nu | Buna sub sarcina | LAN (birou) | 802.5 |
| Token Bus | Controlat | Nu | Buna sub sarcina | Industrial (MAP) | 802.4 |