Informazioni sui principi fondamentali di indirizzamento TCP/IP e sulla creazione di subnet.

Questo articolo è concepito come introduzione generale ai concetti di Protocollo di rete (IP) e di creazione di subnet. Alla fine dell'articolo è incluso un glossario.

Si applica a: Windows 10 - tutte le edizioni
Numero originale della Knowledge Base: 164015

Riepilogo

Quando si configura il protocollo TCP/IP in un computer con sistema operativo Windows, le impostazioni di configurazione del TCP/IP richiedono:

  • Un indirizzo IP
  • Una subnet mask
  • Un gateway predefinito

Per configurare correttamente il protocollo TCP/IP, è necessario comprendere come vengono indirizzate e suddivise le reti TCP/IP in reti e subnet.

Il successo di TCP/IP come protocollo di rete di Internet è in gran parte dovuto alla capacità di connettersi tra reti di dimensioni e sistemi di diversi tipi. Queste reti sono classificate arbitrariamente in tre classi principali (insieme ad alcune altre) con dimensioni predefinite. Ognuna di esse può essere divisa in subnet più piccole dagli amministratori di sistema. Una subnet mask viene utilizzata per dividere un indirizzo IP in due parti. Una parte identifica l'host (computer), l'altra invece identifica la rete a cui appartiene. Per comprendere meglio il funzionamento degli indirizzi IP e delle subnet mask, si deve osservare un indirizzo IP e vedere come è strutturato.

Indirizzi IP: reti e host

Un indirizzo IP è un numero a 32 bit. Identifica in modo univoco un host (computer o altro dispositivo, ad esempio una stampante o un router) in una rete TCP/IP.

Generalmente, gli indirizzi IP vengono espressi in formato decimale puntato, con quattro numeri separati da punti, ad esempio 192.168.123.132. Per comprendere come vengono utilizzate le subnet mask per distinguere host, reti e subnet, si deve esaminare un indirizzo IP in notazione binaria.

Ad esempio, l'indirizzo IP decimale puntato 192.168.123.132 è (in notazione binaria) il numero a 32 bit 11000000101010000111101110000100. Questo numero può risultare difficile da comprendere, quindi bisogna dividerlo in quattro parti composte da otto cifre binarie.

Queste sezioni a 8 bit sono conosciute come ottetti. L'indirizzo IP preso come esempio diventa quindi 11000000.10101000.01111011.10000100. Questo numero risulta poco più comprensibile, quindi per la maggior parte degli usi, l'indirizzo binario viene convertito in formato decimale puntato (192.168.123.132). I numeri decimali separati dai punti sono gli ottetti convertiti dalla notazione binaria a quella decimale.

Per un funzionamento efficiente di una rete WAN (Wide Area Network) TCP/IP come raccolta di reti, i router che trasmettono pacchetti di dati tra le reti non conoscono la posizione esatta di un host per il quale è destinato un pacchetto di informazioni. I router conoscono solo la rete di cui l'host è membro e utilizzano le informazioni archiviate nella tabella di route per determinare come far arrivare il pacchetto alla rete dell'host di destinazione. Una volta che è stato consegnato alla rete di destinazione, il pacchetto viene recapitato all'host appropriato.

Affinché questo processo funzioni correttamente, un indirizzo IP è costituito da due parti. La prima parte di un indirizzo IP viene utilizzata come indirizzo di rete, mentre l'ultima parte come indirizzo host. Se si prende come esempio l'indirizzo 192.168.123.132 e lo si divide in due parti, si ottiene 192.168.123. Rete .132 Host oppure 192.168.123.0: indirizzo di rete. 0.0.0.132: indirizzo host.

Subnet mask

Il secondo elemento, necessario per il funzionamento del TCP/IP, è la subnet mask. La subnet mask viene utilizzata dal protocollo TCP/IP per determinare se un host si trova nella subnet locale oppure in una rete remota.

Nel TCP/IP, le parti dell'indirizzo IP utilizzate come indirizzi di rete e host non sono fisse. A meno che non siano disponibili ulteriori informazioni, non è possibile determinare gli indirizzi di rete e host sopra indicati. Queste informazioni vengono fornite in un altro numero a 32 bit denominato subnet mask. In questo esempio, la subnet mask è 255.255.255.0. Non è ovvio cosa significhi questo numero a meno che non si sappia che la cifra 255 in notazione binaria è uguale a 11111111. Pertanto, la subnet mask è 11111111.11111111.11111111.00000000.

Se si allinea l'indirizzo IP e la subnet mask, le porzioni dell'indirizzo relative alla rete e all'host possono essere suddivise:

