Indirizzamento IP
Classi di indirizzi, indirizzi speciali (broadcast, loopback, network).
Cenni su IPv6. Address Resolution Protocol (ARP). Cenni su DHCP.
Pasquale De Michele
Indirizzamento IP
Un esempio: la telefonata
Introduciamo il concetto dell’indirizzamento IP mediante un
esempio assai comune: la telefonata.
Per effettuare una telefonata è necessario disporre di un
telefono, al quale sia associato un numero di telefono.
34987654321
32012345678
34987654321
Pasquale De Michele
Indirizzamento IP
Indirizzi IP
Allo stesso modo, ogni dispositivo di rete (PC,
smartphone, tablet, ecc.), affinché possa navigare
in internet, necessita di un Indirizzo IP associato.
192.35.54.27
192.35.54.24
192.35.54.29
Pasquale De Michele
Indirizzamento IP
Indirizzi IP: parti Network e Host
Un indirizzo IP è composto da due parti:
Una parte Network, relativa alla rete.
Una parte Host, relativa al dispositivo.
Un indirizzo IP molto “cliccato”:
Pasquale De Michele
Indirizzamento IP
69.171.237.20
Indirizzi IP: formato
Un indirizzo IP, per semplicità, viene rappresentato mediante la
notazione decimale-punteggiata:
4 numeri decimali separati dal carattere “.”
In realtà, si tratta di 4 numeri in binario:
Ogni numero decimale è espresso per mezzo di 8 bit (ossia 1 byte).
In totale, dunque, un indirizzo IP è espresso da 32 bit (4 byte).
Pasquale De Michele
Indirizzamento IP
Richiami: il Sistema numerico binario
“Esistono solo 10 tipi di studenti in quest’aula: quelli che capiscono il codice binario e
quelli che non lo capiscono”.
Si chiama “binario” perché utilizza 2 simboli, “0” ed “1”:
In informatica:
Un singolo simbolo è detto “bit”.
Una sequenza di 8 bit è detta “byte”.
La formula per convertire un numero da binario a decimale (dove con d si indica la
cifra di posizione n all'interno del numero, partendo da 0) è:
Esempio:
Pasquale De Michele
Indirizzamento IP
Indirizzi IP: formati corretti
I seguenti sono tutti indirizzi IP?
192.0.2.190
122.220.0.5
192.0.2.256
Qual è il massimo numero rappresentabile con 8
bit?
Un aiuto: con N bit, il massimo numero rappresentabile
è 2N-1:
N=8, allora 28-1 = 256-1 = 255.
Il più basso indirizzo IP: 0.0.0.0
Il più alto indirizzo IP: 255.255.255.255
Pasquale De Michele
Indirizzamento IP
Indirizzi IP: unicità
L’indirizzo IP associato ad un dispositivo non può essere uguale a
quello associato ad un altro dispositivo:
Per rendere più chiaro questo concetto, introduciamo nuovamente
l’esempio della telefonata.
33322211100
32012345678
?
32012345678
?
32012345678
32012345678
32012345678
Pasquale De Michele
Indirizzamento IP
Indirizzi IP: comunicazione tra host
Supponiamo che il PC con indirizzo IP 192.168.1.1 voglia inoltrare dati al PC
con indirizzo IP 192.168.1.3.
Sorgente: 192.168.1.1
Destinazione: 192.168.1.3
Pasquale De Michele
Indirizzamento IP
Classi di indirizzi IP
Per molti decenni, gli indirizzi IP sono stati divisi
nelle cinque categorie (classi) elencate in figura.
Pasquale De Michele
Indirizzamento IP
Indirizzi IP di classe A
Pensati per poche reti di dimensioni molto grandi.
Struttura:
Il bit più significativo del primo byte è posto a “0”.
I restanti 7 bit del primo byte identificano la parte Network:
• 27 = 128, quindi si possono avere 128 reti (network) di classe A.
I 24 bit degli ultimi 3 byte identificano la parte Host:
• 224 = 16777216, quindi ogni rete di classe A ha a disposizione circa 16 milioni di indirizzi per
gli host.
Con 7 bit a disposizione del primo byte (27 = 128), il primo campo dell’indirizzo
può essere rappresentato in decimale con un valore compreso tra 0 e 127.
Pasquale De Michele
Indirizzamento IP
Indirizzi IP di classe B
Pensati per numero medio reti di dimensioni medio-grandi.
Struttura:
I 2 bit più significativi del primo byte sono posti a “10”.
I restanti 14 bit dei primi 2 byte identificano la parte Network:
• 214 = 16384, quindi si possono avere circa 16 mila reti (network) di classe B.
I 16 bit degli ultimi 2 byte identificano la parte Host:
• 216 = 65536, quindi ogni rete di classe A ha a disposizione circa 65 mila indirizzi per gli host.
Con 6 bit a disposizione del primo byte (26 = 64), il primo campo dell’indirizzo
può essere rappresentato in decimale con un valore compreso tra 128 e 191:
• i primi 128 valori per il primo byte (da 0 a 127) sono stati utilizzati dagli indirizzi di classe A,
per cui si parte dal primo valore disponibile.
Pasquale De Michele
Indirizzamento IP
Indirizzi IP di classe C
Pensati per molte reti di dimensioni piccole.
Struttura:
I 3 bit più significativi del primo byte sono posti a “110”.
I restanti 21 bit dei primi 3 byte identificano la parte Network:
• 221 = 2097152, quindi si possono avere circa 2 milioni di reti (network) di classe C.
Gli 8 bit dell’ultimo byte identificano la parte Host:
• 28 = 256, quindi ogni rete di classe A ha a disposizione al più 256 indirizzi per gli host.
Con 5 bit a disposizione del primo byte (25 = 32), il primo campo dell’indirizzo
può essere rappresentato in decimale con un valore compreso tra 192 e 223:
• i primi 192 valori per il primo byte sono stati utilizzati dagli indirizzi di classe A (da 0 a 127)
e dagli indirizzi di classe B (da 128 a 191), per cui si parte dal primo valore disponibile.
Pasquale De Michele
Indirizzamento IP
Indirizzi IP di classe D e classe E
Usati per applicazioni di multicast, ossia l’invio dei dati verso più host che condividono lo stesso
indirizzo comune di multicast.
Struttura:
I 4 bit più significativi del primo byte sono posti a “1110”.
Con 4 bit a disposizione del primo byte (24 = 16), il primo campo dell’indirizzo può essere rappresentato in
decimale con un valore compreso tra 224 e 239.
Riservati per usi futuri.
Struttura:
I 4 bit più significativi del primo byte sono posti a “1111”.
Con 4 bit a disposizione del primo byte (24 = 16), il primo campo dell’indirizzo può essere rappresentato in
decimale con un valore compreso tra 240 e 255.
Pasquale De Michele
Indirizzamento IP
Indirizzi IP speciali
Esistono indirizzi IP con significato particolare.
Pasquale De Michele
Indirizzamento IP
Indirizzi IP speciali: Network
Questo host: l’indirizzo IP “0.0.0.0” (tutti i 32 bit = “0”) è usato in fase di boot (avvio)
per identificare l’host stesso nella rete in cui si trova.
Proprietà:
Valido come sorgente.
Non valido come destinazione.
Un host su questa rete: gli indirizzi IP che hanno lo “0” come numero di rete si
riferiscono alla rete corrente.
Proprietà:
Valido come sorgente.
Non valido come destinazione.
Pasquale De Michele
Indirizzamento IP
Indirizzi IP speciali: Loopback
Loopback: tutti gli indirizzi IP nella forma “127.x.y.z” (con x, y e z che
possono assumere qualsiasi valore in [0, 255]) sono riservati per le prove di
loopback (ciclo all’indietro).
Tutti i dati diretti a quell’indirizzo non sono immessi nel cavo, ma sono elaborati
localmente (sul dispositivo che li ha generati) e trattati come pacchetti in arrivo.
Usati, ad esempio, per accedere ad un server installato sul proprio PC, quando si
creano siti web in locale.
Proprietà:
Valido come sorgente.
Valido come destinazione
Pasquale De Michele
Indirizzamento IP
Indirizzi IP speciali: Broadcast
Broadcast limitato: l’indirizzo IP “255.255.255.255” (tutti i 32 bit = “1”) permette di
inviare dati a tutti gli host della rete locale.
Proprietà:
Non valido come sorgente.
Valido come destinazione.
Broadcast diretto: l’indirizzo IP con numero di rete (network) opportuno e tutti “1”
nella parte host, permette la trasmissione broadcast su una rete distante.
Proprietà:
Non valido come sorgente.
Valido come destinazione.
Pasquale De Michele
Indirizzamento IP
Broadcast limitato: esempio
Supponiamo che un PC voglia inoltrare dati in broadcast a tutti quanti i PC
della rete locale A:
Sorgente: 192.168.1.1
Destinazione: 255.255.255.255
Rete B
Rete A
Pasquale De Michele
Indirizzamento IP
Broadcast diretto: esempio (1)
Supponiamo che un PC voglia inoltrare dati in broadcast a tutti quanti i PC
della rete B:
Sorgente: 192.168.1.1
Destinazione: 192.168.2.255
Rete B
Rete A
Pasquale De Michele
Indirizzamento IP
Broadcast diretto: esempio (2)
Supponiamo che un PC voglia inoltrare dati in broadcast a tutti quanti i PC
delle reti A e B:
Sorgente: 192.168.1.1
Destinazione: 192.168.255.255
Rete B
Rete A
Pasquale De Michele
Indirizzamento IP
Indirizzi IP riservati
Sulla base di quanto detto, esistono indirizzi IP che non
possono essere utilizzati in una rete:
Network address: l’indirizzo IP che finisce con “0” (ad
esempio 192.168.1.0) viene riservato al gateway di default
(in genere un router) per consentire agli host di poter uscire
fuori dalla rete locale.
Broadcast: l’indirizzo IP che finisce con “255” (ad esempio
192.168.1.255) è riservato per il broadcast in quella rete.
Di conseguenza, in una rete di classe C il massimo
numero di indirizzi si riduce a 254.
Pasquale De Michele
Indirizzamento IP
Esaurimento di Indirizzi IP
Indirizzi IP utilizzabili nel formato a 32 bit (detto IPv4): più di 2
miliardi.
Il sistema di suddivisione basato sulle classi ha comportato lo spreco
di milioni di indirizzi.
La classe B è stata la più problematica, infatti per una società che
richiedeva indirizzi IP:
Rete di classe A troppo grande: più di 16 milioni di indirizzi.
Rete di classe C troppo piccola: 254 indirizzi.
Rete di classe B “ideale”: più di 65 mila indirizzi, migliaia dei quali sprecati!!!
Pasquale De Michele
Indirizzamento IP
Esaurimento di Indirizzi IP: CIDR
CIDR (Classless InterDomain Routing):
Idea: assegnare gli indirizzi IP in blocchi di dimensioni
variabili, senza tener conto delle classi.
Vantaggio:
• Evita lo spreco di indirizzi IP: ad una società che ha bisogno di
2000 indirizzi ne vengono assegnati 2048 (11 bit per la parte
host) anziché 65536 (16 bit per la parte host) come previsto
dalla classe B.
Svantaggi:
• L’invio dei dati diventa più complicato.
• Soluzione temporanea.
Pasquale De Michele
Indirizzamento IP
Esaurimento di Indirizzi IP: NAT
NAT (Network Address Translation):
Idea:
• Ad una azienda viene assegnato un singolo indirizzo IP per il traffico
esterno (internet).
• Per il traffico interno vengono riservati insieme di indirizzi privati:
– Da 10.0.0.0.0 a 10.255.255.255.255
– Da 172.16.0.0 a 172.31.255.255
– Da 192.168.0.0 a 192.168.255.255
• Qualora un host, all'interno di una rete locale, si connetta ad internet, il
suo indirizzo verrà tradotto da una macchina (router) che fa da uscita
verso Internet.
Vantaggio:
• Riduce al minimo lo spreco di indirizzi IP.
Svantaggi:
• Viola diverse regole:
– il modello gerarchico IP, facendo si che un indirizzo IP identifichi più di un nodo.
– stratificazione dei protocolli, supponendo che si usino specifici protocolli.
• Soluzione temporanea.
Pasquale De Michele
Indirizzamento IP
Esaurimento di Indirizzi IP: IPv6
CIDR e NAT sono state soluzioni temporanee, mentre la
soluzione definitiva ai problemi di IPv4 è rappresentata
da IPv6:
Utilizza indirizzi IP lunghi 16 byte (contro i 4 byte di IPv4).
Conserva le caratteristiche positive di IPv4.
Elimina le caratteristiche negative di IPv4.
I pacchetti sono elaborati più velocemente perché:
• Semplifica l’intestazione del pacchetto IP, usando solo 8 campi
(contro i 13 di IPv4):
• Migliora il supporto delle opzioni, usando campi opzionali:
Aumenta la sicurezza:
• Occorre specificare, però, che successivamente molti miglioramenti
sulla sicurezza sono stati apportati anche in IPv4.
Pasquale De Michele
Indirizzamento IP
IPv6: indirizzi
Lunghezza degli indirizzi IP:
IPv4: 32 bit.
IPv6: 128 bit.
Non 4 volte il numero di indirizzi IP disponibili, ma
4 volte il numero di bit:
IPv6 permette di indirizzare circa 3,4*1038 host:
• Se non riesci ad immaginare il numero di indirizzi IP
disponibili, prova a scrivere il numero “34” su un foglio,
seguito da 37 volte il numero “0”. Formato indirizzo IPv6:
X:X:X:X:X:X:X:X
• dove “X” è un campo di 16 bit in notazione esadecimale.
Esempio:
• 2001:0000:ABCD:A010:0000:0000:00D0:0532
Pasquale De Michele
Indirizzamento IP
Intestazione pacchetti: IPv4 vs IPv6 (1)
Intestazione di un pacchetto IPv4:
Richiede 20 byte, escludendo il campo “IP Options”.
In giallo sono indicati i campi opzionali.
Pasquale De Michele
Indirizzamento IP
Intestazione pacchetti: IPv4 vs IPv6 (2)
Intestazione di un pacchetto IPv6:
Richiede 40 byte:
• 8 byte per i primi 6 campi.
• 32 byte per campo Sorgente e campo Destinazione.
In giallo sono indicati i campi ereditati da IPv4, ma
rinominati.
Pasquale De Michele
Indirizzamento IP
Il protocollo ARP
Gli indirizzi IP (IPv4 o IPv6) non possono essere utilizzati per inviare dati, perché
l’hardware che lavora nel livello sottostante (“Collegamento Dati”) non conosce gli
indirizzi internet.
Di conseguenza, c’è bisogno di associare gli indirizzi IP agli indirizzi Ethernet (MAC)
del livello “Collegamento Dati”: tali associazioni verranno mantenute da ciascun host
in un’apposita tabella.
Quando un host sorgente vuole inviare dei dati ad un host destinatario di cui
conosce l’indirizzo IP ma non conosce l’indirizzo MAC:
1.
2.
3.
Invia un messaggio in broadcast, con il quale chiede a tutti gli host della rete quale sia l’host
che possiede quell’indirizzo IP.
Solo l’host che possiede quel particolare indirizzo IP, risponde inviando il proprio indirizzo
Ethernet.
L’host sorgente scopre qual è l’indirizzo MAC associato all’indirizzo IP al quale vuole inviare i
dati, ed aggiorna la propria tabella delle associazioni.
Il protocollo che si occupa di effettuare la domanda e gestire la risposta è ARP
(Address Resolution Protocol).
Pasquale De Michele
Indirizzamento IP
Il protocollo ARP: esempio
Supponiamo che il PC con indirizzo IP 192.168.1.1 voglia inoltrare dati al PC
con indirizzo IP 192.168.1.3.
Sorgente: 192.168.1.1
Destinazione: 192.168.1.3
Tabella ARP di 192.168.1.1
Indirizzo IP
Indirizzo MAC
192.168.1.3
00:9f:7a:89:90:7a
???
Tabella ARP di 192.168.1.3
Indirizzo IP
Indirizzo MAC
192.168.1.1
09:1f:7b:89:11:7a
Ottimizzazione: ogni host può trasmettere in broadcast la propria
associazione (Indirizzo IP  Indirizzo MAC) durante l’accensione.
Pasquale De Michele
Indirizzamento IP
Associazione MAC - IP
ARP risolve il problema di scoprire, dato un indirizzo IP, quale sia
l’indirizzo MAC associato.
E se si volesse scoprire come fa un host, dato il proprio indirizzo
MAC, a conoscere l’indirizzo IP ad esso associato (problema inverso
di ARP)?
Occorre utilizzare un protocollo in grado di catturare una richiesta del
tipo:
“Io sono l’host con indirizzo MAC 09:1f:7b:89:11:7a, qual è il mio
indirizzo IP?”
A questo punto, però, sorge un altro problema:
Chi si occupa di associare i MAC addres di tutti gli host di una rete ad
altrettanti indirizzi IP tutti diversi tra loro?
Pasquale De Michele
Indirizzamento IP
Il protocollo DHCP (1)
Prima dell’utilizzo del protocollo DHCP (Dynamic Host
Configuration Protocol), l’associazione (Indirizzo MAC
Indirizzo IP) era a carico dell’amministratore di rete.
Le associazioni avvenivano manualmente configurando
un particolare file che teneva traccia di tutte le
associazioni (Indirizzo MAC Indirizzo IP):
Problemi:
• Possibilità di commettere errori nelle associazioni.
• Finché l’amministratore non associa l’indirizzo MAC di un nuovo
host ad un indirizzo IP, questo host non può accedere alla rete.
Soluzione:
• Delegare al protocollo anche l’associazione degli indirizzi IP agli
indirizzi MAC: protocollo DHCP.
Pasquale De Michele
Indirizzamento IP
Il protocollo DHCP (2)
Il protocollo DHCP supporta 3 differenti meccanismi per
l’assegnazione degli indirizzi IP agli indirizzi MAC:
Allocazione automatica: l’indirizzo IP è associato all’indirizzo
MAC in maniera permanente.
Allocazione dinamica: l’indirizzo IP è associato all’indirizzo MAC
per un periodo di tempo limitato (lease).
• Scaduto il tempo, l’indirizzo IP può essere riutilizzato per assegnarlo ad
un nuovo host che ne faccia richiesta.
• Ottimo per NAT.
Allocazione manuale: l’indirizzo IP è associato all’indirizzo MAC
dall’amministratore di rete, ma il DHCP viene usato per
trasmettere l’indirizzo IP all’host che ne ha fatto richiesta.
Per tenere traccia di tutte le associazioni (Indirizzo MAC
Indirizzo IP) si utilizza un computer dedicato allo scopo,
chiamato DHCP server.
Pasquale De Michele
Indirizzamento IP
Il protocollo DHCP: esempio
Supponiamo che il PC con MAC “09:1f:7b:89:11:7a” voglia
ottenere un indirizzo IP.
Tabella DHCP
Pasquale De Michele
Indirizzo IP
Indirizzo MAC
192.168.1.1
09:1f:7b:89:11:7a
---
192.168.1.2
---
…
---
192.168.1.254
---
Indirizzamento IP
Possibili domande
Ipotizzando un indirizzamento con classi, indicare:
se gli indirizzi seguenti sono indirizzi di rete oppure di host;
la loro classe di appartenenza.
Quali classi di indirizzi IP utilizzeresti per una rete locale con 300 host
ed una con 250 host?
Mostrare anche un esempio degli indirizzi IP utilizzati.
Pasquale De Michele
Indirizzamento IP
Scarica

Indirizzamento IP