Sei sulla pagina 1di 17
Politecnico Politecnico di di Milano Milano Dipartimento Dipartimento di di Elettronica Elettronica e e Informazione

PolitecnicoPolitecnico didi MilanoMilano

DipartimentoDipartimento didi ElettronicaElettronica ee InformazioneInformazione

RoutingRouting dinamicodinamico inin NSNS -- 44 --

RetiReti didi TelecomunicazioniTelecomunicazioni IIII

RoutingRouting

L’instradamento è alla base della funzionalità di rete implementata dalle entità di livello 3 (OSI) dei nodi

consente a due nodi A e B, non collegati direttamente, di comunicare tra loro mediante la collaborazione di altri nodi posti su un cammino nella rete che connette A e B

A

mediante la collaborazione di altri nodi posti su un cammino nella rete che connette A e
mediante la collaborazione di altri nodi posti su un cammino nella rete che connette A e
mediante la collaborazione di altri nodi posti su un cammino nella rete che connette A e

Routing dinamico in NS

B

2

RoutingRouting

La politica di routing è quella che definisce i criteri di scelta del cammino nella rete per i pacchetti che viaggiano tra un nodo di ingresso ed uno di uscita

e dunque quella che costruisce le tabelle di routing che vengono usate dai nodi per effettuare il forwarding

il tipo di rete (datagram, circuito virtuale) determina il tipo di tabelle da utilizzare e i gradi di libertà della politica di routing nella scelta dei cammini

Routing dinamico in NS

3

RoutingRouting suisui camminicammini minimiminimi

Il routing sui cammini minimi è molto semplice ed è spesso usato nelle reti datagram (IP)

Si definisce un peso per ogni link

Si calcola il cammino minimo verso la destinazione

Proprietà

A

■ i sottocammini di cammini minimi sono anch’essi minimi B
■ i sottocammini di cammini minimi sono anch’essi
minimi
B

Routing dinamico in NS

4

RoutingRouting suisui camminicammini minimiminimi

Conseguenza:

Nelle tabelle di routing basta memorizzare il prossimo nodo sul cammino

destinazione

destinazione link d’uscita

link d’uscita

destinazione link d’uscita

A

di routing basta memorizzare il prossimo nodo sul cammino destinazione link d’uscita A Routing dinamico in

Routing dinamico in NS

B

5

RoutingRouting nellenelle retireti IPIP

Il principio su cui si basa il routing IP è molto semplice

inviare i pacchetti sul cammino minimo verso la destinazione

la metrica su cui si calcolano i cammini minimi è generale

il calcolo avviene in modo distribuito dai router mediante uno scambio di informazioni con gli altri router

nella tabella viene indicato solo il primo router sul cammino grazie alla proprietà secondo la quale anche i sotto-cammini di un cammino minimo sono minimi

Routing dinamico in NS

6

StudioStudio deldel routingrouting concon NSNS

Essendo orientato alle reti IP, NS usa un routing basato sui cammini minimi

Se non viene espressamente indicato, NS precalcola i cammini minimi mediante un modulo che usa l’algoritmo di Dijkstra (Static)

un modulo che usa l’algoritmo di Dijkstra (Static) ■ Con il routing Static la rete non

Con il routing Static la rete non può reagire a cambiamenti della topologia

Con il routing di tipo Session dopo ogni cambiamento i cammini minimi vengono ricalcolati (nessuno scambio di messaggi - routing ideale)

Routing dinamico in NS

cambiamento i cammini minimi vengono ricalcolati (nessuno scambio di messaggi - routing ideale) Routing dinamico in

7

StudioStudio deldel routingrouting concon NSNS

E’ possibile anche simulare dei veri protocolli di routing, con scambio di messaggi fra i router.

In particolare si può usare un protocollo di tipo Distance Vector

si può usare un protocollo di tipo Distance Vector ■ O un protocollo di tipo Link

O un protocollo di tipo Link State

Routing dinamico in NS

si può usare un protocollo di tipo Distance Vector ■ O un protocollo di tipo Link

8

EsempioEsempio 11

Si consideri la rete in figura

2 4 6 1 3 5
2
4
6
1
3
5

Routing dinamico in NS

tutti i link:

C=10 Mb/s τ=20 ms

9

EsempioEsempio 11

si attacchino 3 agenti UDP al nodo 1

packet size 5000 bytes

si attacchino 3 sorgenti CBR agli agenti UDP

rate 3 Mb/s

packet size 5000 bytes

destinazione nel nodo 6 (agente Null)

costo dei link pari a 1.0 per tutti

durata della simulazione 1.0s

verificare il percorso seguito dai pacchetti

Routing dinamico in NS

esempio1routing.tcl

10

EsempioEsempio 22

Si modifichino i pesi dei link nel seguente modo:

1 2 4 1 1 6 1 0.1 0.1 0.1 1 1 1 5
1
2
4
1
1
6
1
0.1
0.1
0.1
1
1
1
5

3

Routing dinamico in NS

esempio2routing.tcl

11

EsempioEsempio 33

Si utilizza la stessa rete dell’esempio 2

si attiva un protocollo di routing di tipo Distance Vector

al tempo 0.3s si manda “down” il link 3-4

1 2 4 1 1 6 1 0.1 0.1 0.1 1 1 1 5 3
1
2
4
1
1
6
1
0.1
0.1
0.1
1
1
1
5
3

Routing dinamico in NS

esempio3routing.tcl

12

EsempioEsempio 44

S ■ Topologia: ad anello. ■ Protocollo di routing: Distance Vector ■ Trasmissione pacchetti: 0
S
■ Topologia:
ad anello.
■ Protocollo di
routing:
Distance
Vector
■ Trasmissione
pacchetti:
0
3
esempio4routing.tcl
Routing dinamico in NS
D

13

CreazioneCreazione TopologiaTopologia

Creiamo i nodi da 0 a 6 sfruttando gli array:

}

E li connettiamo fra loro con link full-duplex di capacità pari a 1Mb/s e ritardo 10ms:

}

}

Routing dinamico in NS

14

CreazioneCreazione TrafficoTraffico

Creazione Creazione Traffico Traffico Routing dinamico in NS 1 5

Routing dinamico in NS

15

InserimentoInserimento dinamicadinamica deidei linklink

Aggiungendo le seguenti righe di codice

link link ■ Aggiungendo le seguenti righe di codice ■ … il link fra i nodi

… il link fra i nodi n(1) e n(2) viene messo fuori uso nel periodo compreso fra 1s e 2s.

Su questo link passava proprio il traffico UDP, che adesso dovrà essere reinstradato.

Routing dinamico in NS

16

TecnicheTecniche didi reinstradamentoreinstradamento ::

Basta aggiungere la seguente riga di codice immediatamente dopo aver creato l’oggetto simulatore:

immediatamente dopo aver creato l’oggetto simulatore: ■ …e la rete eseguirà il reinstradamento, dopo aver

…e la rete eseguirà il reinstradamento, dopo aver calcolato il nuovo cammino minimo utilizzando il protocollo Distance Vector.

E’ possibile utilizzare anche Session o Link State per vedere le differenze di comportamento.

Routing dinamico in NS

17