SlideShare ist ein Scribd-Unternehmen logo
1 von 55
POLITECNICO DI MILANO
Scuola di Ingegneria Industriale e dell’Informazione
Corso di Laurea Magistrale in Ingegneria Informatica
Dipartimento di Elettronica, Informazione, Bioingegneria
Tesi di Laurea di:
Stefano CAPPA 796552
Anno Accademico 2014-2015
ANALISI DEI LIMITI DELL’IMPLEMENTAZIONE
DI WI-FI DIRECT IN ANDROID PER
RETI OPPORTUNISTICHE
RELATORE: Prof. Luciano BARESI
Obiettivi della tesi
Generali e relativi al protocollo Wi-Fi Direct:
• Proporre tecniche per garantire SCALABILITÀ e
DISPONIBILITÀ
Specifici per Android:
• Analizzare i limiti di Wi-Fi Direct in Android
• Verificare l’estensibilità del protocollo per supportare le
RETI OPPORTUNISTICHE
2
Reti Opportunistiche
• Non è necessaria una infrastruttura di rete preesistente
• Topologia di rete dinamica
• Quando i dispositivi si incontrano si connettono.
3
Wi-Fi Direct (1)
4
• Protocollo standard per la
comunicazione P2P tra dispositivi
• Non necessita di una infrastruttura di
rete preesistente.
• Implementato interamente via software
Wi-Fi Direct (2)
5
Group Owner
Client
Wi-Fi Direct (2)
6
Le specifiche NON vietano ad un dispositivo
di partecipare a più gruppi contemporaneamente.
Gruppo
Group Owner
Client
Wi-Fi Direct in
Android
7
In Android:
• un dispositivo NON può far parte di due o più gruppi.
• la fase di Discovery (ricerca dei dispositivi) deve essere
riavviata prima della connessione.
Group Owner
Client
Estensione di Wi-Fi Direct in
Android
8
Requisito: far parte di più gruppi contemporaneamente
Astrazioni software di
schede di rete fisiche
Sfruttare il concetto di interfacce di rete virtuali (VIF)
Group Owner
Client
Scalabilità (1)
9
Dispositivo
VIF GO
VIF Client
Disponibilità (1)
11
Dispositivo
VIF GO
VIF Client
VIF inattiva
BGO
Uso un Group Owner di Backup, detto BGO
Disponibilità (2)
12
Dispositivo
VIF GO
VIF Client
VIF inattiva
La rete secondaria del BGO non è soggetta a ritardi per la
formazione, perché già creata
Architettura di Android
13
Architettura di Android
14
Android Framework
15
Wi-Fi Direct è implementato in Java con forti limiti
Le interfacce di rete non sono create in Java o in C++
Modificare il Framework Android non risolve la situazione
Le funzionalità Wi-Fi sono gestite da wpa_supplicant
Native libraries (1)
16
Wpa_cli:
• non incluso in Android
• espone le funzionalità Wi-Fi ad alto
livello, superando il Framework Android
Il modo più semplice per interagirci
è usare wpa_cli
Native libraries (2)
17
VIF 1
aggiunta
Native libraries (3)
18
VIF 1
aggiunta
VIF 2 non
aggiunta
Linux Kernel
19
virtual face add failed (-2)
Modifica dei driver Wi-Fi
+
Installazione sul dispositivo
-12 (out of memory)
+
Driver wireless (1)
20
wpa_supplicant aggiunge interfacce
sempre con lo stesso MAC address
Driver wireless (1)
21
Il MAC Address è un identificativo univoco,
quindi dovrebbe cambiare
wpa_supplicant aggiunge interfacce
sempre con lo stesso MAC address
Driver wireless (2)
22
Il chip Wi-Fi degli Smartphone a
disposizione è di tipo Full MAC
CODICE SORGENTE NON
MODIFICABILE
Le funzioni di rete, sono implementate
nel firmware proprietario di Broadcom.
Applications (1)
23
• Gestisce chat testuali
• Accoda i messaggi quando la connessione non è
disponibile
• Gestisce le riconnessioni automatiche
Pigeon Messenger
Convince l’utente di poter partecipare
a più gruppi contemporaneamente
Demo
per motivi di spazio non posso
integrarlo nella presentazione,
quindi l’ho caricato su YouTube
https://www.youtube.com/watch?v=
qcfsWBDRhto
24
Applications (2)
25
Open Source *
Scalabile al crescere dei dispositivi (testata con
6 dispositivi)
Rende trasparente all’utente il concetto di
gruppo ed i suoi limiti
*https://github.com/deib-polimi/PigeonMessanger
Pigeon Messenger
Sviluppi futuri
• Verificare se i dispositivi più recenti (con Kernel Linux 3.10)
supportano interfacce di rete Wi-Fi Direct multiple
• Trovare nuovi scenari di utilizzo per creare app basate su
Wi-Fi Direct
• Aggiungere funzionalità a Pigeon Messenger
26
Conclusioni
• la reale causa dei limiti di Wi-Fi Direct in Android
• driver proprietari limitati e NON MODIFICABILI
• i limiti e come scavalcare il Framework Android
• comunicando con wpa_supplicant tramite wpa_cli
• che esistono scenari di utilizzo in cui è possibile creare
soluzioni funzionanti
• App di messaggistica chiamata Pigeon Messenger
27
Ho mostrato:
Grazie per l’attenzione
28
Grazie per l’attenzione
29
Driver wireless
30
Dispositivi Soft MAC
Wi-Fi Direct
31
Evoluzione delle reti ad-hoc per avere:
• maggiore velocità di trasferimento dati
• minori consumi energetici usando protocolli
creati apposta per Wi-Fi Direct
• retrocompatibilità con Wi-Fi classico (Client
Legacy vedono i GO come AP)
• implementato interamente via software
Wi-Fi Direct
32
Diverse fasi sequenziali:
1. Discovery
2. Negoziazione GO
3. WPS
4. DHCP
1 2 3 4
Ricerca dispositivi
Scelta del GO
Autenticazione
Assegnamento IP
->
->
->
->
Wi-Fi Direct
33
Device Address:
• indirizzo univoco usato per identificare il dispositivo;
• dovrebbe coincidere col MAC Address.
P2P Interface Address (IA):
• non deve essere globalmente univoco, ma è sufficiente che lo
sia localmente;
• può coincidere con il Device Address;
• deve essere assegnato alla creazione del gruppo e durare per
tutta la vita del gruppo;
• se si usano più interfacce si devono usare IA diversi.
Wi-Fi Direct
34
FASE 1 - P2P Discovery
Costituita da:
• Device Discovery: per trovare dispositivi, diviso in 2 fasi:
• SCAN: per trovare il miglior Operating Channel
• FIND: iniziano 2 fasi alternate SEARCH e LISTEN, sui
Social Channel (1,6,11) per periodi di tempo casuali perché
arrivino sullo stesso canale di comunicazione. La casualità
garantisce l’arrivo sul canale comune.
• Group Formation
• P2P Invitation (usato per gruppi Persistent)
• Service Discovery (opzionale)
Wi-Fi Direct
35
FASE 2 - GO Negotiation
Three Way Frame Exchange per mettersi d’accordo su chi sarà
il GO. Si scambia il go_intent.
Chi ha questo valore più alto diventa il GO.
In caso di parità si usa “Tie Breaker bit” scelto casualmente con
stessa probabilità tra 0 e 1.
Chi manda il bit a 1, in caso di parità, diventa il GO.
Wi-Fi Direct
36
Tipi di gruppo: STANDARD
Wi-Fi Direct
37
Tipi di gruppo: AUTONOMOUS
Wi-Fi Direct
38
Tipi di gruppo: PERSISTENT
Wi-Fi Direct
39
FASE 3 - WPS Provisioning
Permette di creare connessione sicura con pulsante o PIN.
GO implementa una interval REGISTRAR, il Client l’ENROLLEE.
Fase1: Interval registrar genera le credenziali. Usa WPA-2 (AES-
CCMP come cypher e PSK per autenticazione)
Fase2: Enrollee si scollega e si ri-associa usando le nuove
credenziali di autenticazione
Se le credenziali sono già salvate, la fase 1 non serve più
Wi-Fi Direct
40
Power Saving:
• Opportunistic Power Save (OPS)
• Notice of Absence (NoA)
Wi-Fi Direct
41
Opportunistic Power Save (OPS):
Il GO usa una finestra temporale (CTWindow) che specifica il tempo
in cui sarà sveglio, quindi i Client possono inviare i Frame.
Il GO non ha la decisione sull’ingresso in “sleep”, perché dipende
dall’attività dei Client.
Per dare più controllo al GO si usa anche il NoA
Wi-Fi Direct
42
Notice of Absence (NoA):
Il GO annuncia ai Client i periodi di tempo in cui sarà assente e i
Client non potranno accedere al canale, sia se attivi, sia se in power
save. Quindi, i Client possono spegnere la “radio”.
Il GO definisce: la durata del periodo, intervallo (tempo tra periodi
consecutivi), start time, count (num. periodi)
Linux Kernel
43
wl_cfg80211_add_virtual_iface:
virtual face add failed (-2)
Driver Broadcom
ioctl
(…)
Aggiunta nel codice
della printk di
“ifreq.addr.octet”
+
Ricompilazione ed
esecuzione
Applications
44
Pigeon Messenger
Applications
45
Pigeon Messenger
Applications
46
Pigeon Messenger
Applications
47
Pigeon Messenger
Pigeon Messenger
Applications
48
Pigeon Messenger
Applications
49
Applications
50
• Un dispositivo “salta” da un gruppo all’altro
• Esegue il trasferimento di un file
• Gestisce le riconnessioni automatiche
Convincere l’utente di poter partecipare
a più gruppi contemporaneamente
PingPong
Applications
51
PingPong
Applications
52
PingPong
Applications
53
PingPong
Applications
54
PingPong
Applications
55
PingPong funziona in un ambiente controllato,
ma non è utilizzabile in uno scenario reale
Idea realmente attuabile con le API di Android
La fase di Discovery è troppo lenta
Richiede la sincronizzazione tra i dispositivi
PingPong
Applications
56
1)
2)
Ciclo PingPong lento a causa:
• delle basse performance della fase di Discovery
• della difficoltà di sincronizzazione dovuta da Android
PingPong

