Il routing
Funzione di instradamento nei Router IP
• I Router IP hanno la funzione di instradare i
datagrammi in rete: ricevono un datagramma da una interfaccia, eseguono alcune operazioni e
rilanciano il datagramma stesso su un’altra interfaccia.
IP
3 1 2
• Ogni datagramma attraversa un cammino composto da router e sottoreti.
IP
Tabelle di instradamento (1/2)
• Il meccanismo per l’instradamento in IP è basato sulla presenza in ogni host e in ogni router di una tabella di instradamento: contiene informazioni relative alle destinazioni conosciute
• Una tabella di instradamento (routing table) contiene delle entry (righe) del tipo (N, M, NH, I) dove:
– N è l’indirizzo della rete di destinazione, – M la maschera di rete associata ad N
– NH è l’indirizzo del prossimo router (next-hop router) lungo la strada che porta alla destinazione
– I è l’interfaccia del router verso cui rilanciare i
datagrammi diretti a N
• La tabella di instradamento specifica quindi solo un passo lungo il cammino verso la destinazione quindi il router non conosce il cammino completo che il datagramma dovrà compiere
• Al fine di mantenere piccole le tabelle di instradamento e realizzare un instradamento efficiente, le tabelle contengono solo informazioni sulle reti e non sui singoli nodi
Tabelle di instradamento (2/2)
Esempio
Tabella di instradamento di R2 Destinazione
N Next hop
NH
20.0.0.0 d.c. (20.0.0.6)
130.11.0.0 d.c. (130.11.0.6)
11.0.0.0 20.0.0.5
213.2.97.0 130.11.0.7
213.2.98.0 130.11.0.7
Maschera M
255.0.0.0 255.255.0.0 255.0.0.0 255.255.255.0 255.255.255.0
Interfaccia I
eth0 eth1 eth0 eth1 eth1 20.0.0.5
20.0.0.6
130.11.0.6 213.2.97.7
130.11.0.7 Rete
11.0.0.0 Rete
20.0.0.0 Rete
130.11.0.0
R1 R2 R3
11.0.0.5
Rete 213.2.97.0
Rete 213.2.98.0 213.2.98.12
eth0
eth1
Router di default (default gateway)
• Router verso cui è inviato il traffico diretto ad una destinazione non presente nella tabella di routing
• Non obbligatorio ma molto utilizzato sia dagli hosts che dai router.
• Il default gateway è presente all’ultima riga della tabella di instradamento ed è rappresentato con tutti zero sia nel
campo N che nel campo M
Destinazione
N Next hop
NH
20.0.0.0 d.c. (20.0.0.6)
130.11.0.0 d.c. (130.11.0.6)
0.0.0.0 20.0.0.5
Maschera M
255.0.0.0 255.255.0.0 0.0.0.0
Interfaccia I
eth0 eth1 eth0
Longest Prefix Matching
• Per valutare se un host con indirizzo X appartiene ad una sottorete con indirizzo Y/M si effettua l’operazione di matching, cioè si verifica che:
X and M = Y and M
• Quando all’interno di un router si effettua l’operazione di
instradamento il matching va effettuato per tutte le righe
della tabella di routing: se il matching dà esito positivo per
più righe si attua la regola del Longest Prefix Matching, si
utilizza la riga che ha il maggior numero di bit in comune
con XandM
Routing statico e routing dinamico (1/2)
I router devono conoscere i possibili percorsi verso le reti remote, ciò è possibile mediante
• Le informazioni ricevute dagli altri router (Routing Dinamico)
• La configurazione eseguita dall’amministratore
(Routing Statico)
Il Routing Statico è una tecnica non scalabile
• Le route statiche devono essere configurate manualmente
• In caso di cambi di topologia di rete è necessario che l’amministratore apporti le opportune variazioni alla configurazione delle route statiche
• Elevata complessità gestionale in caso di reti di grandi dimensioni
Spesso i due tipi di routing, Statico e Dinamico, operano congiuntamente
Routing statico e routing dinamico (2/2)
Configurazione di una route statica
Il comando per configurare una route statica è
R1(config)#ip route Dest_IP_Add SubNet_Mask A/B
Due possibili alternative
Soluzione A: è specificata l’interfaccia di uscita (è possibile solo in caso di link punto-punto)
Soluzione B: è specificato l’indirizzo IP del next- hop router (soluzione obbligatoria in caso di rete ethernet)
Una particolare route statica è la route di default:
ip route 0.0.0.0 0.0.0.0 A/B
Costruzione della tabella di instradamento
Le righe della tabella di routing (route) possono avere diverse origini:
• Route direttamente connesse (C)
• Route statiche (S,S*)
• Route dinamiche (RIPR, OSPFO, etc…)
Esempio
Il comando per configurare una route statica è
R1(config)#ip route Dest_IP_Add SubNet_Mask A/B
Due possibili alternative
Soluzione A: è specificata l’interfaccia di uscita (è possibile solo in caso di link punto-punto)
Soluzione B: è specificato l’indirizzo IP del next-hop router (soluzione obbligatoria in caso di rete ethernet)
Una particolare route statica è la route di default:
ip route 0.0.0.0 0.0.0.0 {next-hop-address | outgoing interface]}
Esercitazione Packet Tracer: Routing Statico (1/2) Configurare indirizzi interfacce router
Configurare hosts
Aggiungere rotte statiche per raggiungibilità reti Verificare raggiungibilità (ping tra PC)
R0
R1
192.168.0.0/24 Net_A
192.168.1.0/24 Net_B
R3
PC1
PC0
PC3 PC2
Esercitazione Packet Tracer: Routing Statico (2/2) Verificare raggiungibilità tra i router (ping tra R0R3 e R1R2) e da router a PC
Cosa accade?
R2 R0
R1
192.168.0.0/24 Net_A
192.168.1.0/24 Net_B
R3
PC1
PC0
PC3 PC2