wiki:Diario/Roma

19 Giugno 2007

13.00 - 13.30 ( 0.30 h)

Il roaming per reti wireless viene definito come un servizio che l'AP offre ad una stazione per permettere ad essa di passare da un'area di coperture di un AP ad un altra rimanedo sempre collegata alla rete; e' altresi' importante sapere che il numero massimo di AP che possono offrire roaming in una determinata area e' di 250.

Piccola nota trovata su Packet Data Roaming: per supportare il roaming in una rete 802.11b una stazione deve effettuare periodicamente una scansione di tutti gli AP vicini e lei e associarsi a quello con il segnale di intensita' maggiore. Se ci sono piu' AP su uno stesso canale il roaming non puo' funzionare bene, in quanto le interferenze dovute alla sovrapposizione di essi causeranno un derado consistente delle prestazioni. Per evitare cio' ogni AP deve essere su un canale diverso.

15.30 - 17.00 ( 1.30 h)

Da quanto detto da zeratul il roaming non fa parte di nessuno standard, ma e' lasciato come implementazione facoltativa ai produttori di AP. Si puo' andare a vedere se l'implementazione e' unica o se ogni produttore ne implementa una sua, fermo restando che c'e' la possibilita' di trovarsi di fronte ad una moltitudine di soluzioni che non possono essere unificate.Nei prossimi giorni si iniziera' lo studio di alcune soluzioni per vedere eventuali peculiarita' tra le diverse implementazioni.

Un ulteriore problema e' il fatto che per una stazione non e' possibile stabilire a priori se si trova in un'area dove gli AP presenti forniscono il servizio di roaming.La guida definitiva offre una prima idea su come gli implementatori di schede affrontino l'idea del roaming.Una prima idea e' fare probing a tutti gli AP presenti e controllare il loro ESSID.Se sono uguali allora e' possibile che il roaming sia implementato ( e attivo ); la nota dolente e' che non e' detto che se una serie di AP implementa tale servizio esso sia attivo.

N.B. Lavoro svolto in coppia ( roma e zeratul )

20 Giugno 2007

9.30 - 12.10 ( 2.40 h)

Da scartare l'ipotesi di guardare le diverse implementazioni del servizio di roaming da parte dei produttori di AP.Quasi tutto cio'che e'legato a tale realta' e' protetto da patenti statunitensi che possono essere visibili solo a pagamento.

Uno degli aspetti che molto probabilmente e'comune a tutte le implementazioni e'che la gestione del passaggio di una stazione da un AP ad un altro ( azione detta proprio di roam) e'controllata da un server esterno: vi sono un numero arbitrario di AP tutti facenti parte dello stesso ESS e, nella gran parte dei casi, interconnessi via cavo.Essi fanno riferimento ad un server esterno ( normalmente RADIUS) che gestisce e velocizza le azioni di roam; ovvero quando una stazione vuole passare da un AP ad un altro essa chiede una riassociaizone all'AP di destinazione, il quale gira la richiesta al server e il server risponde alla stazione passandogli tutti i nuovi parametri.Come dicevo sopra tale strategia e' il punto cruciale dell'implementazione del roaming ed e'anche l'unica parte della quale se ne ha notizia certa. Un esempio e'descritto nella pagina http://cdg.org/news/events/CDMASeminar/05_LatinAm/op_roam_meeting/Packet%20Data%20Roaming.pdf.

Molto probabilmente molte delle divergenze tra le varie implementazioni saranno risolte quando ieee riconoscera'come standard a tutti gli effetti il lavoro chiamato 802.11r. Questo lavoro si prefigge l'obiettivo di realizzare veloci transizioni di dati fra BSS, specialmente tra stazioni mobili, utilizzando il roaming e definendo particolari metodologie che consentano ad una stazione che passa da un AP ad un altro di avere garanzie sul QoS del nuovo nodo. Naturalmente questo lavoro e' ancora in fase di allestimento e bisognera' aspettare ancora prima di vederlo ultimato. Per concludere 802.11r si appoggia per quanto riguarda la trasmissione dei dati allo standard 802.11F che verra'analizzato prossimamente.

22 Giugno 2007

11.00 - 13.40 ( 2.40 h)

