IP (internet protocol) é il protocollo utilizzato per l’invio e il recapito dei pacchetti nella rete internet. É l’unico protocollo definito al secondo livello del modello TCP/IP e permette che i pacchetti inviati da un host possano arrivare correttamente a destinazione viaggiando fra reti diverse attraverso i router. In questo articolo viene descritta la struttura degli indirizzi IP ed accennato il loro funzionamento nella rete.
Un host di una rete informatica ha una scheda di rete che gli permette di essere connesso ad altri host. Attraverso una interfaccia di rete un dispositivo può inviare e ricevere messaggi. Sappiamo che ad ogni scheda di rete è associato un indirizzo fisico detto anche indirizzo MAC ma questo non è sufficiente affinchè l’host possa essere collegato in una rete che utilizza TCP/IP (ad esempio la rete Internet). Ogni interfaccia di rete infatti dovrà essere dotata di un indirizzo logico detto indirizzo IP.
Struttura
Gli indirizzi IP esistono in due versioni: IPv4 e IPv6. I primi sono composti da 4 gruppi di 8 byte ciascuno (quindi in tutto 32 bit) mentre i secondi sono formati da da 64 bit e costituiscono una futura tipologia di indirizzi che prenderà sempre più piede con l’esaurirsi degli indirizzi IPv4.
Con 32 bit è possibile assegnare 2^32 indirizzi ovvero 4.294.967.296 interfacce:
Questo perchè con 32 bit è possibile creare 4.294.967.296 combinazioni diverse di bit. Quando il numero di dispositivi indirizzabili terminerà verranno utilizzati gli indirizzi IPv6 con 64 bit e quindi il numero di indirizzi sarà molto grande (2^64). Nel seguito della trattazione quando si parlerà di indirizzi IP ci riferiremo a IPv4.
Un possibile indirizzo IP è il seguente:
Per praticità possiamo convertire i numeri dal sistema di numerazione binario a quello decimale ottenendo il seguente risultato:
Generalmente per utilizzare gli indirizzi IP facciamo riferimento alla scrittura con numeri decimali.
Classi
Un indirizzo IP è formato da due parti distinte: una prima parte identifica la rete ed è chiamato Net-Id mentre una seconda parte identifica gli host all’interno della rete Host-Id. Possiamo immaginare che la rete sia come un albergo che contiene tante camere. Ogni camera è rappresentata da un host nella rete.
Nell’esempio vediamo che la rete 30 (rappresentata da un albergo) contiene tante camere (tanti host). Uno di questi host è il 15.20.100. Possiamo rappresentare la rete anche come un insieme che contiene tanti elementi che sono proprio gli host.
Gli indirizzi IP sono stati divisi in varie classi per differenziare il numero delle reti che è possibile creare e quindi anche il numero di host per ogni rete.
Classe A
Un indirizzo IP di classe A ha la seguente struttura:
Con questa tipologia di indirizzi è possibile quindi creare 2^7 reti e 2^24 host:
Ogni albergo di classe A contiene quindi circa 16 milioni di camere. Concludiamo che le reti di classe A realizzabili non sono molte ma ognuna di esse possiede tantissimi host. Gli indirizzi IP di classe A vanno dal
0.0.0.0 al 127.255.255.255
Classe B
Un indirizzo di classe B ha la seguente struttura:
Attraverso questi indirizzi possiamo quindi creare 2^14 reti e per ogni rete 2^16 host.
Gli indirizzi di classe B vanno dal
128.0.0.0 al 191.255.255.255
Per gli indirizzi di classe B la rete è identificata dalle prime due cifre decimali mentre gli host si possono creare utilizzando i bit rimanenti.
Classe C
Gli indirizzi di classe C sono caratterizzati dalla seguente struttura:
Con questi indirizzi è possibile implementare 2^21 reti (quindi molte reti) e ognuna di queste può contenere al massimo 2^8 host (in realtà vedremo -2 quindi ogni rete potrà contenere 254 host).
Gli indirizzi di classe C vanno dal
192.0.0.0 al 233.255.255.255
Classe D
La classe D è utilizzata per il multicast ma affronteremo meglio lo studio di questa tecnica di trasmissione in un altro post. Gli indirizzi di classe D vanno dal:
234.0.0.0 al 239.255.255.255
Classe E
Classe destinata per scopi futuri. Gli indirizzi vanno dal:
240.0.0.0 al 255.255.255.255
Torna a TCP/IP