OLSR ( Optimized Link-State Routing ) je směrovací protokol pro MANET , který lze použít i v jiných bezdrátových sítích. OLSR je proaktivní směrovací protokol, který k získávání informací o topologii sítě využívá zasílání zpráv hello a topology control mess. Uzly používají tyto informace k určení dalšího skoku v cestě směrovaného paketu. Je to jeden z nejpopulárnějších protokolů používaných pro směrování v bezdrátových sítích MANET [1] .
OLSR je založen na mechanismu vysílání pro aktualizaci informací o topologii sítě . Charakteristickým rysem protokolu je, že tyto informace zná každý uzel v síti. V OLSR hostitel odešle tzv. HELLO zprávu. Změny v topologii sítě jsou detekovány uzly pomocí přijatých HELLO zpráv od sousedů. Tyto zprávy obsahují vlastní adresu uzlu, který toto upozornění odeslal, a také seznam všech jeho dostupných sousedů, jejich adresy s uvedením typu připojení (symetrické nebo asymetrické). Uzel tedy informuje své sousedy o spojeních, která má k dispozici. Každý účastník ukládá informace o svých jedno- (sousedech) [2] a dvou-hop sousedech (dvou-hop sousedech) [3] . Zprávy HELLO jsou odesílány ve stanoveném intervalu. Pokud do určité doby uzel neobdrží zprávu HELLO od souseda, pak se spojení s ním považuje za přerušené. Odpovídající změna se provede v tabulce topologie sítě účastníka.
Kromě všeho ostatního v síti uzly pravidelně vysílají zprávu TC (topology control). Tato zpráva obsahuje informace o spojení účastníka s jednoskokovými sousedy. Na základě informací přijatých ze zpráv TS a HELLO sestaví uzel graf, který popisuje myšlenku vybudování sítě pro tento uzel. Pomocí tohoto grafu je vytvořena tabulka nejkratších cest pro přenos informací do každého uzlu.
Je zřejmé, že tento způsob organizace komunikace mezi uzly má významnou nevýhodu. Přirozená situace je, když dvouskokový soused může být jednoskokový pro dva nebo více jednoskokových sousedů vysílacího uzlu. Poté se vytvoří situace, kdy dvouskokový soused obdrží stejnou zprávu HELLO několikrát. Pro řešení takových situací poskytuje OLSR metodu optimalizace distribuce informací o stavu sítě Multipoint Relay (MPR). Podle tabulky topologie sítě uzel vybírá takové jednoskokové sousedy se symetrickým spojením, které jsou jednoskokovými sousedy alespoň jednoho dvouskokového souseda tohoto uzlu. Tato metoda umožňuje snížit přenos vysílání [4] .
Ve schématu byly vynechány hlavičky IP a UDP.
0 | jeden | 2 | 3 | čtyři | 5 | 6 | 7 | osm | 9 | deset | jedenáct | 12 | 13 | čtrnáct | patnáct | 16 | 17 | osmnáct | 19 | dvacet | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | třicet | 31 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
délka balíčku | pořadové číslo paketu | ||||||||||||||||||||||||||||||
titulek zprávy | |||||||||||||||||||||||||||||||
Zpráva | |||||||||||||||||||||||||||||||
… | |||||||||||||||||||||||||||||||
titulek zprávy | |||||||||||||||||||||||||||||||
Zpráva |
0 | jeden | 2 | 3 | čtyři | 5 | 6 | 7 | osm | 9 | deset | jedenáct | 12 | 13 | čtrnáct | patnáct | 16 | 17 | osmnáct | 19 | dvacet | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | třicet | 31 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
typ zprávy | Vtime | velikost zprávy | |||||||||||||||||||||||||||||
Adresa původce | |||||||||||||||||||||||||||||||
Čas žít | Hop Count | Pořadové číslo zprávy | |||||||||||||||||||||||||||||
Zpráva |
Zprávy HELLO slouží k objasnění aktuální konfigurace sítě. Pravidelně odesíláno.
0 | jeden | 2 | 3 | čtyři | 5 | 6 | 7 | osm | 9 | deset | jedenáct | 12 | 13 | čtrnáct | patnáct | 16 | 17 | osmnáct | 19 | dvacet | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | třicet | 31 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Rezervováno | Htime | Ochota | |||||||||||||||||||||||||||||
Kód odkazu | Rezervováno | Velikost odkazové zprávy | |||||||||||||||||||||||||||||
Adresa souseda | |||||||||||||||||||||||||||||||
… | |||||||||||||||||||||||||||||||
Rezervováno | Htime | Ochota | |||||||||||||||||||||||||||||
Kód odkazu | Rezervováno | Velikost odkazové zprávy | |||||||||||||||||||||||||||||
Adresa souseda | |||||||||||||||||||||||||||||||
… | |||||||||||||||||||||||||||||||
Adresa souseda |
Rezervované bity musí být 0, aby vyhovovaly specifikaci.
Htime ( Hello emisní interval ) Frekvence zasílání zpráv HELLO. Ochota Připravenost uzlu předávat přijaté zprávy dále. Může nabývat hodnoty od 0 (WILL_NEVER, nebude vysílat) do 7 (WILL_ALWAYS, bude vždy vysílat), včetně. Hodnota se může měnit v závislosti na stavu uzlu, tj. pokud je zařízení napájeno z baterie, může s ubývající baterií snižovat úroveň dostupnosti. Kód odkazu Charakterizuje následný seznam sousedů tohoto uzlu. Podle specifikace musí být menší než 16 a musí obsahovat dvě pole po dvou bitech7 | 6 | 5 | čtyři | 3 | 2 | jeden | 0 |
---|---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | Typ souseda | Typ odkazu |
Používá se k přenosu informací o sousedech uzlu MPR.
0 | jeden | 2 | 3 | čtyři | 5 | 6 | 7 | osm | 9 | deset | jedenáct | 12 | 13 | čtrnáct | patnáct | 16 | 17 | osmnáct | 19 | dvacet | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | třicet | 31 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ANSN | Rezervováno | ||||||||||||||||||||||||||||||
Adresa souseda | |||||||||||||||||||||||||||||||
… | |||||||||||||||||||||||||||||||
Adresa souseda |