11000000.10101000.01111011.10000100: indirizzo IP (192.168.123.132)
11111111.11111111.11111111.00000000: subnet mask (255.255.255.0)

I primi 24 bit (il numero di quelli nella subnet mask) vengono identificati come indirizzo di rete. Gli ultimi 8 bit (il numero di zero che rimangono nella subnet mask) vengono identificati come indirizzo host. Questo fornisce i seguenti indirizzi:

11000000.10101000.01111011.00000000: indirizzo di rete (192.168.123.0)
00000000.00000000.00000000.10000100: indirizzo host (000.000.000.132)

Quindi adesso, se prendiamo questo esempio utilizzando una subnet mask di 255.255.255.0, possiamo sapere che l'ID di rete è 192.168.123.0 e l'indirizzo host è 0.0.0.132. Quando un pacchetto arriva sulla subnet 192.168.123.0 (dalla subnet locale o da una rete remota) e l'indirizzo di destinazione è 192.168.123.132, il computer lo riceverà dalla rete e lo elaborerà.

Quasi tutte le subnet mask decimali vengono convertite in numeri binari che sono composti da tutti numeri uno a sinistra e da tutti numeri zero a destra. Altre subnet mask comuni sono:

Decimale Binario
255.255.255.192 1111111.11111111.1111111.11000000
255.255.255.224 1111111.11111111.1111111.11100000

Lo standard Internet RFC 1878 (disponibile in Informazioni pubbliche InterNIC relative ai servizi di registrazione di un nome di dominio internet) descrive le subnet e le subnet mask valide che possono essere utilizzate sulle reti TCP/IP.

Classi di rete

Gli indirizzi Internet vengono allocati da InterNIC, l'organizzazione che amministra Internet. Questi indirizzi IP sono suddivisi in classi. Le più comuni sono le classi A, B e C. Le classi D ed E esistono, ma non vengono utilizzate dagli utenti finali. Ognuna delle classi di indirizzi ha una subnet mask predefinita diversa. È possibile identificare la classe di un indirizzo IP osservando il primo ottetto. Di seguito sono riportati gli intervalli di indirizzi Internet di classe A, B e C, ciascuno con un indirizzo di esempio:

  • Le reti di classe A utilizzano una subnet mask predefinita di 255.0.0.0 e hanno i numeri da 0 a 127 come primo ottetto. L'indirizzo 10.52.36.11 è un indirizzo di classe A. Il primo ottetto è 10 ed è compreso tra i numeri 1 e 126 inclusi.

  • Le reti di classe B utilizzano una subnet mask predefinita di 255.255.0.0 e hanno i numeri da 128 a 191 come primo ottetto. L'indirizzo 172.16.52.63 è un indirizzo di classe B. Il primo ottetto è 172 ed è compreso tra i numeri 128 e 191 inclusi.

  • Le reti di classe C utilizzano una subnet mask predefinita di 255.255.255.0 e hanno i numeri da 192 a 223 come primo ottetto. L'indirizzo 192.168.123.132 è un indirizzo di classe C. Il primo ottetto è 192 ed è compreso tra i numeri 192 e 223 inclusi.

In alcuni scenari, i valori predefiniti della subnet mask non sono adatti alle esigenze dell'organizzazione per uno dei motivi seguenti:

  • La topologia fisica della rete
  • Il numero di reti (o host) non rientra nelle restrizioni di subnet mask predefinite.

La sezione successiva spiega come suddividere le reti utilizzando le subnet mask.

Creazione di subnet

Una rete TCP/IP di classe A, B o C può essere ulteriormente divisa, o suddivisa in subnet, da un amministratore di sistema. Ciò diventa necessario quando si riconcilia lo schema di indirizzi logici di Internet (il mondo astratto degli indirizzi IP e delle subnet) con le reti fisiche utilizzate nelle situazioni reali.

Un amministratore di sistema a cui è allocato un blocco di indirizzi IP può amministrare reti non organizzate in modo che si adattino facilmente a questi indirizzi. Ad esempio, si dispone di una rete geografica con 150 host su tre reti (in città diverse) connesse da un router TCP/IP. Ognuna di queste tre reti ha 50 host. Viene assegnata la rete di classe C 192.168.123.0. (Ad esempio, questo indirizzo in realtà proviene da un intervallo non allocato su Internet.) Ciò significa che per i 150 host è possibile utilizzare gli indirizzi da 192.168.123.1 a 192.168.123.254.

