Reti di Telecomunicazioni
R. Bolla, L. Caviglione, F. Davoli
  Internet Protocol (IP)
  L’indirizzamento IP
  ICMP
  ARP e RARP
  DHCP
  NAT
32.2
  Il livello di rete preleva i
segmenti dal livello di trasporto
nell’host mittente
Applicazione
Trasporto
Rete
Link
Fisico
  Sul lato mittente, incapsula i
segmenti in datagrammi
Rete
Link
Fisico
Rete
Link
Fisico
Rete
Link
Fisico
  Sul lato destinatario, consegna i
segmenti al livello di trasporto
  Protocolli del livello di rete in
ogni host, router
Rete
Link
Fisico
Rete
Link
Fisico
Rete
Link
Fisico
Rete
Link
Fisico
  Il router esamina i campi
intestazione in tutti i datagrammi
IP che lo attraversano
Rete
Link
Fisico
J. Kurose, K. Ross, Internet e Reti di Calcolatori, McGraw-Hill, 2001
Applicazione
Trasporto
Rete
Link
Fisico
32.3
Instradamento e inoltro
Algoritmo
d’instradamento
Tabella di inoltro locale
Valore
Collegamento
d’intestazione
d’uscita
0100
0101
0111
1001
3
2
2
1
Valore nell’intestazione
del pacchetto in arrivo
0111
1
3 2
J. Kurose, K. Ross, Internet e Reti di
Calcolatori, McGraw-Hill, 2001
32.4
OSI
DoD
Application
Presentation
Session
Transport
FTP, Telnet,
SMTP, SNMP, ...
TCP e UDP
ICMP
Network
Data Link
ARP e RARP
IP
Protocolli di
Routing
Non Specificati
Physical
32.5
  IP è il protocollo principale del livello di rete della
architettura DoD o Internet Protocol Suite (TCP/IP).
  Attualmente è in uso la versione 4 (IPv4).
  È da tempo definita ed in fase di sperimentazione una
nuova versione di IP, denominata IPv6
  la versione 5 è stata “sprecata” per un protocollo per il realtime mai adottato
  Si tratta di un protocollo che fornisce un servizio
