Corso di Reti di Calcolatori Bluetooth Una interfaccia
Corso di Reti di Calcolatori Bluetooth: Una interfaccia wireless per la connettività in ambito short-range. Corso Reti di Calcolatori Prof. Orazio Mirabella
Introduzione Corso di Reti di Calcolatori § Nel febbraio 1998 Ericsson, Nokia, IBM, Toshiba e INTEL formarono uno “Special Interest Group” (SIG) per creare uno standard wireless per la connettività in ambito “short range”. § L’interfaccia radio fu chiamata Bluetooth dal nome del re danese Harald Bluetooth che aveva riunito danimarca e Norvegia durante il X secolo. § Questo gruppo fu successivamente esteso nel dicembre 1999 a 3 Com, Lucent, Microsoft e Motorola. Attualmente, oltre 2000 aziende sono entrate nel consorzio di utenti della tecnologia Bluetooth. § Nel tempo sono state sviluppate nuove versioni 1. 1, 1. 2, 2, 2. 1, 3, 4, 5 che offrono bit rate più elevati e/o minori consumi.
Cosa è Bluetooth Corso di Reti di Calcolatori § Bluetooth è una interfaccia wireless a corto raggio per il trasferimento di voce e dati punto-multipunto, fra dispositivi portatili § Il range nominale varia da 10 cm a 10 metri ma può essere esteso a 100 metri aumentando la potenza di trasmissione. § Printers, desktops, fax machines, cellular phones e virtualmente ogni altro tipo di dispositivo digitale può fare parte del sistema bluetooth per formare dei gruppi che sostituiscono i cablaggi.
Goals Corso di Reti di Calcolatori § Il sistema deve essere capace di supportare una connettività peer-to-peer operando con una struttura ad -hoc. § La connessione deve supportare sia voce che dati. § Deve presentare una elevata immunità ai disturbi generati da altri dispositivi. § Il transceiver radio deve essere abbastanza piccolo da operare a bassa potenza e poter essere integrato in dispositivi portatili di piccola dimensione come telefoni cellulari, auricolari, computer palmari, ecc. § Deve avere un basso costo (5$ per chip)
Scenari applicativi Corso di Reti di Calcolatori § 3 -in-1 phone: A casa usato come telefono mobile. A (al costo della telefonia fissa), nell’uso esterno come telefono cellulare (costo telefonia mobile), e quando il telefono è nell’area di un altro telefono mobile, usato come walkie-talkie (senza costi telefonici). § Ultimate Headset: per collegare l’auricolare wireless al telefono cellulare, al notebook o altri dispositivi. § Interactive Conference: per riunioni e conferenze. § LAN access: . per consentire l’accesso a internet attraverso un telefono cellulare o un modem cordless. § E ancora: per creare reti diffuse di sensori, per applicazioni di controllo di processo, per la home automation, ecc.
Alcune definizioni Corso di Reti di Calcolatori § Piconet: una collezione di dispositivi (fino ad 8) connessi attraverso bluetooth in modo da formare una rete ad-hoc. Ogni piconet possiede una diversa sequenza di hopping cui si sicronizzano tutti gli host della piconet. § Scatternet: due o più piconet indipendenti e non sincronizzate che comunicano l’un l’altra. § Master unit: è il dispositivo che in una piconet fornisce il clock e la sequenza di hopping cui tutti i dispositivi della piconet. § Slave units: tutti i dispositivi della piconet che non sono il master (fino a 7 unità attive per ogni master, tranne che nella versione BLE)
Corso di Reti di Calcolatori L’interfaccia wireless di Bluetooth § Opera nella banda Industrial-Scientific-Medical (ISM), a 2. 45 GHz che è libera nella maggior parte dei paesi del mondo. § Utilizza la modalità Frequency-hopping (FH) spread spectrum, che permette di supportare implementazioni low-cost, low-power radio con elevata immunità alle interferenze. § I canali usano uno schema Frequency-Hopping/ Time Division Duplex (TDD): il canale è diviso in slot di 625 ms con 1600 hops/sec. Gli slot consecutivi sono usati alternativamente per trasmettere e ricevere. § Ogni slot consente di trasmettere un solo pacchetto. § Il canale trasmissivo fa uso di 79 canali da 1 -MHz, ugualmente spaziati, (da 2, 402 MHz a 2, 480 MHz), con modulazione di tipo frequency shift keying (FSK). Il bit rate di trasmissione/ricezione è 1 Mb/s § Sono usati 2 livelli di potenza: 0 d. Bm per 10 metri o 20 d. Bm (100 metri)
Link supportati Corso di Reti di Calcolatori § Sono disponibili due tipi di link per applicazioni multimediali: o Synchronous Connection-Oriented (SCO) link o Asynchronous Connectionless Link (ACL) § I link SCO supportano connessioni, circuit-switched point-to-point simmetriche usate tipicamente per la voce. o La prenotazione può essere effettuata dal master o dallo slave § I link ACL supportano connessioni packet-switched point-tomultipoint usate tipicamente per la trasmissione di dati bursty. o Le unità Master usano uno schema a polling per controllare le connessioni ACL: si usa un pacchetto master-to-slave o un pacchetto di tipo POLL per interrogare lo slave. In tal modo vengono evitate le Collisioni. § Tutto il traffico di tipo SCO e ACL è schedulato dal master
Architettura Corso di Reti di Calcolatori
RF e Baseband Corso di Reti di Calcolatori Rappresentano la parte più a basso livello del protocollo: § Implementano in hardware le funzioni necessarie per la realizzazione di link wireless § Controllano la sincronizzazione fra le varie unità e la corretta sequenza di hopping. § Comprimono i dati e li inseriscono nei pacchetti. § Assegnano gli identificatori § gestiscono i link di tipo SCO ed ACL § Curano la ritrasmissione dei pacchetti errati e la rivelazione/recupero degli errori.
Link Manager Protocol (LMP) Corso di Reti di Calcolatori E’ responsabile per: § Instaurazione della connessione § Generazione, scambio e controllo del link e delle chiavi criptate per l’autenticazione e la criptazione dei dati. § Negoziazione delle modalità operative del Link. Cioè voce/dati § Spedizione e ricezione dei dati § Management delle modalità operative in potenza, del consumo di potenza e dello stato di una unità.
Host Controller Interface Corso di Reti di Calcolatori § Poiché nei sistemi Bluetooth Baseband e Link Manager sono su un processore e gli altri livelli e le applicazioni su un altro processore, è necessario definire una interfaccia standard fra i due. § Una interfaccia standard permette di utilizzare drivers di costruttori diversi e quindi di fare uso di moduli Hardware bluetooth di costruttori diversi Bluetooh higher layers Pacchetti HCI Bluetooh lower layers Sono disponibili diversi tipi di pacchetti: HCI Command packets Event packets Data packets
Logical Link Control and Adaptation Protocol (L 2 CAP) Corso di Reti di Calcolatori § L 2 CAP è una interfaccia fra i protocolli dei livelli superiori ed il livello baseband. Opera in parallelo al LMP § Multiplexing: L 2 CAP deve supportare il multiplexing fra vai protocolli (ad es. SDP, RFCOMM and TCS Binary) che possono operare sul L 2 CAP. § Segmentation and Reassembly: Data packets che superano la Massima Transmission Unit, MTU, devono essere segmentati prima di essere trasmessi. In ricezione devono essere riassemblati da L 2 CAP. § Quality of Service: La connessione L 2 CAP permette lo scambio di informazioni relative alla qualità di servizio fra due unità bluetooth.
Bluetooth Networking Corso di Reti di Calcolatori § Le Piconet sono costituite da fino a 7 dispositivi attivi. o Configurazione Master/Slave o Slave addizionali possono essere posti in Parked mode. I dispositivi non sono attivi ma rimangono sincronizzati. o Le connessioni, sincronizzazioni e stati Parked/Active sono controllati dal Master. o Tutti i dispositivi connessi ad una Piconet condividono tempo e frequenza. § Una Scatternet è formata da due o più Piconet. o Si ha un Master per ogni Piconet. Un Master può essere Slave di un’altra Piconet. o Gli Slave afferenti a più Piconet sono multiplexati nel tempo. o Differenti Piconets non sono sincronizzate né in tempo né in frequenza.
Stabilire una connessione Corso di Reti di Calcolatori E’ una delle operazioni più complesse di B. T. Richiede delle opportune procedure § Nelle reti wired: connessione fisica al cavo + procedure nel DDL § Nelle reti wireless 802. 11 x : selezione del corretto canale di comunicazione (proc. Scanning) + , la connessione fra i nodi (Autenticazione + Associazione) § In Bluetooth: L’interazione fra un Master ed uno Slave (proc. Inquiry) + lo scambio di opportune informazioni per l’accesso alla Piconet (proc. Page + proc. Connect) Corso di Reti di calcolatori
Stabilire una connessione Le fasi di Inquiry e Page non sono necessariamente consecutive Corso di Reti di calcolatori Corso di Reti di Calcolatori Sono richieste 2 fasi: Inquiry e Page. La fase di inquiry serve a scoprire le stazioni presenti. La fase di Page scambia le informazioni necessarie per stabilire la connessione.
Procedura di Inquiry Corso di Reti di Calcolatori § Il Master salta fra un gruppo di 32 frequenze di Hopping (standard) organizzate in due treni A & B di 16 frequenze. § Ogni treno è ripetuto almeno 256 volte prima di cambiare A/ B (almeno 3 sequenze di treni prima di smettere). § Stop dopo aver scoperto un numero sufficiente di dispositivi, o scatto di Time-out. § La velocità di salto è doppia rispetto allo stato Connection GIAC Corso di Reti di calcolatori Clock Master: bit 0 -27 Selection Box Frequenza di HOP
Procedura di Page Corso di Reti di Calcolatori § Il Master (Paging Unit) trasmette una sequenza di Pacchetti col DAC (Device Access Code che ricava dal BD-Address) dello slave cui vuole connettersi. § Il Master genera il FH usando l’indirizzo dello Slave ed il suo Clock. § Le due sequenze di FH fra la Paging Unit e la Page Scan Unit, si correlano e lo Slave può inviare una “Response” § Il Master invia un Frequency Hopping Synchronization (FHS) packet col proprio indirizzo e clock. § Lo slave commuta la sequenza di hopping a quella generata dal Master. Corso di Reti di calcolatori
Piconet e Scatternet § Il Master in una Piconet può essere Slave in un’altra. § Problemi di indirizzamento limitano il numero di dispositivi attivi in una piconet a 7. § Un numero indefinito di dispositivi Parked rimangono sincronizzati con la piconet ma non sono attivi. Corso di Reti di Calcolatori
Corso di Reti di Calcolatori Temporizzazione dei pacchetti § Time Division Duplex (TDD) § Circa 229 µsec sono persi per agganciare il sintetizzatore. Ciò permette di usare semplici circuiti di PLL. § Il Master trasmette negli slot pari. § Lo slave trasmette negli slot dispari. § Ogni slot può trasmettere al più un pacchetto § La frequenza degli slot cambia in accordo ad una sequenza prestabilita.
HOLD mode Corso di Reti di Calcolatori § E’ una modalità di risparmio di energia può essere usata per connettere le unità in una piconet se non deve essere trasmesso alcun dato. § Il master può mettere l’unità slave in Hold Mode, in cui è attivo solo un timer interno. Le unità slave possono comunque chiedere di essere poste in Hold Mode. § Il trasferimento dati ricomincerà istantaneamente quando le unità escono da questo stato.
PARK mode Corso di Reti di Calcolatori § I dispositivi sono addormentati e si risvegliano periodicamente per risincronizzarsi § il numero di dispositivi può essere elevato (cioè > 7). § Ogni dispositivo riceve un codice di 8 bit: Park Member Address
SNIFF mode Corso di Reti di Calcolatori § Il dispositivo rimane attivo ma con un duty-cycle ridotto. § L’intervallo di sniff è programmabile e dipende dall’applicazione. § Può essere risvegliato in corrispondenza degli intervalli di sniff.
Corso di Reti di Calcolatori Bluetooth 4. 0: Low Energy
Corso di Reti di Calcolatori Quanta energia usa Bluetooth? § Il Bluetooth tradizionale è connection oriented. Quando un dispositivo è connesso , il link viene mantenuto, anche se non c’è un flusso di dati. § Sniff modes permettono ad un dispositivo di dormire , riducendo così la potenza consumata e aumentando la durata della batteria (fino a qualche mese di vita). § La corrente di picco in trasmissione è tipicamente attorno a 25 m. A § Sebbene sia stato dimostrato che BT consumi meno di altri standard radio non è ancora adatto per l’uso con batterie a bottone o energy harvesting applications. 25
Corso di Reti di Calcolatori Cosa è Bluetooth Low Energy? § Bluetooth low energy è una nuova tecnologia per , open, short range radio. o E’ differente dal classico Bluetooth o E’ ottimizzato per ultra low power o Permette l’uso di batterie a bottone (coin cell battery) – < 20 m. A peak current – < 5 u. A average current 26
Concetti base di Bluetooth 4. 0 Corso di Reti di Calcolatori § Le caratteristiche sono ottimizzate per ridurre i consumi: § Pacchetti piccoli per ridurre i picchi di corrente. o Pacchetti piccoli per ridurre il tempo di ricezione o Meno canali RF per migliorare il tempo di discovery e connessione. o Macchina a stati semplice o Un singolo protocollo 27
Corso di Reti di Calcolatori Bluetooth low energy datasheet Range: ~ 150 meters open field Output Power: ~ 10 m. W (10 d. Bm) Max Current: ~ 15 m. A Latency: 3 ms Topology: Star Connections: > 2 billion Modulation: GFSK @ 2. 4 GHz Robustness: Adaptive Frequency Hopping, 24 bit CRC Security: 128 bit AES CCM Sleep current: ~ 1μA Modes: Broadcast, Connection, Event Data Models, Reads, Writes 28
Corso di Reti di Calcolatori Bluetooth low energy datasheet#2 § Data Throughput o Per Bluetooth low energy, il data throughput non è un parametro molto importante. Non supporta lo streaming. o Possiede un data rate di 1 Mbps, ma non è ottimizzato per il file transfer. o E’ progettato per spedire piccoli frammenti di dati. 29
Corso di Reti di Calcolatori Bluetooth Low Energy Architecture 30
Physical Layer Corso di Reti di Calcolatori § 2. 4 GHz ISM band § 1 Mbps GFSK § 40 Channels on 2 MHz spacing 31
Physical Channels Corso di Reti di Calcolatori § Due tipi di canali 32
Physical Channels Corso di Reti di Calcolatori § Gli Advertising channels sono scelti in modo da evitare 802. 11 33
Link Layer Corso di Reti di Calcolatori § Link Layer state machine 34
Eventi Corso di Reti di Calcolatori Il canale fisico è diviso in unità temporali chiamati eventi, di durata variabile. I dati scambiati fra i dispositivi sono collocati in questi eventi. Esistono due tipi di eventi: • Advertising • Connection • I dispositivi che ricevono un advertising ma non vogliono connettersi, sono chiamati SCANNER. Possono però rispondere per chiedere particolari informazioni.
Advertising Corso di Reti di Calcolatori § Un dispositivo può spedire un Advertise per diverse ragioni: o Per trasmettere dati a un dispositivo connesso precedentemente o Per segnalare la sua presenza a un dispositivo che desidera connettersi. o Per riconnettersi in modo asincrono a causa di un evento locale. 36
Data transactions Corso di Reti di Calcolatori § Una volta che una connessione viene stabilita: o Il Master informa lo slave della sequenza di hopping sequence o Tutte le transazioni successive sono effettuate nei 37 data channels o Le transazioni possono essere criptate. o Entrambi I dispositivi possono andare in deep sleep fra due transazioni. 37
Link Layer Connection Corso di Reti di Calcolatori § La latenza di connessione è molto bassa. 38
- Slides: 38