Roaming

In questa serie di articoli approfondiremo il tema del roaming per cercare di capire quali sono le sue fasi, che tipologie di roaming esistono, i suoi legami con la sicurezza e come fare un analisi delle sue performance attraverso diversi strumenti.

Prima di tutto per poter fare roaming un client ha bisogno di scoprire quali AP siano nelle vicinanze e stilare una lista di essi che tiene sempre aggiornata. I device wifi “scoprono” le reti wireless presenti nelle vicinanze tramite l’active e il passive scanning ovvero ascoltando i pacchetti beacon e attraverso il meccanismo di probe request e probe response.

Per il roaming, è l’active scanning quello che ricopre il ruolo più importante e che andremo ad analizzare.

L’active scanning viene eseguito con i frame di management probe request inviati periodicamente sui i diversi canali del wifi, gli AP che ricevono una probe request, rispondo con una probe response .

Nell’appunto successivo motriamo lo scambio di frame tra il pc e il generico AP:

Nel caso che ci interessa analizzare esisteranno divervi AP nell’area su canali diversi quindi la situazione può essere vista come nell’appunto successivo.

Come si vede in figura nell’area ci sono 3 access point sui canali a 5 GHZ 36,40, 48 e tutti rispondono alle probe request quindi il device è in grado di stilare una tabella simile a questa:

La tabella sarà utile al device per prendere le decisioni necessarie durante il roaming. (Stiamo analizzando uno scenario semplificato dove solo la potenza verrà considerata per le scelte di roamig e non vi siano protocolli di “aiuto” al roaming come 802.11k o 802.11v. )

Per capire ancora meglio è interessante vedere la situazione anche nel tempo

Nel grafico di sopra sull’asse delle x è espresso il tempo e sull’asse delle y il canale . In questo esempio semplificato si ipotizza che il pc sia collegato sul canale 44 , al tempo t1 invia una probe request sul canale 36 e riceve una risposta al tempo t2 , al tempo t3 invia una probe request sul canale 40 e riceve una risposta al tempo t4 infine al tempo t5 invia una probe request sul canale 48 e riceve una risposta al tempo t6.

La questione è ora capire quando il device decide di fare roaming ?

La risposta è che dipende dai driver del dispositivo, prendiamo ad esempio un galaxy dove l’algoritmo è ben spiegato a questo link: https://docs.samsungknox.com/admin/knox-platform-for-enterprise/kbas/kba-115013403768.htm

Come si nota non solo il segnale è preso in considerazione e il “roaming scan” ovvero l’invio di probe request deve dare come risultato un valore di potenza ricevuta della probe response 10 dbm più alto rispetto all’AP a cui si è connessi, solo in quel caso si inizierà il processo di roaming.

Un altro aspetto da prendere in considerazione quando si analizza il roaming è che quando si è in fase di probing ( invio e ricezione di probe request e probe response) non si trasmettono più dati perché la radio è off-channel rispetto all’ap a cui si è collegati.Più canali vengono interrogati per trovare un ap con una potenza migliore ,più si perde tempo, questo aspetto è fondamentale quando il servizio che si vuole garantire sul WIFI è il voip. Questo problema e l’approccio alla soluzione da parte di samsung è ben spiegato in queste righe:

Un altro aspetto èche nel wifi nella banda dei 5 ghz ci sono dei canali denominati DFS dove il wifi può trasmettere seguendo regole diverse rispetto ai normali canali perché condivide quei canali con i radar. Ecco la lista :

L’effetto è che se si utilizzano , senza le dovute precauzione , che vedremo nei prossimi articoli, il roaming è in generale più lento perché un client è autorizzato a trasmettere solo se sente una trasmissione su quel canale , questo delay rende più lento sia la fase di probing sia il roaming nel suo insieme.

Nel prossimo articolo descriveremo invece come avviene il roaming tra due AP nella situazione di open authentication ma prima di lasciarci un breve recap dei punti fondamentali descritti in questo articolo :

  • La prima fase del roaming è il probing che serve a trovare nelle vicinanze gli AP a cui connetersi
  • La fase di probing genera una tabella di AP il miglior candidato non è solo quello la cui potenza è la più alta ma vengono esaminati anche altri parametri. Quindi dipende dai driver del device.
  • La fase di probing pone il device off-channel rispetto all’AP a cui si è connessi quindi più si è veloci a trovare il nuovo AP a cui connettersi , più si è efficienti nel roaming.