Come fa una stazione a sapere se il servizio di roaming in una data rete? il documento Network Selection and Discovery of Service Information in Public WLAN Hotspots descrive lo scenario esistente per il servizio di roaming offerto ad diversi WISP ( Wireless Internet Service Provider): l'idea e' quella di poter avere non un'unica rete che fornisce roaming ma avere piu' reti ( con diversi provider) tutte interconnesse tra loro in maniera tale che se una stazione mobile vuole muoversi da un AP di una rete ad un altro AP ( di una rete diversa) puo' farlo sfruttando proprio il roaming. Per fare cio' ogni provider mantiene al suo interno delle tabelle statiche dove sono salvate tutte le reti ( controllate da altri provider) raggiungibili attraverso il servizio di roaming e invia alla STA il proprio SSID; ogni STA deve avere all'interno le medesime tabelle e puo' passare da un AP ad un altro basandosi proprio su suddette tabelle dove sono salvate tutte le reti facenti parte dello stesso "Roaming Organization". Uno dei problemi di questa soluzione e' dato dalla grandezza delle tabelle, in quanto tabelle con molte reti salvate occupano molto spazio in memoria; il documento quindi suggerisce di utilizzare questo metodo solo se il numero delle reti non e' molto alto ( si parla nell'ordine del centinaio).Un altro problema nasce dall'aggiornamento delle tabelle delle STA in quanto questo lavoro dovra' essere svolto dal provider al quale le STA fanno riferimento, aggiungendo cosi' altro carico alla rete e aumentando il lavoro degli AP. Un ulteriore problema consiste nel fatto che ogni volta una STA vuole passare da un AP ad un altro posti in differenti reti essa deve si avvalersi delle tabelle di roaming statiche salvate al suo interno ma deve comunque notificare il cambio al suo provider, il quale le passera' i parametri del nuovo provider e del nuovo AP.

Un'ulteriore soluzione e' definita nel modo seguente: ogni provider che fa parte di una Roaming Organization non invia alle STA il proprio SSID ma invia l'SSID della propria organizzazione. In questa maniera una STA potra' usufruire di tutti gli AP di tutte le reti come se facessero parte di una unica rete. Il problema sorge quando un providere fa parte di piu' di una "Roaming Organization"; la soluzione consiste nel dotare ogni AP di piu' VAP ognuno dei quali mantiene il proprio BSSID e SSID dell'organizzazione. Quando una STA chiedera' l'associazione bastera' utilizzare l'AP virtuale che ha come SSID il medesimo della rete dove si trova la STA richiedente.

14.20 - 16.30 ( 2.10 h)

Come riportato in ORiNOCO WDS per avere un distribution system tra due AP e' sufficiente che nei frame siano presenti quattro indirizzi MAC: indirizzo MAC della stazione che invia i pacchetti,indirizzo MAC della stazione ricevente, indirizzo MAC dell'AP al quale il trasmettitore e' associato e indirizzo MAC dell'AP al quale e' associato il ricevitore. Tale AP e' connesso tramite WDS all'AP del trasmettitore.

Infatti se una stazione vuole trasmettere dei dati ad un'altra che si trova associata ad un diverso AP puo'farlo sfruttando proprio il concetto del passamano dei dati da lei che li invia, all'AP al quale e' associata, l'AP della STA ricevente alla destinazione. Insieme a questo vincolo devono comunque apparire asseriti i campi "To/From? Ds" in quanto essi danno notizie significanti al fine di sapere se esiste realmente un distribution system. Non a caso quando i due campi sono entrambi asseriti significa che i dati stanno viaggiando da un AP all'altro.

Inoltre come cita Roaming with ORiNOCO/IEEE 802.11 un metodo per accertasi se l'eventuale servizio di roaming e' attivo basta controllare la presenza di pacchetti dove sia presente la richiesta di ri-associazione da parte di una STA. Molto probabilmente tale richiesta e' inviata perche' la stazione si sta muovendo in direzione di un AP e sta perdendo il segnale dell' AP al quale e'associata. Tali richieste sono prima precedute da una scansione della rete da parte della STA al fine di trovare il migliore AP disponibile al quale associarsi. La scansione in questione consiste nell'invio di probe request ai vari AP al fine di ottenere dei probe response con i quali la STA valutera' la bonta' degli access point.

25 Giugno 2007

11.00 - 13.20 ( 2.20 h)

Sembra che l'unico modo per capire se in una rete wireless sia presente un distribution system e' quello di analizzare i pacchetti e vedere se vi sono contenuti quattro indirizzi MAC. Per il momento non si e' trovato nessun metodo alternativo a questo e quindi tale soluzione rimane per il momento l'unica percorribile; si vedra' in seguito se vi sono alte soluzioni ( sia quelle gia' sperimentate sia quelle supposte solo in via teorica).