datagram non connesso.
  E` specificato nel RFC (Request For Comments)
791.
32.6
I suoi compiti principali sono
  l’instradamento
  la frammentazione e riassemblaggio
  la rivelazione (ma non la correzione) di errori
(sull’intestazione).
32.7
0
4
Vers. HLEN
8
...bit... 16
Serv. Type
Identification
Time to Live
19
24
31
Total Length
Flags
Protocol
Fragment Offset
Header Checksum
Source IP Address
Destination IP Address
Options
Padding
Data
32.8
  Vers.: numero di versione
  HLEN: lunghezza dell’intestazione (necessaria perché
potrebbe avere lunghezza variabile – ci può essere il
campo opzioni; min. 20 byte)
  Service Type: consente di differenziare il servizio
offerto dai router a diverse categorie di traffico. Non
usato nell’Internet con servizio best-effort
  Total Length: lunghezza del datagram (0 ÷ 216-1=65535
[byte]) – necessaria perché il campo dati non ha una
lunghezza prefissata
32.9
  Identification: identificatore del datagram – insieme
al campo Fragment Offset e ai Flags (MF=More
Fragments; DF=Don’t Fragment) serve in caso di
frammentazione per identificare i frammenti
appartenenti allo stesso datagram
  Fragment Offset (13 bit): puntatore al byte dal quale
inizia un frammento – in linea di principio, sarebbero
possibili fino a 8192 frammenti per datagram
  Time to Live (TTL): un contatore, decrementato di 1
da ogni router attraversato (hop); il datagram viene
scartato quando TTL=0
32.10
  Protocol: identifica il protocollo che ha inserito i dati
nel campo dati
  Header Checksum: codice a controllo di parità
sull’intestazione
  Source (Destination) IP Address (32 bit ciascuno):
indirizzo IP di origine (destinazione)
  Options: campi opzionali (ed es., timestamp,
registrazione dei percorsi, elenco dei router
attraversati,…)
  Padding: eventuali bit di riempimento fino a rendere la
lunghezza dell’intestazione un multiplo intero di 32 bit
32.11
  Gli indirizzi IP sono indirizzi univoci,
assegnati da una autorità centrale, e hanno
una lunghezza di 32 bit.
  Tali indirizzi sono composti da due (o tre)
parti:
 l’indirizzo della rete (netid)
 l’indirizzo della sottorete (subnet) (opzionale)
 l’indirizzo dell’host (hostid)
32.12
10000000 00001010 00000010 00011110
128.10.2.30
32.13
  Ogni indirizzo è associato, in realtà, ad una
interfaccia e non a un nodo o host.
  Questo significa che macchine connesse a più
reti hanno un indirizzo diverso per ogni
interfaccia.
  Una conseguenza del fatto che l’indirizzo
contenga l’identificatore di una rete è che quando
una macchina viene fisicamente spostata il suo
indirizzo deve essere opportunamente modificato.
32.14
  Indirizzo IP: ogni interfaccia
di host e router di Internet ha
un indirizzo IP globalmente
univoco.
  Interfaccia: è il confine tra
host e collegamento fisico.
  I router devono
necessariamente essere
connessi ad almeno due
collegamenti.
223.1.1.1
223.1.1.2
223.1.1.4
223.1.1.3
223.1.2.1
223.1.2.9
223.1.2.2
223.1.3.27
223.1.3.2
223.1.3.1
  Un host, in genere, ha
un’interfaccia
  A ciascuna interfaccia sono
223.1.1.1 = 11011111 00000001 00000001 00000001
associati indirizzi IP
223
1
1
J. Kurose, K. Ross, Internet e Reti di
Calcolatori, McGraw-Hill, 2001
1
32.15
223.1.1.1
  Cos’è una sottorete?
  Per IP una rete che
interconnette, ad
esempio, tre interfacce di
host e l’interfaccia di un
router forma una
sottorete.
  Nella letteratura Internet
le sottoreti sono anche
chiamate reti IP.
223.1.1.2
223.1.1.4
223.1.1.3
223.1.2.1
223.1.2.9
223.1.3.27
223.1.2.2
sottorete
223.1.3.1
223.1.3.2
rete composta da 3 sottoreti
J. Kurose, K. Ross, Internet e Reti di
Calcolatori, McGraw-Hill, 2001
32.16
223.1.1.0/24
223.1.2.0/24
Definizione
  È detta sottorete una rete
isolata i cui punti terminali
sono collegati
all’interfaccia di un host o
di un router.
223.1.3.0/24
J. Kurose, K. Ross, Internet e Reti di
Calcolatori, McGraw-Hill, 2001
Maschera di sottorete: /24
32.17
223.1.1.1
223.1.1.2
223.1.1.4
223.1.1.3
223.1.3.1
223.1.2.1
223.1.2.9
223.1.3.27
223.1.2.2
223.1.3.2
J. Kurose, K. Ross,
Internet e Reti di
Calcolatori, McGrawHill, 2001
32.18
223.1.1.1
223.1.1.2
223.1.1.4
223.1.1.3
223.1.3.1
223.1.2.1
223.1.2.9
223.1.3.27
223.1.2.2
J. Kurose, K. Ross,
Internet e Reti di
Calcolatori, McGrawHill, 2001
223.1.3.2
32.19
A
B
C
D
E
01234
8
0 netid
0 -127
10
netid
128 - 191
11 0
192 - 223
11 1 0
224 - 239
11 11 0
240 - 255
16
24
31
hostid
16 000 000
hostid
64 000
netid
hostid
256
multicast address
per usi futuri
32.20
This Host
Tutti 0
Tutti 0
Host on this net
Tutti 1
Limited broadcast
net
Directed broadcast
Loopback
host
127
Tutti 1
qualunque numero
32.21
  Gli indirizzi IPv4 sono limitati e si stanno
lentamente esaurendo.
  Per ovviare a ciò IETF ha proposto due
alternative:
  IPv6 (con spazio di indirizzamento a 128 bit)
  CIDR (Classless InterDomain Routing)
32.22
  Il CIDR permette di assegnare in modo più
flessibile gli indirizzi IP e supera la vecchia
divisione in classi
  Di fatto permette di svincolarsi dal
meccanismo “rigido” della divisione in classi
  È definito negli RFC 1518 e RFC 1519
32.23
Indirizzo di classe B prima del subnetting
10
netid
hostid
Netmask
11111 ....
... 111
00000000
255.255.255.0 oppure ffffff00
Indirizzo di classe B dopo il subnetting
10
netid
subnet
hostid
32.24
  Ogni subnet deve corrispondere con una rete
fisica
  Per le LAN si ha la possibilità di avere più
subnet per ogni rete ma non il viceversa
  Questo fatto implica che l’instradamento
diventa di due tipi
  interno alle subnet
  tra le subnet
32.25
  L’instradamento all’interno della subnet è
gestito dalla rete fisica e l’unico problema
diventa il mapping fra indirizzo IP e indirizzo
di livello 2 (ARP).
  Il routing tra subnet è gestito dagli IP router
(gateway) attraverso tabelle di instradamento
e facendo uso delle parti netid e subnet
dell’indirizzo.
32.26
Subnet 1
190.3.9.2
H4
R4
190.3.1.1
R1
190.3.1.254
190.3.1.250
190.3.7.1
Subnet 9
netmask 255.255.255.0
Subnet 7
190.3.7.2
190.3.9.3
Subnet
3
R2
H2
R3
190.3.3.2
190.3.6.7
190.3.6.8
H1
190.3.3.3
R5
190.3.6.3
190.3.3.1
190.3.6.2
Subnet 6
H3
32.27
CIDR: Classless InterDomain Routing
 È la strategia di assegnazione degli indirizzi.
 Struttura dell’indirizzo: l’indirizzo IP viene diviso in
due parti e mantiene la forma decimale puntata
a.b.c.d/x, dove x indica il numero di bit nella prima
parte dell’indirizzo.
Parte
Parte di
host
sottorete
11001000 00010111 00010000 00000000
200.23.16.0/23
J. Kurose, K.
Ross, Internet e
Reti di
Calcolatori,
McGraw-Hill,
2001
32.28
D: Cosa bisogna fare per assegnare un indirizzo IP a un
host?
  Configurazione manuale:
  Windows: control-panel->network->configuration->tcp/ip>properties
  UNIX: /etc/rc.config
  DHCP: Dynamic Host Configuration Protocol: permette a un host di
ottenere un indirizzo IP in modo automatico
  “plug-and-play”
J. Kurose, K. Ross,
Internet e Reti di
Calcolatori, McGrawHill, 2001
32.29
D: Cosa deve fare un amministratore di rete per ottenere un
blocco di indirizzi IP da usare in una sottorete?
R: deve contattare il proprio ISP e ottenere, ad esempio, la
divisione in otto blocchi uguali di indirizzi contigui.
Blocco dell’ISP
200.23.16.0/20
11001000 00010111 00010000 00000000
Organizzazione 0
200.23.16.0/23
Organizzazione 1
200.23.18.0/23
Organizzazione 2
200.23.20.0/23
...
Organizzazione 7
200.23.30.0/23
11001000 00010111 00010000 00000000
11001000 00010111 00010010 00000000
11001000 00010111 00010100 00000000
…..
….
11001000 00010111 00011110 00000000
J. Kurose, K.
Ross,
Internet e
Reti di
Calcolatori,
McGraw-Hill,
2001
….
32.30
Indirizzamento gerarchico e aggregazione di indirizzi:
Organizzazione 0
200.23.16.0/23
Organizzazione 1
200.23.18.0/23
Organizzazione 2
200.23.20.0/23
.
.
Organizzazione 7.
.
.
.
“Inviami tutto quello
il cui indirizzo
inizia per
Scappo-Con-La-Cassa 200.23.16.0/20”
Internet
200.23.30.0/23
Provvedo-Io
J. Kurose, K. Ross,
Internet e Reti di
Calcolatori, McGrawHill, 2001
“Inviami tutto quello
il cui indirizzo
inizia per
199.31.0.0/16”
32.31
Provvedo-Io presenta un percorso più specifico verso
Organizzazione 1
Organizzazione 0
200.23.16.0/23
Organizzazione 2
200.23.20.0/23
.
.
Organizzazione 7 .
.
.
.
“Inviami tutto quello
il cui indirizzo
inizia per
Scappo-Con-La-Cassa 200.23.16.0/20”
Internet
200.23.30.0/23
Provvedo-Io
Organizzazione 1
200.23.18.0/23
J. Kurose, K. Ross, Internet e Reti di
Calcolatori, McGraw-Hill, 2001
“Inviami tutto quello
il cui indirizzo
inizia per 199.31.0.0/16
o 200.23.18.0/23”
Longest prefix matching
32.32
D: Ma come fa un ISP, a sua volta, a ottenere
un blocco di indirizzi?
R: ICANN: Internet Corporation for Assigned
Names and Numbers
 Ha la responsabilità di allocare i blocchi di
indirizzi.
 Gestisce i server radice DNS.
 Assegna e risolve dispute sui nomi di dominio.
J. Kurose, K. Ross, Internet e Reti di
Calcolatori, McGraw-Hill, 2001
32.33
  l’Internet Control Message Protocol (ICMP) è
usato per comunicare le anomalie che
possono accadere nell’instradamento di
pacchetti IP ed anche per verificare lo stato
della rete.
  ICMP è definito nel RFC 792.
  Il pacchetto ICPM è trasportato all’interno di
un datagram IP.
32.34
 
 
 
 
 
 
 
 
 
 
 
 
 
0
3
4
5
8
11
12
13
14
15
16
17
18
Echo Reply
Destination Unreachable
Source Quench
Redirect (change a route)
Echo request
Time exceeded for a datagram
Parameter problem on a datagram
Timestamp request
Timestamp reply
Information request (obsoleto)
Information reply (obsoleto)
Address mask request
Address mask reply
32.35
  I protocolli ARP (Address Resolution
Protocol) e RARP (Reverse Address
Resolution Protocol) servono per definire in
modo automatico le corrispondenze fra
indirizzi di livello 2 ed indirizzi IP e viceversa.
  Sono specificati nel RFC 826.
  A differenza di ICMP si appoggiano
direttamente sui protocolli di livello 2 della
sottorete e non su IP.
32.36
  ARP viene usato tutte le volte che un host
vuole inviare un pacchetto ad un altro host
sulla sottorete, di cui conosce solo l’indirizzo
IP.
  RARP viene usato da host non dotati di
memoria di massa (diskless) per reperire il
proprio indirizzo IP all’avvio (bootstrap).
32.37
0
4
8
16
Hardware type
HLEN
19
24
31
Protocol type
Operation
PLEN
Sender Hardware Address (bytes 0 - 3)
Sender Hardware
Address (bytes 4 - 5)
Sender IP
Address (bytes 2 - 3)
Sender IP
Address (bytes 0 - 1)
Target Hardware
Address (bytes 0 - 1)
Target Hardware Address (bytes 2 - 5)
Target IP Address
32.38
  La stazione A manda in broadcast un pacchetto ARP
contenente l’indirizzo IP di cui vuol conoscere il
corrispondente indirizzo di livello 2.
  La stazione B che riconosce il proprio indirizzo IP
risponde fornendo il suo indirizzo di livello 2.
  Con il primo pacchetto ARP la stazione A fornisce
anche il proprio indirizzo di livello 2, così che B può
risponderle senza usare un broadcast.
32.39
  DHCP è l’acronimo di Dynamic Host Configuration
Protocol
  Principalmente è definito in RFC 2131
  Permette di assegnare in modo automatico i
principali parametri di livello 3 per un corretto
funzionamento di un host.
  Indirizzo IP
  Subnet Mask
  Indirizzo del Router di default
  Indirizzo del Domain Name Server (DNS)
  Nome
32.40
  In realtà non è un protocollo scritto ex-novo,
ma costituisce un’ estensione del protocollo
BOOTP (BOOT IP).
  Come livello di trasporto utilizza UDP (come
indirizzamento di livello 4 utilizza la porta 67).
32.41
  Per funzionare il protocollo si basa sui
seguenti assunti:
 Vi sia un client che chiede di essere configurato
 Vi sia un server che risponde alle richieste
  L’host che vuole essere configurato invia in
broadcast la sua richiesta
  Il server preposto elabora la richiesta e
risponde inviando tutte le informazioni in un
unico pacchetto
32.42
Internet
globale
Rete locale
(es., rete domestica)
10.0.0/24
10.0.0.4
10.0.0.1
10.0.0.2
138.76.29.7
10.0.0.3
I router abilitati alla NAT non appaiono Spazio di indirizzi riservato alle
al mondo esterno come router ma
reti private, molte delle quali
come un unico dispositivo
usano un identico spazio,
con un unico indirizzo IP.
10.0.0/24 per scambiare pacchetti
Indirizzo IP origine: 138.76.29.7,
tra i loro dispositivi
e tutto il traffico verso Internet deve
riportare lo stesso indirizzo.
J. Kurose, K. Ross, Internet e Reti di
Calcolatori, McGraw-Hill, 2001
32.43
  Il router abilitato alla NAT nasconde i dettagli della rete
domestica al mondo esterno
 Non è necessario allocare un intervallo di indirizzi da un
ISP: un unico indirizzo IP è sufficiente per tutte le
macchine di una rete locale.
 È possibile cambiare gli indirizzi delle macchine di una
rete privata senza doverlo comunicare all’Internet
globale.
 È possibile cambiare ISP senza modificare gli indirizzi
delle macchine della rete privata
J. Kurose, K. Ross, Internet e Reti di
Calcolatori, McGraw-Hill, 2001
32.44
Tabella di traduzione NAT
LatoLAN
2: il router NAT cambia
Lato WAN
l’indirizzo d’origine del
138.76.29.7,
5001
datagramma da
10.0.0.1, 3345 a
……
138.76.29.7, 5001,
e aggiorna la tabella.
2
S: 138.76.29.7, 5001
D: 128.119.40.186, 80
138.76.29.7
S: 128.119.40.186, 80
D: 138.76.29.7, 5001
3
3: la risposta arriva
all’indirizzo di destinazione:
138.76.29.7, 5001
1: l’host 10.0.0.1
invia il datagramma a
128.119.40.186, 80
10.0.0.1, 3345
……
S: 10.0.0.1, 3345
D: 128.119.40.186, 80
1
10.0.0.1
10.0.0.4
S: 128.119.40.186, 80
D: 10.0.0.1, 3345
10.0.0.2
4
10.0.0.3
4: il router NAT cambia
l’indirizzo di destinazione
del datagramma da
138.76.29.7, 5001 a 10.0.0.1, 3345
J. Kurose, K. Ross, Internet e Reti di
Calcolatori, McGraw-Hill, 2001
32.45
  Il campo numero di porta è lungo 16 bit:
  Il protocollo NAT può supportare più di 60000 connessioni
simultanee con un solo indirizzo IP sul lato WAN.
  NAT è contestato perché:
  i router dovrebbero elaborare i pacchetti solo fino al livello 3.
  Per risolvere la scarsità di indirizzi IP si dovrebbe usare IPv6.
J. Kurose, K. Ross, Internet e Reti di
Calcolatori, McGraw-Hill, 2001
32.46
  Come sono strutturati gli indirizzi IP?
  Come avviene il subnetting?
  Cosa contiene il pacchetto IP?
  A cosa serve ICMP?
  A cosa serve e come opera ARP?
  Come opera il NAT?
32.47
Scarica

Internet Protocol (IP) L`indirizzamento IP ICMP ARP e RARP DHCP