Livello di rete e IPV4

Riassunto IA

Gli indirizzi IPv4 sono identificatori logici a 32 bit, rappresentati in notazione decimale puntata, essenziali per l'instradamento dei pacchetti attraverso reti eterogenee. La loro struttura gerarchica, definita dalla subnet mask, separa logicamente la porzione di rete da quella di host, consentendo la comunicazione tra dispositivi.

Immagine generata con IA
Immagine generata con IA

Indirizzamento IPv4

Ogni dispositivo che partecipa a una rete IP, che si tratti di una LAN aziendale
o di Internet, deve essere identificato in modo univoco. Questo identificatore è
l'indirizzo IPv4: un indirizzo logico a 32 bit che permette ai pacchetti di
raggiungere la destinazione corretta attraverso infrastrutture di rete eterogenee.
Comprenderne la struttura è prerequisito indispensabile per chiunque lavori con
reti, sistemi distribuiti o infrastrutture cloud.

Struttura di un indirizzo IPv4

Un indirizzo IPv4 è composto da 32 bit, normalmente rappresentati in forma
binaria come una sequenza continua:

11010001101001011100100000000001

Questa rappresentazione è poco leggibile. Per semplificarne l'utilizzo, i 32 bit
vengono suddivisi in quattro gruppi da 8 bit ciascuno, chiamati ottetti,
separati da un punto:

11010001.10100101.11001000.00000001

Ogni ottetto viene poi convertito nel suo equivalente decimale. Il risultato è la
cosiddetta notazione decimale puntata (dotted-decimal notation):

209.165.200.1

Poiché ogni ottetto è composto da 8 bit, il valore decimale di ciascuno può
variare tra 0 e 255. Di conseguenza, l'intero spazio di indirizzamento IPv4
comprende circa 4,3 miliardi di indirizzi univoci (2³²).

Il seguente snippet Python illustra la conversione tra le due rappresentazioni:

ip_binario = "11010001.10100101.11001000.00000001"
ottetti = ip_binario.split(".")
ip_decimale = ".".join(str(int(o, 2)) for o in ottetti)
print(ip_decimale)  # Output: 209.165.200.1

La struttura gerarchica

L'indirizzo IPv4 non è una sequenza piatta di bit: ha una struttura gerarchica
composta da due parti logiche distinte:

  • Porzione di rete: identifica la rete logica a cui appartiene il dispositivo.
  • Porzione host: identifica univocamente il dispositivo all'interno di quella rete.

Consideriamo l'indirizzo 192.168.5.11 con subnet mask 255.255.255.0:

  • I primi tre ottetti — 192.168.5 — rappresentano la rete.
  • L'ultimo ottetto — 11 — rappresenta l'host.

Tutti i dispositivi appartenenti alla stessa rete locale devono condividere la medesima
porzione di rete. Due dispositivi con porzioni di rete differenti non possono
comunicare direttamente senza l'intervento di un router.

Analogia pratica: il meccanismo è assimilabile a un numero di telefono internazionale,
dove il prefisso paese e il prefisso locale identificano la "rete" (zona geografica)
e il numero finale identifica il singolo "host" (abbonato).

La maschera di sottorete (subnet mask)

La subnet mask è lo strumento che consente ai dispositivi di determinare quale
parte dell'indirizzo IPv4 rappresenta la rete e quale rappresenta l'host.
Anch'essa è un valore a 32 bit, in cui i bit impostati a 1 indicano la porzione
di rete e quelli a 0 la porzione host.

Subnet mask decimale Rappresentazione binaria Bit di rete Bit di host
255.0.0.0 11111111.00000000.00000000.00000000 8 24
255.255.0.0 11111111.11111111.00000000.00000000 16 16
255.255.255.0 11111111.11111111.11111111.00000000 24 8
255.255.255.128 11111111.11111111.11111111.10000000 25 7