Per quanto riguarda l'esistenza di roaming indotto ( o meglio dire forzato da un AP) e' possibile in tutte quelle situazioni ( come un elevato numero di STA collegate ad un AP con conseguente diminuzione delle prestazioni) definite in IEEE 802.11 del 1999. Per mia deduzione penso che un AP possa decidere di disassociare una stazione per un qualsiasi motivo e questa sara' costretta ad associarsi presso un altro AP dando cosi' origine al fenomeno del roaming ( in quanto la STA disassociata dovra' attivare tutte le procedure atte a trovare un nuovo AP a cui "collegarsi").

Fatte queste due considerazioni bisogna vedere se effettiavmente la realta' dei fatti e' sempre cosi' o se vi sono casi particolari che introducono a scenari differenti.

15.20 - 16.00 ( 0.40 h)

Appurato il concetto che si puo' rilevare la presenza dei quattro indirizzi MAC al fine di sapere se c'e' un distribution system. Il problema rimane se e' possibile individuare tali indirizzi stando in ascolto del traffico di rete; a tal fine sarebbe bene fare opportuni test.

28 Giugno 2007

10.50 - 13.50 ( 3 h)

Ieri e' stato effettuato un incontro chiarificatore con Ghini ( 1 h). Quello che e' emerso e' che il professore vuole sapere se una STA riesce a capire, effettuiando scansioni della rete alla quale si vuole associare, se il servizio di roaming e' presente. Il problema e' che al momento tutte le pubblicazioni e gli artuicoli letti fin'ora riportano sempre il medesimo metodo. Dopo il briefing con la squadra si andra' alla ricerca di altre possibili soluzioni per ottenere cio' che il professore vuole.

La ricerca di altre fonti per ora non ha prodotto niente e le informazioni sono sempre le stesse. Da qui si puo' presumere che per avere roaming devono comparire determinate condizioni, le quali sono gia' state riportate nei giorni precedenti. Il problema rimane aperto.

14.30 - 17.00 ( 2.30 h)

Dai test effettuati e pubblicati su Is Wi-Fi Roaming Really Seamless? si riesce a intravedere cosa succede ad una STA quando decide di utilizzare il roaming; dalla pubblicazione si capisce che effettivamente per avere roaming devono esserci frame di diassociazione e associazione inviati dalla STA agli AP, insieme ai gia'citati probe. Se durante una scansione di rete si riescono a "sentire" questi tipi di frame le possiblita' sull'esistenza del roaming diventano consistenti. Inoltre si e' capita fino in fondo l'utilita' dei probe: grazie a questi frame una STA, durante la scansione per ricercare nuovi AP, riesce a rilevare quali AP fanno parte della rete alla quale lei e' gia' partecipante. Un dato fondamentale da sapere e' se il nuovo AP fa parte di un ESS; al momento una STA non puo' conoscere a priori l'ESSID di un AP, almeno che questo non lo inserisca all'interno dei beacon che invia; un altra maniera sarebbe utilizzare un'intrusione sfruttando una STA gia' connessa ma cio' non serve per il nostro studio.

29 Giugno 2007

10.10 - 12.10 ( 2 h)

Dalla moltitudine di informazioni ricercate sul web e' emerso che l'ESSID di una rete e' facilmente reperibile da una STA attraverso l'invio dei famigerati probe request. Quindi si puo' ipotizzare che se una stazione vuole migrare verso un AP differente da quello a cui e' gia' associata, essa si mettera' alla ricerca e controllera', via probe request/response, anche che il nuovo AP faccia parte dello stesso ESS di quello vecchio. Quindi, se ne trova uno o piu' che soddisfano tale requisito, puo' migrare e questo vuol dire che il roaming e' effettivamente attivo e presente. Naturalmente se un AP nasconde il proprio ESSID non si puo' sapere se esso fa parte del medesimo ESS e percio' non si puo' sapere se esiste roaming.

Un ottimo esempio di come faccia una STA ad associarsi ad un nuovo AP e' mostrato in A Reliable Active Scanning Scheme for the IEEE e , come gia' detto, ogni qualvolta c'e'il cambio di access point la STA deve attivare tutte le procedure di autenticazione/associazione notificando anche la dissociazione al vecchio AP. Se i frame di ri-associazione fossero realmente utilizzati si potrebbere avere delle informazioni in piu', infatti questi frame contengono anche l'indirizzo MAC del dell'AP al quale la STA era collegata e il nuovo AP potrebbe ricevere dal vecchio eventuali dati bufferizzati indirazzita alla stazione in considerazione.

12.45 - 14.30 ( 1.45 h)

Punti per abbozzo alla scaletta utile per la relazione:

1) Definizione di roaming
2) Descrivere lo scenario attuale e come fa una STA a migrare da un AP ad un
   altro
