CIDR: che cos’è il Classless Inter-Domain Routing?

Internet è diventato talmente grande che effettivamente oramai si è venuto a creare un problema di spazio: il sistema degli indirizzi IP così come lo utilizziamo noi (IPv4) è già al collasso da parecchio tempo. Tutti i possibili indirizzi (esattamente 4.294,967296) sono già stati assegnati. Per questo motivo da decenni si sta lavorando a una soluzione e CIDR arriva in soccorso allargando il limite di base del numero degli indirizzi.

In realtà la soluzione temporanea che è stata pensata per far fronte a questo problema è già attiva da 20 anni e poiché l’introduzione a tappeto dell’IPv6 si fa ancora attendere, il CIDR continuerà ad essere importante anche negli anni a venire. Un motivo più che sufficiente per informarsi su che cos’è realmente questo Classless Inter-Domain Routing.

Registra il tuo dominio
  • Certificato SSL Wildcard incluso
  • Registrazione di dominio sicura
  • Indirizzo e-mail professionale da 2 GB

A che scopo è stato sviluppato CIDR?

Già nel 1993 era chiaro che Internet stesse crescendo più velocemente di quanto si fosse pensato in un primo momento. Era dunque necessario trovare una soluzione: abbandonare le classi di rete. Lo space address (spazio di indirizzo) era originariamente suddiviso in cinque classi. Se un’azienda si voleva connettere a Internet doveva scegliere un indirizzo IP da una delle classi a disposizione. Per ogni classe venivano utilizzati molti ottetti (termine con cui si indicano i blocchi di numeri degli indirizzi IP) diversi per l’identificazione delle reti. Gli ottetti rimanenti definivano i numeri degli host presenti in una rete.

Classe A Classe B Classe C Classe D Classe E
0.0.0.0 - 127.255.255.255 128.0.0.0 - 191.255.255.255 192.0.0.0 - 223.255.255.255 224.0.0.0 - 239.255.255.255 240.0.0.0 - 255.255.255.255

Dunque in una rete di classe A era possibile dare spazio a oltre 16 milioni di host e, invece, a disposizione di questa rete ve ne erano solamente 128 (da 0 a 127). Nella classe B al contrario erano un po’ più di 16.000 le reti possibili, con ogni rete che poteva contenere un massimo di 65.534 host. Le reti nella classe C avevano solamente un ottetto rimasto e comprendevano quindi solamente 254 host (da 1 a 254, poiché 0 e 255 sono riservati).

Ne è risultato che nella maggior parte dei casi questa divisione non è praticabile. Per molte aziende una rete con solo 254 partecipanti è decisamente troppo piccola, ma di fatto sono poche le reti che hanno bisogno di un numero enorme di host. Alla fine questo ha portato a un grosso spreco poiché le aziende si sono servite necessariamente di tutti gli indirizzi non utilizzati. Per andare incontro alle esigenze degli utenti Internet nel miglior modo possibile si è scelto di reimpostare in maniera più flessibile le dimensioni delle reti, di ridurre le tabelle di routing nei router di Internet e di rallentare l’acquisizione degli indirizzi IP disponibili.

Le tabelle di routing si trovano in un router e aiutano a scoprire la via per l’indirizzo target corretto. Dalla partenza all’arrivo i pacchetti dati attraversano molti nodi: per far sì che il router riconosca il percorso ottimale attraverso la rete, viene riempita un’apposita tabella con le informazioni. La dimensione del file cresce esponenzialmente per ogni target di cui viene inserito il percorso. Ma poiché gli indirizzi CIDR vengono costruiti a blocchi, non è più necessario memorizzare così tante informazioni nella tabella di routing, rendendo quindi possibile mettere assieme più indirizzi in una sola route.

Come funziona il CIDR?

Il CIDR si basa sull’idea delle maschere di sottorete. Una maschera viene applicata a un indirizzo IP, creando così una sottorete: si tratta di una rete subordinata a Internet. La maschera di sottorete segnala al router quale parte dell’indirizzo IP è subordinato all’host (i singoli partecipanti della rete) e quale definisce la rete.

Invece di aggiungere una maschera di sottorete, si può integrare una specificazione attraverso il Classless Inter-Domain Routing, anche in forma di suffissi diretti negli indirizzi IP. Tale procedimento non abbrevia solamente la rappresentazione: oltre alle sottoreti, CIDR rende infatti possibile anche le superreti. Ciò significa che non solo si può suddividere una rete in parti più piccole e precise, bensì anche raggruppare più reti assieme.

