Bluetooth

**Bluetooth** on lyhyen kantaman radiotekniikkaan perustuva langaton tiedonsiirtotekniikka. Se on avoin standardi laitteiden väliseen langattomaan kommunikointiin lähietäisyydellä.

Bluetooth korvaa myös IrDA-infrapunayhteydet, koska se on toimintavarmempi ja monipuolisempi siirtotekniikka eikä tarvitse esimerkiksi näköyhteyttä yhteyslaitteiden välillä.

Bluetooth koostuu kolmesta osasta, jotka ovat radio-osa (*Bluetooth-radio*), radiolinkin hallintaosa () ja yhteydenhallinta ().
Bluetooth-teknologia mahdollistaa myös yhteyslaitteiden autentikoinnin ja tiedonsalauksen eli -kryptauksen, toisin kuin IrDA.

Bluetoothin nimelliset siirtonopeudet ovat symmetrisessä siirrossa 432,6 kilobittiä ja epäsymmetrisessä lähtevässä 721 kilobittiä ja saapuvassa 57,6 kilobittiä sekunnissa. Pienimmällä milliwatin (Class/luokka 3) lähetysteholla päästään noin metrin tiedonsiirtoetäisyyksiin, 2,5&nbsp;mW teholla (Class/luokka 2) jo noin kymmeneen metriin, ja lähetystehoa kasvattamalla ylletään jopa 100 metrin etäisyyksiin (100&nbsp;mW/Class 1). Bluetoothin keskilähetystaajuus on 2,45 GHz. Samalla taajuusalueella toimivat myös muun muassa mikroaaltouunit ja langattomat lähiverkot. Yhteyksien häiriöiden vähentämiseksi lähetyksessä käytetään taajuushyppelyä ja hajaspektritekniikkaa.

## Historia
Bluetooth sai alkunsa, kun matkapuhelimia valmistanut ruotsalainen Ericsson alkoi tutkia erilaisia menetelmiä siirtää tietoa langattomasti  matkapuhelimien ja niiden oheislaitteiden välillä vuonna 1994.

Ericssonin aloitteesta perustettiin 20.5.1998 Bluetooth SIG (Special Interest Group), jonka perustajiin kuuluivat myös Nokia, IBM, Intel ja Toshiba. Tavoitteena oli luoda de facto -standardi. Jo vuotta myöhemmin järjestöllä oli yli 400 jäsentä. Vuonna 2017 SIG:ssa oli jäseniä yli 30&nbsp;000.

Nimi Bluetooth annettiin 900-luvulla eläneen viikinkikuninkaan, Harald Sinihampaan mukaan, logo taas luotiin yhdistämällä skandinaaviset riimut ᚼ (hagall) ja ᛒ (berkanan).

### Bluetooth 2.x
Bluetooth 2.0 -version suurimpia parannuksia on ollut tiedonsiirron nopeuden nosto 3,0&nbsp;Mbps:iin EDR-laajennuksella (Enhanced Data Rate). Teknisesti 2.0-versio kuluttaa enemmän virtaa dataa siirrettäessä, mutta kolminkertainen tiedonsiirtonopeus tarkoittaa, että radion tarvitsee saman määrän tietoa siirtääkseen olla päällä vähemmän aikaa. Tämä laskee keskimääräisen tehonkulutuksen noin puoleen version 1.x laitteisiin verrattuna. Versio 2.0 tarjoaa myös muutamia pienempiä parannuksia kuten uudistetun virheenkorjauksen. Bluetooth 2.0 -laitteet ovat alaspäin yhteensopivia kaikkien 1.x-version laitteiden kanssa.

Bluetooth 2:een on tehty yksi inkrementaali julkaisu, Bluetooth 2.1, 26.7.2007. Sen tärkein uusi ominaisuus, , yksinkertaistaa laitteiden parittamista. Lisäksi tietoturvaa parannettiin huomattavasti. Kun salausavainten luomiseen käytettiin aikaisemmissa versioissa pelkästään (yleensä nelinumeroista) PIN-koodia, 2.1-versio estää yksinkertaiset passiiviset salakuuntelumenetelmät käyttämällä turvallisempaa Diffie–Hellman-avaimenvaihtoprotokollaa.

