SCUOLA TELECOMUNICAZIONI
FORZE ARMATE - Chiavari
TCP/IP:
IP Subnetting
VLSM
CIDR
LOGICA BINARIA:
Sistema di numerazione in base 2
Numeri binari :peso dei bit all’interno di un byte
Numeri binari :
Calcolo dei valori corrispondenti in decimale
Valore decimale
Codice binario
Valore bit
00000000
00000001
00000011
00000111
00001111
00011111
00111111
01111111
11111111
0
1
1+2
1+2+4
1+2+4+8
1+2+4+8+16
1+2+4+8+16+32
1+2+4+8+16+32+64
1+2+4+8+16+32+64+128
0
1
3
7
15
31
63
127
255
Conversione da decimale (base 10) a binario (base 2)
Metodo della divisione: Base 10 => Base 2
Rappresentazione ESADECIMALE
Decimale
Binario
Esadecimale
Un numero esadecimale si scrive:
0x1F2A
Prefisso
Ogni numero rappresenta
un’insieme di 4 bit.
Es.: 1 = 0001
F = 1111
2 = 0010
A = 1010
Classi di indirizzi
Classe Indirizzo Indirizzo Numero
Numero
di rete
di host totale di totale di host
reti
per rete
A
B
C
a
(1 byte)
a.b
(2 byte)
a.b.c
(3 byte)
b.c.d
126
(1-126)
16.777.214
c.d
16.384
(128-191)
65.534
2.097.151
(192-223)
254
(3 byte)
(2 byte)
d
(1 byte)
Subnet Mask standard
Classi
Bits Usati per Subnet Mask
Notazione
punto decimale
Class A
11111111
00000000 00000000 00000000
255.0.0.0
Class B
11111111
11111111
00000000 00000000
255.255.0.0
Class C
11111111
11111111
11111111
255.255.255.0
00000000
Esempio di subnet standard per la classe B
IP Address
131.107. 16.201
Subnet Mask
255.255. 0.0
Network ID
131.107. c. d
Host ID
a. b.
16.201
SUBNETTING (RFC 950,1812)
E’ possibile suddividere ulteriormente la parte host degli indirizzi
IP in due parti, subnet e host, dividendo così la rete in sottoreti
 Concetto di : Subnetting
Sappiamo ad esempio che, dei 32 bit di un indirizzo IP di classe B, 16 bit sono dedicati
all’indirizzo di rete, mentre gli altri 16 bit identificano univocamente gli host.
Con il subnetting si possono usare come indirizzi di sottorete una parte
(p.es. 10 bit) dei 16 bit dedicati agli host.
E mantenere quelli rimanenti (6 bit) per l’identificazione degli host all’interno
delle sottoretI.
Con la suddivisione delle reti in sottoreti nasce il concetto di:
 maschera di sottorete ( subnet mask )
SUBNETTING
SUBNETTING: subnet mask
•
•
Una maschera di sottorete è simile a un indirizzo IP a quattro byte.
Serve ad indicare la parte dell’indirizzo IP utilizzata per individuare
rete e sottorete e quale invece per identificare l’host:
– I bit a 1 indicano quali bit dell’indirizzo IP costituiscono l’indirizzo di
rete o sottorete, mentre i bit a 0 individuano i bit destinati agli hosts.
– Si converte poi in decimale byte a byte:
INDIRIZZO di CLASSE B 129.150.28.132 e subnet mask 255.255.255.192
Indirizzo IP
10000001
10010110
00011100
10 000100
NETMASK
11111111
11111111
255
11111111
255
11 000000
192
255
Indirizzo di rete e sottorete (26 bit)
Ind. Host
( 6 bit )
SUBNETTING
In altre parole, la maschera di sottorete (subnet mask) contiene:
- bit a 1 in corrispondenza dei campi rete e sottorete
- bit a 0 in corrispondenza del campo host.
Nota:
• Tutte le sottoreti di una stessa rete IP hanno la stessa subnet-mask, in
quanto è univoco il partizionamento di tale rete in sottoreti.
• Affinché due host possano comunicare è necessario che
appartengano alla stessa sottorete .
SUBNETTING: Prefix-Length
Invece di usare la rappresentazione con la maschera di sottorete si può :
 Considerare il numero di bit a 1 contigui (da sinistra a destra).
 Sciverlo come: /N° di bit al posto della netmask
