Ignore:
Timestamp:
May 9, 2007, 7:01:59 PM (18 years ago)
Author:
soujak
Message:

Concluso CasoReale ed iniziato Soluzioni.SopraIlFirmware

File:
1 edited

Legend:

Unmodified
Added
Removed
  • doc/AssociazioneMultipla.tex

    r4 r5  
    44\usepackage[T1]{fontenc}
    55\usepackage[utf8]{inputenc}
    6 \usepackage[pdftex,bookmarks,colorlinks,linkcolor=red,urlcolor=blue]{hyperref}
     6\usepackage[pdftex,bookmarks,colorlinks,citecolor=green, linkcolor=red,
     7urlcolor=blue]{hyperref}
    78
    89% testo colorato
     
    2425
    2526\begin{abstract}
    26 La diffusione di reti wireless è in forte crescita a causa della sua comodità e
    27 della diffusa disponibilità di connessioni ad Internet con ampie larghezze di
    28 banda. Sfruttare contemporaneamente la connessione alla molteplicità di reti
    29 spesso presente permetterebbe un utilizzo migliore di tali risorse, migliorando
    30 il \textit{throughput} e incrementandone l'affidabilità.
     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à.
    3132
    3233Lo studio intende quindi analizzare le effettive possibilità di realizzazione di
    3334un'estensione delle comuni implementazioni dello standard IEEE 802.11 che
    3435permetta al singolo \textit{client} in ambiente GNU/Linux l'associazione
    35 simultanea a
    36 differenti reti wireless.
     36simultanea a differenti reti \textit{wireless}.
    3737\end{abstract}
    3838
    3939% \newpage
    4040\section{Introduzione}
    41 \label{sec:intro}
     41\label{sec:introduzione}
    4242
    4343\subsection{Oggetto}
     
    4545Lo studio di fattibilità si interroga sulle possibilità realizzative di
    4646connessione di un singolo \textit{client} 802.11 a diverse reti, partecipando a
    47 piè BSS
    48 (cioè l'insieme di nodi costituenti una rete wireless).
     47più BSS (cioè l'insieme di nodi costituenti una rete \textit{wireless}).
    4948
    5049Nel presente documento si intende dapprima introdurre il lettore allo scenario
     
    5958\textit{client},
    6059permettendogli connessioni simultanee a reti altrimenti isolate ed eventualmente
    61 consentendo al \textit{client} di agire in qualità di ponte. Qualora i punti di
    62 accesso
    63 resi contemporaneamente utilizzabili riferiscano (più o meno direttamente)
    64 alla medesima rete, allora la molteplicità si traduce in ridondanza e,
    65 conseguentemente, in affidabilità. I più coraggiosi potranno sfruttare
    66 multi-connettività in oggetto come punto di partenza per la realizzazione di
    67 politiche di gestione al fine di massimizzare il \textit{throughput} aggregato.
     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.
    6867
    6968\subsection{Obiettivi supplementari}
     
    9695sua natura, disponibile e condiviso da ogni utilizzatore, pertanto lo standard
    9796IEEE 802.11 ne sancisce il partizionamento in diversi spettri di frequenza
    98 denominati canali. In tal modo si permette la coesistenza di reti wireless
    99 distinte in aree limitrofe o addirittura sovrapposte grazie all'uso di canali
    100 differenti.
     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.
    101100
    102101\label{salti}
     
    109108\subsubsection{Accesso alla rete}
    110109\label{sec:accessoallarete}
    111 Affinché una stazione mobile possa partecipare ad una rete wireless, le è fatto
    112 obbligo di annunciare la sua presenza attraverso una procedura detta di
    113 \textbf{associazione}. Questo legame unisce una stazione ad uno ed un solo BSS e
    114 garantisce che la stazione possa effettuare trasmissioni dirette ad ognuno dei
    115 nodi appartenente all'intera rete e viceversa.\\
     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.\\
    116116Lo studio intende proprio scardinare l'univocità del rapporto fra stazione
    117117e BSS che lo standard impone esplicitamente.
     
    282282troppo distanti dagli scopi del presente.
    283283
    284 \subsubsection{Il chipset Atheros}
     284\subsubsection{Il \textit{chipset} \texttt{Atheros}}
    285285\label{sec:atheros}
    286286
     
    302302libertà auspicate.
    303303
    304 \subsubsection{Il driver MADWifi}
     304\subsubsection{Il \textit{driver} \texttt{MADWiFi}}
    305305\label{sec:madwifi}
    306306A partire dallo scorso anno la spinta innovatrice di \texttt{Atheros} ha avuto
    307307riscontro anche nel progetto \texttt{MADWiFi}, i driver liberi per piattaforme
    308 Linux sviluppati inizialmente da Sam Leffler. Le novità dal nuovo HAL sono state
    309 sfruttate introducendo una serie di funzionalità di grande rilevanza. Il
    310 carattere rivoluzionario rende il progetto, come spesso capita, piuttosto
    311 instabile ma assai vitale.
     308Linux sviluppati inizialmente da Sam Leffler. Le novità introdotte dal nuovo
     309\texttt{HAL} sono state sfruttate aggiungendo una serie di funzionalità di
     310grande rilevanza. Il carattere rivoluzionario rende il progetto, come spesso
     311capita, piuttosto instabile ma assai vitale.
    312312
    313313L'aspetto indubbiamente più interessante è l'introduzione della modalità
    314314\textbf{VAP} (\textit{Virtual Access Point}), grazie alla quale è possibile
    315315virtualizzare il dispositivo creando molteplici interfacce di rete operanti
    316 concorrentemente in maniera indipendente. Questa funzionalità è implementata
    317 facendo uso del medesimo livello fisico, vincolando così l'operatività dei VAP
    318 sullo stesso canale trasmissivo. Ciononostante, la rosa delle possibilità rimane
    319 ben assortita, permettendo la creazione di molteplici \textit{access point} e/o
    320 una (e al più una) stazione in modalità \texttt{managed} o \texttt{ad-hoc}. La
    321 nota modalità \texttt{monitor} viene inoltre resa inseribile in una qualsiasi
    322 delle configurazioni appena destritte, con la semplice aggiunta di un VAP di
    323 questo tipo.\\
     316concorrentemente in maniera indipendente.
     317Questa funzionalità è implementata facendo uso del medesimo livello fisico,
     318vincolando così l'operatività dei VAP sullo stesso canale trasmissivo.
     319Ciononostante, la rosa delle possibilità rimane ben assortita, permettendo la
     320creazione di molteplici \textit{access point} e/o una (e al più una) stazione in
     321modalità \texttt{managed} o \texttt{ad-hoc}.
     322La nota modalità \texttt{monitor} viene inoltre resa inseribile in una qualsiasi
     323delle configurazioni appena descritte, con la semplice aggiunta di un VAP di
     324questo tipo.
    324325I vari VAP creati possono poi essere eventualmente interconnessi tramite il WDS,
    325326un'altra delle caratteristiche salienti del driver, che realizza un sistema di
     
    327328essi locali (e virtualizzati) o esterni.
    328329% TODO
    329 % Chiarire il concetto di DS?
    330 
    331 Le interfacce virtuali create saranno esposte ed utilizzate in piena
     330% Chiarire il concetto di DS e di BSS
     331
     332Le interfacce virtuali create saranno esposte ed utilizzate comodamente in piena
    332333trasparenza, essendo presentate come ordinarie interfacce di rete aderenti alle
    333334\textit{Wireless Extensions}.
    334 % TODO
    335 % Comodità?
    336335
    337336L'alto grado di controllo permesso dal \textit{firmware} \texttt{Atheros} si
    338 propaga fino all'utente attraverso il \textit{driver} e i suoi numerosi
    339 parametri specifici, che ricordiamo essere gestibili tramite il comando
    340 \texttt{iwpriv} degli \textit{Wireless Tools}.
    341 
    342 %   * interfaccia verso l'alto con wlanconfig
    343 
     337propaga fino all'utente attraverso il \textit{driver} grazie ai suoi numerosi
     338parametri specifici, che si ricordano essere gestibili tramite il comando
     339\texttt{iwpriv} degli \textit{Wireless Tools}. Un ulteriore strumento a riga di
     340comando, \texttt{wlanconfig}, completa le necessità di amministrazione proprie
     341di questo \textit{driver}, permettendo creazione, distruzione e cambio di
     342modalità dei VAP.
    344343
    345344\section{Soluzioni}
    346345\label{sec:soluzioni}
     346Lo studio di fattibilità in oggetto non può che aver prodotto degli schemi di
     347soluzione che coniugano le idee emerse durante la fase di analisi del problema,
     348ma che si precisano essere ancora distanti dall'esaustività.
     349Tali proposte di soluzione si differenziano per il livello implementativo di
     350riferimento, poiché esso comporta un importante \textit{trade-off} fra
     351portabilità ed efficienza.
     352Quanto più basso, infatti, è il livello al quale si opera, tanto più alta è la
     353possibilità di sfruttare appieno le potenzialità del dispositivo, a scapito
     354della compatibilità offerta e della facilità implementativa.
     355Punto fermo di ogni soluzione proponibile è l'effettuazione di salti periodici
     356fra i BSS ai quali il \textit{client} desideri essere ``contemporaneamente''
     357associato.
     358Le differenze di prestazioni fra le due soluzioni che si proporranno di
     359seguito sono dovute proprio ai diversi tempi che i salti periodici
     360richiedono, che costituiscono quasi interamente l'\textit{overhead} introdotto.
     361
     362Si procederà quindi ad illustrare due soluzioni attraverso un'attenta analisi
     363che entrerà nei dettagli, dimostrando quanto appena affermato e calcolando il
     364rapporto fra vantaggi e svantaggi che esse comportano.
     365
     366\subsection{Sopra il \textit{firmware}}
     367\label{sec:soprailfirmware}
     368
     369\subsubsection{Descrizione}
     370\paragraph{Idea}
     371Questa soluzione nasce dal desiderio di realizzare associazioni multiple
     372effettive, per mezzo delle quali, cioé, in un dato istante ogni BSS di interesse
     373per il \textit{client} lo consideri regolarmente associato.
     374Ciò che si propone consiste sostanzialmente di modifiche al \textit{driver} per
     375implementare i salti fra i BSS in maniera tale da evitare la perdita di
     376associazione presso ognuno di essi.
     377
     378\paragraph{Come}
     379Per far ciò si deve interagire direttamente (ed eventualmente in maniera
     380poco corretta) con l'entità di gestione di 802.11, che si è già chiarito
     381risiedere all'interno del \textit{firmware} della scheda \textit{wireless}.
     382Soltanto il \textit{driver} sovrastante ha infatti la possibilità di alterare
     383determinati stati interni al \textit{firmware} per modificare il comportamento
     384di MAC.
     385I parametri a cui si sta facendo riferimento sono quelli che regolano i rapporti
     386di associazione e necessaria autenticazione della stazione: caratteristiche del
     387BSS, caratteristiche della crittografia e dell'autenticazione in uso, eventuali
     388chiavi temporanee \ldots
     389
     390\paragraph{Gabola}
     391Uno degli aspetti più convincenti di questa soluzione è la possibilità di
     392utilizzare la modalità di risparmio energetica (introdotta nella
     393sezione \ref{sec:risparmioenergetico}.
     394I ripetuti salti costringono il \textit{client} ad assenze dal canale che
     395possono infatti essere spacciate senza troppa difficoltà per riposi
     396preannunciati, costringendo con l'inganno i BSS a conservare i dati a lui
     397diretti. Per completare questa strategia, la stazione simula al suo ritorno un
     398risveglio per ricevere l'intera mole di informazioni in attesa di consegna.
     399
     400% :   * il driver sara' in grado di gestire in un unico punto d'entrata le
     401% :     interfacce multiple offerte dal SO
     402%       TODO
     403%       Grafico della faccenda
     404%       OS   [] [] []
     405%              \ | /
     406%       DRI     \|/
     407%       FW      [ ]
     408Si consiglia inoltre che il \textit{client} si presenti ai differenti BSS con
     409indirizzi MAC diversi fra loro, in modo tale da evitare partecipazione
     410ridondante al medesimo ESS.
     411
     412% .   * componente scheduler (-> interfacce virtuali wext compliant) che
     413% .     pianifica le trasmissioni
     414
     415
     416
     417\subsubsection{Vantaggi}
     418% :   * nessuna perdita di dati
     419% .     * power-saving e bufferizzazione dei dati da parte degli AP
     420%     * buone prestazioni
     421% .     * reale associazione multipla -> nessun overhead per
     422% .       riautenticazione/riassociazione
     423% .   * totale trasparenza grazie alle interfacce wext compliant
     424% .   * si puo' non partire da zero (-> madwifi)
     425
     426\subsubsection{Svantaggi}
     427%     * grosso sforzo per l'implementazione
     428% .     * parziale reimplementazione di MAC per occuparsi di beghe causate
     429%         dalla molteplicita' dei BSS:
     430% .       * tempistiche: sincronizzazione, rilevamento beacon persi ed eventuale
     431% .         sfruttamento dei CFP. (beacon interval noti e mantenimento di
     432% .         informazioni necessarie per ogni BSS)
     433% .       * sottotipi di autenticazione/crittografia: mantenimento chiavi
     434% .         (|di sessione), stato della crittografia e dell'autenticazione.
     435% .         (getter e setter sugli attributi MIB relativi)
     436% .     * complessita' intrinseca dovuta al livello implementativo
     437% .     * firmware spesso solo binari, quindi probabile reverse engineering
     438% .   * prestazioni non eccellenti, perche` limitate da power-saving e relativi
     439% .     obblighi temporali (TIM...) {non posso proprio fare i miei comodi al
     440% .     100% }
     441%     * troppo specifico
     442%       * dipendenza dalla piattaforma fw -> portabilita' minima
     443% .     * necessita' di power saving
     444% .     * la soluzione dipende fortemente dal firmware di riferimento, scarsa
     445% .       programmabilita' di parecchie implementazioni
     446
     447\subsection{Sopra il \textit{driver}}
     448\label{sec:sopraildriver}
     449
     450\subsubsection{Descrizione}
     451% :   * idea: cheppalle riscriversi un driver, chissenefrega degli overhead,
     452% :           lavoriamo pure a livello alto
     453% .   * riassociazione ad ogni cambio di BSS
     454% .   * GNU/Linux e Wireless Extensions come riferimento
     455% :   * forse autenticazione multipla
     456% .   * interfacce virtuali wext compliant (->)
     457% .   * autenticazioni multiple a livelli superiori 802.1x (con wpa_supplicant)
     458
     459\subsubsection{Vantaggi}
     460% .   * facilita` implementativa
     461% .   * totale trasparenza grazie alle interfacce wext compliant (in questo
     462% .     la cosa e` non banale, per il livello implementativo e permette il
     463% .     comodo uso di wpa_supplicant)
     464% .   * portabilita' dovuta alle interfacce unificate
     465
     466\subsubsection{Svantaggi}
     467%     * dataloss [ma si puo` risolvere a livelli superiori (TCP, ATM)]
     468% :   * latenze (|assai) ingenti (con|senza) autenticazione multipla
     469%       * analisi costi vago in termini di ordini di grandezza:
     470%         * associazione
     471%         * sincronizzazione ~ 100 ms
     472%         * autenticazione (PSK)
    347473
    348474\section{Ottimizzazioni ulteriori per le scelte di swinging}
Note: See TracChangeset for help on using the changeset viewer.