| | 1 | [[PageOutline(1-6)]] |
| | 2 | = IEEE 802.11 - Gestione dei sottolivelli = |
| | 3 | |
| | 4 | I due livelli (data link e fisico) su cui lo standard e' definito possiedono |
| | 5 | un insieme di operazioni primitive proprie, ma le loro definizioni sono lungi |
| | 6 | dal poter essere considerate vere e proprie interfacce: si tratta delle "''MAC |
| | 7 | layer management entities''" (MLME) e delle "''PHY layer management entities''" |
| | 8 | (PLME). |
| | 9 | E' assai importante notare, specialmente ai fini dello studio in oggetto, che lo |
| | 10 | strato MAC non oscura il sottostante PHY, ma permette alla "station management |
| | 11 | entity" (SME) di interagire direttamente con esso. Le varie entita' hanno la |
| | 12 | possibilita' di comunicare fra loro secondo le specifiche dello standard, |
| | 13 | attraverso i SAP (''service access point''). Tale concetto intende aggregare |
| | 14 | l'insieme di chiamate che una determinata entita' espone alle altre per |
| | 15 | realizzare forme di comunicazione o invocazione. |
| | 16 | |
| | 17 | {{{ |
| | 18 | __||________________________ |
| | 19 | | | | | |
| | 20 | | MAC | MLME = | |
| | 21 | | | | | |
| | 22 | |--||--|--||--| Station | |
| | 23 | | | | Managemement | |
| | 24 | | PLPC | PLME | Entity | |
| | 25 | | | | | |
| | 26 | |--||--| = | |
| | 27 | | | | | |
| | 28 | | PMD | | | |
| | 29 | |______|______|______________| |
| | 30 | }}} |
| | 31 | |
| | 32 | In generale il livello MAC, come ovvio, deve essere il piu' possibile |
| | 33 | indipendente da quello fisico anche se a volte e' necessario che il livello MAC |
| | 34 | gestisca stati opportuni del livello fisico. |
| | 35 | |
| | 36 | Il livello PHY viene suddiviso nella seguente maniera: |
| | 37 | * PLCP (''Physical Layer Convergence Procedure''): funzioni di convergenza del |
| | 38 | livello fisico (adattamento del mezzo ai servizi PHY), che realizzano una |
| | 39 | traduzione al fine di rendere l'interfaccia comune; |
| | 40 | * PMD (''Physical Medium Dependent''): insieme di funzioni fortemente |
| | 41 | dipendenti dallo specifico dispositivo wireless (ad esempio richieste di |
| | 42 | trasmissione o ricezione di dati). |
| | 43 | |
| | 44 | Anche in questo caso le relazioni con l'esterno sono gestite da appositi |
| | 45 | moduli SAP: uno specifico per la porzione PLCP (PLCP-SAP) e un altro relativo al |
| | 46 | sottostrato PMD (PMD-SAP). |
| | 47 | |
| | 48 | == Primitive di gestione generica == |
| | 49 | |
| | 50 | Le informazioni specifiche per la gestione di ogni strato sono incapsulate |
| | 51 | all'interno di cio' che viene definita ''Management Information Base'' (MIB) che |
| | 52 | puo' essere visto come un componente di ogni livello. In accordo con questo, |
| | 53 | ogni ''Management Entity'' possiede specifiche primitive di `GET` e `SET` in |
| | 54 | grado di operare sugli attributi della relativa MIB. Informazioni dettagliate |
| | 55 | sugli attributi dei vari MIB sono presenti nel |
| | 56 | [http://www.xt3.it/reti0506/MIB-D6.2.txt documento ufficiale] |
| | 57 | |
| | 58 | == Interfaccia di MAC: MLME SAP == |
| | 59 | |
| | 60 | * POWERMGT: richieste al modulo che gestisce il risparmio energetico |
| | 61 | * SCAN: scansione della rete alla ricerca di BSS disponibili |
| | 62 | * JOIN: sincronizzazione con un BSS |
| | 63 | * AUTHENTICATE: autenticazione con un BSS |
| | 64 | * DEAUTHENTICATE: deautenticazione con un BSS |
| | 65 | * ASSOCIATE: associazione fra una STA e un AP |
| | 66 | * REASSOCIATE: associazione fra una STA e un altro AP |
| | 67 | * DEASSOCIATE: dissociazione fra una STA e un AP |
| | 68 | * RESET: azzeramento |
| | 69 | * START: creazione di un nuovo BSS (diventa AP) o IBSS (prima STA di una rete |
| | 70 | ''ad-hoc'') |
| | 71 | |
| | 72 | ,,20061019-0920 SoujaK: La revisione G del documento non introduce nessun |
| | 73 | cambiamento alle interfacce del SAP legato al livello MAC. Viene piuttosto |
| | 74 | esteso il livello PHY al fine di supportare larghezze di banda maggiori e |
| | 75 | differenti modulazioni del segnale.'',, |
| | 76 | |
| | 77 | == Interfaccia di PHY: PLME SAP == |
| | 78 | |
| | 79 | In generale si hanno disposizione tutti i getter e i setter necessari per |
| | 80 | manipolare tutti gli attributi del MIB (normati nell'aggiunta `Annex D`). |
| | 81 | Inoltre, si hanno a disposizione le seguenti primitive: |
| | 82 | * RESET.request: forza il reset del livello PHY, reinizializzandolo allo stato |
| | 83 | di ricezione; |
| | 84 | * CHARACTERISTICS.request: ritorna le caratteristiche operative della |
| | 85 | entita' PHY; |
| | 86 | * CHARACTERISTICS.confirm: viene sollevata dal'entita' PHY successivamente |
| | 87 | ad una CHARACTERISTICS.request. Fornisce le caratteristiche operative |
| | 88 | dell'entita' PHY; |
| | 89 | * DSSSTESTMODE.request: utile per entrare in modalita' test in una entita' PHY |
| | 90 | di tipo DSSS; |
| | 91 | * DSSSTESTOUTPUT.request: opzionale, testa i segnali di output di una |
| | 92 | entita' PHY di tipo DSSS. |
| | 93 | |
| | 94 | == Interfaccia di PHY: PHY SAP == |
| | 95 | |
| | 96 | Come gia' accennato in precedenza, le funzioni proprie dello strato PHY sono |
| | 97 | separate nei due livelli distinti PMD e PLCP; quest'ultimo intende fornire un |
| | 98 | meccanismo indipendente dalla PHY entity per trasferire MPDU fra le STA. |
| | 99 | Anche in questa sezione, i servizi vengono definiti in maniera puramente |
| | 100 | astratta, in modo da non forzare a particolari implementazioni delle interfacce. |
| | 101 | |
| | 102 | Le primitive tra MAC e PHY si possono dividere in due categorie: |
| | 103 | * primitive per il supporto d'interazioni punto-a-punto a livello MAC |
| | 104 | (primitiva PHY-DATA.{request, confirm, receive, indication}). |
| | 105 | * primitive con significato locale per agevolare l'interazione tra sottolivelli |
| | 106 | (e.g. PHY-TXStart.{request,...}). |
| | 107 | |
| | 108 | ,,20061211-2200 gnappo,,[[BR]] |
| | 109 | L'unica primitiva per il supporto dell'interazione ''peer-to-peer'' e' |
| | 110 | PHY-DATA alla quale sono associati i seguenti significati: |
| | 111 | * PHY-DATA.request(DATA): trasferisce un ottetto di dati alla ''PHY |
| | 112 | entity'' successivamente ad una confermata richiesta di trasmissione |
| | 113 | (PHY-TXSTART.confirm). Quando la ''PHY entity'' ricevera' l'ottetto di |
| | 114 | dati indichera' l'avvenuta ricezione attraverso la primitiva |
| | 115 | PHY-DATA.confirm. |
| | 116 | * PHY-DATA.indication: trasferisce un ottetto di dati dal livello fisico |
| | 117 | al livello MAC. |
| | 118 | * PHY-DATA.confirm: come gia' accennato, viene sollevata dalla ''PHY |
| | 119 | entity'' per confermare l'avvenuta ricezione dei dati dalla ''MAC entity''. |
| | 120 | |
| | 121 | Le altre primitive sono: |
| | 122 | * PHY-TXSTART.request(TXVECTOR): permette al sottolivello MAC di |
| | 123 | richiedere all'entita' fisica di cominciare la trasmissione di un MPDU. |
| | 124 | Come dato in ingresso, prende un vettore contenente parametri sia del |
| | 125 | sottolivello PLCP che di PHY. |
| | 126 | * PHY-TXSTART.confirm: viene sollevata dal sottolivello PHY per |
| | 127 | confermare, alla ''MAC entity'', l'avvenuto inizio di trasmissione. In |
| | 128 | questo modo, l'entita' fisica, si dichiara disponibile a ricevere dati |
| | 129 | attraverso PHY-DATA.request(DATA). |
| | 130 | * PHY-TXEND.request: e' invocata dalla ''MAC entity'' per forzare il |
| | 131 | completamento della trasmissione del MPDU corrente. Viene generata |
| | 132 | conseguentemente all'ultima chiamata PHY-DATA.confirm per l'MPDU |
| | 133 | corrente. |
| | 134 | * PHY-TXEND.confirm: utilizzata dal sottolivello fisico per notificare |
| | 135 | all'entita' MAC il completamento della trasmissione. Il recepimento di questa |
| | 136 | primitiva da parte della ''MAC entity'' fornisce il riferimento temporale per |
| | 137 | il protocollo di ''backoff''. |
| | 138 | * PHY-CCARESET.request: viene richiesta dalla ''MAC entity'' per ottenere |
| | 139 | un reset dell'automa a stati finiti per il ''Clear Channel Assessment'' |
| | 140 | (valutazione del canale libero). E' generata dalla ''MAC entity'' allo |
| | 141 | scadere del ''NAV timer''. |
| | 142 | * PHY-CCAREST.confirm: sollevata dall'entita' fisica per confermare |
| | 143 | l'avvenuto ''reset'' dell'automa di cui al punto precedente. |
| | 144 | * PHY-CCAREST.indication: questa primitiva ritorna, all'entita' MAC, lo |
| | 145 | stato del canale (''idle'' oppure ''busy''). Viene generata ogni qualvolta |
| | 146 | si ha una transizione del canale da libero a occupato e viceversa. |
| | 147 | * PHY-RXSTART.indication: sollevata dal livello fisico per informare il |
| | 148 | livello MAC che e' stato ricevuto un SFD e un'intestazione PLCP valida (e |
| | 149 | che quindi avra' inizio la ricezione di un ''frame''). |
| | 150 | * PHY-RXEND.indication: grazie a questa primitiva l'entita' fisica |
| | 151 | comunica all'entita' MAC la fine della ricezione di un MPDU ed indica |
| | 152 | eventuali errori occorsi. |