2. Piotr Gajewski (2) - Wojskowy Instytut Łączności
Transkrypt
2. Piotr Gajewski (2) - Wojskowy Instytut Łączności
1. 2. Rafał Bryś (1) Piotr Gajewski (2) (1) Wojskowy Instytut Łączności [email protected] (2) Wojskowa Akademia Techniczna [email protected] Gliwice, 26-28 września 2016 ROUTING Z PREDYKCJĄ POWIĄZAŃ WĘZŁÓW SIECI MANET THE ROUTING WITH PREDICTION OF MANET NETWORK NODES CONNECTIONS Streszczenie: Efektywność sieci MANET w dużej mierze uzależniona jest od funkcjonowania w niej routingu. Mechanizm ten rozpoznaje topologię sieci, a następnie zestawia trasy do węzłów, często w warunkach dużej dynamiki zmian topologii. Prowadzi to do częstych przerw łączności, a w efekcie do opóźnień i strat danych. W artykule przedstawiona została koncepcja routingu z predykcją powiązań pomiędzy węzłami sieci. Rozwiązanie to pozwoli na wcześniejszą reakcję routingu na zmiany topologii oraz podjęcie działań utrzymania ciągłości tras. W artykule przedstawiono również wyniki testów symulacyjnych pomiarów czasów powiązań. Abstract: The MANET network efficiency largely depends on the routing mechanism. This mechanism recognizes network topology, and than sets the routes to nodes, often under high topology changes. It leads to communication interruptions and consequently to delays and data loss. The article presents the concept of routing with nodes connection prediction. This solution allows for early response to topology changes and to take action to maintain routes continuity. In article also are presented the results of the connections time measurements’ simulation tests. Słowa kluczowe: MANET, metryka łącza, przewidywanie dostępności łącza. Keywords: MANET, link metric, link availability prediction 1. WSTĘP Cechą charakterystyczną mobilnych sieci Ad-Hoc (MANET) jest znaczna swoboda w tworzeniu grafu powiązań pomiędzy jej węzłami składowymi. Sieć taka pozbawiona jest administracyjnych punktów centralnych nadzorujących pracę sieci i jej elementów. Mobilność węzłów sieci oraz inne zjawiska związane z transmisją radiową przyczyniają się jednocześnie do częstych zmian powiązań grafu. Wszystkie węzły sieci posiadają tą samą lub bardzo zbliżoną do siebie funkcjonalność, tj. pełnią rolę zarówno terminali abonenckich, jak i punktów pośredniczących w przekazywaniu danych – kierujących ruch (routerów). Dynamika zmian topologii sieci jest niewątpliwą zaletą, ale stwarza szereg problemów ze znalezieniem i utrzymaniem ścieżki (trasy) wymiany informacji pomiędzy dowolną parą węzłów w sieci. Wynika to m.in. z bezwładności reakcji algorytmów routingu na występowanie czynników zakłócających, skutkujących utratą ciągłości ścieżki routingu złożonej z wielu łączy pośredniczących. Brak ciągłości ścieżki równoważny jest z przerwaniem połączenia, którego wykrycie wymaga reakcji odpowiednich mechanizmów sprawdzających (realizujących swoje funkcje w ściśle określonych cyklach) oraz mechanizmów poszukiwania nowej trasy, wymagającej określonego czasu. Przerwy na trasie transmisji danych wynikające z czasu potrzebnego na wykrycie nieciągłości i znalezienie nowej ścieżki powodują z kolei bezpowrotne straty pakietów. Potwierdzeniem tego są uzyskane wyniki badań symulacyjnych przeprowadzonych w realizowanych projektach [1]. Wskazują one, iż stopa strat pakietów jest zależna m.in. od ilości węzłów (wielkości sieci) oraz ich mobilności i wzrasta wraz ze wzrostem tych wskaźników. Najprostszym rozwiązaniem powyższego problemu jest zwiększenie częstotliwości zdarzeń monitorowania stanu sieci przez węzły, generowanych przez protokoły routingu. Pociąga to jednak za sobą zwiększenie obciążenia sieci ruchem nadzorczym, a także użycie większych zasobów węzłów. Stąd rozwiązanie to staje się nieefektywne w szczególności w mobilnych sieciach bezprzewodowych o dużej dynamice zmian topologii oraz liczby węzłów. W związku z powyższym konieczne jest opracowanie mechanizmów bazujących na standardowej wymianie komunikatów routingowych, a jednocześnie umożliwiających odpowiedni dobór łączy. W tym celu łącza w sieciach MANET opisywane są dodatkową zmienną – metryką, której wartość uwarunkowana jest stanem łącza. Stan ten, w zależności od zastosowań, może odzwierciedlać zasoby węzła (np. zajętość kolejek interfejsu, stan baterii, poziom sygnału odbieranego, itp.) lub parametry jakości samego łącza (np. straty lub opóźnienia pakietów). Protokół routingu buduje wówczas trasy złożone z łączy o lepszych parametrach. Podejście to pozwala na zwiększenie jakości wymiany danych, ale nie rozwiązuje problemu przerywania tras w wyniku zmian topologii. Dlatego podejmowane są próby przypisania metryce łącza wartości parametrów określających wiarygodność lub stabilność łącza oraz opracowania sposobu estymacji tych wartości. W literaturze często spotyka się rozwiązania polegające na powiązaniu metryki z czasem życia łącza, który z kolei szacowany jest na podstawie innych parametrów charakterystycznych dla bezprzewodowych sieci mobilnych. W dalszej części artykułu (Rozdział 2) przedstawiono ideę funkcjonowania protokołu routingu bazującego na metrykach zależnych od parametrów czasowych łączy. W rozdziale 3 przedstawione zostały wyniki testów symulacyjnych, których celem były pomiary po- wyższych czasów, a w rozdziale 4 przedstawiono wnioski oraz kierunki dalszych prac. 2. IDEA FUNKCJONOWANIA ROUTINGU MANET Z PREDYKCJĄ POWIĄZAŃ Protokoły routingu w sieciach MANET dzielą się na dwie podstawowe kategorie: protokoły proaktywne i reaktywne. Protokoły proaktywne (ang. pro-active) nazywane są również protokołami table-driven lub hop-byhop, bazują na aktualnych, kompletnych tabelach routingu. Utrzymują informacje o topologii sieci i przechowują trasy do wszystkich węzłów sieci, niezależnie od ich rzeczywistego wykorzystania. Protokoły reaktywne (ang. reactive) nazywane są także protokołami routingu na żądanie (ang. on-demand). Wyszukują one trasę w momencie, gdy jest to konieczne. Oba rodzaje protokołów są w stanie zbudować trasy routingu w oparciu o rozpoznaną topologię sieci w trakcie jej istnienia (routing proaktywny) lub po nadejściu żądania (routing reaktywny). Z punktu widzenia czasu gotowości do realizacji usługi, routing proaktywny jest efektywniejszy ze względu na ciągłą pracę mechanizmów rozpoznania topologii, a nie tylko na żądanie, jak w przypadku protokołów reaktywnych. Utrzymanie tras, w obu klasach protokołów routingu odbywa się w sposób podobny. Węzły pośredniczące na trasie routingu sprawdzają aktualność kontaktu z węzłami sąsiednimi wysyłając cykliczne informacje o swoich powiązaniach. Na tej podstawie pozostałe węzły sieci są w stanie wykryć zmiany topologii, w efekcie których ponownie uruchamiane są procesy poszukiwania tras. Wykrycie nieciągłości i znalezienie nowej ścieżki wymaga jednak czasu, zależnego od klasy protokołu. W przypadku protokołów reaktywnych jest to czas potrzebny na wykrycie braku wiadomości utrzymania, propagacji informacji o przerwaniu ścieżki do źródła oraz zestawienie nowej ścieżki. W przypadku protokołów proaktywnych jest to czas potrzebny na wykrycie braku wiadomości rozpoznania otoczenia, propagacji wiadomości o zmianie topologii w sieci i zestawienie nowej ścieżki. Efektem przerwania ciągłości ścieżki oraz czasu potrzebnego na znalezienie nowej w trakcie transmisji danych są znaczne opóźnienia pakietów, a najczęściej ich straty. W związku z powyższym zasadnym wydaje się opracowanie mechanizmów wspierających wczesne wykrywanie powyższych zdarzeń oraz poszukujących tras alternatywnych lub rezerwowych i przełączających trasy bez powodowania strat w transmisji pakietów danych użytkowych. Decyzja o przełączaniu tras routingu powinna być podejmowana na podstawie danych określających stabilność lub wiarygodność łączy na danej trasie. W literaturze [2][3][4][5] proponuje się szacowanie stabilności łącza m.in. na podstawie pomiarów parametrów radiowych odbieranych wzajemnie sygnałów i ich zmian, wzajemnej lokalizacji i ruchu węzłów, czy dostępności zasobów węzłów (energetycznych, obciążenia, czy radiowych). Szacowane dane mapowane są na metrykę, która determinuje wybór poprzez algorytm routingu łącza lepszego. Poniżej przedstawiony został opis rozwiązania, w których proponuje się zastosowanie metryk łączy okre- ślających czasy powiązań pomiędzy sąsiednimi węzłami. Metryki te oznaczono odpowiednio TOLA (ang. Time Of Link Activity), tj. czas aktywności łącza oraz TTLA (ang. Time To Link Activation), tj. czas do aktywności łącza. Posiadając wiedzę o czasie dostępności określonego łącza, mechanizm routingu może podejmować decyzje o poszukiwaniu nowego łącza lub nowej trasy wcześniej, zanim degradację aktualnej wykryją standardowe mechanizmy rozpoznania topologii i tworzenia nowej trasy. Podobnie na podstawie wiedzy o możliwej dostępności innych węzłów w określonym czasie, algorytm routingu podczas przeliczania tras może uwzględniać węzły, które jeszcze nie są dostępne, ale przewidywana jest ich dostępność po upływie określonego czasu. Znajomość powyższych zależności czasowych powiązań pomiędzy węzłami w pewnym stopniu umożliwi na przewidywanie zmian topologii sieci i odpowiednie reagowanie mechanizmów routingu. Należy jednak zwrócić uwagę na fakt, że oszacowanie czasów połączenia i rozłączenia węzłów nie jest zadaniem prostym ze względu na losową ich naturę skorelowaną głównie z charakterem przemieszczania się węzłów w obrębie sieci. Również i inne czynniki mają na nie wpływ takie, jak warunki propagacji fal radiowych, zasięg radiowy, czy specyfika zadań węzła (np. w przypadku sieci MANET w zastosowaniach specjalnych). Powyższe rozwiązanie wymaga okresowego zbierania danych o powiązaniach pomiędzy węzłami. Dane te powinny być przechowywane w lokalnych bazach oraz przetwarzane w celu oszacowania odpowiedniej metryki. W przypadku protokołów reaktywnych może to być kłopotliwe ze względu na realizowaną wymianę danych nadzorczych tylko podczas aktywnej i używanej ścieżki. Większa efektywność może być osiągnięta poprzez zastosowanie protokołów proaktywnych, które z założenia nieprzerwanie wymieniają wiadomości utrzymaniowe w celu rozpoznania topologii sieci i jej zmian. Do implementacji powyższego rozwiązania planuje się wykorzystanie protokołu OLSR w wersji 2, którego mechanizmy rozpoznania najbliższego otoczenia węzła wymieniają dane cyklicznie, a jednocześnie pozwalają na przekazanie metryk łączy. Metryki te przesyłane są również w wiadomościach rozgłaszających informacje o topologii. W związku z tym, implementacja rozwiązania polegająca na estymacji czasów połączenia TOLA oraz rozłączenia TTLA nie wpłynie znacząco na funkcjonowanie protokołu routingu, a wymagać będzie jedynie modyfikacji algorytmu routingu poprzez dodanie mechanizmów interpretacji metryk. W kolejnym rozdziale zaprezentowany został sposób zbierania danych o czasach połączenia i rozłączenia pomiędzy węzłami, zaproponowany do zastosowania w implementacjach protokołu OLSRv2. 3. POMIARY CZASÓW POWIĄZAŃ W PROTOKOLE OLSRv2 Parametry czasowe TTLA oraz TOLA determinują informacje o czasach dostępności łączy lub węzłów sąsiednich. Parametr TTLA reprezentuje czas, kiedy łącze do węzła sąsiedniego jest nieaktywne, natomiast parametr TOLA jest czasem aktywności łącza. Czasy te powinny być przechowywane w lokalnych bazach węzłów z uruchomionym protokołem OLSR. Aktualizacja wpisów powinna następować podczas każdej aktualizacji w zbiorach Link Set (w przypadku łączy) oraz Neighbor Set (w przypadku węzłów sąsiednich) odpowiednio w bazach Interface Information Base oraz Neighbor Information Base. Stąd każda zmiana powiązania (np. łącze ze stanu nieaktywnego przechodzi w stan aktywny lub odwrotnie) z wybranym węzłem, o którym informacje znajdują się w lokalnej bazie, będzie wymuszała aktualizację parametrów czasowych (czasu połączenia oraz czasu rozłączenia). Jednocześnie powyższe bazy dla łączy i węzłów muszą zostać rozszerzone o dodatkowe pola. Do każdego wpisu w bazach opisujących łącze lub węzeł należy dodać pola przechowujące informacje o aktualnym czasie nawiązania powiązania z węzłem <L_up_time> (<N_up_time>) oraz jego utraty <L_down_time> (<N_down_time>). Dane z tych pól posłużą do estymacji parametrów TTLA oraz TOLA, które również powinny być dodawane do poszczególnych wpisów w bazach, opisujących łącza lub węzły. Poniżej przedstawiono przykładowy wpis w bazie łączy wg standardu RFC6130, opisujący łącze do węzła sąsiedniego i uzupełniony o wskazane wyżej informacje: ‒ Link Set: (L_neighbor_iface_addr_list, L_HEARD_time, L_SYM_time, L_quality, L_pending, L_lost, L_time, L_up_time, L_down_time, L_TTLA, L_ TOLA). ‒ Neighbor Set: (N_neighbor_addr_list, N_symmetric, N_up_time, N_down_time, N_TTLA, N_TOLA). Parametr L_up_time przyjmuje wartość aktualnego czasu systemowego w przypadkach aktywacji łącza. W protokole OLSRv2 zdarzenie takie może być zidentyfikowane, gdy flaga L_lost jest odznaczana (tj. przyjmuje wartość false). Natomiast parametr L_down_time również przyjmuje wartość aktualnego czasu systemowego węzła, ale w innych momentach aktualizacji baz danych wymuszanych zdarzeniami takimi, jak: zidentyfikowanie łącza, jako jednokierunkowe, ustawienie flagi L_lost na wartość true lub wygaśnięcia czasu trwania łącza L_time. Wartości parametrów TTLA oraz TOLA mogą być przeliczane w sposób trywialny, tj. liczona średnia z ostatniej wartości zapisanej w bazie oraz aktualnie zmierzonej. W zależności od wartości parametrów L_up_time oraz L_down_time, powinny być odpowiednio przeliczane metryki czasowe TTLA oraz TOLA, np., jak poniżej: • • jeśli L_up_time > L_down_time : o L_TTLA = (L_TTLAOLD + (L_up_time – L_down_time)) / 2 o L_TOLA = L_TOLAOLD jeśli L_up_time < L_down_time : o L_TTLA = L_TTLAOLD o L_TOLA = (L_TOLAOLD + (L_down_time – L_up_time)) / 2 Jak widać z powyższego, parametry TTLA i TOLA obliczane są, jako średnia ze zmierzonej wartości aktualnej czasu (odpowiednio połączenia lub rozłączenia) oraz ostatniej wartości przechowywanej w bazie. Procedura ta powinna być realizowana dla parametrów N_TTL i N_TOLA (tj. dla węzłów) na takich samych zasadach, jak dla łączy. Przedstawiona metoda obliczania wartości średniej jest tylko przykładową. Nie odzwierciedla ona rzeczywistego charakteru przyjmowanych wartości, a dla znacznych wariancji, wartości średnie praktycznie przyjmują charakter, jak dla wartości chwilowych, co uniemożliwia ich statystyczną interpretację oraz zastosowanie w proponowanym rozwiązaniu. 4. SYMULACJE I WYNIKI POMIARÓW CZASÓW POWIĄZAŃ W niniejszym rozdziale przedstawione zostały przykładowe wyniki testów symulacyjnych, których celem były pomiary czasów powiązań (czasu połączenia TOLA i rozłączenia TTLA) pomiędzy węzłami mobilnej sieci bezprzewodowej. Testy przeprowadzono z wykorzystaniem symulatora sieciowego OMNeT++ z dodatkiem udostępniającym modele sieci MANET oraz protokołu routingu OLSR. Moduł protokołu routingu zmodyfikowano zgodnie z opisem przedstawionym w rozdziale 3, w taki sposób, aby dokonywane były pomiary wartości czasów połączenia oraz rozłączenia pomiędzy wszystkimi parami węzłów sieci. Testy przeprowadzono dla sieci MANET składającej się z 10 węzłów przemieszczających się na obszarze 500m X 500m zgodnie z następującymi modelami mobilności: MassMobility, LinearRandom, Chiang oraz GaussMarkov. Prędkość przemieszczania węzłów była ustalana dla oddzielnych scenariuszy i wynosiła odpowiednio: 1, 2, 5, 10, 15 oraz 20m/s. Dodatkowo przeprowadzono testy dla scenariuszy ze zmienną ilością węzłów: 10, 15, 20, 30, 40, 50 oraz 100 węzłów poruszających się ze stałą prędkością oraz testy dla obszaru o wielkości 5km X 5km, po którym węzły poruszały się ze stałymi prędkościami wg scenariuszy dla obszaru 500m X 500m. Ponadto wykonano testy dla obszaru mniejszego, po którym węzły poruszały się ze stałą prędkością, ale w kolejnych scenariuszach zmieniana była moc nadawania w zakresie od 1mW do 100mW. Czas trwania symulacji pojedynczego scenariusza ustalono na 72h w celu uzyskania dużej ilości punktów pomiarowych. W każdym scenariuszu zbierane były wartości czasów połączenia oraz rozłączenia pomiędzy parami węzłów w celu oszacowania rozkładów tych czasów w zależności od wyżej wymienionych zmiennych parametrów. Otrzymane wykresy rozkładów dla wszystkich scenariuszy przyjmowały bardzo podobny kształt oraz charakter, również dla scenariuszy, dla których parametrem zmiennym był model mobilności węzłów. Charakterystyki różniły się głównie wartościami średnimi oraz wartościami odchylenia standardowego. Na poniższych rysunkach przedstawiono przykładowe rozkłady czasu połączenia dla scenariuszy z modelem mobilności Mas- sMobility i LinearRandom oraz węzłami poruszającymi się z prędkościami 1m/s (Rys. 1) oraz 10m/s (Rys. 2). Rys. 4. Rozkład czasów rozłączenia węzłów V=10m/s. Rys. 1. Rozkład czasów połączenia węzłów V=1m/s. Rys. 2. Rozkład czasów połączenia węzłów V=10m/s. Z powyższych wykresów widać, że rozkład czasów połączeń jest zależny od prędkości poruszania się węzłów, co wynika z czasu przebywania węzłów we wzajemnym zasięgu radiowym. Średnie wartości czasów połączenia dla węzłów poruszających się z prędkością 1m/s wynosiły ok. 444,2s (MassMobility) oraz 431,2s (LinearRandom), natomiast dla poruszających się z prędkością 10m/s ok. 35,3s (MassMobility) oraz 33,8s (LinearRandom). W przypadku małych prędkości poruszania się węzłów widać wyraźne przesunięcie maksimum rozkładu w kierunku mniejszych czasów dla modelu mobilności MassMobility przy podobnych średnich czasach połączenia. Pomimo tego, charakter rozkładu pozostał podobny. Na poniższych rysunkach przedstawione zostały rozkłady czasów rozłączenia dla ww. przypadków. Czasy rozłączenia pomiędzy parami węzłów również przyjmują podobny charakter rozkładu, lecz charakterystyki są bardziej płaskie. Wynika to z braku ograniczenia w postaci zasięgu radiowego tak, jak w przypadku czasów połączeń. Czas rozłączenia zależny jest tylko od losowych zmian ścieżek węzłów. Na rysunku 4 widocznych jest wyraźnie kilka maksimów dla przypadku modelu LinearRandom. Powstały one w efekcie nałożenia wyników pomiarów czasów zebranych od wszystkich węzłów. Czasy rozłączenia rozkładały się inaczej dla każdego z węzłów w wyniku ich odmiennych losowych tras przemieszczania się. Badania symulacyjne pomiarów czasów połączenia i rozłączenia potwierdziły ich zależność od takich parametrów, jak: prędkość węzłów, zasięg radiowy, obszar sieci, itp. W mniejszym stopniu lub wręcz w ogóle, na wartość tych czasów nie wpływała liczba węzłów w sieci oraz zastosowany model mobilności. W przypadku modeli, w których węzły poruszały się po mocno nieliniowych ścieżkach (np. Chiang) można było zauważyć większe rozproszenie wyników (większe odchylenie standardowe), a tym samym spłaszczenie charakterystyki rozkładu. Na rysunku 5 przedstawiono wykresy średniego czasu połączenia oraz odchylenia standardowego w zależności od prędkości węzłów dla modelu mobilności MassMobility, natomiast na rysunku 6 wykresy czasu rozłączenia. Rys. 3. Rozkład czasów rozłączenia węzłów V=1m/s. Rys. 5. Średni czas połączenia oraz odchylenie standardowe (V=1..20m/s, MassMobility) [2] [3] [4] [5] [6] Rys. 6. Średni czas rozłączenia oraz odchylenie standardowe (V=1..20m/s, MassMobility) 5. PODSUMOWANIE W niniejszym artykule przedstawiono ideę funkcjonowania routingu sieci MANET z predykcją czasów powiązań pomiędzy węzłami sieci. Protokół routingu, na bazie własnych wiadomości utrzymaniowych powinien dokonywać pomiarów czasów połączenia (TOLA) oraz rozłączenia (TTLA) z innymi węzłami sieci. Znajomość tych czasów pozwoli na odpowiednie reagowanie mechanizmów routingu, tj. wyznaczanie nowych tras zanim aktualne ulegną rozłączeniu, z uwzględnieniem ich czasu życia oraz wyznaczanie tras z uwzględnieniem węzłów w odniesieniu, do których przewidywane jest ich powiązanie w przewidywalnym czasie. Kluczowym elementem powyższego rozwiązania jest właściwe oszacowanie czasów TOLA oraz TTLA. Na podstawie przedstawionych testów symulacyjnych widać, że posiadają one w pewnym zakresie zdeterminowany charakter rozkładu prawdopodobieństwa. Wyniki pomiarów czasów są zbieżne z otrzymanymi przez autorów opracowania [6] dla innych modeli mobilności oraz scenariuszy, co może potwierdzać uniwersalność ich zastosowania w sieciach MANET. W kolejnych etapach pracy planowane jest opracowanie metody szacowania ww. czasów oraz ich prawdopodobieństwa. O ile w literaturze [2][3][4][5] można znaleźć propozycje szacowania czasu połączenia uzależniając go od parametrów takich, jak np. położenie węzłów, prędkość i kierunek przemieszczania się, o tyle szacowanie czasów rozłączenia nie zostało podjęte. Czas ten może mieć szczególne znaczenie w przypadku sieci typu DTN, gdzie stanem normalnym sieci jest stan braku powiązań pomiędzy węzłami. LITERATURA [1] Bryś Rafał, Zubel Krzysztof, Kącik Szymon, 2015 „Mechanizmy adaptacyjnej sieci ad-hoc wsparcia działań sieciocentrycznych - wyniki badań symula- [7] [8] [9] cyjnych", Przegląd Telekomunikacyjny - Wiadomości Telekomunikacyjne", ISSN 1230-3496 s. 12691276. Deva Priya, M. and M.L. Valarmathi, 2013, “A cross-layered path stability based routing protocol for wimax networks”, American Journal of Applied Sciences Volume 10, Issue 11, Pages 1325-1334. D.J. He, S.M. Jiang and J.Q. Rao, 2000, "Link availability prediction model for wireless ad hoc networks", Proc. 2000 International Conference on Distributed Computing System Workshop, Taipei, Taiwan. Hu, X., Wang, J., Wang, C., 2009 „Link stability prediction and its application to routing in mobile ad hoc networks”, Power Electronics and Intelligent Transportation System (PEITS), 2nd International Conference. Hu Xi, Li Zhe, Liu Jun, 2010, “A Link Stability Prediction-Based on-Demand Routing Protocol in Mobile”, Journal of Electronics & Information Technology. M. Gerharz, Ch. de Waal, M. Frank, P. Martini, 2002, “Link Stability in Mobile Wireless Ad Hoc Networks”, Local Computer Networks, LCN 2002. 27th Annual IEEE Conference. T. Clausen, C. Dearlove, J. Dean, C. Adjih, 2009, “Generalized Mobile Ad Hoc Network (MANET) Packet/Message Format”, RFC54444. T. Clausen, C. Dearlove, J. Dean, 2011, “Mobile Ad Hoc Network (MANET) Neighborhood Discovery Protocol (NHDP)”, RFC6130. T. Clausen, C. Dearlove, P. Jacquet, U. Herberg, 2014, “The Optimized Link State Routing Protocol Version 2”, RFC7181.