Internet è una rete di tipo PSN (Packet Switched Network), ciò
significa che due terminali comunicano tra loro per mezzo di pacchetti di
dati. Ogni informazione che deve essere spedita tramite la rete viene quindi
divisa in pacchetti ed inviata dal computer mittente, il ricevente ricompone
i pacchetti per riottenere l'informazione, per fare ciò, considerando
il fatto che i terminali che compiono queste operazioni sono milioni, ogni
singola macchina, deve poter essere identificabile, avere quindi un indirizzo.
Prima dei 1983 vi erano più reti sparse che non avendo molti utenti,
non necessitavano di un indirizzo molto lungo, ma il 1 gennaio 1983 queste
reti vengono incorporate in internet grazie alla nascita dell'indirizzo IP;
la sua conformazione, definita nel RFC
791, è di una stringa di 32 bit divisi per semplicità in
quattro blocchi (detti ottetti) da 8 bit ciascuno, di norma vengono rappresentati
in formato decimale e divisi da punti (xxx.xxx.xxx.xxx); ogni blocco quindi
è un numero decimale che và da 0 a 255.
Gli indirizzi IP rappresentabili iniziano con lo 0.0.0.0 e terminano con
il 255.255.255.255, per un totale di 4,3 miliardi di indirizzi circa, gestiti,
almeno nei loro blocchi più grossi dalla IANA
(Internet Assigned Numbers Authority) .
Esistono vari tipi di mappatura delle reti (vedi RFC
796) divisi nelle seguenti classi:
Classe A (Blocco 1-127)
Viene utilizzata per reti enormi e utilizza gli indirizzi
da 1.0.0.0 a 127.0.0.0, è identificata dal primo bit a zero, 7 bit
per indirizzare la rete e 24 bit per indirizzare il terminale, ognuna di queste
127 reti può ospitare fino a 16,7 milioni di terminali
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
0 |
Network |
Local Address |
Classe B (Blocco 128-191)
Viene utilizzata per grosse reti e utilizza gli indirizzi
da 128.1.0.0 a 191.254.0.0, è identificata dal primo bit a uno, il
secondo a zero, 14 bit per indirizzare la rete e 16 bit per indirizzare il
terminale, ognuna di queste sedicimila reti può ospitare fino a 65,543
terminali
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
1 |
0 |
Network |
Local Address |
Classe C (Blocco 192-223)
Viene utilizzata per piccole reti e utilizza gli indirizzi
da 192.0.1.0 a 223.225.254, è identificata dai primi due bit a uno,
il terzo a zero, 21 bit per indirizzare la rete e 8 bit per indirizzare il
terminale, ognuna di queste due milioni di reti può ospitare fino a
254 terminali
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
1 |
1 |
0 |
Network |
Local Address |
Classe D (Blocco 224-239)
Viene utilizzata per l'invio di pacchetti in modalità
multicasting (vedi RFC
1112), ossia ogni pacchetto spedito a questi indirizzi viene inoltrato
a tutti gli appartenenti al gruppo indirizzato, il range di indirizzi è
dal 224.0.0.0 al 239.255.255.255, è identificato dai primi tre bit
ad 1 e il quarto a 0, tutti gli altri vengono utilizzati per l'indirizzamento
del gruppo multicasting
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
1 |
1 |
1 |
0 |
Multicasting Group |
la lista
completa e aggiornata dei blocchi multicasting si trova sul sito della IANA.
Classe E (Blocco 240-254)
Quest'ultima classe è stata lasciata libera per eventuali usi futuri,
si avvale degli indirizzi dal 240.0.0.0 al 254.255.255.255 ed è identificato
dai quattro bit più significativi ad 1
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
1 |
1 |
1 |
1 |
Free Address |
Alcune reti esterne ad internet (Autodin II, Arpanet, DCET,
etc.) sono state fuse utilizzando degli indirizzi di rete riservati seguiti
dall'indirizzo che precedentemente aveva il terminale nella rete obsoleta,
secondo le specifiche descritte dalla RFC
796, ottenendo anche per queste indirizzi omogenei a 32bit.
Tra la classe A e quella B c'è un "buco"
che và dall'IP 127.0.0.1 al 128.0.255.255, questi indirizzi vengono
lasciati liberi per indirizzare i terminali delle reti locali non collegati
direttamente alla rete, in particolare l'IP 127.0.0.1 è il c.d. indirizzo
di lookup ossia con il quale viene identificata la macchina locale.
Vi sono vari enti gerarchizzati che gestiscono gli indirizzi
IP e sono le LIR (Local Internet Registry), le NIR (National Internet Registry)
e le RIR (Regional Internet Registry), proprio queste ultime mantengono i
database dove sono archivati tutti i dati delle società che detengono
i pacchetti di indirizzi e sono quattro:
Se infatti prendiamo un indirizzo di esempio 23.164.136.138,
sappiamo che appartiene alla classe A, e che i bit che identificano la rete
sono i primi 8 di conseguenza la maschera di rete sarà 255.0.0.0, infatti
applicando questa maschera al IP di esempio vengono portati a 0 tutti i bit
che identificano i terminali ottenendo l'ip della rete cioè 23.0.0.0,
vediamo l'operazione in formato binario:
Le maschere di subnet di default sono quindi 255.0.0.0 per
la classe A, 255.255.0.0 per la classe B e 255.255.255.0 per la classe C.
La maschera di sottorete ha numerose utilità, quali
l'invio di messaggi di broadcasting a tutti gli appartenenti della rete o lo
smistamento dei pacchetti da parte dei router, che differenziano in questo modo
gli indirizzi interni alla rete da quelli esterni; vi sono, inoltre, anche altri
tipi di mascheramento denominati CIDR e sono spiegati nella RFC
1519.