Su internet, i computer comunicano fra loro grazie al protocollo IP (Internet Protocol), che usa degli indirizzi numerici, detti Indirizzi IP, composti da 4 numeri interi (4 byte) compresi tra 0 e 255 e siglati sotto la forma di xxx.xxx.xxx.xxx. Ad esempio 194.153.205.26 è un indirizzo IP dato in forma tecnica.
Questi indirizzi servono ai computer di rete per comunicare fra loro, quindi ogni computer di rete ha un indirizzo IP unico sulla rete stessa.
E' l'ICANN (Internet Corporation for Assigned Names and Numbers, che ha sostituito l'IANA, Internet Assigned Numbers Agency, dal 1998) ad essere incaricata di distribuire gli indirizzi IP pubblici, cioè gli indirizzi IP dei computer direttamente connessi alla rete pubblica internet.
Un indirizzo IP è un indirizzo a 32 bits, solitamente siglato sotto forma di 4 numeri interi separati da punti. Nell'indirizzo IP si distinguono effettivamente due parti :
Vediamo l'esempio qui sotto :

Osserviamo la rete di sinistra194.28.12.0. Esso contiene i computer seguenti :
Osserviamo quella di destra178.12.0.0. Comprende i computer seguenti :
Nel caso qui sopra, le reti sono siglate194.28.12 e178.12.77, poi si numera in progressione ogni computer che le costituiscono.
Immaginiamo una rete siglata58.0.0.0. I computer di questa rete potranno avere gli indirizzi IP che vanno da58.0.0.1 a58.255.255.254. Si tratta quindi di attribuire i numeri in modo che vi sia un'organizzazione nella gerarchia dei computer e dei server.
Quindi, più il numero di bits riservato alla rete è piccolo, più computer questa potrà contenere.
In effetti, una rete siglata102.0.0.0 può contenere dei computer con un indirizzo IP che varia tra 102.0.0.1 e 102.255.255.254 (256*256*256-2=16777214 possibilità), mentre una rete siglata194.26 non potrà contenere che dei computer con un indirizzo IP compreso fra 194.26.0.1 e 194.26.255.254 (256*256-2=65534 possibilità), e questa è la nozione di classe d'indirizzo IP.
Quando si annulla la parte host-id, cioè quando si sostituiscono con degli zero i bits riservati ai terminali di rate (ad esempio194.28.12.0), si ottiene quello che viene chiamato indirizzo di rete. Questo indirizzo non può essere attribuito a nessun computer della rete.
Quando la parte netid è annullata, cioè quando i bits riservati alla rete sono sostituiti con degli zero, si ottiene l'indirizzo del terminale. Questo indirizzo rappresenta il terminale specificato dall' host-id che si trova sulla rete corrente.
Quando tutti i bits della parte host-id sono a 1, l'indirizzo ottenuto è detto l'indirizzo di diffusione( in inglesebroadcast). Si tratta di un indirizzo specifico, che permette di inviare un messaggio a tutti i terminali posti sulla rete specificata con il netID.
Al contrario, quando tutti i bits della parte netid sono a 1, l'indirizzo ottenuto costituisce l'indirizzo di diffusione limitata(multicast).
Infine, l'indirizzo127.0.0.1 è dettoindirizzo di loopback, dato che designa laterminale locale (in ingleselocalhost).
Gli indirizzi IP sono ripartiti in classi, secondo il numero di bytes che rappresentano la rete.
In un indirizzo IP di classe A, il primo byte rappresenta la rete.
il bit di peso forte (il primo bit, quello di sinistra) è a zero, il che significa che vi sono 27(00000000 à 01111111) possibilità di reti, ossia 128 possibilità. Tuttavia, la rete 0 (bits che valgono 00000000) non esiste e il numero 127 è riservato per designare il vostro terminale.
Le reti disponibili in classe A sono quindi le reti che vanno da1.0.0.0 a126.0.0.0(gli ultimi bytes sono degli zero che indicano che si tratta effettivamente di reti e non di computer!)
I tre bytes di destra rappresentano i computer di rete, la rete può quindi contenere un numero di computer uguale a :
224-2 = 16777214 computer.
Un indirizzo IP di classe A, in codice binario, assomiglia a questo :
| 0 | xxxxxxx | xxxxxxxx | xxxxxxxx | xxxxxxxx |
| Rete | Computer | |||
In un indirizzo IP di classe B, i primi due bytes rappresentano la rete.
i primi due bits sono 1 e 0, il che significa che vi sono 214(10 000000 00000000 à 10 111111 11111111) possibilità di reti, ossia 16384 reti possibili. Le reti disponibili in classe B sono quindi le reti che vanno da128.0.0.0 a191.255.0.0
I due bytes di destra rappresentano i computer della rete. La rete può quindi contenere un numero di computer pari a:
216-21 = 65534 computer.
Un indirizzo IP di classe B, in codice binario, assomiglia a questo :
| 10 | xxxxxx | xxxxxxxx | xxxxxxxx | xxxxxxxx |
| Rete | Computer | |||
In un indirizzo IP di classe C, i primi tre bytes rappresentano la rete. I primi tre bits sono 1, 1 e 0, il che significa che vi sono 221possibilità di reti, cioè 2097152. Le reti disponibili in classe C sono quindi le reti che vanno da192.0.0.0 a223.255.255.0
il byte di destra rappresenta i computer di rete, la rete può quindi contenere:
28-21 = 254 computer.
Un indirizzo IP di classe C, in codice binario, assomiglia a questo :
| 110 | xxxxx | xxxxxxxx | xxxxxxxx | xxxxxxxx |
| Rete | Computer | |||
Lo scopo della divisione degli indirizzi IP in tre classi A, B e C è di facilitare la ricerca di un computer sulla rete. In effetti con questa nota è possibile ricercare in un primo tempo la rete che si desidera raggiungere e poi cercare un computer sulla stessa. Così, l'attribuzione degli indirizzi IP si effettua secondo la dimensione delle rete.
| Classe | Numero di reti possibili | Numero massimo di computer su ciascuna |
|---|---|---|
| A | 126 | 16777214 |
| B | 16384 | 65534 |
| C | 2097152 | 254 |
Gli indirizzi di classe A sono riservati a delle reti molto grandi, mentre ad esempio si attribuiranno degli indirizzi di classe C a delle piccole reti aziendali
Capita spesso che in un'azienda o in un ente vi sia un solo computer connesso a internet, che funge da intermediario per gli altri computer di rete per l'accesso a internet (si parla generalmente di proxy o di passerella).
In questa configurazione, solo il computer connesso a internet ha bisogno di riservare un indirizzo IP presso l'ICANN. Tuttavia, gli altri computer hanno comunque bisogno di un indirizzo IP per poter comunicare insieme in interno.
Così. l'ICANN ha riservato alcuni indirizzi in ciascuna delle classi per permettere di attribuire un indirizzo IP ai computer di una rete locale collegata a internet senza rischiare di creare dei conflitti di indirizzi IP sul web. Si tratta dei seguenti indirizzi :
Per capire che cos'è una maschera, può essere interessante consultare la sezione « assemblatori » che parla dimascheramento in codice binario
Riassumendo, si fabbrica una maschera che contiene degli 1 al posto dei bits che si desidera conservare, e degli 0 per quelli che si vogliono annullare. Una volta creata la maschera, basta fra un ET logico tra il valore che si vuole mascherare e la maschera per mantenere intatta la parte desiderata e annullare il resto.
Cosi, una maschera di rete (in inglesenetmask) si presenta sottoforma di 4 bytes separati da punti (come un indirizzo IP), essa comprende (nella sua sigla binaria) degli zero a livello dei bits dell'indirizzo IP che si vogliono annullare (e degli 1 a livello di quelli che desidera conservare).
Il primo interessa per una maschera di sub-rete è di permettere di identificare la rete associata ad un indirizzo IP.
In effetti, la rete è determinata da un certo numero di bytes dell'indirizzo IP (1 byte per gli indirizzi di classe A, 2 per quelli di classe B, e 3 bytes per la classe C). Ora, una rete è siglata prendendo il numero di bytes che la caratterizza, poi completandola con degli 0. La rete associata all'indirizzo34.56.123.12 è ad esempio34.0.0.0, dato che si tratta di un indirizzo IP di classe A.
Per conoscere l'indirizzo di rete associato all'indirizzo IP34.56.123.12, basterà quindi applicare una maschera il cui primo byte prevede solo degli 1 (cioè 255 in notazione decimale), poi degli 0 sui bytes seguenti.
La maschera è:11111111.00000000.00000000.00000000
La maschera associata all'indirizzo IP34.208.123.12 è quindi255.0.0.0.
Il valore binario di34.208.123.12è:00100010.11010000.01111011.00001100
Un ET logico tra l'indirizzo IP e la maschera da quindi il seguente risultato :
00100010.11010000.01111011.00001100 ET 11111111.00000000.00000000.00000000 = 00100010.00000000.00000000.00000000Sia34.0.0.0. Si tratta effettivamente della rete associata all'indirizzo34.208.123.12
Generalizzando, è possibile avere delle maschere corrispondenti ad ogni classe di indirizzo :
Riprendiamo l'esempio della rete 34.0.0.0, e supponiamo che si desideri che i primi due bits del secondo byte designino la rete.
La maschera da applicare sarà allora :
11111111.11000000.00000000.00000000
Se si applica questa maschera all'indirizzo 34.208.123.12 si ottiene :
34.192.0.0
In realtà vi sono 4 casi di figure possibili per il risultato del mascheramento di un indirizzo IP di un computer di rete 34.0.0.0
Questo mascheramento divide quindi una rete di classe A (che può ammettere 16 777 214 computer) in 4 sub-reti - da cui il nome di Maschera di sub-rete- che può ammettere 222computer, cioè 4 194 304 computer.
Può essere interessante notare che nei due casi, il numero totale di computer è lo stesso, ossia 16 777 214 computer (4 x 419304 - 2 = 16777214).
Il numero di sub-reti dipende dal numero di bits attribuiti in più ad una rete (qui 2). Il numero di sub-reti è quindi :
| Numero di bits | Numero di sub-reti |
|---|---|
| 1 | 2 |
| 2 | 4 |
| 3 | 8 |
| 4 | 16 |
| 5 | 32 |
| 6 | 64 |
| 7 | 128 |
| 8 (impossibile per une classe C) | 256 |