### Bluetooth 3.0
Bluetooth 3.0 on edeltäjäänsä nopeampi ja virtapihimpi. Uuden Bluetooth-standardin sydämenä toimii 802.11 PAL (Protocol Adaptation Layer), eli 802.11 WLAN -yhteyden hyödyntäminen. Suuria tietomääriä siirrettäessä Bluetooth 3.0 käyttää automaattisesti apunaan WLAN-yhteyttä, jolloin siirtonopeus on jopa 24&nbsp;Mbit/s (3&nbsp;Mt/s).
Bluetooth-spesifikaatio mahdollistaa, että laite voi olla jäsenenä kahdessa eri verkossa (nykyiset laitteet tukevat vain yhtä aktiivista yhteyttä kerrallaan). Näin laitteita ja verkkoja voidaan ketjuttaa toisiinsa. Bluetooth-laitteet jakautuvat verkoissa isänniksi () ja renkejä (). Kun pikoverkot yhdistyvät suuremmiksi, kutsutaan niitä scatternet-verkoiksi, joissa on useita isäntiä ja renkejä. Verkot erottaa toisistaan niiden käyttämä taajuus sekä kanavahyppiminen.

### Bluetooth 4.x
Bluetooth 4.0 (tunnetaan myös nimellä *Bluetooth Smart*) julkaistiin 30.6.2010 ja se sisältää perinteisen Bluetoothin, suuren nopeuden Bluetoothin (Bluetooth High Speed) sekä matalaenerginen Bluetooth () protokollat. Matalaenergian Bluetooth tunnettiin aiemmin nimellä Wibree, ja se on täysin uusi protokollapino, joka suunniteltiin nopeaan, yksinkertaisten kytkösten muodostamiseen. Matalaenerginen Bluetooth on suunniteltu erityisesti laitteille, joille ominaista on hyvin pieni virrankulutus, ja jotka voidaan varustaa esimerkiksi nappiparistolla.

Bluetooth 4:ään on tehty tämän jälkeen vielä kaksi inkrementaalista julkaisua, **Bluetooth 4.1** (julkaistu 4.12.2013) lisää ohjelmistoon uusia ominaisuuksia, mutta ei muuta tarvittavaa laitteistoa. **Bluetooth 4.2** julkaistiin 2.12.2014 ja se tuo ominaisuuksia, jotka on erityisesti suunniteltu esineiden internetiä varten. Osa uusista ominaisuuksista on mahdollista lisätä vanhempiin laitteisiin ohjelmistopäivityksillä.

### Bluetooth 5.x
Bluetooth 5.0 julkaistiin vuoden 2016 joulukuussa ja se keskittyi erityisesti parantamaan 4.x versioissa ilmestynyttä IoT-toiminnallisuutta nopeuttamalla tiedonsiirtoa ja parantamalla matalaenergisen Bluetoothin kantamaa.

Tämä uusi versio hyödyntää siirtonopeuden ja kantaman vaihtelua jakamalla matalaenergisen Bluetooth protokollan kerroksiin (2 Mbps, 1 Mbps, 500 Kbps, ja 125 Kbps). Tällöin vähän dataa käyttävät laitteet kuten erinäiset sensorit voivat hyödyntää pienempää tiedonsiirtonopeutta, saaden samalla laajemman kantaman, kun taas isompia tiedostoja siirtäessä, kuten musiikkia kuunnellessa langattomilla kuulokkeilla voivat kuulokkeet siirtää dataa nopeammin pienemmällä kantamalla.

## Bluetooth-radio
### Taajuus

Bluetooth-radio toimii lähes poikkeuksetta 2,4&nbsp;GHz:n ISM (Industry, Medical, Science) lisensöimättömällä taajuusalueella. Tarkasti ottaen Bluetooth toimii taajuusalueella 2,4000–2,4835&nbsp;GHz ja taajuushyppyalue on f = 2402 + k MHz, jossa k = 0\ldots 78. Bluetooth vaihtelee siis lähetystaajuutta. Kanavia ko. taajuusalueella Bluetoothin käytössä on 79. Yhden kanavan taajuussiirto on 1&nbsp;MHz. Ranskassa, Espanjassa ja Japanissa oli aluksi rajoitettu tämän osan kaistasta käyttöä, ja näissä maissa Bluetooth-laitteet käyttivät vain 23:a kanavaa. Kaikki nämä maat ovat kuitenkin myöhemmin avanneet loputkin 56 kanavaa Bluetooth-laitteiden käytettäväksi, joten samat 79 kanavaa ovat nykyään käytössä maailmanlaajuisesti.

