Instytut Informatyki Politechnika Poznańska
Ograniczenie zasięgu transmisji wynika m.in. z energooszczędności ograniczonej mocy wyjściowej nadajnika radiowego Zasięg uzyskiwany w sieciach one-hop, można uzyskać nakładem znacznie mniejszej energii w sieciach multihop, stosując retransmisję pakietów Najprostszymi przypadkami sieci multi-hop są sieci ze stacjonarnymi trasami pakietów W ogólnym przypadku sieci tupu multi-hop okupione są bardziej skomplikowanymi algorytmami transmisji danych oraz bardziej zawodną transmisją W sieciach mobilnych nie można zakładać stacjonarnych tras pakietów 11-2014 2
Przekazywanie pakietów pomiędzy węzłami od nadawcy do odbiorcy, realizowane jest przy pomocy algorytmów, zdefiniowanych w protokołach rutowania Problematyką rutowania w sieciach mobilnych ad-hoc zajmują się grupy robocze organizacji IETF MANET (ang. Mobile Ad-hoc Networks) oraz NEMO (ang. NEtwork MObility) Klasyfikacja protokołów rutowania sieci ad-hoc 11-2014 3
Protokoły proaktywne obejmują metody oparte na tabelach sterowania, wykorzystywane przede wszystkim w tradycyjnych sieciach komputerowych Protokół proaktywny utrzymuje ścieżki do wszystkich węzłów sieci, niezależnie czy odbywa się do nich ruch czy też nie Wymaga to cyklicznego odświeżania tras, aby dostosować je do zmieniających się warunków w sieci (utrata połączenia, przeciążenie łącza itp.) W zastosowaniach dla mobilnych sieci ad-hoc tego typu podejście wymagałoby zbyt dużych nakładów na uaktualnianie tras (zapotrzebowanie na pamięć, energię, obciążenie łącza bezprzewodowego) 11-2014 4
W przypadku sieci sensorowych z reguły stosuje się protokoły reaktywne (zwane także protokołami rutowania na żądanie), które wyszukują trasę do odbiorcy tylko w razie potrzeby Do znanych protokołów reaktywnych należą AODV, DSR, TORA, SSR 11-2014 5
AODV 11-2014 6
Protokół reaktywny AODV (ang. Ad-hoc On- Demand Distance Vector Routing) jest jednym z częściej stosowanych algorytmów rutowania w sieciach WSN Gdy trasa między węzłami źródła i celu jest znana, algorytm nie jest wykorzystywany Działanie algorytmu AODV rozpoczyna się w momencie, gdy węzeł źródłowy nie może określić trasy do celu Węzeł źródłowy wysyła ramkę RREQ (ang. Route request), korzystając z adresu rozgłoszeniowego, aby wyznaczyć trasę 11-2014 7
Ramki RREQ są jednoznacznie identyfikowane przez węzły odbierające, za pomocą dwóch zmiennych: Adres źródła i Numer sekwencyjny Każdy węzeł pośredniczący, po otrzymaniu pakietu RREQ zna już trasę do źródła Węzeł, który nie otrzymał wcześniej żądania RREQ (o takich samych parametrach identyfikacyjnych) i który jest jego celem, generuje odpowiedź RREP (ang. Route reply) inicjując jej powrót źródła 11-2014 8
W czasie propagacji RREP, każdy z pośredniczących węzłów tworzy trasę do celu. W rezultacie każdy węzeł na wyznaczonej trasie zna tylko adres następnego skoku i adres celu Gdy wiadomość dotrze do węzła źródłowego, cała trasa jest zapamiętana i rozpoczyna się wysyłanie danych 11-2014 9
W przypadku, gdy do węzła źródła dotrze kilka pakietów RREP, wybrana zostaje najkrótsza trasa najmniejsza liczba urządzeń pośredniczących. Protokół pozwala na wykrywanie czy ramka RREP dotarła do celu - węzeł źródłowy wysyła wiadomość RREP-ACK (ang. Route reply acknowledge), powiadamiając węzły leżące na trasie, że droga jest znana Pakiety RREQ, RREP, RREP-ACK, należą do mechanizmu wyznaczania trasy (ang. Route Discovery) 11-2014 10
Drugim mechanizmem protokołu jest utrzymanie trasy (ang. Route Maintenance) - za jego pomocą nadawca pakietu danych, wykrywa zmiany topologii Jeśli podczas transmisji danych zostanie wykryta awaria łącza komunikacyjnego lub węzła, zostaje wysłany pakiet RERR (ang. Route error). Po jego otrzymaniu węzeł źródłowy unieważnia trasę i inicjuje poszukiwanie nowej Oprócz wymienionych poleceń, w protokole AODV, dostępny jest jeszcze pakiet Hello, przewidziany do wykrywania sąsiadów danego węzła 11-2014 11
Mechanizm wyznaczania trasy: a) polecenie Route request i tworzenie ścieżki powrotnej, b) polecenie Route reply i wyznaczenie trasy S D 11-2014 12
Operacje wykonywane w trakcie wyznaczania trasy: a) w węźle źródłowym 11-2014 13
Operacje wykonywane w trakcie wyznaczania trasy: b) w węźle pośrednim 11-2014 14
W algorytmie AODV, operacja wyznaczania trasy w sieci bez zapamiętanych tras, dla tego mechanizmu uruchamia wszystkie węzły W kolejnym odkrywaniu nowej trasy jej fragment, związany z tym samym celem, może być już znany, co jest zaletą AODV 11-2014 15
DSR 11-2014 16
DSR (ang. Dynamic Source Routing) jest protokołem wyszukiwania tras na żądanie (reaktywnym) Rutowanie źródłowe (ang. Source routing) wymaga od węzła nadawcy pakietu danych, podania adresów wszystkich węzłów na drodze do węzła docelowego. Informacje te umieszczane są w transmitowanych ramkach Zaletą rutowania źródłowego jest to, że węzły pośredniczące nie muszą przechowywać aktualnych danych o trasie. Nie ma potrzeby okresowego rozgłaszania tras i wysyłania pakietów identyfikujących sąsiadów. 11-2014 17
Z działaniem protokołu DSR związane są dwa podstawowe mechanizmy: wyznaczanie trasy (ang. Route Discovery) utrzymanie trasy (ang. Route Maintenance). 11-2014 18
Kolejne fazy wyznaczania trasy 11-2014 19
Kolejne fazy wyznaczania trasy 11-2014 20
Kolejne fazy wyznaczania trasy 11-2014 21
Kolejne fazy wyznaczania trasy 11-2014 22
Kolejne fazy wyznaczania trasy 11-2014 23
Utrzymanie trasy (ang. Route Maintenance) Dany węzeł uzyskuje bierne potwierdzenie poprawności transmisji w momencie, gdy słyszy następny węzeł, przekazujący pakiet danych dalej wzdłuż trasy. Jest to jedna z metod kontroli poprawności transmisji. 11-2014 24
Ramka DSR Ramka pakietu Route Request (pole Options) 11-2014 25
Przykładowa modyfikacja protokołu DSR dla sieci BSS Z pierwotnej postaci protokołu DSR wykorzystano źródłową metodę wyznaczania trasy Podstawowe zmiany Rezygnacja z protokołu IP Ograniczenie długości adresów do 8 bitów Pozostawiono pakiety Request, Reply, Error oraz wprowadzono pakiet Data W pamięci tras Route Cache, przechowywana może być tylko jedna trasa najkrótsza Zmiana organizacji ramek 11-2014 26
Przykładowa modyfikacja protokołu DSR dla sieci BSS Pakiet wyznaczania trasy Route Request Pole Type REQUEST_PACKET_TYPE 0 REPLY_PACKET_TYPE 1 ERROR_PACKET_TYPE 2 DATA_PACKET_TYPE 3 REQUEST_PIGGYBACK_PACKET_TYPE 4 11-2014 27
Przykładowa modyfikacja protokołu DSR dla sieci BSS Pakiet wyznaczania trasy Route Request Pole Req_Len określa długość pakietu Route Request, wyrażoną w bajtach długość początkowa wynosi 5 Każdy kolejny węzeł, który odebrał ten pakiet, dodaje swój adres (Addr_n) do pól trasy oraz zwiększa wartość Req_Len o 1 Pole Size_Route określa rozmiar trasy (liczba węzłów trasy) i jest on zwiększany podobnie jak Req_Len 11-2014 28
Przykładowa modyfikacja protokołu DSR dla sieci BSS Pakiet wyznaczania trasy Route Request Seg_Left określa liczbę skoków, którą pakiet Request może wykonać. Jest ona, przy każdym skoku, zmniejszana jest o 1. Jeżeli węzeł odbierze pakiet z wartością 0, to nie przesyła go dalej. Jest to odpowiednik czasu życia pakietu. Zapobiega krążeniu w sieci nieaktualnych pakietów. 11-2014 29
Przykładowa modyfikacja protokołu DSR dla sieci BSS Pakiet wyznaczania trasy Route Request Req_ID jest unikatową wartością, generowaną przez węzeł źródłowy, która łącznie z adresem źródłowym, jednoznacznie identyfikuje w sieci pakiet Request Pola Addr_1 do Addr_n określają bieżącą trasę, którą pakiet przebył od źródła Addr 1 oznacza adres źródła 11-2014 30
Dziękuję 31 09-2006
Dziękuję 32 09-2006
Dziękuję 33 09-2006