3) Presentare le condizioni necessarie affinche' il roaming possa venire
   rilevato
4) Dare una valutazione delle possibili configurazioni utili alla rilevazione
    a) vedere quali pacchetti vengono trasmessi
    b) in base ai pacchetti rilevati stabilire se essi possono dare
       informazioni certe al fine dell'obiettivo
    c) dare una stima sulla presenza o meno del roaming
5) Discutere quanto i dati rilevati e le supposizioni fatte siano veritieri
6) Roaming indotto?
7) Parlare del fatto che non c'e' nessuna regolamentazione da standard e che
   ogni produttore applica le regole che piu' gli fanno comodo
8) Accenno a 802.11r?  quali scenari potrebbe aprire?

Naturalmente questi sono solo punti preliminari; dopo aver fatto un incontro con zeratul questi verranno espansi e migliorati al fine di produrre una scaletta consistente.

2 Luglio 2007

11.45 - 13.10 ( 1.25 h)

Niente di nuovo per quanto riguarda l'esistenza del roaming indotto. Purtroppo tutto cio' che potrebbe parlarne e' protetto da copyright e si puo' leggere solo gli abstract di questi documenti.

14.00 - 16.30 ( 2.30 h)

Primi conti di tutto cio' che si e' riuscito a capire nei giorni precedenti ( analisi utile al fine della stesura della relazione):

   1
Fattore caratterizzante --> distribution system
Perche'   --> se e' presente allora il roaming e' presente
Come      --> ascolto della linea; se si ricevono frame contenenti 4 indirizzi
              MAC, campi from/to ds asseriti.
   2
Fattore caratterizzante --> piu' AP appartenenti al medesimo ESS
Perche'   --> se esiste allora gli AP sono tutti interconnessi tra loro con
              possibile esistenza del roaming
Come      --> ascolto della linea e rilevamento di probe request/response
              inviati e ricevuti da una stessa STA e contenenti ESSID.
   3
Fattore caratterizzante --> altre maniere per individuare la presenza o meno del
                            roaming
Perche'   --> scopo dello studio
Come      --> ascolto della linea e rilevazione di probe request/response da e
              per una stessa STA, frame di dissociazione/associazione da parte
              di una stessa STA verso due diversi AP
   4
Fattore caratterizzante --> server a monte degli AP
Perche'   --> se esiste un server allora tutti gli AP sono interconnessi e c'e'
              una buona probabilita' che ci sia roaming
Come      --> ascolto della linea e rilevazione di frame conteneti richieste di
              autenticazione ad alto livello insieme a richieste di
              autenticazione di tipo open system che le STA utilizzano per
              pre-autenticarsi con uno degli AP

