Universitatea Politehnica Bucureşti Facultatea de Automatică şi Calculatoare Departamentul de Automatică şi Ingineria Sistemelor LUCRARE DE LICENŢĂ Monitorizarea mediului folosind tehnologia MANET. Protocoale proactive vs. protocoale reactive Absolvent Cosmin Daniel Desagă Coordonator Ș.L.dr.ing. Ioan Ștefan Sacală Bucureşti, 2013
50
Embed
LUCRARE DE LICENŢĂ - acse.pub.roacse.pub.ro/wp-content/uploads/2013/07/Licenta_Desagă_CosminDaniel... · senzorii folosiți, microcontroller-ul poate fi încorporat sau nu în
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Universitatea Politehnica Bucureşti
Facultatea de Automatică şi Calculatoare
Departamentul de Automatică şi Ingineria Sistemelor
Tabelul 3.1 Caracteristici generale ale protocoalelor de rutare proactive
Protocol SR Numărul tabelelor de rutare Frecvența de updatare HM Noduri critici Caracteristici generale
DSDV P 2 Periodic și la cerere Da Nu Fără loop-uri
WRP P 4 Periodic Da Nu Fără loop-uri folosind informațiile
procesorului
GSR P 3 și o listă a vecinilor disponibili Periodic și local cu nodurile
vecine Nu
Nu Update-uri locale
FSR P La fel ca GSR Periodic și local cu nodurile
vecine Nu
Nu Controlarea frecvenței de update
STAR I 1 și 5 liste Condiționat, doar dacă
apar evenimente noi Nu
Nu Folosește LORA și/sau ORA.
DREAM P 1 Bazat pe mobilitate Nu Nu Controlează frecvența de update prin
mobilitate și distanță
MMWN I Păstrează o bază de date Condiționat, doar dacă
apar evenimente noi Nu
Da, manager de
localizare LORA și minimizează congestiile
CGSR I 2 Periodic Nu Da, clusterhead Clusterhead schimbă informațiile de rutare
HSR I 2 (tabelă link-state și
managementul locațiilor) Periodic în fiecare rețea Nu Da, clusterhead Congestii minimale și structură ierarhică
OLSR P 3 (rutare, vecini și topologie) Periodic Da Nu Reduce congestiile folosind MPR
TBRPF P 1 tabelă și 4 liste Periodic și diferențial Da Da, nod părinte Broadcast-ul cu uopdatarea topologiei sunt
trimise prin STP (spanning tree protocol)
SR = structura de rutare; P = plană; I = ierarhică; HM = mesaj de tip hello; LORA = „least overhead routing approach”; ORA = „optimum routing approach”ș
19
Tabelul 3.2 Compararea complexității protocoalelor de rutare proactive
Protocol Durata de acoperire Overhead de memorie Control overhead Avantaje/Dezavantaje
DSDV 𝑂 𝐷 ∙ 𝐼 𝑂 𝑁 𝑂 𝑁 Fără loop-uri/overhead mare
WRP 𝑂 ℎ 𝑂 𝑁2 𝑂 𝑁 Fără loop-uri/overhead de memorie
GSR 𝑂 𝐷 ∙ 𝐼 𝑂 𝑁2 𝑂 𝑁 Update-uri localizate/overhead de memorie mare
FSR 𝑂 𝐷 ∙ 𝐼 𝑂 𝑁2 𝑂 𝑁 Reduce control overhead/overhead de memorie mare, precizie
scazută
STAR 𝑂 𝐷 𝑂 𝑁2 𝑂 𝑁 Control overhead scăzut/overhead de memorie și procesare
DREAM 𝑂 𝑁 ∙ 𝐼 𝑂 𝑁 𝑂 𝑁 Reduce overhead-ul de control și memorie/necesita GPS
MMWN 𝑂 2𝐷 𝑂 𝑁 𝑂 𝑋 + 𝐸 Control overhead scăzut/management-ul mobilității și
mentenanța clusterului
CGSR 𝑂 𝐷 𝑂 2𝑁 𝑂 𝑁 Reduce overhead-ul de control/crearea și mentenanța clusterului
OLSR 𝑂 𝐷 ∙ 𝐼 𝑂 𝑁2 𝑂 𝑁2 Control overhead scăzut/necesită informații despre 2 noduri
vecine.
TBRPF 𝑂 𝐷 sau 𝐷 + 2 în cazul
deconectărilor 𝑂 𝑁2 + 𝑂 𝑁 + 𝑂 𝑁 + 𝑉 𝑂 𝑁2 Control overhead scăzut/ overhead de memorie mare
1 = este transmis un număr fix de tabele de rurtare; V = numărul nodurilor vecine; N = numărul de noduri din rețea; n = numărul mediu de noduri logice din
cluster; I = intervalul mediu de updatare; D = diametrul rețelei; S = numărul de subneturi virtuale; h = înalțimea arborelui de rutare; X = numărul total de LM; J =
intervalul de înregistrare a nodurilor la stația home; L = numărul de nivele ierarhice.
20
Protocolul de rutare DSDV (Destination-Sequence Distance-Vector) a fost
unul dintre primele protocoale de rutare implementat de cercetătorii Perkins și
Bhagwat. Ca orice protocol de rutare de tip distance-vector, el are la bază algoritmul
Bellman-Ford. Fiecare nod păstrează o tabelă de rutare cu fiecare nod din rețea și
informații despre distanța dintre ele. Numărul de ordine (sequence number) al
pachetelor este folosit pentru a evita loop-urile și congestiile de date. Mai mult decât
atât, DSDV folosește două tipuri de update-uri periodice – full dump și incrementale.
Update-ul de tip full dump trimite întreaga tabelă de rutare vecinilor și poate
necesita mai multe pachete de date, în timp ce update-urile incrementale sunt mai
mici (de obicei sunt de marimea unui pachet de date), și sunt folosite pentru a anunța
doar schimbările din tabela de rutare. După ce rețeaua devine stabilă nu mai sunt
necesare update-uri de tip full dump ci sunt folosite doar update-uri incrementale.
Pe de altă parte, o rețea cu o mobilitate crescută va duce la update-uri de tip full
dump mai dese. De asemenea, acest protocol nu este potrivit pentru rețele de mari
dimensiuni deoarece o foarte mare parte din traficul de date va fi folosit pentru a
păstra tabela de rutare updatată.
În (Boukerche et al., 2001) este descris pe larg un mecanism random de
control al congestiei ce poate fi folosit de DSDV. Mecanismul R-DSDV constă în
transmiterea mesajelor de control folosind probabilitatea de distribuție a rutării.
Practic, un nod care este suprasolicitat poate direcționa conexiunea către o ruta liberă
sau mai puțin aglomerată. În general, protocolul DSDV trimite periodic mesaje de
update cu o probabilitate 𝑃𝑟𝑛 , chiar dacă există sau nu schimbări în rețea, în timp ce,
prin folosirea mecanismului R-DSDV, probabilitatea de transmitere a mesajelor este
𝑃𝑟𝑛 ,𝑢𝑝𝑑𝑎𝑡𝑒 pentru un nod n din rețea. Acest lucru poate reduce congestia, dar va crea
o întârziere în procesul de actualizare al tuturor nodurilor. În urma implementării
acestui mecanim, rata de transmitere a anunțurilor de rețea va fi 𝜌𝑛 = 𝐹𝑠𝑒𝑛𝑑 × 𝑃𝑟𝑛 ,𝑢𝑝𝑑 ,
unde 𝐹𝑠𝑒𝑛𝑑 reprezintă frecvența cu care un nod este lăsat să transmită datele.
Murthy și Garcia-Luna-Aceves au propus protocolul de rutare wireless,
WRP, care asigură eliminarea loop-urilor de rețea și evitarea loop-urile temporare
folosind informațiile din trecut, dar necesită 4 tabele de rutare diferite. Folosirea unui
număr așa mare de tabele de rutare necesită din ce în ce mai multă memorie - cu cât
numărul nodurilor rețelei crește. De asemenea, un alt dezavantaj al WRP constă în
utilizarea mesajelor de tip hello pentru update-uri. Mesajele „hello” sunt trimise între
vecini chiar dacă nu au existat modificări în rețea, fapt ce ocupă o mare parte din
banda de transmisie și consumă foarte multă energie electrică (nodurile nu pot intra
în sleep mode pentru a conserva energia).
Un alt protocol proactiv este GSR (global state routing) și a fost introdus de
cercetătorii Chen și Gerla. GSR reprezintă o îmbunătățire a modului în care
informația este împărțită de către algoritmul Link State, mai exact reduce numărul
mesajelor de update prin restricționarea acestora doar între vecini. Fiecare nod din
rețea va avea astfel o listă cu vecinii și 3 tabele de rutare cu: topologia, next hop și
21
distanța din ele. În tabela topologiei se regăsesc informații despre starea legăturilor și
un indicator de timp (reprezintă durata, în ms, necesară stabilirii conexiunii), tabela
next hop conține o listă a vecinilor spre care se pot trimite mai departe mesajele, iar
tabela distanțelor păstrează informații despre cea mai scurtă rută dintre nod și
destinații variate.
La inițializarea conexiunii cu ajutorul protocolului GSR fiecare nod pornește
cu tabele de rutare și lista vecinilor goale, urmând să învețe informații despre vecini
din câmpul „sender” (inițiator) al pachetelor sosite. După realizarea tabelei topoligie
și calcularea celei mai bune rute către destinație, informațiile sunt impărțite între
vecini cu ajutorul broadcast-ului. Procesul de transmitere a tabelelor de rutare se
repetă periodic pentru ca fiecare nod să aibă o viziune completă asupra rețelei și
vecinilor săi. Procesul de updatare este destul de costisitor necesitând lățime de
bandă mare.
3.3.2 Protocoale reactive
Pentru a reduce overhead-urile frecvente din rândul protocoalelor proactive,
s-au pus bazele protocoalelor reactive care păstrează informații doar despre
conexiunile active. Pe scurt nodurile caută și stabilesc o conexiune cu un nod
destinație doar în cazul în care doresc să transmită informații. Mecanismul de
descoperire a rutei spre destinație conține următorii pași:
Pasul 1: Nodul sursă trimite prin toată rețeaua (broadcast) o cerere de
inițializare (ReqM) a transmisiei către nodul destinație;
Pasul 2: Când un nod ce cunoaște o rută spre destinație sau chiar nodul
destinație primesc ReqM, vor transmite un mesaj către inițiator
(RepM) prin care îl anunța ruta pe care poate transmite;
Pasul 3: Dacă mesajul RepM ajunge la destinație pe aceeași ruta atunci se
va stabili conexiune, dacă ruta este diferită se va relua procesul de la
pasul 1;
Pasul 4: Identificarea rutei va iniția procesul de transmitere a datelor;
Astfel timpul de descoperire al rutei, în cel mai rău caz posibil, va fi 𝑂 𝑁 + 𝑀 , unde
N – numărul nodurilor din rețea, iar M – numărul nodurilor din mesajul răspuns, iar
în cazul unei conexiuni bidirecționale, durata de descoperire a rutei va fi 𝑂 2𝑁 .
La rândul lor, protocoale reactive au fost clasificate în doua mari categorii: cu
rutarea adresei – fiecare pachet trimis conține ruta exactă ce trebuie urmată de la
început până la sfarșit – și rutare din nod în nod – fiecare pachet conține doar nodul
destinație și următorul nod. Protocoale reactive ce folosesc metoda cu rutarea adresei
au avantajul că nodurile nu sunt nevoite să păstreze informații despre toate
conexiunile active, ele doar trimițând mai departe pachetele în concordanță cu
informațiile din header-ul pachetului. Mai mult decât atât, nodurile nu sunt nevoite
să păstreze o conexiune activă cu vecinii prin mesaje redundante și periodice. Ca
22
orice alt tip de protocoale și acesta are minusurile sale, mai exact 2 dezavantaje
majore: în primul rând, cu cât numărul nodurilor intermediare dintr-o ruta este mai
mare cu atât șansele de a avea pierderi de conexiuni cresc. Pentru a explica mai bine,
vom considera 𝑃 𝑓 probabilitatea ca o ruta să se deconecteze cu 𝑃 𝑓 = 𝑝 ∙ 𝑛, unde p
este probabilitatea ca o legătură să se deconecteze iar n este numărul de noduri
intermediare din rută. Se poate observa că atunci când 𝑛 → ∞ și 𝑃 𝑓 → ∞. În al
doilea rând, creșterea nodurilor intermediare dintr-o ruta va determina creșterea
dimensiunilor pachetelui deoarece header-ul devine din ce în ce mai mare, fapt ce
face ca acest tip de rutare sa nu scaleze în rețele de mari dimensiuni cu un nivel
considerabil de multihop-uri și mobilitate. A doua categorie de protocoale, punct la
punct sau din nod în nod, au avantajul că rutele se pot adapta la schimbările
dinamice ale rețelelor MANET, deoarece fiecare nod își modifică tabela de rutare la
fiecare mesaj cu informații despre schimbările de topologie, astfel, folosind de fiecare
dată căi actualizate și mai bune spre destinație. Folosire rutelor actualizate nu
necesită operații suplimentare pe durata transmisiei. Dezavantajul principal al acestei
categorii constă în faptul că fiecare nod intermediar trebuie să stocheze și să
actualizeze informații despre fiecare rută existentă și informații despre vecinii săi.
Ca și în cazul protocoalelor proactive, în (M. Abolhasan et al., 2004), a fost
realizată o comparație a diferitelor tipuri de protocoale reactive. În Tabelul 3.3 se pot
observa caracteristicile generale ale fiecărui protocol, iar în Tabelul 3.4 este vorba de o
evaluare teoretică a performanțelor protocoalelor reactive. De menționat faptul că
metrica de perfomanță reprezintă cel mai rau caz posibil pentru fiecare protocol în
parte.
Unul dintre cele mai cunoscute protocoale de rutare reactive este „Dynamic
Source Routing” (DSR) , propus de Johnson et al. [ ]. DSR are la bază un algoritm de
rutare la cerere/„on-demand” cu etape de descoperire și păstrare a rutei. A fost
gândit să micșoreze traficul consumat de controlul pachetelor prin eliminarea
mesajelor de actualizare periodice. Johnson [ ] a împărțit problema rutării în două:
descoperirea rutelor și păstrarea rutelor. Astfel pentru ca un nod să comunice cu un
alt nod din rețea va trebui ca inițial să descopere o rută disponibilă ce o va folosi
până când vor apărea schimbări sau întreruperi.
În procesul de descoperire a rutei, nodul sursă trimite un pachet
CerereRută,pentru a identifica cea mai scurtă cale spre destinație. Fiecare nod care
primește Cererea, se va adauga în header-ul pachetului și va trimite, o singură dată,
pachetul mai departe; când nodul destinație primește un pachet de tip CerereRută
acesta va răspunde nodului destinație printr-un mesaj RăspunsRută transmis pe
aceeași cale. Nodul destinație va trimite câte un mesaj RăspunsRută pentru fiecare
mesaj CerereRută primit, iar nodului sursă îi revine obligația de a selecta calea cea
mai scurtă. Fiecare mesaj CerereRută conține un număr de ordine generat de nodul
sursă și în header conține calea urmată. Numărul de ordine al pachetului este folosit
pentru a preveni crearea loop-urilor și retransmiterea aceluiași pachet primit pe alte
23
Tabelul 3.3 Caracteristici generale ale protocoalelor de rutare reactive
Protocol SR Rute multiple Mesaje periodice Metoda de calculare a metrici Rutele sunt păstrate în Strategia de reconfigurare a rutei
AODV P Nu Da, mesaje hello Ruta actualizată și SP Tabelă de rutare Șterge ruta și apoi anunță inițiatorul sau
repară ruta local
DSR P Da Nu SP sau următoarea disponibilă
în cache-ul de rutare Cache-ul de rutare Șterge ruta și anunță inițiatorul
ROAM P Da Nu SP Tabelă de rutare Șterge ruta și incearcă să gasească o cale de
la el spre destinație
LMR P Da Nu SP sau următoarea disponibilă Tabelă de rutare Restabilirea conexiune și repararea rutei
TORA P Da Nu SP sau următoarea disponibilă Tabelă de rutare Restabilirea conexiune și repararea rutei
ABR P Da Da Asociere stransă sau SP Tabelă de rutare Broadcast de localizare
SSA P Nu Da Ruta stabilă cu semnalul cel
mai bun Tabelă de rutare Șterge ruta și anunță inițiatorul
RDMAR P Nu Nu Distanță relativă cea mai
scurtă sau SP Tabelă de rutare Șterge ruta și anunță inițiatorul
LAR P Da Nu SP Cache-ul de rutare Șterge ruta și anunță inițiatorul
ARA P Da Nu SP Tabelă de rutare Folosește o rută alternativă sau încearcă
până când este găsită una
FORP P Nu Nu Durata de expirare a rutei și
stabilitatea Tabelă de rutare
Are un flag-ul Flow_HandOff pentru a
folosi rute alternative
CBRP I Nu Nu Prima rută disponibilă Tabelă de rutare și
nodul cluster
Șterge ruta, anunță inițiatorul și repară local
ruta
SR = structura de rutare; P = plană; I = ierarhică; SP = shortest path
24
Tabelul 3.4 Compararea complexității protocoalelor de rutare reactive
Protocol Durata de DR Durata de MR CC [DR] CC [MR] Avantaje Dezavantaje
AODV 𝑂 2𝐷 𝑂 2𝐷 𝑂 2𝑁 𝑂 2𝑁 Adaptabil la schimbări de topologie Probleme de scalabilitate, întârzieri mari,
mesaje „hello”
DSR 𝑂 2𝐷 𝑂 2𝐷 𝑂 2𝑁 𝑂 2𝑁 Rute multiple Probleme de scalabilitate datorate rutării
adresei și întârzieri mari
ROAM 𝑂 𝐷 𝑂 𝐴 𝑂 𝐸 𝑂 6𝐺𝐴 Eliminarea problemei căutarii la infinit Necesită control mare al congestiilor în
TORA 𝑂 2𝐷 𝑂 2𝐷 𝑂 2𝑁 𝑂 2𝐴 Rute multiple Bucle de rutare temporale
ABR 𝑂 𝐷 + 𝑃 𝑂 𝐵 + 𝑃 𝑂 𝑁 + 𝑅 𝑂 𝐴 + 𝑅 Rute stabile Probleme de scalabilitate
SSA 𝑂 𝐷 + 𝑃 𝑂 𝐵 + 𝑃 𝑂 𝑁 + 𝑅 𝑂 𝐴 + 𝑅 Rute stabile Probleme de scalabilitate, întârzieri mari în
timpul deconectărilor
RDMAR 𝑂 2𝑆 𝑂 2𝑆 𝑂 2𝑀 𝑂 2𝑀 Descoperirea rutei este localizată Folosirea broadcastului în situația în care nu
există o rută prioritară între noduri
LAR 𝑂 2𝑆 𝑂 2𝑆 𝑂 2𝑀 𝑂 2𝑀 Descoperirea rutei este localizată Folosește rutareai adresei și broadcastul
dacă nu are o rută prioritară
ARA 𝑂 𝐷 + 𝑃 𝑂 𝐷 + 𝑃 𝑂 𝑁 + 𝑅 𝑂 𝐴 + 𝑅 Pachete de control mici, congestii puține Broadcast datorat procesului de descoperie a
rutei
FORP 𝑂 𝐷 + 𝑃 𝑂 𝐷 + 𝑃 𝑂 𝑁 + 𝑅 𝑂 𝑁 + 𝑅 Folosirea unei metode de micșorare a
deconectărilor
Broadcast datorat procesului de descoperie a
rutei
CBRP 𝑂 2𝐷 𝑂 2𝐵 𝑂 2𝑋 𝑂 2𝐴 Doar nodul cluster schimbă informațiile de
rutare Mentenanța clusterului;bucle temporale
DR = descoperirea rutei; MR = mentenanța rutei; CC = complexitatea comunicării; D = diametrul rețelei; N = numărul de noduri din rețea; A = numărul nodurilor
afectate; B = diametrul ariei afectate; G =nota maximă a ruterului; S = diametrul nodurilor din zona localizată; M= numărul de nodrui din zona afectată; X = numărul
de clustere; R = numărul de noduri din mesajul RăspunsRută; P = diametrul rutei directe parcursă de mesajul RăspunsRută; 𝐸 = numărul de mărgini ale rețelei
25
căi. Pentru a se realiza mai ușor conexiunile, protocolul folosește un cache al rutelor
extras din ruta sursă a fiecărui pachet. Astfel, dacă un nod intermediar primește un
mesaj CerereRută și are in cache informații despre ruta cerută va răspunde nodului
sursă cu un mesaj RăspunsRută, cu toate informațiile necesare. De asemenea, DSR
conține un mecanism ce permite trimiterea unui pachet de date în același timp cu
trimiterea mesajului de inițiere a conexiunii.
Figura 3.7 Stabilirea conexiunii cu ajutorul DSR
În etapa de păstrarea a rutei, dacă un nod intermediar părăsește rețeaua
cauzând o întrerupere a conexiunii, nodul sursă va primi un mesaj EroareRută de la
nodul precedent celui ce a părăsit rețeaua. În această situație nodul sursă reia
procedura de descoperire a rutei, iar nodurile intermediare vor șterge din cache
informațiile despre existența rutei ce a generat un mesaj EroareRută.
In Figura 3.7 este ilustrat modul de funcționare al protocolului DSR în situația
în care nodul 1 dorește să transmită date nodului 15. Inițial nodul 1 transmite un
mesaj CerereRută către toți vecinii săi, care vor verifica dacă în cache există intrări cu
destinația dorită. Dacă nu vor găsi nimic în cache, fiecare vecin va trimite mai
departe (broadcast) mesajul vecinilor săi. Pentru a evita buclele, fiecare nod va
verifica numărul de ordine al mesajului CerereRută și îl va trimite mai departe doar o
singură dată. Nodul destinație, în cazul nostru nodul 15, va răspunde tuturor
mesajelor CererRută cu un mesaj RăspunsRută. După ce primește toate mesajele
RăspunsRută, nodul sursă va alege ruta cu cel mai scurt număr de hopuri; în cazul de
față 1-5-4-12-15. Dacă conexiunea dintre nodurile 4 și 12 se va întrerupe, nodul 4 va
trimite un mesaj EroareRută către nodul 1. Nodul 1 va reinițializa procedura de
descoperire a rutei prin transmiterea unui mesaj CerereRută, iar toate nodurile vor
șterge toate informațiile din cache cu privire la ruta întreruptă.
26
Protocolul AODV – Ad Hoc On-demand Distance Vector – face parte din
categoria protocoalelor reactive ce folosesc unicast-ul. Similar cu DSR, nodurile sursă
ce folosesc AODV trimit un mesaj CerereRută până la destinație. Atît nodul sursă cât
și nodurile intermediare păstrează informații despre hop-urile următoare necesare
fiecărei transmisii de date. Diferența majoră între acest protocol și celelalte protocoale
la cerere – on demand – constă în faptul că folosește un număr de control al
destinației (DesSeqNum) pentru a putea actualiza ruta spre destinație. Un nod își
modifică calea spre destinație doar dacă primește un DesSeqNum mai mare decât cel
păstrat de el. Un mesaj CerereRută conține 6 elemente: identificatorul sursei,
identifcatorul destinației, numărul de ordine dat de sursă, numărul de ordine al
destinației, identificator de broadcast și TTL (timp de viață în rețea).
Figura 3.8 Stabilirea conexiunii cu ajutorul AODV
Așa cum se poate observa și în Figura 3.8, când nodul 1 încearcă să comunice
cu nodul 15 va trimite un mesaj CerereRută tuturor vecinilor; vecinii vor trimite mai
departe mesajul, sau vor răspunde cu un mesaj RăspunsRută, dacă au o rută validă
stocată. Folosirea identificatorului de broadcast și a identificatorului sursei a fost
necesară pentru a diferenția mesajele inițiale de copii ale acestora. Nodul sursă poate
primi unul sau mai multe mesaje RăspunsRută, de la nodul destinație sau nodurile
intermediare, pe care le va folosi pentru a alege ruta cea mai scurtă, în funcție de
numărul de noduri conținute de aceasta. Fiecare nod ce va primi un pachet de date
va memora identificatorul de broadcast și identificatorul nodului de la care a sosit.
Nodurilor intermediare le-a fost implementat un timer care este folosit pentru a
șterge o rută dacă nu există nici un răspuns. Dacă totuși vor primi un răspuns,
nodurile intermediare vor stoca identificatorul de broadcast și identificatorul nodului
de la care a sosit răspunsul.
27
În cazul unei
deconectări, AODV nu oferă
soluții de rezolvare locale.
Când o coxiune este invalidată
(acest lucru este decis prin
expirarea timerului sau lipsa
mesajelor ACK) nodul sursă și
nodul destinație sunt
notificate. În acest caz nodul 1
va încerca să găsească o nouă
rută spre destinație prin
trimiterea unui nou mesaj
CerereRută. În Tabelul 3.5 se pot
observa pașii necesari
comunicării nodului 1 cu 15
din topologia afișată în Figura
3.8.
Cu toate că este similar
cu DSR, AODV este de fapt o
combinație între un protocol de
rutare ad hoc „on-demand” –
DSR – și un protocol de rutare
„distance-vector” – DSDV [ ].
Practic AODV împrumută
mecanimsul „on-demand” de
descoperire a rutei și mecanismul de păstrare a conexiuni de la DSR, iar de la DSDV
a preluat mecanismul de transmitere din nod în nod, numărul de ordine și update-
urile periodice.
3.3.3 Protocoale hibride
Din dorința de a beneficia de avantajele ambelor protocoale prezentate
anterior, au apărut protocoalele hibride. Protocoalele hibride au fost create pentru a
îmbunătăți scalabilitatea și pentru a reduce timpii de descoperire a rutelor, prin
formarea de subrețele între nodurile apropiate. Mai exact, performanțele
protocoalelor hibride sunt realizate prin mecanismele proactive de păstrare activă a
conexiunilor între nodurile apropiate și folosirea unui mecanism de descoperire a
rutelor pentru comunicațiile la distanță. Majoritatea protocoalelor hibride sunt
organizate pe zone de funcționare; pe scurt, rețeaua este împărțită sau vazută ca o
conglomerație de zone de către fiecare nod. În (M. Abolhasan et al., 2004), a fost
realizată o comparație a diferitelor tipuri de protocoale hibride. În Tabelul 3.6 se pot
observa caracteristicile generale ale fiecărui protocol, iar în Tabelul 3.7 este prezentată
o evaluare teoretică a performanțelor acestora.
Pas Nodul Acțiunea
1 Nodul 1
Nodul sursă, numărul de ordine al
destinației = 3, numărul de ordine al
sursei = 1
2 Nodul 15 Nodul destinație
3 Nodul 1 și
vecinii săi
2,5,6 (nu cunosc destinația), acestea for
trimite mesajul CerereRută către 3, 4, 10
4 Nodul 4 Nu cunoaște destinația
5 Nodul 10 Are o ruta spre 15 (14-15), numărul de
ordine este 4
6 Nodul 3 Are o ruta spre 15 (7-9-13-15), numărul
de ordine este 1
7 Nodul 10 și
nodul 3
Răspunde deoarece 4>3
Nu răspunde deoarece 1<3
Înseamnda că nodul 3 are o rută mai
veche
8 Nodul 4 Trimite către 12 și 15, răspunde de la 15
9 Nodul 1
Primește două rute:
1-5-10-14-15
1-5-4-12-15 care va fi și aleasă
10 Nodul 4, 5 Deconectare între 4 și 5
11 Nodul 4 Mesaj EroareRută către 15
12 Nodul 5 Mesaj EroareRută către 1
13 Nodul 15 Șterge ruta din tabela de rutare
14 Nodul 1 Șterge ruta din tabela de rutare
15 Nodul 1
Reinițializează procedura de descoperi-
re a rutei cu un nou identificator de
broadcast și cu același număr de ordine
Tabelul 3.5 Scenariu AODV
28
Tabelul 3.6 Caracteristici generale ale protocoalelor hibride
Tabelul 3.7 O comparare complexă a protocoalelor hibride
Protocol SR Rute multiple MP Metoda de calculare a metrici Rutele sunt păstrate în Strategia de reconfigurare a rutei
ZRP P Nu Da SP Tabele intrazonale și
interzonale Anunță inițiatorul și repară ruta local
ZHLS I Da, dacă există mai
multe legături virtuale Nu
SP sau următoarea conexiune
virtuală disponibilă
Tabele intrazonale și
interzonale Cerere locală
SLURP I Da Nu MFR pentru interzone și DSR
în intrazone
Cache de localizare și
listă cu nodurile
Anunță inițiatorul și incearcă să gasească o
cale de la el spre destinație
DST I Da, dacă sunt
disponibile Nu
Transmiterea mai departe
folosind arborele vecinilor Tabelă de rutare
Timpi de așteptare sau terminarea
transmisiei
DDR I Da, dacă există un
gateway alternativ Da Rute stabile
Tabele intrazonale și
interzonale
Anunță inițiatorul care va iniția procedura
de descoperire a unei noi rute
SR = structura de rutare; P = plană; I = ierarhică; SP = shortest path; MP = mesaje periodice
Protocol Durata de DR Durata de MR CC [DR] CC [MR] Avantaje Dezavantaje
DR = descoperirea rutei; MR = mentenanța rutei; CC = complexitatea comunicării; D = diametrul rețelei; N = numărul de noduri din rețea; I = intervalul de
actualizarea a tabelelor de rutare; M = numărul zonelor din rețea; 𝑍𝑁 = numărul nodurilor dintr-o zonă; 𝑍𝐷 = diametrul zonei; Y = numărul nodurilor de la sursă la
destinație; V = numărul nodurilor pe ruta de răspuns.
29
„Zone routing protocol” (ZRP) este unul din cele mai reprezentative
protocoale ale acestei clase. În ZRP, fiecare nod are o zonă de rutare care definește o
arie de acoperire (în hopuri) necesară fiecărui nod pentru a putea menține
conectivitatea proactiv. Astfel, pentru nodurile din zona de rutare, rutele vor fi
disponibile instantaneu, în timp ce pentru rutele din afara ariei vor fi determinate
rutele prin folosirea mecanismelor „la cerere”. Dacă e să comparăm acest protocol cu
un protocol proactiv vom observa că au fost reduse semnificativ congestiile din rețea,
deoarece comunicația între nodurile din aceeași aria se inițializează fără etape de
descoperire. De asemenea, acest protocol reduce și întârzierile generate de protocoale
reactive, deoarece rutele vor fi descoperite mai repede. Acest lucru se datorează
faptului că pentru a determina o rută spre un nod din exterior, pachetul CerereRută
va trebui să ajungă doar până la un nod de la marginea zonei în care se află nodul
destinație. Cum nodurile din margine au informații proactive despre cea mai bună
rută spre nodul destinație, este suficient ca acestea să trimită un mesaj RăspunsRută
pentru ca transmisia să înceapă. Dezavantajul acestui protocol constă în faptul că
pentru un număr mare de zone de rutare va funcționa ca un protocol proactiv, în
timp ce pentru un număr mic de zone va funcționa ca un protocol reactiv.
30
4. Aplicabilitatea MANET
Dezvoltarea rețelelor MANET nu ar fi fost la fel de rapidă dacă nu ar fi
existat cerințe multiple din partea domeniilor în care se dorea implementarea lor.
Astfel, de a lungul timpului au apărut nenumărate aplicații:
Armată:
o comunicarea între militari pe câmpul de luptă
o crearea de mașini de luptă și supraveghere controlate de la
distanță
Servicii de urgență:
o Operațiuni de salvare și căutare
o Înlocuirea rețelelor fixe în cazul unor dezastre naturale
o Realizarea unui sistem de comunicație între doctori și asistente
în spitale
Comerciale:
o E-commerce: plăți electronice oricând și oricum
o Business: acces dinamic la baze de date, birouri mobile
o Servicii auto (VANET)
o Rețele pentru visitatorii din areroporturi
Rețele business și de mici dimensiuni:
o Rețele wireless pentru birouri sau case
o Săli de conferință
o Rețele personale (PN), Zonă de rețele mobile (PAN)
Educație:
o Cursuri virtuale
o Comunicații ad hoc în timpul cursurilor sau a prezentărilor
o Rețele universitare sau de campus
Entertainment:
o Jocuri în rețea
o Rețele wireless P2P
o Acces la internet în exteriorul locuințelor
o Animale de companie robotizate
o Parcuri tematice
Rețele de senzori:
o Body area network (BAN)
o Aplicații de monitorizare a consumului de curent electric, de
monitorizare a locuințelor
o Aplicații de localizare a animalelor de companie
Extinderea zonelor de acoperire:
o Extinderea ariei de acoperire a rețelelor GSM
o Conectarea la Internet, Intranet de la distanță
31
4.1. Tehnologia VANET
Conceptul de VANET (Vehicular ad hoc NETwork) a apărut datorită necesi-
tații de a avea un domeniu de aplicabilitate a tehnologiei MANET. O rețea VANET
este alcătuită dintr-un număr de vehicule mobile ce se deplasează cu o viteză foarte
mare și sunt echipate cu dispozitive de comunicare. Avantajul acestui tip de
tehnologie constă în faptul că oferă comunicare între vehicule care se deplasează
foarte repede fără a necesita echipamente auxiliare.
Cercetările în domeniu au definit diferit fiecare componentă necesară comu-
nicației în VANET. Astfel un sistem VANET de baza este alcătuit din AU (aplicația),
OBU (dispozitivul montat pe mașină), RSU (dispozitive de atenționare montate pe
marginea carosabilului). O imagine de ansamblu asupra modului de funcționare a
VANET este explicată în Figura 4.1 [ ].
Figura 4.1 Componenetele necesare comunicației VANET
Tehnologia VANET a permis dezvoltarea unui număr mare de aplicații ce
pot oferi foarte multe informații atăt șoferilor cât și pietonilor. Integrarea cu
dispozitivele instalate la bordul vehiculului (OBU) a interfețelor de rețea, a diferiților
senzori sau a dispozitivelor GPS face ca vehiculul să fie capabil să strângă, sa
proceseze și să analizeze informații despre el și dispre vehiculele aflate în eminenta
apropiere [ ]. Aplicațiile dezvoltate au fost categorisite drpă cum urmează [ ] :
Evitarea coliziunilor în intersecții:
Atenționarea legată de încalcarea regurilor de circulație
Asistarea la schimbarea direcției de mers spre stânga
Informații despre aproprierea de trecerile de pietoni
Siguranța publică
Aproprierea mașinilor de pompieri sau ambulanțelor
Transmiterea mesajului de atenționare a masinilor de urgență
Servicii de SOS
32
Atenționarea de accidente
Extinderea semnelor rutiere
Afisarea semnelor rutiere pe OBU
Atenționare: Apropierea de curbe periculoase
Atenționare: Apropierea de poduri in construcție
Atenționare de greșire a direcției
Mentenanță și diagnoză a vehiculului
Notificare de reparea
Notificare de efectuare a reviziei auto
Notificare de schimbare a diferitelor componente
Informații de la alte vehicule:
Atenționare legată de condițiile de trafic
Atenționare la schimbarea benzilor
Cooperare pentru prevenirea coliziunilor
Marirea razei de vizibilitate
EEBL – emergency electronic brake light
4.2. Tehnologia iMANET
Datorită interesului crescut al utilizatorului de a avea acces la Internet prin
intermediul wireless-ului, a devenit iminentă integrarea rețelelor MANET cu rețelele
cu fir Internet. Astfel, pentru a integra tehnologia MANET cu necesitățile utilizatori-
lor a apărut tehnologia iManet (Internet-based Mobile ad hoc NETworking).
iMANET poate fi definită ca o tehnică ce combină MANET cu Internet pentru a oferi
acces la informațiile necesare tuturor.
În iMANET, un terminal mobil (MT) se poate conecta la Internet fie printr-
un access point la care se conectează în mod direct, fie prin conectarea la un alt
dispozitiv mobil, folosind protocoale de comunicație aferente rețelelor wireless
MANET, care are acces la internet. O privire de ansamblu asupra unei topologii
iMANET poate fi observată in Figura 4.2.
Au fost propuse mai multe implementări ale tehnologiei iMANET. Dintre
aceste reaminte cele mai importante scenarii:
Scenariul 1: Crearea unei rețele ad hoc între spectatorii aflați în tribunele unui
stadion pentru ca aceștia să poată avea acces la internet prin
intermediul unor acces pont-uri situate la anumite distanțe prin
stadion. Cu ajutorul tehnologiei iMANET utilizatorii pot descarca
direct informația sau indirect prin transmiterea intranet. De
asemenea utilizatorii rețelei pot comunica între ei fără a fi necesară
accesare infrastructurii fixe.
Scenariul 2: Un visitator într-un mall, museum sau centru cultural poate avea
nevoie de diferite informații cu privire la principalele atracții,
restaurante, harți ș.a. Prin conectarea la o rețea iMANET acesta poate
33
Figura 4.2 Un model de topologie iMANET
obține informații atât intranet, de la alți utilizatori ai rețelei sau
diferite metode de informare în rețea, sau sepoate conecta la internet
și să obțină toate informațiile necesare.
Scenariul 3: Pe un câmp de luptâ sau un centru de ajutor a victimelor unor
dezastre naturale, un terminal mobil poate fi conectat la internet prin
intermediul unui satelit și poate funcționa ca un server de proxy
pentru ceilalți membri ai rețelei. Accesul la informații și servicii poate
fi impărțit în rețea de către alte terminale mobile prin intermediul
comunicației ad hoc.
34
5. Studiu de caz
Protocoale proactive vs. Protocoale reactive
Așa cum am reamintit în capitolul precedent, atât protocoale proactive cât și
cele reactive au diferite probleme legate de: tabela de rutare, timpul de descoperire a
rutei, mecanismul de păstrare a conexiunii, congestiile de trafic, dimenisunea rețelei
în care pot funcționa optim sau nivelul de trafic generat pentru actualizarea tabelei
de rutare. Astfel, pornind de la ideea de monitorizare a mediului, voi realiza o
analiza a performanțelor protocolui proactiv DSDV în comparație cu performanțele
protocoalele reactive DSR și AODV. Prin implementare unor scenarii de test, in
simulatorul ViSim, voi încerca să evidențiez avantajele oferite de fiecare protocol în
funcție de dimensiunea rețelei în care sunt implementate.
5.1 Simulatorul ViSim
Propus în anul 2010 de către un grup de cercetători din Bangladeș [ ],
simulatorul ViSim este printre puținele simulatoare MANET cu o interfață „user friendly” ce
își propune să fie accesibilă fiecărui tip de utilizator ce dorește să înțeleagă modul de
realizare a simulărilor. ViSim are la bază programul ActiveTcl care face posibilă rularea
simulărilor pe sisteme de operare Windows. Așa cum se poate observa și în Figura 4.1
simulatorul ViSim are o interfață ușor de utilizat cu opțiuni clare și concise.
Figura 5.1 Interfața simulatorului ViSim
35
Interfața simulatorului ViSim este alcătuit din patru porțiuni importante:
a. Simulation: Din acest meniu se poate alege unul din cele trei protocoale –
DSDV, DSR, AODV. Alegând unul din cele 3 protocoale, ai opțiunea de a
realiza o simulare în funcție de scenariul ales. Scenariile de test pot fi
modificate prin editarea fisierului .tcl aferent.
b. Comparasion: Prin alegere uneia din opțiunile acestei zone utilizatorul iși
desemnează parametrii ce vor fi utilizați în analiza și compararea
performanței celor 3 protocoale de rutare.
c. Scenarios and protocols: Din această secțiune se alege scenariul dorit și
protocolul/protocoalele relevante simulării sau afișării. De asemenea, avem la
dispoziție 2 butoane: Simulate pentru a porni o simulare iar Create Graph
ajută la realizare unui grafic cu rezultate comparate.
d. Output: Zona în care vor fi afișate rezultatele.
Mecanismul de funcționare al programului este destul de simplu: când un utilizator
alege opțiunea „Simulation”, simulatorul apelează un fisier .bat care conține un script de shell.
Scriptul apelează simulatorul ns-2 și fișierul/fișierele .tcl necesare simulării. În urma analizării
fișierului .tcl, ns-2 generează două fișiere: „trace file” .tr și „nam file” .nam. Cu ajutorul unui
script fișierul nam este convertit într-o interfața grafică ce va permite vizualizarea simulării.
Dacă un utilizator alege opțiune „Create Graph”, simulatorul deschide fișierul .tr, citește
infromațiile, le filtrează în funcție de alegerile utilizatorului, iar la final va crea un grafic.
Figura 5.2 Algoritmul de funcționare al ViSim
START
Simulare sau
comparație
AODV DSR DSDV
Simularea 1
sau
Simularea 2
sau
Simularea 3
Fereastră
NAM
Throughput vs Time sau
Goodput (pkts) sau
Routing Load (pkts) sau
Goodput (bytes) sau
Routing Load (bytes)
Scenariul 1 sau
Scenariul 2 sau
Scenariul 3
AODV,DSR
sau DSDV
Simulare sau
Creare Grafic
Simulare
silențioasă
Afișare grafic
Simulare Comparare
Simulare Creare grafic
Scenariul 3
Scenariul 2
Scenariul 1
36
Programul a fost realizat ca să ofere informații legate de performanța
protocoalelor testate în funcție de 3 parametri:
„Throughput” – numărul de octeți recepționați de nodul destinație pe
secundă;
„Goodput”:
„packets” – reprezintă raportul dintre numărul de pachete
trimise de către nodul sursă și numărul de pachete trimise prin
rețea până la destinație;
„bytes” – reprezintă raportul dintre numărul total de octeți de
date transmiși de către nodul sursă și numărul total de octeți de
date transmiși prin rețea.
„Routing load”:
„packets” – reprezintă raportul dintre numărul total de pachete
de rutare transmise prin rețea și numărul de pachete de rutare
trimise prin rețea până la destinație;
„bytes” – reprezintă raportul dintre numărul total de octeți de
rutare transmiși prin rețea și numărul total de octeți de rutare
transmiși prin rețea până la destinație.
5.2 Simulare și rezultate
Parametri folosiți în simulare se regăsesc în Tabelul 4.1 , cu observația că
pentru fiecare simulare în parte sa folosit un număr diferit de noduri mobile;