DSR

Dynamic Source Routing (DSR) este un protocol de rutare pentru MANET cu o topologie mesh . Similar cu AODV prin faptul că generează și o rută la cerere prin trimiterea unei cereri de difuzare. Cu toate acestea, utilizează rutarea explicită fără a se baza pe tabelele de rutare de pe fiecare dispozitiv intermediar. În plus, multe instanțieri ulterioare au fost făcute pentru DSR, inclusiv DSR-Flow (un hibrid de rutare explicită și rutare tabelă).

Specificarea explicită a unei rute necesită acumularea adreselor fiecărui dispozitiv între sursă și destinație pe măsură ce este căutată. Informațiile despre calea acumulată sunt actualizate de nodurile care procesează cererile de difuzare de la sursă. Căile învățate în acest fel sunt folosite pentru a ruta pachetele. Ca rezultat, pachetele rutate conțin adresa fiecărui dispozitiv prin care au trecut. Datorită creșterii antetelor de pachete, acest lucru poate duce la trafic de supraîncărcare pentru căi lungi sau adrese mari, ca în IPv6 . Pentru astfel de situații, DSR-Flow definește o opțiune „flow id” care permite trimiterea pachetelor conform tabelelor de rutare (poate fi activată pentru rute îndepărtate).

Datorită setării explicite a rutelor, toate informațiile despre acestea sunt actualizate continuu de nodurile mobile (atâta timp cât datele circulă prin ele). Acest lucru evită necesitatea verificărilor periodice ale rutei (spre deosebire de AODV ). Ca urmare, rămân doar fazele de căutare și suport. În orice caz, ruta este generată numai dacă mesajul de solicitare a ajuns la nodul de destinație dorit (ca răspuns, se adaugă lanțul de noduri acumulat în cerere).

Pentru a trimite un răspuns la o solicitare, nodul destinație trebuie să aibă o rută către nodul sursă. Dacă ruta ar fi în cache, ar fi folosită intrarea din cache. În caz contrar, ruta către nodul sursă va fi determinată pe baza căii pachetului de solicitare stocat în lanț (acest lucru necesită ca toate legăturile din rețea să fie simetrice). În cazul unei transmisii cu succes a răspunsului, se inițializează suportul, prin care pachetele care anunță o eroare de transmisie vor fi luate în considerare de către nod. Ca rezultat, legătura coruptă va fi eliminată din memoria cache a rutei nodului, la fel ca toate rutele care conțin această legătură. Faza de găsire a unei noi căi viabile va fi apoi reinițiată.

Dynamic Source Routing (DSR) la cerere a fost conceput pentru a reduce traficul consumat de pachetele de control în rețelele fără fir prin eliminarea mesajelor de actualizare a tabelelor necesare în abordarea de rutare bazată pe tabel. Principala diferență între acesta și alte protocoale de rutare reactive este că nu are „beacons” și, prin urmare, nu necesită transmiterea periodică a unui pachet hello, care este folosit de un nod pentru a informa vecinii despre prezența acestuia. Abordarea de bază a acestui protocol (precum și a altor protocoale de rutare reactive) este aceea că în timpul fazei de construcție a rutei, un nod stabilește o rută prin difuzarea pachetelor RouteRequest prin rețea. Nodul destinație, la primirea unui pachet RouteRequest, răspunde prin trimiterea unui pachet RouteReply înapoi la sursa care transportă ruta parcursă de pachetul RouteRequest primit.

Luați în considerare un nod sursă care nu are nicio rută către destinație. Când are pachete de date de trimis la destinație, inițializează un pachet RouteRequest care se propagă prin rețea. Fiecare nod, după ce a primit pachetul RouteRequest, retransmite pachetul către vecinii săi (dacă nu a transmis deja, deoarece o copie a pachetului poate veni la el de la alt nod), cu condiția ca nodul să nu fie destinația și pachetul timpul de viață ( TTL ) nu a fost depășit. Fiecare RouteRequest are un număr de secvență generat de nodul sursă și de nodurile prin care a trecut. Un nod, la primirea unui pachet RouteRequest, verifică numărul de secvență de pe pachet înainte de a-l trimite. Pachetul este trimis numai dacă nu este un RouteRequest duplicat. Numărul de secvență de pe pachet este utilizat pentru a preveni bucla și pentru a evita transmisiile multiple ale aceluiași RouteRequest de către un nod intermediar care îl primește prin mai multe canale. Astfel, toate nodurile, cu excepția destinației, trimit un pachet RouteRequest în timpul fazei de generare a rutei. Nodul destinație, după ce a primit primul pachet RouteRequest, răspunde sursei prin calea de întoarcere pe care a traversat-o pachetul RouteRequest. Nodurile pot afla, de asemenea, despre rutele învecinate parcurse de pachetele de date dacă este setat modul promiscuitate (un mod de operare în care un nod poate primi pachete care nu sunt transmise și care nu îi sunt adresate). Acest cache de rută este folosit și în timpul fazei de generare a rutei. Dacă un nod intermediar care primește un RouteRequest are o rută către nodul destinație în cache de rută, atunci răspunde nodului sursă trimițând un RouteReply cu toate informațiile despre rută de la nodul sursă la nodul destinație.

Avantaje și dezavantaje

Acest protocol folosește o abordare reactivă care elimină necesitatea poluării periodice a rețelei cu mesaje de actualizare a tabelului, care sunt necesare în abordarea tabelului de rutare. În protocoalele reactive (la cerere), o rută este stabilită numai atunci când este necesară și, prin urmare, nu este nevoie să găsiți căi către toate celelalte noduri din rețea, așa cum se face în abordarea de rutare bazată pe tabel. Nodurile intermediare folosesc, de asemenea, eficient informațiile din memoria cache a rutei pentru a reduce supraîncărcarea. Dezavantajul acestui protocol este că mecanismul local de întreținere a rutei nu recuperează conexiunile întrerupte. Informațiile învechite din memoria cache a rutei pot duce, de asemenea, la inconsecvențe în timpul fazei de reconstrucție a rutei. Latența stabilirii unei conexiuni este mai mare decât în ​​protocoalele care utilizează tabele. Chiar dacă protocolul funcționează bine în medii statice și cu mobilitate redusă a nodurilor, performanța se degradează rapid odată cu creșterea mobilității. În plus, o suprasarcină semnificativă de rutare provine din rutarea sursă utilizată în DSR. Aceste costuri sunt direct proporționale cu lungimea traseului.

Link -uri