Il supernetting è importante ad esempio se un’azienda possiede più sedi, ma vuole che tutti i computer appartengano alla stessa rete. Attraverso il supernetting è possibile aggruppare più reti a una sola route, motivo per il quale questa tecnologia prende anche il nome di route aggregation. Ciò significa che i pacchetti dati vengono inviati per un solo scopo, indipendentemente da dove si trovi l’host.

Fatto

Una componente importante di CIDR è VLSM: la Viable Length Subnet Mask (maschera di sottorete di lunghezza variabile) che permette soprattutto la realizzazione di sottoreti con lunghezza variabile e non solo negli ordini di grandezza delle classi di rete.

La notazione CIDR

In passato era possibile stabilire a quale classe appartenesse un indirizzo IP semplicemente leggendolo. Ad esempio le reti delle classe C si trovavano tra gli spazi di indirizzo 192.0.0.0 e 223.255.255.255. Una maschera di sottorete – ad esempio 255.255.255.0 – si applica come un timbro sull’indirizzo IP e determina gli host. Nel formato CIDR questa informazione fa parte direttamente dell’indirizzo IP, reso sotto forma di suffisso.

Il principio di base rimane però lo stesso: il suffisso informa quali posizioni (bits) dell’indirizzo IP rappresentano il network ID e dunque automaticamente quali bit costituiscono la sezione relativa dell’host ID. Per capire questo principio più nel dettaglio bisogna prendere in considerazione le maschere di sottorete nella sua forma binaria.

255.255.255.0 ≙ 11111111 11111111 11111111 00000000

Nella notazione CIDR questa maschera di sottorete (di classe C) sarebbe /24, poiché i primi 24 bit indicano la parte della rete dell’indirizzo IP. Inoltre gli ottetti non devono necessariamente essere composti da zero e uno ma, grazie a VLSM, creare anche sottoreti flessibili. Ad esempio la maschera /25 corrisponde al valore binario 11111111 11111111 11111111 10000000 e questo a sua volta a 255.255.255.128 (notazione decimale puntata).

N.B.

Anche con CIDR e VLSM i bit nelle maschere di sottorete devono essere sempre riempiti da sinistra verso destra e non può essere utilizzata una successione casuale di 1 e 0.

Blocchi CIDR: spiegazione e tabella

Un indirizzo IPv4 consiste di 32 bit. Ricalcolando la notazione decimale nell’equivalente binario, 201.105.7.34 corrisponderebbe a 11001001 01101001 00000111 00100010. La scrittura binaria di un indirizzo IP, ovvero il metodo di calcolo con il quale operano i computer, si compone di 32 cifre, che possono essere 1 o 0: quindi 32 bit. Perciò anche i possibili suffissi nella notazione CIDR sono compresi tra 0 e 32.

Nella creazione di sottoreti si tratta di creare comunità. 201.105.7.34/24 si trova nella stessa rete di 201.105.7.1/24. Il suffisso segnala che solamente i primi 24 bit vengono calcolati nella parte di rete. I bit rimanenti sono riservati perciò alla sezione dell’host. Il numero dei bit che si vede nel formato CIDR dopo la barra obliqua indica il numero delle posizioni (da sinistra verso destra) che appartengono alla parte di rete dell’indirizzo IP. La seguente tabella mostra quali maschere di sottorete si nascondono dietro la notazione CIDR e quanti indirizzi host rende possibile ciascuna di esse.