### Lähetin
Lähettimiä on jaoteltu neljään luokkaan lähetystehon perusteella: 
*Class 1: 100&nbsp;mW (+20&nbsp;dBm)
*Class 1.5: 10&nbsp;mW (+10&nbsp;dbm) (ainoastaan Bluetooth Low Energy)
*Class 2: 2,5&nbsp;mW (+4&nbsp;dBm)
*Class 3: 1&nbsp;mW (0&nbsp;dBm)

*Class 1* luokan lähettimissä pitää olla virransäätöominaisuus joka mahdollistaa myös Bluetoothin virransäästöominaisuudet. LMP ja RSSI tarkkailevat lähetystehoa ja tarvittaessa laskevat tai nostavat lähetystehoa. *Class 1* -luokan lähettimiä käytetään lähinnä kannettavissa tietokoneissa ja Bluetooth USB-dongleissa. Jos vastaanottimessa ei ole virransäätöominaisuutta, tulee *Class 1* -luokan lähettimen toimia luokan 2 tai 3 lähettimen tavoin. Tämä rajoittaa esimerkiksi kannettavan tietokoneen ja puhelimen välisen Bluetooth-yhteyden noin 10 metriin.

### Modulaatio

Modulaationa Bluetooth käyttää GFSK-taajuussiirtokoodausta (). GFSK-modulaatiossa binäärinen 1 ja 0 sisällytetään kantoaallon pituuteen poikkeuttamalla kantoaallon perustaajuutta. Taajuuden muutos on ±500&nbsp;kHz ja sen virhe saa olla maksimissaan ±75&nbsp;kHz.

Virheen liukuma saa olla:
*1 slotin paketissa ±25&nbsp;kHz
*3 slotin (lähetysjakson) paketissa ±40&nbsp;kHz
*5 slotin paketissa ±40&nbsp;kHz

Enimmäisliukuma on siis mikrosekunnissa 400&nbsp;Hz.

Bluetoothin käyttämän taajuushyppelyn takia tietoliikenne on periaatteessa pakettikytkentäistä. Taajuutta vaihdetaan 1&nbsp;600 kertaa sekunnissa ja yhden paketin lähetysaika (slot) on noin 625 mikrosekuntia.

## Protokollat

Bluetooth-protokollapino sisältää sekä erityisesti Bluetoothiin määritettyjä että yleisempiä protokollia.
Protokollapinolla kuvataan yhteyskäytäntöjä Bluetooth-laitteiden välillä. Protokollapinoon on pyritty sulauttamaan aiempia protokollia, jotta yhteyskäytännöt olisivat toimivampia jo ennestään olemassa olevien protokollien kanssa.

Protokollapino on jaettu kahteenosaan: "controller stack" sisältää aikakriittisen radiolinkin hallinnan. Tämä on toteutettu tyypillisesti erikoistuneella mikropiirillä. "Host stack" on rakennettu sen päälle ja sisältää korkeamman tason protokollat.

Bluetooth soveltuu käytettäväksi monissa erilaisissa laitteissa, jolloin kukin laite käyttää protokollista vain tiettyä osaa. L2CAP (Logical Link Control and Adaptation Protocol) kanavoi protokollat ja samassa järjestelmässä voi käyttää monta protokollaa. 

### Alemmat tason protokollat
*Asynchronous Connection-Less [logical transport] (ACL)
**TDMA-kanavointia käyttävä yleinen ja luotettava datalinkki. Sisältää virheenkorjauksen. Hukkuneet paketit lähetetään uudestaan jos niitä ei kuitata.

*Synchronous connection-oriented (SCO) link
**Reaaliaikaiselle äänidatalle tarkoitettu radiolinkki. Käyttää varattuja aikaslotteja. Ei tee uudelleenlähetyksiä pakettien hukkuessa.

*Link management protocol (LMP)
**Vastaa yhteyden muodostamisesta, esimerkiksi parituksesta. Neuvottelee käytettävästä pakettikoosta ja laitteen tilasta pikoverkossa (hold, sniff, park).

*Host Controller Interface (HCI)
** Standardi rajapinta isännän (eli matkapuhelimen, tietokoneen yms.) ja Bluetooth-moduulin (radio, baseband, link manager) välillä. HCI-rajapinta määrittelee tavan, jolla Bluetooth-laitetta ohjataan ja mahdollistaa toteuttavan piirisarjan vaihtamisen ilman uudelleensuunnittelua.