Weitere ähnliche Inhalte

Andere mochten auch

Dance Dance Revolution
Dance Dance RevolutionDance Dance Revolution
Dance Dance Revolution
pzx
 
Gost r 51780 2001
Gost r 51780 2001Gost r 51780 2001
Gost r 51780 2001
hplei83
 
Gost r 50553 93 2
Gost r 50553 93 2Gost r 50553 93 2
Gost r 50553 93 2
hplei83
 
Certificate of Appreciation-Niang
Certificate of Appreciation-NiangCertificate of Appreciation-Niang
Certificate of Appreciation-Niang
Ousseynou Niang
 
Gost r 50644 94
Gost r 50644 94Gost r 50644 94
Gost r 50644 94
hplei83
 
VELES SINERGIEN VENTS
VELES SINERGIEN VENTSVELES SINERGIEN VENTS
VELES SINERGIEN VENTS
Josep Blesa
 
Gost r 51033 97 2
Gost r 51033 97 2Gost r 51033 97 2
Gost r 51033 97 2
hplei83
 

Andere mochten auch (8)

Dance Dance Revolution
Dance Dance RevolutionDance Dance Revolution
Dance Dance Revolution
 
Gost r 51780 2001
Gost r 51780 2001Gost r 51780 2001
Gost r 51780 2001
 
