ipv4-routing - the Netgroup at Politecnico di Torino

Transcript

ipv4-routing - the Netgroup at Politecnico di Torino
Internet Protocol Versione 4:
instradamento e routing
Aspetti di forwarding e routing del protocollo
IPv4
1
Instradamento (forwarding)
Operazione comune a tutte le macchine con stack
TCP/IP
Router, end systems
Il procedimento si applica:
Se l’host in esame è il mittente del pacchetto
Se l’host in esame non è il mittente del pacchetto
2
Router intermedio sul percorso verso la destinazione
Instradamento diretto e indiretto
Diretto
Indiretto
Tra hosts nella stessa rete IP
Tra hosts in reti IP diverse
L’instradamento
coinvolge
solo i livelli 1 e 2 (a parte
eventuali ARP request)
L’instradamento coinvolge
livelli 1 , 2 e 3
Hosts identificati tramite l’IP
address
Gli host devono conoscere
almeno un router presente
sulla loro rete fisica
Hosts identificati tramite l’HW
address
Indirizzi MAC sulle LAN
Indirizzi di DTE in X.25
Identificatori DLCI in Frame
Relay
.........
Domanda fondamentale: la destinazione
appartiene alla mia stessa rete IP?
3
i
Algoritmo di instradamento
Instradamento diretto
Seleziona
un’interfaccia
Longest Prefix Match
Instradamento indiretto
La destinazione
appartiene allo
stesso address
range?
SI
Attiva i meccanismi di
livello data-link per l’inoltro
NO
Seleziona il migliore
“next hop router”
NO
SI
Esistono
altre interfacce?
Invia pacchetto
4
Longest Prefix Match
Host con pacchetto da inoltrare
10.1.1.1
00001010 00000001 00000001 00000001 (AND)
255.255.255.0
11111111 11111111 11111111 00000000
10.1.1.0
00001010 00000001 00000001 00000000
Appartenenza alla stessa rete:
instradamento diretto
Destinatario 1
10.1.1.2
00001010 00000001 00000001 00000010 (AND)
255.255.255.0
11111111 11111111 11111111 00000000
10.1.1.0
00001010 00000001 00000001 00000000
Appartenenza a reti diverse:
instradamento indiretto
Destinatario 2
5
131.2.1.4
10000011 00000010 00000001 00000100 (AND)
255.255.255.0
11111111 11111111 11111111 00000000
131.2.1.0
10000011 00000010 00000001 00000000
Instradamento diretto di pacchetti IP
Il destination address
un’interfaccia del router
con
quello
di
elaborazione locale
Il destination address appartiene all’address range di
una delle interfacce
reti punto-punto
invio del datagramma sull’interfaccia
reti multipunto con broadcast
risoluzione dellindirizzo con ARP
invio diretto verso il destinatario
reti multipunto senza broadcast
6
coincide
l’indirizzo nativo (data-link) dell’host sulla rete destinataria deve
essere configurato staticamente
Esempio
MAC_Src: MAC_A1
MAC_Dst: MAC_C1
IP_Src: IP_A1
IP_Dst: IP_C1
A2
Data
S2
A1
S1
B1
7
C1
B2
Instradamento indiretto di pacchetti IP
Il destination address non è in nessuno degli
address range delle interfacce dell’host
Routing table
8
Invio al “next hop” indicato sulla routing table
Costruita attraverso processi ad-hoc
Esempio
MAC_Src: MAC_A1
MAC_Dst: MAC_S1
IP_Src: IP_A1
IP_Dst: IP_B2
A2
B2
Data
S2
A1
S1
MAC_Src: MAC_S2
MAC_Dst: MAC_B2
B1
C1
IP_Src: IP_A1
IP_Dst: IP_B2
Data
9
Tabella di instradamento
Presente (obbligatoria) in tutti gli host IP
Elenco di coppie:
Destinazioni raggiungibili dall’host
Next hop router “migliore”
Es: da Torino a Napoli è necessario passare per Roma
Informazione aggiuntiva: costo
10
Più sviluppata sui routers
Discrimina tra percorsi alternativi verso una stessa destinazione
Tabella di instradamento: Next Hop
Deve
essre
obbligatoriamente
direttamente raggiungibile
Percorsi asimmetrici
indirizzo
Normali nel mondo TCP/IP
Il next hop è configurato in una sola direzione; la direzione
opposta può scegliere un altro percorso
11
un
Esempio: nella rete precedente il forwarding potrebbe sempre
essere fatto in senso orario, indipendentemente dal costo minore
per raggiungere la destinazione
Tipologie di informazioni
Informazioni nella tabella di instradamento
Route Statiche
Route Diretta
Route Dinamica
address range appresi attraverso un ‘protocollo di routing’
route apprese attraverso ICMP redirect
Deve essere specificato quale deve essere preferita
Default route
12
address range corrispondenti alle interfacce del router
Route per uno stesso address range appresa da diverse fonti
(es. Dinamica + Statica)
route configurate staticamente dal gestore
Presente sugli end-systems e gran parte dei routers
Tabella di instradamento di un router
Routing
Type
Dest
S 10.0.0.0
S 10.0.1.0
S 10.0.2.0
S 10.0.3.0
S 10.0.4.0
C 10.0.5.0
C 10.0.6.0
C 10.0.7.0
S 10.0.8.0
table
Netmask
255.255.255.0
255.255.255.0
255.255.255.0
255.255.255.0
255.255.255.0
255.255.255.0
255.255.255.0
255.255.255.0
255.255.255.0
Next Hop
10.0.5.2
10.0.5.2
10.0.5.2
10.0.5.2
10.0.5.2
10.0.5.1
10.0.6.1
10.0.7.1
10.0.7.2
10.0.2.0/24
10.0.3.0/24
.2
10.0.1.0/24
10.0.5.0/24
.2
10.0.7.0/24
.1
.1
10.0.0.0/24
.1
10.0.4.0/24
10.0.8.0/24
13
10.0.6.0/24
Routing Table: esempio
Configuration
Command Prompt
C:\winnt>netstat -rn
IP address: 130.192.28.4
Netmask:
255.255.0.0
Gateway:
130.192.3.17
OS:
Windows 2000
Route Table
===========================================================================
Interface List
0x1 ........................... MS TCP Loopback interface
0x2 ...00 10 4b 35 f2 fa ...... 3Com EtherLink PCI
===========================================================================
===========================================================================
Active Routes:
Network Destination
Netmask
Gateway
Interface Metric
0.0.0.0
0.0.0.0
130.192.3.17
130.192.28.4
1
127.0.0.0
255.0.0.0
127.0.0.1
127.0.0.1
1
130.192.0.0
255.255.0.0
130.192.28.4
130.192.28.4
1
130.192.28.4 255.255.255.255
127.0.0.1
127.0.0.1
1
130.192.255.255 255.255.255.255
130.192.28.4
130.192.28.4
1
224.0.0.0
224.0.0.0
130.192.28.4
130.192.28.4
1
255.255.255.255 255.255.255.255
130.192.28.4
130.192.28.4
1
Default Gateway:
130.192.3.17
===========================================================================
Persistent Routes:
None
14
Reti fisiche e reti logiche
Reti fisiche
Reti logiche
Host connessi allo
stesso mezzo fisico
Hosts appartenenti allo
stesso address range
IP non ha la nozione di rete fisica
(non c’è differenza tra reti fisiche e reti logiche)
IP assume corrispondenza biunivoca
tra reti logiche e reti fisiche
Routing gestito nello stesso modo:
Implicito all’interno di una rete logica
Esplicito tra reti logiche diverse
15
Reti fisiche vs reti logiche
Più reti logiche sulla stessa
rete fisica
Tutti gli hosts sono connessi
ad
un
unico
mezzo
trasmissivo
Sono presenti più
range
Gli host sono connessi
mezzi trasmissivi diversi
Tutti gli hosts appartengono
allo stesso address range
Il router che connette le
diverse reti fisiche deve
sapere
Proxy ARP
address
Ogni rete logica è composta
da un insieme di hosts
appartenenti ad uno stesso
address range
.1
Più reti fisiche nella stessa
rete logica
.2
.1
.2
10.0.1.0/24
10.0.0.0/24
.3
.3
Indirizzi multipli
16
.4
.5
.6
10.0.1.0/24
a
Routing IP classico
Io conosco le reti
10.0.0.0, 10.0.1.0,
..., 10.0.255.0
Rete 10.0.0.0
Rete 10.0.1.0
...
Rete 10.0.253.0
Dunque... per
raggiungere le reti
10.0.0.0, 10.0.1.0,
etc. vado a destra,
mentre ...
17
Rete 10.0.254.0
Rete 10.0.255.0
Classless InterDomain Routing
Io conosco la
rete 10.0.0.0/16
Dunque... per
aggiungere la rete
10.0.0.0/16 vado
verso R2, mentre
...
Rete 10.0.0.0
R3
Rete 10.0.1.0
R2
...
R4
Rete 10.0.253.0
R1
Dunque... per
aggiungere la rete
10.0.0.0/23 vado
verso R3, mentre ...
Nota: questa rete è a sua volta il risultato
dell’aggregazione di 10.0.0.0/24 e 10.0.1.0/24
18
Rete 10.0.254.0
Rete 10.0.255.0
Casi particolari
Se l’indirizzo destinazione appartiene a più address
range viene preferito quello più specifico
19
Quello che contiene più cifre “1” nella netmask
Esempio
Destinazione: 10.1.251.1
Tabella di routing:
Destinazione 10.1.251.0/24, next hop 20.2.2.2
Destinazione 10.1.0.0/16, next hop 30.3.3.3
viene prescelta la prima informazione
Esercizio: scrittura della routing table
S
S
S
S
S
D
D
D
S
Routing table
10.0.0.0 255.255.254.0
10.0.2.0 255.255.254.0
10.0.4.0 255.255.252.0
10.0.9.0 255.255.255.252
10.0.9.4 255.255.255.252
10.0.9.8 255.255.255.252
10.0.9.12 255.255.255.252
10.0.8.0 255.255.255.0
10.0.10.0 255.255.255.0
10.0.9.9
10.0.9.9
10.0.9.9
10.0.9.9
10.0.9.9
10.0.9.10
10.0.9.14
10.0.8.1
10.0.9.13
0.0/21
10.0.2.0/23
9.0/29
10.0.9.0/30
.9
10.0.9.8/30
10.0.9.4/30
.13
10.0.9.12/30
.14
.10
10.0.0.0/23
.1
10.0.10.0/24
20
10.0.4.0/22
10.0.8.0/24