Questo metodo si chiama: Prefix-Length (lunghezza del prefisso)
Esempio :
INDIRIZZO di CLASSE B 129.150.28.132 e subnet mask 255.255.255.192
Indirizzo
IP
NETMASK
10000001
10010110
00011100
10 000100
11111111
11111111
255
11111111
255
11 000000
192
255
Indirizzo di rete e sottorete (prefisso=26 bit)
129.150.28.132/26
Prefisso
Come si può verificare se due indirizzi IP di Host
fanno parte della stessa sottorete?
Li si mette in AND (bit a bit) con la maschera della propria sottorete:
- se si ottengono due risultati identici, i 2 indirizzi appartengono
alla stessa sottorete.
Logica di Boole : Tabella della verità dell’operatore logico AND
1
1
1
1
0
0
0
1
0
0
0
0
Esempio
Host A
INDIRIZZO di CLASSE B 129.150.28.132
255.255.255.192
Host B
INDIRIZZO di CLASSE B 129.150.28.155
255.255.255.192
Indirizzo IP host A
129.150.28.132
10000001 10010110 00011100 10 000100
NETMASK
255.255.255.192
SUBNET ID
129.150.28.128
11111111
AND
11111111
LOGICO
11111111 11 000000
R I S U LTATO
10000001 10010110 00011100 10 000000
Indirizzo IP host B
129.150.28.155
10000001 10010110 00011100 10 011011
NETMASK
255.255.255.192
SUBNET ID
129.150.28.128
11111111
AND
11111111
LOGICO
11111111 11 000000
R I S U LTATO
10000001 10010110 00011100 10 000000
Host A e host B hanno appartengono alla stessa sottorete IP
Esempio di calcolo di subnet mask
Indirizzo IP di classe A (usa i primi 8 bit per individuare la rete), con i 24 bit finali
(quelli usati per individuare l’host all’interno della rete) ad esempio così destinati :
 11 bit per definire la sottorete (consentono al max 211=2048 sottoreti)
 13 bit per definire l’host all’interno della sottorete (max 213=8192 host/sottorete)
La subnet mask sarà allora la seguente:
In binario
In decimale
11111111 11111111 11100000 00000000
255 . 255 . 224 .
0
Definire gli indirizzi di sottorete (Subnet ID):
 Si listano tutte le possibili
all’identificazione della sottorete.
combinazioni
dei
bit
destinati
 Si scartano le combinazioni non valide
 Si converte in decimale byte a byte
Vediamo un esempio di classe B :
 indirizzo IP : 140.24.214.129
 subnet mask : 255.255.224.0
 3 bit destinati alla creazione di sottoreti .
