Sei sulla pagina 1di 11

CIDR - Classless Inter-Domain Routing

Il Classless Inter-Domain Rou2ng (CIDR) è un metodo per l'assegnazione e la categorizzazione degli


Indirizzi IP in Internet.
Classful Networking
Il Classful Networking è il sistema che u2lizzava internet in precedenza per l'assegnazione degli
Indirizzi IP. In questo sistema, gli Indirizzi IP erano divisi in tre classi principali - Classe A, B e C -
ognuna delle quali rappresentava una dimensione fissa di spazio di Indirizzi.
Ad esempio:
§ una rete di Classe A aveva 16 milioni di Indirizzi IP
§ una rete di Classe B aveva 65.536 Indirizzi IP
§ una rete di Classe C aveva 256 Indirizzi IP
TuPavia, questo sistema aveva molte inefficienze a causa della sua struPura che divideva la rete in
grandi blocchi di Indirizzi IP che potevano essere eccessivi o insufficien2 per le necessità di una rete.
Ad esempio, se un'organizzazione avesse avuto bisogno di più di 256 Indirizzi ma meno di 65.536,
avrebbe dovuto oPenere una rete di Classe B con mol2 Indirizzi inu2lizza2.
CIDR è stato introdoPo per risolvere le inefficienze del Classful Networking. Al posto delle classi fisse,
CIDR è basato sul Variable Length Subnet Masking (VLSM), con il quale i prefissi di rete hanno
lunghezze variabili, in contrasto alle lunghezze fisse del precedente metodo classful. Queto permePe
di specificare quante delle par2 più significa2ve dell'indirizzo IP appartengono alla "rete", e quante
par2 appartengono agli "host" all'interno di quella rete.
La notazione CIDR (Classless Inter-Domain Rou2ng) è un modo per scrivere gli Indirizzi IP che include
informazioni sia sull'indirizzo dell'host che sulla maschera di rete. Un indirizzo IP in notazione CIDR è
scriPo come segue:
192.168.1.0/24
l'indirizzo IP in notazione CIDR è composto da:
§ Prefisso di Rete (NetID)
§ Iden2fica2vo dell'Host (HostID)
§ Prefisso
il Prefisso CIDR indica quan2 dei bit più significa2vi dell'indirizzo IP sono riserva2 al Prefisso di Rete
(NetID) e quindi qual è la dimensione della Subnet Mask. Il NetID è la parte dell'indirizzo IP che indica
la rete specifica a cui l'host appar2ene. Il resto dei bit dell'indirizzo IP è usato per l'Iden2fica2vo
dell'Host (HostID). L'HostID è la parte dell'indirizzo IP che iden2fica un host all'interno di una rete.
In parole povere, un indirizzo IP è come l'indirizzo di una casa: ha una parte che iden2fica la ciPà
(NetID) e una parte che iden2fica la casa specifica in quella ciPà (HostID). La notazione CIDR ci dice
quanto è grande la ciPà (il prefisso) e quanto è grande il numero di case che possono essere presen2
in quella ciPà (il resto dell'indirizzo IP dopo il prefisso).
Esempio:
Consideriamo l'indirizzo IP in notazione CIDR: 192.168.1.0/24
§ Il "/24" indica che i primi 24 𝑏𝑖𝑡 dell'indirizzo IP sono usa2 per il NetID
§ Un indirizzo IPv4 è lungo 32 𝑏𝑖𝑡, ciò significa che i restan2 32 − 24 = 8 𝑏𝑖𝑡 sono usa2 per l'HostID
Con 8 𝑏𝑖𝑡 è possibile rappresentare 2! = 256 valori:
§ 0000 0000 ∶ 0
§ 1111 1111 ∶ 255
Da 0 a 255, quindi nella subnet 192.168.1 possono esistere 256 host univoci tenendo conto che:
§ l'indirizzo con HostID 0000 0000 è riservato per l'indirizzo di rete: 192.168.1.0
§ l'indirizzo con HostID 1111 1111 è riservato per l'indirizzo di broadcast: 192.168.1.255

1
CIDR - Classless Inter-Domain Routing
Subnet Mask
La Maschera di SoPorete (Subnet Mask) è un componente chiave del sistema di indirizzamento IP e
CIDR. È un numero di 32 𝑏𝑖𝑡 che indica quali bit dell'indirizzo IP appartengono al Prefisso di Rete (
NetID) e quali appartengono all'Iden2fica2vo dell'Host (HostID).
La Subnet Mask è composta da 𝑏𝑖𝑡 imposta2 su 1 per il Prefisso di Rete e 𝑏𝑖𝑡 imposta2 su 0 per
l'Iden2fica2vo dell'Host.
Iden2ficare il range degli Indirizzi disponibili per gli host è quasi immediato per rete di Classe A, B e
C, dove il Prefisso di Rete è allineato rispe_vamente al primo, secondo e al terzo byte:
Class Subnet Mask CIDR
A 255.000.000.000 11111111.00000000.00000000.00000000 /8
B 255.255.000.000 11111111.11111111.00000000.00000000 /16
C 255.255.255.000 11111111.11111111.11111111.00000000 /24
Ricapitolando dato un indirizzo IP con Prefisso di Rete di 24 𝑏𝑖𝑡, questo significa che avremo un
indirizzo IP di Classe C, la cui Subnet Mask sarà:
32 𝑏𝑖𝑡 24 𝑏𝑖𝑡 8 𝑏𝑖𝑡
1111 1111 1111 1111 1111 1111 0000 0000 BIN
Subnet Mask
255 255 255 0 DEC

