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