Una subnet mask /24 (255.255.255.0) permette di indirizzare fino a 254 host
utilizzabili (256 indirizzi totali, meno l'indirizzo di rete e quello di broadcast).

Notazione CIDR

Nei contesti professionali moderni, la subnet mask viene quasi sempre espressa
nella notazione CIDR (Classless Inter-Domain Routing), introdotta dalla
RFC 1519 per superare i limiti del vecchio sistema di classi A/B/C.

La notazione CIDR affianca all'indirizzo IP un prefisso che indica il numero
di bit riservati alla porzione di rete:

192.168.5.11/24    →  rete: 192.168.5.0,  host: .11
10.0.0.1/8         →  rete: 10.0.0.0,     host: .0.0.1
172.16.10.5/16     →  rete: 172.16.0.0,   host: .10.5

La notazione CIDR è obbligatoria in contesti come la configurazione di firewall,
le rotte statiche su router, le security group rule nei provider cloud (AWS, Azure,
GCP) e i file di configurazione di strumenti come Ansible o Terraform.

Reti logiche su una stessa rete fisica

IPv4 permette la coesistenza di più reti logiche su un'unica infrastruttura
fisica
. Se due gruppi di host condividono lo stesso segmento fisico (es. stesso
switch) ma appartengono a subnet diverse, non possono comunicare tra loro senza
passare per un router o un layer-3 switch.

Esempio concreto con tre reparti aziendali:

Reparto Rete logica Esempio host Gateway
Vendite 192.168.3.0/24 192.168.3.10 192.168.3.1
Contabilità 192.168.2.0/24 192.168.2.15 192.168.2.1
Network Mgmt 192.168.1.0/24 192.168.1.20 192.168.1.1

Un host configurato con la porzione di rete errata rispetto alla propria subnet
non sarà in grado di comunicare: sarà isolato anche se fisicamente connesso.
Questo è uno degli errori di configurazione più comuni in fase di provisioning.

Il gateway predefinito

Quando un host deve inviare traffico verso un indirizzo IP che non appartiene
alla propria subnet
, incapsula il pacchetto e lo consegna al gateway
predefinito
(default gateway): tipicamente l'interfaccia del router locale.

Il router esamina l'indirizzo di destinazione, consulta la propria tabella di
routing e instrada il pacchetto verso la rete corretta. I router non necessitano
di conoscere la posizione di ogni singolo host: devono solo sapere come
raggiungere ciascuna rete, questo è il beneficio diretto dell'indirizzamento
gerarchico.

Indirizzi privati e pubblici: RFC 1918

Non tutti gli indirizzi IPv4 sono instradabili su Internet. La RFC 1918
definisce tre blocchi riservati per uso esclusivamente privato (reti locali,
data center interni, ambienti di laboratorio):

Range privato Notazione CIDR N° indirizzi Utilizzo tipico
10.0.0.0 – 10.255.255.255 10.0.0.0/8 ~16,7 milioni Reti enterprise, data center
172.16.0.0 – 172.31.255.255 172.16.0.0/12 ~1 milione Reti medie, VPN aziendali
192.168.0.0 – 192.168.255.255 192.168.0.0/16 ~65.000 SOHO, lab, reti domestiche

Gli indirizzi privati non sono mai instradati direttamente su Internet: vengono
tradotti in indirizzi pubblici tramite il meccanismo NAT (Network Address
Translation
), implementato tipicamente sul router di bordo o sul firewall perimetrale.

Indirizzi speciali e riservati

Alcuni indirizzi IPv4 hanno una semantica riservata e non possono essere assegnati
agli host:

Indirizzo / Range Descrizione
127.0.0.1 (o 127.0.0.0/8) Loopback: traffico indirizzato allo stack di rete locale, mai trasmesso sul cavo
x.x.x.0 Indirizzo di rete: identifica la subnet stessa, non assegnabile agli host
x.x.x.255 Broadcast diretto: invia a tutti gli host della subnet
255.255.255.255 Broadcast limitato: inviato a tutti i dispositivi del segmento locale
169.254.0.0/16 APIPA (link-local): assegnato automaticamente quando DHCP non è raggiungibile
0.0.0.0 Indirizzo non specificato: usato da un host prima di ricevere un indirizzo DHCP

La comparsa di un indirizzo 169.254.x.x su un'interfaccia è un sintomo
diagnostico inequivocabile: il client non ha raggiunto il server DHCP.

Assegnazione degli indirizzi: statica e dinamica (DHCP)

Un indirizzo IPv4 può essere assegnato a un'interfaccia in due modalità:

Configurazione statica — L'amministratore assegna manualmente indirizzo IP,
subnet mask, gateway e DNS. È la modalità preferita per server, stampanti di
rete, router e qualsiasi dispositivo la cui raggiungibilità deve essere
prevedibile e stabile nel tempo.

Configurazione dinamica via DHCP — Il client invia una richiesta broadcast
sulla rete; il server DHCP risponde assegnando automaticamente indirizzo, subnet
mask, gateway predefinito e server DNS per un periodo di tempo definito (lease).
È la modalità standard per workstation, laptop e dispositivi mobili.

Per verificare la configurazione attiva di un'interfaccia, è possibile usare i
seguenti comandi:

Su sistemi Linux/macOS:

ip addr show

Su sistemi Windows:

ipconfig /all

L'output mostrerà indirizzo IP, subnet mask, gateway predefinito, server DNS e,
nel caso DHCP, la durata del lease e l'indirizzo del server che lo ha assegnato.

Il problema dell'esaurimento degli indirizzi

Lo spazio di indirizzamento IPv4, circa 4,3 miliardi di indirizzi, è stato
formalmente esaurito a livello IANA nel febbraio 2011. I registri regionali
(RIPE NCC, ARIN, APNIC) hanno terminato le proprie riserve in anni successivi.

Soluzioni intermedie come NAT e CIDR hanno allungato la vita operativa di IPv4,
ma la risposta definitiva è IPv6: uno spazio di indirizzamento a 128 bit che
fornisce circa 3,4 × 10³⁸ indirizzi unici. La maggior parte delle infrastrutture
moderne opera in modalità dual-stack, supportando contemporaneamente IPv4 e
IPv6, ed è competenza attesa per qualsiasi figura professionale che operi in
ambito networking, cloud o DevOps.

Commenti