OLSR ( Optimized Link-State Routing ) er en routingprotokol til MANET , der også kan bruges i andre trådløse netværk. OLSR er en proaktiv routingprotokol, der bruger hej- og topologikontrolmeddelelser til at få netværkstopologioplysninger. Noderne bruger denne information til at bestemme det næste hop i den rutede pakkes sti. Det er en af de mest populære protokoller, der bruges til routing i MANET trådløse netværk [1] .
OLSR er baseret på en broadcast- mekanisme til opdatering af netværkstopologioplysninger . Et træk ved protokollen er, at denne information er kendt af alle knudepunkter i netværket. I OLSR sender værten en såkaldt HELLO besked. Ændringer i netværkstopologi detekteres af noder ved hjælp af modtagne HELLO-meddelelser fra naboer. Disse meddelelser indeholder den egen adresse på den node, der sendte denne meddelelse, samt en liste over alle dens tilgængelige naboer, deres adresser, der angiver typen af forbindelse (symmetrisk eller asymmetrisk). Således informerer knudepunktet sine naboer om de tilgængelige forbindelser. Hver abonnent gemmer information om sine en- (naboer) [2] og to-hop naboer (to-hop naboer) [3] . HELLO beskeder sendes med et bestemt interval. Hvis noden inden for et bestemt tidsrum ikke modtager en HELLO-besked fra en nabo, anses forbindelsen med den for at være brudt. Den tilsvarende ændring foretages i abonnentens netværkstopologitabel.
Ud over alt andet på netværket udsender noder med jævne mellemrum en TC-meddelelse (topologikontrol). Denne meddelelse indeholder information om abonnentens forbindelse med one-hop-naboer. Baseret på informationen modtaget fra TS- og HELLO-meddelelserne bygger noden en graf, der beskriver ideen om at bygge et netværk til denne node. Ved hjælp af denne graf opbygges en tabel over de korteste veje til informationsoverførsel til hver knude.
Det er klart, at der er en betydelig ulempe ved denne metode til at organisere kommunikation mellem noder. En naturlig situation er, når en to-hop-nabo kan være et-hop for to eller flere et-hop-naboer til den transmitterende knude. Så vil der blive skabt en situation, hvor to-hop-naboen vil modtage den samme HELLO besked flere gange. For at håndtere sådanne situationer tilbyder OLSR en metode til at optimere distributionen af netværksstatusinformation Multipoint Relay (MPR). Ifølge netværkstopologitabellen udvælger knudepunktet sådanne et-hop-naboer med en symmetrisk forbindelse, som er et-hop-naboer til mindst en to-hop-nabo af denne knude. Denne metode giver dig mulighed for at reducere broadcast-trafik [4] .
I skemaet er IP- og UDP-headerne udeladt.
0 | en | 2 | 3 | fire | 5 | 6 | 7 | otte | 9 | ti | elleve | 12 | 13 | fjorten | femten | 16 | 17 | atten | 19 | tyve | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | tredive | 31 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
pakke længde | pakkesekvensnummer | ||||||||||||||||||||||||||||||
meddelelsens overskrift | |||||||||||||||||||||||||||||||
Besked | |||||||||||||||||||||||||||||||
… | |||||||||||||||||||||||||||||||
meddelelsens overskrift | |||||||||||||||||||||||||||||||
Besked |
0 | en | 2 | 3 | fire | 5 | 6 | 7 | otte | 9 | ti | elleve | 12 | 13 | fjorten | femten | 16 | 17 | atten | 19 | tyve | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | tredive | 31 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
beskedtype | Vtime | besked størrelse | |||||||||||||||||||||||||||||
Ophavsmands adresse | |||||||||||||||||||||||||||||||
Tid til at leve | Humletælling | Meddelelsessekvensnummer | |||||||||||||||||||||||||||||
Besked |
HELLO beskeder bruges til at tydeliggøre den aktuelle netværkskonfiguration. Sendes med jævne mellemrum.
0 | en | 2 | 3 | fire | 5 | 6 | 7 | otte | 9 | ti | elleve | 12 | 13 | fjorten | femten | 16 | 17 | atten | 19 | tyve | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | tredive | 31 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
reserveret | Htime | Vilje | |||||||||||||||||||||||||||||
Link kode | reserveret | Linkmeddelelsesstørrelse | |||||||||||||||||||||||||||||
Naboens adresse | |||||||||||||||||||||||||||||||
… | |||||||||||||||||||||||||||||||
reserveret | Htime | Vilje | |||||||||||||||||||||||||||||
Link kode | reserveret | Linkmeddelelsesstørrelse | |||||||||||||||||||||||||||||
Naboens adresse | |||||||||||||||||||||||||||||||
… | |||||||||||||||||||||||||||||||
Naboens adresse |
Reserverede bits skal være 0 for at overholde specifikationen.
Htime ( Hej emissionsinterval ) Hyppighed af afsendelse af HELLO-beskeder. Vilje Nodens parathed til at videresende modtagne beskeder. Kan tage en værdi fra 0 (WILL_NEVER, vil ikke transmittere) til 7 (VIL_ALTIDEN, vil altid transmittere), inklusive. Værdien kan ændre sig afhængigt af nodens tilstand, dvs. hvis enheden kører på batteri, kan det reducere tilgængelighedsniveauet, efterhånden som batteriet falder. Link kode Karakteriserer den efterfølgende liste over naboer til denne node. Ifølge specifikationen skal den være mindre end 16 og skal indeholde to felter på to bit hver7 | 6 | 5 | fire | 3 | 2 | en | 0 |
---|---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | Nabotype | Link type |
Bruges til at formidle information om knudepunktets MPR-naboer.
0 | en | 2 | 3 | fire | 5 | 6 | 7 | otte | 9 | ti | elleve | 12 | 13 | fjorten | femten | 16 | 17 | atten | 19 | tyve | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | tredive | 31 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ANSN | reserveret | ||||||||||||||||||||||||||||||
Naboens adresse | |||||||||||||||||||||||||||||||
… | |||||||||||||||||||||||||||||||
Naboens adresse |