17.2.1 Gli indirizzi

Ogni interfaccia di rete è identificata, secondo IPv4, da un numero a 32 bit detto indirizzo IP, che ovviamente deve essere univoco per ogni interfaccia presente su una determinata rete.3 La rappresentazione di un indirizzo IP avviene in genere secondo la notazione decimal dotted notation, che si ottiene suddividendo il numero binario corrispondente all’indirizzo IP in gruppi da 8 bit e trasformando ogni gruppo di 8 bit nel corrispondente valore decimale, rappresentando quindi i quattro valori decimali così ottenuti, separati l’uno dall’altro per mezzo di un punto ‘.’.4 Per esempio, l’indirizzo IP 12345678H è rappresentato, secondo la decimal dotted notation, da 18.52.86.120, infatti 12H = 18, 34H = 52, 56H = 86 e 78H = 120.

Ogni indirizzo IP è suddiviso in due parti logiche: la prima, che costituisce la parte più significativa dell’indirizzo, è detta net id (parte rete) e la seconda, quella che costituisce la parte meno significativa dell’indirizzo, è detta host id (parte host o parte interfaccia).


pict
Figura 17.1: Indirizzo IP.

È possibile gestire gli indirizzi IP relativi alle interfacce di rete presenti su un sistema GNU/Linux tramite il comando ifconfig (v. sez. 20.4).

17.2.1.1 Le classi di indirizzi

Gli indirizzi IP sono suddivisi in classi. La suddivisione è nata dall’esigenza di assegnare indirizzi IP univoci per le macchine connesse permanentemente ad Internet (rete geografica mondiale). Tali classi definiscono delle aree in cui può essere suddivisa l’intera rete mondiale, secondo quanto elencato di seguito.


Classe--Indirizzo-in-binario---------------Intervallo di indirizzi-|
|A----0XXXXXXX XXXXXXXX-XXXXXXXX-XXXXXXXX-0.0.0.0-127.255.255.255---|
|B    10XXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 128.0.0.0 -191.255.255.255 |
|C    110XXXXX XXXXXXXX XXXXXXXX XXXXXXXX 192.0.0.0 -223.255.255.255 |
|D    1110XXXX XXXXXXXX XXXXXXXX XXXXXXXX 224.0.0.0 -239.255.255.255 |
-E----11110XXX XXXXXXXX-XXXXXXXX-XXXXXXXX-240.0.0.0--247.255.255.255--

Tabella 17.1: Le classi degli indirizzi IP.

Gli indirizzi validi per Internet (detti anche indirizzi pubblici) sono forniti dall’organismo IANA (Internet Assigned Numbers Authority) che si preoccupa di garantirne l’univocità.
17.2.1.2 Gli indirizzi riservati

All’interno dell’insieme dei valori utilizzabili per gli indirizzi IP, da 0.0.0.0 a 223.255.255.255, esistono dei particolari indirizzi che sono riservati e quindi non utilizzabili come indirizzi IP per Internet. Tali valori sono utilizzati come indirizzi IP di interfacce di rete presenti su LAN private, che utilizzano il protocollo TCP/IP ma non sono direttamente connesse ad internet (indirizzi privati). Di tali indirizzi ce ne sono per ogni classe:


|---Indirizzi------|Classe-|
|---10.X.X.X------|--A----|
172.16.X.X -172.31.X.X |  B    |
---192.168.X.X--------C----

Tabella 17.2: Gli indirizzi IP privati.

Sono da considerarsi riservati anche gli indirizzi 127.X.X.X che individuano la rete di loopback, ovvero una rete fittizia costituita dall’interfaccia di rete stessa. Inviando le informazioni ad uno di tali indirizzi IP, queste transiteranno dal livello D (Application) al livello B (Network) dello stack TCP/IP e quindi, riconosciuto il particolare indirizzo di destinazione (loopback), le informazioni ritorneranno fino al livello D (Application) e saranno trattate dall’applicazione come appena ricevuti.

Inoltre, non sono considerati indirizzi IP validi quelli che hanno un net id od un host id costituiti da tutti bit a 0 o ad 1. Per esempio, non sono indirizzi IP validi i seguenti: 0.12.123.43, 15.0.0.0, 17.255.255.255, 131.10.0.0, 192.167.3.255.

Gli indirizzi IP con tutti i bit dell’host id impostati ad 1 sono detti directed broadcast, ovvero sono utilizzati come indirizzo IP di destinazione quando si deve inviare un messaggio a tutte le interfacce di una determinata rete: per esempio, un messaggio con indirizzo IP di destinazione 192.167.58.255 sarà inviato a tutte le interfacce presenti sulla rete 192.167.58.X.

Gli indirizzi IP con tutti i bit dell’host id a 0 sono utilizzati per identificare la rete nel suo complesso: per esempio, l’indirizzo IP 192.167.58.0 identifica la rete 192.167.58.X (viene utilizzato nelle routing table).

[da completare ...]