Nota:
In generale, l’approccio consigliato è di non fidarsi della classe predefinita di un indirizzo IP e di
indicare sempre esplicitamente la Subnet Mask. Quindi di uClizzare la notazione esplicita al posto
della notazione compressa (notazione CIDR).

Per capire il funzionamento della Subnet Mask usimao un esempio, immaginiamo di avere un
indirizzo IP 192.168.1.5 e una maschera di soPorete 255.255.255.0 in binario, ques2
numeri sono rappresenta2 come:
192.168.001.005 -> 11000000.10101000.00000001.00000101
255.255.255.000 -> 11111111.11111111.11111111.00000000
Quando applichiamo la Subnet Mask all'Indirizzo IP tramite un'operazione di AND, oPeniamo
l'Indirizzo di Rete:
11111111.11111111.11111111.00000000 Subnet Mask
AND
11000000.10101000.00000001.00000101 Indirizzo IP
-----------------------------------------------------------
11000000.10101000.00000001.00000000 Indirizzo di Rete (192.168.1.0)
La maschera di soPorete quindi ci permePe di separare l'indirizzo IP in una parte di Rete e una di
Host, ciò è fondamentale per il Rou2ng in quanto permePe di determinare se un indirizzo IP
appar2ene alla stessa rete o a una rete diversa.

2
CIDR - Classless Inter-Domain Routing
Subnet Mask Non Allineate
Capita spesso di configurare Subnet in notazioni CIDR con Prefisso di Rete ( NetID) non allineato al
byte. Consideriamo l'indirizzo IP
155.185.48.147/26
1. Qual è la Subnet Mask della rete a cui appar:ene?
2. Qual è il Network Address a cui appar:ene questo indirizzo?
3. Qual è l'indirizzo di (Directed) Broadcast della rete?
4. Quali sono il primo e l'ul:mo indirizzo disponibili in questa rete?

