Chociaż sieci sensorowe komunikują się używając przede wszystkim fal radiowych, to protokoły i algorytmy wykorzystywane w tradycyjnych sieciach bezprzewodowych ad-hoc nie są odpowiednie dla sieci sensorowych. Oba rodzaje sieci różnią się w następujących aspektach:
węzły sieci sensorowej są dużo gęściej rozmieszczone,
węzły sieci sensorowej mają skłonność do uszkodzeń,
topologia sieci sensorowej zmienia się bardzo często,
węzły sieci sensorowej komunikują się raczej przez rozgłaszanie, a węzły w sieci ad-hoc w trybie punkt do punktu.
sensory mają znaczne ograniczenia co do możliwości obliczeniowych, zasobów energetycznych i pamięci,
węzły sensorowe nie posiadają globalnych identyfikatorów jak na przykład adres IP,
sieci sensorowe są wykorzystywane do wykonywania specyficznych zadań, podczas gdy sieci typu ad-hoc głównie do zadań komunikacyjnych.
Ze względu na wymienione różnice projektowanie nowych i wykorzystywanie istniejących protokołów komunikacyjnych dla sieci sensorowych wymaga specjalnej uwagi i rozpatrzenia wszystkich aspektów jakie będą one miały wpływ na sieć.
Rozważając protokoły występujące w sieciach sensorowych podobnie jak w przypadku sieci komputerowych wprowadza się model warstwowy. W przypadku sieci komputerowych jest to model OSI/ISO, natomiast w przypadku sieci sensorowych model zaprezentowany na rysunku 2.6.
Model ten zawiera następujące warstwy: aplikacji, transportową, sieci, łącza danych fizyczną, oraz płaszczyzny: zarządzania energią, zarządzania mobilnego i zarządzania zadania.
Rysunek 2.6 Model warstwowy dla sieci sensorowych [4].
Płaszczyzna zarządzania energią ma za zadanie kontrolować wykorzystanie energii przez węzeł sensorowy. Na przykład, sensor może wyłączać odbiornik po otrzymaniu informacji od swoich sąsiadów, co zapobiegnie duplikowaniu się danych. Również w przypadku gdy poziom energii w węźle jest niski węzeł może przesłać informacje do swoich sąsiadów o wyczerpujących się zasobach i przestać brać udział w przesyłaniu informacji. Wtedy reszta energii zostanie zachowana dla przeprowadzania zadań własnych węzła.
Płaszczyzna zarządzania przemieszczaniem jest wykorzystywana głównie w aplikacjach mobilnych i koncentruje się na wykrywaniu i rejestrowaniu przemieszczania się węzłów w sieci. Dzięki niej węzły sensorowe wiedzą jakich mają sąsiadów w danej chwili, przez co mogą bilansować zużycie energii i wykonywanie zadań.
Zadaniami płaszczyzny zarządzania jest bilansowanie i planowanie pomiarów dla określonego pola pomiarowego. Nie wszystkie sensory w danym obszarze pomiarowym muszą przeprowadzać zadania w tym samym czasie i z jednakową intensywnością. Wszystko zależy od zasobów energetycznych danego węzła co czyni działanie sieci jeszcze bardziej efektywnym.
Wszystkie płaszczyzny są niezwykle potrzebne aby węzły mogły współdziałać w sposób efektywny energetycznie, rutować dane w sieciach mobilnych i dzielić zasoby miedzy sobą. Bez tych płaszczyzn każdy sensor działałby indywidualnie, a z punku widzenie efektywności sieci jest to sytuacja niepożądana.
Warstwa aplikacji to jak do tej pory warstwa najmniej rozwijana i w dalszym rozwoju
sieci sensorowych można się właśnie w niej spodziewać powstania wielu protokołów. Poniżej przedstawimy trzy najważniejsze jej protokoły: Sensor Managment Protocol (SMP), Task Assignment and Data Advertisement Protocol (TADAP) oraz Sensor Query and Data Dissemination Protocol (SQDDP).
Protokół SMP służy do zapewnienia możliwości komunikacji z siecią sensorową za pomocą np. sieci Internet. Dodatkowo umożliwia wykonanie następujących zadań administracyjnych:
wymianę informacji związanych z algorytmami wyszukiwania położenia węzła,
zapewnienia synchronizację między węzłami,
włączenie i wyłączenie węzła,
autentykację i zapewnienie bezpieczeństwa podczas transmisji,
sprawdzanie i zmianę konfiguracji węzła sensorowego.
Protokół TADAP pozwala administratorowi na wydanie zapytania do węzła albo do grupy węzłów sieci sensorowej o np. zmierzenie pewnej wielkości w zjawisku atmosferycznym.
Inny protokół rozgłoszeniowy SQDDP pozwala na wydawanie zapytań do sieci sensorowej bazujących na konkretnym atrybucie danych czy lokalizacji – np. wskazanie lokalizacji gdzie w sieci sensorowej zmierzona temperatura jest większa niż 25 stopnic Celsjusza.
Głównymi zadaniami warstwy transportowej jest połączenie warstwy aplikacji i warstwy sieci poprzez multipleksacje i demultipleksację, a także dostarczenie mechanizmów przekazywania danych pomiędzy węzłami sensorowymi a węzłem nadrzędnym z użyciem mechanizmu kontroli błędów dopasowanym do wymagań niezawodnościowych stawianych przez warstwy aplikacji. Ponadto ważnym zadaniem jest kontrolowanie wielkość ruchu w sieci i wprowadzenie mechanizmu kontroli przeciążeń. Choć wymienione zadania są spełniane przez istniejące już protokoły komunikacyjne np. protokół TCP dla sieci IP, to ze względu na specyfikę sieci sensorowych (ograniczenie sprzętowe i energetyczne) nie są one dla nich odpowiednie.
Ze względu na zorientowanie aplikacyjne sieci sensorowych główny ruch odbywa się od sensorów, które przeprowadzają pomiary, do węzła nadrzędnego. Ścieżka odwrotna z węzła nadrzędnego do sensorów jest zarezerwowana dla informacji zarządzających siecią, komend czy zapytań. W obu przypadkach możemy mówić różnym poziomie niezawodności dostarczenia danych. W przypadku danych generowanych przez sensory nie ma potrzeby stosowania wyrafinowanych mechanizmów dostarczenia danych, ponieważ ze względu na korelacje dużej liczby danych aplikacja zbudowana na sieci sensorowej jest tolerancyjna na ich stratę. Zastosowanie np. mechanizmu potwierdzeń znacznie zwiększyłoby ruch w sieci co mogłoby prowadzić do zatorów, a także ze względu na zwiększoną liczbę transmisji obniżyłoby efektywność energetyczną sieci a co za tymi idzie czas działania sieci. W przypadku danych generowanych przez węzły nadrzędne wymagany jest jednak znacznie wyższy poziom niezawodności. Podczas rozpowszechniania informacji z węzła nadrzędnego wymagana jest prawie 100% gwarancja dostarczenia informacji. Ze względu na te rozbieżności zostały zaprojektowane dwa różne protokoły warstwy transportowej: Event-to-Sink Reliable Transport (ESRT) oraz Pump Slowly Fetach Quickly (PSFQ).
Protokół ESRT bazuje na przepływie danych z sensorów do węzła nadrzędnego. W sposób ciągły bada możliwość wystąpienia zdarzenia zmieniając częstotliwość odpytań węzłów, a przez to dostarcza bardzo efektywny energetycznie i niezawodny mechanizm detekcji zdarzeń. Dodatkowo zawiera mechanizm kontroli zatorów w sieci i nie wymaga identyfikacji sensorów. Ponieważ algorytm jest uruchomiony głównie na węźle nadrzędnym, zatem w niewielkim stopniu obciąża zasoby sensorów.
Mechanizm PSFQ zapewnia niezawodny transport zapytań, konfiguracji czy komend z węzła nadrzędnego do sensorów, Bazuje on na powolnym wprowadzaniu pakietów do sieci, ale z agresywnym działaniem odzyskiwania danych węzeł po węźle w przypadku ich utraty. Z tego też powodu każdy węzeł na trasie musi utrzymywać pamięć podręczną zawierającą dane na wypadek ich utraty w następnej fazie transmisji lub dostarczenia ich w złej kolejności.
Warstwa sieciowa jest odpowiedzialna za ruting danych dostarczonych przez warstwę transportową. Protokoły działające w tej warstwie są przedmiotem tej pracy i szczegółowo zostały przedstawione w rozdziale 3.
Działanie warstwy łącza danych polega na multipleksowaniu strumieni danych, detekcji ramki danych, przydzielaniu dostępu do nośnika oraz kontroli błędów. Podobnie jak przy wyższych warstwach modelu specyficzne właściwości sieci sensorowych nie pozwalają na użycie istniejących protokołów warstwy łącza danych. Istniejące protokoły zostały poddane modyfikacji lub powstały zupełnie nowe. Poniżej zostały przedstawione protokoły i mechanizmy odpowiedzialne za kontrolę dostępy do nośnika i kontrolę błędów.
Protokoły dostęp do nośnika (ang. Medium Access Control - MAC) mają dwa zasadnicze zadania do wykonania: zestawienie łączy transmisji danych oraz regulowanie dostępem do współdzielonego medium w sposób efektywny i sprawiedliwy dla wszystkich węzłów sieci sensorowej. Oczywistą sprawą jest, że protokoły MAC dla sieci sensorowych muszą być oszczędne energetycznie, zarządzać mobilnością węzłów oraz radzić sobie z uszkodzeniami w sieci. Dlatego też zostały zaproponowane trzy rozwiązania warstwy łącza danych bazujące na już istniejących.
TDMA (ang. Time Division Mutiple Access). Udowodnione zostało w [1], że w przypadku gdy moduł radiowy nie jest włączony cały czas, co ma miejsce w sieciach sensorowych, to protokół dostępu do nośnika oparty na TDMA jest najbardziej efektywny energetycznie. Na tej podstawie został stworzony protokół Self-organizing Medium Access Control for Sensor networks (SMACS), który przydziela szczeliny czasowe węzłom. Każdy sensor w sieci utrzymuje tablice TDMA, która informuje go w jakiej szczelinie czasowej może porozumiewać się ze swoim sąsiadem. Protokół oszczędza energię poprzez losowe włączanie węzła podczas fazy transmisji i poprzez wyłączenie modułu radiowego podczas stanu bezczynności. Wadą protokołu jest potrzeba synchronizacji czasowej wszystkich węzłów.
Hybryda TDMA/FDMA (ang. Time Division Mutiple Access/Frequency Division Multiple Access ) Innym sposobem przydzielania dostępu do medium w sieci sensorowej jest połączenie techniki TDMA z FDMA czyli wykorzystanie dostępu do medium z technologii GSM. Technika ta dostarcza kilku istotnych zalet, między innymi: niskie zużycie mocy oraz optymalny przydział kanałów. Optymalna liczba kanałów zależy od stosunku konsumpcji mocy przez nadajnik do konsumpcji mocy przez odbiornik.
CSMA (ang. Carrier Sense Multiple Access). Protokół warstwy łącza danych dobrze znany z sieci Ethernet. Dla sieci sensorowych zastosowany po pewnych zmianach, ale również składający się z dwóch mechanizmów: nasłuchiwania i backoff-u, czyli określenia sposobu oczekiwania na dostęp do nośnika. Ponadto w protokole znajduje się mechanizm Adaptive Transmission Rate Control (ARC), który zapewnia sprawiedliwy dostęp do medium. Zapewnia on kontrolę medium, dzięki której nie występują sytuacje, w której węzły bliżej węzła nadrzędnego są faworyzowane. ARC kontroluje także wielkość wysyłanych danych przez węzły i w określonych przypadkach poprzez sygnalizacje nakazuje zmniejszyć tą wielkość.
Inną bardzo ważną funkcją warstwy łącza danych jest kontrola błędów. W pewnych aplikacjach sieci sensorowych np. śledzeniu pojazdów czy monitowaniu maszyn jest ona sprawą kluczową. Zaproponowane zostały dwa mechanizmy kontroli błędów: Automaic Repeat Request (ARQ) oraz Forward Error Correction (FEC). Ich działanie w sieciach sensorowych jest jeszcze jednak ciągle intensywnie badane.
Warstwa fizyczna odpowiedzialna jest za wybór częstotliwości pracy, generacje nośnika i jego modulację, detekcję sygnału oraz zaszyfrowanie danych. Komunikacja bezprzewodowa jest dosyć kłopotliwa w skutek występowania niekorzystnych zjawisk np. dyfrakcja czy odbicia fali nośnej, zanik sygnału czy zjawisko wielodrogowości. Z wieloma tymi problemami spotykamy się także w innych systemach komunikacji bezprzewodowej i udaje się je rozwiązać. Generalnie, dzięki zapewnieniu odpowiedniej gęstości węzłów w sieci możemy zwalczyć te efekty, a sieć jest efektywna i energooszczędna.
Copyright © 2008-2010 EPrace oraz autorzy prac.