Reference prof Rozman
Reference prof RozmanReference prof Rozman
Reference prof Rozman
 
Gost r 50553 93 2
Gost r 50553 93 2Gost r 50553 93 2
Gost r 50553 93 2
 
Certificate of Appreciation-Niang
Certificate of Appreciation-NiangCertificate of Appreciation-Niang
Certificate of Appreciation-Niang
 
Gost r 50644 94
Gost r 50644 94Gost r 50644 94
Gost r 50644 94
 
VELES SINERGIEN VENTS
VELES SINERGIEN VENTSVELES SINERGIEN VENTS
VELES SINERGIEN VENTS
 
Gost r 51033 97 2
Gost r 51033 97 2Gost r 51033 97 2
Gost r 51033 97 2
 

Ähnlich wie Analisi dei limiti dell'implementazione di Wi-Fi Direct in Android per Reti Opportunistiche

Presentazione_CarocciEugenio_20160318
Presentazione_CarocciEugenio_20160318Presentazione_CarocciEugenio_20160318
Presentazione_CarocciEugenio_20160318
Eugenio Carocci
 
Servizio di Connettività d'Ateneo - Network and services provisioning automation
Servizio di Connettività d'Ateneo - Network and services provisioning automationServizio di Connettività d'Ateneo - Network and services provisioning automation
Servizio di Connettività d'Ateneo - Network and services provisioning automation
Digital Transformation Team - Italian Government
 