CIDR Maschera di sottorete (decimale) Maschera di sottorete (binario) Indirizzi disponibili
/0 0.0.0.0 00000000.00000000.00000000.00000000 4.294.967.296 232
/1 128.0.0.0 10000000.00000000.00000000.00000000 2.147.483.648 231
/2 192.0.0.0 11000000.00000000.00000000.00000000 1.073.741.824 230
/3 224.0.0.0 11100000.00000000.00000000.00000000 536.870.912 229
/4 240.0.0.0 11110000.00000000.00000000.00000000 268.435.456 228
/5 248.0.0.0 11111000.00000000.00000000.00000000 134.217.728 227
/6 252.0.0.0 11111100.00000000.00000000.00000000 67.108.864 226
/7 254.0.0.0 11111110.00000000.00000000.00000000 33.554.432 225
/8 255.0.0.0 11111111.00000000.00000000.00000000 16.777.216 224
/9 255.128.0.0 11111111.10000000.00000000.00000000 8.388.608 223
/10 255.192.0.0 11111111.11000000.00000000.00000000 4.194.304 222
/11 255.224.0.0 11111111.11100000.00000000.00000000 2.097.152 221
/12 255.240.0.0 11111111.11110000.00000000.00000000 1.048.576 220
/13 255.248.0.0 11111111.11111000.00000000.00000000 524.288 219
/14 255.252.0.0 11111111.11111100.00000000.00000000 262.144 218
/15 255.254.0.0 11111111.11111110.00000000.00000000 131.072 217
/16 255.255.0.0 11111111.11111111.00000000.00000000 65.536 216
/17 255.255.128.0 11111111.11111111.10000000.00000000 32.768 215
/18 255.255.192.0 11111111.11111111.11000000.00000000 16.384 214
/19 255.255.224.0 11111111.11111111.11100000.00000000 8.192 213
/20 255.255.240.0 11111111.11111111.11110000.00000000 4.096 212
/21 255.255.248.0 11111111.11111111.11111000.00000000 2.048 211
/22 255.255.252.0 11111111.11111111.11111100.00000000 1.024 210
/23 255.255.254.0 11111111.11111111.11111110.00000000 512 29
/24 255.255.255.0 11111111.11111111.11111111.00000000 256 28
/25 255.255.255.128 11111111.11111111.11111111.10000000 128 27
/26 255.255.255.192 11111111.11111111.11111111.11000000 64 26
/27 255.255.255.224 11111111.11111111.11111111.11100000 32 25
/28 255.255.255.240 11111111.11111111.11111111.11110000 16 24
/29 255.255.255.248 11111111.11111111.11111111.11111000 8 23
/30 255.255.255.252 11111111.11111111.11111111.11111100 4 22
/31 255.255.255.254 11111111.11111111.11111111.11111110 2 21
/32 255.255.255.255 11111111.11111111.11111111.11111111 1 20

Ma non tutte le reti prevedono degli host. Le reti con /31 hanno solamente 2 possibili indirizzi IP per gli host, i quali però devono essere utilizzati per gli indirizzi di rete e per quelli di broadcast. In ogni rete ci sono sempre due indirizzi riservati: l’indirizzo di rete (solo zeri nella parte dedicata all’host), che serve per l’identificazione della rete, e l’indirizzo di broadcast (solo una serie di uno nella parte dedicata all’host), che serve per la trasmissione a tutti i partecipanti. Perciò di base è necessario sottrarre due indirizzi dal totale rispetto alla tabella CIDR. Addirittura nella rete /32 è disponibile solamente un indirizzo, ammettendo perciò solamente la presenza di uno degli indirizzi, di rete o di broadcast.

La rete /0 contiene l’intero spazio di indirizzo, ossia una grande rete con tutti gli indirizzi IP possibili (meno due) come host, per cui non si può realmente parlare di una sottorete. Anche le reti /1 e /7 non vengono impiegate per le singole sottoreti. Essendo il numero degli host esageratamente grande, queste reti vengono suddivise a loro volta in ulteriori sottoreti.

Il calcolo di CIDR: esempi

Gli esempi permettono di spiegare in maniera più chiara il principio sul quale si basa CIDR. Qui di seguito spieghiamo il suo funzionamento sia nel caso delle sottoreti che delle superreti.

Subnetting

Quando si vuole creare una sottorete (in particolare una sottorete flessibile), non è sufficiente assegnare lo stesso suffisso agli indirizzi IP. È importante capire cosa succede in questo caso con una conversione binaria. Dunque 192.168.200.5/30 e 192.168.200.9/30 non appartengono alla stessa rete. Il motivo lo si può comprendere rappresentando entrambi gli indirizzi e le maschere di sottorete corrispondenti come numeri binari.

Infine è necessaria una congiunzione ∧ (collegamento logico) così da far combaciare i due valori. Questo accade solamente nel caso in cui nella stessa posizione vi sia un 1. Nelle combinazioni 0 ∧ 0 e 0 ∧ 1, il risultato è 0.