Subnet Mask
Dalla notazione CIDR abbiamo che la Subnet Mask in ques2one è lunga 26 𝑏𝑖𝑡, considerando un
Indirizzo IP (IPv4) che ha lunghezza 32 𝑏𝑖𝑡, se_amo ad 1 i primi 26 𝑏𝑖𝑡 dell'indirizzo IP partendo
dal MSB (Most Significant Bit) e riempiendo con gli 0 a destra:
32 𝑏𝑖𝑡 26 𝑏𝑖𝑡 6 𝑏𝑖𝑡
1111 1111 1111 1111 1111 1111 1100 0000 BIN
Subnet Mask
255 255 255 192 DEC

Indirizzo di Rete
Indirizzo IP: 155.185.048.147 -> 10011011.10111001.00110000.10010011
Subnet Mask: 255.255.255.192 -> 11111111.11111111.11111111.11000000
Applichiamo la Subnet Mask all'Indirizzo IP tramite un'operazione di AND per oPenere l'Indirizzo di Rete:
11111111.11111111.11111111.11000000 Subnet Mask
AND
10011011.10111001.00110000.10010011 Indirizzo IP
--------------------------------------------------------------
10011011.10111001.00110000.10000000 Indirizzo di Rete (155.185.48.128)

Indirizzo di Broadcast
Per oPenere l'indirizzo di Broadcast della rete applichiamo il complemento ad 1 della Subnet Mask
all'indirizzo IP tramite un'operazione di OR:
00000000.00000000.00000000.00111111 Subnet Mask
OR
10011011.10111001.00110000.10000000 Indirizzo di Rete
------------------------------------------------------------------
10011011.10111001.00110000.10111111 Indirizzo di Broadcast (155.185.48.191)

HostMin e HostMax della Rete


Indirizzo di Rete: 155.185.48.128
Indirizzo di Broadcast: 155.185.48.191
Il primo Indirizzo IP disponibile per l'Host (HostMin) è dato dall'Indirizzo di Rete+𝟏:
HostMin = 155.185.48.128+1 = 155.185.48.129
L'ul2mo Indirizzo IP disponibile per l'Host (HostMax) è dato dall'Indirizzo di Broadcast−𝟏:
HostMax = 155.185.48.128-1 = 155.185.48.129

