pasquale de michele indirizzamento ip classi di indirizzi, indirizzi speciali (broadcast, loopback,...

36
Pasquale De Michele Indirizzamento IP Classi di indirizzi, indirizzi speciali (broadcast, loopback, network). Cenni su IPv6. Address Resolution Protocol (ARP). Cenni su DHCP. Indirizzamento IP

Upload: edmonda-falcone

Post on 02-May-2015

236 views

Category:

Documents


9 download

TRANSCRIPT

Pasquale De Michele

Indirizzamento IPClassi di indirizzi, indirizzi speciali (broadcast, loopback, network). Cenni su IPv6. Address Resolution Protocol (ARP). Cenni su DHCP.

Indirizzamento IP

Pasquale De Michele

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.

Un esempio: la telefonata

Indirizzamento IP

32012345678 34987654321

34987654321

Pasquale De Michele

Allo stesso modo, ogni dispositivo di rete (PC, smartphone, tablet, ecc.), affinché possa navigare in internet, necessita di un Indirizzo IP associato.

Indirizzi IP

Indirizzamento IP

192.35.54.24

192.35.54.27

192.35.54.29

Pasquale De Michele

Un indirizzo IP è composto da due parti:Una parte Network, relativa alla rete.Una parte Host, relativa al dispositivo.

Un indirizzo IP molto “cliccato”:

Indirizzi IP: parti Network e Host

Indirizzamento IPIndirizzamento IP

69.171.237.20

Pasquale De Michele

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).

Indirizzi IP: formato

Indirizzamento IP

Pasquale De Michele

“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:

Richiami: il Sistema numerico binario

Indirizzamento IP

Pasquale De Michele

I seguenti sono tutti indirizzi IP?192.0.2.190122.220.0.5192.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.0Il più alto indirizzo IP: 255.255.255.255

Indirizzi IP: formati corretti

Indirizzamento IP

Pasquale De Michele

Indirizzi IP: unicità

Indirizzamento IP

32012345678 32012345678

33322211100

32012345678

32012345678

??

32012345678

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.

Pasquale De Michele

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.1Destinazione: 192.168.1.3

Indirizzi IP: comunicazione tra host

Indirizzamento IP

Pasquale De Michele

Per molti decenni, gli indirizzi IP sono stati divisi nelle cinque categorie (classi) elencate in figura.

Classi di indirizzi IP

Indirizzamento IP

Pasquale De Michele

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.

Indirizzi IP di classe A

Indirizzamento IP

Pasquale De Michele

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.

Indirizzi IP di classe B

Indirizzamento IP

Pasquale De Michele

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.

Indirizzi IP di classe C

Indirizzamento IP

Pasquale De Michele

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.

Indirizzi IP di classe D e classe E

Indirizzamento IP

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

Esistono indirizzi IP con significato particolare.

Indirizzi IP speciali

Indirizzamento IP

Pasquale De Michele

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.

Indirizzi IP speciali: Network

Indirizzamento IP

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

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

Indirizzi IP speciali: Loopback

Indirizzamento IP

Pasquale De Michele

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.

Indirizzi IP speciali: Broadcast

Indirizzamento IP

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

Supponiamo che un PC voglia inoltrare dati in broadcast a tutti quanti i PC della rete locale A:

Sorgente: 192.168.1.1Destinazione: 255.255.255.255

Broadcast limitato: esempio

Indirizzamento IP

Rete A Rete B

Pasquale De Michele

Supponiamo che un PC voglia inoltrare dati in broadcast a tutti quanti i PC della rete B:

Sorgente: 192.168.1.1Destinazione: 192.168.2.255

Broadcast diretto: esempio (1)

Indirizzamento IP

Rete A Rete B

Pasquale De Michele

Supponiamo che un PC voglia inoltrare dati in broadcast a tutti quanti i PC delle reti A e B:

Sorgente: 192.168.1.1Destinazione: 192.168.255.255

Broadcast diretto: esempio (2)

Indirizzamento IP

Rete A Rete B

Pasquale De Michele

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.

Indirizzi IP riservati

Indirizzamento IP

Pasquale De Michele

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!!!

Esaurimento di Indirizzi IP

Indirizzamento IP

Pasquale De Michele

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.

Esaurimento di Indirizzi IP: CIDR

Indirizzamento IP

Pasquale De Michele

• 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.

Esaurimento di Indirizzi IP: NAT

Indirizzamento IP

Pasquale De Michele

• 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.

Esaurimento di Indirizzi IP: IPv6

Indirizzamento IP

Pasquale De Michele

• 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

IPv6: indirizzi

Indirizzamento IP

Pasquale De Michele

• Intestazione di un pacchetto IPv4:– Richiede 20 byte, escludendo il campo “IP Options”.

• In giallo sono indicati i campi opzionali.

Intestazione pacchetti: IPv4 vs IPv6 (1)

Indirizzamento IP

Pasquale De Michele

• 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.

Intestazione pacchetti: IPv4 vs IPv6 (2)

Indirizzamento IP

Pasquale De Michele

• 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. Invia un messaggio in broadcast, con il quale chiede a tutti gli host della rete quale sia l’host che possiede quell’indirizzo IP.

2. Solo l’host che possiede quel particolare indirizzo IP, risponde inviando il proprio indirizzo Ethernet.

3. 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).

Il protocollo ARP

Indirizzamento IP

Pasquale De Michele

• 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

Il protocollo ARP: esempio

Indirizzamento IP

Tabella ARP di 192.168.1.1

Indirizzo IP Indirizzo MAC

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

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

• 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?

Associazione MAC - IP

Indirizzamento IP

Pasquale De Michele

• 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.

Il protocollo DHCP (1)

Indirizzamento IP

Pasquale De Michele

• 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.

Il protocollo DHCP (2)

Indirizzamento IP

Pasquale De Michele

• Supponiamo che il PC con MAC “09:1f:7b:89:11:7a” voglia ottenere un indirizzo IP.

Il protocollo DHCP: esempio

Indirizzamento IP

Tabella DHCP

Indirizzo IP Indirizzo MAC

192.168.1.1 ---

192.168.1.2 ---

… ---

192.168.1.254 ---

Tabella DHCP

Indirizzo IP Indirizzo MAC

192.168.1.1 09:1f:7b:89:11:7a

192.168.1.2 ---

… ---

192.168.1.254 ---

Pasquale De Michele

• Ipotizzando un indirizzamento con classi, indicare:– se gli indirizzi seguenti sono indirizzi di rete oppure di host;– la loro classe di appartenenza.

Possibili domande

Indirizzamento IP

• 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.