Ähnlich wie Analisi dei limiti dell'implementazione di Wi-Fi Direct in Android per Reti Opportunistiche (20)

Le 5 regole + 1 per un wifi perfetto
Le 5 regole + 1 per un wifi perfettoLe 5 regole + 1 per un wifi perfetto
Le 5 regole + 1 per un wifi perfetto
 
Azure IoTHub - Roboval 2018
Azure IoTHub - Roboval 2018Azure IoTHub - Roboval 2018
Azure IoTHub - Roboval 2018
 
Introduzione a Internet (1/2) - 18/19
Introduzione a Internet (1/2) - 18/19Introduzione a Internet (1/2) - 18/19
Introduzione a Internet (1/2) - 18/19
 
Wiress Lan Pros And Cons.Pdf
Wiress Lan   Pros And Cons.PdfWiress Lan   Pros And Cons.Pdf
Wiress Lan Pros And Cons.Pdf
 
NFC, Bluetooth e comunicazione tra app
NFC, Bluetooth e comunicazione tra appNFC, Bluetooth e comunicazione tra app
NFC, Bluetooth e comunicazione tra app
 
2 - Introduzione ad Internet (1/2)
2 - Introduzione ad Internet (1/2)2 - Introduzione ad Internet (1/2)
2 - Introduzione ad Internet (1/2)
 
Hacking Access Point con Firmware Open Source
Hacking Access Point con Firmware Open SourceHacking Access Point con Firmware Open Source
Hacking Access Point con Firmware Open Source
 
Modello TCP/IP
Modello TCP/IPModello TCP/IP
Modello TCP/IP
 
WiFiProbe Info
WiFiProbe InfoWiFiProbe Info
WiFiProbe Info
 
Presentazione_CarocciEugenio_20160318
Presentazione_CarocciEugenio_20160318Presentazione_CarocciEugenio_20160318
Presentazione_CarocciEugenio_20160318
 
2015 CLOUD LOGIN - Servizi su Piattaforma Softlayer
2015 CLOUD LOGIN - Servizi su Piattaforma Softlayer2015 CLOUD LOGIN - Servizi su Piattaforma Softlayer
2015 CLOUD LOGIN - Servizi su Piattaforma Softlayer
 
Servizio di Connettività d'Ateneo - Network and services provisioning automation
Servizio di Connettività d'Ateneo - Network and services provisioning automationServizio di Connettività d'Ateneo - Network and services provisioning automation
Servizio di Connettività d'Ateneo - Network and services provisioning automation
 
Creazione di una rete locale
Creazione di una rete localeCreazione di una rete locale
Creazione di una rete locale
 
Guida al Computer - Lezione 196 - Indirizzi statici pubblici
Guida al Computer - Lezione 196 - Indirizzi statici pubbliciGuida al Computer - Lezione 196 - Indirizzi statici pubblici
Guida al Computer - Lezione 196 - Indirizzi statici pubblici
 
Sip
SipSip
Sip
 
1 esercitazione - Internet
1 esercitazione - Internet 1 esercitazione - Internet
1 esercitazione - Internet
 
Bluetooth low energy & Lumia Sensor Core per Windows Phone 8.1
Bluetooth low energy & Lumia Sensor Core per Windows Phone 8.1Bluetooth low energy & Lumia Sensor Core per Windows Phone 8.1
Bluetooth low energy & Lumia Sensor Core per Windows Phone 8.1
 
Xamarin Robotics
Xamarin RoboticsXamarin Robotics
Xamarin Robotics
 
