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