Da qui si puo' dedurre che il rilevamento del roaming e' composto da tutto questo insieme di fattori; quindi bisognera' impiegare un discreto lasso di tempo atto all'individuazione di tutti, o almeno di una buona parte, di questi frame. Per capire se il roaming esiste si puo' adottare il seguente schema: se durante il rilevamento si nota la presenza dei punti 1, 2, 3 allora il roaming e' presente in quanto abbiamo un ESS con distribution system e quindi e' naturale il fatto che se una STA vuole migrare essa lo puo' fare muovendosi tra tutti gli AP presenti e facenti parte della stessa rete estesa. Nei casi che siano presenti tutti e 4 i punti allora questa e' la soluzione otimale in quanto si puo' sfruttare anche l'autenticazione ad alto livello e il romaing puo' essere velocizzato. La sola presenza dei punti 1, 2 non assicura che il roaming sia attivo in quanto si hanno poche notizie sulle attivita' della stazioni, cosi' come quando si rileva solamente il punto 3 in quanto si sa quello che una STA sta facendo ma non si sa le sue azioni possono essere considerate come azioni di roaming. Naturalmente la rilevazione di uno solo dei punti o la totale assenza di essi fa si che il roaming non esista, cosi' come se gli AP non mostrano il loro ESSID.

3 Luglio 2007

10.30 - 12.30 ( 2 h)

Raffinamento ulteriore della scaletta in vista della relazione:

1) Definizione di roaming
2) Descrivere lo scenario attuale, motivazioni sull'uso, pro e contro:

    a) spiegare la meccanica di migrazione di una STA da un AP ad un altro

    b) dire perche' e' utile utilizzare il roaming ( associazione di una STA in
       movimento all'AP migliore senza dover interrompere la connessione alla
       rete) e spiegare il perche' l'individuazione di tale servizio e' utile
       per i fini del nostro studio ( se una stazione riesce a vedere che
       alcuni AP intorno a lei utilizzano anche il roaming questi avranno una
       maggiore possibilita' di essere scelti)

    c) spiegare il fatto che non esiste nessuno standard che regolamenti il
       meccanismo e quindi ogni produttore di AP utilizza le regole che vuole;
       infatti e' molto probabile che access point di produttori diversi non si
       parlino e non possano fornire il servizio di roaming anche se fanno parte
       del medesimo ESS

    d) spiegare anche i difetti del roaming in quanto ogni qualvolta una STA si
       associa ad un nuovo AP essa deve rifare tutte le procedure di
       autenticazionie/associazione e dissociazione con conseguente degrado
       delle prestazioni della rete ( stessa cosa vale per i momenti in cui una
       STA cerca il migliore AP attraverso l'invio di probe su tutti i canali
       della rete). Una possibile soluzione sarebbe utilizzare la
       pre-autenticazione ma in questo momento questa e' poco sfruttata

3/4) Presentare le condizioni necessarie affinche' il roaming possa venire
     rilevato e dare una valutazione delle possibili configurazioni utili alla
     rilevazione:

      a) descrivere tutti gli elementi utili per individuare la presenza del
         roaming ( distribution system, ESS, azione della STA, autenticazione ad
         alto livello per il fast roaming) e dire perche' tali elementi sono
         utili per gli scopi del progetto

      b) descrivere come potrebbe venire eseguita una rilevazione ( stare in
         ascolto sul canale per un buon lasso di tempo e riconoscere i frame)

      c) dare uno specchio di tutte le combinazioni possibili ( in base ai
         pacchetti rilevati) e, per ognuna, dare una stima sulla presenza o
         meno del roaming ( vedi prospetto del 2 Luglio)

5) Discutere quanto i dati rilevati e le supposizioni fatte siano veritieri

      a) precisare che tutte le supposizioni fatte sono frutto di un lavoro
         teorico e non di test in quanto non abbiamo potuto sperimentare le
         nostre conoscenze direttamente sul campo; precisare comunque che
         alcune gruppi di lavoro hannno veramente effettuato dei test e che
         tutto quello che si e' detto precedentemente ha comunque una buonissima
         percentuale di verita'

6) Roaming indotto?
7) Accenno a 802.11r:

    a) dire che e' un draft che dovra' diventare uno standard per il fast
       roaming

    b) finalmente potrebbe dare un punto di riferimento ai produttori in quanto
       darebbe regole standard per l'implementazione del roaming  introducendo
       anche informazioni utili che viaggerebbero attraverso i beacon

