Princip, standardy a další informace týkající se technologie Bluetooth
Technologie Bluetooth se stala tak oblíbenou jako málokterá jiná. Zřejmě nebudeme daleko od pravdy, když budeme tvrdit, že si udrží svoji pozici, i když se v blízké budoucnosti objeví nové technologie jako například WUSB. Stále totiž zůstane nejvíce rozšířenou technologií používanou pro bezdrátový přenos dat na krátké vzdálenosti. V tomto článku vám prozradíme, jak tato technologie vlastně funguje.
axel sikora
Technologie Bluetooth se poprvé objevila v roce 1999 a prakticky okamžitě získala oblibu nejen u běžných uživatelů, ale i v mnoha průmyslově nasazovaných aplikacích. Podle odhadů se během deseti let vyrobilo více než 1,5 miliardy čipů Bluetooth.
V současnosti se skupina Bluetooth Special Interest Group (Bluetooth SIG nebo také BSIG) snaží prostřednictvím četných aktualizací a rozšíření standardu zajistit této technologii slušné umístění při prosazování se mezi všemi možnými bezdrátovými konkurenty.
V tomto článku se budeme postupně věnovat jednotlivým komponentám této technologie a jejím perspektivám. V dalším díle se pak budeme věnovat vlastní komunikaci a zabezpečení dat.
Pohled do zákulisí a na standardy technologie Bluetooth
Úplné počátky technologie Bluetooth spadají už do roku 1994, kdy divize Mobile Communications Division firmy Ericsson zadala k vypracování studii realizovatelnosti náhrady univerzálního kabelového propojení dvou mobilních telefonů, popřípadě mobilního telefonu s jinými zařízeními. Poté byla začátkem roku 1998 založena pěti firmami – IBM, Toshiba, Intel, Ericsson a Nokia – skupina Bluetooth Special Interest Group (BSIG). Cílem této skupiny bylo vytvořit univerzální standard pro tzv. Wireless Personal Area Networks (WPAN). První hotovou specifikaci pak BSIG uveřejnilo ve verzi 1.0a v červenci roku 1999.
Poměrně úzký kruh zakladatelů BSIG byl brzy nato v rámci propagace rozšířen o firmy 3Com, Lucent, Microsoft a Motorola. Dnes již má skupina BSIG více než 10 000 členů.
Název technologie je odvozen ze jména dánského krále Haralda I. Blaatanda („Modrozuba“), který vládl v letech 940 až 981, přivedl do země křesťanství a sjednotil Dánsko s Norskem. Samotný název Blaatand pak pochází ze slova „bl?“, což v češtině znamená „modrý“ a slova „tan“, které v tomto případně označuje krále nebo vůdce.
Jednotlivé verze a časový vývoj technologie Bluetooth
Technologie Bluetooth se od svého objevení samozřejmě vyvíjela, časem se objevovaly různé verze a rovněž docházelo k doplňování standardu Bluetooth. Ty nejdůležitější kroky týkající se standardu jádra (Core Standard) nyní uvádíme v podobě technického popisu:
První verze 1.0a se objevila v červenci 1999, verze 1.0b se objevila ještě v prosinci téhož roku.
Od února 2001 existuje standard ve verzi 1.1. Představoval první solidní základ pro první komerčně prodávané produkty – předchozí verze trpěly řadou nepřesností a chyb. Objevovaly se především problémy s kompatibilitou, čistou implementací pikosítí a jednoznačným přiřazení rolí Master či Slave.
V listopadu roku 2003 se objevila verze 1.2, která představovala od základu přepracovanou specifikaci. Architektura Bluetooth byla definována naprosto transparentně a rozšířila se o možnost rychlého vytvoření připojení (Fast Connection Setup). Vývojáři vybavili Bluetooth technologií Adaptive Frequency Hopping (AFHSS) a povolili vylepšenou kvalitu hovoru v rámci připojení Extended SCO.
Současný standard pochází z roku 2004 a představuje specifikaci ve verzi 2.0. Novinkou je rozšíření Enhanced Data Rate (EDR), jež umožňuje dosáhnout přenosové rychlosti až 2,2 Mbit/s. Ve většině zařízení je dnes implementováno Bluetooth právě ve verzi 2.0+EDR.
V červenci 2007 byla zveřejněna verze standardu s označením 2.1+EDR, která mimo jiné přináší podporu pro Near Field Communications a umožňuje i rychlejší párování zařízení. Bohužel ještě v srpnu roku 2008 byl tento standard implementován v minimálním počtu zařízení.
Bluetooth ve verzi 3.0 nese název Seattle a má používat technologii Ultra Wide Band. Díky ní by například měla přenosová rychlost dosáhnout až 480 Mbit/s. Nicméně pro tuto specifikaci ještě není stanoven žádný časový horizont.
Další vývoj technologie Blue-tooth se bude ubírat směrem k vyšším přenosovým rychlostem a bezztrátovým přenosům.
V rámci WiBree, popřípadě Ultra Low Power (ULP) Bluetooth má vzniknout energeticky úsporná varianta bezdrátového připojení, která najde využití v senzorech u automatizovaných zařízení určených pro spotřebitele a domácnosti. Výrazná přednost nasazení v této oblasti je podle strategie Bluetooth dána tím, že zařízení jako jsou mobilní telefony nebo PDA, které beztoho poskytují implementaci Bluetooth, mohou použít další části pro napojení jednodušších senzorů.
Skupina BSIG v březnu roku 2006 rozhodla, že použije variantu OFDM-UWB od WiMedia Alliance jako vysokorychlostní Wireless USB.
Na kongresu Mobile World Congress v únoru 2008 v Barceloně však skupina BSIG oznámila, že v budoucnu mají být pro vysokorychlostní přenos dat pomocí technologie Bluetooth použity i protokoly Wi-Fi podle IEEE 802.11, a to jako alternativa k implementacím MAC/PHY. Toto oznámení vyvolalo všeobecný úžas a živě se o něm nyní diskutuje, zejména o tom, jaké důsledky by toto rozhodnutí mohlo mít do budoucna.
Ve výše uvedeném seznamu jsme se nezmínili o pokrocích v oblasti aplikačních protokolů. Právě v této oblasti je jich v současnosti k dispozici celá řada.
Struktura protokolu
Popis komunikačního protokolu technologie Bluetooth v sobě zahrnuje všechny úrovně vrstev protokolu. Nad přenosovými službami čisté bezdrátové sítě jasně převažují nejen třeba řídící protokoly pro vytvoření sítě typu Ad-hoc, ale i komponenty pro přenos isochronních přenosových proudů. Bluetooth představuje úplný bezdrátový systém, jenž záměrně předpokládá existenci aplikačních protokolů. Soubor protokolů neobsahuje pouze protokoly typické pro Bluetooth, ale využívá i protokoly vyskytující se ve vyšších aplikačních vrstvách. Typickým příkladem je kupříkladu transportní a aplikační protokol z rodiny protokolů TCP/IP.
Když se zamyslíme nad rozsáhlostí všech komponent protokolu, ukazuje se, že stanice Bluetooth v kompletním provedení dosahuje takové úrovně složitosti, jež odporuje požadovaným jednoduchým a cenově výhodně realizovatelným řešením. Namísto úplné a nákladné implementace mohou výrobci do zařízení integrovat pouze ty nejnutnější součásti. Nezbytností jsou pouze protokoly jádra, které musí být součástí každé stanice. Častým problémem pak je fakt, že tímto neúplným řešením není vždy zaručena interoperabilita zařízení. Řešení se nazývá Service Discovery Protocol (SDP), což jeden z dalších, tentokrát povinných protokolů. V praxi pak vede tento stav k tomu, že se většina aplikací na druhé straně vlastní skupiny protokolů Bluetooth realizuje prostřednictvím sériového portu RFComm.
Specifikace Bluetooth obsahuje díky Host Controller Interface (HCI) i příkazové rozhraní k Baseband Controller, Link Manager, registrům příkazů a příkazům pro stav hardwaru. Umístění HCI lze upravit. Následující obrázek ukazuje typický případ, který můžeme ztotožnit například s rozhraním TCP Socket. Spodní tři vrstvy se často označují jako Bluetooth Controller. Na obrázku je vidíte včetně signálů.
Pro standardizaci technologie Bluetooth byl vytvořen nový orgán. Ten dospěl k tomu, že tak úplně nebral ohled na konformitu s vrstvami již rozšířených referenčních modelů OSI či TCP/IP. O zařazení do jiných rodin standardů, například standardů typu IEEE 802. X, například usilovalo IEEE, nicméně na základě předchozích bodů by se toto zařazení mohlo provést pouze po velmi rozsáhlých úpravách. Speciálně se standardem WPAN IEEE 802.15.1 byl předložen jazykově upravený popis fyzické vrstvy a vrstvy Baseband.
Fyzická vrstva – metoda kmitočtových skoků
Standard Bluetooth využívá podobně jako řada jiných bezdrátových systémů prakticky v celém světě nelicencované pásmo ISM o frekvenci 2,4 GHz. Vzhledem k tomu, že je velká pravděpodobnost vysokého obsazení kanálů (Duty Cycle), je nutno přesně podle předpisů regulačních úřadů používat metodu, při níž se signál s menší šířkou pásma převádí na signál s větší šířkou pásma. Bluetooth k tomu účelu používá metodu kmitočtových skoků rozprostřeného spektra (Frequency Hopping Spread Spectrum – FHSS).
V již existující pikosíti zadává pořadí frekvencí Master a poté se pokračuje v pseudonáhodném pořadí, jež se počítá podle relativně složitých pravidel z adresy zařízení Master a podle stavu jeho hodin – tím je zajištěno, že v každé pikosíti budou jiné hodnoty frekvencí. Tímto způsobem se má zajistit provoz co možná největšího počtu navzájem nezávislých pikosítí s vyšší prostorovou hustotou.
Způsob výpočtu frekvence je vidět na následujících dvou obrázcích. Vypočtené frekvence ve své podstatě závisí na 28bitové hodnotě Master Clock CLK a také na dolních 28 bitech 48bitové MAC adresy zařízení Bluetooth. Pro výpočet frekvence se uplatňují i další – zde neuvedené – metody, třeba v bloku PERM5, jež vedou k co možná nejlepšímu rozdělení vybraných frekvencí.
Při výběru frekvencí se samozřejmě musí brát ohled i na místní pravidla a omezení. Nejedná se nic složitého, protože se na světě rozlišuje v podstatě mezi dvěma režimy – první režim se 79 kmitočtovými skoky se používá v severní Americe a v Evropě, druhý režim se 32 kmitočtovými skoky najdete v Japonsku – dříve se používal i ve Francii a Španělsku.
U metody kmitočtových skoků se používá rychlost 1 600 skoků za sekundu. Navíc Master poskytuje zařízením Slave připojeným v pikosíti časovou prodlevu 625 µs a platí, že přenos od všech členů pikosítě se může zahájit pouze na začátku této prodlevy. Tyto prodlevy jsou počítány v závislosti na hodinách zařízení Master v rozsahu od 0 do 227-1, takže například časový cyklus počítání má například hodnotu 23 h.
Pro podporu obousměrného provozu se používá metoda Time Division Duplex (TDD), při níž smí Master zahájit přenos pouze na začátku sudé časové prodlevy a zařízení Slave pouze na začátku liché prodlevy, což je ostatně vidět na následujícím obrázku.
Na tomto základním kmitočtu se pak pomocí metody GFSK (Gaussian Frequency Shift Keying) modulují užitné informace. Jedničky se interpretují jako kladné odchylky a nuly jako záporné odchylky od nosné frekvence. Rozdíl mezi těmito frekvencemi by pak měl být alespoň 115 kHz. Součin šířky pásma a času by pak měl být 0,5 a index modulace by měl nabývat hodnot v intervalu 0,28 až 0,35.
Přizpůsobitelnost v metodě kmitočtových skoků
Pásmo o kmitočtu 2,4 GHz se označuje zkratkou ISM a jedná se o pásmo vyhrazené pro průmyslové (industrial), vědecké (scientific) a lékařské (medical) aplikace. Vysílací systémy používající pásma ISM sice musí dodržovat určitá regulační opatření, jinak však nejsou, co se týče implementace různých druhů modulací, rámcových formátů či použití, nijak omezována.
Jedním z problémů je ale společná existence více systémů stejné rodiny protokolů, ale nejen to, možná ještě významnější je otázka koexistence mezi systémy s různými rodinami protokolů. Problematika koexistence je předmětem četných výzkumů. U organizace IEEE dokonce byla zřízena samostatná pracovní skupina 802.2, která vypracovala a v roce 2003 zveřejnila možnosti řešení (Recommended Practices) pro koexistenci IEEE 802.11 a (WLAN) a Bluetooth. Analýzy provedené touto skupinou rozhodně stojí za přečtení, ale bohužel jsou v nich uvedené údaje příliš obecné. Skupina totiž kvůli tlaku průmyslových firem nemohla vypracovat žádné schopnější kooperativní řešení, takže se musela omezit pouze na analýzy.
Během roku se však objevily dva aspekty, které vedly ke změně stavu. Prvním aspektem bylo vyostření problematiky koexistence v praxi, jež nastalo kvůli narůstajícímu obsazování pásma 2,4 GHz. Druhým aspektem pak byly předpisy regulačních norem, týkající se minimálního počtu použitelných frekvencí při používání metody kmitočtových skoků, kdy byl minimální počet frekvencí v pásmu 2,4 GHz snížen na 15.
Na základě tohoto rozhodnutí byla v roce 2003 metoda kmitočtových skoků ve verzi 2.0 standardu Bluetooth rozšířena o adaptivní součást AFH (adaptive frequency hopping). Přitom však bylo pouze stanoveno, že Master smí v pikobuňce zadávat zařízením Slave používané nebo nepoužívané frekvence. Na příslušné implementaci pak zůstává, na jakém základě se toto rozhodnutí bude provádět. Kromě toho se samotný předpis pro kmitočtové skoky nijak nemění a na konkrétní frekvence se upravuje funkce zobrazení. Konkrétní nasazení AFH se u technologie Bluetooth skládá ze čtyř částí:
Komponenta Channel Clasification vyhodnocuje jednotlivé frekvence v závislosti na jejich zatížení.
Příslušné informace AFH pak na všechny uzly v síti Bluetooth rozděluje Link Management (LM).
Jednotlivé kanály se selektivně redukují pomocí Hop Sequence Modification.
Za opakované hodnocení kvality kanálu zodpovídá Channel Maintenance.
Výsledky testů dokazují, že algoritmus AFH v koexistenčních situacích přináší 30procentní nárůst výkonu u technologie Bluetooth a 80procentní nárůst výkonu u sítí WLAN. Tyto údaje odpovídají kupříkladu i výsledkům simulací provedených u jiných metod kmitočtových skoků.
Data Link Layer
Na úrovni Data Link Layer (linkové vrstvy) se především popisuje základní topologie sítě, přístupové mechanizmy a adresování. V protokolu Bluetooth jsou všechny tyto záležitosti součástí následujících dvou podvrstev:
Link Management Protocol (LMP): LMP provádí všechny operace týkající se správy sítě. Jedná se zejména o navázání spojení mezi stanicemi, ověření, šifrování a také nastavení úsporného režimu a stavu zařízení v pikosíti.
Logical Link Control and Adaptation Protocol (L2CAP): Protokol L2CAP propojuje protokoly vyšších vrstev s operacemi prováděnými na vrstvě Baseband. Lze jej svým způsobem paralelně přiřadit k LMP, neboť L2CAP přebírá přenos dat. L2CAP poskytuje také služby pro spojované a nespojované přenosy, sám však přistupuje pouze k nespojovaným asymetrickým přenosům ACL protokolu Baseband.
Síť Bluetooth je postavena na principu Master-Slave, kde Master řídí tok dat. Tímto způsobem se realizují jednoduché izochronní datové toky, například v rámci zvukových modulů. V podstatě se rozlišují následující typy sítí Bluetooth (viz následující obrázek):
Pokud je v síti pouze Master, jedná se o pikosíť.
Pokud se jedná o síť, kde je navzájem propojen Master s jedním zařízením Slave a jedná-li se o připojení typu bod-bod (Point-to-Point), je síť v režimu Mono Slave.
Master se však může dostat i do režimu Multi Slave, a to připojením až k sedmi aktivním zařízením Slave pomocí připojení bod-multibod (Point-to-Multipoint), přičemž další zařízení Slave se mohou účastnit pasivně v „zaparkovaném“ režimu.
Spojením několika pikosítí vzniká tzv. scatternet. Vzhledem k tomu, že v každé pikosíti je právě jeden Master, je v režimu scatternet Masterů několik. Libovolná stanice může být v libovolné pikosíti nastavena jako Slave a v tomto režimu v dané pikosíti pracovat. Z tohoto tvrzení také vyplývá, že zařízení, které je v jedné pikosíti jako Master, může být v jiné pikosíti zařízením Slave.
Sítě scatternet se v dnešních aplikacích rodin protokolů Bluetooth neprosadily. To samé platí i pro řadu směrovacích algoritmů, jež byly vyvinuty pro správu rozsáhlejších sítí. V takové pikosíti probíhá veškerá komunikace přes zařízení Master. Toto zařízení Master dává, jak již bylo uvedeno výše, všem zařízením Slave v pikosíti časovou prodlevu 625 µs, přičemž přenos od všech zařízení sítě se smí zahájit pouze na začátku této prodlevy.
Na sebe navazující pakety se přenášejí na různých frekvencích. V normálním režimu se na začátku každé nové prodlevy provede kmitočtový skok. Při přenosu paketů, které zaberou tři až pět takových prodlev, se však kmitočet nemění až do okamžiku, kdy nedojde k přenosu celého paketu. Následující paket se už pak posílá na frekvenci, jež opět odpovídá stavu hodin.
Adresování a přihlašování
U zařízení Bluetooth se používají 48bitové adresy standardu IEEE. Tyto adresy slouží jak k jednoznačné identifikaci zařízení při přihlašování do sítě, tak v případě zařízení Master k výpočtu sekvence skoků.
Po přihlášení do sítě získají všechna aktivní zařízení Slave krátkou tříbitovou adresu (tzv. active member address, AM_ADDR), kterou používají pro komunikaci v pikosíti. Vzhledem k nepatrné velikosti adresy je takto zároveň počet zařízení, které se mohou do sítě připojit, omezen na sedm.
Při přihlašování do pikosítě se provádí řada kroků. Proces přihlašování nějakou dobu trvá už jen kvůli tomu, že se musí zařízení Slave synchronizovat na kmitočtové skoky zařízení Master. Proces synchronizace se skládá ze dvou fází:
V první fázi se provádí vyhledávání všech dostupných stanic, které se nacházejí v dosahu signálu a samozřejmě se zjišťuje, jaké jsou jejich adresy a stavy hodin.
Ve druhé fázi probíhá proces kontaktování, který slouží k vlastnímu navázání spojení.
Aby bylo možné navázat spontánní spojení (ad-hoc), vysílá každá zapnutá stanice v pravidelných intervalech do okolí průzkumné zprávy (inquiry) a vždy mezi odesláním dvou těchto průzkumných zpráv na daném kanálu naslouchá jiným stanicím.
Synchronní komunikace
Standard Bluetooth obsahuje v dosavadních verzích dva základní způsoby komunikace, jež se používají pro různé způsoby komunikace – viz obrázek.
Synchronní spojovaná komunikace (Synchronous Connection Oriented Link – SCO) realizuje symetrickou komunikaci typu bod-bod, a to mezi zařízením Master a přesně jedním zařízením Slave. Z hlediska funkčnosti SCO odpovídá přenosu zprostředkovávajícímu vedení, protože zařízení Master v pravidelných intervalech rezervuje časové prodlevy. To znamená, že Master posílá na zařízení Slave data v zadaných časových prodlevách, přičemž Slave má právo odeslat svoje data v následující časové prodlevě. Master může provozovat až tři připojení SCO, a to buď k jednomu, nebo více zařízením Slave. Zařízení Slave zase ze svého pohledu podporuje maximálně tři připojení SCO s jedním zařízením Master nebo maximálně dvě připojení k různým zařízením Master.
Připojení SCO jsou přímo dimenzována na hlasové přenosy. Zároveň má velký význam i to, že je při hlasovém přenosu datová ztráta v určitém rozsahu málo kritická, na rozdíl o zpoždění informací. Z tohoto důvodu se při připojení SCO neprovádí žádná kontrola integrity dat. Pokud se při přenosu nějaká data ztratí, žádné jejich nové zaslání se neprovádí – to by totiž mohlo způsobit zpoždění následujících hlasových informací.
Aby se i při zhoršených přenosových podmínkách omezilo množství chyb při přenosu na snesitelnou úroveň, používá se při tomto způsobu přenosu oprava chyb, tzv. Forward Error Connection (FEC). Vzhledem k tomu, že metoda FEC vkládá do proudu dat další redundanci, dá se tímto způsobem porovnat kvalita přenosu vzhledem k čisté datové rychlosti.
Asynchronní komunikace
Asynchronní nespojovaná komunikace (Asynchronous Connectionless Link – ACL) se naproti tomu používá pro vytvoření spojení mezi zařízením Master a jedním nebo více zařízeními Slave pouze tehdy, když není kanál rezervován pro přenos SCO. Připojení ACL odpovídá přenosu dat pomocí paketů. Mezi zařízením Master a jedním zařízením Slave lze v jednom okamžiku vytvořit pouze jedno spojení ACL. V rámci připojení ACL však může Master posílat pakety i na všechna zařízení Slave ve své pikosíti, a to tehdy, pokud nezadá žádnou adresu příjemce – pro tento způsob rozesílání paketů se používá výraz broadcast. Broadcast však nelze použít při vysílání zařízení Slave.
Připojení ACL jsou oproti připojení SCO dimenzována pro efektivnější přenosy dat. Při přenosu je případné zpoždění vedlejší, hlavní důraz se klade na integritu dat. Kvůli tomu se v rámci připojení ACL případně znovu vysílají ta data, které nedorazila vůbec, nebo dorazila poškozená.
Při každém způsobu připojení se používají různé pakety, jež se mají posílat. Najdete je na následujícím obrázku včetně uvedení jejich nejdůležitějších vlastností.
Obecné typy paketů: Pro symetrická i asymetrická připojení jsou k dispozici obecné typy paketů včetně paketů s ID, NULL, POLL a FHS. Tyto všechny typy paketů slouží zejména ke správě účastnických stanic.
Pakety DM přenáší data střední rychlostí (Data Medium Rate). Podobně jako u následujících druhů paketů i zde reprezentují číslice 1, 3 nebo 5 počty časových prodlev, které daný paket vyžaduje, paket DM1 se posílá v obou typech připojení (SCO i ACL) a představuje základní prvek spojení.
Existuje však i možnost přenášet ladící informace během synchronního připojení.
Pakety DH přenášejí data vyšší rychlostí (Data High Rate). Od paketů DM se liší pouze nepřítomností redundantních dat FEC.
Pakety HV jsou určeny pro přenos hlasu (High Quality Voice) a při využívání dalších synchronních a transparentních služeb.
Pakety DV se skládají z datové a hlasové části (Data Voice Combined). Obě součásti jsou však zpracovávány nezávisle. Toto se týká i ošetření chyb kódováním a přenosu redundantních údajů.
Tímto končí první část naší série věnovaná technologii Bluetooth. V následující druhé části se budeme podrobněji věnovat zabezpečení a vlastní komunikaci zařízení.