“Camera Intelligente & TV interattiva in Alta Definizione” - Vincenzo Zarra, VDA
“Camera Intelligente & TV interattiva in Alta Definizione” - Vincenzo Zarra, VDA“Camera Intelligente & TV interattiva in Alta Definizione” - Vincenzo Zarra, VDA
“Camera Intelligente & TV interattiva in Alta Definizione” - Vincenzo Zarra, VDA
 
Alla scoperta di gRPC
Alla scoperta di gRPCAlla scoperta di gRPC
Alla scoperta di gRPC
 

Kürzlich hochgeladen

Kürzlich hochgeladen (9)

GIORNATA TECNICA DA AQP 18/04 | MOTTA Simone
GIORNATA TECNICA DA AQP 18/04 | MOTTA SimoneGIORNATA TECNICA DA AQP 18/04 | MOTTA Simone
GIORNATA TECNICA DA AQP 18/04 | MOTTA Simone
 
GIORNATA TECNICA 18/04 | BENANTI Alessandro
GIORNATA TECNICA 18/04 | BENANTI AlessandroGIORNATA TECNICA 18/04 | BENANTI Alessandro
GIORNATA TECNICA 18/04 | BENANTI Alessandro
 
GIORNATA TECNICA 18/04 | SPIZZIRRI Massimo
GIORNATA TECNICA 18/04 | SPIZZIRRI MassimoGIORNATA TECNICA 18/04 | SPIZZIRRI Massimo
GIORNATA TECNICA 18/04 | SPIZZIRRI Massimo
 
Presentzione Matematica similitudini circonferenze e omotetie.pptx
Presentzione  Matematica similitudini circonferenze e omotetie.pptxPresentzione  Matematica similitudini circonferenze e omotetie.pptx
Presentzione Matematica similitudini circonferenze e omotetie.pptx
 
GIORNATA TECNICA 18/04 | DE ROSA Roberto
GIORNATA TECNICA 18/04 | DE ROSA RobertoGIORNATA TECNICA 18/04 | DE ROSA Roberto
GIORNATA TECNICA 18/04 | DE ROSA Roberto
 
GIORNATA TECNICA 18/04 | LITTERIO Raffaele
GIORNATA TECNICA 18/04 | LITTERIO RaffaeleGIORNATA TECNICA 18/04 | LITTERIO Raffaele
GIORNATA TECNICA 18/04 | LITTERIO Raffaele
 
Descrizione della struttura architettonica Eretteo.pptx
Descrizione della struttura architettonica Eretteo.pptxDescrizione della struttura architettonica Eretteo.pptx
Descrizione della struttura architettonica Eretteo.pptx
 
GIORNATA TECNICA 18/04 | DE LEO Antonio
GIORNATA TECNICA 18/04  | DE LEO AntonioGIORNATA TECNICA 18/04  | DE LEO Antonio
GIORNATA TECNICA 18/04 | DE LEO Antonio
 
GIORNATA TECNICA DA AQP 18/04 | ZONNO Serena
GIORNATA TECNICA DA AQP 18/04 | ZONNO SerenaGIORNATA TECNICA DA AQP 18/04 | ZONNO Serena
GIORNATA TECNICA DA AQP 18/04 | ZONNO Serena
 

