4.1 Cos’è un Indirizzo IP?
Ogni dispositivo collegato a una rete IP ha bisogno di un identificatore univoco per poter comunicare. Questo identificatore è l’indirizzo IP (Internet Protocol). Senza di esso, il router non saprebbe dove mandare i pacchetti — sarebbe come inviare una lettera senza indirizzo.
Un indirizzo IPv4 è un numero a 32 bit, suddiviso in 4 gruppi di 8 bit (ottetti), scritto in notazione decimale puntata. Ogni ottetto va da 0 a 255. L’indirizzo è diviso in due parti: Network ID (identifica la rete) e Host ID (identifica il dispositivo nella rete).
L’indirizzo IP è come un indirizzo postale. Il Network ID è il nome della via (identifica la rete, cioè la “strada”). L’Host ID è il numero civico (identifica il singolo dispositivo nella rete). Il router è il postino: legge il “nome della via” e sa in quale direzione instradare il pacchetto.
4.2 Rappresentazione Binaria
Per il computer, un indirizzo IP è una sequenza di 32 bit (0 e 1). Noi umani lo scriviamo in decimale per comodità, ma per capire il subnetting è indispensabile saper convertire tra le due rappresentazioni.
Come convertire: i pesi dei bit
Ogni bit ha un “peso” che è una potenza di 2. In un ottetto (8 bit), i pesi da sinistra a destra sono:
| Posizione | 7 (MSB) | 6 | 5 | 4 | 3 | 2 | 1 | 0 (LSB) |
|---|---|---|---|---|---|---|---|---|
| Peso | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
| Esempio: 192 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| Somma | 128 + 64 = 192 ✓ | |||||||
Impara a memoria questa sequenza: 128, 64, 32, 16, 8, 4, 2, 1. Ogni valore è la metà del precedente. Saperla a memoria ti permetterà di convertire istantaneamente qualsiasi ottetto durante l’esame.
Esempi di conversione
| Decimale | Binario | Calcolo |
|---|---|---|
| 0 | 00000000 | Tutti i bit a 0 |
| 255 | 11111111 | 128+64+32+16+8+4+2+1 = 255 |
| 192 | 11000000 | 128+64 = 192 |
| 224 | 11100000 | 128+64+32 = 224 |
| 240 | 11110000 | 128+64+32+16 = 240 |
| 248 | 11111000 | 128+64+32+16+8 = 248 |
| 252 | 11111100 | 128+64+32+16+8+4 = 252 |
| 10 | 00001010 | 8+2 = 10 |
| 172 | 10101100 | 128+32+8+4 = 172 |
I primi 7 valori della tabella (0, 128, 192, 224, 240, 248, 252, 255) sono gli unici valori possibili in un ottetto della subnet mask. Questo perché la subnet mask ha sempre una sequenza continua di 1 seguita da una sequenza continua di 0. Memorizzali!
4.3 Network ID e Host ID
Ogni indirizzo IP è diviso in due parti. Il confine tra queste due parti è definito dalla subnet mask.
La subnet mask è una maschera a 32 bit che distingue la parte di rete dalla parte host. I bit a 1 corrispondono al Network ID, i bit a 0 al Host ID. Esempio: 255.255.255.0 = 11111111.11111111.11111111.00000000 → 24 bit di rete, 8 bit di host.
L’operazione AND logico
Per calcolare il Network Address (indirizzo di rete) si esegue un AND bit a bit tra l’indirizzo IP e la subnet mask:
| Decimale | Binario | |
|---|---|---|
| IP Address | 192.168.10.130 | 11000000.10101000.00001010.10000010 |
| Subnet Mask | 255.255.255.192 | 11111111.11111111.11111111.11000000 |
| Network Addr | 192.168.10.128 | 11000000.10101000.00001010.10000000 |
Se l’ottetto della mask è 255 → l’ottetto dell’IP resta invariato. Se è 0 → diventa 0. Se è un valore intermedio (128, 192, 224…) → devi fare l’AND bit a bit, oppure usare la regola del 256 che vedremo nel Modulo 5.
4.4 Notazione CIDR
Invece di scrivere per esteso la subnet mask, si usa la notazione CIDR (Classless Inter-Domain Routing): una barra seguita dal numero di bit a 1 nella mask.
| Notazione CIDR | Subnet Mask | Bit di rete | Bit di host | Host utili |
|---|---|---|---|---|
/8 | 255.0.0.0 | 8 | 24 | 16.777.214 |
/16 | 255.255.0.0 | 16 | 16 | 65.534 |
/24 | 255.255.255.0 | 24 | 8 | 254 |
/25 | 255.255.255.128 | 25 | 7 | 126 |
/26 | 255.255.255.192 | 26 | 6 | 62 |
/27 | 255.255.255.224 | 27 | 5 | 30 |
/28 | 255.255.255.240 | 28 | 4 | 14 |
/30 | 255.255.255.252 | 30 | 2 | 2 |
Perché in ogni sottorete due indirizzi sono riservati e non assegnabili ai dispositivi:
Network Address = tutti i bit host a 0 (identifica la rete stessa).
Broadcast Address = tutti i bit host a 1 (raggiunge tutti gli host della rete).
Formula: Host utili = 2h − 2, dove h è il numero di bit host.
4.5 Classi di Indirizzi IPv4 (Classful)
Storicamente, gli indirizzi IPv4 erano divisi in classi basate sui primi bit. Questo sistema è obsoleto (sostituito dal CIDR nel 1993), ma è ancora richiesto all’esame e serve per capire molte convenzioni.
| Classe | Primo ottetto | Bit iniziali | Mask default | N. reti | Host per rete |
|---|---|---|---|---|---|
| A | 1 – 126 | 0xxxxxxx | /8 | 128 | 16.777.214 |
| B | 128 – 191 | 10xxxxxx | /16 | 16.384 | 65.534 |
| C | 192 – 223 | 110xxxxx | /24 | 2.097.152 | 254 |
| D | 224 – 239 | 1110xxxx | Multicast (non assegnata a host) | ||
| E | 240 – 255 | 1111xxxx | Sperimentale / riservata | ||
Le classi erano estremamente inefficienti: un’azienda con 300 host doveva richiedere una classe B (65.534 host), sprecando il 99.5% degli indirizzi. Il CIDR ha risolto questo problema permettendo mask di qualsiasi lunghezza, non solo /8, /16 o /24.
4.6 Indirizzi Privati (RFC 1918)
Il documento RFC 1918 riserva tre blocchi di indirizzi per l’uso in reti private. Questi indirizzi non sono instradabili su Internet: un router di un ISP li scarta automaticamente. Per uscire su Internet, servono NAT (Network Address Translation).
10.0.0.0/8
Da 10.0.0.0 a 10.255.255.255
16.777.216 indirizzi
Grandi organizzazioni, data center
172.16.0.0/12
Da 172.16.0.0 a 172.31.255.255
1.048.576 indirizzi
Aziende medie, campus
192.168.0.0/16
Da 192.168.0.0 a 192.168.255.255
65.536 indirizzi
Reti domestiche, piccoli uffici
Con soli ~4,3 miliardi di indirizzi IPv4 e miliardi di dispositivi connessi, gli IP pubblici non bastano. Gli indirizzi privati possono essere riutilizzati in reti diverse senza conflitto: la tua rete domestica 192.168.1.x e quella del tuo vicino 192.168.1.x sono completamente separate. Il router con NAT traduce l’IP privato in un IP pubblico per uscire su Internet.
4.7 Indirizzi Speciali
| Indirizzo | Nome | Funzione |
|---|---|---|
0.0.0.0 | Indirizzo non specificato | Indica “qualsiasi indirizzo” o “non ancora configurato”. Usato nella default route. |
127.0.0.1 | Loopback (localhost) | Indirizzo che punta al dispositivo stesso. Usato per test locali. L’intero blocco 127.0.0.0/8 è riservato. |
255.255.255.255 | Broadcast limitato | Raggiunge tutti i dispositivi sulla rete locale. Non oltrepassa il router. |
169.254.x.x | APIPA (link-local) | Assegnato automaticamente quando il DHCP non è disponibile. Comunicazione solo locale. |
x.x.x.0 | Network Address | Tutti i bit host a 0. Identifica la rete. Non assegnabile a un dispositivo. |
x.x.x.255 | Broadcast diretto | Tutti i bit host a 1. Raggiunge tutti gli host di quella specifica rete. |
L’intero blocco 127.0.0.0/8 (oltre 16 milioni di indirizzi!) è riservato per il loopback. Non è di classe A: è un blocco speciale. 127.0.0.1 è il più usato, ma qualsiasi indirizzo 127.x.x.x punta al dispositivo locale.
4.8 Lo Spazio di Indirizzamento IPv4
Lo spazio IPv4 è finito e quasi esaurito. I Regional Internet Registries (RIR) hanno distribuito tutti i blocchi /8 disponibili. Le soluzioni adottate per prolungare la vita di IPv4 sono:
- NAT — permette a centinaia di dispositivi di condividere un solo IP pubblico
- CIDR/VLSM — assegna blocchi di dimensione esatta, senza sprechi
- Indirizzi privati — riutilizzabili in infinite reti diverse
- IPv6 — 128 bit = 3,4 × 10³⁸ indirizzi
- Abbastanza per dare un IP a ogni granello di sabbia sulla Terra
- Transizione in corso (dual-stack, tunneling)
Approfondito nel Modulo 8
4.9 Riepilogo del Modulo
🧪 Verifica di Autovalutazione
Soluzioni
Domanda 01 — Bit e ottetti
Domanda 02 — Conversione 172.16.0.1
172 = 128+32+8+4 = 1010110016 = 16 = 000100000 = 000000001 = 00000001Risultato:
10101100.00010000.00000000.00000001Domanda 03 — Conversione da binario
11000000 = 128+64 = 19210101000 = 128+32+8 = 16800001010 = 8+2 = 1011111110 = 128+64+32+16+8+4+2 = 254Risultato: 192.168.10.254
Domanda 04 — Subnet mask
Domanda 05 — Network Address
/24 (255.255.255.0), l’ultimo ottetto diventa 0. Network Address: 192.168.5.0. Il Broadcast Address è 192.168.5.255. Gli host vanno da .1 a .254.Domanda 06 — Host utili /26 e /30
/26 → 32 − 26 = 6 bit host → 2⁶ − 2 = 62 host./30 → 32 − 30 = 2 bit host → 2² − 2 = 2 host. Il /30 è usato per i link punto-punto tra router (servono solo 2 IP: uno per interfaccia).Domanda 07 — 172.20.5.1 pubblico o privato?
172.16.0.0/12 (da 172.16.0.0 a 172.31.255.255). Il secondo ottetto 20 è compreso tra 16 e 31, quindi è privato.Domanda 08 — 127.0.0.1
127.0.0.1 è l’indirizzo di loopback (localhost). Punta al dispositivo stesso — i pacchetti inviati a questo indirizzo non escono mai dalla scheda di rete. Si usa per test locali (es. ping 127.0.0.1 verifica che lo stack TCP/IP funzioni). L’intero blocco 127.0.0.0/8 è riservato.Domanda 09 — Esaurimento IPv4
Domanda 10 — Indirizzo 169.254.x.x
169.254.0.0/16. Questo significa che il dispositivo ha cercato un server DHCP per ottenere un IP, ma non l’ha trovato. Si è autoassegnato un indirizzo link-local che permette solo la comunicazione con altri host APIPA sulla stessa rete fisica, ma non l’accesso a Internet o ad altre reti.