Lo standard 802.15.4 Bluetooth Elaborato per Sistemi e Reti Wireless Corso di Laurea Specialistica in Scienze di Internet Denise Mazzini matricola 0000251605 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 2 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 3 Bluetooth Protocols Elaborato di Sistemi e Reti Wireless - Lo standard Bluetooth 4 Il livello Radio (RF) Banda ISM da 2400 MHz a 2483.5 MHz Diverse classi di dispositivi 79 canali (1MHz ognuno) 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 5 Livello Baseband Formato dei pacchetti: 2 tipi Basic Rate Enhanced Data Rate Access Code, Header e Payload Access Code, Header, Guard, Sync, Payload e trailer Access code DAC, CAC, IAC Elaborato di Sistemi e Reti Wireless - Lo standard Bluetooth 6 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 7 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 8 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 9 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 10 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 11 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 12 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 13 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 14 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 15 Livello Baseband Stato StandBy Inquiry Invio ripetuto del messaggio di inquiry Inquiry Scan Stato di default, basso consumo 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 16 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 17 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 18 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 19 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 20 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 21 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 22 L2CAP Multiplexing del protocollo 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 Gestione di diverse entità a livelli diversi Anche i livelli sottostanti possono frammentare ulteriormente il PDU Controllo della qualità del canale Elaborato di Sistemi e Reti Wireless - Lo standard Bluetooth 23 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 24 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 25 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 26 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 27 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 28 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 29 Scrivere un’applicazione Java+Bluetooth Schermate del gioco quando è attivo Elaborato di Sistemi e Reti Wireless - Lo standard Bluetooth 30 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 Elaborato di Sistemi e Reti Wireless - Lo standard Bluetooth 31