source: doc/AssociazioneMultipla.tex @ 7

Last change on this file since 7 was 7, checked in by gnappo, 18 years ago

Iniziata Soluzioni.SopraIlDriver.

File size: 26.9 KB
RevLine 
[1]1\documentclass[a4paper,10pt]{article}
2
3\usepackage[italian]{babel}
4\usepackage[T1]{fontenc}
5\usepackage[utf8]{inputenc}
[5]6\usepackage[pdftex,bookmarks,colorlinks,citecolor=green, linkcolor=red,
7urlcolor=blue]{hyperref}
[1]8
9% testo colorato
10%\usepackage{color}
11% riferimenti incrociati dinamici
12%\usepackage{varioref}
13
14% SoujaK
15 %\usepackage[pdftex,pdftitle={},pdfauthor={},pdfpagemode=FullScreen,
16 %plainpages=false,pdfpagelabels,urlcolor=blue,linkcolor=red,citecolor=green,
17 %bookmarks=false]{hyperref}
18
19\title{Associazione multipla simultanea\\ di un \textit{client} 802.11}
20\author{Andrea Rappini, Alessio Romagnoli,\\Marco Solieri, Andrea Simeone}
21
22\begin{document}
23
24\maketitle
25
26\begin{abstract}
[5]27La diffusione di reti \textit{wireless} è in forte crescita a causa della sua
28comodità e della diffusa disponibilità di connessioni ad Internet con ampie
29larghezze di banda. Sfruttare contemporaneamente la connessione alla
30molteplicità di reti spesso presente permetterebbe un utilizzo migliore di tali
31risorse, migliorando il \textit{throughput} e incrementandone l'affidabilità.
[1]32
33Lo studio intende quindi analizzare le effettive possibilità di realizzazione di
34un'estensione delle comuni implementazioni dello standard IEEE 802.11 che
35permetta al singolo \textit{client} in ambiente GNU/Linux l'associazione
[5]36simultanea a differenti reti \textit{wireless}.
[1]37\end{abstract}
38
39% \newpage
40\section{Introduzione}
[5]41\label{sec:introduzione}
[1]42
43\subsection{Oggetto}
44\label{sec:oggetto}
45Lo studio di fattibilità si interroga sulle possibilità realizzative di
46connessione di un singolo \textit{client} 802.11 a diverse reti, partecipando a
[5]47più BSS (cioè l'insieme di nodi costituenti una rete \textit{wireless}).
[1]48
49Nel presente documento si intende dapprima introdurre il lettore allo scenario
50nel quale è stato condotto lo studio, evidenziandone gli aspetti salienti che
51riguardano lo standard IEEE 802.11 e le sue interpretazioni. In un secondo
52momento si presenteranno non solo proposte risolutive, ma anche spunti
53accessori.
54
55\subsection{Scopi}
56\label{sec:scopi}
57L'intento più evidente è quello di aumentare la connettività del
58\textit{client},
59permettendogli connessioni simultanee a reti altrimenti isolate ed eventualmente
[5]60consentendo al \textit{client} di agire in qualità di ponte.
61Qualora i punti di accesso resi contemporaneamente utilizzabili riferiscano (più
62o meno direttamente) alla medesima rete, allora la molteplicità si traduce in
63ridondanza e, conseguentemente, in affidabilità.
64I più coraggiosi potranno sfruttare le multi-connettività in oggetto come punto
65di partenza per la realizzazione di politiche di gestione al fine di
66massimizzare il \textit{throughput} aggregato.
[1]67
68\subsection{Obiettivi supplementari}
69\label{sec:obiettivi}
70I criteri con i quali si sono prese le svariate decisioni che hanno
71caratterizzato lo studio e che si concretizzano nelle soluzioni proposte hanno
72risentito dei seguenti obiettivi supplementari:
73\begin{description}
74\item[\textit{overhead} minimo]
75abbattere i costi introdotti dalla gestione simultanea delle connessioni
76multiple;
77\item[perdite minime] ridurre o eliminare ogni possibile perdita di dati in
78ricezione causata dalla temporanea assenza su un BSS (cfr.
79sezione~\ref{sec:mezzotrasmissivo});
80\item[portabilità] essere quanto più indipendente dalle specifiche piattaforme
81\textit{hardware}/\textit{firmware}, pur rimanendo legata all'ambiente
82GNU/Linux;
83\item[facilità implementativa] ridurre gli sforzi per l'effettiva messa in
84opera;
85\item[trasparenza] virtualizzare le interfacce di rete associate ad ogni
86connessione per minimizzare l'impatto.
87\end{description}
88
89\section{Scenario}
90\label{sec:scenario}
91
92\subsection{Caratteristiche del mezzo trasmissivo}
93\label{sec:mezzotrasmissivo}
94Il mezzo trasmissivo utilizzato nelle comunicazioni di reti senza fili è, per
95sua natura, disponibile e condiviso da ogni utilizzatore, pertanto lo standard
96IEEE 802.11 ne sancisce il partizionamento in diversi spettri di frequenza
[5]97denominati canali. In tal modo si permette la coesistenza di reti
98\textit{wireless} distinte in aree limitrofe o addirittura sovrapposte grazie
99all'uso di canali differenti.
[1]100
101\label{salti}
102Lo studio ha pertanto tenuto presente la necessità da parte del \textit{client}
103di effettuare salti periodici di canale per poter raggiungere ogni BSS a cui
104desideri partecipare.
105
106\subsection{Standard IEEE 802.11}
107\label{sec:80211}
108\subsubsection{Accesso alla rete}
109\label{sec:accessoallarete}
[5]110Affinché una stazione mobile possa partecipare ad una rete \textit{wireless}, le
111è fatto obbligo di annunciare la sua presenza attraverso una procedura detta di
112\textbf{associazione}.
113Questo legame unisce una stazione ad uno ed un solo BSS e garantisce che la
114stazione possa effettuare trasmissioni dirette ad ognuno dei nodi appartenente
115all'intera rete e viceversa.\\
[1]116Lo studio intende proprio scardinare l'univocità del rapporto fra stazione
117e BSS che lo standard impone esplicitamente.
118
119A causa della natura condivisa del mezzo trasmissivo, l'accesso alla rete
120sarebbe aperto a qualunque stazione richieda di associarsi. IEEE ha quindi
121elaborato una strategia di regolazione dell'accesso  richiedendo la mutua
122identificazione di entrambi gli estremi di ogni comunicazione. Tale procedura,
123definita \textbf{autenticazione}, risulta pertanto essere un prerequisito della
124stessa associazione.
125Il processo può diventare oneroso in termini di tempo a causa dei \textit{frame}
126da scambiare e dell'elaborazione necessaria (si pensi ai calcoli crittografici
127coinvolti), quindi ne viene permessa l'invocazione anche in maniera indipendente
128dal servizio di associazione. Così facendo lo standard permette di mantenere
129questo carico lontano dai momenti in cui il tempo è un fattore
130critico\footnotemark, sfruttando la \textbf{preautenticazione}.
131\footnotetext{Infatti, se la STA è in movimento fra due BSS e se
132l'autenticazione cade prima che la stessa STA possa riassociarsi con il
133successivo AP, la procedura potrebbe richiedere tempi considerevoli che
134andrebbero a degradare pesantemente le prestazioni.}
135Da quanto detto risulta quindi evidente che, a differenza dell'associazione,
136una stazione può essere autenticata presso molteplici altre stazioni.
137
138\subsubsection{Risparmio energetico}
139\label{sec:risparmioenergetico}
140Lo standard prevede la possibilità di utilizzare l'\textit{hardware} in maniera
141efficiente rispetto ai consumi energetici, dal momento che i dispositivi
142portatili alimentati a batteria sono tutt'altro che rari.
143Le stazioni che supportano tale funzionalità hanno la facoltà di
144``addormentarsi'' durante i periodi di inattività. In questi momenti, gli
145eventuali dati ad esse destinati vengono conservati dal BSS\footnotemark per un
146invio successivo, essendo esso stato precedentemente avvisato dello stato delle
147stazioni in questione.
148I BSS, quindi, annunciano periodicamente la presenza delle trasmissioni in
149attesa, indicandone i destinatari con un messaggio chiamato TIM che è presente
150all'interno di alcuni dei \textit{beacon}. Conseguentemente le stazioni in
151risparmio energetico sono tenute a risvegliarsi in corrispondenza di questi
152intervalli regolari, per poi richiedere l'invio tramite un apposito tipo di
153\textit{frame} (il \texttt{PS-Poll}).
154\footnotetext{In realtà sarebbe doveroso fare una distinzione fra le reti
155infrastrutturate e quelle indipendenti (o \textit{ad hoc}), nelle quali la
156conservazione dei dati è appannaggio, rispettivamente, dell'\textit{access
157point} e del nodo trasmittente.}
158
159\subsubsection{Vincoli temporali}
160\label{sec:vincolitemporali}
161Come già anticipato precedentemente (nella sezione \ref{salti}), il
162\textit{client} avrà l'illusione di essere contemporaneamente associato ai BSS
163di interesse tramite continui salti fra di essi; per questo motivo risulta
164importante chiarire quali siano i vincoli temporali che lo standard gli impone.
165La padronanza di queste informazioni è di grande rilevanza, sia perché dovranno
166essere rispettate dal \textit{client} anche in seguito alle modifiche che
167verranno proposte nel presente studio, sia perché potranno essere tenute
168presenti per raffinamenti volti a migliorare l'efficienza delle soluzioni.
169
170L'accesso al mezzo trasmissivo, a causa della sua stessa natura condivisa, è
171regolato da convenzioni stabilite dallo standard che consentono una
172ripartizione equa di questa risorsa.
173
174Tali regolamentazioni di natura temporale si fondano sulla reciproca
175sincronizzazione delle stazioni che condividono il mezzo fisico, raggiunta
176tramite il mantenimento di un \textbf{orologio} comune al BSS\footnotemark di
177appartenenza.
178Il valore su cui accordarsi viene distribuito all'interno di un \textit{frame}
179di gestione, il \textit{\textbf{beacon}}, inviato ad intervalli regolari e
180prefissati. Se già ora si intuisce che l'eventuale perdita di questi messaggi
181periodici durante i salti va minimizzata, ancor di più se ne comprende
182l'importanza a fronte della presenza di ulteriori informazioni di grande
183interesse per i fini preposti.
184
185Trattasi non solo dei \textbf{TIM} (cfr. \ref{sec:risparmioenergetico}), ma
186anche degli annunci di inizio dei periodi liberi da contesa presenti nelle reti
187infrastrutturate, lassi di tempo durante i quali l'accesso al mezzo è
188coordinato da un gestore centrale. Esso risiede tipicamente
189nell'\textit{access-point} e provvede a coordinare le comunicazioni in maniera
190spesso più efficiente rispetto a quando il coordinamento è distribuito.
191
192\footnotetext{Ancora una volta è necessaria una distinzione fra le reti
193infrastrutturate e le reti \textit{ad hoc}: il valore comune su cui accordarsi è
194dettato rispettivamente dall'\textit{access point} e dall'intero BSS in maniera
195distribuita.}
196
[7]197In aggiunta a quanto detto, il \textit{client} non potrà trascurare le
198\textbf{scadenze}
[1]199temporali oltre le quali i rapporti di autenticazione e associazione con i BSS
200vengono a cadere.
201
202\subsection{\textit{Wireless Extensions}}
203\label{sec:wext}
204La portabilità in ambienti GNU/Linux è stata ricercata usando come punto di
205riferimento le Linux Wireless Extensions (per brevità \texttt{wext}). Il
206progetto intende mettere ordine in uno scenario spesso dominato
207dall'eterogeneità, proponendo delle interfacce unificate per i driver di
208sistema delle varie soluzioni \textit{hardware} disponibili. Nel momento in cui
209si scrive sono ancora pochi i driver che si sono completamente uniformati a
210questo insieme di interfacce, ma questa scelta è stata dettata dalla speranza
211che esse diventino presto lo standard \textit{de facto}.
212
[4]213% TODO
214% introduzione alla terminologia (managed, master, ad-hoc, monitor)
215
[1]216Accanto alle API di programmazione sono stati sviluppati anche gli
217\textit{Wireless Tools}, comodi strumenti per l'utente che intendono
218offrire le medesime possibilità attraverso un'interfaccia a riga di comando.
219
220\subsection{Implementazioni}
221\label{sec:implementazioni}
222
223\subsubsection{Architettura}
224\label{sec:architettura}
225Lo standard IEEE 802.11 definisce due strati di rete che sono riconducibili,
226facendo riferimento al modello ISO/OSI, al livello fisico e a quello MAC
227(\textit{Medium Access Control}), implementati dai produttori tramite
228l'accoppiata \textit{hardware}/\textit{firmware}. MAC viene solitamente
229realizzato così a basso livello per rispondere alle esigenze di velocità
230e precisione temporale di cui si accennava in \ref{sec:vincolitemporali}.
231È importante sottolineare, quindi, che qualunque idea risolutiva dello
232studio in questione non potrà prescindere dalle modalità di interazione
233(interfacce e impostazioni) consentite dalla specifica implementazione di MAC.
234Questo discorso diventa tanto più importante quanto la soluzione perseguita si
235discosta dalla rigidità dello standard.
236
237La revisione 802.11i, che estende lo standard migliorando la sicurezza da esso
238offerta, definisce nuove funzionalità per il livello MAC che possono invece
239essere tranquillamente implementate all'esterno del \textit{firmware}.
240
[2]241\subsubsection{Libertà d'azione}
242\label{sec:libertàdazione}
[1]243Le più diffuse implementazioni di 802.11 sono però quantomai lontane dalle
244libertà di azione sperabili poiché il \textit{firmware} risulta essere
245scarsamente programmabile, consentendo poco più delle interazioni necessarie al
246normale funzionamento. Esempi di soluzioni \textit{chipset} che siano
247controcorrente, e pertanto interessanti, vengono riportati da
248\refname{guidadefinitiva}: Atheros\footnotemark e Broadcom.
249\footnotetext{L'unico (dei due) provato dagli autori, con driver
250\texttt{MADWiFi}.}
251
252A complicare ulteriormente la situazione intervengono le limitazioni imposte
253dalle autorità delle comunicazioni di molti Paesi (si pensi all'FCC
[4]254% http://ftp.fcc.gov/Bureaus/Engineering_Technology/Orders/2001/fcc01264.pdf
[1]255statunitense), che richiedono la distribuzione dei trasmettitori radio
256con \textit{firmware} in forma necessariamente binaria per scongiurare
257violazioni dei limiti di utilizzo delle frequenze.
258
259
260\subsubsection{Interpretazione dello standard}
261\label{sec:interpretazionedellostandard}
262
[2]263Nemmeno le più fedeli realizzazioni di 802.11 supportano la
264preautenticazione (\refname{guidadefinitiva}), quindi i servizi di
265autenticazione e associazione risultano indissolubilmente legati, vanificando
266ogni possibilità di realizzare autenticazione multipla.
267Di conseguenza, il superamento di questo limite, vincolante per realizzare
268associazione multipla simultanea, sarà, in tutta la sua complessità, compito
[7]269dell'implementatore della soluzione proposta in \ref{sec:soprailfirmware}.
[2]270
271Un'altra eventuale limitazione dovuta all'interpretazione dello standard
272può derivare dalla libertà concessa riguardo la stessa implementazione del
273supporto alla gestione energetica.
274
[1]275\subsection{Caso reale}
276\label{sec:casoreale}
277
[2]278Le schede \texttt{Atheros} costituiscono una realtà attraente per i fini dello
279studio, in particolare per ciò che concerne le libertà d'azione concesse di cui
280al \ref{sec:libertàdazione}.
281Il driver \texttt{MADWiFi} è in grado sfruttare in maniera interessante le
[4]282potenzialità fornite da questo \textit{chipset}, offrendo funzionalità non
[2]283troppo distanti dagli scopi del presente.
284
[5]285\subsubsection{Il \textit{chipset} \texttt{Atheros}}
[2]286\label{sec:atheros}
287
288I \textit{chipset} \texttt{Atheros} equipaggiano i dispositivi 802.11 di alcuni
289fra i maggiori produttori di \textit{hardware} per la connettività, come
[4]290\texttt{Linksys}, \texttt{NETGEAR}, \texttt{D-Link}, \texttt{Orinoco},
291\texttt{Proxim} o \texttt{3Com}.
[2]292
293Il suo \textit{firmware} consente un grado di interazione di estensione
294incomparabile, esponendo un'interfaccia in grado di offrire controllo anche su
295dettagli generalmente offuscati.
296
297Proprio per questa ragione la sua distribuzione è vincolata alla presenza di un
298sovrastrato (reso disponibile in sola forma binaria) atto a limitare
299l'interfaccia al fine di impedire utilizzi non conformi alle vigenti
300regolamentazioni sugli apparecchi radio. Tale componente, denominato
301\texttt{HAL} (\textit{Hardware Abstraction Layer}), interviene limitando le
[4]302radiofrequenze operative del dispositivo, continuando comunque a concedere le
303libertà auspicate.
[2]304
[5]305\subsubsection{Il \textit{driver} \texttt{MADWiFi}}
[2]306\label{sec:madwifi}
[4]307A partire dallo scorso anno la spinta innovatrice di \texttt{Atheros} ha avuto
308riscontro anche nel progetto \texttt{MADWiFi}, i driver liberi per piattaforme
[5]309Linux sviluppati inizialmente da Sam Leffler. Le novità introdotte dal nuovo
310\texttt{HAL} sono state sfruttate aggiungendo una serie di funzionalità di
311grande rilevanza. Il carattere rivoluzionario rende il progetto, come spesso
312capita, piuttosto instabile ma assai vitale.
[2]313
[4]314L'aspetto indubbiamente più interessante è l'introduzione della modalità
315\textbf{VAP} (\textit{Virtual Access Point}), grazie alla quale è possibile
316virtualizzare il dispositivo creando molteplici interfacce di rete operanti
[5]317concorrentemente in maniera indipendente.
318Questa funzionalità è implementata facendo uso del medesimo livello fisico,
319vincolando così l'operatività dei VAP sullo stesso canale trasmissivo.
320Ciononostante, la rosa delle possibilità rimane ben assortita, permettendo la
321creazione di molteplici \textit{access point} e/o una (e al più una) stazione in
322modalità \texttt{managed} o \texttt{ad-hoc}.
323La nota modalità \texttt{monitor} viene inoltre resa inseribile in una qualsiasi
324delle configurazioni appena descritte, con la semplice aggiunta di un VAP di
325questo tipo.
[4]326I vari VAP creati possono poi essere eventualmente interconnessi tramite il WDS,
327un'altra delle caratteristiche salienti del driver, che realizza un sistema di
328distribuzione basato su connessioni 802.11 fra i BSS d'interesse, siano
329essi locali (e virtualizzati) o esterni.
330% TODO
[5]331% Chiarire il concetto di DS e di BSS
[2]332
[5]333Le interfacce virtuali create saranno esposte ed utilizzate comodamente in piena
[4]334trasparenza, essendo presentate come ordinarie interfacce di rete aderenti alle
335\textit{Wireless Extensions}.
336
337L'alto grado di controllo permesso dal \textit{firmware} \texttt{Atheros} si
[5]338propaga fino all'utente attraverso il \textit{driver} grazie ai suoi numerosi
339parametri specifici, che si ricordano essere gestibili tramite il comando
340\texttt{iwpriv} degli \textit{Wireless Tools}. Un ulteriore strumento a riga di
341comando, \texttt{wlanconfig}, completa le necessità di amministrazione proprie
342di questo \textit{driver}, permettendo creazione, distruzione e cambio di
343modalità dei VAP.
[4]344
[1]345\section{Soluzioni}
346\label{sec:soluzioni}
[5]347Lo studio di fattibilità in oggetto non può che aver prodotto degli schemi di
348soluzione che coniugano le idee emerse durante la fase di analisi del problema,
349ma che si precisano essere ancora distanti dall'esaustività.
350Tali proposte di soluzione si differenziano per il livello implementativo di
351riferimento, poiché esso comporta un importante \textit{trade-off} fra
352portabilità ed efficienza.
353Quanto più basso, infatti, è il livello al quale si opera, tanto più alta è la
354possibilità di sfruttare appieno le potenzialità del dispositivo, a scapito
355della compatibilità offerta e della facilità implementativa.
356Punto fermo di ogni soluzione proponibile è l'effettuazione di salti periodici
357fra i BSS ai quali il \textit{client} desideri essere ``contemporaneamente''
358associato.
359Le differenze di prestazioni fra le due soluzioni che si proporranno di
360seguito sono dovute proprio ai diversi tempi che i salti periodici
361richiedono, che costituiscono quasi interamente l'\textit{overhead} introdotto.
[1]362
[5]363Si procederà quindi ad illustrare due soluzioni attraverso un'attenta analisi
364che entrerà nei dettagli, dimostrando quanto appena affermato e calcolando il
365rapporto fra vantaggi e svantaggi che esse comportano.
366
367\subsection{Sopra il \textit{firmware}}
368\label{sec:soprailfirmware}
369
370\subsubsection{Descrizione}
371\paragraph{Idea}
372Questa soluzione nasce dal desiderio di realizzare associazioni multiple
373effettive, per mezzo delle quali, cioé, in un dato istante ogni BSS di interesse
374per il \textit{client} lo consideri regolarmente associato.
375Ciò che si propone consiste sostanzialmente di modifiche al \textit{driver} per
376implementare i salti fra i BSS in maniera tale da evitare la perdita di
377associazione presso ognuno di essi.
378
379\paragraph{Come}
380Per far ciò si deve interagire direttamente (ed eventualmente in maniera
381poco corretta) con l'entità di gestione di 802.11, che si è già chiarito
382risiedere all'interno del \textit{firmware} della scheda \textit{wireless}.
383Soltanto il \textit{driver} sovrastante ha infatti la possibilità di alterare
384determinati stati interni al \textit{firmware} per modificare il comportamento
385di MAC.
386I parametri a cui si sta facendo riferimento sono quelli che regolano i rapporti
387di associazione e necessaria autenticazione della stazione: caratteristiche del
388BSS, caratteristiche della crittografia e dell'autenticazione in uso, eventuali
389chiavi temporanee \ldots
390
391\paragraph{Gabola}
[6]392\label{gabola}
[5]393Uno degli aspetti più convincenti di questa soluzione è la possibilità di
394utilizzare la modalità di risparmio energetica (introdotta nella
[7]395sezione \ref{sec:risparmioenergetico}).
[5]396I ripetuti salti costringono il \textit{client} ad assenze dal canale che
397possono infatti essere spacciate senza troppa difficoltà per riposi
398preannunciati, costringendo con l'inganno i BSS a conservare i dati a lui
399diretti. Per completare questa strategia, la stazione simula al suo ritorno un
400risveglio per ricevere l'intera mole di informazioni in attesa di consegna.
401
[6]402\paragraph{Architettura}
403Il \textit{design} della soluzione intende rispondere alle esigenze di
404trasparenza per il sistema operativo e, di conseguenza, per l'utente.
405Le interfacce virtuali, della cui presenza il \textit{driver} è tenuto a
406notificare il SO, aderiscono alle \textit{Wireless Extensions} e si
407differenziano attraverso diversi indirizzi MAC (verosimilmente fittizi).
408Questa forma di \textit{spoofing} è necessaria sia per lo smistamento dei flussi
409in entrata alla stazione e provenienti dai BSS, sia per il convogliamento di
410quelli in uscita dalla stazione e diretti ai vari BSS.
[5]411%       TODO
412%       Grafico della faccenda
413%       OS   [] [] []
414%              \ | /
415%       DRI     \|/
416%       FW      [ ]
[6]417%     ANTENNA    Y
418%              .'  `.
419% BSS1       .'      B1
420% BSS2     B2
421Così facendo si renderà peraltro possibile l'utilizzo di associazioni multiple
422all'interno del medesimo ESS per ridondare la partecipazione.
423La residenza del componente di gestione dei flussi multipli di comunicazione
424all'interno del \textit{driver} lascia chiaramente spazio all'aggiunta di
425politiche per pianificazioni ottimali delle trasmissioni (se ne parlerà più
426approfonditamente in \ref{sec:ottimizzazioni}.
[5]427
428\subsubsection{Vantaggi}
[6]429\begin{description}
[7]430 \item [Perdita di dati nulla] :\\
431  \begin{math} \Leftarrow \end{math}
432  i dati in arrivo vengono conservati dai BSS grazie allo sfruttamento della
433  modalità di risparmio energetico (cfr. \ref{sec:risparmioenergetico} e
434  \ref{gabola}).
435 \item [Prestazioni massime] :\\
436  \begin{math} \Leftarrow \end{math}
437  l'effettiva associazione multipla minimizza il costo dei salti evitando
438  riautenticazioni e riassociazioni (cfr. \ref{sec:accessoallarete}).
439 \item [Trasparenza totale] :\\
440  \begin{math} \Leftarrow \end{math}
441  le interfacce aderenti alle \texttt{wext} nascondono completamente la realtà
442  dei fatti (cfr. \ref{sec:wext}).
443 \item [Punto di partenza già disponibile] :\\
444  \begin{math} \Leftarrow \end{math}
445  \texttt{MADWiFi} implementa un sottoinsieme delle funzionalità in oggetto
446  (cfr. \ref{sec:madwifi}).
[6]447\end{description}
[5]448
449\subsubsection{Svantaggi}
[6]450\begin{description}
451 \item [Sforzo implementativo considerevole] : \\
452  \begin{math} \Leftarrow \end{math}
453  aggiunta delle nuove funzionalità, mantentendo le informazioni relative agli
454  stati di autenticazione associazione ed eventualmente sincronizzando la
[7]455  presenza su un BSS ad infrastruttura con i periodi liberi da contesa
456  (cfr. \ref{sec:vincolitemporali});\\
[6]457  \begin{math} \Leftarrow \end{math}
458  parziale reimplementazione di MAC, evitando la perdita dei \texttt{beacon},
459  indispensabili per il rispetto dei vincoli temporali
[7]460  (cfr. \ref{sec:vincolitemporali});\\
[6]461  \begin{math} \Leftarrow \end{math}
462  complessità intrinseca dovuta al basso livello a cui si è costretti ad agire;
463  \\
464  \begin{math} \Leftarrow \end{math}
465  forma binaria nella quale i \textit{firmware} sono sovente distribuiti che
466  può costringere a noiose operazioni di ingegneria inversa.
[7]467 \item [Limitazioni prestazionali] :\\
468  \begin{math} \Leftarrow \end{math}
[6]469  i vincoli temporali dovuti ad esigenze ordinarie (mantenimento
470  dell'associazione) e aggiuntive (ritiro dei dati conservati dai BSS)
[7]471  costringono a salti indesiderati (cfr. \ref{sec:vincolitemporali}).
472 \item [Specificità] :\\
473  \begin{math} \Leftarrow \end{math}
474  portabilità minima a causa della dipendenza dalla piattaforma
475  \textit{hardware} sottostante;\\
476  \begin{math} \Leftarrow \end{math}
477  scarsezza di \textit{firmware} sufficientemente controllabili sui quali è
478  possibile lo sviluppo (cfr. \ref{sec:libertàdazione} e
479  \ref{sec:atheros});\\
480  \begin{math} \Leftarrow \end{math}
481  dipendenza dalla funzionalità di risparmio energetico, dal lato
482  \textit{client} come da quello BSS (cfr. \ref{sec:risparmioenergetico} e
483  \ref{gabola}).
[6]484\end{description}
[5]485
486\subsection{Sopra il \textit{driver}}
487\label{sec:sopraildriver}
488
489\subsubsection{Descrizione}
[7]490\label{sec:descrizione2}
491
492\paragraph{Idea}
493Lo spirito con il quale questa soluzione viene concepita è quello di
494lavorare ad alto livello in piena aderenza allo standard, favorendo la
495portabilità e minimizzando, peraltro, gli sforzi implementativi.
496La scelta di interazione con un generico \textit{driver} di sistema per
497ambienti GNU/Linux risponde a queste esigenze, al prezzo della rinuncia
498all'effettività dell'associazione multipla.
499
500\paragraph{Come}
501Come accennato in \ref{sec:interpretazionedellostandard} ogni
502implementazione lega indissolubilmente i concetti di autenticazione
503e riassociazione, vanificando la speranza di mantenere autenticazioni multiple
504ed obbligando a rincarare (spesso non di poco) i costi dei salti fra i BSS.
505Un salto dal BSS1 al BSS2 consterà quindi di questa sequenza di
506operazioni: <dissociazione da BSS1, deautenticazione da BSS1,
507autenticazione con BSS2, associazione con BSS2>.
508
509% pur costringendo a pagare il
510% prezzo delle riassociazioni ad ogni cambio di BSS.
511% La genericità perseguita costringe, purtroppo, ad effettuare salti in maniera
512% alquanto inefficiente a causa del legame che intercorre in
513% di 802.11 fra associazione e autenticazione.
514
515% .   * riassociazione e riautenticazione ad ogni cambio di BSS
516% .   * Wireless Extensions come riferimento
517%       interfacce virtuali wext
518%       compliant (->)
519
520\paragraph{? 802.1x ?}
[5]521% .   * autenticazioni multiple a livelli superiori 802.1x (con wpa_supplicant)
[7]522% chiarire la cosa o lasciarla come questione aperta???
[5]523
524\subsubsection{Vantaggi}
[7]525\label{vantaggi2}
526\begin{description}
527 \item[Facilità implementativa]:\\
528  \begin{math} \Leftarrow \end{math}
529  .
[5]530% .   * facilita` implementativa
[7]531 \item[Trasparenza]:\\
532  \begin{math} \Leftarrow \end{math}
533  .
[5]534% .   * totale trasparenza grazie alle interfacce wext compliant (in questo
[7]535% .     la cosa e` _non_ banale, per il livello implementativo e permette il
[5]536% .     comodo uso di wpa_supplicant)
[7]537 \item[Portabilità]:\\
538  \begin{math} \Leftarrow \end{math}
539  .
[5]540% .   * portabilita' dovuta alle interfacce unificate
[7]541\end{description}
[5]542
543\subsubsection{Svantaggi}
[7]544\label{svantaggi2}
545\begin{description}
546 \item [Perdita di dati]:\\
547  \begin{math} \Leftarrow \end{math}
548  .
[5]549%     * dataloss [ma si puo` risolvere a livelli superiori (TCP, ATM)]
[7]550 \item [Prestazioni al limite del ridicolo]:\\
551  \begin{math} \Leftarrow \end{math}
552  .
[5]553% :   * latenze (|assai) ingenti (con|senza) autenticazione multipla
554%       * analisi costi vago in termini di ordini di grandezza:
555%         * associazione
556%         * sincronizzazione ~ 100 ms
557%         * autenticazione (PSK)
[7]558\end{description}
[1]559\section{Ottimizzazioni ulteriori per le scelte di swinging}
560\label{sec:ottimizzazioni}
[7]561% * obblighi temporali da rispettare [sincronizzazione]
562% * costi dello switch
563% * qualita' dei BSS (carico di lavoro, segnale)
564% * caratteristiche delle comunicazioni (esigenze di interattivita` o meno,
565%   priorita' ...) -> politiche di QoS di 802.11e
[1]566\section{Bibliografia}
567\label{sec:bibliografia}
568
569\section{Ringraziamenti}
570\label{sec:ringraziamenti}
571
572\end{document}
Note: See TracBrowser for help on using the repository browser.