*Low Energy Link Layer (LE LL)
**Bluetooth Low Energyn käyttämä korvaaja LMP-protokollalle.

### Muut protokollat

*SDP – Service Discovery Protocol
**SDP-protokollan avulla etsitään uusia palveluja, eli Bluetooth-verkossa (pikoverkko) osapuolet kytkeytyvät suoraan laitteisiin, ja pikoverkon yhtenä ominaisuutena on palvelujen vaihtuvuus. SDP-protokollaa käytetään esimerkiksi tulostimen yhdistämisessä Bluetooth-laitteeseen.

*L2CAP – Logical link Control and Adaptation Protocol
**Baseband- eli kantataajuusprotokollan sovittaminen yläpuolella oleviin protokolliin. Segmentoi ja kokoaa Bluetooth-paketit. Multipleksaa datavuot yhdelle yhteydelle. QoS-hallinta.

*RFCOMM (perustuu ETSI-standardiin TS 07.10)
**Emuloi sarjaporttia. RFCOMM:n päällä voi toimia muita protokollia, jotka mahdollistavat esimerkiksi käyntikorttien välityksen Bluetoothin yli.

*Bluetooth network encapsulation protocol (BNEP)
**Verkkopakettien lähetys Bluetoothin yli. 

*Telephony control protocol (TCS): puhelinkontrolliprotokolla
*Audio/video control transport protocol (AVCTP)
*Audio/video data transport protocol (AVDTP)
*Object exchange (OBEX)
**Yleinen protokolla jolla siirretään binäärisiä objekteja yhteyden yli. Tätä käytetään yleisesti tiedostonsiirrossa, tulostuksessa, puhelinluettelojen siirrossa yms.
*Low Energy Attribute Protocol (ATT)
**SDP:n korvaaja Low Energy Bluetoothille.
*Low Energy Security Manager Protocol (SMP)

## Topologia

Bluetooth perustuu suoraan, nk. *[[PPP (tiedonsiirtoprotokolla)|Point-To-Point]]*-yhteyteen, jossa kaksi laitetta kommunikoivat keskenään. Toinen laitteista on isäntä ja toinen renki. Bluetooth mahdollistaa kahdeksan eri laitteen liittämisen samaan verkkoon. Pienemmissä, enintään kahdeksan laitetta sisältävissä, pikoverkoissa on yksi isäntä ja loput ovat renkejä.  Laitteet muodostavat pikoverkon jo kaksistaan, mutta isäntä voi olla yhteydessä jopa seitsemään renkiin.

Pikoverkot muodostavat hajaverkkoja, kun jokin laite on yhteydessä toiseen pikoverkkoon. Laite voi olla toisessa verkossa joko isäntänä tai renkinä, mutta laite voi kuitenkin keskustella vain yhden laitteen kanssa kerrallaan.

## Profiilit

Bluetooth-profiilit määrittelevät, kuinka Bluetooth-verkkoa käyttävien sovellusten tulee toimia; tarkoituksena on saada eri ohjelmistokehittäjien sovellukset yhteneväisiksi. Eri profiileita on olemassa yli 30 ja standardointivaiheessa on muutama lisää.

GAP () on perusprofiili, jonka päätarkoituksena on kuvata Bluetooth-laitteiden yhteydenpidossa käyttämät proseduurit. Tämä on tietoturvan kannalta tärkein profiili. GAP:in osalta kaikkien Bluetooth-laitteiden tulee olla samanlaisia.

Lähiverkkoyhteysprofiili () kuvaa tapaa, jolla Bluetooth-laite muodostaa yhteyden lähiverkkoon erillisen tukiaseman kautta. 

Advanced Audio Distribution Profile (A2DP) kuvaa kuinka ääntä välitään Bluetoothin yli. A2DP:n pakollisena koodekkina on SBC ja se mahdollistaa vaihtoehtoiset koodekit MP2, MP3, AAC, HE-AAC, ATRAC tai valmistajakohtaiset kuten aptX.*

Headset (HSP) ja Hands-Free (HFP) -profiilit kuvaa tapaa, jolla hallitaan hands-free-toimintoja.

