OLSR ( Optimized Link-State Routing ) este un protocol de rutare pentru MANET care poate fi folosit și în alte rețele wireless. OLSR este un protocol de rutare proactiv care utilizează mesageria de control al topologiei și salut pentru a obține informații despre topologia rețelei. Nodurile folosesc aceste informații pentru a determina următorul hop din calea pachetului rutat. Este unul dintre cele mai populare protocoale utilizate pentru rutarea în rețelele fără fir MANET [1] .
OLSR se bazează pe un mecanism de difuzare pentru actualizarea informațiilor despre topologia rețelei . O caracteristică a protocolului este că această informație este cunoscută de fiecare nod din rețea. În OLSR, gazda trimite un așa-numit mesaj HELLO. Modificările în topologia rețelei sunt detectate de noduri folosind mesajele HELLO primite de la vecini. Aceste mesaje conțin adresa proprie a nodului care a trimis această notificare, precum și o listă cu toți vecinii săi disponibili, adresele acestora, indicând tipul de conexiune (simetrică sau asimetrică). Astfel, nodul își informează vecinii despre conexiunile de care dispune. Fiecare abonat stochează informații despre vecinii săi cu unul (vecini) [2] și cu doi hop (vecini cu doi hop) [3] . Mesajele HELLO sunt trimise la un interval specificat. Dacă într-un anumit timp nodul nu primește un mesaj HELLO de la un vecin, atunci conexiunea cu acesta este considerată întreruptă. Modificarea corespunzătoare se face în tabelul de topologie a rețelei abonatului.
În plus față de orice altceva din rețea, nodurile difuzează periodic un mesaj TC (control topologie). Acest mesaj conține informații despre conexiunea abonatului cu vecinii one-hop. Pe baza informațiilor primite din mesajele TS și HELLO, nodul construiește un grafic care descrie ideea de a construi o rețea pentru acest nod. Folosind acest grafic, este construit un tabel cu cele mai scurte căi pentru transferul de informații către fiecare nod.
Evident, există un dezavantaj semnificativ în această metodă de organizare a comunicării între noduri. O situație naturală este atunci când un vecin cu două salturi poate fi un singur salt pentru doi sau mai mulți vecini cu un singur salt ai nodului de transmisie. Apoi va fi creată o situație în care vecinul cu două hop va primi același mesaj HELLO de mai multe ori. Pentru a face față unor astfel de situații, OLSR oferă o metodă de optimizare a distribuirii informațiilor despre starea rețelei Multipoint Relay (MPR). Conform tabelului de topologie a rețelei, nodul selectează astfel de vecini cu un singur salt cu o conexiune simetrică care sunt vecini cu un singur salt a cel puțin unui vecin cu două salturi ale acestui nod. Această metodă vă permite să reduceți traficul de difuzare [4] .
În schemă, anteturile IP și UDP au fost omise.
0 | unu | 2 | 3 | patru | 5 | 6 | 7 | opt | 9 | zece | unsprezece | 12 | 13 | paisprezece | cincisprezece | 16 | 17 | optsprezece | 19 | douăzeci | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | treizeci | 31 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
lungimea pachetului | numărul secvenței pachetului | ||||||||||||||||||||||||||||||
titlul mesajului | |||||||||||||||||||||||||||||||
Mesaj | |||||||||||||||||||||||||||||||
… | |||||||||||||||||||||||||||||||
titlul mesajului | |||||||||||||||||||||||||||||||
Mesaj |
0 | unu | 2 | 3 | patru | 5 | 6 | 7 | opt | 9 | zece | unsprezece | 12 | 13 | paisprezece | cincisprezece | 16 | 17 | optsprezece | 19 | douăzeci | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | treizeci | 31 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
tipul mesajului | Vtime | dimensiunea mesajului | |||||||||||||||||||||||||||||
Adresa inițiatorului | |||||||||||||||||||||||||||||||
Timpul sa traiesti | Hop Count | Numărul secvenței mesajului | |||||||||||||||||||||||||||||
Mesaj |
Mesajele HELLO sunt folosite pentru a clarifica configurația curentă a rețelei. Expediat periodic.
0 | unu | 2 | 3 | patru | 5 | 6 | 7 | opt | 9 | zece | unsprezece | 12 | 13 | paisprezece | cincisprezece | 16 | 17 | optsprezece | 19 | douăzeci | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | treizeci | 31 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
rezervat | Htime | Disponibilitate | |||||||||||||||||||||||||||||
Cod de legătură | rezervat | Dimensiunea mesajului link | |||||||||||||||||||||||||||||
Adresa vecinului | |||||||||||||||||||||||||||||||
… | |||||||||||||||||||||||||||||||
rezervat | Htime | Disponibilitate | |||||||||||||||||||||||||||||
Cod de legătură | rezervat | Dimensiunea mesajului link | |||||||||||||||||||||||||||||
Adresa vecinului | |||||||||||||||||||||||||||||||
… | |||||||||||||||||||||||||||||||
Adresa vecinului |
Biții rezervați trebuie să fie 0 pentru a respecta specificația.
Htime ( Interval de emisie Hello ) Frecvența trimiterii mesajelor HELLO. Disponibilitate Disponibilitatea nodului de a redirecționa mai departe mesajele primite. Poate lua o valoare de la 0 (WILL_NEVER, nu va transmite) la 7 (WILL_ALLWAYS, va transmite întotdeauna), inclusiv. Valoarea se poate modifica în funcție de starea nodului, adică dacă dispozitivul funcționează pe baterie, acesta poate scădea nivelul de disponibilitate pe măsură ce bateria scade. Cod de legătură Caracterizează lista ulterioară de vecini ai acestui nod. Conform specificației, acesta trebuie să fie mai mic de 16 și trebuie să conțină două câmpuri a câte doi biți fiecare7 | 6 | 5 | patru | 3 | 2 | unu | 0 |
---|---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | Tipul de vecin | Tip link |
Folosit pentru a transmite informații despre vecinii MPR ai nodului.
0 | unu | 2 | 3 | patru | 5 | 6 | 7 | opt | 9 | zece | unsprezece | 12 | 13 | paisprezece | cincisprezece | 16 | 17 | optsprezece | 19 | douăzeci | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | treizeci | 31 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ANSN | rezervat | ||||||||||||||||||||||||||||||
Adresa vecinului | |||||||||||||||||||||||||||||||
… | |||||||||||||||||||||||||||||||
Adresa vecinului |