| 1 | = Studio di fattibilita': associazione multipla simultanea = |
| 2 | == Introduzione == |
| 3 | |
| 4 | L'avvio e l'approccio di questo studio dipende in maniera forte dagli aspetti |
| 5 | architetturali del protocollo 802.11. La questione non entra in gioco soltanto |
| 6 | nel definire una bozza di implementazione, ma, ancor prima, nel comprendere |
| 7 | quali siano le strade da intraprendere per una realizzazione a livello mentale. |
| 8 | |
| 9 | Dalle conoscenze iniziali dell'intero gruppo di lavoro e' risultato evidente |
| 10 | che la ricerca non poteva perseguire una soluzione che lavorasse al di sopra di |
| 11 | tutto lo stack IEEE 802.11. In questo tipo di scenario si renderebbe necessaria |
| 12 | la ri-associazione ad ogni cambio di canale, una operazione che richiede tempi |
| 13 | lunghi (o biblici, e' da considerare anche l'autenticazione), se comparati ai |
| 14 | tempi di trasmissione dei dati. |
| 15 | |
| 16 | Se come riferimento si prende lo stack ISO/OSI, da quanto detto risulta |
| 17 | evidente che la ricerca sara' orientata al di sotto del livello "network". |
| 18 | |
| 19 | Prima di poter proseguire in maniera sensata, si ritiene pertanto necessario |
| 20 | approfondire la conoscenza dell'interfaccia offerta dal livello MAC e da quello |
| 21 | PHY e come esse possano essere utilizzate. In aggiunta a questo e' da chiarire |
| 22 | quanto forte sia la dipendenza fra il livello PHY e l'hardware del dispositivo |
| 23 | sottostante. |
| 24 | |
| 25 | = Analisi dello standard IEEE 802.11 = |
| 26 | == Descrizione funzionale del sottolivello MAC == |
| 27 | * DCF |
| 28 | * PCF |
| 29 | * Frammentazione |
| 30 | * Deframmentazione |
| 31 | * Supporto ad ampiezze di banda multiple |
| 32 | * Sequenze consentite per lo scambio di frame |
| 33 | * Restrizioni aggiuntive per limitare il riordino o lo scarto di MSDU |
| 34 | |
| 35 | L'accesso al mezzo di trasmissione comune (stiamo parlando dell'etere) e' |
| 36 | regolato da una strategia che e' detta CSMA/CA, che sta per '''carrier sense |
| 37 | multiple access with collision avoidance'''. Il che significa che le varie |
| 38 | stazioni comunicano in maniera tale da minimizzare le trasmissioni contemporanee |
| 39 | che si annullerebbero vicendevolmente. La funzionalita' di coordinamento |
| 40 | distribuito (Distributed Coordination Funtion o, piu' brevemente, DCF) che si |
| 41 | fa carico della cosa e' pertanto componente necessario di ogni stazione, sia |
| 42 | che essa operi in modalita' '''infrastracture''' che '''ad-hoc'''. |
| 43 | ... |
| 44 | |
| 45 | |
| 46 | == Gestione degli strati == |
| 47 | I due livelli (data link e fisico) su cui lo standard e' definito possiedono |
| 48 | un insieme di operazioni primitive proprie, ma le loro definizioni sono lungi |
| 49 | dal poter essere considerate vere e proprie interfacce: si tratta delle "MAC |
| 50 | layer management entities" (MLME) e delle "PHY layer management entities" |
| 51 | (PLME). |
| 52 | E' assai importante notare, specialmente ai fini dello studio in oggetto, che lo |
| 53 | strato MAC non oscura il sottostante PHY, ma permette alla "station management |
| 54 | entity" (SME) di interagire direttamente con esso. Le varie entita' hanno la |
| 55 | possibilita' di comunicare fra loro secondo le specifiche dello standard, |
| 56 | attraverso i SAP (service access point). Tale concetto intende aggregare |
| 57 | l'insieme di chiamate che una determinata entita' espone alle altre per |
| 58 | realizzare forme di comunicazione o invocazione. |
| 59 | |
| 60 | {{{ |
| 61 | __||________________________ |
| 62 | | | | | |
| 63 | | MAC | MLME = | |
| 64 | | | | | |
| 65 | |--||--|--||--| Station | |
| 66 | | | | Managemement | |
| 67 | | PLPC | PLME | Entity | |
| 68 | | | | | |
| 69 | |--||--| = | |
| 70 | | | | | |
| 71 | | PMD | | | |
| 72 | |______|______|______________| |
| 73 | }}} |
| 74 | |
| 75 | |
| 76 | In generale il livello MAC, come ovvio, deve essere il piu' possibile |
| 77 | indipendente da quello fisico anche se a volte e' necessario che il livello MAC |
| 78 | gestisca stati opportuni del livello fisico. |
| 79 | |
| 80 | Il livello PHY viene suddiviso nella seguente maniera: |
| 81 | * PLCP (Physical Layer Convergence Procedure): funzioni di convergenza del |
| 82 | livello fisico (adattamento del medium a PHY service), che realizzano una |
| 83 | traduzione al fine di rendere l'interfaccia comune; |
| 84 | * PMD (Physical Medium Dependent): insieme di funzioni fortemente dipendenti |
| 85 | dallo specifico dispositivo wireless (ad esempio richieste di trasmissione o |
| 86 | ricezione di dati). |
| 87 | |
| 88 | Anche in questo caso le relazioni con l'esterno sono gestite da appositi |
| 89 | moduli SAP: uno specifico per la porzione PLCP (PMD-SAP) e un altro relativo al |
| 90 | sottostrato PMD (PMD-SAP). |
| 91 | |
| 92 | === Primitive di gestione generica === |
| 93 | Le informazioni specifiche per la gestione di ogni strato sono incapsulate |
| 94 | all'interno di cio' che viene definita Management Information Base (MIB) che |
| 95 | puo' essere visto come un componente di ogni livello. In accordo con questo, |
| 96 | ogni Management Entity possiede specifiche primitive di GET e SET in |
| 97 | grado di operare sugli attributi della relativa MIB. Informazioni dettagliate |
| 98 | sugli attributi dei vari MIB sono presenti nel |
| 99 | [http://www.xt3.it/reti0506/MIB-... ####### documento ufficiale] |
| 100 | |
| 101 | === Interfaccia di MAC: MLME SAP === |
| 102 | * POWERMGT: richieste al modulo che gestisce il risparmio energetico |
| 103 | * SCAN: scansione della rete alla ricerca di BSS disponibili |
| 104 | * JOIN: sincronizzazione con un BSS |
| 105 | * AUTHENTICATE: autenticazione con un BSS |
| 106 | * DEAUTHENTICATE: deautenticazione con un BSS |
| 107 | * ASSOCIATE: associazione fra una STA e un AP |
| 108 | * REASSOCIATE: associazione fra una STA e un altro AP |
| 109 | * DEASSOCIATE: disassociazione fra una STA e un AP |
| 110 | * RESET: azzeramento |
| 111 | * START: creazione di un nuovo BSS (diventa AP) o IBSS (prima STA di una rete |
| 112 | ad-hoc) |
| 113 | |
| 114 | === Interfaccia di PHY: PLME SAP === |
| 115 | In generale si hanno disposizione tutti i getter e i setter necessari per |
| 116 | manipolare tutti gli attributi del MIB (normati nell'aggiunta `Annex D`). |
| 117 | Inoltre, si hanno a disposizione le seguenti primitive: |
| 118 | * RESET.request: forza il reset del livello PHY, reinizializzandolo allo stato di |
| 119 | ricezione; |
| 120 | * CHARACTERISTICS.request: ritorna le caratteristiche operative della PHY |
| 121 | entity; |
| 122 | * CHARACTERISTICS.confirm: viene sollevata dalla PHY entity successivamente |
| 123 | ad una CHARACTERISTICS.request. Fornisce le caratteristiche operative |
| 124 | della PHY entity; |
| 125 | * DSSSTESTMODE.request: utile per entrare in modalita' test in una PHY DSSS |
| 126 | entity; |
| 127 | * DSSSTESTOUTPUT.request: opzionale, testa i segnali di output di una PHY |
| 128 | DSSS entity. |
| 129 | |
| 130 | |
| 131 | === Interfaccia di PHY: PHY SAP === |
| 132 | Come gia' accennato in precedenza, le funzioni proprie dello strato PHY sono |
| 133 | separate nei due livelli distinti PMD e PLCP; quest'ultimo intende fornire il |
| 134 | meccanismo per trasferire MPDU fra le STA, stando al di sopra del livello PMD. |
| 135 | Anche in questa sezione, i servizi vengono definiti in maniera puramente |
| 136 | astratta, in modo da non forzare a particolari implementazioni delle interfacce. |
| 137 | |
| 138 | Le primitive tra MAC e PHY si possono dividere in due categorie: |
| 139 | * primitive per il supporto d'interazioni punto-a-punto a livello MAC |
| 140 | (primitiva PHY-DATA.{request,confirm,receive,indication}). |
| 141 | * primitive con significato locale per agevolare l'interazione tra sottolivelli |
| 142 | (e.g. PHY-TXStart.{request,...}). |
| 143 | |
| 144 | === Specifiche della modulazione FHSS === |
| 145 | Si tratta attualmente della tecnologia piu' diffusa nelle trasmissioni radio. |
| 146 | Vengono in generale definite un sacco di primitive che vanno dal controllo |
| 147 | del consumo energetico del medium, alla trasmissione, al CS/CCA. |
| 148 | Frequency hopping: il salto delle frequenze (channel) e' fatto alfine di |
| 149 | ottenere un maggior throughput della rete (non si impegna mai una stessa |
| 150 | frequenza per "troppo" tempo). Questo hopping deve avvenire entro |
| 151 | un tempo limite di 224us. |
| 152 | |
| 153 | == Appunti vari == |
| 154 | ,,20061014-1305 Roma,, |
| 155 | Ho letto qualcosa su come si instaura una connessione tra una client e un AP: vi |
| 156 | è praticamente una serie di richieste tra il client e l'AP affinchè la |
| 157 | connessione venga instaurata; nota importante è che il client prima di |
| 158 | collegarsi all'AP deve autenticarsi sull'AP stesso. Una volta fatto cio' AP |
| 159 | manda un pacchetto che indica l'avvenuta autenticazione e l'inizio di una nuova |
| 160 | connessione. Naturalmente vi sono già delle primitive implementate atte a |
| 161 | svolgere questo tipo di compito (sia per quanto riguarda l'instaurazione che |
| 162 | per le reinstaurazione). |
| 163 | Inoltre i vari client devono essere tutti sincronizzati per paralare tra loro |
| 164 | (es che fece anche il seminarista se non ricordo male) e per fare ciò si |
| 165 | inviano delle simpatiche "pancette" con dentro il proprio timestamp; a monte |
| 166 | comunque c'è l'AP che controlla tutta la sincronizzazione ed egli stesso manda |
| 167 | pancette ai client conessi a lui; quindi vi è una doppia sincronizzazione: una |
| 168 | tra AP e client e una tra client e client (cap 11 del documento ieee 802.11). |