Audio/Video Remote Control Profile (AVRCP) kuvaa TV- tai [[hifi]]-tyylisen laitteiston hallintaa. Tästä profiilista on useita versioita. Ensimmäinen sisälsi toiminnot vain toista/keskeytä/lopeta-tyyppisille toiminnoille. Myöhemmin tähän on lisätty muun muassa metatiedot soivasta kappaleesta ja kappaleiden selausta.

Basic Imaging Profile sisältää toiminnot joilla voidaan siirtää kuvia laitteiden välillä. Se sisältää myös mahdollisuuden ottaa kuva webkamera-tyyppisellä laitteella.

Human Interface Device Profile (HID) sisältää toiminnot [[Hiiri (osoitinlaite)|hiirien]], [[näppäimistö]]jen ja [[joystick]]-tyylisten laitteiden käyttöön.

Phone Book Access Profile mahdollistaa puhelinluetteloiden siirtämisen laitteiden välillä.

Serial Port Profile emuloi [[sarjaportti]]a langattoman yhteyden yli hyödyntäen RFCOMM-protokollaa.

==Tietoturva==
Bluetooth-verkossa tietoturva muodostuu uuden laitteen autentikoinnista sekä siirrettävän tiedon salauksesta. Näiden hallintaan käytetään laitteen MAC-osoitetta, kahta salaista avainta sekä autentikoinnissa muodostettavaa satunnaislukua. Autentikointi perustuu haaste-vaste-menetelmään, joka voidaan suorittaa molempiin suuntiin, näin pienennetään ns. naamioinnin mahdollisuutta. Varsinainen salaus tapahtuu E0-nimisellä jonosalaimella. Kaikki käytettävä salaus on symmetristä.


Bluetooth 2.0 on suhteellisen turvallinen; viimeisimmät ja yleisimmät haittaohjelmat ovat vuodelta 2005. Toistaiseksi virusten asentuminen matkapuhelimeen vaatii levitäkseen käyttäjän toimia eli käyttäjän tarvitsee ensin hyväksyä asennuspyyntö. Suurimmat riskit siis liittyvät käyttäjien toimintaan.

===Mobiilivirukset===

Eräät mobiilivirukset ovat käyttäneet Bluetoothia leviämistienään. Virus lähettää itsestään kopion toisiin puhelimiin, ja käyttäjän pitää tyypillisesti ajaa virus hyväksymällä puhelimen asennuspyyntö.
Virusten leviämisen voi estää kytkemällä Bluetoothin pois tai estämällä sen näkymisen ulkopuolisille laitteille.

==Määrittelyjä==
**'Baseband**
**Bluetooth ''Baseband'' tarkentaa/määrittelee reaaliaikaisen äänen, datan ja Ad Hoc-verkon tiedon käsittelyproseduurit fyysisessä kerroksessa ja ''media access'' -kerroksessa.
***Kuuluvuusalue** ()
**Alue/etäisyys, jonka sisällä Bluetooth-laitteet pystyvät vaihtamaan keskenään viestejä riittävällä varmuudella.
***Majakka''' ()
**Bluetooth LE (low energy):n mahdollistama laite/lähetin, joka kuuluttaa () siihen talletettua tietoa kaikille lähellään oleville liikuteltaville laitteille (tyypillisesti matkapuhelimet, tabletit tai muut Bluetooth LE vastaanottoon kykenevät laitteet). Eräs majakoiden sovelluskohteita ovat kiinnostavat pisteet (), esimerkkinä kauppa, bussipysäkki, huone, huonekalu, tai muu erityishuomion arvoinen kohde. Esimerkiksi HSL on ottanut käyttöön majakoita liikennevälineissä ja pysäkeillä. Niiden avulla on teknisesti mahdollista esimerkiksi ilmoittaa bussin myöhässäolosta sitä odottaville asiakkaalle. Lisäksi majakoita käytetään sisätilapaikannuksessa.

## Lyhenteitä

*ACL – Tahdistamaton ei-kytkentäinen siirtoyhteys
*AT – Commands
*L2CAP – Loogisen linkin kontrolli- ja sovitusprotokolla
*LMP – Yhteydenhallinnan () protokolla peer to peer -kommunikoinnille
*OBEX – Objektien siirtoprotokolla
*RSSI – Vastaanotetun signaalin voimakkuuden tunnistin
*SCO – Synkronoitu/tahdistettu kytkentäinen siirtoyhteys
*WAE – Langaton sovellusympäristö
*WAP – Langattomien sovellusten protokolla (engl. Wireless Application Protocol)

## Lähteet