Analisi dei limiti dell'implementazione di Wi-Fi Direct in Android per Reti Opportunistiche

  • 1. POLITECNICO DI MILANO Scuola di Ingegneria Industriale e dell’Informazione Corso di Laurea Magistrale in Ingegneria Informatica Dipartimento di Elettronica, Informazione, Bioingegneria Tesi di Laurea di: Stefano CAPPA 796552 Anno Accademico 2014-2015 ANALISI DEI LIMITI DELL’IMPLEMENTAZIONE DI WI-FI DIRECT IN ANDROID PER RETI OPPORTUNISTICHE RELATORE: Prof. Luciano BARESI
  • 2. Obiettivi della tesi Generali e relativi al protocollo Wi-Fi Direct: • Proporre tecniche per garantire SCALABILITÀ e DISPONIBILITÀ Specifici per Android: • Analizzare i limiti di Wi-Fi Direct in Android • Verificare l’estensibilità del protocollo per supportare le RETI OPPORTUNISTICHE 2
  • 3. Reti Opportunistiche • Non è necessaria una infrastruttura di rete preesistente • Topologia di rete dinamica • Quando i dispositivi si incontrano si connettono. 3
  • 4. Wi-Fi Direct (1) 4 • Protocollo standard per la comunicazione P2P tra dispositivi • Non necessita di una infrastruttura di rete preesistente. • Implementato interamente via software
  • 6. Wi-Fi Direct (2) 6 Le specifiche NON vietano ad un dispositivo di partecipare a più gruppi contemporaneamente. Gruppo Group Owner Client
  • 7. Wi-Fi Direct in Android 7 In Android: • un dispositivo NON può far parte di due o più gruppi. • la fase di Discovery (ricerca dei dispositivi) deve essere riavviata prima della connessione. Group Owner Client
  • 8. Estensione di Wi-Fi Direct in Android 8 Requisito: far parte di più gruppi contemporaneamente Astrazioni software di schede di rete fisiche Sfruttare il concetto di interfacce di rete virtuali (VIF) Group Owner Client
  • 10. Disponibilità (1) 11 Dispositivo VIF GO VIF Client VIF inattiva BGO Uso un Group Owner di Backup, detto BGO
  • 11. Disponibilità (2) 12 Dispositivo VIF GO VIF Client VIF inattiva La rete secondaria del BGO non è soggetta a ritardi per la formazione, perché già creata
  • 14. Android Framework 15 Wi-Fi Direct è implementato in Java con forti limiti Le interfacce di rete non sono create in Java o in C++ Modificare il Framework Android non risolve la situazione Le funzionalità Wi-Fi sono gestite da wpa_supplicant
  • 15. Native libraries (1) 16 Wpa_cli: • non incluso in Android • espone le funzionalità Wi-Fi ad alto livello, superando il Framework Android Il modo più semplice per interagirci è usare wpa_cli
  • 17. Native libraries (3) 18 VIF 1 aggiunta VIF 2 non aggiunta
  • 18. Linux Kernel 19 virtual face add failed (-2) Modifica dei driver Wi-Fi + Installazione sul dispositivo -12 (out of memory) +
  • 19. Driver wireless (1) 20 wpa_supplicant aggiunge interfacce sempre con lo stesso MAC address
  • 20. Driver wireless (1) 21 Il MAC Address è un identificativo univoco, quindi dovrebbe cambiare wpa_supplicant aggiunge interfacce sempre con lo stesso MAC address
  • 21. Driver wireless (2) 22 Il chip Wi-Fi degli Smartphone a disposizione è di tipo Full MAC CODICE SORGENTE NON MODIFICABILE Le funzioni di rete, sono implementate nel firmware proprietario di Broadcom.
  • 22. Applications (1) 23 • Gestisce chat testuali • Accoda i messaggi quando la connessione non è disponibile • Gestisce le riconnessioni automatiche Pigeon Messenger Convince l’utente di poter partecipare a più gruppi contemporaneamente
  • 23. Demo per motivi di spazio non posso integrarlo nella presentazione, quindi l’ho caricato su YouTube https://www.youtube.com/watch?v= qcfsWBDRhto 24
  • 24. Applications (2) 25 Open Source * Scalabile al crescere dei dispositivi (testata con 6 dispositivi) Rende trasparente all’utente il concetto di gruppo ed i suoi limiti *https://github.com/deib-polimi/PigeonMessanger Pigeon Messenger
  • 25. Sviluppi futuri • Verificare se i dispositivi più recenti (con Kernel Linux 3.10) supportano interfacce di rete Wi-Fi Direct multiple • Trovare nuovi scenari di utilizzo per creare app basate su Wi-Fi Direct • Aggiungere funzionalità a Pigeon Messenger 26
  • 26. Conclusioni • la reale causa dei limiti di Wi-Fi Direct in Android • driver proprietari limitati e NON MODIFICABILI • i limiti e come scavalcare il Framework Android • comunicando con wpa_supplicant tramite wpa_cli • che esistono scenari di utilizzo in cui è possibile creare soluzioni funzionanti • App di messaggistica chiamata Pigeon Messenger 27 Ho mostrato:
  • 30. Wi-Fi Direct 31 Evoluzione delle reti ad-hoc per avere: • maggiore velocità di trasferimento dati • minori consumi energetici usando protocolli creati apposta per Wi-Fi Direct • retrocompatibilità con Wi-Fi classico (Client Legacy vedono i GO come AP) • implementato interamente via software
  • 31. Wi-Fi Direct 32 Diverse fasi sequenziali: 1. Discovery 2. Negoziazione GO 3. WPS 4. DHCP 1 2 3 4 Ricerca dispositivi Scelta del GO Autenticazione Assegnamento IP -> -> -> ->
  • 32. Wi-Fi Direct 33 Device Address: • indirizzo univoco usato per identificare il dispositivo; • dovrebbe coincidere col MAC Address. P2P Interface Address (IA): • non deve essere globalmente univoco, ma è sufficiente che lo sia localmente; • può coincidere con il Device Address; • deve essere assegnato alla creazione del gruppo e durare per tutta la vita del gruppo; • se si usano più interfacce si devono usare IA diversi.
  • 33. Wi-Fi Direct 34 FASE 1 - P2P Discovery Costituita da: • Device Discovery: per trovare dispositivi, diviso in 2 fasi: • SCAN: per trovare il miglior Operating Channel • FIND: iniziano 2 fasi alternate SEARCH e LISTEN, sui Social Channel (1,6,11) per periodi di tempo casuali perché arrivino sullo stesso canale di comunicazione. La casualità garantisce l’arrivo sul canale comune. • Group Formation • P2P Invitation (usato per gruppi Persistent) • Service Discovery (opzionale)
  • 34. Wi-Fi Direct 35 FASE 2 - GO Negotiation Three Way Frame Exchange per mettersi d’accordo su chi sarà il GO. Si scambia il go_intent. Chi ha questo valore più alto diventa il GO. In caso di parità si usa “Tie Breaker bit” scelto casualmente con stessa probabilità tra 0 e 1. Chi manda il bit a 1, in caso di parità, diventa il GO.
  • 35. Wi-Fi Direct 36 Tipi di gruppo: STANDARD
  • 36. Wi-Fi Direct 37 Tipi di gruppo: AUTONOMOUS
  • 37. Wi-Fi Direct 38 Tipi di gruppo: PERSISTENT
  • 38. Wi-Fi Direct 39 FASE 3 - WPS Provisioning Permette di creare connessione sicura con pulsante o PIN. GO implementa una interval REGISTRAR, il Client l’ENROLLEE. Fase1: Interval registrar genera le credenziali. Usa WPA-2 (AES- CCMP come cypher e PSK per autenticazione) Fase2: Enrollee si scollega e si ri-associa usando le nuove credenziali di autenticazione Se le credenziali sono già salvate, la fase 1 non serve più
  • 39. Wi-Fi Direct 40 Power Saving: • Opportunistic Power Save (OPS) • Notice of Absence (NoA)
  • 40. Wi-Fi Direct 41 Opportunistic Power Save (OPS): Il GO usa una finestra temporale (CTWindow) che specifica il tempo in cui sarà sveglio, quindi i Client possono inviare i Frame. Il GO non ha la decisione sull’ingresso in “sleep”, perché dipende dall’attività dei Client. Per dare più controllo al GO si usa anche il NoA
  • 41. Wi-Fi Direct 42 Notice of Absence (NoA): Il GO annuncia ai Client i periodi di tempo in cui sarà assente e i Client non potranno accedere al canale, sia se attivi, sia se in power save. Quindi, i Client possono spegnere la “radio”. Il GO definisce: la durata del periodo, intervallo (tempo tra periodi consecutivi), start time, count (num. periodi)
  • 42. Linux Kernel 43 wl_cfg80211_add_virtual_iface: virtual face add failed (-2) Driver Broadcom ioctl (…) Aggiunta nel codice della printk di “ifreq.addr.octet” + Ricompilazione ed esecuzione
  • 49. Applications 50 • Un dispositivo “salta” da un gruppo all’altro • Esegue il trasferimento di un file • Gestisce le riconnessioni automatiche Convincere l’utente di poter partecipare a più gruppi contemporaneamente PingPong
  • 54. Applications 55 PingPong funziona in un ambiente controllato, ma non è utilizzabile in uno scenario reale Idea realmente attuabile con le API di Android La fase di Discovery è troppo lenta Richiede la sincronizzazione tra i dispositivi PingPong
  • 55. Applications 56 1) 2) Ciclo PingPong lento a causa: • delle basse performance della fase di Discovery • della difficoltà di sincronizzazione dovuta da Android PingPong

