Routing Protocol
-
Upload
giuseppe-liso -
Category
Documents
-
view
30 -
download
0
Transcript of Routing Protocol
-
Capitolo 3
Analisi dei protocolli di routing
3.1 Protocolli di routing
In questo capitolo verr data una classicazione degli algoritmi di instrada-
mento descrivendo dettagliatamente alcuni possibili protocolli che permet-
tono di fare routing all'interno di una rete MANET.
Verr inoltre spiegato il motivo per cui dopo aver visionato molti protocolli
di routing si scelto di implementare l'algoritmo Reactive DSR (Dynamic
Source Routing).
3.2 Organizzazione della rete
La topologia di una rete MANET pu essere o di tipo gerarchica o di tipo
piatta.
In una rete gerarchica i nodi sono suddivisi in gruppi, denominati cluster. Per
ogni cluster viene selezionato un cluster head
1
, attraverso il quale passa tutto
il traco della rete. Nell'utilizzo di una rete gerarchica vi un vantaggio,
cio quello di minimizzare il numero di pacchetti di routing scambiati tra i
nodi di uno stesso cluster, e anche tra i vari cluster head.
In una rete piatta invece non esiste nessun tipo di centralizzazione, cos da
permettere di stabilire pi di un percorso tra il nodo sorgente e il nodo
destinazione. Questo un vantaggio perch in tal modo si possono valutare
diverse metriche per stabilire il peso di un collegamento, a seconda delle
richieste di utilizzo della rete stessa.
Di seguito verranno presentati gli algoritmi di instradamento, spiegando quali
sono i vantaggi e gli svantaggi nel loro utilizzo.
1
Identica il nodo a capo di un cluster che organizza i compiti degli altri componenti
del gruppo.
31
-
Analisi dei protocolli di routing
3.3 Algoritmi di instradamento
Gli algoritmi di instradamento possono essere classicati in base alle politiche
che adottano per adempiere ai loro compiti; tale politiche possono essere:
Organizzazione della rete. Modalit di reperimento delle informazioni di instradamento. Modalit con cui viene deciso il percorso verso il nodo destinazione.
Classicazione in base all'organizzazione della rete La rete pu
essere organizzata in maniera:
uniforme, in cui lo scambio di informazioni di routing avviene tra tuttii nodi
2
allo stesso modo;
non uniforme, dove cio ogni nodo risponde e genera informazioni dirouting in modo diverso a seconda del suo ruolo. I nodi che com-
pongono la rete non uniforme possono essere a loro volta suddivisi,
a seconda dei compiti che svolgono all'interno della rete, in Neighbor
Selection o Hierarchical.
La Figura 3.1, mostra la suddivisione della rete nelle due diverse tipologie
appena citate.
Nel primo caso il nodo X comunica con il nodo Y passando per nodi inter-
medi, che svolgono le stesse operazioni di instradamento (infatti per marcare
proprio il fatto che i nodi sono tutti uguali e svolgono le medesimi operazioni
si utilizzata la stessa segnatura per rappresentarli).
Nel secondo caso la non uniformit della rete viene rappresentata attraverso
la dierenziazione dei nodi all'interno dei tre involucri (nodo pieno, nodo
vuoto, rappresentano i diversi compiti che un nodo pu assumere).
Classicazione in base alla modalit di reperimento delle infor-
mazioni di instradamento Il reperimento delle informazioni pu avvenire
in modalit Proactive (detta anche Table-Driven) o in modalit Reactive
(detta anche On-Demand).
In modalit Proactive i nodi si scambiano informazioni di routing a interval-
li ssi di tempo; questa caratteristica permette che ci sia un instradamento
immediatamente disponibile ad ogni richiesta di routing; purtroppo per ci
comporta un elevato traco di segnalazione.
In modalit Reactive, viene invocata una procedura per determinare il cor-
retto instradamento solo se si vuole trasmettere un pacchetto. Ci porta
ad avere un ritardo nella trasmissione dei pacchetti dati, riuscendo per ad
2
D'ora in avanti si assumer che il termine nodo, device, host, terminale rappresentano
la stessa cosa.
32
-
3.4 Suddivisione dei protocolli di routing
Rete uniforme Rete non uniforme
Sorgente
Destinazione
Sorgente
Destinazione
Figura 3.1: Organizzazione della rete
abbassare notevolmente il traco di segnalazione.
Nel paragrafo 3.4 verr ulteriormente approfondito questo aspetto.
Classicazione in base alla modalit con cui viene deciso il per-
corso verso il nodo destinazione Il percorso verso il nodo destinazione
pu essere ottenuto attraverso un approccio source routing, in cui il nodo
sorgente determina l'esatto percorso che il pacchetto dati deve eseguire, per
raggiungere la destinazione, oppure non source routing, dove l'unica infor-
mazione di routing il next-hop
3
: ciascun nodo decide in modo indipendente
a chi ritrasmettere il pacchetto anch questo raggiunga la destinazione.
3.4 Suddivisione dei protocolli di routing
I protocolli di routing [8] forniscono il corretto percorso che un pacchetto deve
compiere, dal nodo sorgente al nodo destinazione, cercando di adattarsi il
pi possibile ai mutamenti topologici della rete.
Essi possono essere suddivisi in tre distinte categorie:
Proactive. Reactive. Hybrid.I protocolli Proactive mantengono aggiornate le informazioni riguardanti l'in-
stradamento tramite continui scambi di pacchetti ad intervalli ssi.
3
Identica il salto ad un dispositivo, dentro il range trasmissivo.
33
-
Analisi dei protocolli di routing
Questa tecnica permette di avere sempre disponibile, l'instradamento ad o-
gni richiesta.
L'immediata risposta pu risultare un vantaggio, ma ci determina un note-
vole traco di segnalazione; pu capitare infatti che la rete venga impegnata
anche quando non vi alcuna richiesta di trasmissione dati.
Nei protocolli Reactive, viene invocata una procedura per determinare il cor-
retto instradamento solo ed esclusivamente nel momento in cui il pacchetto
deve essere trasmesso.
Anche se la trasmissione dei pacchetti dati avviene in modo pi lento rispetto
ai protocolli Proactive, ci permette di avere un minor impegno della rete,
dovuto al basso traco di segnalazione.
I protocolli Hybrid, invece, cercano di unire i vantaggi di entrambi i protocolli
precedentemente descritti, ma presentano problemi a livello implementativo.
La Figura 3.2 mostra una sorta di albero gerarchico, in cui i primi gli
della radice (Routing Protocols) rappresentano le famiglie degli algoritmi
Proactive, Reactive e Hybrid, scendendo nei due livelli sottostanti vi la
classicazione dell'organizzazione di rete, come descritto nel paragrafo 3.3,
ed in ultimo menzionati gli attuali protocolli di routing di cui se ne parler
pi avanti.
Figura 3.2: Algoritmi di instradamento
34
-
3.5 Algoritmi Proactive
3.5 Algoritmi Proactive
Negli algoritmi Procative (anche denominati Table-Driven) i dispositivi mo-
bili, facenti parte di una rete MANET, si scambiano informazioni ad intervalli
di tempo ssati; per tale motivo l'instradamento immediatamente disponi-
bile ad ogni richiesta di routing.
L'idea di mantenere costantemente aggiornate tutte le informazioni di in-
stradamento, tra tutti i dispositivi che compongono la rete. I protocolli che
fanno parte di questa famiglia sono i seguenti:
DSDV Destination Sequenced Distance Vector.
WRP Wireless Routing Protocol.
CSGR Cluster Switch Gatewey Routing.
STAR Source Tree Adaptive Routing.
Caratteristiche comuni dei protocolli Proactive I protocolli che fan-
no parte della famiglia Proactive sono accomunati dalle seguenti caratteris-
tiche:
Scambio di pacchetti ad intervalli ssi.
Uso di tabelle.
Aggiornamento delle tabelle.
Scambio di pacchetti ad intervalli ssi Come si accennato nel para-
grafo 3.5 i protocolli Proactive hanno la propriet di poter permettere ai
componenti della rete di avere a disposizione le informazioni di routing (es.
come raggiungere la destinazione, quale sono i dispositivi che in un determi-
nato istante sono non raggiungibili etc.) sempre pi aggiornate.
Tale meccanismo possibile poich i dispositivi, senza alcuna necessaria
richiesta, si scambiano tra loro pacchetti informativi.
I pacchetti rivelano, sia le informazione di instradamento sia i relativi cam-
biamenti topologici della rete.
Uso di tabelle L'uso di una o pi tabelle che memorizzano tutte le in-
formazioni riguardanti la topologia della rete una caratteristica peculiare
della classe Proactive: tutti i protocolli in precedenza menzionati ne fanno
uso.
In dettaglio andremo ad esaminare sia qual' in breve il funzionamento e sia
quali tabelle utilizzano i quattro protocolli inizialmente citati.
35
-
Analisi dei protocolli di routing
DSDV. Il protocollo DSDV, assegna ad ogni nodo una routing-table, nella
quale sono memorizzate tutte le possibili destinazioni raggiungibili da un
dispositivo e tutti i numeri di salto
4
.
Il protocollo si avvale anche dell'aiuto di una sequenza di numeri, che per-
mette ad un utente mobile di eettuare una distinzione tra un route
5
vecchio
rispetto ad uno nuovo.
WRP. Il protocollo WRP si libera del problema count-to-innity
6
forzando
ogni nodo a compiere dei severi controlli sulle informazioni riportate dai nodi
vicini
7
.
Tutti i dispositivi cercano di evitare cicli all'interno della rete e forniscono
percorsi alternativi quando si di fronte ad un link failure
8
. Ogni nodo
mantiene quattro tabelle:
distance-table, segnala il numero di salti tra un nodo e la destinazionerichiesta.
routing-table:, indica il nodo next hop. link cost-table, indica il ritardo associato ad un particolare link. message retrasmission list table, tabella che nel suo interno mantieneun numero di sequenza del messaggio d'aggiornamento, un contatore
di ritrasmissione, un ag richiesto per il riconoscimento e un elenco
degli aggiornamenti mandati nel messaggio di update.
CSGR. Il protocollo CSGR si avvale del concetto di gerarchia (citato nel
paragrafo 3.2), i nodi vengono suddivisi in gruppi, denominati cluster, ed
ogni gruppo ha il suo cluster head. I cluster head hanno il controllo di pi
dispositivi all'interno del gruppo. Per eleggere un cluster head all'interno di
un cluster si usa un algoritmo. Sebbene il cluster head ore servizi e varie
forme di controllo e di coordinamento, ci pu essere usufruito solo da quei
dispositivi che si trovano all'interno dello stesso cluster.
Durante tutta la durata della sessione, non detto che si debba sottostare
allo stesso cluster head; quanto il cluster head risulta spento o irraggiungi-
bile, un algoritmo si preoccuper di scegliere un altro cluster head.
Il fatto che un cluster head possa cambiare frequentemente per dierenti
4
Determina quanti nodi, bisogna contattare per raggiungere la destinazione.
5
D'ora in avanti si assumer che il termine route, percorso, cammino rappresentino la
stessa cosa.
6
E' un eetto del Distance Vector, nel quale i router non si accorgono che una desti-
nazione diventata irraggiungibile, ma credono che sia ancora attiva anche se riconoscono
che la sua distanza sta aumentando sempre di pi.
7
Dispositivi che si trovano nel range trasmissivo del dispositivo mittente.
8
Si verica quando un link fallisce.
36
-
3.5 Algoritmi Proactive
motivazioni, pu causare problemi per quei dispositivi che invece di inviare
i dati alla destinazione, cercano di convergere verso quel cluster head, cau-
sando dei rallentamenti di trasmissione all'interno della rete.
Il degrado delle prestazioni, dovuto ai continui cambiamenti di cluster head,
viene tenuto a freno dall'algoritmo LCC; tale algoritmo aerma che si pu
cambiare cluster head soltanto se:
sono presenti due cluster head nello stesso cluster; un nodo si sposta ed esce dal raggio d'azione di qualsiasi cluster head.Pur essendoci una divisione dei nodi in cluster, questo protocollo non esclude
la comunicazione con altri cluster. Infatti il nodo sorgente che fa parte di
un determinato cluster, invia un pacchetto al suo cluster head, questo a sua
volta invia il pacchetto al gateway
9
che si occuper di inviare il pacchetto
ad un altro cluster head. Questa iterazione continua nch non si arriva a
contattare il cluster head del nodo di destinazione.
Nella Figura 3.3. viene mostrata la comunicazione tra tre cluster head.
C1
C2C3
Figura 3.3: Comunicazione di tre cluster head nel protocollo CSGR
Il protocollo CSGR usa il protocollo DSDV, come schema sottostante di rout-
ing ed inoltre viene utilizzato un approccio gerarchico per gestire il traco
9
Nodo che nel range di due o pi cluster head.
37
-
Analisi dei protocolli di routing
dalla sorgente alla destinazione.
Ogni dispositivo deve mantenere:
cluster member table; memorizza i cluster head di destinazione di og-ni dispositivo, inoltre la tabella viene trasmessa periodicamente dal
protocollo DSDV.
routing table; determina il next hop per raggiungere la destinazione.
STAR. Il protocollo STAR appartiene alla famiglia dei protocolli Proac-
tive. Ma, a dierenza degli altri che mantengono le informazioni in apposite
tabelle, si avvale dell'aiuto del source-tree
10
, ovvero di una struttura che
mantiene informazioni sui nodi indicante il percorso per giungere a desti-
nazione.
In dettaglio il source-tree altro non che un grafo (albero), in cui il primo
nodo (la sorgente) il richiedente di un percorso, e gli altri nodi sono i suoi
vicini. Scorrendo lungo il grafo si pu giungere, se presente, al nodo di
destinazione.
Nella Figura 3.4 viene mostrato il source-tree tra un nodo A e un nodo B.
Si pensi a questo generico scenario: il nodo A vuole poter comunicare con il
nodo B; per prima cosa A verica la presenza del nodo B nel suo source-tree
e in caso aermativo A instrada il pacchetto da trasmettere nel suo albero
dei percorsi, raggiungendo il nodo B.
Aggiornamento delle tabelle L'aggiornamento delle tabelle di routing
una qualit fondamentale di questa classe di protocolli, ci fa si che gli utenti
che optano nella scelta di questi protocolli, possano avere a disposizione una
rete consistente.
Di seguito verr descritto come avviene l'aggiornamento delle tabelle nei sin-
goli protocolli di routing.
DSDV. Il protocollo DSDV tiene periodicamente aggiornare le tabelle in
modo da mantenere la consistenza all'interno della rete.
L'aggiornamento delle informazioni pu avvenire in due modi dierenti:
aggiornamento timer driver, in cui i dispositivi periodicamente trasmet-tono le loro routing table ai nodi vicini per mantenere le tabelle con-
sistenti;
aggiornamento event driver, dove un nodo invia la sua tabella a causadi un improvviso cambiamento della stessa.
10
Albero di percorsi.
38
-
3.5 Algoritmi Proactive
Percorso ad albero di B
Percorso ad albero di A
AB
Figura 3.4: Protocollo STAR
Gli aggiornamenti delle table-driven possono essere fatti o tramite full dump
o incremental update; il primo utilizzato per inviare tutte le informazioni
di routing disponibili, il secondo invece viene usato quando ci sono pochi
cambiamenti rispetto all'ultimo full dump.
WRP. In generale un dispositivo, per mantenere informazioni di routing
accurate, periodicamente scambia con i suoi vicini le routing-table, usando
messaggi di aggiornamento.
Un messaggio di aggiornamento possiede al suo interno:
il nodo di destinazione, la distanza dalla destinazione, il predecessore.Quando i vicini ricevono messaggi di aggiornamento, sono tenuti ad inviare
una risposta di avvenuta ricezione del messaggio.
In caso non vengano rilevati cambiamenti all'interno della rete, ogni nodo
tenuto comunque ad inviare un messaggio di Hello
11
.
11
Il messaggio di Hello notica la presenza del nodo all'interno della rete.
39
-
Analisi dei protocolli di routing
Un aspetto interessante che coinvolge tutti i dispositivi della rete, si verica
nella ricezione delle routing-table; infatti i dispositivi vericano se le routing-
table ricevute contengono percorsi migliori rispetto a quelli memorizzati nelle
loro routing-table. In caso aermativo automaticamente i dispositivi mem-
orizzano il percorso nella loro routing-table. In caso negativo non viene
eettuato nessun aggiornamento.
CSGR. Il protocollo CSGR pur appartenendo alla famiglia dei Proactive
non usa messaggi di aggiornamento, poich i cambiamenti topologici della
rete possono essere derivati solo dai movimenti improvvisi del cluster head,
di cui se ne occupa l'algoritmo LCC
STAR. Il protocollo STAR, non tenta di orire percorsi ottimi per rag-
giungere la destinazione. E' per questo motivo che il protocollo non esegue
periodici aggiornamenti, per la memorizzazione dei percorsi.
Solo in un caso i nodi sono tenuti a svolgere aggiornamenti, ovvero quando
la topologia della rete cambia frequentemente. A questo punto tutti i nodi
coinvolti nel cambiamento sono tenuti ad inviare messaggi di aggiornamento,
proprio per evitare la presenza di guasti.
E' evidente che lo scambio di messaggi di aggiornamento comporta un note-
vole traco di rete, ma ci essenziale per mantenere la validit di un source
tree.
Vantaggi dei protocolli Proactive I vantaggi che ore la famiglia dei
protocolli Proactive sono i seguenti:
permettere di avere immediatamente disponibile l'instradamento dipacchetti informativi anche se non si eettua una specica richiesta,
avere un'immediata risposta ai cambiamenti topologici della rete, risul-ta essere un'agevolazione soprattutto in situazioni di poca copertura
radio.
Detto ci andiamo a vedere quali facilitazioni potrebbero portare i quattro
protocolli, se un utente dovesse sceglierli.
DSDV. I vantaggi che ore il protocollo Proactive DSDV sono inerenti
sia alla consistenza della rete, nel tenere frequentemente aggiornate le table-
driven, sia nel tentare di evitare i cicli all'interno di una rete. Inoltre an-
che il continuo aggiornamento delle tabelle sicuramente fornisce un notevole
miglioramento riguardo le informazioni topologiche.
40
-
3.5 Algoritmi Proactive
WRP. Il protocollo WRP ha come pregio quello di comportarsi molto bene
quando si verica un link failure; infatti, se i dispositivi riescono in un arco di
tempo, a scoprire la rottura del link, questi inoltrano ai nodi vicini un mes-
saggio di aggiornamento, permettendogli di modicare le loro distance-table.
CSGR. 'unico merito che si pu asserire al protocollo CSGR che stato
pensato per agevolare quelle reti dove il numero dei dispositivi elevato.
STAR. Il protocollo STAR usa un source-tree per mantenere le infor-
mazioni relative ai suoi vicini; ci consente di non eettuare aggiornamenti
periodici.
Svantaggi protocolli Proactive Nei protocolli Proactive le problem-
atiche che si evincono sono le seguenti:
eccessivo scambio di messaggi informativi;
elevato traco di segnalazione.
Di seguito vengono riportati gli ulteriori svantaggi che i singoli protocolli
portano alla rete. Non verr menzionato il protocollo DSDV, che in sostan-
za accusa gli stessi problemi appena descritti.
WRP. Come stato precedentemente esposto il protocollo WRP possiede
quattro tabelle per immagazzinare tutti le informazioni inerenti alla rete.
Purtroppo questa propriet risulta essere uno svantaggio, se si pensato di
utilizzare dispositivi mobili come PDA, Smartphone, ect. poich hanno una
memoria abbastanza limitata (circa 128MB).
Inoltre a suo sfavore c' anche l'eccessivo scambio di messaggi di aggiorna-
mento.
CSGR. Notevoli svantaggi nell'utilizzo di questo protocollo sono dovuti
ai continui cambiamenti dei cluster head. Per tale motivo capita che i nodi
passino pi tempo a determinare se un cluster head risulta irraggiungibile
o addirittura spento, piuttosto che preoccuparsi ad instradare il pacchetto
informazione.
41
-
Analisi dei protocolli di routing
STAR. Il protocollo STAR ha come pecca quella di non preoccuparsi min-
imamente di orire ad un nodo, il percorso il pi breve.
Purtroppo altrettanto dicile determinare la procedura di reperimento di
un percorso, quando questo non presente nel source-tree.
3.6 Algoritmi Reactive
A dierenza dei protocolli Proactive, i protocolli Reactive creano i percorsi
On-Demand, ossia solo quando un nodo ne fa esplicitamente richiesta.
Tale propriet risulta essere un grande vantaggio, poich nelle reti MANET
insito il concetto di mobilit. Data l'alta possibilit di spostamento dei sin-
goli dispositivi, i percorsi che si vengono a formare cambiano in continuazione
ed per questo motivo che risulta inutile e controproducente mantenere in
anticipo tutti i route esistenti tra di essi.
I protocolli che ne fanno parte di questa famiglia sono i seguenti:
AODVAd Hoc On-Demand Distance Vector Routing. DSR Dynamic Source Routing . TORA Temporally Ordered Routing Algorithm. SSR Signal Stability Routing. LAR Location-Aided Routing. PAR Power-Aware Routing . RDMAR Relative Distance Microdiverity Routing .Del protocollo DSR verr riportata una descrizione pi dettagliata nel para-
grafo 3.8. Grazie alle sue caratteristiche (l'utilizzo di una route cache, la
determinazione di un link failure attraverso l'operazione di Route Maninte-
nance, l'eliminazioni dei cicli all'interno della rete per mezzo dei pacchetti
RREQ, RREP,RRER) esso stato scelto come lavoro della seguente tesi.
Caratteristiche comuni dei protocolli Reactive I protocolli Reac-
tive, per inviare un pacchetto da un nodo sorgente ad un nodo destinazione
eseguono i seguenti passi:
scoperta del percorso tramite Route discovery; mantenimento del percorso tramite Route Manteinence; cancellazione del percorso con Route Deletion.Di seguito verr spiegato il funzionamento e la fase di ricerca del percorso
(Route Discovery) dei singoli protocolli Reactive.
42
-
3.6 Algoritmi Reactive
Fase di Route Discovery nei protocolli Reactive La fase di Route
Discovery il fulcro dei protocolli Reactive.
Tale procedura riesce a determinare, quando un nodo lo richiede, i molteplici
percorsi per arrivare a destinazione.
Di ogni protocollo si andr a descrivere la seguente fase.
AODV. La ricerca di un percorso nell'algoritmo AODV avviene in tal mo-
do: quando il nodo sorgente richiede un percorso per giungere al nodo di
destinazione, il nodo sorgente inizia una fase di ooding
12
.
Questa richiesta pu arrivare sia direttamente a destinazione, sia ad un nodo
intermedio, il quale deve essere in possesso di un'informazione suciente-
mente aggiornata.
Una volta che un nodo (sia un nodo intermedio sia il nodo destinazione)
riceve una richiesta, deve immediatamente rimandare al nodo sorgente una
risposta, la quale indica l'avvenuta ricezione dell'informazione. Ci pu es-
sere fatto utilizzando il percorso inverso.
Per essere certi di costruire percorsi sia senza loop
13
, sia contenenti infor-
mazioni aggiornate, ogni nodo mantiene un numero di sequenza.
Tale numero univoco per ogni percorso ed per questa ragione che viene
ogni volta incrementato, cos che un nodo riesca a capire se ne gi in pos-
sesso.
Entrando pi nel dettaglio, quando il nodo sorgente richiede un route, oltre
ad eettuare una richiesta di scoperta dei vicini
14
, invia un pacchetto RREQ
(Route Request) che rappresenta l'instanza di un percorso per giungere a des-
tinazione.
Se alla prima iterazione si riesce a contattare la destinazione, la fase di
Route Discovery termina qui. Altrimenti viene eettuato l'invio dei pacchet-
ti RREQ anche dai nodi intermedi, che contattano altri nodi a loro adiacenti,
nch si raggiunge il nodo richiesto.
Il pacchetto RREQ viene identicato dal:
broadcast ID, che viene incrementato ad ogni richiesta di percorso,
l'indirizzo IP del nodo sorgente.
Per concludere nella Figura 3.5 viene mostrata l'operazione di Route Dis-
covery, in cui il nodo uno (N1) inoltra una richiesta a tutti i suoi vicini (ci
viene determinato dall'orientamento delle frecce), che a loro volta spediscono
pacchetti RREQ giungendo a destinazione.
12
Il mittente propaga in tutta la rete una richiesta per arrivare ad nodo destinazione.
13
Cicli all'interno della rete.
14
Fase necessaria ad un dispositivo per capire quali nodi appartengono al suo range
trasmissivo. In questa fase vengono spediti dei pacchetti informazione, che contengono:
l'indirizzo IP del mittente, indirizzo IP della destinazione, il numero di sequenza.
43
-
Analisi dei protocolli di routing
Data la bidirezionalit dei link, una volta raggiunta la destinazione, quest'ul-
tima rimander tramite un percorso inverso (nel caso proposto il pi corto,
ma non sempre detto) un pacchetto RREP (Route Reply) contenente il
percorso (insieme di indirizzi IP dei nodi) che stato fatto per giungere ad
essa.
N2
N1
N3
N4
N6
N7
N8N5
Sorgente
Destinazione
Route Discovery
N2
N1 N4
N5
N6N3
N8
N7
Sorgente
Destinazione
Percorso inverso
Figura 3.5: Protocollo AODV
TORA. Di seguito verranno descritte le tre funzionalit base che si dif-
ferenziano (solo per il nome) dalle tre fasi standard inizialmente menzionate.
Esse sono:
Route Creation, stabilisce una sequenza di link diretti dalla sorgentealla destinazione.
Route Maintenance reazione ai cambiamenti topologici della rete perristabilire percorsi dentro un certo tempo.
Route Erasure, si verica quando vengono scoperte partizioni della reteper questo motivo i percorsi coinvolti devono essere cancellati. In tali
casi vengono trasmessi dei clear-packet per noticare che i percorsi
devono essere cancellati.
Durante le prime due fasi viene costruito il grafo (denominato DAG Direct
Aciclic Graph), ed assegnate le direzioni (upstream-downstream) ai link.
La terza fase utile nel momento in cui i nodi all'interno di una rete si
spostano frequentemente. La Route Maintenance infatti cerca proprio di
garantire l'aggiornamento del DAG.
44
-
3.6 Algoritmi Reactive
La scoperta di un percorso nell'algoritmo TORA avviene tramite la costruzione
di un grafo aciclico (il DAG si estende dal nodo sorgente al nodo desti-
nazione). La sorgente identica la radice del grafo: per questo motivo che
la sua altezza pari a zero; mentre gli altri nodi del DAG hanno altezza pari
al numero di nodi da attraversare per giungere a destinazione. Tora ore
percorsi multipli per ogni coppia sorgente/destinazione.
In questo modo l'algoritmo trova potenzialmente pi di un percorso per ar-
rivare alla destinazione, cosicch la manutenzione dei percorsi in caso di un
guasto o di uno spostamento notevolmente semplicata.
Infatti nella maggior parte dei casi non bisogna ripartire con la richiesta di
un nuovo percorso, ma si utilizza uno di quelli rimasti. Questa fase viene
svolta dalla Route Maintenance.
SSR. L'operazione di Route Discovery avviene col la selezione di percorsi,
in base alla forza del segnale. Il protocollo SSR formato da due protocolli
cooperativi che sono:
DRP Dynamic Routing Protocol SRP Static Routing ProtocolDRP responsabile di monitorare e mantenere sia la stabilit del segnale
SST (Signal Stability Table) sia la tabella di routing RT (Routing Table).
Tutte le trasmissioni sono ricevute e processate dal protocollo DRP, il quale
si preoccupa di aggiornare le due tabelle. Conclusa questa fase, DRP rimane
in attesa nch non riceve i pacchetti dati dal protocollo SRP, che ha come
compito quello di processare tali pacchetti.
Un'altra fase importante del protocollo SSR la gestione dei link failure.
Quando un link fallisce dentro la rete, i nodi intermedi sono tenuti ad inviare
messaggi di errore, per segnalare al nodo che ha iniziato la fase di Route
Discovery qual il canale di comunicazione che ha fallito.
Una volta ricevuti questi cambiamenti, il mittente inizier la ricerca di un
nuovo percorso per giungere a destinazione.
Data la logica del protocollo, se si riesce ad arrivare al nodo destinazione dopo
l'avvento di un link failure, la sorgente tenuta a trasmettere in broadcast
a tutti i nodi tale notica.
LAR. Il protocollo LAR si avvale del GPS
15
[6], per determinare qual la
posizione di un determinato dispositivo.
Vengono deniti inoltre due concetti, ovvero:
request zone: zona richiesta,15
GPS l'abbreviazione di Global Positioning System (Sistema Globale di Rilevamento
della Posizione) una rete di satelliti lanciata, per uso Militare, dagli USA che viene ora
utilizzata in tutto il Mondo.
45
-
Analisi dei protocolli di routing
expected zone: zona supportata.
Expected Zone(Xd+ R,Yd+R)
Destinazione(Xd,Yd)
Sorgente(Xs,Ys)
R
Request Zone
Figura 3.6: Protocollo LAR
Questo protocollo fa delle severe assunzioni.
Come prima cosa si assume che il mittente sappia la posizione della desti-
nazione e la velocit di trasmissione per giungervi.
Inoltre nella zone expected viene denito sia la posizione del nodo di desti-
nazione sia la velocit di trasmissione per giungere a destinazione.
Nella Figura 3.6 tale zona individuata dal rettangolo pi piccolo, mentre la
request zone dal rettangolo pi grande, in esso sono inclusi sia la posizione del
mittente (Xs,Ys) sia la zone expected contenente il nodo di destinazione(Xd,
Yd).
LAR limita la ricerca di un nuovo percorso in un'area ristretta, cos da ridurre
il traco di segnalazione.
PAR La scoperta di un percorso nell'algoritmo PAR vincolata dal livello
di batteria dei singoli dispositivi. Ci viene preso come metrica di routing.
In tale algoritmo si cerca di:
minimizzare l'energia che si consuma per inviare un pacchetto,
massimizza il tempo prima che venga partizionata la rete,
46
-
3.6 Algoritmi Reactive
minimizza la varianza in un nodo, minimizza il costo per pacchetto, minimizza il massimo costo di un nodo.Come viene evidenziato dalla Figura 3.7, il processo di Route Discovery si
basa sulla scoperta di un percorso in cui il livello della batteria pi elevato.
Verr scartato infatti il cammino dove presente un dispositivo, in cui il
livello di batteria molto basso.
L'utilizzo di questo algoritmo quindi non da consigliare in una rete com-
posta dai soli dispositivi quali PDA e Smartphone.
-
+
-
+
-
+
+
-
+
-
+
-
+
Figura 3.7: Protocollo PAR
RDMAR. Il protocollo di routing RDMAR basato sul calcolo della di-
stanza stimata tra i nodi, limitando cos il ooding di pacchetti nella fase di
Route Discovery.
In RDMAR si assume che tutti i nodi sono migranti e aventi la stessa velocit
di movimento. Questa assunzione pu permettere in pratica di stimare la
relativa distanza di percorrenza per giungere a destinazione, che altrimenti
porterebbe un notevole dispendioso di tempo.
In RDMAR l'operazione di Route Discovery, compatta la trasmissione dei
47
-
Analisi dei protocolli di routing
pacchetti informazione nella ricerca di un percorso per giungere a desti-
nazione. Inoltre quando un link si rompe, il processo di Route Maintenance
usato per riparare l'eventuale percorso formato.
I vantaggi dei protocolli Reactive I protocolli Reactive a dierenza dei
protocolli Proactive hanno i seguenti vantaggi:
creano i percorsi solo ed esclusivamente su richiesta (On- Demand),
eliminano l'elevato traco della rete, cosi ch' la rete non venga inon-data dall'invio dei pacchetti informazione,
l'assenza di innumerevoli tabelle per memorizzare i dati relativi all'in-stradamento, permette un minor dispendio di memoria, soprattutto nei
riguardi di quei dispositivi che non ne hanno una quantit limitata.
AODV. Il protocollo di routing AODV migliora quelle che sono le caratter-
istiche del protocollo Proactive DSDV, minimizzando il numero di richieste
per creare percorsi dal nodo sorgente al nodo destinazione.
L'algoritmo, come si gia detto, inizia la sua logica facendo l'operazione di
ooding ad ogni richiesta di route, ci permette un funzionamento adeguato
per reti di piccole dimensioni (cinquanta o cento nodi al massimo), dove ore
un basso overhead.
TORA. Questo protocollo stato pensato per minimizzare le azioni, quan-
do ci si trova di fronte a dei cambiamenti topologici della rete. Infatti tale
protocollo molto adatto ad ambienti mobili altamente dinamici.
Come si evince dalla Figura 3.8 tra il nodo D e il nodo F avvenuto un link
failure, ma ci non desta problemi poich automaticamente il nodo D riesce
ad ottenere un collegamento sia con il nodo B che C.
L'immediato collegamento del nodo D con gli altri nodi dovuto grazie al-
l'operazione tempestiva di Route Maintenance.
Il protocollo Tora si avvale anche dell'aiuto della metrica, denominata height,
che si basa su cinque elementi:
un time logico per la gestione dei link failure,
un identicatore univoco ID di un nodo, che denisce il nuovo livello acui ci si referenzia,
un indicatore di bit,
una propagazione di parametri,
un identicatore per il nodo.
48
-
3.6 Algoritmi Reactive
I primi tre elementi rappresentato collettivamente i reference level
16
. Per
concludere in TORA non si totalmente sicuri di garantire che i percorsi
siano esenti da cicli, ma si pu accertare che saranno almeno di breve durata.
AB
E
CD
F
G
(1)A
E
B
D
F
C
G(2)
Link Failure
AB
E
C
F
D G A
E
B
D G
C
F(3) (4)
Link Reversal
Figura 3.8: Protocollo TORA
SSR. SSR si comporta come DSR e AODV quando si verica un link fai-
lure. La sorgente si mobilita ad inviare dei messaggi di aggiornamento, per
informare che i nodi coinvolti nel percorso possano aggiornare le tabelle SST
e RT.
LAR Il protocollo LAR deriva dal protocollo DSR.
In questo protocollo si cercato di migliorare il ood iniziale per la ricerca di
un percorso. Se si inoltre a conoscenza della posizione (anche approssimata)
della destinazione, si cerca di mandare i pacchetti di richiesta verso quella
direzione, provando a coprire un'area tanto pi ampia quanto pi imprecisa
la conoscenza della posizione.
16
Si creano ogni volta che un nodo perde il suo ultimo downnstream a causa di un link
failure.
49
-
Analisi dei protocolli di routing
PAR. L'unica propriet che ha il protocollo PAR l'essere conveniente se
si sceglie di adottare dispositivi con un'alta durata di batteria, poich riesce
ad minimizzare l'energia che si consuma nell'invio di pacchetti.
RDMAR. L'utilizzo del GPS considerato un vantaggio perch riesce a
determinare con esattezza la posizione del nodo di destinazione.
Gli svantaggi dei protocolli Reactive Di seguito verranno menzionati
gli svantaggi dei singoli protocolli.
AODV. Non viene garantito che i percorsi siano i pi corti e a causa del
funzionamento On-Demand, alcuni pacchetti dati potrebbero essere persi
nch non si riesce a trovare un percorso per la destinazione. Inoltre per
reti composte da pi di 100 dispositivi si ha un alto overhead dovuto dalla
propagazione di pacchetti di richiesta da parte del nodo sorgente.
TORA. Il tempo di creazione da parte del protocollo nella creazione del
grafo eccessiva. Inoltre i percorsi oerti non sono sicuramente ottimali, e
anche in questo protocollo di routing c' la possibilit della formazione di
loop.
SSR. Nel protocollo SSR c' un dispendio di tempo notevole quando si
in presenza di canali comunicativi deboli, poich come precedente citato
tale protocollo seleziona i percorsi solo ed esclusivamente se la potenza del
segnale alta.
LAR LAR purtroppo non permette il suo utilizzo se non si provvisti del
Global Positioning System.
PAR Non indicato per chi volesse usare dispositivi mobili come PDA e
Smartphone, poich la loro batteria dura all'incirca 60min. Inoltre questo
protocollo massimizza il tempo per partizionare la rete.
RDMAR. I limiti che vengono attribuiti a tale algoritmo sono tre:
la distanza stimata in funzione della previsione della distanza stessa;
l'assunzione di una velocit ssata dei dispositivi mobili;
si deve ssare un range di trasmissione.
50
-
3.7 Protocolli Hybrid
3.7 Protocolli Hybrid
I protocolli Hybrid cercano di unire quelli che sono i vantaggi dei protocolli
Proactive e Reactive. Di seguito verr descritto solo il protocollo ZPR -
Zone Routing Protocol poich ad oggi, questa famiglia di protocolli molto
dicile da implementare e basa il suo funzionamento sulla cooperazione dei
protocolli Reactive e Proactive.
Protocollo ZPR. Il protocollo ZPR usa una routing zone, (letteralmente
zona di routing), che pu essere pensata simile al menzionato utilizzo dei
clusters, con l'eccezione che ogni nodo si comporta come un cluster head,
potendo essere quindi membro di un qualsiasi cluster.
Le zone di routing possono essere sovrapposte. Ogni nodo specica una zona
radio in termini di radio hops
17
.
Le dimensioni di una zona di routing possono andare ad incidere sulle prestazioni
della comunicazione della rete ad hoc.
ZPR utilizza nella zona di routing uno dei protocolli di instradamento Proac-
tive. Ci fa evincere che ogni dispositivo deve avere a disposizione delle
tabelle all'interno delle quali vengono memorizzati i percorsi per raggiungere
i nodi all'interno della zona.
Gli aggiornamenti dei percorsi (in caso di cambiamenti topologici della rete
o in caso di link failure), vengono eettuati dai singoli nodi all'interno della
zona di routing.
Per realizzare invece la ricerca dei nodi (operazione di Route Discovery), che
si trovano in zone diverse, viene utilizzato uno dei protocolli Reactive.
Il protocollo ZPR si avvale dell'aiuto di tre sotto-protocolli, che sono:
un protocollo Proactive denominato IARP (IntrAzone Routing Proto-col). Il compito principale assicurare che ogni nodo, dentro una zona
di routing, abbia a disposizione una tabella di routing consistente e
che venga aggiornata periodicamente per esprimere informazioni at-
tendibili, atte a determinare la ricerca di tutti i nodi all'interno della
zona.
Un protocollo Reactive denominato IERP (IntEr Routing Protocol). Ilsuo compito eettuare la ricerca sia di nodi in altre zone, sia la ricerca
di un percorso per giungere a destinazione. La Figura 3.9 presenta un
possibile scenario. I cerchi identicano univocamente le tre zone X, Y,
Z, che come si nota sono sovrapposte e al loro interno si trovano alcuni
dispositivi.
La ricerca di un percorso On-Demand viene eettuata dai nodi po-
sizionati sui bordi di una zona (border node), che si preoccupano di
reperire le informazione riguardanti i nodi risiedenti in altre zone. Ci
17
I radio hops, identicano sempre, come stato precedentemente illustrato, quanti salti
un nodo obbligato a fare per arrivare al nodo destinazione.
51
-
Analisi dei protocolli di routing
Border Node
Border Node
Zona dei nodi Y
Zona dei nodi Z
Zona dei nodi X
Figura 3.9: Protocollo ZPR
non avviene tramite query broadcast
18
, ma tramite l'invio di messaggi
dai nodi marginali ai nodi posizionati all'interno di altre zone.
BRP Bordercast Resolution Protocol.
Per concludere il protocollo di routing ZPR, teoricamente, ha la possibilita'
di ottimizzare la gestione sia di molti dispositivi che di un numero di dis-
positivi piu' stretto, ma allo stato attuale molto dicile da implementare,
poich non si ancora stabilito uno standard di utilizzo, cio permettere la
cooperazione delle due famiglie di protocolli Reactive e Proactive.
3.8 Protocollo DSR
Nel seguente paragrafo verranno prima di tutto descritte le funzionalit del
protocollo di routing DSR, analizzate le due principali operazioni di Route
Discovery e Route Maintenance e poi in ultimo spiegato il motivo per il quale
si scelto di implemantarlo.
18
Continue domande trasmesse a tutti i nodi.
52
-
3.8 Protocollo DSR
3.8.1 Funzionamento generale
Il protocollo DSR fa parte della famiglia dei protocolli Proactive, per cui i
nodi che intendono conoscere un determinato percorso devono farne esplici-
tamente richiesta.
Ogni dispositivo possiede una route cache nella quale vengono memorizzati
una serie di percorsi atti ad arrivare al nodo di destinazione. In questa tabel-
la i percorsi sono mantenuti per un determinato periodo di tempo (scelta che
viene gestita dal programmatore): quando questo tempo scade, il percorso,
cancellato se non viene referenziato.
La prima fase che un nodo sorgente utilizza nella determinazione di un per-
corso (se questo non gi memorizzato in route cache) la scoperta dei
vicini. In questa fase si riesce a determinare quali sono i dispositivi che si
trovano nel range trasmissivo del nodo che ha richiesto un route. Una volta
scoperti i vicini, si inizia la fase di Route Discovery.
Di seguito verranno descritti dettagliatamente i passi che bisogna compiere
per arrivare a determinare un percorso.
3.8.2 Determinazione di un percorso
Per costruire un source route nel quale si invier un pacchetto dati, le tappe
da eseguire sono le seguenti:
si verica se nella route cache presente o meno un percorso, selo si trova, si utilizza questo percorso per inviare il dato al nodo
destinazione;
se non si ha memorizzato un percorso in route cache, si esegue la sco-perta dei vicini. Se un vicino proprio il nodo di destinazione, si invia
il dato;
se la fase di scoperta dei vicini non andata a buon ne si procede conl'operazione di Route Discovery.
In generale un nodo inoltra una richiesta, denominata RREQ (route request),
quando o nella sua route cache non ha un percorso per giungere a desti-
nazione o la scoperta dei vicini non ha dato come esito il nodo destinazione.
3.8.3 Operazione di Route Discovery
Questa fase permette di scoprire dinamicamente un percorso verso un altro
host, sia se l'host di destinazione ricercabile direttamente dentro il suo
stesso wireless trasmission range, sia se necessario utilizzare nodi intermedi
per ottenere il percorso.
Un host inizia l'operazione di Route Discovery trasmettendo un RREQ ai
nodi che si trovano nel suo stesso wireless trasmission range.
53
-
Analisi dei protocolli di routing
Il pacchetto RREQ identica sia il mittente e sia quale il destinatario della
richiesta. Se la RREQ riesce ad ottenere un percorso, allora viene mandata
indietro al mittente una RREP (route reply), nella quale memorizzato il
percorso completo sorgente-destinazione.
Il pacchetto RREQ composto da:
indirizzo del mittente, indirizzo della destinazione request ID che indica il numero generato dal mittente, che identicaunivocamente una RREQ,
route record che memorizza in un record la sequenza dei salti necessariper raggiungere l'host di destinazione. Tali dati sono ricavati attraverso
la Route Discovery.
Per scoprire ed evitare che ci siano RREQ duplicate nella ricerca di un per-
corso, ogni host mantiene una lista delle coppie (indirizzo sender, request
id) ricevute dalle varie RREQ. Quando un device riceve una richiesta si pu
comportare nei seguenti modi:
se la coppia indirizzo sender,request ID nota nella lista, allora l'hostscarta la richiesta senza processarla;
se l'indirizzo dell'host gi presente nel route record di una richiesta,allora scarta la richiesta senza processarla;
se la richiesta giunge alla destinazione, allora il route record contieneil percorso dal quale la richiesta giunta. Inne, la destinazione copia
il percorso memorizzato nel route record e lo pone in una RREP che
invier al mittente;
se la richiesta giunge ad un host intermedio, esso aggiunge al routerecord il suo indirizzo e inoltra la richiesta.
Anch sia fornita una RREP al mittente, la destinazione deve possedere
un percorso per la sorgente.
Se la destinazione ha nella propria route cache un percorso per il mittente,
invia la RREP su questo percorso.
Diversamente, se non si possiede un percorso, pu essere utilizzato quel-
lo memorizzato nel route record della RREQ ricevuta. Questo approccio
richiede che la comunicazione tra coppie di host sia bidirezionale.
Nella Figura 3.10 viene mostrata l'operazione di Route Discovery all'inter-
no di una rete composta da otto dispositivi. Nel primo passo, si evince la
trasmissione da parte del nodo sorgente (nodo 1) del pacchetto route record.
I nodi successivi controllano se nella loro route cache presente un percorso
54
-
3.8 Protocollo DSR
per giungere al nodo 8 (si supposto che tutti i nodi hanno la route cache
vuota), in seguito eseguono la fase di scoperta dei vicini (anche qui si voluto
far notare che non si arriva subito al nodo di destinazione), e come ultimo
anche loro inviano i pacchetti route record n tanto che non si giunge al nodo
destinazione. Una volta giunti al nodo 8 la seconda fase la trasmissione
del pacchetto RREP, destinato al nodo sorgente, il quale una volta ricevuto
potr utilizzare tale percorso per inviare il dato al nodo 8.
Un ulteriore approccio oerto dal protocollo DSR per mandare un pacchetto
di risposta al nodo sorgente (RREP), pu essere quello di utlizzare la modal-
it piggyback. Questa tecnica permette di inviare all'interno del pacchetto
RREP anche quello RREQ, ma di ci verra trattato nel paragrafo 3.8.4.
N1
N3
N4
N6 N7
N8
N5N2N1
N1,N2 N1,N2,N5
N3
N1,N3
N1,N3
N1,N3,N4
N1,N3,N6
N1,N3,N6,N7
N1,N3,N4 1) Pacchetto RouteRecordDurante la Route Discovery
N1
N2 N5
N8
N3
N4
N6 N7
SorgenteDestinazione
Sorgente
Destinazione
N1,N2,N5,N8
N1,N2,N5,N8N1,N2,N5,N8 2) Propagazione del pacchetto
RouteReply con il pacchettoRouteRecord
Figura 3.10: Protocollo DSR
3.8.4 Piggybacking sulla Route Discovery
Abbiamo visto, che quando un host vuole inviare un pacchetto dati ad un
altro host, prima controlla se nella sua cache presente un percorso, poi se
non lo , comincia l'operazione di Route Discovery. L'attesa del pacchetto
RREP da parte del nodo richiedente pu essere ridotto, usando la tecnica di
piggyback. Nel pacchetto RREP infatti ci sono anche i pacchetti RREQ, ci
per evitare che una volta arrivati a destinazione, questa rifaccia nuovamente
la scoperta di un percorso per giungere al nodo sorgente.
55
-
Analisi dei protocolli di routing
Questa tecnica se pur molto utile bisogna usarla con cautela. Attualmente
si usa la tecnica di piggybacking quando si inviano o pacchetti RREP o
pacchetti RRER (pacchetti di errore), dato che sono per natura piccoli di
dimensione.
3.8.5 Route Maintenance
Gli algoritmi di routing Reactive precendentemente descritti usano uno scam-
bio continuo di messaggi per noticare lo stato della rete. In questo algoritmo
ci non eettuato.
Il protocollo DSR quando riesce a trovare un percorso, utilizzata una pro-
cedura di Route Maintenance per monitorare le operazioni da eettuare sul
percorso, ed informare sia il mittente, sia i nodi intermedi di qualsiasi errore
di routing.
Dato che le reti wireless sono per natura meno adabili delle rete con li,
molte di esse utilizzano un riconoscimento hop-by-hop a livello data link,
per scoprire e ritrasmettere i pacchetti persi o danneggiati. In queste reti, la
Route Maintenance pu essere facilmente fornita ad ogni hop.
Se il livello data link riscontra un problema di trasmissione, l'host manda un
pacchetto RRER (route error) al mittente che ha provocato l'errore.
Il pacchetto RRER contiene gli indirizzi dei due host posti alle estremit del
link, che hanno generato l'errore. Quando un host riceve un RRER, l'hop che
ha generato l'errore rimosso dalla route cache dell'host, e tutti i percorsi
che contengono l'hop che ha generato l'errore sono troncati in quel punto.
Esistono diverse modalit per dichiarare l'avvento di un errore:
passive acknowledgement, se la rete wireless non supporta un riconosci-mento a basso livello, dopo che stato inviato un pacchetto, l'host in
grado di capire se l'host seguente sta trasmettendo di nuovo il pacchetto
lungo il percorso assegnato;
viene usato un bit, incluso nell'header del pacchetto, per permetteread un host di richiedere al nodo seguente una risposta di avvenuta
ricezione;
quando un host intermedio riceve un pacchetto RREP, l'host deve avereun percorso verso il mittente del pacchetto originale, per poter inviare
un pacchetto RRER. Se questo host ha memorizzato nella sua route
cache un percorso, utilizza questo per inviare il pacchetto,
altrimenti se l'host non ha il percorso nella route cache, per inviare ilpacchetto d'errore potrebbe invertire il percorso che stato usato per
giungere a lui dalla sorgente.
Si potrebbe usare piggibacking come nel caso di un pacchetto RREP.
56
-
3.8 Protocollo DSR
Un'altra opzione per restituire un pacchetto d'errore quello di salvarelocalmente il route error in un buer, eseguire l'operazione di Route
Discovery per trovare il mittente originale, e in seguito mandare il
pacchetto route error attraverso il percorso trovato.
3.8.6 Miglioramenti delle operazioni
Di seguito verranno illustrate le ottimizzazioni possibili per le operazioni di
Route Discovery e di Route Maintenance.
I miglioramenti che si possono eseguire sulla route cache di un host sono:
riguardanti i dati, che possono essere immagazzinati in ogni formato;
un host pu sempre aggiungere un nuovo percorso in route cache.
Di quest'ultima miglioria si andr ad analizzare quali sono le situazioni
tipiche che portano un nodo ad aggiungere nella sua route cache nuovi
percorsi. In particolare un nodo aggiunge i percorsi in route cache se:
un host ottiene il percorso mediante una RREP;
un nodo deputato ad avanzare un pacchetto dati controlla l'intero per-corso (che dovr arontare il pacchetto per giungere a destinazione).
In questo caso il nodo pu memorizzare quel dato percorso,
un nodo che inoltra una RREP, pu rilevare il percorso memorizzatonel route record e memorizzarlo nella sua route cache.
Un host inoltre usa la sua route cache per evitare la propagazione nella rete
di copie uguali di pacchetti RREQ, ricevuti dai suoi vicini.
Un'ultima ottimizzazione sarebbe quella di aggiungere in un record il nu-
mero massimo di hop, sui quali un pacchetto pu essere propagato. Questa
miglioria potrebbe essere molto importante per ridurre il numero di richieste
propagate nella fase di Route Discovery.
Per eettuare questa ottimizzazione si seguono i seguenti passi:
per compiere l'operazione di Route Discovery, inizialmente si manda laRREQ con un limite di hop posto a uno;
se dopo un certo intervallo di tempo, non si riesce ad avere una risposta(RREP) alla RREQ formulata nel passo precedente, allora viene man-
data una nuova richiesta con un numero massimo di salti ssato (di
solito si sceglie come numero massimo di salti 10).
57
-
Analisi dei protocolli di routing
3.9 Motivazione della scelta del protocollo
Nell'appendice B vengono riportate quattro delle pi salienti esperienze eet-
tuate, sia in ambienti chiusi che in spazi aperti (senza intralci di trasmissioni
radio) che hanno permesso di avere l'assoluta certezza, che nelle reti ad hoc,
non esistendo infrastrutture, non possibile avere una comunicazione point-
multipoint.
Ossia ci non possibile se nonch si usufruisca di un protocollo di routing.
E' per tale motivazione che si scelto di sviluppare il protocollo Reactive
DSR.
La scelta ricaduta sul protocollo DSR, poich per prima cosa, appartiene
alla famiglia dei protocolli Reactive, di cui si sono elencati i vantaggi nel
paragrafo 3.6.
In una rete MANET, l'idea della creazione di percorsi solo On-Demand,
sicuramente pi attuabile, rispetto ad un continuo scambio di informazioni
ad intervalli di tempo ssati.
In secondo luogo, il protocollo DSR, rispetto a tutti i protocollo visionati, of-
fre non una ma tre diverse alternative per garantire la ricerca di un percorso.
Queste fasi sono:
ricerca in route cache; permettere un notevole ridimenzionamento deltraco di pacchetti nella rete, poich se in route cache presente un
percorso per giungere a destinazione automaticamente si instradano
pacchetti di informazione.
Scoperta dei vicini; consente ad un nodo la ricerca dei vicini nel suorange trasmissivo. Se infatti il nodo di destinazione un vicino, il nodo
mittente invia immediatamente pacchetti contenenti i dati.
Route Discovery; questa fase consente di cercare un percorso tra nodiche non si trovano nello stesso range trasmissivo.
Inoltre il protocollo DSR, appropriato per una rete dove i dispositivi che la
compongono sono all'incirca cinquanta e per i nostri scopi, ovvero una rete
composta al massimo pochi dispositivi (circa venti), sembrato quello che
pi si adattava bene a queste esigenze.
Ma il motivo pi importante il mantenimento da parte di tutti i dispositivi
di una sola tabella, denominata route cache. Tale route cache mantiene tutte
le informazioni necessarie a far si che si abbiano a disposizione i percorsi nec-
essari per giungere ad un nodo destinazione.
Il mantenimento di un'unica tabella un grande vantaggio, dovuto anche
al fatto che l'applicazione pensata fa uso soprattutto di dispositivi mobili,
come palmari; con bassa capacit di memoria (circa 128 MB), quindi tenere
in memoria solo una tabella, risulta molto utile in termini di risparmio di
risorse.
58
-
3.9 Motivazione della scelta del protocollo
DSR permette inoltre, che la comunicazione tra due host possa essere fat-
ta, utilizzando percorsi pi brevi, come pure permette di eliminare, tutti
i problemi relativi alla creazione di cicli nel percorso, proprio perch vi
il continuo controllo da parte dei nodi, nei confronti dei pacchetti RREQ,
RREP, RRER.
Infatti se un device si accorge di aver gi ricevuto uno di questi pacchetti
non fa nient'altro che riutare.
L'operazione di Route Maintenance invece, determina i link failure nella rete,
cos da permettere ai dispositivi di cercare un'alternativa, una volta noti-
cato il fallimento.
Concludendo il protocollo DSR sembrato quello che pi si adatta sia allo
scenario proposto nel Capitolo 2, riguardante la squadra di soccorso, che
deve necessariamente avere a disposizione PDA, laptop, etc. sia alle scelte
di progetto discusse nel Capitolo 4.
59