Wat is Bluetooth?
Wat is Bluetooth?
De geschiedenis van bluetooth begint in 1994, toen Ericsson zocht naar een goedkope manier om via een radioverbinding communicatie tot stand te brengen tussen mobiele telefoons en andere apparaten. Men had zich ten doel gesteld om allerlei kabels tussen mobiele telefoons en pc-cards, koptelefoons, desktopapparaten et cetera overbodig te maken. Naarmate het onderzoek vorderde, werd het de onderzoekers duidelijk dat de toepassingsmogelijkheden voor een dergelijke korte-afstandsradioverbinding legio waren.
De techniek zelf is ontwikkeld door de Nederlander Jaap Haartsen die bij Ericsson in dienst was in Emmen. De naam bluetooth verwijst naar de Vikingenkoning Harald Blauwtand (Harald Blåtand) die het christendom in Scandinavië introduceerde. Het was oorspronkelijk de werknaam van het project, maar bij gebrek aan een betere naam is het ook de definitieve naam geworden.
Voor de ontwikkeling en het ‘in de markt zetten’ van de bluetooth-techniek is in 1998 besloten tot het oprichten van de ‘Bluetooth Special Interest Group’ (SIG), waarbij zich al gauw vrijwel alle grote elektronicabedrijven, software-ontwikkelaars en telecombedrijven aansloten (onder meer Palm, Ericsson, IBM, Intel, Lucent Technologies, Apple, Microsoft, Motorola, Nokia en Toshiba). Bluetooth moest vrij van royalty’s worden en geheel ‘open’.
Voor bluetooth is een frequentie uitgezocht die ook wereldwijd beschikbaar is. De 2,4GHz-band was met name voor Spanje, Japan en Frankrijk aanvankelijk een probleem, in Frankrijk was deze al in gebruik voor militaire toepassingen, maar sinds 1 januari 2001 staat ook daar deze frequentie voor bluetooth ter beschikking. De frequentie is vrij en wordt ook gebruikt voor babyfoons, afstandsbedieningen van garagedeuren, draadloze telefoons, magnetrons en wifi-toepassingen. De eerste versie is versie 1.0 en had nog last van “kinderziektes” (hij was storingsgevoelig), daarom kwam al snel versie 1.1 die op vele punten was verbeterd.
De techiek
Bluetooth is een radioverbinding (in de 2,4GHz-band, dit is in het frequentiegebied van UHF) voor spraak en data op korte afstand. Het werkt ‘point to multipoint’, hetgeen inhoudt dat een enkele bron meer ‘ontvangers’ kan bedienen. Wanneer twee bluetoothapparaten een verbinding hebben opgebouwd, dan ontstaat een zogenoemd piconet. Er kunnen op dezelfde plek meerdere van dergelijke piconets naast elkaar bestaan, in wat men een scatternet noemt. Binnen een piconet ondersteunt bluetooth maximaal acht actieve verschillende apparaten, terwijl er in totaal 127 apparaten een verbinding kunnen houden (deze zijn tijdelijk ‘geparkeerd’).
Normaal gesproken zal het binnen een straal van 1 tot 10 meter functioneren, maar wanneer het zendvermogen wordt opgevoerd, kan de 100 meter worden gehaald. Een zogenoemde ‘zichtverbinding’ (elkaar kunnen zien) is niet nodig; dankzij de GHz-radioverbinding dringt het bluetoothsignaal ook door vaste materialen (zolang het geen metaal is).
De communicatie van digitale spraak behoort tot de standaardmogelijkheden van bluetooth. Bluetooth ondersteunt binnen een piconet tot drie gelijktijdige full-duplex-gesprekken.
Omdat bluetooth een vervanger is voor de (korte) kabels, kan het worden gebruikt om allerlei apparaten met elkaar te laten communiceren. De ontwerpers hebben met opzet gebruikgemaakt van een goedkope radiotechniek, zodat bluetooth zonder veel bezwaar in ieder apparaat kan worden ingebouwd. Omdat bluetooth normaal gesproken ook weinig stroom verbruikt (30 microampère in ‘hold mode’ en 8-30 milliampère bij een actieve verbinding), kan het ook worden toegepast in mobiele apparaten die afhankelijk zijn van batterijen.
Vanaf versie 1.2 gebruikt bluetooth frequency hopping, of Adaptive Frequency Hopping (AFH).
Bluetoothapparatuur is verdeeld in 3 verschillende klassen:
- Class 1: Ontworpen voor lange afstandsverbindingen (tot ~100m)
- Class 2: Voor normaal gebruik (tot ~10m)
- Class 3: Voor korte afstanden (10 cm – 1 m)
Bluetooth is bedoeld als protocol om apparaten, die zich op korte afstand van elkaar bevinden, met elkaar te laten communiceren. Omdat niet voor alle toepassingen dezelfde maximale afstand nodig is, zijn er drie klassen gedefinieerd, elk met een ander zendvermogen, energieverbruik en maximale overdrachtsafstand.
Klasse 1 Bluetooth-apparaten hebben een maximaal zendvermogen van 100 milliwatt en een bereik van ongeveer 100 meter. Bij klasse 2 apparaten is de afstand beperkt tot ongeveer tien meter bij een zendvermogen van 2,5 mW. Klasse 3 specificeert een maximum vermogen van 1 mW, wat in de praktijk betekent dat de reikwijdte niet groter is dan een meter of vijf.
Klasse 1 zenders worden voornamelijk toegepast in apparaten waarbij het energieverbruik niet zo belangrijk is. Zo zijn Bluetooth adapters en dongles voor PC’s en laptops vaak uitgerust met een klasse 1 zender, het 100 mW zendvermogen is in verhouding tot het complete energieverbruik van een PC of laptop immers te verwaarlozen. Apparaten waarbij een laag energieverbruik belangrijk is, bijvoorbeeld mobiele telefoons en headsets, gebruiken in de regel klasse 2 zenders, die veel minder energie verbruiken. Klasse drie komen we zelden tegen. De beperkte maximale reikwijdte van vijf meter is in de praktijk vaak nog kleiner, wat al snel problemen oplevert. Apparaten van verschillende klassen kunnen met elkaar communiceren, al geldt dat de maximale afstand beperkt wordt tot het apparaat met het laagste zendvermogen.
Er bestaan ook verschillende bluetoothversies:
- Versie 1: de datasnelheid bedraagt bruto 1 Mbit/s.
Wie begin deze eeuw een telefoon met Bluetooth 1.0 ondersteuning wilde koppelen aan een headset, of data wilde overdragen tussen twee Bluetooth apparaten, kwam vaak van een koude kermis thuis. De eerste Bluetooth-producten bleken vaak niet goed met elkaar te kunnen communiceren, zeker als het om apparaten van verschillende merken ging. Dat probleem werd grotendeels opgelost met de introductie van de Bluetooth 1.1-specificatie in februari 2001, waarbij de manier waarop apparaten met elkaar moeten ‘pairen’ – een partnerverband sluiten om data te kunnen overdragen – veel specifieker werd vastgelegd en timingproblemen tijdens het proces werden verholpen.
Versie 1.1 werd daarmee de eerste versie van Bluetooth die in de praktijk ook echt werkte. Toch kende het protocol belangrijke beperkingen. De maximale theoretische bitrate was 1 Mbit per seconde, wat na aftrek van overhead betekende dat de netto bandbreedte maximaal 0,7 Mbit was. Dit is op zich prima om spraak over te brengen van en naar een headset, maar in de praktijk werd deze bitrate lang niet altijd gehaald, met als resultaat wegvallende verbindingen en missende audio tijdens gesprekken.
- Versie 1.2: deze vernieuwde versie maakt datasnelheid tot 2 Mbit/s mogelijk. Daarnaast verbeterde het spraakkwaliteit en audio-overdracht.
In 2003 zag versie Bluetooth versie 1.2 het levenslicht. De belangrijkste verbeteringen hierbij waren de introductie van frequency hopping en de mogelijkheid om corrupte data opnieuw te verzenden. Omdat de 2,4 GHz band steeds drukker werd, was het noodzakelijk dat verbonden apparaten tijdens het overdragen van data de mogelijkheid kregen om indien nodig over te schakelen naar een andere frequentie, die niet door andere apparaten gebruikt werd. Bij versie 1.1 was dit niet mogelijk, versie 1.2 voorzag hier voor het eerst wél in. De toevoeging van deze ‘adaptive frequency hopping’-mogelijkheid betekende dat de verbinding tussen twee apparaten veel robuuster werd en de steeds populairder wordende WiFi netwerken minder kans op storing gaven. Een tweede belangrijke toevoeging kreeg de naam ‘L2CAP Flow en Error Control’ mee; dit moest ervoor zorgen dat niet goed ontvangen datapakketjes opnieuw verstuurd zouden worden.
- Versie 2: eind 2004 is een nieuwe verbeterde versie van bluetoothstandaard ontwikkeld en goedgekeurd. De belangrijkste kenmerken zijn:
- 3 keer zo hoge datasnelheid
- lager stroomverbruik (wat de levensduur van de batterij verlengt)
- verbeterde foutcorrectie
- verbeterde mogelijkheid verbindingen met meerdere apparaten.
In 2004 werd Bluetooh 2.0 + EDR gelanceerd, waarbij EDR staat voor Enhanced Data Rate. Door andere modulatie werd de beschikbare datasnelheid met een factor drie opgeschroefd van 0,7 naar 2,1 Mbps. Als gevolg van de hogere bitrate heeft een Bluetooth 2.0-apparaat minder tijd nodig om dezelfde hoeveelheid data te verzenden als een 1.2 apparaat, waardoor het energieverbruik aanzienlijk daalt. Naast de hogere datasnelheid is het lagere energieverbruik dan ook het voornaamste voordeel dat Bluetooth versie 2.0 met zich meebracht.
Versie 2.1 werd drie jaar na 2.0 geïntroduceerd en had slechts kleine verbeteringen te bieden. De belangrijkste daarvan was de introductie van Secure Simple Pairing (SSP), dat het koppelen van apparaten gemakkelijker maakte. Bij eerdere versies was het altijd nodig een PIN of (alfa-)numerieke code in te voeren om twee apparaten te koppelen, SSP voegde daar een aantal eenvoudiger varianten aan toen. De eenvoudigste is de ‘Just works’-methode, waarbij een verbindingsverzoek alleen bevestigd hoeft te worden. Een andere methode is ‘numeric comparison’, waarbij op beide apparaten een code in beeld verschijnt. Is deze op beide gelijk, dan zorgt een druk op de OK knop voor verbinding. Een derde nieuwe methode is Out of Band pairing, waarbij de apparaten middels ‘externe sensoren’ informatie uitwisselen en het resultaat hiervan terugkoppelen aan de Bluetooth module. Deze technologie is vooral interessant in combinatie met Near Field Communicatie (NFC) sensoren, die het mogelijk maken om twee Bluetooth apparaten te koppelen door ze simpelweg dicht bij elkaar in de buurt te houden.
- Versie 3: op 21 april 2009 werd een nieuwe versie van bluetooth gepresenteerd. De nieuwe bluetoothversie is weer een stuk sneller en betrouwbaarder en gebruikt wifi (802.11n).
Een inherente beperking van de manier waarop Bluetooth apparaten met elkaar communiceren, is dat dat de datasnelheid relatief laag is. Versie 2.1 zorgde voor een maximale snelheid van 2,1 Mbit. Prima voor het oversturen van voice data, maar bij veeleisende toepassingen schiet het tekort. Versie 3.0 + HS (High Speed) loste dat probleem in 2009 grotendeels op. Om backward compatible te blijven met oudere Bluetooth-versies werd gekozen om de basis gelijk te houden, maar ook de mogelijkheid te bieden om een 802.11 verbinding van maximaal 24 Mbps op te zetten. Dat klinkt als een omslachtige methode om hogere snelheden te realiseren, maar naast het voordeel van compatibiliteit met oudere apparaten biedt het nog een voordeel. Apparaten met ondersteuning voor 3.0 + HS verbruiken standaard even weinig energie als 2.1 varianten, alleen wanneer de extra snelheid écht nodig is, wordt een relatief onzuinige 802.11-verbinding opgezet. Als eindgebruiker heb je hier bovendien geen omkijken naar. Zodra de apparaten gepaired zijn, zoeken ze compleet zelfstandig uit wanneer de extra HS-verbinding nodig is. Bijkomend voordeel van deze versie was, dat het eenvoudig werd voor fabrikanten van WiFi 802.11n modules (bijvoorbeeld voor notebooks) om Bluetooth-functionaliteit toe te voegen. Dat scheelt weer een onderdeel en dus geld.
- Versie 4: op 7 juli 2010 werden de specificaties van deze standaard vastgelegd, waarbij er vooral aan de energiezuinigheid werd gewerkt. Vanaf deze versie zijn bluetoothaccessoires die werken op een knoopcel mogelijk.
Inmiddels zijn we aanbeland bij versie 4.0, waarvan de specificaties medio 2010 zijn afgerond. De belangrijkste toevoeging die versie 4 biedt over 3.0 + HS is ondersteuning voor het nieuwe Bluetooth Low Energy protocol. Hoewel Bluetooth vanaf versie 1.0 bedoeld was om energiezuinig te zijn, is de manier waarop verbindingen met het low energy-protocol worden opgezet compleet veranderd.
Anders dan bij de vorige versies zijn apparaten die met dit nieuwe protocol werken niet per definitie compatible met oudere Bluetooth-apparaten. Zogenaamde ‘single mode’ Bluetooth 4-apparaten kunnen alleen communiceren met andere Bluetooth 4-producten, niet met versie 3 en ouder. Zogenaamde ‘dual-mode’ Bluetooth 4-controllers kunnen dit wel en bieden naast ondersteuning voor de nieuwe low energy-modus, ook de mogelijkheid om in ‘classic Bluetooth mode’ te werken.
Toepassingen
Belangrijke toepassingen zijn het verzenden van bestanden tussen apparaten zoals computers en mobiele telefoons, het zenden van een document of afbeelding van een computer naar een printer, het zenden van toetsaanslagen van een toetsenbord naar een computer, het zenden van een afbeelding van een scanner naar een computer, het zenden van geluid naar een draadloze koptelefoon enzovoort.
Beveiliging
Omdat de radiosignalen kunnen worden opgevangen door alle ontvangers die zich in de buurt van de bluetoothapparaten bevinden, ondersteunt bluetooth in het basisprotocol authenticatie en encryptie. Authenticatie vindt plaats middels een geheime sleutel, die zich op beide apparaten moet bevinden. Het protocol staat het wel toe dat het ene apparaat het andere authenticeert. Na authenticatie is het mogelijk om de verbinding te versleutelen (encryptie).
Als het bluetoothapparaat niet voldoende beveiligd wordt, kan door middel van bluejacking informatie verzonden worden naar het apparaat. Het ongevraagd en dus illegaal lezen van de documenten via bluetooth wordt dan bluesnarfing genoemd. Verder kan een apparaat onbruikbaar worden gemaakt door middel van bluesmacking. Dit is een denial-of-service aanval middels bluetooth. Bluesniffing is het afluisteren van bluetooth-verkeer.
Protocollen
Bluetooth stacks (implementaties) moeten verplicht een aantal protocollen ondersteunen, te weten L2CAP, LMP en SDP. In totaal zijn er vijftien protocollen gedefinieerd, waarvan er vijf van toepassing zijn op de Bluetooth controller binnen een apparaat en tien op de host interface die zorgt voor de communicatie tussen de Bluetooth controller en de rest van het apparaat.
L2CAP
Het verplichte Logical Link Control and Adaptation Protocol definieert de manier waarop verschillende protocollen binnen een Bluetooth stack met elkaar communiceren, bepaalt hoe datapakketjes ingedeeld worden en regelt quality of service. L2CAP communiceert direct met een eventueel aanwezige host controller interface, of bij een geïntegreerd systeem, met de link manager.
LMP
Het Link Management Protocol is direct op de Bluetooth controller geïntegreerd en zorgt voor het opzetten van verbindingen tussen apparaten.
SDP
Nadat een link tussen twee apparaten is opgezet, zorgt het Service Discovery Protocol ervoor dat beide apparaten elkaar vertellen welke protocollen er ondersteund worden, en welke mogelijkheden de verbinding dus biedt. Naast L2CAP en LMP is SDP het derde verplichte protocol in elk Bluetooth apparaat.
HCI
Omdat een Bluetooth chip altijd moet communiceren met een host is de universele Host / Controller Interface bedacht zodat verschillende Bluetooth chips zonder veel problemen met een willekeurige host gekoppeld kunnen worden, waarbij het niet uitmaakt of de host het besturingssysteem van een mobiele telefoon of computer is. HCI zorgt ervoor dat de host niet de exacte specificaties van de controller chip hoeft te kennen. HCI zorgt ervoor dat controller apparaten op gestandaardiseerde methoden data versturen via bijvoorbeeld een USB interface.
RFCOMM
De simpelste manier om het Radio Frequency COMMunication protocol te omschrijven is dat het een draadloze variant is van de aloude seriele RS-232 poort. Vrijwel alle Bluetooth apparaten ondersteunen RFCOMM en wie ooit heeft geprobeerd om bijvoorbeeld een Bleutooth GPS ontvanger aan een telefoon te koppelen zal ongetwijfeld gezien hebben dat hierbij vaak een seriële poort gekozen moet worden om data tussen de twee apparaten uit te wisselen.
AVCTP en AVDTP
Deze twee standaarden waarvan de afkortingen staat voor Audio Video Control Transport Protcol en Audio Video Data Transport Protocol worden gebruikt om commando’s voor het afspelen van muziek te versturen, danwel om daadwerkelijk de muziekdata over te zenden.
OBEX
Het laatste protocol dat we uitlichten draagt de nogal algemeen klinkende naam OBject Exchange. OBEX wordt ook gebruikt bij infrarood IRDA verbindingen en wordt zoals de naam doet vermoeden, gebruikt om digitale objecten te versturen. In de praktijk moet je daarbij denken aan het versturen van visitekaartjes, het direct oversturen van files en het benaderen van een adressenboek in een ander Bluetooth apparaat.
Overige protocollen (ENG)
ACL (Asynchronous Connection-Less [logical transport])
The normal type of radio link used for general data packets using a polling TDMA scheme to arbitrate access. It can carry packets of several types, which are distinguished by:
- length (1, 3, or 5 time slots depending on required payload size)
- Forward error correction (optionally reducing the data rate in favour of reliability)
- modulation (Enhanced Data Rate packets allow up to triple data rate by using a different RF modulation for the payload)
A connection must be explicitly set up and accepted between two devices before packets can be transferred.
ACL packets are retransmitted automatically if unacknowledged, allowing for correction of a radio link that is subject to interference. For isochronous data, the number of retransmissions can be limited by a flush timeout; but without using L2PLAY retransmission and flow control mode or EL2CAP, a higher layer must handle the packet loss.
ACL links are disconnected if there is nothing received for the supervision timeout period; the default timeout is 20 seconds, but this may be modified by the maste
SCO (Synchronous connection-oriented link)
The type of radio link used for voice data. An SCO link is a set of reserved timeslots on an existing ACL link. Each device transmits encoded voice data in the reserved timeslot. There are no retransmissions, but forward error correction can be optionally applied. SCO packets may be sent every 1, 2 or 3 timeslots.
Enhanced SCO (eSCO) links allow greater flexibility in setting up links: they may use retransmissions to achieve reliability, allow a wider variety of packet types, and greater intervals between packets than SCO, thus increasing radio availability for other link.
LE LL (Low Energy Link Layer)
This is the LMP equivalent for Bluetooth Low Energy (LE), but is simpler. It is implemented on the controller and manages advertisement, scanning, connection and security from a low-level, close to the hardware point of view from Bluetooth perspective.
BNEP (Bluetooth network encapsulation protocol)
BNEP is used for delivering network packets on top of L2CAP. This protocol is used by the personal area networking (PAN) profile. BNEP performs a similar function to Subnetwork Access Protocol (SNAP) in Wireless LAN.
In the protocol stack, BNEP is bound to L2CAP
TCP (Telephony control protocol)
Also referred to as telephony control protocol specification binary (TCS binary)
Used to set up and control speech and data calls between Bluetooth devices. The protocol is based on the ITU-T standard Q.931, with the provisions of Annex D applied, making only the minimum changes necessary for Bluetooth.
TCP is used by the intercom (ICP) and cordless telephony (CTP) profiles.
ATT (Low Energy Attribute Protocol)
Similar in scope to SDP but specially adapted and simplified for Low Energy Bluetooth. It allows a client to read and/or write certain attributes exposed by the server in a non-complex, low-power friendly manner.
In the protocol stack, ATT is bound to L2CAP.
SMP (Low Energy Security Manager Protocol)
This is used by Bluetooth Low Energy Implementations for pairing and transport specific key distribution.
In the protocol stack, SMP is bound to L2CAP.
Bronnen: Wikipedia / hardware.info