Lo standard 802.15.4 Bluetooth
description
Transcript of Lo standard 802.15.4 Bluetooth
Lo standard 802.15.4Bluetooth
Elaborato per Sistemi e Reti Wireless
Corso di Laurea Specialistica in Scienze di Internet
Denise Mazzinimatricola 0000251605
Elaborato di Sistemi e Reti Wireless - Lo standard Bluetooth
2
Introduzione Cos’è Bluetooth?
Tecnologia di comunicazione a breve distanza progettata per le WPAN
Origini storiche del nome
Elaborato di Sistemi e Reti Wireless - Lo standard Bluetooth
3
Topologia delle reti Bluetooth
Piconet 1 master e (max) 7 slave Sincronizzazione di clock e FHS
Scatternet Unione di più piconet
Elaborato di Sistemi e Reti Wireless - Lo standard Bluetooth
4
Bluetooth Protocols
Elaborato di Sistemi e Reti Wireless - Lo standard Bluetooth
5
Il livello Radio (RF) Banda ISM da 2400 MHz a 2483.5 MHz
79 canali (1MHz ognuno) Diverse classi di dispositivi
3 classi di potenza di trasmissione diversa
Controllo della potenza di trasmissione 2 modalità di trasmissione
Basic Rate (GFSK) e Enhanced Data Rate (PSK)
Elaborato di Sistemi e Reti Wireless - Lo standard Bluetooth
6
Livello Baseband
Formato dei pacchetti: 2 tipi Basic Rate
Access Code, Header e Payload Enhanced Data Rate
Access Code, Header, Guard, Sync, Payload e trailer
Access code DAC, CAC, IAC
Elaborato di Sistemi e Reti Wireless - Lo standard Bluetooth
7
Livello Baseband
Canali fisici basic piconet physical channel adapted piconet physical channel inquiry scan physical channel page scan physical channel
Elaborato di Sistemi e Reti Wireless - Lo standard Bluetooth
8
Livello Baseband
Hop selection inquiry hopping sequence inquiry response hopping sequence page hopping sequence page response hopping sequence basic channel hopping sequence adapted channel hopping sequence
Elaborato di Sistemi e Reti Wireless - Lo standard Bluetooth
9
Livello Baseband Trasporto logico (LT_ADDR)
Synchronous Connection-Oriented (SCO) logical transport
Extended Synchronous Connection-Oriented (eSCO) logical transport
Asynchronous Connection-Oriented (ACL) logical transport
Active Slave Broadcast (ASB) logical transport Parked Slave Broadcast (PSB) logical transport
Elaborato di Sistemi e Reti Wireless - Lo standard Bluetooth
10
Livello Baseband Synchoronus Connection Oriented
logical transport (SCO) Collegamento simmetrico point-to-point tra
master e slave Riserva degli slot ad intervalli temporali Non prevedono ritrasmissione
Extended SCO (eSCO) Come SCO, ma con finestra di ritrasmissione
Elaborato di Sistemi e Reti Wireless - Lo standard Bluetooth
11
Livello Baseband
Asynchronous Connection-Oriented logical transport (ACL)
Commutazione di pacchetto Tra master e slave può esserci solo un
trasporto logico Si applica la ritrasmissione per assicurare
l’integrità dei dati
Elaborato di Sistemi e Reti Wireless - Lo standard Bluetooth
12
Livello Baseband Active Slave Broadcast logical
transport (ABS) Traffico unidirezionale dal master agli
slave Trasporta traffico L2CAP Inaffidabile: ritrasmissione ripetuta del
pacchetto Usato con LT_ADDR con tutti 0
Elaborato di Sistemi e Reti Wireless - Lo standard Bluetooth
13
Livello Baseband
Parked slave broadcast logical transport
Comunicazione tra master e slave in stato park
Utilizzo di due indirizzi: PM_ADDR Parked Member Address AR_ADDR Access Request Address
Elaborato di Sistemi e Reti Wireless - Lo standard Bluetooth
14
Livello Baseband
Logical link Link Control (LC) ACL Control (ACL-C) User Asynchronous/Isochronous (ACL-
U) User Synchronous (SCO-S) User Extended Synchronous (eSCO-S)
Elaborato di Sistemi e Reti Wireless - Lo standard Bluetooth
15
Livello Baseband Il Link Controller è responsabile della gestione
degli stati dei dispositivi Bluetooth StandBy Connection Inquiry Inquiry scan Inquiry response Page Page scan Page response Slave response Parked
Elaborato di Sistemi e Reti Wireless - Lo standard Bluetooth
16
Livello Baseband Stato StandBy
Stato di default, basso consumo Inquiry
Invio ripetuto del messaggio di inquiry Inquiry Scan
Attesa di un messaggio di inquiry, va fatto periodicamente
Inquiry response Invio di un messaggio FHS per ogni messaggio
inquiry ricevuto (rischio di collisione – backoff) Non hanno priorità sul traffico SCO
Elaborato di Sistemi e Reti Wireless - Lo standard Bluetooth
17
Livello Baseband Lo stato Page scan
Attesa di messaggi di paging Se non vengono ricevuti, si passa nello stato
slave response Lo stato Page
Emissione del messaggio di page con il DAC Lo stato Page response
Risposta al messaggio di page ricevuto Si deve fare la sincronizzazione tra dispositivi
Elaborato di Sistemi e Reti Wireless - Lo standard Bluetooth
18
Livello Baseband Lo stato connection
Inizia con un POLL da parte del master Risposta qualsiasi dello slave Se problemi si ritorna allo stato
page/page scan Sottostati:
Active mode Hold mode (solo SCO) Sniff mode (solo ACL)
Elaborato di Sistemi e Reti Wireless - Lo standard Bluetooth
19
Livello Baseband
Lo stato park Partecipazione non attiva – attività minima Cede il LT_ADDR per ottenere
PM_ADDR: il master comunica agli slave parked
AR_ADDR: lo slave parked comunica col master Ascolto per una serie di beacon del master
Per consentire la sincronizzazione
Elaborato di Sistemi e Reti Wireless - Lo standard Bluetooth
20
Link Manager Gestisce tutti gli aspetti relativi alla
connessione avvenuta Comunicazione attraverso il trasporto
logico ACL Opera per transazioni (PDU con stesso
ID) Tempo tra ricezione di un messaggio e
invio di una valida risposta LMP < Response timeout LMP.
Elaborato di Sistemi e Reti Wireless - Lo standard Bluetooth
21
Link Manager
Altre operazioni del LM Diretto responsabile della connessione
Provvede allo scambio di informazioni Aggiustamento della potenza di
trasmissione Adapted Frequency Hopping Supervisione dei collegamenti Controllo della qualità del canale
Elaborato di Sistemi e Reti Wireless - Lo standard Bluetooth
22
Link Manager
Sicurezza Autenticazione con challenge e
messaggio di risposta con codifica (chiave segreta)
Fase di pairing per concordare la chiave segreta
Criptazione dei messaggi con la chiave segreta
Elaborato di Sistemi e Reti Wireless - Lo standard Bluetooth
23
L2CAP Multiplexing del protocollo
Gestione di diverse entità a livelli diversi Segmentazione e riassemblaggio
Migliore gestione dei dati se la lunghezza del PDU è gestita da L2CAP
Controllo di flusso (opzionale) Controllo degli errori e ritrasmissione Frammentazione e ricombinazione
Anche i livelli sottostanti possono frammentare ulteriormente il PDU
Controllo della qualità del canale
Elaborato di Sistemi e Reti Wireless - Lo standard Bluetooth
24
RFCOMM Semplice protocollo di trasporto che
emula le porte seriali RS232 sul protocollo L2CAP
2 categorie di dispositvi 1) Computer, stampanti etc. 2) Segmenti di comunicazione (es modem)
Data Link Connection Identifier (DLCI) Identifica una connessione uscente tra
master e slave, 6 bit ma valori da 2 a 61.
Elaborato di Sistemi e Reti Wireless - Lo standard Bluetooth
25
Scrivere un’applicazione Java+Bluetooth
MIDlet un'applicazione Java, scritta per
dispositivi con scarse risorse hardware MIDlet Suite: 2 file principali
.jad :descrittore dell'applicazione .jar :un file archivio con le classi
Elaborato di Sistemi e Reti Wireless - Lo standard Bluetooth
26
Scrivere un’applicazione Java+Bluetooth
MyTris - Classi principali MyTris.java NetLayer.java EndPoint.java Sender.java Reader.java AcceptPlayer.java AsktoPlayCanvas.java BTListener.java Msg.java NameUI.java PlayerExit.java WaitCanvas.java WaitConfirm.java
Elaborato di Sistemi e Reti Wireless - Lo standard Bluetooth
27
Scrivere un’applicazione Java+Bluetooth
javax.microedition.*; oggetti e i metodi necessari per
creare una MIDlet, dagli oggetti grafici come finestre e immagini, ai comandi.
javax.bluetooth.*; oggetti e metodi per la gestione della
connessione Bluetooth.
Elaborato di Sistemi e Reti Wireless - Lo standard Bluetooth
28
Scrivere un’applicazione Java+Bluetooth
Maschera di input per dati iniziali Utilizzo massiccio delle
classi grafiche Canvas, Form e Image.
Elaborato di Sistemi e Reti Wireless - Lo standard Bluetooth
29
Scrivere un’applicazione Java+Bluetooth
Classe responsabile della connessione NetLayer
Attende come server se qualche dispositivo è già alla ricerca di un secondo giocatore
Ricerca come client se c’è già un dispositivo in attesa di essere invitato a giocare
Elaborato di Sistemi e Reti Wireless - Lo standard Bluetooth
30
Scrivere un’applicazione Java+Bluetooth
Schermate del gioco quando è attivo
Elaborato di Sistemi e Reti Wireless - Lo standard Bluetooth
31
Scrivere un’applicazione Java+Bluetooth
Strumenti per lo sviluppo Java Wireless
Toolkit v 2.5.1 Ottimo strumento
sia in fase di compilazione e creazione dei package sia in fase di simulazione del gioco