Indirizzo IP 192 168 200 5
11000000 10101000 11001000 00000101
/30 11111111 11111111 11111111 11111100
ID di rete 11000000 10101000 11001000 00000100
192 168 200 4
Indirizzo IP 192 168 200 9
11000000 10101000 11001000 0001001
/30 11111111 11111111 11111111 11111100
ID di rete 11000000 10101000 11011100 0001000
192 168 200 8

I due indirizzi non si trovano quindi nella stessa rete. Sarebbe stato invece corretto se il secondo indirizzo fosse stato 192.168.200.6/30.

Per calcolare quale indirizzo IP venga messo a disposizione in una sottorete, è necessario calcolare il campo. Prendiamo come esempio un’azienda che vuole raggruppare 2.000 host in una rete. La tabella CIDR ci svela che abbiamo bisogno di una rete /21. Se volessimo invece convertirlo, avremmo bisogno di un logaritmo: x=log2(2.000). Il risultato (≈10,666) non è un numero naturale, motivo per cui lo si arrotonda, in questo caso per eccesso: 11. Dopodiché è possibile creare una sottorete con 211 host: 2.048 (dove vanno sottratti due indirizzi per il broadcast e per la rete).

Guardando la tabella si nota che le potenze su base 2 crescono dal basso (/32) verso l’alto (/0). Dunque sarebbe anche possibile calcolare 32 - 11 = 21 per ottenere il suffisso di sottorete (/21) necessario.

Nel nostro esempio il numero assegnato dal provider è 210.105.44.170. Utilizzando la maschera appena menzionata, il numero binario corrispondente sarebbe il seguente:

Indirizzo IP 210 105 44 170
11010010 01101001 00101100 10101010
/21 11111111 11111111 11111000 00000000
ID di rete 11010010 01101001 00101000 00000000
210 105 40 0

Il primo indirizzo – l’indirizzo di rete da non utilizzare – è 210.105.40.0/21. Tra questo e l’indirizzo di broadcast avete perciò 2046 indirizzi IP a disposizione. L’indirizzo IP più elevato (broadcast) corrisponde a 210.105.47.255/21. Perché? 2048 (il numero massimo degli indirizzi nella sottorete) diviso per 256 (il numero di possibilità in un ottetto) dà come risultato 8. Sono dunque da riempire gli otto valori da 40 a 47 nel terzo ottetto e tutti i valori da 0 a 255 nel quarto ottetto.

Consiglio

Non perdete tempo con la conversione: su Internet è possibile trovare diversi buoni calcolatori online che vi forniscono la sezione per i vostri indirizzi di host. Tuttavia siete costretti a calcolare autonomamente la dimensione di sottorete necessaria. Ma per questo avete a disposizione le apposite tabelle.

Supernetting

Assumiamo che un’azienda abbia tre sedi e quindi tre reti e router. Avrebbe perciò senso, anche in relazione alla tabella di routing, aggregare queste in una superrete. Le tre reti hanno gli indirizzi 192.168.43.0, 192.168.44.0 e 192.168.45.0 (le possibili maschere di sottorete che si trovano affianco agli indirizzi IP delle reti in questo caso non sono rilevanti). Anche qui convertiamo i numeri in cifre e prendiamo in considerazione solamente le posizioni che tutti e tre gli indirizzi hanno in comune, da sinistra verso destra: alla prima differenza tutte le posizioni seguenti vengono tramutate in uno zero.

IP 1 192 168 43 0
11000000 10101000 00101011 00000000
IP 2 192 168 44 0
11000000 10101000 00101100 00000000
IP 3 192 168 45 0
11000000 10101000 00101101 00000000
Supernet 192 168 40 0
11000000 10101000 00101000 00000000

L’indirizzo di rete della supernet è dunque 192.168.40.0. Per individuare la maschera di sottorete appartenente a questa rete, si contano i bit che hanno portato a un nuovo indirizzo IP. Nel nostro esempio questi sono 21 bit: 192.168.40.0/21.

Hai trovato questo articolo utile?
Per offrirti una migliore esperienza di navigazione online questo sito web usa dei cookie, propri e di terze parti. Continuando a navigare sul sito acconsenti all’utilizzo dei cookie. Scopri di più sull’uso dei cookie e sulla possibilità di modificarne le impostazioni o negare il consenso.
Page top