Gli indirizzi IP sono numeri che identificano in modo univoco ciascuna stazione sulla rete (per esempio un computer o le porte di un router).
Gli indirizzi sono assegnati dal NIC (Network Information Center); l’autorità per l’assegnazione dei numeri si chiama IANA (Internet Assigned Number Authority); in genere comunque si può ottenere l’indirizzo IP da un provider.
Notazione decimale puntata
Gli indirizzi sono numeri di 32 bit scritti convenzionalmente nella notazione decimale puntata: quattro numeri decimali, ognuno compreso tra 0 e 255, separati da punti; in pratica l’indirizzo è suddiviso in quattro gruppi di 8 bit e ogni numero decimale è la rappresentazione decimale di un gruppo.
Classi di indirizzi
Gli indirizzi sono divisi in classi; ci sono cinque classi di indirizzi: A, B, C, D ed E; solo gli indirizzi delle prime tre classi (A, B e C) possono essere assegnati alle stazioni di una rete, e sono formati da una parte che identifica la rete e da una parte che identifica la stazione all’interno della rete; gli indirizzi delle altre classi servono per il multicasting (classe D) e per usi sperimentali (classe E).
Classi di indirizzi:
-
Classe A: 8 bit rete, primo bit 0, valori da 0 a 127, 126 reti (perché non si può usare 0 e 127); 24 bit host, 16.777.214 host (16.777.216 ma tutti 0 e tutti 1 non si possono usare);
-
Classe B: 16 bit rete, primi due bit 10, valori da 128 a 191, 16.384 reti (14 bit ); 16 bit host, 65.534 host;
-
Classe C: 24 bit rete, primi tre bit 110, valori da 192 a 223, 2.097.152 reti (21 bit); 8 bit host, 254 host;
-
Classe D: primi quattro bit 1110, valori da 224 a 239; 28 bit gruppo multicast;
-
Classe E: primi quattro bit 1111, valori da 240 a 255.
Classe | Bit per la rete | Primi bit | Valori | Bit effettivi per la rete | Numero di reti | Bit per l’host | Numero di host |
---|---|---|---|---|---|---|---|
A | 8 | 0 | da 0 a 127 | 7 | 126 | 24 | 16.777.214 |
B | 16 | 10 | da 128 a 191 | 14 | 16.384 | 16 | 65.534 |
C | 24 | 110 | da 192 a 223 | 21 | 2.097.152 | 8 | 254 |
Indirizzi privati
Gli indirizzi IP devono essere unici a livello mondiale; però quando si usano indirizzi IP in una rete locale non collegata a Internet basta che gli indirizzi siano unici all’interno della rete; reti diverse possono usare gli stessi gruppi di indirizzi.
Se gli indirizzi vengono scelti in modo arbitrario, un successivo collegamento a Internet può causare dei problemi (per esempio non si possono raggiungere gli indirizzi esterni che risultano duplicati).
Sono stati riservati tre gruppi di indirizzi che non vengono usati su Internet e che si possono usare arbitrariamente in una rete locale, senza problemi (indirizzi privati).
I tre gruppi di indirizzi di rete privati sono:
-
10.0.0.0 (rete di classe A)
-
da 172.16.0.0 a 172.31.0.0 (reti di classe B)
-
da 192.168.0.0 a 192.168.255.0 (reti di classe C)
quindi con indirizzi delle stazioni che vanno:
-
da 10.0.0.0 a 10.255.255.255 (indirizzi di classe A)
-
da 172.16.0.0 a 172.31.255.255 (indirizzi di classe B)
-
da 192.168.0.0 a 192.168.255.255 (indirizzi di classe C)
Questi indirizzi possono essere usati anche per le reti collegate a Internet attraverso un proxy server o un firewall; questi dispositivi nascondono gli indirizzi locali, rendendo invisibili destinazioni, interne o esterne, con tali indirizzi.
Regole per la configurazione degli indirizzi IP
Bisogna inoltre ricordare le seguenti regole:
-
Tutte le stazioni sullo stesso segmento di rete devono avere lo stesso indirizzo di rete (per collegare reti con indirizzo di rete diverso serve un router); la parte riservata alla stazione deve essere univoca.
-
L’indirizzo della rete è rappresentato dall’indirizzo con la parte riservata alla stazione costituita da tutti i bit a 0:
classe A: w.0.0.0,
classe B: w.x.0.0,
classe C: w.x.y.0.
-
L’indirizzo di rete 127 è riservato a funzioni di loopback; i pacchetti spediti a indirizzi del tipo 127.x.y.z vengono trattati come pacchetti in arrivo; in questo modo non serve che il mittente conosca il proprio indirizzo: l’indirizzo 127.0.0.1 rappresenta la stazione di lavoro o localhost; ciò è utile per il debug delle applicazioni di rete.
-
Gli indirizzi di rete o di stazione con tutti i bit a 0 o tutti i bit a 1 hanno significati speciali:
– un indirizzo in cui tutti i bit dell’indirizzo di rete sono a 0 indica la rete corrente;
– un indirizzo con tutti i bit a 0 (0.0.0.0) indica la stazione corrente;
– un indirizzo con tutti i bit a 1 (255.255.255.255) rappresenta l’indirizzo di broadcast per la rete corrente (consente il broadcast a tutte le stazioni della rete); i router non inoltrano tale broadcast oltre il segmento di rete locale;
– un indirizzo di rete seguito da tutti 1 nella parte riservata alla stazione rappresenta l’indirizzo di broadcast della rete (cioè gli indirizzi di broadcast hanno la parte riservata alla stazione con tutti i bit a 1):
classe A: w.255.255.255,
classe B: w.x.255.255,
classe C: w.x.y.255.
Quindi:
-
la parte riservata alla rete non può mai essere costituita da tutti 0 (perché indica la rete corrente) e da 127 (che ha funzioni di loopback);
-
la parte riservata alla stazione non può mai essere costituita da tutti 0 (perché questo rappresenta l’indirizzo della rete), né da tutti 1 (perché questo rappresenta l’indirizzo di broadcast).
Maschere di sottorete
Le maschere di sottorete (subnet mask) indicano quali bit dell’indirizzo rappresentano la porzione della rete.
Per indicare il numero di bit che rappresentano la porzione della rete si può usare anche la notazione /n.
Le maschere predefinite sono:
-
classe A: 255.0.0.0 /8
-
classe B: 255.255.0.0 /16
-
classe C: 255.255.255.0 /24
Quando una stazione mittente deve inviare un pacchetto a una certa destinazione usa la maschera di sottorete per determinare se il destinatario si trova sulla stessa rete locale o su una rete remota.
L’indirizzo IP della stazione mittente e quello del destinatario (indicato nel pacchetto IP) vengono confrontati con la maschera di sottorete con un processo di messa in and (i bit vengono confrontati ad uno ad uno; se i due valori confrontati sono ambedue 1 il risultato è 1, altrimenti è 0); se i risultati sono uguali significa che mittente e destinatario si trovano sulla stessa rete locale.
Se mittente e destinatario si trovano sulla stessa rete il pacchetto può essere inviato direttamente (utilizzando il protocollo ARP).
Se il destinatario si trova in una rete diversa il mittente deve usare la tabella di routing per individuare a quale router inoltrare il pacchetto. Le tabelle di routing contengono una registrazione per ogni rete conosciuta e riportano in corrispondenza il router da utilizzare.
Se la rete di destinazione non è presente nella tabella di routing il pacchetto viene inviato a un router di default (gateway predefinito).
Ad ogni salto il router che ha ricevuto il pacchetto diventa il nuovo mittente e ripete il procedimento.
Le tabelle di routing contengono solo una registrazione per ogni rete e non una registrazione per ogni stazione di ogni rete; questo permette di ridurre la dimensione delle tabelle di routing.
Indirizzi di classe D
Gli indirizzi di classe D vanno da 224.0.0.1 a 239.255.255.255; ogni indirizzo di classe D rappresenta un gruppo di stazioni per il multicasting; ci sono 28 bit disponibili quindi si possono avere oltre 250.000.000 di gruppi.
Ci sono due tipi di indirizzi di gruppo: temporanei e permanenti; esempi di indirizzi permanenti sono 224.0.0.1 che rappresenta tutte le stazioni di una rete e 224.0.0.2 che rappresenta tutti i router di una rete; i gruppi temporanei vengono creati quando servono.