Reti 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 univocamente 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 numeri di 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 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, serve al computer per inviare messaggi a se stesso (localhost); è utilizzato per identificare malfunzionamenti o per attività di testing.
255.255.255.255, detto indirizzo di broadcast, serve a inviare messaggi a tutti i computer della rete.
La classe di indirizzo può essere identificata a secondo della combinazione fra i numeri iniziali degli ottetti riservati all'indirizzo di rete :
Classe A:
Utilizzata per reti di grandi dimensioni,
Bit 0 = 0
Rete ( 7 bit ) = 128 Network
Indirizzo locale (24 bit) = 16 Mega Host
Indirizzi IP in decimale: da 1.0.0.0 a 126.255.255.255
.
Classe B:
Utilizzata per reti di medie dimensioni,
Bit 0 = 1 e bit 1 = 0
Rete ( 14 bit ) = 16 KNetwork
Indirizzo locale ( 16 bit ) = 64 KHost
Indirizzi IP in decimale: da 128.0.0.0
a 191.255.255.255 .
Classe C:
Utilizzata per le reti di piccole e medie dimensioni
Bit 0 = 1, bit 1 = 1 e bit 2 = 0
Rete (21 bit) = 2 Mega Network
Indirizzo locale (8 bit) = 256 Host
Indirizzi IP in decimale: da 192.0.0.0
a 223.255.255.255 .
Classe D:
Per multicast address, cioè indirizzamenti di un sottoinsieme degli host
di una rete. Configurazione dei bit iniziali = 1110.
Gli indirizzi di classe D non sono indirizzi IP disponibili: potrebbero
essere utilizzati da un router per fare un multicast su una sottorete.
Classe E:
Riservata per scopi sperimentali e per usi futuri.
Configurazione bit iniziali = 11110 .
Indirizzi pubblici ed indirizzi privati
Per la costituzione di reti locali, esistono dei lotti di indirizzi privati che non possono essere assegnati a host pubblici
da | 10.0.0.0 | a | 10.255.255.255 |
da | 172.16.0.0 | a | 172.31.255.255 |
da | 192.168.0.0 | a | 192.168.255.255 |
Questi sono considerati indirizzi privati che possono accedere ad internet tramite la tecnica NAT (Network Address Translation) attraverso un server o un router di riferimento, che ovviamente sarà dotato di indirizzo pubblico.
Sottoreti
È possibile modificare, parzialmente, la struttura dell'indirizzamento
utilizzando le sottoreti (subnet).
Il campo definito come indirizzo locale host, può essere suddiviso arbitrariamente
in due campi:
sottorete e host.
Negli indirizzi di classe B, ad esempio,
si può pensare di suddividere i 16 bit di indirizzamento locale
( host ) in 12 bit dedicati all'indirizzamento delle sottoreti per un
massimo di 4096 subnet, (212) ciascuna delle quali con massimo
di 16 host( in realtà 24-2=14 come si noterà). N.B.:12+4=16bit.
Questo esempio potrebbe riferirsi ad una catena di supermercati, caratterizzata
da molte filiali, ciascuno dei quali in possesso di un numero di computer/casse
non superiori a 16 (14).
Lo schema seguente, riporta la suddivisione di un indirizzo IP di classe
B tra subnet e host.
L'operazione di suddivisione di una rete in sottoreti si chiama segmentazione e può essere attuata per migliorare la strutturazione della rete stessa.
La creazione delle sottoreti (subnetting) è ottenuta suddividendo la parte host dell'indirizzo IP in due parti: la parte di subnetting e la parte di host.
Per esempio, se si prende in considerazione l'indirizzo IP di classe B
160.80.27.0
la parte di host è costituita da 16 bit: possiamo decidere di dedicare
8 bit alle subnet, ottenendo 256 ( 28 ) subnet, ciascuna delle
quali può contenere un massimo di 254 host ( 28 - 2 ): alle
combinazioni possibili vanno, infatti, tolti gli indirizzi più alto e
più basso. Questi sono infatti riservati:
Indirizzo più basso (160.80.27.0) indirizzo
di rete
Indirizzo più alto (160.80.27.255) indirizzo
di Broadcast
Convenzionalmente, l'indirizzo adiacente o a quello di rete o a quello di broadcast ( 160.80.27.1 o 160.80.27.254 ) viene assegnato per consuetudine al Gateway della sottorete.
Per decidere in modo più veloce la destinazione dei messaggi ( pacchetti ) verso i computer della rete, si usano le subnet mask (maschera di sottorete), per indicare ai dispositivi di instradamento (router) della rete quali numeri dell'indirizzo IP devono essere controllati e quali no.
La maschera di sottorete è un indirizzo di 32 bit ( simile al numero IP ) che consente di dividere la parte host da quella di rete; questa è fondamentale perché tramite essa, si riesce a determinare se un IP fa parte della rete o va ricercato in una rete remota. Per esempio, la maschera:
255.255.255.0
indica che, ai fini dell'instradamento, sono significativi i primi tre
numeri dell'indirizzo IP e quindi il quarto può anche non essere controllato.
In generale, essendo l'indirizzo IP formato da sequenze di bit, la maschera
di sottorete ( subnet mask ) è uno schema
che specifica quali bit sono da controllare e quali no: la presenza di
un bit 1 indica che la cifra è da controllare, il bit 0 indica che non
si deve controllare.
In questo modo il router non deve controllare tutta la maschera di 32
bit. Nel caso della maschera precedente, i bit da controllare sono i primi
24:
11111111.11111111.11111111.00000000
Nell'esempio precedente , supponendo di suddividere i 16 bit del numero host in 8 bit per le subnet e 8 bit per il computer, la maschera di subnet è:
ad indicare che occorre controllare i primi 24 bit per determinare la sottorete di destinazione del pacchetto.
Applicando una maschera di sottorete a un indirizzo IP si permette l'identificazione
della rete d'appartenenza con la semplice comparazione dell'indirizzo
e della maschera.
L'operazione è un AND logico tra il numero IP e la sua maschera: il risultato
di questa operazione è l'individuazione della rete di appartenenza.Per
esempio:
indirizzo IP | 160. 80. 27.3 | 10100000.01010000.00011011.00000011 |
subnet mask | 255.255.255.0 | 11111111.11111111.11111111.00000000 |
network | 160. 80. 27.0 | 10100000.01010000.00011011.00000000 |
Viene eseguita una operazione di AND fra il numero IP e la sua maschera
di sottorete.
Quando un pacchetto viene inviato in rete, il suo destinatario IP viene
sottoposto, anch'esso, a un AND logico con la subnet mask.
Se il risultato del processo coincide con l'indirizzo di rete, l'host
in questione appartiene a quella rete; diversamente il pacchetto viene
inviato a un router che provvede a smistarlo in una rete remota.
L'insieme del numero di rete e del numero di sottorete forma il numero
di rete esteso (extended network prefix).
I bit 1 corrispondenti alle cifre del numero di rete esteso formano la
subnet mask (maschera di sottorete).
La lunghezza in bit di questo numero (lunghezza del prefisso) è uguale
al numero dei bit che compongono la sequenza dei bit da controllare nella
subnet mask. Per questo motivo per indicare che l'indirizzo IP
160.12.32.1
si utilizza la maschera di subnet
255.255.255.192=11111111.11111111.11111111.11000000
che si può scrivere
160.12.32.1/26
cioè occorre controllare i primi 26 bit per determinare l'indirizzo di
rete stesso.
La notazione lunghezza del prefisso (lunghezza preceduta dal carattere
/) è più compatta e più facile da leggere rispetto alla subnet mask.
Usando questa notazione gli indirizzi di classe A,B,C senza suddivisione
in sottoreti, si possono scrivere con la marcatura /8, /16,/24 rispettivamente,
per indicare la lunghezza del prefisso di rete nella subnet mask.
Esempio di segmentazione di una rete:
Supponiamo di avere a disposizione l'indirizzo di classe C:
210.25.10.0=11010010.00011001.00001010.00000000
Negli indirizzi di classe C i primi 24 bit sono riservati al numero di
rete.
Notiamo che partendo dalla maschera di sottorete di un indirizzo di classe
C 255.255.255.0, si possono ottenere i seguenti numeri di sottoreti.
255.255.255.0 | =00000000 | 28-2=254 host |
255.255.255.128 | =10000000 | 27-2=126 host |
255.255.255.192 | =11000000 | 26-2=62 host |
255.255.255.224 | =11100000 | 25-2=30 host |
255.255.255.240 | =11110000 | 24-2=14 host |
255.255.255.248 | =11111000 | 23-2=6 host |
255.255.255.252 | =11111100 | 22-2=2 host |
Degli 8 bit che rimangono liberi, mettiamo a disposizione 5 bit per la sottorete e 3 bit per l'host, quindi
la maschera di sottorete è
l'indirizzo della prima sottorete è
l'indirizzo dell'ultima sottorete è
gli indirizzi IP possono essere rappresentati con la notazione /29, per indicare che il numero di bit che concorrono a formarla è 29.
Consideriamo la terza sottorete, identificata dall'indirizzo IP
Quanti sono gli indirizzi disponibili per gi host? Gli host disponibili
sono 6 ( 23 - 2 ), perché gli indirizzi di host 000
e 111 non sono disponibili.
I loro indirizzi sono compresi tra
e
Per effettuare una rapida pianificazione di una rete ip, sono disponibili diversi programmi come questo.