3
CIDR - Classless Inter-Domain Routing
Dimensionamento degli Indirizzi
Tal volta per scopi organizza2vi o funzionali di una rete, potrebbe essere richiesto di dimensionare
opportunamente diverse Subnet all'interno di un range di Indirizzi a nostra disposizione.
Numero degli Host
In base alla scelta della Subnet Mask, la Subnet supporta un diverso numero di host,
rappresentando con 𝑛 il prefisso CIDR della Subnet Mask, con la seguente formula è possibile
calcolare il numero massimo di host configurabili all'interno di una Subnet:
( )
𝑀𝑎𝑥𝑖𝑚𝑢𝑚 N° H𝑜𝑠𝑡𝑠 = 2 32−𝑛 − 2
Dove −2 rappresenta l'Indirizzo di Rete e di Broadcast che vanno esclusi dal totale.
Numero di Subnet
Se si ha un range di Indirizzi IP fisso, ad esempio, un intero indirizzo di classe A, B o C, la
dimensione delle Subnet influenzerà il numero di Subnet che si potranno creare. Subnet più grandi
permePono di avere meno subnet totali, perché ciascuna subnet occupa una porzione maggiore
dell'indirizzo IP di rete.
Allo stesso modo, se si conosce il numero di Indirizzi IP a disposizione, il numero di Subnet
necessarie (per esempio, una Subnet per ogni unità opera2va dell'azienda), e i requisi2 in termini
di numero di host per Subnet, si possono u2lizzare queste informazioni per dimensionare le
Subnet e determinare la maschera di rete appropriata.
Ad esempio, se si ha un indirizzo di classe C (che offre 256 Indirizzi IP) e si ha bisogno di quaPro
Subnet, potremmo scegliere una Subnet Mask che ci permePa di creare quaPro Subnet di uguale
dimensione. In questo caso, ciascuna Subnet avrebbe 256/4 = 64 Indirizzi IP.
Si ricorda che per ogni 2 due Indirizzi saranno sempre riserva2, uno per l'indirizzo della rete stessa
e uno per l'indirizzo di broadcast della rete.

Tool Calcolo Indirizzi IP


Calcolare manualmente i dePagli di una rete può essere un processo laborioso. Fortunatamente,
Linux offre strumen2 u2li che semplificano notevolmente questo compito. Uno di ques2 strumen2
è ipcalc, un programma di facile u2lizzo che automa2zza i calcoli di rete.
Il comando ipcalc è un semplice programma da riga di comando che calcola vari parametri di
rete, da2 un indirizzo IP e una Subnet Mask. È un tool u2le per la configurazione di re2 e per
risolvere problemi lega2 alla rete. Di seguito alcuni dei parametri che ipcalc può calcolare:
§ Indirizzo di Rete
§ Indirizzo di Broadcast
§ Primo e Ul2mo IP u2le
§ Numero di Host validi

Esempio:
$ ipcalc 192.168.1.0 255.255.255.0
Address: 192.168.1.0 11000000.10101000.00000001.00000000
Netmask: 255.255.255.0 = 24 11111111.11111111.11111111.00000000
Wildcard: 0.0.0.255 00000000.00000000.00000000.11111111
=>
Network: 192.168.1.0/24 11000000.10101000.00000001.00000000
HostMin: 192.168.1.1 11000000.10101000.00000001.00000001
HostMax: 192.168.1.254 11000000.10101000.00000001.11111110
Broadcast: 192.168.1.255 11000000.10101000.00000001.11111111
Hosts/Net: 254 Class C, Private Internet

4
CIDR - Classless Inter-Domain Routing
Calcolo Parametri Subnet #1
Calcolare tu_ i parametri della Subnet dell'Indirizzo IP: 192.168.5.157/20
Address: 192.168.5.157 -> 11000000.10101000.00000101.10011101
Netmask: 20 -> 11111111.11111111.11110000.00000000 -> 255.255.240.0

Network:
11111111.11111111.11110000.00000000 Netmask
AND
11000000.10101000.00000101.10011101 Address
-----------------------------------
11000000.10101000.00000000.00000000 -> 192.168.0.0

Broadcast:
00000000.00000000.00001111.11111111 ~Netmask
OR
11000000.10101000.00000000.00000000 Network
-----------------------------------
11000000.10101000.00001111.11111111 -> 192.168.15.255

HostMin: 192.168.0.0+1 -> 192.168.0.1


HostMax: 192.168.15.255-1 -> 192.168.15.254

R E C A P:
Address: 192.168.5.157
Netmask: 255.255.240.0 = 20
Network: 192.168.0.0/20
HostMin: 192.168.0.1
HostMax: 192.168.15.254
Broadcast:192.168.15.255
nHosts: 2('()(*) − 2 = 4094

5
CIDR - Classless Inter-Domain Routing
Calcolo Parametri Subnet #2
Calcolare tu_ i parametri della Subnet dell'Indirizzo IP: 192.168.5.157/28
Address: 192.168.5.157 -> 11000000.10101000.00000101.10011101
Netmask: 28 -> 11111111.11111111.11111111.11110000 -> 255.255.255.240

Network:
11111111.11111111.11111111.11110000 Netmask
AND
11000000.10101000.00000101.10011101 Address
-----------------------------------
11000000.10101000.00000101.10010000 -> 192.168.5.144

Boradcast:
00000000.00000000.00000000.00001111 ~Netmask
OR
11000000.10101000.00000101.10010000 Network
-----------------------------------
11000000.10101000.00000101.10011111 -> 192.168.5.159

HostMin: 192.168.5.144+1 -> 192.168.5.145


HostMax: 192.168.5.159-1 -> 192.168.5.158

R E C A P:
Address: 192.168.5.157
Netmask: 255.255.255.240 = 28
Network: 192.168.5.144/28
HostMin: 192.168.5.145
HostMax: 192.168.5.158
Broadcast:192.168.5.159
nHosts: 2('()(!) − 2 = 14

6
CIDR - Classless Inter-Domain Routing
Calcolo Parametri Subnet #3
Calcolare tu_ i parametri della Subnet dell'Indirizzo IP: 155.185.48.200/26
Address: 155.185.48.200 -> 10011011.10111001.00110000.11001000
Netmask: 26 -> 11111111.11111111.11111111.11000000 -> 255.255.255.192

Network:
11111111.11111111.11111111.11000000 Netmask
AND
10011011.10111001.00110000.11001000 Address
-----------------------------------
10011011.10111001.00110000.11000000 -> 155.185.48.192

Broadcast:
00000000.00000000.00000000.00111111 ~Netmask
OR
10011011.10111001.00110000.11000000 Network
-----------------------------------
10011011.10111001.00110000.11111111 -> 155.185.48.255

HostMin: 155.185.48.192+1 -> 155.185.48.193


HostMax: 155.185.48.255-1 -> 155.185.48.254

R E C A P:
Address: 155.185.48.200
Netmask: 255.255.255.192 = 26
Network: 155.185.48.192/26
HostMin: 155.185.48.193
HostMax: 155.185.48.254
Broadcast:155.185.48.255
nHosts: 2('()(,) − 2 = 62

7
CIDR - Classless Inter-Domain Routing
Calcolo Parametri Subnet #4
Calcolare tu_ i parametri della Subnet dell'Indirizzo IP: 10.51.45.3/14
Address: 10.51.45.3 -> 00001010.00110011.00101101.00000011
Netmask: 14 -> 11111111.11111100.00000000.00000000 -> 255.252.0.0

Network:
11111111.11111100.00000000.00000000 Netmask
AND
00001010.00110011.00101101.00000011 Address
-----------------------------------
00001010.00110000.00000000.00000000 -> 10.48.0.0

Boradcast:
00000000.00000011.11111111.11111111 ~Netmask
OR
00001010.00110000.00000000.00000000 Address
-----------------------------------
00001010.00110011.11111111.11111111 -> 10.51.255.255

HostMin: 10.48.0.0+1 -> 10.48.0.1


HostMax: 10.51.255.255-1 -> 10.51.255.254

R E C A P:
Address: 10.51.45.3
Netmask: 255.252.0.0 = 14
Network: 10.48.0.0/14
HostMin: 10.48.0.1
HostMax: 10.51.255.254
Broadcast:10.51.255.255
nHosts: 2('()-.) − 2 = 262.142

8
CIDR - Classless Inter-Domain Routing
Calcolo Parametri Subnet #5
Da2 NetID = 192.168.40.0 e Netmask = 255.255.252.0, calcolare il CIDR, HostMin,
HostMax e il numero di Host.

Netmask: 255.255.252.0 -> 11111111.11111111.11111100.00000000 -> 22


Network: 192.168.40.0 -> 11000000.10101000.00101000.00000000

Broadcast:
00000000.00000000.00000011.11111111 ~Netmask
OR
11000000.10101000.00101000.00000000 Network
-----------------------------------
11000000.10101000.00101011.11111111 -> 192.168.43.255

HostMin: 192.168.40.0+1 -> 192.168.40.1


HostMax: 192.168.43.255-1 -> 192.168.43.254

R E C A P:
Netmask: 255.252.252.0 = 22
Network: 192.168.40.0/22
HostMin: 192.168.40.1
HostMax: 192.168.43.254
Broadcast:192.168.43.255
nHosts: 2('()(() − 2 = 1022

9
CIDR - Classless Inter-Domain Routing
Creare 4 Subnet
Organizzare in quaPro Subnet la rete 155.185.48.0/24, sapendo che una delle re2 includerà
un massimo 120 ℎ𝑜𝑠𝑡, mentre le altre sono di dimensioni inferiori. Si richiede di sfruPare
completamente il range di Indirizzi, e non sovradimensionare inu2lmente le Subnet.
- - - -
(suggerimento: ! + ! + . + ( = 1)
Soluzione:
Per calcolare il numero di Subnet necessario, è possibile u2lizzare la formula:
2/ >= 𝑛𝑢𝑚𝑒𝑟𝑜 𝑑𝑖 ℎ𝑜𝑠𝑡 + 2
Dove:
§ 𝑛 è il numero di bit disponibili per gli Host
§ +2 2ene conto dell'Indirizzo di Rete e dell'Indirizzo di Broadcast
Inoltre, teniamo conto che l'indirizzo di Broadcast è l'ul2mo indirizzo appartenente ad una Subnet,
quindi nel caso di due Subnet consecu2ve, A e B, il primo indirizzo della Subnet B sarà quello
immediatamente successivo all'indirizzo di Broadcast della Subnet A.

1° Subnet
Per la prima Subnet, abbiamo bisogno di supportare un massimo di 120 Host. Il numero di bit
necessario per gli host è 7 (20 = 128, che è il primo numero maggiore di 120). Quindi, il numero
di bit per la subnet è 32 − 7 = 25. Questa rete avrà:
Netmask: 25 -> 11111111.11111111.11111111.10000000 -> 255.255.255.128
Network: 155.185.48.0 -> 10011011.10111001.00110000.00000000
Broadcast:
00000000.00000000.00000000.01111111 ~Netmask
OR
10011011.10111001.00110000.00000000 Network
-----------------------------------
10011011.10111001.00110000.01111111 -> 155.185.48.127

2° Subnet
Per la seconda Subnet, abbiamo bisogno di supportare un numero inferiore di host. Decidiamo di
usare 6 𝑏𝑖𝑡 per gli host (2, = 64, che è sufficiente per i nostri scopi). Quindi, il numero di bit per la
subnet è 32 − 6 = 26. Questa rete avrà:
Netmask: 26 -> 11111111.11111111.11111111.11000000 -> 255.255.255.192
Network: 155.185.48.128 -> 10011011.10111001.00110000.10000000
Broadcast:
00000000.00000000.00000000.00111111 ~Netmask
OR
10011011.10111001.00110000.10000000 Network
-----------------------------------
10011011.10111001.00110000.10111111 -> 155.185.48.191

Con2nuazione →

10
CIDR - Classless Inter-Domain Routing
Creare 4 Subnet
3° & 4° Subnet
Per le ul2me due Subnet, decidiamo di usare 5 𝑏𝑖𝑡 per gli host (21 = 32, che è ancora sufficiente).
Quindi, il numero di bit per la subnet è 32 − 5 = 27.
Netmask: 27 -> 11111111.11111111.11111111.11100000 -> 255.255.255.224
§ Subnet-3
Network: 155.185.48.192 -> 10011011.10111001.00110000.11000000
Broadcast:
00000000.00000000.00000000.00011111 ~Netmask
OR
10011011.10111001.00110000.11000000 Network
-----------------------------------
10011011.10111001.00110000.11011111 -> 155.185.48.223
§ Subnet-4
Network: 155.185.48.224 -> 10011011.10111001.00110000.11100000
Broadcast:
00000000.00000000.00000000.00011111 ~Netmask
OR
10011011.10111001.00110000.11100000 Network
-----------------------------------
10011011.10111001.00110000.11111111 -> 155.185.48.255

RECAP
§ Subnet-1
Netmask: 255.255.255.128 = 25
Network: 155.185.48.0/25

§ Subnet-2
Netmask: 255.255.255.192 = 26
Network: 155.185.48.128/26

§ Subnet-3
Netmask: 255.255.255.224 = 27
Network: 155.185.48.192/27

§ Subnet-4
Netmask: 255.255.255.224 = 27
Network: 155.185.48.224/27

11

Potrebbero piacerti anche