Reti IP

Prof. ENRICO MELE

Teoria, esempi e strumenti per l'indirizzamento IP
Tutto quello che serve per capire e progettare reti IP
Indirizzo IP

Per instradare correttamente i pacchetti trasmessi attraverso una rete, i router necessitano di informazioni riguardanti la topologia della rete stessa. Deve dunque essere identificato in modo univoco ogni nodo della rete. Ogni host all'interno della rete è identificato da un indirizzo, chiamato indirizzo IP (IP address).

Nel caso in cui un host abbia connessioni multiple alla rete (due o più interfacce), come il router, ogni interfaccia ha un indirizzo IP diverso (i router hanno tanti indirizzi IP quante sono le reti a loro collegate). Un indirizzo IP è costituito da una sequenza di quattro numeri decimali, aventi ciascuno un massimo di tre cifre, ad es.: 193.183.44.30.

Ciascuno di questi numeri può variare tra 0 e 255. Per codificare questo gruppo di 4 cifre decimali, ci vogliono 4 byte (4 ottetti; in totale 32 bit). Questa convenzione è nota come standard IPv4.

La struttura dell'indirizzo IP:

  • indirizzo di rete = network number / network prefix: identifica la rete a cui un computer appartiene;
  • indirizzo di host = host number: identifica il computer all'interno della rete.

Per usi specifici sono riservati tre indirizzi IP:

  • 0.0.0.0 identifica la rete di default (default network);
  • 127.0.0.1 indirizzo di loopback (localhost), usato per inviare messaggi a se stessi per test o diagnosi;
  • 255.255.255.255 indirizzo di broadcast, usato per inviare messaggi a tutti i computer della rete.
Classi IP

La classe di indirizzo può essere identificata a seconda dei bit iniziali dell'ottetto che definisce la parte di rete:

Classe A

Utilizzata per reti di grandi dimensioni. Bit iniziale: 0. Rete: 7 bit (circa 128 network), host locali: 24 bit (circa 16 milioni di host). Indirizzi: da 1.0.0.0 a 126.255.255.255.

Classe B

Per reti di medie dimensioni. Bit iniziali: 10. Rete: 14 bit, host: 16 bit. Indirizzi: da 128.0.0.0 a 191.255.255.255.

Classe C

Per reti di piccole/medie dimensioni. Bit iniziali: 110. Rete: 21 bit, host: 8 bit. Indirizzi: da 192.0.0.0 a 223.255.255.255.

Classe D

Indirizzi multicast (bit iniziali 1110). Non sono assegnabili come indirizzi host normali.

Classe E

Riservata per scopi sperimentali (bit iniziali 11110).

Indirizzi pubblici e privati

Per reti locali esistono blocchi di indirizzi privati non assegnabili pubblicamente:

  • 10.0.0.0 - 10.255.255.255
  • 172.16.0.0 - 172.31.255.255
  • 192.168.0.0 - 192.168.255.255

Gli indirizzi privati possono accedere a Internet tramite NAT (Network Address Translation) attraverso un router o server che possiede un indirizzo pubblico.

Sottoreti (Subnet)

È possibile modificare la struttura dell'indirizzamento usando le sottoreti (subnet). La parte host dell'indirizzo può essere suddivisa in due campi: sottorete e host. L'operazione di suddivisione si chiama segmentazione e migliora l'organizzazione della rete.

La subnet mask (maschera di sottorete) è un indirizzo di 32 bit che specifica quali bit dell'indirizzo IP devono essere considerati per determinare la rete. Un bit 1 indica che il bit corrispondente è da controllare, 0 che non è da controllare.

Esempio di maschera: 255.255.255.0 equivale a:

11111111.11111111.11111111.00000000

La notazione CIDR compatta questa informazione: ad esempio /24 indica che i primi 24 bit sono il prefisso di rete.

Esempio pratico

Indirizzo IP: 160.80.27.3
Subnet mask: 255.255.255.0
Applicando un AND logico tra IP e maschera si ottiene la rete: 160.80.27.0.

Se si prende un indirizzo di classe B come 160.80.27.0 e si decide di usare 8 bit per le subnet e 8 bit per gli host, si ottengono 256 subnet ognuna con 254 host utilizzabili (28 - 2). L'indirizzo più basso e più alto della sottorete sono riservati (network e broadcast).

Maschera, prefisso e notazione

La subnet mask può essere espressa anche in binario, e la sua lunghezza in bit (numero di 1 consecutivi) è il prefisso indicato con la notazione /n. Ad esempio:

255.255.255.192 = /26 (i primi 26 bit sono di rete)

Gli indirizzi di classe A, B, C senza subnetting corrispondono convenzionalmente a /8, /16, /24 rispettivamente.

Esempio di segmentazione di una rete di classe C

Consideriamo l'indirizzo di classe C: 210.25.10.0 (binario: 11010010.00011001.00001010.00000000). Partendo dalla maschera base 255.255.255.0, possiamo usare ulteriori bit per creare sottoreti:

  • 255.255.255.0 =  254 host disponibili
  • 255.255.255.128 =  126 host disponibili
  • 255.255.255.192 =  62 host disponibili
  • 255.255.255.224 =  30 host disponibili
  • 255.255.255.240 =  14 host disponibili
  • 255.255.255.248 =  6 host disponibili
  • 255.255.255.252 =  2 host disponibili

Se usiamo 5 bit per la sottorete e 3 bit per gli host, otteniamo la maschera 255.255.255.248 (notazione /29) e le sottoreti avranno 6 host utilizzabili ciascuna (23 - 2).

Esempio: terza sottorete con indirizzo 210.25.10.16. Gli host utilizzabili vanno da 210.25.10.17 a 210.25.10.22.

Strumenti

Per effettuare una rapida pianificazione di una rete IP, sono disponibili diversi programmi e tool online che aiutano a calcolare subnet, maschere, indirizzi validi e a visualizzare la suddivisione (Questo ad esempio). Oppure scarica il tool preparato da me a questo link. Puoi integrare esempi o link a tali strumenti per esercitazioni pratiche.