Bezprzewodowe sieci LAN Wprowadzenie do sieci PAN - Bluetooth Józef Woźniak Katedra Teleinformatyki, WETI PG
Wizja Personal Area Network Home Area Network
Bluetooth standard komunikacji radiowej urządze dzeń przenośnych nych eliminacja okablowania i transmisji w medium podczerwonym mobilność urządzeń niski koszt układu (ok. 5 USD, pojedynczy układ scalony) mały rozmiar układu (ok. 1cm x 1 cm) niski pobór prądu (od ok. 35 ma) transmisja danych i dźwięku dynamiczna konfiguracja sieci (ad-hoc) duŝa liczba sieci na małym obszarze transmisja małego zasięgu (ok. 10m) globalna współpraca urządzeń
Eliminacja okablowania
Nazwa Bluetooth Harald Blåtand Bluetooth Król Danii X w. (norw.) ble o ciemnej karnacji (norw.) tan wielki człowiek Na kamieniu runicznym w stolicy państwa Bluetootha Jelling napisano: Harald ochrzcił Danię Harald panował nad Danią i Norwegią Harald uwaŝa, Ŝe komputery przenośne i telefony komórkowe powinny się ze sobą komunikować
Pochodzenie standardu 1994 laboratoria Ericsson 1998 Bluetooth Special Interest Group (SIG) Promoter Group: Ericsson, IBM, Intel, Nokia, Toshiba + 3Com, Lucent/Agere, Microsoft, Motorola Associate/Adopter Groups ok. 3000 członków brak opłat członkowskich dla grupy Adopter brak opłat licencyjnych (warunkiem zgodność urządzeń ze specyfikacją Bluetooth Qualification Program) publiczne udostępnienie specyfikacji
Bluetooth
BLUETOOTH
Komunikacja w BLUETOOTH nadzorowana jest przez jedno z komunikujących się urządzeń, działające jako stacja nadrzędna (ang. master). Inne urządzenia (mogące potencjalnie przejąć funkcje stacji nadrzędnej) określane są jako stacje podrzędne (ang. slave). zasięg do 10 m obsługa ruchu synchronicznego bądź izosynchronicznego praca w nielicencjonowanym paśmie ISM (ang. Industrial- Scientific-Medical band) o częstotliwości 2,45 GHz wykorzystujące kanały o szerokości 80MHz kanały łączności wydzielone są przy tym z wykorzystaniem metody rozpraszania widma ze skakaniem po częstotliwościach FH SS Dwa lub więcej urządzeń wykorzystujących ten sam kanał tworzą pikosieć (ang. piconet)
Obszary zastosowań (1) W domu, w biurze...
Obszary zastosowań (2) W podróŝy...
zasięg ok.10m Personal Operating Space (POS) Obszary zastosowań (3) Sieci osobiste......a takŝe: zdalny dostęp do informacji, dokonywanie rezerwacji i opłat w punktach handlowych i informacyjnych lokalizacja urządzeń i ich właścicieli zdalne sterowanie i kontrola urządzeń, np. RTV i AGD i wiele innych Zastosowania Bluetooth standaryzowane są w tzw. profilach
Obszary zastosowań (4) W przyszłości być moŝe e sieci domowe... Wymagania: > 20 Mbit/s wsparcie QoS
Architektura protokołów w Bluetooth 1.1 moduł programowy Bluetooth Host moduł sprzętowy Bluetooth Host Controller
Architektura protokołów w Bluetooth 1.1 Radio, Baseband, LMP, L2CAP zapewniają niezawodne połączenia warstwy drugiej modelu ISO/OSI SDP Service Discovery Protocol protokół przekazywania informacji o usługach realizowanych przez urządzenia w ramach profili Bluetooth RFCOMM protokół emulacji portów szeregowych RS-232 w połączeniu Bluetooth OBEX IrDA OBject EXchange protokół warstwy sesji słuŝący do realizacji obiektowej wymiany danych TCS BIN Telephony Control protocol Specification Binary protokół słuŝący do sterowania połączeniami telefonicznymi Audio warstwa realizująca wymianę danych dźwiękowych między warstwą Baseband a aplikacjami Host Controller Interface interfejs RS-232, UART, USB, PC-Card lub inny
Bluetooth Radio pasmo radiowe Industrial, Scientific, Medicine (ISM) 2,4 GHz technika modulacji Frequency Hopping Spread Spectrum (FHSS) 79 kanałów o szerokości 1 MHz 1600 przeskoków częstotliwości w ciągu sekundy modulacja binarna GFSK nominalna prędkość transmisji 1 Mbit/s moc nadajnika (zasięg): 1mW (10cm), 2,5mW (10m), 100mW (100m) Zalety i wady techniki modulacji FHSS: + mała waga, rozmiar, koszt, pobór energii układu radiowego + współdzielenie pasma przez wiele sieci (Bluetooth ok.30) + odporność na silne zakłócenia części pasma i podsłuchiwanie transmisji - niska wydajność i zasięg transmisji - długotrwałe nawiązywanie połączeń - generowanie silnych zakłóceń
Bluetooth Baseband Warstwa realizująca część funkcji warstwy fizycznej i podwarstwy dostępu do medium warstwy łącza danych modelu ISO/OSI nawiązywanie połączeń fizycznych organizacja kanału fizycznego organizacja dostępu do medium mechanizmy niezawodnej transmisji zabezpieczenia kryptograficzne ograniczone zapewnianie poziomu jakości usług Protokołem komunikacyjnym słuŝącym do konfiguracji połączeń warstwy Baseband jest protokół Link Manager Protocol (LMP)
Bluetooth Baseband Topologia sieci Topologia gwiaździsta pikosieć (piconet) pojedyncze urządzenie nadrzędne nadzorujące transmisję master do 7 aktywnych urządzeń podrzędnych slave komunikacja tylko punktpunkt i punkt-wielopunkt master-slave, slavemaster i master-slaves
Topologie sieci BLUETOOTH Stacja nadrzędna (Master) Stacja podległa (Slave) Zakłada się, Ŝe w pikosieci moŝe być aktywnych do ośmiu stacji (wliczając stację nadrzędną). Łączna liczba stacji nie powinna przekroczyć 256 (łącznie ze stacjami w stanie oczekiwania - ang. parked state) a) z pojedynczą jednostką podległą b) z wieloma jednostkami podległymi
Bluetooth Baseband Organizacja kanału u fizycznego bezrywalizacyjny dostęp do medium podział Time Division Duplex na szczeliny czasowe 625 µs odpowiadające czasowi transmisji na pojedynczym kanale FHSS przepytywanie (polling) z zapewnianą częstością transmisja naprzemienna (master, slave) transmisja synchroniczna SCO (rezerwacja szczelin czasowych) transmisja asynchroniczna ACL (w pozostałych szczelinach)
Bluetooth Baseband Podstawowe parametry urządze dzeń BD_ADDR (Bluetooth Device Address) 48-bitowy adres urządzenia zgodny z adresacją Ethernet MAC, zarządzaną wspólnie dla tych standardów przez IEEE; adres BD_ADDR urządzenia nadrzędnego determinuje kolejność sekwencji przeskoków FHSS pikosieci CLKN (Clock Native) 28-bitowy niezaleŝny zegar o rozdzielczości 312,5 µs; zegar CLKN urządzenia nadrzędnego determinuje fazę sekwencji przeskoków FHSS pikosieci, urządzenia podrzędne utrzymują i stale odświeŝają róŝnicę wskazania swojego zegara względem wskazania zegara urządzenia nadrzędnego w celu synchronizacji z kanałem fizycznym pikosieci CoD (Class of Device) 24-bitowy parametr urządzenia określający klasę urządzenia pod względem realizowanych przez nie usług
Pakiety Baseband pakiety kontrolne realizują funkcje kontrolne, nie przenoszą danych warstw wyŝszych pakiety SCO (Synchronous Connection Oriented) pakiety przenoszące synchroniczne dane dźwiękowe warstwy Audio z prędkością 64 kbit/s w wyznaczonych szczelinach czasowych, nadawane parami w kierunku master-slave i slave-master tworzą łącza SCO pakiety ACL (Asynchronous Connectionless Link) przenoszą jednostki danych protokołów LMP lub L2CAP, podlegają mechanizmowi numerowania, generacji sumy kontrolnej CRC, potwierdzeń odbioru i retransmisji (za wyjątkiem pakietów rozgłoszeniowych)
Pakiety kontrolne ID pakiet identyfikacyjny słuŝący głównie do nawiązywania połączeń Baseband FHS pakiet przenoszący adres BD_ADDR, stan zegara CLKN i inne parametry urządzenia potrzebne do nawiązywania połączeń Baseband POLL pakiet nadawany przez urządzenie nadrzędne w przypadku braku danych warstw wyŝszych do nadania NULL pakiet nadawany przez urządzenie podrzędne w przypadku braku danych warstw wyŝszych do nadania Pakiet ID zajmuje ½ szczeliny czasowej. Pozostałe pakiety kontrolne pojedynczą szczelinę czasową.
Pakiety i łącza SCO Pakiety SCO zajmują pojedynczą szczelinę czasową HV1 (High-quality Voice) przenosi dane dźwiękowe zakodowane z uŝyciem FEC (Forward Error Control) 1/3, nadawany co 2 szczeliny czasowe; łącze HV1 zajmuje cały kanał fizyczny pikosieci HV2 przenosi dane dźwiękowe zakodowane z uŝyciem FEC 2/3, nadawany co 4 szczeliny czasowe; w pojedynczej pikosieci mogą istnieć 2 łącza HV2 HV3 przenosi dane dźwiękowe niezakodowane przez FEC, nadawany co 6 szczelin czasowych; w pojedynczej pikosieci mogą istnieć 3 łącza HV3 DV (Data-Voice) przenosi dane dźwiękowe o rozmiarze zgodnym z pakietem HV1, niezabezpieczone przez FEC, oraz pojedynczą wiadomość protokołu LMP
Pakiety ACL Data-Medium rate (DM) pakiety zabezpieczone przez kodowanie FEC 2/3 Data-High rate (DH) pakiety niezabezpieczone przez FEC DM1 jednoszczelinowy pakiet DM przenoszący do 17 bajtów danych DH1 jednoszczelinowy pakiet DH przenoszący do 27 bajtów danych DM3 pakiet DM obejmujący 3 szczeliny czasowe, przenoszący do 121 bajtów danych DH3 pakiet DH obejmujący 3 szczeliny czasowe, przenoszący do 183 bajtów danych DM5 pakiet DM obejmujący 5 szczelin czasowych, przenoszący do 228 bajtów danych DH5 pakiet DH obejmujący 5 szczelin czasowych, przenoszący do 343 bajtów danych AUX1 jednoszczelinowy pakiet przenoszący do 30 bajtów danych niezabezpieczonych przez FEC, niezawierający sumy kontrolnej CRC i niepodlegający retransmisji
Budowa pakietu Baseband Access Code pole słuŝące do identyfikacji pikosieci, w której kanale fizycznym transmitowany jest pakiet, generowane na podstawie adresu BD_ADDR urządzenia nadrzędnego Nagłówek (Header) zawiera 18 bitów sterujących zakodowanych na 54 bitach z uŝyciem kodowania FEC 1/3 Pole danych (Payload) zawiera wiadomość LMP (pakiet DM1 i DV), segment wiadomości L2CAP (pakiety DM i DH) zaopatrzone w dodatkowy nagłówek i sumę kontrolną lub dane dźwiękowe bez dodatkowych pól (pakiety SCO)
Budowa nagłówka Baseband AM_ADDR (Active Member Address) 3-bitowy adres urządzenia podrzędnego, do którego lub od którego nadawany jest pakiet; 0 dla pakietu rozgłoszeniowego TYPE identyfikator typu pakietu Baseband FLOW bit sterowania przepływem pakietów ACL ARQN bit informujący o odbiorze prawidłowego lub nieprawidłowego pakietu ACL SEQN 1-bitowy numer sekwencyjny pakietu ACL HEC (Header Error Check) suma kontrolna nagłówka
Budowa pola danych pakietu ACL Payload Header nagłówek pola danych, zawiera pola: L_CH identyfikator protokołu (LMP lub L2CAP) i segmentacji wiadomości L2CAP (początek lub kontynuacja wiadomości) FLOW sterowanie przepływem wiadomości L2CAP LENGTH rozmiar pola Payload Body Payload Body wiadomość LMP lub segment wiadomości L2CAP CRC (Cyclic Redundancy Check) 16-bitowa suma kontrolna
Nawiązywanie połą łączeń Baseband Procedura Inquiry pozwala pozyskać parametry: BD_ADDR, CLKN i CoD innych urządzeń wymaga wprowadzenia urządzenia pozyskującego parametry do stanu Inquiry, odpowiadających do stanu Inquiry Scan, trwa do ok. 10,24 sek.
Tryby oszczędzania energii warstwy Baseband Konfigurowane oddzielnie między kaŝdym urządzeniem podrzędnym a urządzeniem nadrzędnym za pomocą protokołu LMP tryb Sniff zredukowana częstość przepytywania ACL tryb Hold wstrzymanie transmisji ACL na zadany czas tryb Park wstrzymanie transmisji ACL i SCO aŝ do jej wznowienia przez urządzenie nadrzędne (zwalnia adres AM_ADDR urządzenia podrzędnego umoŝliwiając przyłączenie do pikosieci dodatkowego urządzenia)
Bluetooth Baseband Przepływno ywność ACL (kbit( kbit/s) typ pakietu transmisja asymetryczna transmisja symetryczna DM1 DH1 DM3 DH3 DM5 DH5 108,8 172,8 387,2 585,6 477,9 723,2 108,8 172,8 258,1 390,4 286,7 433,9 przepływność dzielona między urządzenia podrzędne w sposób bezstratny (bezkolizyjny dostęp do medium) do 3 dwukierunkowych połączeń dźwiękowych SCO 64 kbit/s
Bluetooth Baseband Scatternet most (bridge) urządzenie łączące pikosieci transmisja z podziałem czasu zasady transmisji scatternet jeszcze nie ustandaryzowane brak synchronizacji pikosieci zmiana aktywnej pikosieci implikuje stratę dwóch szczelin czasowych
Przykładowe połączenia między urządzeniami w rozproszonej sieci BLUETOOTH
Link Manager Protocol (LMP) protokół LMP słuŝy do konfiguracji połączeń Baseband protokół LMP jest protokołem transakcyjnym pomiędzy urządzeniem nadrzędnym a pojedynczym urządzeniem podrzędnym wiadomości protokołu LMP mogą być równieŝ nadawane do wszystkich urządzeń podrzędnych przez urządzenie nadrzędne w pakietach rozgłoszeniowych pojedyncza wiadomość LMP przenosi pojedynczą operację wchodzącą w skład danej transakcji
Transakcje LMP nawiązywanie i zakończenie połączenia Baseband negocjacja częstości przepytywania ACL tworzenie, usuwanie i negocjacja parametrów łączy SCO wprowadzanie i wyprowadzanie urządzeń podrzędnych z trybów oszczędzania energii oraz konfiguracja parametrów tych trybów operacje kryptograficzne generacja kluczy kryptograficznych uwierzytelnienie rozpoczęcie, zakończenie i negocjacja parametrów szyfrowania transmisji zamiana urządzeń rolami (master, slave) przekazywanie parametrów urządzenia i wykazu obsługiwanych operacji LMP dostosowanie mocy nadawania
Logical Link Control and Adaptation Protocol (L2CAP) / layer (L2CA) Warstwa L2CA realizuje funkcje podwarstwy kanału logicznego warstwy łącza danych modelu ISO/OSI multipleksacja protokołów warstw wyŝszych segmentacja i składanie jednostek protokołów warstw wyŝszych do pakietów Baseband zapewnianie usług połączeniowych i bezpołączeniowych transmisja danych asynchronicznych, względnie izochronicznych wsparcie jakości usług dla poszczególnych kanałów wsparcie komunikacji grupowej i transmisji punkt-wielopunkt w warstwie Baseband Protokołem komunikacyjnym warstwy L2CA jest protokół L2CAP
Budowa wiadomości L2CAP Length rozmiar wiadomości CID (Channel Identifier) 2-bajtowy identyfikator kanału: połączeniowego tworzonego dla zadanego protokołu bezpołączeniowego kontrolnego słuŝącego do tworzenia i konfiguracji innych kanałów Payload pole danych, zawiera: jednostkę przenoszonego protokołu identyfikator protokołu w kanale bezpołączeniowym komendy sterujące w kanale kontrolnym
Przegląd d profili BT
Architektura Bluetooth
Profile Bluetooth Realizują standardowe zestawy protokólarne dla modeli uŝytkowych KaŜde urządzenie BT wspiera jeden lub więcej profili W zaleŝności od modelu ma miejsce wykorzystanie róŝnych protokołów stosu BT (przenikanie się protokołów stosu)
Zadania profili Włączając się do komunikacji, urządzenie realizuje funkcje określone w specyfikacji profilu np.: Brama lub terminal głosowy (Cordless Telephony Profile) Brama lub terminal przesyłu danych (Dial-Up Networking Profile) Słuchawka lub brama audio (Headset Profile) Klient OBEX lub serwer OBEX (General Object Exchange Profile)
Przykładowe zastosowania (1) Transmisja dźwid więku o jakości telefonicznej telefonia bezprzewodowa (profil Cordless Telephony) obsługa połączeń przez wiele urządzeń obsługa połączeń typu hands-free (profil Headset)
Przykładowe zastosowania (2) Synchronizacja danych profil Synchronization automatyczna synchronizacja danych w momencie wejścia urządzeń w kontakt radiowy
Typowe zastosowania (3) Dostęp p do sieci lokalnych, globalnych LAN, WAN, inne profil LAN Access, Dial-up, Fax profil Personal Area Networking równieŝ sieci ad-hoc
Przykładowe profile