Struttura degli indirizzi IP

Struttura degli indirizzi IP

In una rete TCP/IP ad ogni host viene assegnato un indirizzo IP univoco, ovvero un numero a 32 bit composto da una sequenza di 4 numeri decimali scritti nella forma dotted decimal notation: a.b.c.d (ad esempio: 10.100.22.35).

Ciascuna delle 4 cifre può assumere un valore compreso tra 0 e 255. Abbiamo quindi a disposizione, per ognuna delle 4 cifre di ogni indirizzo IP, 28 = 256 possibili valori, cioè tutti quelli compresi nell’intervallo che va da 0 a 255.

Da 0.0.0.0 a 255.255.255.255

ovvero

00000000.00000000.00000000.00000000 a 11111111.11111111.11111111.11111111

Il numero totale di indirizzi IP disponibili è quindi pari a 232, ovvero 4.294.967.296.

Un numero che per quanto grande resta pur sempre evidentemente limitato per le necessità odierne. Per poter connettere un numero maggiore di dispositivi sono quindi state introdotte delle tecniche particolari, come quelle di suddividere gli indirizzi IP in indirizzi di Rete (Net ID), indirizzi di Sottorete (Subnet ID) e indirizzi di Host (Host ID).

Un indirizzo IP identifica un ID di Host e un ID di rete, oppure può identificare un ID di Host, un ID di sottorete (subnet) e un ID di rete.

[Indirizzo IP] = [ID rete] + [ID Host]

Oppure

[Indirizzo IP] = [ID Rete] + [ID Subnet] + [ID Host]

Un ID Host indica un generico computer o dispositivo collegato alla rete (Server, Client, Workstation) e deve essere unico all’interno della rete, mentre un ID di Rete identifica una rete intera e deve essere unico all’interno del sistema delle reti. La funzione degli ID di Rete e di Subnet è grossomodo assimilabile a quella dei prefissi telefonici nei numeri di telefono, che si utilizzano per identificare una specifica area urbana, mentre l’ID di host identifica il particolare numero di telefono da raggiungere.

Numero di telefono: 02 123456
02: prefisso rete urbana
123456: numero dell’apparecchio telefonico

Indirizzo IP: 192.168.0.1
192: ID Rete
168.0.1: Specifico Host

Tutti i dispositivi che appartengono alla stessa rete (o alla stessa subnet) avranno in comune gli ID di Rete e/o di Subnet. Una rete può a sua volta essere composta da diverse sottoreti connesse tra loro tramite un router. Questa suddivisione gerarchica interna agli indirizzi è molto utile in quanto consente ad un router di analizzare solo l’indirizzo della rete di appartenenza e di inoltrare i pacchetti alla rete di destinazione senza entrare nel merito degli host di rete, velocizzando molto le operazioni di instradamento. Un host, al contrario, conosce solo il proprio indirizzo IP o quello di broadcast.

Notiamo che può anche non esserci alcuna corrispondenza tra una rete fisica (ovvero l’insieme di cavi e schede di rete) e l’indirizzo di una rete. Infatti, con indirizzi di rete nel protocollo IP indichiamo un indirizzo logico, cioè un’astrazione organizzativa delle risorse e non una risorsa fisica, a differenza ad esempio del MAC Address, che invece rappresenta un indirizzo fisico impostato a livello hardware sulla scheda di rete del dispositivo. Molto spesso, infatti, su una rete fisica possono esistere più reti logiche, le cosiddette multinetting, ognuna contraddistinta da un proprio ID logico. In reti organizzate in questo modo esistono delle funzionalità per garantire la visibilità e lo scambio dati tra host appartenenti a reti logiche diverse (funzionalità di forwarding). Gli indirizzi IP possono essere assegnati localmente (indirizzi privati) e quindi saranno validi solo nella propria rete privata, oppure possono essere pubblici, quindi assegnati dalla ICANN (Internet Corporation for Assigned Names and Number) agli ISP che a loro volta li assegnano ai loro clienti.