source: doc/AssociazioneMultipla.tex @ 8

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

Conclusa la stesura della bozza del documento.

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