Due indirizzi che non possono essere utilizzati nell'esempio sono 192.168.123.0 e 192.168.123.255 perché gli indirizzi binari con una parte host composta tutta da numeri uno e da numeri zero non sono validi. L'indirizzo zero non è valido perché viene utilizzato per specificare una rete senza indicare un host. L'indirizzo 255 (in notazione binaria, un indirizzo host composto tutto da numeri uno) viene utilizzato per trasmettere un messaggio a tutti gli host di una rete. Basta ricordare che il primo e l'ultimo indirizzo in qualsiasi rete o subnet non possono essere assegnati a nessun host singolo.

A questo punto dovrebbe essere possibile assegnare gli indirizzi IP ai 254 host. Ciò è possibile solo se tutti i 150 computer si trovano su una rete singola. Tuttavia, i 150 computer si trovano su tre reti fisiche separate. Invece di richiedere più gruppi di indirizzi per ogni rete, è opportuno suddividere la rete in subnet che consentano di utilizzare un gruppo di indirizzi su più reti fisiche.

In questo caso, occorre dividere la rete in quattro subnet utilizzando una subnet mask che renda più esteso l'indirizzo di rete e più ridotto il possibile intervallo di indirizzi host. In altre parole, si "prendendo in prestito" alcuni dei bit utilizzati per l'indirizzo host, impiegandoli per la porzione di rete dell'indirizzo. La subnet mask 255.255.255.192 genera quattro reti composte da 62 host ciascuna. Ciò accade poiché in notazione binaria 255.255.255.192 equivale a 1111111.1111111.111111.11000000. Le prime due cifre dell'ultimo ottetto diventano indirizzi di rete, quindi si ottengono le reti aggiuntive 00000000 (0), 01000000 (64), 10000000 (128) e 11000000 (192). (Alcuni amministratori utilizzeranno solo due delle sottoreti utilizzando 255.255.255.192 come subnet mask. Per ulteriori informazioni su questo argomento, vedere RFC 1878.) In queste quattro reti, le ultime sei cifre binarie possono essere utilizzate per gli indirizzi host.

Utilizzando una subnet mask di 255.255.255.192, la rete 192.168.123.0 genera quindi le quattro reti 192.168.123.0, 192.168.123.64, 192.168.123.128 e 192.168.123.192. Queste quattro reti avranno come indirizzi host validi:

192.168.123.1-62 192.168.123.65-126 192.168.123.129-190 192.168.123.193-254

Si ricordi ancora che gli indirizzi host binari composti da soli 1 o da soli 0 non sono validi, quindi non sarà possibile utilizzare indirizzi il cui ultimo ottetto sia 0, 63, 64, 127, 128, 191, 192 o 255.

È possibile osservarne il funzionamento esaminando i due indirizzi host 192.168.123.71 e 192.168.123.133. Se è stata utilizzata la subnet mask predefinita di classe C uguale a 255.255.255.0, entrambi gli indirizzi saranno sulla rete 192.168.123.0. Tuttavia, se si utilizza la subnet mask di 255.255.255.192, si troveranno su reti diverse. 192.168.123.71 sarà sulla rete 192.168.123.64, 192.168.123.133 sarà sulla rete 192.168.123.128.

Gateway predefiniti

Se un computer TCP/IP deve comunicare con un host su un'altra rete, di norma lo farà tramite una periferica denominata router. In termini TCP/IP, un router specificato su un host, che collega la subnet dell'host ad altre reti, è denominato gateway predefinito. Questa sezione illustra in che modo il protocollo TCP/IP determina se inviare o meno pacchetti al gateway predefinito per raggiungere un altro computer o un'altra periferica in rete.

Quando un host tenta di comunicare con un'altra periferica tramite protocollo TCP/IP, confronta la subnet mask definita e l'indirizzo IP di destinazione con la subnet mask e il proprio indirizzo IP. Il risultato di questo confronto indica al computer se la destinazione è un host locale o remoto.

Se il risultato di questo processo determina che la destinazione è un host locale, il computer invierà il pacchetto alla subnet locale. Se il risultato del confronto determina che la destinazione è un host remoto, il computer inoltrerà il pacchetto al gateway predefinito impostato nelle relative proprietà TCP/IP. È quindi responsabilità del router inoltrare il pacchetto alla subnet corretta.

Risoluzione dei problemi

I problemi di rete TCP/IP sono spesso causati da una configurazione errata delle tre voci principali nelle proprietà TCP/IP di un computer. Analizzando l'impatto degli errori nella configurazione TCP/IP sulle operazioni di rete è possibile risolvere molti problemi comuni del protocollo TCP/IP.