Indirizzo IP
Subnetting classe B: subnet ID dell’ IP 140.24.214.129
140
10001100
24
00011000
214
11010110
129
10000001
AND LOGICO
Subnet mask
bit a bit
255
11111111
255
11111111
224
11100000
0
00000000
Risultato
140
10001100
24
00011000
192
11000000
Indirizzo di sottorete
140 . 24 . 192 . 0
0
00000000
Subnetting classe B: numerazione subnet ID
140
10001100
24
00011000
214
11010110
129
10000001
Indirizzo IP
rete
255
11111111
host
sottoreti
255
11111111
224
11100000
0
00000000
Subnet mask
Subnet ID
00000000=0
0 0 1 0 0 0 0 0 = 32
0 1 0 0 0 0 0 0 = 64
0 1 1 0 0 0 0 0 = 96
1 0 0 0 0 0 0 0 = 128
1 0 1 0 0 0 0 0 = 160
1 1 0 0 0 0 0 0 = 192
1 1 1 0 0 0 0 0 = 224
Indirizzo di rete
“Naturale”
140.24.0.0
Non consentite
Indirizzo di
broadcast
Gli indirizzi delle 6 possibili sottoreti saranno :
140.24.32.0
140.24.64.0
140.24.96.0
140.24.128.0
140.24.160.0
140.24.192.0
Subnetting:
La RFC 1878 Permette Subnet ID a 0 e 1
140
10001100
24
00011000
214
11010110
129
10000001
Indirizzo IP
rete
255
11111111
host
sottorete
255
11111111
224
11100000
0
00000000
Subnet mask
Subnet ID
00000000=0
0 0 1 0 0 0 0 0 = 32
0 1 0 0 0 0 0 0 = 64
0 1 1 0 0 0 0 0 = 96
1 0 0 0 0 0 0 0 = 128
1 0 1 0 0 0 0 0 = 160
1 1 0 0 0 0 0 0 = 192
1 1 1 0 0 0 0 0 = 224
Subnet bit a 0
Consentite !
Subnet bit a 1
Definire i possibili indirizzi hosts per una subnet:
• Si prendono tutte le possibili combinazioni dei bit destinati agli hosts.
• Si scartano le due non consentite (tutti 1 e tutti 0), le si affiancano ai bit di rete e sottorete
e si riporta il tutto in decimale bit a bit.
140 . 24 . 214 . 129
255 . 255 . 224 . 0
10001100 00011000 11010110 10000001
11111111 11111111 11100000 00000000
subnet ID : 140 . 24 . 192 . 0
Primo indirizzo di host:
140 . 24 . 192 . 1
140 . 24 . 192 . 2
140 . 24 . 192 . 3
140 . 24 . 192 . 4
10001100
10001100
10001100
10001100
00011000
00011000
00011000
00011000
11000000
11000000
11000000
11000000
00000001
00000010
00000011
00000100
……………………. Fino a :
140 . 24 . 223 . 254
10001100 00011000 11011111 11111110
In realtà tutto si riduce poi ad una regoletta meccanica a partire dagli indirizzi delle
sottoreti, come risulterà chiaro dal seguente esempio:
SUBNET ID e HOSTS ADDRESS RANGE
Indirizzi subnet
0 0 1 0 0 0 0 0 = 32
0 1 0 0 0 0 0 0 = 64
0 1 1 0 0 0 0 0 = 96
1 0 0 0 0 0 0 0 = 128
1 0 1 0 0 0 0 0 = 160
1 1 0 0 0 0 0 0 = 192
Range indirizzi host
A.B.32.1
A.B.64.1
A.B.96.1
A.B.128.1
A.B.160.1
A.B.192.1
-
A.B.63.254
A.B.95.254
A.B.127.254
A.B.159.254
A.B.191.254
A.B.223.254
L’insieme di indirizzi IP che appartengono alla stessa rete
o sottorete IP viene definito: ADDRESS RANGE
Address range multipli
R1
Address Range 1
•
•
•
Address Range 2
IPa 1 IPa 2
E’ possibile assegnare più indirizzi ad un’interfaccia di un router che avrà così :
– un indirizzo primario e uno o più indirizzi secondari
L’interfaccia appartiene quindi a più address range
I datagrammi generati dal router stesso avranno come IP sorgente  IP Primario
Address range multipli sulla stessa rete fisica
R1
Default Gateway
192.168.1.1
192.168.1.14
192.168.1.1 192.168.6.1
(primario) (secondario)
AR 1  Rete 192.168.1.0/24
AR 2  Rete 192.168.6.0/24
Default Gateway
192.168.6.1
192.168.6.10
• GIi host che appartengono ad una sottorete possono comunicare anche con
gli altri host dell’altra sottorete
– I loro datagrammi saranno instradati da R1 sulla stessa interfaccia fisica
Esempio di Subnetting:
subnet-mask fissa
A
net1
100 host
net3
20 host
Link-A
B
Link-C
net2
20 host
Link-B
net4
10 host
C
Subnetting: subnet-mask fissa
net1
192.168.1.0/25
(0-127, 126 host)
A
192.168.6.64/27
Link-A
net3
192.168.6.0/27
(0-31, 30 host)
B
Link-C
192.168.6.128/27
net2
192.168.1.128/25
(128-255, 126 host)
Link-B
192.168.6.96/27
net4
192.168.6.32/27
(32-63, 30 host)
C
192.168.1.0
255.255.255.128
192.168.6.0
255.255.255.224
Rete naturale 192.168.1.0 255.255.255.0
VLSM (RFC 1009)
( Variable Length Subnet Mask )
•
Subnetting tradizionale:
– Ha il limite di poter utilizzare solo una netmask di lunghezza fissa per ogni net ID
•
•
•
Questo significa che con la netmask scelta si è obbligati ad avere un numero fisso
di sottoreti con lo stesso numero di bit costituenti e quindi ognuna con lo stesso
numero di host disponibili.
L’RFC 1009 (1987) permette che una rete subnettata possa utilizzare più di una
netmask.
 Saremo in questo caso in presenza di una rete naturale con subnet-mask di