IEEE 802.11r quando verra' approvato diventera' lo standard per il fast roaming; il progetto si prefigge l'obiettivo di rendere molto piu' efficace e veloce il passaggio di una STA da un AP ad un altro mantenedo comunque tutte le proprieta' di sicurezza e qualita' del servizio che gia' offrono gli standard 802.11 b/g. Inoltre 802.11r dovrebbe riuscire a porre un rimedio alla miriade di implementazioni proprietarie del roaming riuscendo cosi' a definire linee guida utili a tutti gli AP presenti sul mercato. Attualmente la squadra e' al lavoro per risolvere i problemi legati alle perdita di tempo causate dagli intervalli troppo lunghi che intercorrono per permettere ad una STA di associarsi al nuovo AP e di dissociarsi al vecchio; tali perdite non possono essere concesse in quelle connessioni dove si utilizzanno programmi per la telefonia su internet (VoIP) in quanto eccessivi ritardi andrebbero a degradare la qualita' delle comunicazioni.

4 Luglio 2007

15.50 - 18.30 ( 2.40 h)

Inizio stesura della relazione.

5 Luglio 2007

11.20 - 17.30 ( 6.10 h)

Relazione.

6 Luglio 2007

10.45 - 14.20 ( 3.35 h)

Relazione piu' correzione con zeratul.

9 Luglio 2007

15.20 - 17.30 ( 2.20 h)

Relazione piu' correzione con zeratul.

10 Luglio 2007

10.30 - 16.00 ( 5.30 h)

Relazione.

12 Luglio 2007

11.30 - 16.10 ( 4.40 h)

Briefing con la squadra piu' correzione della relazione.

18 Luglio 2007

16.30 - 19.00 ( 2.30 h)

Inizio stesura dell'algoritmo per acquisire punteggi sulla bonta' dei

supportial roaming rilevati.

FATTORI DA TENERE PRESENTE:


- Presenza di ESS o AAL o di entrambi

- Presenza DS (se si trova anche ESS ==> supporto ottimale)

- Numero di AP facenti parte delle varie reti

PUNTEGGI:- 2 punti se sono presenti ESS o AAL

- 1 punto se si individua un DS (bisogna stare in ascolto per vedere a quale 

ESS  fanno parte le STA che trasmettono i dati)

- 1 punto se e' presente solo il BSS- 1 punto per ogni AP facente parte di 

una delle reti trovate

19 Luglio 2007

11.00 - 15.55 ( 4.55 h)

Algoritmo con punteggi rivisti:

PUNTEGGI:

- 10 punti per ogni ESS trovato

- +5 punti per ogni AAL trovata

- 3 punti se e' presente solo il BSS

- +1 punto per ongni AP facente parte di una delle reti trovate

Da qui si puo' gia' notare come l'algoritmo tendera' a favorire quelle reti 

che presentano autenticazione ad alto livello (meccanismo di roaming piu' 

veloce).Nel caso in cui un ESS senza AAL abbia piu' AP connesi (e rilevati) 

di un ESS con AAL ==> +10 punti 

ALGORITMO PER LA RICERCA DI UN ESS
Si pensi di avere a disposizioni delle liste di dati.