Subnet mask errata: se una rete utilizza una subnet mask diversa da quella predefinita per la propria classe di indirizzo e un client è ancora configurato con la subnet mask predefinita relativa a tale classe di indirizzo, la comunicazione con alcune reti vicine avrà esito negativo, mentre avrà successo su quelle distanti. Ad esempio, se si creano quattro subnet (come nel relativo esempio) ma si utilizza la subnet mask non corretta di 255.255.255.0 nella configurazione TCP/IP, gli host non saranno in grado di determinare che alcuni computer si trovano in subnet diverse dalle loro. In questo caso, i pacchetti destinati agli host su reti fisiche diverse che fanno parte dello stesso indirizzo di classe C non verranno inviati a un gateway predefinito per il recapito. Un sintomo comune di questo problema è quando un computer può comunicare con gli host che si trovano nella rete locale e con tutte le reti remote ad eccezione di quelle nelle vicinanze che hanno lo stesso indirizzo di classe A, B o C. Per risolvere il problema, basta immettere la subnet mask corretta nella configurazione TCP/IP per l'host.

Indirizzo IP errato: se su una rete locale vengono messi computer con indirizzi IP che devono essere su subnet separate, questi non saranno in grado di comunicare. Proveranno a inviare pacchetti tra di loro tramite un router che non è in grado di inoltrarli correttamente. Un sintomo di questo problema è un computer che può comunicare con gli host su reti remote, ma non può comunicare con alcuni, oppure con tutti, i computer della rete locale. Per risolvere questo problema, si deve verificare che tutti i computer della stessa rete fisica abbiano gli indirizzi IP nella stessa subnet IP. Se gli indirizzi IP su un singolo segmento di rete sono esauriti, esistono soluzioni che esulano dall'ambito di questo articolo.

Gateway predefinito non corretto: un computer configurato con un gateway predefinito non corretto può comunicare con gli host nel proprio segmento di rete. Tuttavia, non sarà in grado di comunicare con gli host su alcune, oppure su tutte, le reti remote. Un host può comunicare con alcune reti remote, ma non con le altre se si verificano le condizioni seguenti:

  • Una singola rete fisica dispone di più di un router.
  • Il router errato è configurato come gateway predefinito.

Questo problema è comune se un'organizzazione dispone di un router per una rete TCP/IP interna e un altro router connesso a Internet.

Riferimenti

Due riferimenti popolari su TCP/IP sono:

  • "TCP/IP Illustrated, Volume 1: The Protocols", Richard Stevens, Addison Wesley, 1994
  • "Internetworking with TCP/IP, Volume 1: Principles, Protocols, and Architecture", Douglas E. Comer, Prentice Hall, 1995

È consigliabile che un amministratore di sistema responsabile delle reti TCP/IP abbia a disposizione almeno uno di questi riferimenti.

Glossario

  • Indirizzo broadcast: un indirizzo IP con una parte host che è composta da tutti uno.

  • Host: computer o altro dispositivo su una rete TCP/IP.

  • Internet: raccolta globale di reti connesse tra loro e che condividono un intervallo comune di indirizzi IP.

  • InterNIC: organizzazione responsabile dell'amministrazione degli indirizzi IP su Internet.

  • IP: protocollo di rete utilizzato per l'invio di pacchetti di rete su una rete TCP/IP o su Internet.

  • Indirizzo IP: indirizzo univoco a 32 bit per un host su una rete TCP/IP o internetwork.

  • Rete: esistono due utilizzi del termine rete in questo articolo. Uno definisce un gruppo di computer in un singolo segmento di rete fisico. L'altro definisce un intervallo di indirizzi di rete IP allocato da un amministratore di sistema.

  • Indirizzo di rete: un indirizzo IP con una parte host che è composta da tutti zero.

  • Ottetto: numero a 8 bit, 4 dei quali costituiti da un indirizzo IP a 32 bit. Hanno un intervallo di 00000000-11111111 che corrispondono ai valori decimali 0-255.

  • Pacchetto: un'unità di dati passata su una rete TCP/IP o su una rete WAN (Wide Area Network).

  • RFC (Request for Comment): documento utilizzato per definire gli standard su Internet.

  • Router: dispositivo che instrada il traffico di rete tra reti IP diverse.

  • Subnet Mask: numero a 32 bit utilizzato per distinguere le parti di rete e host di un indirizzo IP.

  • Subnet o Subnetwork: una rete più piccola creata dividendo una rete più grande in parti uguali.

  • TCP/IP: a livello generale, il set di protocolli, standard e utilità comunemente in uso su Internet e su reti di grandi dimensioni.

  • WAN (Wide Area Network): una rete di grandi dimensioni che costituisce una raccolta di reti più piccole separate da router. Internet è un esempio di WAN di grandi dimensioni.