Hinweis der Redaktion

  1. Buongiorno, questo lavoro di tesi tratta l’analisi dei limiti di wifi direct in android. gli obiettivi si possono distinguere in due tipi, quelli più generali
  2. Gli obiettivi di questo lavoro di tesi si possono distinguere in due tipi: più generali legati al protocollo Wi-Fi Direct specifici per l’implementazione di Android Prima di procedere devo fare due precisazioni, la prima sulle Reti Opportunistiche
  3. Sono reti wireless, in cui i nodi sono dispositivi portati da utenti mobilità dei nodi quando si incontrano si possono connettere topologia di rete estremamente dinamica *****OPZIONALE****** RICORDA; per ambienti dinamici come reti opportunistiche, il tipo di gruppo migliore è AUTONOMOUS, perché adatto ALLA FORMAZIONE INCREMENTALE DEL GRUPPO ******** ******** ******** ********
  4. Protocollo standard di Wi-Fi Alliance definito nel 2007 più veloce delle reti ad-hoc (IBSS - Independent Basic Service Set) (antenato di questo protocollo) permette uso di Wi-Fi classico e Wi-Fi Direct contemporaneamente (cosa non possibile con le reti ad hoc) Nelle specifiche ufficiali viene usata una terminologia specifica. I dispositivi sono detti Peer che si distinguono in Group Owner e Client
  5. GO sono circa come gli access point e gestiscono il gruppo Client sono quelli connessi al gruppo Il gruppo è insieme del GO e dei suoi client Le specifiche non vietano ad un dispositivo di fare parte di + gruppi contemporaneamente sia in configurazione client+client, client+GO o GO+GO
  6. E’ una caratteristica opzionale del protocollo che il produttore non deve implementare necessariamente per dire che il proprio prodotto è compatibile con Wi-Fi Direct. In Android infatti tale funzione non è stata implementata. ******** ******** ******** ******** ******** ******** ******** ******** I Legacy Client vedono in GO come un Access Point Range di Wi-Fi Direct è di 200 m e velocità di 250 Mbps Il ruolo Client e GO non sono trasferibili. Per cambiarlo, una volta negoziato deve essere ricreata la rete. Si usa il GO_Intent=0..15 per stabilire chi sarà il GO ******** ******** ******** ******** ******** ******** ******** ********
  7. Inoltre, la fase di Discovery, quella di ricerca dei dispositivi, necessaria per trovarsi su una canale comune di connessione (social cannella 1,6,11) per potersi poi connettere, dopo un certo tempo di attesa non permette più la connessione -> problema specifico di Andoid
  8. Per raggiungere obiettivi generali di estendere il protocollo per renderlo scalabile e la rete disponibile, bisogna far si che un dispositivo faccia parte di più gruppi contemporanemante. O utilizzare più Chip Wi-Fi ma che sui dispositivi mobili non ci sono per questioni relative al consumo energetico, dimostrato da Microsoft nel 2003 col progetto MultiNet, con cui hanno definito per la prima volta il concetto di INTERFACCIA DI RETE VIRTUALE. Interfaccia di rete virtuale: astrazione di scheda di rete fisica
  9. Far si che i dispositivi (indicati col tratteggio verde) abbiano più interfacce di rete una come GO di un gruppo e l’altra come Client.
  10. Nel dispositivi Soft MAC, c’è mac80211 che è un driver che implementa le funzioni di rete tra la parte proprietaria, che è più snella del caso FullMAC e mette in comunicazione, e cfg80211.
  11. Aggiungere funzionalità a Pigeon Messenger, come: PERMETTERE L’INVIO DI FILE, COME IMMAGINI/VIDEO NELLE CHAT CHAT DI GRUPPO