Nivelul MAC in retele 802.11
description
Transcript of Nivelul MAC in retele 802.11
Nivelul MAC in retele 802.11
Calitatea legaturii RF
Problema statiei ascunse
Accesul la mediu
Functiile pentru detectarea purtatoarei
Spatiul intre cadre
Accesul bazat pe disputa folosind DCF
Fragmentarea si reasamblarea
Formatul cadrului
Calitatea legaturii RF
• Factori care degradeaza legatura RF– Interferenta– Zgomotul– Interferenta multipath
• ACK, confirmare pozitiva (positive acknowledgement)
• Retransmisia cadrelor neconfirmate
• Controlul mediului pe perioada operatiilor atomice
• Suport pentru viteze multiple
Problema statiei ascunse
• Statia 2 raspunde cu un cadru CTS
• CTS blocheaza transmisia statiilor care il receptioneaza
• Statia 1 transmite cadrul
• Statia 2 transmite ACK
• Statia 1 intentioneaza sa transmita un cadru statiei 2
• Statia 1 transmite un cadru RTS
• RTS rezerva legatura radio si blocheaza transmisia statiilor care il receptioneaza
Accesul la mediu
• Controlat de functiile de coordonare• Distribution coordination function (DCF)
– Acces CSMA/CA
– Verifica daca legatura radio este libera inaintea transmisiei
– Backoff aleator dupa fiecare cadru
– CTS/RTS
• Point coordination function (PCF)– Serviciu fara disputa
– Doar in retele infrastructure
– Point coordinators• In AP-uri
• Mediul este furnizat fara disputa
• Hybrid coordiation function (HCF)– Quality of service
– In orice retea
– Permite statiilor mentinerea mai multor cozi de servicii
Functiile pentru detectarea purtatoarei
• Determina disponibilitatea mediului• Tipuri
– Fizica
– Virtuala
• Fizica– Furnizate de nivelul fizic
– Pret mare
– Problema nodurilor ascunse
Functiile pentru detectarea purtatoarei
• Virtuala– Network Allocation Vector (NAV)
• Timer (in microsecunde)
• Indica durata de timp in care mediul va fi rezervat
Spatiul intre cadre
• Interframe spacing• Coordonarea accesului la mediu• Short Interframe Space (SIFS)
– Transmisii cu prioritatea cea mai mare (RTS, CTS, ACK)
• PCF Interframe Space (PIFS)– Folosit de PCF in operatiile fara disputa
• DCF Interframe Space (DIFS)– Servicii bazate pe disputa
• Extended Interframe Space (EIFS)– Folosit doar atunci cand este o eroare in transmisia cadrului
Accesul bazat pe disputa folosind DCF
• Folosit atat in retele IBSS cat si in retele infrastructure BSS
• Statiile verifica daca mediul este liber• Reguli de baza
– Daca mediul este liber de o perioada de timp mai mare decat DIFS transmisia poate incepe imediat
• Daca cadrul precedent a fost receptionat fara erori mediul trebuie sa fie liber pentru o perioada de timp cel putin egala cu DIFS
• Daca transmisia precedenta continea erori mediul trebuie sa fie liber pentru o perioada de timp egala cu EIFS
– Daca mediul este ocupat statiile asteapta eliberarea acestuia (access deferral). Dupa eliberarea mediului statiile asteapta ca acesta sa fie liber pentru o perioada de timp egala cu DIFS si se pregatesc pentru procedura de backoff exponential in vederea evitarii coliziunilor.
• Reguli aditionale– Tratarea erorilor este responsabilitatea transmitatorului care
trebuie sa efectueze retransmisia.
– Secventele multicadru pot actualiza NAV
– Cadrele de tip ACK, CTS intr-o secventa de schimb RTS/CTS si fragment in secvente de fragmente pot fi transmise dupa o perioada de timp egala cu SIFS
– Secvente de cadre extinse sunt necesare pentru pachete de nivel superior mai mari decat pragurile configurate
• Tratarea erorilor– Fiecare cadru sau fragment are asociat un singur retry
counter
– Statiile au doua retry counters• Short retry count
• Long retry count
– Cadrele• Scurte - mai scurte decat pragul RTS
• Lungi - mai lungi decat pragul RTS
– In functie de lungime, cadrele sunt asociate fie cu short sau long retry counter
• Tratarea erorilor (continuare)– Retry counts incep la 0 si sunt incrementate cand
transmisia cadrelor asociate esueaza
– Daca limita retry este atinsa cadrul este eliminat si pierderea sa este raportata protocoalelor de nivel superior
– Fragmentele primesc de la MAC un maximum lifetime
– Cand primul fragment este transmis lifetime counter este pornit
– Cand limita lifetime este atinsa cadrul este eliminat si nu se mai incearca transmiterea fragmentelor ramase
• Backoff– Dupa terminarea transmisiei cadrului si expirarea DIFS
statiile pot incerca sa transmita cadre– Dupa DIFS urmeaza o perioada numita contention window
sau backoff window– Aceasta perioada este impartita in sloturi
• Backoff (continuare)– Statiile aleg aleatoriu un slot si asteapta acel slot inainte de a
incerca sa acceseze mediul– In cazul in care mai multe statii incearca sa transmita, statia
care alege cel mai mic numar de slot acceseaza mediul– De fiecare data cand o transmisie esueaza timpul backoff
este selectat dintr-o gama mai larga
• Backoff (continuare)– Dimensiunea contention window este limitata– Cand contention window atinge dimensiunea maxima,
ramane la aceasta dimensiune pana cand transmisia are loc cu succes sau retry counter asociat este atins si cadrul este eliminat. In ambele cazuri contention window este resetat la dimensiunea minima
Fragmentarea si reasamblarea• Fragmentarea are loc atunci cand lungimea pachetelor
de nivel mai inalt depaseste pragul de fragmentare configurat
• Fragmentele au acelasi numar de secventa dar au numere de fragment atribuite in ordine crescatoare. Cele doua numere compun campul Sequence Control
• Bitul More Fragments din campul Frame Control indica faptul ca fragmentul este sau nu ultimul
• Fragmentele unui cadru sunt transmise in mod normal intr-o rafala - fragmentation burst
• NAV si SIFS sunt folosite in combinatie pentru a controla accesul la mediu
• Fragmentele si confirmarile sunt separate de SIFS astfel incat statia sa pastreze controlul canalului
• RTS si CTS seteaza NAV pana la sfarsitul primelor fragmente
• Fiecare fragment setaza NAV pana la sfarsitul confirmarii pentru urmatorul fragment
• Dupa transmiterea ultimului fragment si a confirmarii corespunzatoare NAV este setat la 0 indicand eliberarea mediului
Formatul cadrului
• Version – versiunea, numarul protocolului 0
• Type – tipul: management, control, data
• Subtype – impreuna cu subcampul Type identifica tipul cadrului
• To DS si From DS – indica daca un cadru este destinat sistemului de distributie
• More Fragments – toate fragmentele exceptand ultimul au acest bit 1; ultimul fragment si cadrele nefragmentate au acest bit 0
• Retry – cadrele retransmise au acest bit 1
• Power Management – 1 indica faptul ca transmitatorul va fi in mod powersaving dupa terminarea schimbului de cadre atomic curent
• More Data – setat de AP, indica existenta a cel putin un cadru bufferat
• Protected Frame – setat pentru cadrele protejate de protocoale de securitate de nivel legatura
• Order – setat atunci cand furnizarea este realizata in ordine stricta
• Duration (NAV) – timpul in microsecunde al NAV• CFP – contention-free period• Cadre CFP – valoarea 32768; interpretata ca si NAV• Cadre PS-Poll – statiile care comuta din starea powersaving in
starea activa transmit un cadru PS-Poll pentru a aduce cadrele bufferate de la AP; association ID (AID) indica BSS-ul cu care sunt asociate
• Address– Pana la 4 campuri de adresa a 48 biti– Campuri diferite sunt folosite in scopuri diferite in functie de tipul
cadrului– Address 1 – pentru receptor– Address 2 – pentru transmitator– Address 3 – pentru filtrare de catre receptor– Destination address – adresa destinatiei– Source address – adresa sursei– Receiver address – adresa statiei care trebuie sa proceseze cadrul– Transmitter address – adresa interfetei wireless care a transmis
cadrul in mediul wireless; doar in wireless bridging– Basic Service Set ID (BSSID) – pentru identificarea unui WLAN
• Folosit pentru defragmentare si eliminarea cadrelor duplicate
• Sequence number – numarul cadrului de nivel superior• Fragment number – numarul fragmentului
• Frame Body– Campul de date
• FCS– Frame check sequence
– Cyclic redundancy check (CRC)
– Permite verificarea integritatii datelor receptionate
Serviciul fara disputa cu PCF
Accesul fara disputa folosind PCF
Operarea PCF
Accesul fara disputa folosind PCF
• PCF – point coordination function
• Serviciul fara disputa nu este furnizat tot timpul
• Perioadele de serviciu fara disputa alterneaza cu perioadele de serviciu bazat pe DCF
• DCF – distribution coordination function
• Dimensiunea relativa a perioadei fara disputa poate fi configurata
• Metoda de control al accesului centralizata
• Accesul la mediu este restrictionat de catre point coordinator
• Point coordinator – functie implementata in AP-uri
• Toate transmisiile trebuie confirmate
Operarea PCF
• Timpul este impartit in intervale de repetitie fara disputa
• Intervalul de repetitie fara disputa este divizat in perioada fara disputa si perioada bazata pe disputa
• Perioada fara disputa – contention free period (CFP)
BeaconCF-Poll
(spre #1)
Cadru de la #1 + CF-Ack
CF-Poll(spre #2) +CF-Ack (spre #1)
Data(spre #4) +CF-Poll
CF-Ack
CF-EndPC
Statii
NAV Setat de BeaconEliberat de
CF-End
SIFS
SIFS
SIFS PIFS
SIFS
SIFS
timp
timp
Interval de repetitie fara disputa
Perioada fara disputa Perioada bazata pe disputa
• Perioada bazata pe disputa trebuie sa fie suficient de lunga pentru transferul a cel putin un cadru de dimensiune maxima si confirmarea asociata acestuia
• Perioada fara disputa incepe la transmiterea cadrului Beacon de catre AP
• Cadrul Beacon anunta maximum duratei perioadei fara disputa, CFPMaxDuration
BeaconCF-Poll
(spre #1)
Cadru de la #1 + CF-Ack
CF-Poll(spre #2) +CF-Ack (spre #1)
Data(spre #4) +CF-Poll
CF-Ack
CF-EndPC
Statii
NAV Setat de BeaconEliberat de
CF-End
SIFS
SIFS
SIFS PIFS
SIFS
SIFS
timp
timp
Interval de repetitie fara disputa
Perioada fara disputa Perioada bazata pe disputa
• Statiile seteaza NAV la durata maxima pentru a bloca accesul bazat pe DCF
• Toate transmisiile fara disputa sunt separate de intervale SIFS sau PIFS
• AP-ul sondeaza statiile statiile asociate aflate in polling list pentru transmisia datelor
• Cadrele de sondare – contention-free polling frames (CF-Poll)
BeaconCF-Poll
(spre #1)
Cadru de la #1 + CF-Ack
CF-Poll(spre #2) +CF-Ack (spre #1)
Data(spre #4) +CF-Poll
CF-Ack
CF-EndPC
Statii
NAV Setat de BeaconEliberat de
CF-End
SIFS
SIFS
SIFS PIFS
SIFS
SIFS
timp
timp
Interval de repetitie fara disputa
Perioada fara disputa Perioada bazata pe disputa
• Doar statia care este sondata prin CF-Poll are dreptul de transmisie
• Un cadru CF-Poll permite statiei transmisia unui singur cadru
• Statiile sunt introduse in polling list la asocierea cu AP-ul
• Association Request include un camp care indica capabilitatea statiei de a raspunde cadrelor de sondare
BeaconCF-Poll
(spre #1)
Cadru de la #1 + CF-Ack
CF-Poll(spre #2) +CF-Ack (spre #1)
Data(spre #4) +CF-Poll
CF-Ack
CF-EndPC
Statii
NAV Setat de BeaconEliberat de
CF-End
SIFS
SIFS
SIFS PIFS
SIFS
SIFS
timp
timp
Interval de repetitie fara disputa
Perioada fara disputa Perioada bazata pe disputa
• Majoritatea transmisiilor sunt separate de SIFS• Daca urmare a unui CF-Poll nu este primit un raspuns,
AP-ul poate transmite urmatoarei statii din polling list dupa intervalul PIFS
• Confirmarile, sondarea si datele pot fi combinate pentru a mari eficienta
BeaconCF-Poll
(spre #1)
Cadru de la #1 + CF-Ack
CF-Poll(spre #2) +CF-Ack (spre #1)
Data(spre #4) +CF-Poll
CF-Ack
CF-EndPC
Statii
NAV Setat de BeaconEliberat de
CF-End
SIFS
SIFS
SIFS PIFS
SIFS
SIFS
timp
timp
Interval de repetitie fara disputa
Perioada fara disputa Perioada bazata pe disputa
• Data– Cadru de date, identic cu cadrul de date folosit in perioadele
bazate pe disputa
• CF-Ack– Folosit de statii pentru a confirma receptionarea unui cadru
cand nu trebuiesc transmise date
• CF-Poll– Transmis de AP unei statii mobile pentru a da dreptul acesteia
sa transmita un singur cadru bufferat
• Data + CF-Ack– Combina transmisia datelor cu o confirmare
• Data +CF-Poll– Folosit de AP pentru transmisia datelor unei statii mobile si
pentru a cere un cadru de la statia mobila
• CF-Ack+CF-Poll– Transmis de AP pentru a confirma ultimul cadru de la un
client si pentru a cere un cadru de la urmatorul client din polling list
• Data + CF-Ack+CF-Poll– Transmisie de date, confirmare si sondare
• CF-End– Termina perioada fara disputa
• CF-End + CF-Ack– Termina perioada fara disputa si confirma cadrul de date
transmis anterior
• Orice management