list ESS, AP, punti, n_AP
int i
scan()
se (frame = probe_response) allora  
 E = ESSID  
 M = MAC_AP  
 se (ESSID non e' presente) allora 
  esci e torna a scan  
 altrimenti    
  cicla la lista ESS      
    se (E e' presente nella lista) allora        
     prelevo il suo indice j      
    altrimenti        
     ESS [i] = E inserisco E nella lista        
     punti [i] = 10        
     j = i prelevo il suo indice        
     i = i + 1    
  fine ciclo    
  ciclo sulla lista AP        
   se (M non compare nella lista alla posizione j) allora          
    aggiungi M alla lista di indirizzi MAC alla posizione j          
    punti [j] = punti [j] + 1          
    n_AP [j] = n_AP [j] + 1        
   altrimenti non faccio nulla    
  fine ciclo  
fine ramo
fine algoritmo

23 Luglio 2007

14.00 - 18.00 ( 4 h)

Inzio stesura algoritmo per rintracciare eventuali ESS con autenticazione ad alto livello.Questa parte verra' poi integrata nei prossimi giorni con il resto dell'algoritmo gia' prodotto.

24 Luglio 2007

10.00 - 14.00 ( 4 h)

ALGORITMO PER LA RICERCA DI AUTENTICAZIONE AD ALTO LIVELLO

L'idea e' quella di trovare una STA che scambia frame EAP e che utilizza, una volta autenticata 
presso il RADIUS, probe_request per migrare verso AP del medesimo ESS protetto dal server esterno. 
Purtroppo questo algoritmo non assicura che tutto vada a buon fine in quanto possono insorgere 
problemi durante la rilevazione dei frame come ad esempio la non rilevazione dei frame EAP o dei probe_request. 
Piu' avanti si cerchera' di trovare una soluzione migliore di questa.

list AAL //lista booleana per indicare in quale ESS e' presente
           Autenticzione ad alto livello: 1 = presente
					  0 = assente

list STA //lista contenente gli indirizzi MAC delle stazioni che hanno            
           scambiato frame EAP

int k

se ( frame = EAP) allora
  STA[ k ] = MAC_STA
  k = k + 1
se ( frame = probe_request ) allora
  MS = MAC_STA
  ES = ESSID
  ciclo la lista STA
    se ( MS presente ) allora
    1 ciclo la lista ESS
        se ( ES presente ) allora
          ritorno il suo indice j
        altrimenti
          attendo di ricevere dei probe_response contenenti ESSID cercato
          quando mi sveglio rieseguo 1
      fine ciclo
    fine ramo
  fine ciclo
  AAL [ j ] = 1
  PUNTI [ j ] += 5
fine ramo
fine algoritmo


Come di puo'notare qualora un particolare ESSID cercato non fosse stato ancora inserito nella lista 
(in quanto non si sono ricevuti degli ipotetici probe_response da parte degli AP interessati) 
il processo che sta eseguendo l'analisi si sospende in attesa delle informazioni richieste. 
Al suo risveglio se l'ESSID sara'presente potra' andare avanti altrimenti si riaddormentera'. 
Qualora il programma terminasse con il processo ancora bloccato esso verra'terminato e 
le sue informazioni verranno perse.


ALGORITMO PER LA RILEVAZIONE DI UN BSS

list BSS //lista contenete l'indirizzo MAC dell'AP e i punti

int w

se ( frame contiene solo BSSID) allora
  ciclo la lista BSS
    se ( BSSID presente) allora
      esco
    altrimenti
      inserisco BSSID alla posizione j
      BSS [ w ].punti = 3
      w = w + 1
    fine ramo
   fine ciclo
fine algoritmo     
     

17 Ottobre 2007

(6 h)

list ESS, AP, punti, GRAT_ARP
int i
while(true){

send probe_request()
scan()
se (frame = probe_response) allora  
 E = ESSID  
 M = MAC_AP  
 se (ESSID non e' presente) allora 
  esci e torna a scan  
 altrimenti    
  cicla la lista ESS      
    se (E e' presente nella lista) allora        
     prelevo il suo indice j      
    altrimenti        
     ESS [i] = E inserisco E nella lista        
     punti [i] = 10        
     j = i prelevo il suo indice        
     i = i + 1    
  fine ciclo    
  ciclo sulla lista AP        
   se (M non compare nella lista alla posizione j) allora          
    aggiungi M alla lista di indirizzi MAC alla posizione j          
    punti [j] = punti [j] + 1          
    altrimenti non faccio nulla    
  fine ciclo  
fine ramo
se (frame = arp) allora
 se (ip_source = ip_dest) allora //gratuitous_arp
   MA = mac_address source
   ciclo la lista ESS controllando gli AP salvati
     se ( MA non compare) allora
      aggiungi MA alla lista GRAT_ARP
     altrimenti
      preleva indice k dell'ESS
      punti [k] = punti [k] + 50
    fine ramo
 fine ramo
 fine ciclo
fine ramo
ciclo la lista GRAT_ARP
 C = mac address i-esimo
 ciclo la lista ESS
  se (C compare) allora
   prelevo indice k dell'ESS
   punti [k] = punti [k] + 50
  fine ramo
 fine ciclo
fine ciclo
}

Last modified 17 years ago Last modified on Oct 17, 2007, 6:55:31 PM