source: doc/AssociazioneMultipla.tex @ 9

Last change on this file since 9 was 9, checked in by soujak, 18 years ago

Prima parte della revisione, con aggiunta di indice e bibliografia.

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