109.1 Lezione 1
Certificazione: |
LPIC-1 |
---|---|
Versione: |
5.0 |
Argomento: |
109 Fondamenti di Networking |
Obiettivo: |
109.1 Fondamenti dei protocolli Internet |
Lezione: |
1 di 2 |
Introduzione
Il TCP/IP (Transmission Control Protocol/Internet Protocol) è uno stack di protocolli usato per permettere la comunicazione tra computer. Nonostante il nome, lo stack consiste di diversi protocolli come IP, TCP, UDP, ICMP, DNS, SMTP, ARP e altri.
IP (Internet Protocol)
L’IP è il protocollo responsabile dell’indirizzamento logico di un host, che permette di inviare il pacchetto da un host all’altro. Per questo ad ogni dispositivo della rete viene assegnato un indirizzo IP unico, ed è possibile assegnare più di un indirizzo allo stesso dispositivo.
Nella versione 4 del protocollo IP, solitamente chiamata IPv4, l’indirizzo è formato da un insieme di 32 bit separati in 4 gruppi di 8 bit, rappresentati in forma decimale, chiamati “ottetti”. Per esempio:
- Formato binario (4 gruppi di 8 bit)
-
11000000.10101000.00001010.00010100
- Formato decimale
-
192.168.10.20
In IPv4, i valori per ogni ottetto possono andare da 0 a 255, che è l’equivalente di 11111111 in formato binario.
Classi di Indirizzi
Teoricamente, gli indirizzi IP sono separati in classi, che sono definite dall’intervallo del primo ottetto come mostrato nella tabella sottostante:
Classe | Primo Ottetto | Intervallo | Esempio |
---|---|---|---|
A |
1-126 |
|
|
B |
128-191 |
|
|
C |
192-223 |
|
|
IP Pubblici e Privati
Come accennato in precedenza, affinché la comunicazione avvenga, ogni dispositivo in rete deve essere associato ad almeno un indirizzo IP unico. Tuttavia, se ogni dispositivo connesso a Internet nel mondo avesse un indirizzo IP unico, non ci sarebbero abbastanza IP (v4) per tutti. Per questo, sono stati definiti gli indirizzi IP privati.
Gli IP privati sono intervalli di indirizzi IP che sono stati riservati per l’uso nelle reti interne (private) di aziende, istituzioni, case, ecc. All’interno della stessa rete, l’uso di un indirizzo IP rimane unico. Tuttavia, lo stesso indirizzo IP privato può essere usato all’interno di qualsiasi rete privata.
Così, su Internet abbiamo un traffico di dati che utilizza indirizzi IP pubblici, che sono riconoscibili e instradabili su Internet, mentre all’interno delle reti private vengono utilizzati questi intervalli di IP riservati. Il router è responsabile della conversione del traffico dalla rete privata alla rete pubblica e viceversa.
Gli intervalli di IP privati, separati per classi, possono essere visti nella tabella sottostante:
Classe | Primo Ottetto | Intervallo | IP Privati |
---|---|---|---|
A |
1-126 |
|
|
B |
128-191 |
|
|
C |
192-223 |
|
|
Conversione dal Formato Decimale a quello Binario
Per gli argomenti di questa sezione, è importante sapere come convertire gli indirizzi IP tra i formati binario e decimale.
La conversione dal formato decimale a quello binario avviene attraverso divisioni consecutive per 2. Come esempio, convertiamo il valore 105 attraverso i seguenti passi:
-
Dividendo il valore 105 per 2 abbiamo:
105/2 Quoziente = 52 Resto = 1
-
Dividiamo il quoziente in modo sequenziale per 2, finché il quoziente finale sia uguale a 1:
52/2 Resto = 0 Quoziente = 26
26/2 Resto = 0 Quoziente = 13
13/2 Resto = 1 Quoziente = 6
6/2 Resto = 0 Quoziente = 3
3/2 Resto = 1 Quoziente = 1
-
Raggruppa l’ultimo quoziente seguito dal resto di tutte le divisioni:
1101001
-
Riempite da sinistra di zeri fino a completare gli 8 bit:
01101001
-
Alla fine, abbiamo che il valore 105 in decimale è uguale a 01101001 in binario.
Conversione dal Formato Binario a quello Decimale
In questo esempio, useremo il valore binario 10110000
.
-
Ogni bit è associato a un valore con una potenza base di due. Le potenze partono da 0 e vengono incrementate da destra a sinistra. In questo esempio avremo:
1
0
1
1
0
0
0
0
27
26
25
24
23
22
21
20
-
Quando il bit è 1, assegniamo il valore della rispettiva potenza, quando il bit è 0 il risultato è 0.
1
0
1
1
0
0
0
0
27
26
25
24
23
22
21
20
128
0
32
16
0
0
0
0
-
Sommiamo tutti i valori:
128 + 32 + 16 = 176
-
Così, 10110000 in binario è uguale a 176 in decimale.
Netmask
La maschera di rete (o netmask) è usata insieme all’indirizzo IP per determinare quale parte dell’IP rappresenta la rete e quale l’host. Ha lo stesso formato dell’indirizzo IP, cioè ci sono 32 bit in 4 gruppi di 8. Per esempio:
Decimale | Binario | CIDR |
---|---|---|
|
|
|
|
|
|
|
|
|
Usare la maschera 255.255.0.0
come esempio, indica che nell’IP associato, i primi 16 bit (2 primi decimali) identificano la rete/sottorete e gli ultimi 16 bit sono usati per identificare univocamente gli host all’interno della rete.
Il CIDR (Classless Inter-Domain Routing) menzionato sopra è legato a una notazione semplificata della maschera, che indica il numero di bit (1) associato alla rete/sottorete. Questa notazione è comunemente usata per sostituire il formato decimale, per esempio /24
invece di 255.255.255.0
.
È interessante notare che ogni classe di IP ha una maschera standard, come la seguente:
Classe | Primo Ottetto | Intervallo | Maschera Default |
---|---|---|---|
A |
1-126 |
|
|
B |
128-191 |
|
|
C |
192-223 |
|
|
Tuttavia, questo modello non significa che questa è la maschera che sarà sempre usata. È possibile utilizzare qualsiasi maschera con qualsiasi indirizzo IP, come vedremo di seguito.
Ecco alcuni esempi di utilizzo di IP e Maschere:
192.168.8.12 / 255.255.255.0 / 24
- Intervallo
-
192.168.8.0
-192.168.8.255
- Indirizzo di Rete
-
192.168.8.0
- Indirizzo di Broadcast
-
192.168.8.255
- Host
-
192.168.8.1
-192.168.8.254
In questo caso le prime 3 cifre (i primi 24 bit) dell’indirizzo IP definiscono la rete e l’ultima cifra identifica gli indirizzi degli host, cioè la gamma di questa rete va da 192.168.8.0
a 192.168.8.255
.
Ora definiamo due concetti importanti: Ogni rete/sottorete ha 2 indirizzi riservati, il primo indirizzo nella gamma è chiamato indirizzo di rete. In questo caso 192.168.8.0
, che è usato per identificare la rete/sottorete stessa. L’ultimo indirizzo nell’intervallo è chiamato l’indirizzo broadcast, in questo caso 192.168.8.255
. Questo indirizzo di destinazione è usato per inviare lo stesso messaggio (pacchetto) a tutti gli host IP su quella rete/sottorete.
Gli indirizzi di rete e di broadcast non possono essere usati dalle macchine in rete. Pertanto, la lista degli IP che possono essere effettivamente configurati va da 192.168.8.1
a 192.168.8.254
.
Ora l’esempio dello stesso IP, ma con una maschera diversa:
192.168.8.12 / 255.255.0.0 / 16
- Intervallo
-
192.168.0.0
-192.168.255.255
- Indirizzo di Rete
-
192.168.0.0
- Indirizzo di Broadcast
-
192.168.255.255
- Host
-
192.168.0.1
–192.168.255.254
Guarda come una maschera diversa cambia la gamma di IP che sono all’interno della stessa rete/sottorete.
La suddivisione delle reti attraverso le maschere non è limitata ai valori predefiniti (8, 16, 24). Possiamo creare suddivisioni a piacere, aggiungendo o togliendo bit nell’identificazione della rete, creando le nuove sottoreti.
Per esempio:
11111111.11111111.11111111.00000000 = 255.255.255.0 = 24
Se vogliamo suddividere la rete di cui sopra in 2, basta aggiungere un altro bit all’identificazione della rete nella maschera, in questo modo:
11111111.11111111.11111111.10000000 = 255.255.255.128 = 25
Abbiamo quindi le seguenti sottoreti:
192.168.8.0 - 192.168.8.127 192.168.8.128 - 192.168.8.255
Se aumentiamo ulteriormente la suddivisione della rete:
11111111.11111111.11111111.11000000 = 255.255.255.192 = 26
Avremo:
192.168.8.0 - 192.168.8.63 192.168.8.64 - 192.168.8.127 192.168.8.128 - 192.168.8.191 192.168.8.192 - 192.168.8.255
Si noti che in ogni sottorete avremo gli indirizzi di rete riservati (il primo dell’intervallo) e di broadcast (l’ultimo dell’intervallo), quindi più la rete è suddivisa, meno IP possono essere effettivamente utilizzati dagli host.
Identificare gli Indirizzi di Rete e di Broadcast
Attraverso un indirizzo IP e una maschera, possiamo identificare l’indirizzo di rete e l’indirizzo broadcast, e quindi definire la gamma di IP per la rete/sottorete.
L’indirizzo di rete si ottiene usando un “Logical AND” tra l’indirizzo IP e la maschera nei loro formati binari. Prendiamo per esempio come IP 192.168.8.12
e come maschera 255.255.255.192
.
Convertendo dal formato decimale a quello binario, come abbiamo visto prima, abbiamo:
11000000.10101000.00001000.00001100 (192.168.8.12) 11111111.11111111.11111111.11000000 (255.255.255.192)
Con l'“AND logico”, abbiamo 1 e 1 = 1, 0 e 0 = 0, 1 e 0 = 0, quindi:
11000000.10101000.00001000.00001100 (192.168.8.12) 11111111.11111111.11111111.11000000 (255.255.255.192) 11000000.10101000.00001000.00000000
Quindi l’indirizzo di rete per quella sottorete è 192.168.8.0
.
Ora per ottenere l’indirizzo di broadcast dobbiamo usare l’indirizzo di rete dove tutti i bit relativi all’indirizzo dell’host sono a 1:
11000000.10101000.00001000.00000000 (192.168.8.0) 11111111.11111111.11111111.11000000 (255.255.255.192) 11000000.10101000.00001000.00111111
L’indirizzo di broadcast è quindi: 192.168.8.63
.
In conclusione, abbiamo:
192.168.8.12 / 255.255.255.192 / 26
- Intervallo
-
192.168.8.0
-192.168.8.63
- Indirizzo di Rete
-
192.168.8.0
- Indirizzo di Broadcast
-
192.168.8.63
- Host
-
192.168.8.1
–192.168.8.62
Rotta Predefinita
Come abbiamo visto finora, le macchine che si trovano nella stessa rete/sottorete logica possono comunicare direttamente tramite il protocollo IP.
Ma consideriamo l’esempio qui sotto:
- Network 1
-
192.168.10.0/24
- Network 2
-
192.168.200.0/24
In questo caso, la macchina 192.168.10.20
non può inviare direttamente un pacchetto alla 192.168.200.100
, poiché sono su reti logiche diverse.
Per permettere questa comunicazione si usa un router (o un insieme di router). Un router in questa configurazione può anche essere chiamato un gateway poiché fornisce un passaggio tra due reti. Questo dispositivo ha accesso a entrambe le reti perché è configurato con gli IP di entrambe le reti. Per esempio 192.168.10.1
e 192.168.200.1
, e per questo motivo riesce ad essere l’intermediario in questa comunicazione.
Per abilitarlo, ogni host della rete deve aver configurato quello che viene chiamato default route. La rotta predefinita indica l’IP a cui devono essere inviati tutti i pacchetti la cui destinazione è un IP che non fa parte della rete logica dell’host.
Nell’esempio sopra, la rotta predefinita per le macchine sulla rete 192.168.10.0/24
sarà l’IP 192.168.10.1
, che è l’IP del router/gateway, mentre la rotta predefinita per le macchine sulla rete 192.168.200.0/24
sarà 192.168.200.1
.
Il percorso predefinito è anche utilizzato in modo che le macchine della rete privata (LAN) abbiano accesso a Internet (WAN), attraverso un router.
Esercizi Guidati
-
Utilizzando l’IP
172.16.30.230
e la netmask255.255.255.224
, identifica:La notazione CIDR per la maschera di rete
Indirizzo di rete
Indirizzo di broadcast
Numero di IP che possono essere usati per gli host in questa sottorete
-
Quale impostazione è necessaria su un host per permettere una comunicazione IP con un host in una rete logica diversa?
Esercizi Esplorativi
-
Perché gli intervalli IP che iniziano con
127
e l’intervallo dopo224
non sono inclusi nelle classi di indirizzi IP A, B o C? -
Uno dei campi di un pacchetto IP che è molto importante è il TTL (Time To Live). Qual è la funzione di questo campo e come funziona?
-
Spiega la funzione del NAT e quando viene utilizzato.
Summario
Questa lezione ha trattato i concetti principali del protocollo IPv4, che è responsabile della comunicazione tra gli host di una rete.
Sono state studiate anche le principali operazioni che devi conoscere per convertire gli IP in diversi formati e per poter analizzare ed eseguire le configurazioni logiche su reti e sottoreti.
Sono stati affrontati i seguenti argomenti:
-
Classi di indirizzi IP
-
IP Pubblici e Privati
-
Come convertire gli IP dal formato decimale a quello binario e viceversa
-
La maschera di rete (netmask)
-
Come identificare gli indirizzi di rete e di broadcast da IP e netmask
-
La rotta predefinita
Risposte agli Esercizi Guidati
-
Utilizzando l’IP
172.16.30.230
e la netmask255.255.255.224
, identifica:La notazione CIDR per la maschera di rete
27
Indirizzo di rete
172.16.30.224
Indirizzo di broadcast
172.16.30.255
Numero di IP che possono essere usati per gli host in questa sottorete
30
-
Quale impostazione è necessaria su un host per permettere una comunicazione IP con un host in una rete logica diversa?
La rotta predefinita
Risposte agli Esercizi Esplorativi
-
Perché gli intervalli IP che iniziano con
127
e l’intervallo dopo224
non sono inclusi nelle classi di indirizzi IP A, B o C?La gamma che inizia con
127
è riservata agli indirizzi di loopback, usati per test e comunicazioni interne tra processi, come l’indirizzo127.0.0.1
. Inoltre, gli indirizzi sopra224
non sono usati come indirizzi host, ma per il multicast e altri scopi. -
Uno dei campi di un pacchetto IP che è molto importante è il TTL (Time To Live). Qual è la funzione di questo campo e come funziona?
Il TTL definisce la durata di un pacchetto. Questo è implementato attraverso un contatore in cui il valore iniziale definito all’origine è diminuito in ogni gateway/router attraverso cui passa il pacchetto, che è anche chiamato “hop”. Se questo contatore raggiunge lo 0 il pacchetto viene scartato.
-
Spiega la funzione del NAT e quando viene utilizzato.
La funzione NAT (Network Address Translation) permette agli host di una rete interna, che usa IP privati, di avere accesso a Internet come se fossero collegati direttamente ad essa, con l’IP pubblico usato sul gateway.