lunghezza variabile:
- Variable Length Subnet Mask, (VLSM)
VLSM: esempio
net1
192.168.1.0/25
(0-127, 126 host)
A
192.168.1.208/30
Link-A
net3
192.168.1.160/27
(160-191, 30 host)
B
Link-C
192.168.1.216/30
net2
192.168.1.128/27
(128-159, 30 host)
Link-B
192.168.1.212/30
net4
192.168.1.192/28
(192-207, 14 host)
C
Rete naturale
192.168.1.0 255.255.255.0
Esaurimento degli indirizzi IP
• Il progressivo esaurimento degli indirizzi IP, unitamente alla rapida crescita
delle dimensioni delle tabelle di routing ha spinto l’IETF (Internet
Engineering Task Force) nel 1992 ad intraprendere delle azioni preventive.
• Tali misure preventive possono essere raggruppate nelle seguenti categorie:
– Assegnazione razionale degli indirizzi IP
– Classless InterDomain Routing (CIDR)
– Indirizzi privati e Network Address Translation (NAT)
– Assegnazione dinamica di indirizzi (DHCP)
– IP versione 6 (IPv6)
CIDR
• Il Classless InterDomain Routing (CIDR) supporta due importanti caratteristiche
che hanno portato grossi benefici al sistema di routing di Internet:
– Elimina il concetto tradizionale di classi per consentire di
allocare più efficientemente lo spazio degli indirizzi IP
– Supporta l’aggregazione degli indirizzi (summarization),
conosciuta anche come supernetting .
• Riassume cioè grossi insiemi di indirizzi di reti tradizionali con
classi ( metodo classfull ), in una singola entry nella tabella
di routing ( metodo classless ) .
• Basta una combinazione indirizzo/mashera per rappresentare
una route verso reti multiple.
Esempio di routing senza CIDR
198.32.0.0/24
198.32.1.0/24
.
.
.
R1 deve annunciare
verso l’esterno
tutte le reti
198.32.7.0/24
198.32.0.0/24
198.32.1.0/24
198.32.2.0/24
198.32.3.0/24
R1
198.32.6.0/24
198.32.7.0/24
198.32.4.0/24
198.32.5.0/24
198.32.3.0
198.32.0.0
198.32.1.0 198.32.2.0
198.32.4.0
198.32.5.0
198.32.6.0 198.32.7.0
Esempio: con CIDR
Viene così a crearsi una rete avente
subnet-mask di 21 bit che è inferiore
a quella naturale (classe C=24 bit)
Tutte le reti vengono
aggregate in un
singolo annuncio
(summarization)
198.32.0.0/21
198.32.0.0/22
Essa assume la denominazione
di Super-Rete
 Concetto di Supernetting
198.32.6.0/23
198.32.4.0/23
198.32.3.0
198.32.0.0
198.32.2.0
198.32.1.0
198.32.6.0
198.32.7.0
198.32.4.0 198.32.5.0
Supernetting
•
•
•
•
Una rete è denominata supernet (super-rete) quando il prefix-length contiene
meno bits della rete naturale.
Esempio di una rete di classe C 198.32.1.0, mask naturale = 255.255.255.0 :
Se è rappresentata con: 198.32.0.0 255.255.0.0 o 198.32.0.0/16 ,essa avrà una
netmask inferiore a quella naturale (16bit < 24bit);
– Diventata perciò una Supernet.
Questa tecnica permette di riassumere (raggruppare) routes specifiche della
198.32.0.0 (198.32.1.0 , 198.32.2.0, e così via..) in un singolo annuncio di
routing, chiamato “Aggregato di reti IP”, o semplicemente “Aggregato” .
• Esempio:
Eliminiamo la confusione
• Generalmente, i termini usati per indicare che una lista di reti IP
contigue è stato raggruppato (o riassunto) in un annuncio singolo sono
diversi:
–
–
–
–
–
Aggregate
CIDR Block
Supernet
Route summarization
Auto-Summary
• Non fatevi trarre in inganno:
– Sono semplicemente diversi modi per indicare
lo stesso concetto.
CIDR:Algoritmo di calcolo dei bit della
Maschera per l’aggregazione delle reti
IP Subnet
Primo byte
in Binario
Secondo
byte in
Binario
Terzo
byte in
Binario
198.32.0.0/24
11000110
00100000
00000
000
198.32.1.0/24
11000110
00100000
00000
001
198.32.2.0/24
11000110
00100000
00000
010
198.32.3.0/24
11000110
00100000
00000
011
198.32.4.0/24
11000110
00100000
00000
100
198.32.5.0/24
11000110
00100000
00000
101
198.32.6.0/24
11000110
00100000
00000
110
198.32.7.0/24
11000110
00100000
00000
111
Supernetting
11111111
11111111
11111
000
/21 bit
 Partendo da sinistra si considera il numero di bit che tutti gli indirizzi hanno in comune ;
 Questo determinerà la lunghezza della mashera del Supernetting = 21 bit
 Una considerazione importante:
Affinche il CIDR si possa applicare efficacemente è necessario che
tutte le reti annunciate siano contigue.
 L’uso di indirizzi IP non contigui può comportare errori e loop nel routing.
CIDR: Subnet Mask > Wild-Card Mask > Prefix
Subnet Mask
Wild-Card Mask
Prefix
255.0.0.0
0.255.255.255
/8
255.128.0.0
0.127.255.255
/9
255.192.0.0
0.63.255.255
/10
255.224.0.0
0.31.255.255
/11
255.240.0.0
0.15.255.255
/12
255.248.0.0
0.7.255.255
/13
255.252.0.0
0.3.255.255
/14
255.254.0.0
0.1.255.255
/15
255.255.0.0
0.0.255.255
/16
255.255.128.0
0.0.127.255
/17
255.255.192.0
0.0.63.255
/18
255.255.224.0
0.0.31.255
/19
255.255.240.0
0.0.15.255
/20
255.255.248.0
0.0.7.255
/21
255.255.252.0
0.0.3.255
/22
255.255.254.0
0.0.1.255
/23
255.255.255.0
0.0.0.255
/24
Assegnazione razionale degli indirizzi IP
• Lo spazio degli indirizzi di classe C è attualmente allocato
in modo tale da consentire l’aggregazione degli indirizzi
Esigenze dell'organizzazione
Indirizzi assegnati
Meno di 256 indirizzi
1 rete di classe C
Meno di 512 ma più di 256
2 reti di classe C contigue
Meno di 1024 ma più di 512
4 reti di classe C contigue
Meno di 2048 ma più di 1024
8 reti di classe C contigue
Meno di 4096 ma più di 2048
16 reti di classe C contigue
Meno di 8192 ma più di 4096
32 reti di classe C contigue
Meno di 16384 ma più di 8192
64 reti di classe C contigue
Allocazione dello spazio di indirizzi per
maggiori aree geografiche
Multiregional
Europe
Others
North America
Central/South America
Pacific Rim
Others
Others
192.0.0.0
194.0.0.0
196.0.0.0
198.0.0.0
200.0.0.0
202.0.0.0
204.0.0.0
206.0.0.0
a
a
a
a
a
a
a
a
193.255.255.255
195.255.255.255
197.255.255.255
199.255.255.255
201.255.255.255
203.255.255.255
205.255.255.255
207.255.255.255
Crescita delle tabelle di routing su Internet
• Nei primi anni ’90 si
è stimato che nel 1995
le tabelle di
instradamento dei
router di Internet
avrebbero superato le
80.000 entry.
• Invece grazie
all’impiego del CIDR
nel 2000 si sono
attestate intorno a
76.000.
• Senza il CIDR i
router Internet
avrebbero avuto la
saturazione della
memoria e CPU,
rendendo assai lenta
la velocità di Route
Processing.
Crescita tabelle di routing in INTERNET
Special Use Reserved Address Blocks, RFC 3330
Esercizi
• Il solo modo per imparare ad usare bene l’indirizzamento
IP è : fare tanta pratica ,pratica, pratica …….e poi ancora
pratica ,pratica e pratica.
Scarica

255 1 1 1 1 1 1 1 1 255 1 1 1 1 1 1 1 1 224 1 1 1 0 0 0 0 0 0 0 0 0 0 0