Nozioni fondamentali sul protocollo TCP/IP per Microsoft Windows

Nozioni fondamentali sul protocollo TCP/IP per Microsoft Windows: Capitolo 1 - Introduzione al protocollo TCP/IP
http://technet.microsoft.com/it-it/library/bb726991.aspx
Capitolo 1 - Introduzione al protocollo TCP/IP
Abstract
Nel presente capitolo vengono fornite informazioni introduttive su TCP/IP (Transmission Control Protocol/Internet
Protocol), sia in quanto suite di protocolli standard del settore sia in quanto protocollo supportato dai sistemi operativi
Microsoft® Windows Server™ 2003 e Windows® XP. Per quanto riguarda la suite di protocolli TCP/IP, è necessario
che gli amministratori di rete comprendano l'evoluzione negli anni passati, i processi attuali relativi agli standard e i
termini comuni utilizzati per descrivere le periferiche di rete e le parti di una rete. Per quanto riguarda i componenti
TCP/IP di Windows Server 2003 e Windows XP, è necessario che gli amministratori di rete comprendano le differenze
di installazione e configurazione tra i componenti basati su IPv4 (Internet Protocol version 4) e quelli basati su IPv6
(Internet Protocol version 6), nonché gli strumenti principali per la risoluzione dei problemi.
In questa pagina
Obiettivi del capitolo
Cronologia relativa a TCP/IP
Processi relativi agli standard Internet
Terminologia relativa al protocollo TCP/IP
Componenti TCP/IP in Windows
Riepilogo del capitolo
Glossario del capitolo
Obiettivi del capitolo
Al termine di questo capitolo, si sarà in grado di eseguire le seguenti attività:









Descrivere le finalità e l'evoluzione della suite di protocolli TCP/IP.
Descrivere i processi relativi agli standard Internet e lo scopo di un documento RFC (Request for Comments).
Definire i termini comuni relativi a TCP/IP.
Descrivere i vantaggi dei componenti TCP/IP in Windows Server 2003 e Windows XP.
Descrivere le modalità di configurazione del componente TCP/IP basato su IPv4 in Windows.
Descrivere le modalità di installazione e configurazione del componente TCP/IP basato su IPv6 in Windows.
Elencare e definire l'insieme di file per la risoluzione dei nomi e gli strumenti diagnostici utilizzati dai
componenti TCP/IP in Windows.
Verificare i componenti TCP/IP di Windows tramite gli strumenti Ipconfig e Ping.
Installare e utilizzare Network Monitor.
Cronologia relativa a TCP/IP
TCP/IP (Transmission Control Protocol/Internet Protocol) è una suite di protocolli standard del settore progettata per
reti di grandi dimensioni costituite da segmenti connessi tramite router. TCP/IP è il protocollo utilizzato in Internet,
dove sono raccolte migliaia di reti dislocate in tutto il mondo che connettono strutture di ricerca, università, biblioteche,
enti governativi, società private e singoli utenti.
L'origine di TCP/IP risale al progetto di ricerca DARPA (Department of Defense (DoD) Advanced Research Projects)
condotto dal Dipartimento della Difesa degli Stati Uniti tra la fine degli anni '60 e l'inizio degli anni '70. Di seguito è
riportato un elenco di alcune importanti tappe del protocollo TCP/IP:


Nel 1970 gli host ARPANET iniziano a utilizzare il protocollo NCP (Network Control Protocol), una forma
preliminare di quello che sarebbe diventato il protocollo TCP (Transmission Control Protocol).
Nel 1972 viene introdotto il protocollo Telnet. Telnet viene utilizzato per l'emulazione di terminale, al fine di
connettere sistemi diversi. All'inizio degli anni '70 tali sistemi erano rappresentati da tipi diversi di computer
mainframe.









Nel 1973 viene introdotto il protocollo FTP (File Transfer Protocol). Tale protocollo viene utilizzato per lo
scambio di file tra sistemi diversi.
Nel 1974 viene specificato in modo dettagliato il protocollo TCP (Transmission Control Protocol). TCP
sostituisce NCP offrendo servizi migliorati e affidabili per le comunicazioni.
Nel 1981 viene specificato in modo dettagliato il protocollo IP (Internet Protocol), detto anche IPv4 (IP version
4). Tale protocollo fornisce funzionalità di indirizzamento e routing per il recapito end-to-end.
Nel 1982 l'organismo per la difesa delle comunicazioni (DCA, Defense Communications Agency) e l'ARPA
costituiscono la suite di protocolli TCP/IP, formata dai protocolli TCP (Transmission Control Protocol) e IP
(Internet Protocol).
Nel 1983 ARPANET passa da NCP a TCP/IP.
Nel 1984 viene introdotto il protocollo DNS (Domain Name System). Tale protocollo consente di risolvere i
nomi di dominio, ad esempio www.esempio.com, in indirizzi IP, ad esempio 192.168.5.18.
Nel 1995 i provider di servizi Internet (ISP, Internet Service Provider) iniziano a offrire l'accesso a Internet ad
aziende e singoli utenti.
Nel 1996 viene introdotto il protocollo HTTP (Hypertext Transfer Protocol). Tale protocollo viene utilizzato
nel World Wide Web.
Nel 1996 viene pubblicato il primo insieme di standard IPv6 (IP version 6).
Per ulteriori informazioni su questi protocolli e sui livelli dell'architettura del protocollo TCP/IP, vedere il capitolo 2
"Panoramica dell'architettura della suite di protocolli TCP/IP".
Con il perfezionamento degli standard IPv6 e la loro adozione su scala sempre più vasta, i capitoli del presente
documento sono basati sui presupposti seguenti:




TCP/IP è l'intera suite di protocolli definita per l'utilizzo in reti private e Internet. TCP/IP include entrambi i
protocolli IPv4 e IPv6.
IPv4 rappresenta il livello Internet della suite di protocolli TCP/IP, originariamente definito per l'utilizzo in
Internet. Attualmente il protocollo IPv4 è molto diffuso.
IPv6 rappresenta il livello Internet della suite di protocolli TCP/IP, sviluppato di recente. Il protocollo IPv6 si
sta attualmente diffondendo.
IP è il termine utilizzato per descrivere le funzionalità o gli attributi che si applicano sia a IPv4 che a IPv6. Un
indirizzo IP può ad esempio essere un indirizzo IPv4 o un indirizzo IPv6.
Nota Poiché il termine IP attualmente indica il protocollo IPv4 nella maggior parte delle implementazioni
TCP/IP, in alcuni casi il termine IP verrà utilizzato per indicare IPv4. I riferimenti di questo tipo verranno resi
chiari nel contesto della discussione. Quando possibile, nei capitoli del presente documento in linea verrà
utilizzato il termine IP (IPv4).
Processi relativi agli standard Internet
Poiché TCP/IP è il protocollo utilizzato in Internet, la sua evoluzione si è basata su standard fondamentali creati e
adottati per più di trent'anni. Il futuro del protocollo TCP/IP è in stretta correlazione con le innovazioni e la gestione di
Internet, per cui vengono continuamente sviluppati nuovi standard. Sebbene Internet e le relative tecnologie non siano
di proprietà di alcuna organizzazione, vi sono alcune organizzazioni che si occupano della supervisione e del controllo
di questi nuovi standard, ad esempio l'Internet Society e l'IAC (Internet Architecture Board).
L'Internet Society (ISOC) è stata creata nel 1992 ed è un'organizzazione globale responsabile per le applicazioni e le
tecnologie di comunicazione di rete Internet. Sebbene lo scopo principale della società sia quello di incoraggiare lo
sviluppo e la disponibilità di Internet, l'organizzazione è anche responsabile dello sviluppo degli standard e dei
protocolli che stanno alla base del funzionamento di Internet.
L'ISOC sponsorizza l'IAB (Internet Architecture Board), un gruppo di consulenza tecnica incaricato di impostare gli
standard Internet, pubblicare le specifiche RFC e sovrintendere ai processi relativi agli standard Internet. L'IAB
controlla gli enti seguenti:


L'autorità IANA (Internet Assigned Number Authority) sovrintende e coordina l'assegnazione degli
identificatori di protocollo utilizzati in Internet.
L'IRTF (Internet Research Task Force) coordina tutti i progetti di ricerca relativi a TCP/IP.

L'IETF (Internet Engineering Task Force) si occupa di risolvere i problemi tecnici e soddisfare le nuove
esigenze in ambito Internet, nonché di sviluppare protocolli e standard Internet. I gruppi di lavoro IETF
definiscono gli standard noti come RFC.
Documenti RFC (Request For Change)
Gli standard relativi al protocollo TCP/IP vengono pubblicati in una serie di documenti detti RFC (Requests for
Comments). Tali documenti descrivono il funzionamento interno di Internet. Gli standard TCP/IP vengono sempre
pubblicati in documenti RFC, sebbene non tutti i documenti di questo tipo contengano specifiche di standard. Alcuni
documenti RFC forniscono esclusivamente informazioni generali, dati sperimentali o nozioni storiche.
Inizialmente un documento RFC viene creato come bozza Internet, solitamente sviluppata da uno o più autori in un
gruppo di lavoro IETF. Un gruppo di lavoro IETF è un gruppo di singoli individui con compiti correlati a una specifica
area tecnologica della suite di protocolli TCP/IP. Il gruppo di lavoro IPv6 si occupa ad esempio di favorire
l'avanzamento degli standard IPv6. Dopo un periodo di revisione e dopo avere ottenuto il consenso, l'IETF pubblica una
versione finale della bozza Internet assegnando ad essa un numero RFC.
Ai documenti RFC viene inoltre assegnato uno dei cinque livelli di classificazione elencati nella tabella 1-1.
Livello di classificazione
Descrizione
Required (Necessario)
È necessario provvedere all'implementazione in tutti i gateway e gli host basati su TCP/IP.
Recommended
È consigliabile che le specifiche RFC vengano implementate in tutti i gateway e gli host
(Consigliato)
basati su TCP/IP. I documenti RFC consigliati vengono in genere implementati.
L'implementazione è facoltativa. L'applicazione della specifica è stata accettata ma il suo
Elective (Facoltativo)
utilizzo non si è mai diffuso su vasta scala.
Limited use (Utilizzo
La specifica non è destinata all'utilizzo su vasta scala.
limitato)
Not recommended (Non
Non è consigliata l'implementazione.
consigliato)
Tabella 1-1 Livelli di classificazione per i documenti RFC
Se un documento RFC viene considerato come standard, passa attraverso le fasi di sviluppo, verifica e accettazione. Per
quanto riguarda i processi relativi agi standard Internet, tali fasi vengono formalmente definite livelli di maturità.
Agli standard Internet viene associato uno dei tre livelli di maturità elencati nella tabella 1-2. I livelli di maturità sono
determinati dal gruppo di lavoro IETF che si occupa del documento RFC e non dipendono dai livelli di classificazione.
Livello di
Descrizione
maturità
Proposed Standard Una specifica di tipo Proposed Standard è in genere stabile, ha consentito di determinare scelte di
(Standard
progettazione note, è stata compresa a fondo, è stata sottoposta ad approfondite analisi e ha
proposto)
suscitato un discreto interesse nella comunità, che ne indica il valore.
Una specifica di tipo Draft Standard deve essere compresa e conosciuta a fondo per raggiungere
Draft Standard
una certa stabilità, sia per quanto riguarda la semantica che in qualità di base per lo sviluppo di
(Standard bozza)
un'implementazione.
Una specifica di tipo Internet Standard, detta anche semplicemente Standard, è caratterizzata da un
Internet Standard
alto livello di maturità tecnica e da un'opinione generale che il protocollo o il servizio specificato
(Standard Internet)
offra vantaggi significativi alla comunità Internet.
Tabella 1-2 Livelli di maturità degli standard Internet
Se è necessario apportare modifiche a uno standard basato su RFC, l'IETF pubblica una nuova bozza Internet e, dopo un
periodo di revisioni, un nuovo documento RFC con un nuovo numero. Il documento RFC originale non viene mai
aggiornato. È pertanto necessario verificare di disporre del documento RFC più aggiornato per un determinato
argomento o standard. Nel corso dei capitoli del presente documento in linea si fa ad esempio riferimento a diversi
documenti RFC. Qualora si desideri verificare i dettagli tecnici di uno standard Internet nel relativo documento RFC, è
necessario assicurarsi di disporre del documento più recente relativo allo standard.
È possibile vedere i documenti RFC tramite il sito http://www.ietf.org/rfc.html (informazioni in lingua inglese).
Terminologia relativa al protocollo TCP/IP
In base agli standard Internet, per fare riferimento a concetti ed elementi di rete correlati al protocollo TCP/IP, viene
utilizzato un insieme di termini specifici. Tali termini serviranno da fondamento per i capitoli successivi. Nella figura 11 sono illustrati i componenti di una rete IP.
Figura 1-1 Elementi di una rete IP
I concetti e i termini comuni utilizzati in ambito TCP/IP sono i seguenti:




Nodo Qualsiasi periferica, inclusi router e host, in cui è in esecuzione un'implementazione di IP.
Router Nodo in grado di inoltrare pacchetti IP non esplicitamente indirizzati a se stesso. In una rete IPv6 un
router è inoltre in grado di annunciare la sua presenza e le informazioni sulla configurazione dell'host.
Host Nodo non in grado di inoltrare pacchetti IP non esplicitamente indirizzati a se stesso, ovvero una
periferica non di tipo router. Un host rappresenta generalmente l'origine e la destinazione del traffico IP. Un
host elimina automaticamente il traffico ricevuto non esplicitamente indirizzato a se stesso.
Protocollo di livello superiore Protocollo superiore a IP, che utilizza il protocollo IP come mezzo di
trasporto. Esempi di questo tipo sono i protocolli a livello di Internet, quale ICMP (Internet Control Message
Protocol) e i protocolli a livello di trasporto, quali TCP (Transmission Control Protocol) e UDP (User
Datagram Protocol). I protocolli di livello applicazione che utilizzano TCP e UDP come mezzo di trasporto
non sono tuttavia considerati protocolli di livello superiore. I protocolli FTP (File Transfer Protocol) e DNS
(Domain Name System) fanno parte di questa categoria. Per ulteriori informazioni sui livelli della suite di
protocolli TCP/IP, vedere il capitolo 2 "Panoramica dell'architettura della suite di protocolli TCP/IP".







Segmento LAN Parte di una subnet costituita da un unico supporto racchiuso tra bridge o switch di livello 2.
Subnet Uno o più segmenti LAN racchiusi tra router e che utilizzano lo stesso prefisso dell'indirizzo IP. Altri
termini utilizzati per indicare una subnet sono segmento di rete e collegamento.
Rete Due o più subnet connesse da router. Un altro termine utilizzato per indicare la rete è Internet.
Nodo adiacente Nodo connesso alla stessa subnet di un altro nodo.
Interfaccia Rappresentazione di una connessione fisica o logica di un nodo a una subnet. Una scheda di rete è
un esempio di interfaccia fisica. Un'interfaccia tunnel utilizzata per l'invio di pacchetti IPv6 in una rete IPv4 è
un esempio di interfaccia logica.
Indirizzo Identificatore che può essere utilizzato come origine o destinazione di pacchetti IP e che viene
assegnato a livello di Internet a un'interfaccia o a un insieme di interfacce.
Pacchetto PDU (Protocol Data Unit) esistente a livello di Internet composto da payload e intestazione IP.
Componenti TCP/IP in Windows
Nella tabella 1-3 sono elencati i vantaggi della suite di protocolli TCP/IP e dell'inserimento di componenti TCP/IP in
Windows.
Vantaggi della suite di protocolli TCP/IP
Protocollo per reti aziendali standard e instradabile, che costituisce il più
completo e diffuso tra i protocolli disponibili. Tutti i sistemi operativi
moderni supportano il protocollo TCP/IP e nelle reti private di grandi
dimensioni tale protocollo viene utilizzato per la maggior parte del
traffico.
Tecnologia per la connessione di sistemi diversi. Molti protocolli
applicativi TCP/IP sono stati creati per l'accesso ai dati e il loro
trasferimento tra sistemi diversi. Questi protocolli includono HTTP, FTP e
Telnet.
Infrastruttura client/server per più piattaforme scalabile e robusta.
Metodo di accesso a Internet.
Vantaggi dei componenti TCP/IP in
Windows
I componenti TCP/IP in Windows
consentono la connettività e la
comunicazione di rete a livello aziendale
per computer basati su Windows e non.
I componenti TCP/IP in Windows offrono
connettività basata sugli standard alle
piattaforme con sistemi operativi diversi.
I componenti TCP/IP in Windows
supportano le API di Windows Sockets,
utilizzate dagli sviluppatori per creare
applicazioni client/server.
I computer basati su Windows sono pronti
per l'utilizzo di Internet.
Tabella 1-3 Vantaggi della suite di protocolli TCP/IP e dei componenti TCP/IP in Windows
Windows include componenti TCP/IP basati sia su IPv4 che su IPv6.
Configurazione del componente TCP/IP basato su IPv4 in Windows
Il componente Protocollo Internet (TCP/IP) basato su IPv4 disponibile in Windows Server 2003 e Windows XP è
installato per impostazione predefinita e viene visualizzato come componente TCP/IP nella cartella Connessioni di rete.
A differenza delle versioni precedenti di Windows, non è possibile disinstallare il componente Protocollo Internet
(TCP/IP). È tuttavia possibile ripristinarne la configurazione predefinita utilizzando il comando netsh interface ip
reset. Per ulteriori informazioni sui comandi Netsh, vedere Guida in linea e supporto tecnico di Windows Server 2003 o
Windows XP.
Il componente Protocollo Internet (TCP/IP) può essere impostato per ottenere la configurazione in modo automatico o
da impostazioni specificate manualmente. Per impostazione predefinita, il componente è impostato per la
configurazione automatica dell'indirizzo. Nella figura 1-2 è illustrata la scheda Generale della finestra di dialogo
Proprietà - Protocollo Internet (TCP/IP).
Figura 1-2 Scheda Generale della finestra di dialogo relativa alle proprietà del componente Protocollo Internet
(TCP/IP).
Configurazione automatica
Se si imposta la configurazione automatica, all'avvio di Windows tramite il componente Protocollo Internet (TCP/IP)
viene eseguito un tentativo di individuare un server DHCP (Dynamic Host Configuration Protocol) e ottenere una
configurazione. In molte reti TCP/IP vengono utilizzati i server DHCP configurati per l'allocazione delle informazioni
sulla configurazione TCP/IP ai client nella rete.
Se tramite il componente Protocollo Internet (TCP/IP) non viene individuato un server DHCP, vengono verificate le
impostazioni nella scheda Configurazione alternativa. Questa scheda è illustrata nella figura 1-3.
Figura 1-3 Scheda Configurazione alternativa del componente Protocollo Internet (TCP/IP)
Nella scheda sono disponibili due opzioni:


Indirizzo IP privato automatico Scegliendo questa opzione, viene utilizzata la funzionalità APIPA
(Automatic Private IP Addressing). Tramite il componente Protocollo Internet (TCP/IP) viene selezionato
automaticamente un indirizzo IPv4 compreso nell'intervallo da 169.254.0.1 a 169.254.255.254, utilizzando la
subnet mask 255.255.0.0. Il client DHCP consente di garantire che l'indirizzo IPv4 scelto dal componente
Protocollo Internet (TCP/IP) non sia già in uso. Se l'indirizzo è in uso, ne viene scelto un altro e il processo
viene ripetuto fino a dieci indirizzi. Quando tramite il componente Protocollo Internet (TCP/IP) viene scelto un
indirizzo non in uso, l'interfaccia viene configurata con tale indirizzo.Con la funzionalità APIPA, gli utenti di
reti SOHO (Small Office/Home Office) con un'unica subnet possono utilizzare il protocollo TCP/IP senza che
sia necessario configurare o impostare in modo manuale un server DHCP. Tramite la funzionalità APIPA non
viene configurato un gateway predefinito e pertanto è consentito solo il traffico nella subnet locale.
Configurato dall'utente Scegliendo questa opzione, tramite il componente Protocollo Internet (TCP/IP) viene
utilizzata la configurazione specificata dall'utente. Si tratta di un'opzione utile quando un computer viene
utilizzato in più di una rete, non tutte le reti dispongono di un server DHCP e non si desidera utilizzare la
configurazione APIPA. Potrebbe ad esempio essere utile scegliere questa opzione nel caso in cui si disponga di
un computer portatile utilizzato sia in ufficio che a casa. In ufficio nel portatile viene utilizzata una
configurazione TCP/IP ottenuta da un server DHCP. A casa, dove non è presente alcun server DHCP, nel
portatile viene utilizzata automaticamente la configurazione manuale alternativa. Questa opzione consente di
accedere in modo semplice alle periferiche della rete domestica e a Internet e di eseguire senza problemi
attività in entrambe le reti, senza che sia necessario riconfigurare manualmente il componente Protocollo
Internet (TCP/IP).
Se si specifica una configurazione APIPA o una configurazione manuale alternativa, tramite il componente Protocollo
Internet (TCP/IP) viene continuamente eseguita in background la ricerca di un server DHCP ogni cinque minuti.
Qualora venga rilevato un server DHCP, non viene più utilizzata la configurazione manuale alternativa o APIPA ma
viene utilizzata la configurazione dell'indirizzo IPv4 ottenuta dal server DHCP.
Configurazione manuale
Per configurare manualmente il componente Protocollo Internet (TCP/IP), processo detto anche di creazione di una
configurazione statica, è necessario assegnare almeno i seguenti elementi:


Indirizzo IP Un indirizzo IP (IPv4) è un indirizzo logico a 32 bit utilizzato per identificare l'interfaccia di un
nodo TCP/IP basato su IPv4. Ogni indirizzo IPv4 è costituito da due parti: l'identificatore di rete (ID) e l'ID
host. l'ID di rete identifica tutti gli host nella stessa rete fisica. L'ID host identifica un host nella rete. Per ogni
interfaccia di una rete TCP/IP basata su IPv4 è necessario un indirizzo IPv4 univoco, ad esempio
131.107.2.200.
Subnet mask Una subnet mask consente al componente Protocollo Internet (TCP/IP) di distinguere tra ID di
rete e ID host. Un esempio di subnet mask è 255.255.255.0.
Per ulteriori informazioni sugli indirizzi IPv4 e sulle subnet mask, vedere il capitolo 3 "Indirizzi IP".
È necessario configurare questi parametri per ogni scheda di rete nel nodo che utilizza il componente Protocollo Internet
(TCP/IP). Se si desidera effettuare la connessione a nodi al di fuori della subnet locale, è anche necessario assegnare
l'indirizzo IPv4 di un gateway predefinito, costituito da un router nella subnet locale a cui è connesso il nodo. Tramite il
componente Protocollo Internet (TCP/IP), i pacchetti destinati alle reti remote vengono inviati al gateway predefinito,
qualora non siano configurate altre route nell'host locale.
È anche possibile configurare manualmente gli indirizzi IPv4 dei server DNS primario e alternativo. Tramite il
componente Protocollo Internet (TCP/IP) vengono utilizzati i server DNS per la risoluzione dei nomi, ad esempio
www.esempio.com, in indirizzi IPv4 o IPv6.
Nella figura 1-4 è illustrato un esempio di configurazione manuale del componente Protocollo Internet (TCP/IP).
Figura 1-4 Esempio di configurazione manuale del componente Protocollo Internet (TCP/IP)
È inoltre possibile configurare manualmente il componente Protocollo Internet (TCP/IP) utilizzando i comandi netsh
interface ip al prompt dei comandi.
Installazione e configurazione del componente TCP/IP basato su IPv6 in Windows
Windows XP Service Pack 1 (SP1) e Windows Server 2003 sono le prime versioni di Windows che supportano il
protocollo IPv6 in ambiente di produzione. Il componente IPv6 viene installato in Connessioni di rete ed è denominato
Microsoft TCP/IP versione 6 in Windows Server 2003 e Microsoft IPv6 Developer Edition in Windows XP SP1.
Nota Il componente Microsoft IPv6 Developer Edition incluso nella versione di Windows XP senza service pack era
destinato solo agli sviluppatori e non all'utilizzo in ambienti di produzione. Tutti gli argomenti della Guida in linea di
quella versione contengono pertanto una dichiarazione di non responsabilità relativa alle limitazioni e ai tipi di utilizzo
supportati. Nel Service Pack 1 è disponibile una versione di IPv6 destinata all'utilizzo in ambiente di produzione. Per il
Service Pack 1 non sono tuttavia stati aggiornati gli argomenti della Guida in linea. Se è stato installato il Service Pack
1, è pertanto possibile ignorare la dichiarazione di non responsabilità.
A differenza del componente Protocollo Internet (TCP/IP), il componente IPv6 non è installato per impostazione
predefinita ed è possibile disinstallarlo. È possibile installare il componente IPv6 scegliendo tra i metodi seguenti:


Utilizzando la cartella Connessioni di rete.
Utilizzando il comando netsh interface ipv6 install.
Per installare il componente IPv6 in Windows Server 2003 utilizzando la cartella Connessioni di rete, eseguire le
operazioni seguenti:
1.
2.
3.
4.
5.
6.
Fare clic sul pulsante Start, scegliere Pannello di controllo, quindi fare doppio clic su Connessioni di rete.
Fare clic con il pulsante destro del mouse su qualsiasi connessione alla rete locale, quindi scegliere Proprietà.
Fare clic su Installa.
Nella finestra di dialogo Selezione tipo di componente di rete selezionare Protocollo, quindi scegliere
Aggiungi.
Nella finestra di dialogo Selezione protocollo di rete selezionare Microsoft TCP/IP versione 6, quindi
scegliere OK.
Scegliere Chiudi per salvare le modifiche.
A differenza del componente Protocollo Internet (TCP/IP), per il componente IPv6 non è disponibile una finestra di
dialogo delle proprietà che consente di configurare gli indirizzi e le impostazioni IPv6. La configurazione deve essere
eseguita automaticamente per gli host IPv6 e manualmente per i router IPv6.
Configurazione automatica
Il componente Microsoft TCP/IP versione 6 supporta l'autoconfigurazione degli indirizzi. Tutti i nodi IPv6 consentono
la creazione automatica di indirizzi IPv6 univoci per l'utilizzo tra nodi adiacenti in una subnet. Per raggiungere le
destinazioni remote, all'avvio tramite ogni host IPv6 viene inviato un messaggio di richiesta router al fine di individuare
i router locali nella subnet. Un router IPv6 nella subnet risponde con un messaggio di annuncio router, che viene
utilizzato dall'host IPv6 per configurare automaticamente gli indirizzi IPv6, il router predefinito e altre impostazioni
IPv6.
Configurazione manuale
In genere, non è necessario configurare manualmente un host IPv6. Qualora l'host richieda la configurazione manuale,
utilizzare i comandi netsh interface ipv6 per aggiungere indirizzi o route e configurare altre impostazioni.
Se si sta configurando come router IPv6 un computer in cui è in esecuzione Windows XP SP1 o Windows Server 2003,
utilizzare i comandi netsh interface ipv6 per configurare manualmente il componente IPv6 con i prefissi degli indirizzi.
File per la risoluzione dei nomi in Windows
I componenti Protocollo Internet (TCP/IP) e Microsoft TCP/IP versione 6 supportano l'utilizzo di file per la risoluzione
dei nomi di destinazioni, reti, protocolli e servizi. Nella tabella 1-4 sono elencati tali file, memorizzati nella cartella
radice sistema\System32\Drivers\Etc.
Nome
file
Hosts
Lmhosts
Networks
Protocol
Services
Descrizione
Consente di risolvere i nomi degli host in indirizzi IPv4 o IPv6.
Consente di risolvere i nomi NetBIOS (Network Basic Input/Output System) in indirizzi IPv4. Per
impostazione predefinita, è disponibile un file Lmhosts (Lmhosts.sam) di esempio. È possibile creare diversi
file denominati Lmhosts oppure rinominare o copiare il file Lmhosts.sam nel file Lmhosts in questa cartella.
Consente di risolvere i nomi di rete in ID di rete IPv4.
Consente di risolvere i nomi di protocollo in numeri di protocollo definiti nei documenti RFC. Un numero di
protocollo è un campo dell'intestazione IPv4 che identifica il protocollo di livello superiore, ad esempio TCP
o UDP, a cui deve essere passato il payload del pacchetto IPv4.
Consente di risolvere i nomi di servizi in numeri di porte e nomi di protocolli. I numeri di porte
corrispondono ai campi delle intestazioni TCP o UDP che identificano l'applicazione tramite TCP o UDP.
Tabella 1-4 File per la risoluzione dei nomi in Windows
Strumenti TCP/IP in Windows
Nella tabella 1-5 sono elencati gli strumenti diagnostici TCP/IP inclusi in Windows Server 2003 e Windows XP. È
possibile utilizzare tali strumenti per identificare o risolvere i problemi di rete TCP/IP.
Strumento
Descrizione
Consente di visualizzare e modificare la cache ARP (Address Resolution Protocol). La cache ARP consente
Arp
di mappare gli indirizzi IPv4 agli indirizzi MAC (Media Access Control). Tali mapping vengono utilizzati
in Windows per inviare dati nella rete locale.
Hostname Consente di visualizzare il nome dell'host nel computer.
Consente di visualizzare i valori della configurazione TCP/IP corrente sia per IPv4 che per IPv6. Utilizzato
Ipconfig
anche per gestire la configurazione DHCP e la cache del resolver del client DNS.
Consente di visualizzare lo stato delle code di stampa nei server di stampa in cui è in esecuzione il software
Lpq
LPD (Line Printer Daemon).
Consente di verificare lo stato delle connessioni NetBIOS su TCP/IP (NetBT) correnti, di aggiornare la
Nbtstat
cache Lmhosts e di determinare i nomi registrati e l'ID ambito.
Consente di visualizzare e gestire le impostazioni relative a IPv4 o IPv6 nel computer locale o in un
Netsh
computer remoto.
Netstat
Consente di visualizzare dati statistici e altre informazioni sulle connessioni IPv4 e IPv6 correnti.
Nslookup Consente di eseguire query in un server DNS.
Ping
Consente di verificare la connettività IPv4 o IPv6 ad altri nodi IP.
Consente di visualizzare le tabelle di routing IPv4 e IPv6 locali e di modificare la tabella di routing IPv4
Route
locale.
Tracert
Consente di tenere traccia della route di un pacchetto IPv4 o IPv6 verso la destinazione.
Consente di tenere traccia della route di un pacchetto IPv4 o IPv6 verso la destinazione e di visualizzare le
Pathping
informazioni sulle perdite di pacchetti per ogni router e subnet nel percorso.
Tabella 1-5 Strumenti diagnostici TCP/IP in Windows
Windows Server 2003 e Windows XP includono inoltre strumenti della riga di comando per il trasferimento dei dati
tramite FTP, TFTP (Trivial File Transfer Protocol), Telnet e connettività a risorse basate su Unix.
Dopo avere configurato TCP/IP, è possibile utilizzare gli strumenti Ipconfig e Ping per verificare la configurazione e la
connettività ad altri host e reti TCP/IP.
Strumento Ipconfig
È possibile utilizzare lo strumento Ipconfig per verificare i parametri della configurazione TCP/IP in un host, tra cui:


Per IPv4, l'indirizzo IPv4, la subnet mask e il gateway predefinito.
Per IPv6, gli indirizzi IPv6 e il router predefinito.
Ipconfig è utile per determinare se la configurazione è stata inizializzata e se è stato configurato un indirizzo IP
duplicato. Per visualizzare queste informazioni, digitare ipconfig al prompt dei comandi.
Di seguito è riportato un esempio delle informazioni visualizzate tramite lo strumento Ipconfig per un computer in cui
sono in uso entrambi i protocolli IPv4 e IPv6:
C:\>ipconfigWindows IP ConfigurationEthernet adapter Local Area Connection:
Connection-specific DNS Suffix . :
wcoast.example.com IP Address. . . .
........:
157.60.139.77 Subnet Mask . . . . . . . . . . .
:
255.255.252.0 IP Address. . . . . . . . . . . .
:
3ffe:ffff:ffff:f282:204:76ff:fe36:7363 IP Address. . . . . . . . . . . .
:
fec0::f282:204:76ff:fe36:7363%2 IP Address. . . . . . . . . . . .
:
fe80::204:76ff:fe36:7363 Default Gateway . . . . . . . . .
:
157.60.136.1
3ffe:ffff:1:21ad:210:ffff:fed6:58c0Tunnel adapter
Automatic Tunneling Pseudo-Interface: Connection-specific DNS Suffix .
:
wcoast.example.com IP Address. . . . . . . . . . . .
:
3ffe:ffff:ffff:f70f:0:5efe:157.60.139.77 IP Address. . . . . . . . . . . .
:
fe80::5efe:157.60.139.77%2 Default Gateway . . . . . . . . .
:
fe80::5efe:157.54.253.9%2
Digitare ipconfig /all al prompt dei comandi per visualizzare gli indirizzi IPv4 e IPv6 dei server DNS, gli indirizzi IPv4
dei server WINS (Windows Internet Name Service), che consentono di risolvere i nomi NetBIOS in indirizzi IP,
l'indirizzo IPv4 del server DHCP e le informazioni di lease per gli indirizzi IPv4 configurati per DHCP.
Strumento Ping
Dopo aver verificato la configurazione tramite lo strumento Ipconfig, è possibile utilizzare lo strumento Ping per
verificare la connettività. Ping è uno strumento diagnostico che consente di verificare le configurazioni TCP/IP e di
diagnosticare errori di connessione. Per IPv4, vengono utilizzati i messaggi eco e di risposta eco ICMP per determinare
la disponibilità e la funzionalità di uno specifico host basato su IPv4. Per IPv6, viene utilizzato il protocollo ICMP
(ICMPv6) per i messaggi di richiesta eco e di risposta eco IPv6. La sintassi dei comandi di base è ping destinazione,
dove destinazione rappresenta un indirizzo IPv4 o IPv6 oppure un nome che può essere risolto in indirizzo IPv4 o IPv6.
Di seguito è riportato un esempio delle informazioni visualizzate tramite lo strumento Ping per una destinazione IPv4:
C:\>ping 157.60.136.1Pinging 157.60.136.1 with 32 bytes of data:Reply from
157.60.136.1: bytes=32 time<1ms TTL=255Reply from 157.60.136.1: bytes=32 time<1ms
TTL=255Reply from 157.60.136.1: bytes=32 time<1ms TTL=255Reply from 157.60.136.1:
bytes=32 time<1ms TTL=255Ping statistics for 157.60.136.1: Packets: Sent = 4,
Received = 4, Lost = 0 (0% loss),Approximate round trip times in milliseconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms
Di seguito è riportato un esempio delle informazioni visualizzate tramite lo strumento Ping per una destinazione IPv6:
C:\>ping 3ffe:ffff:1:21ad:210:ffff:fed6:58c0Pinging
3ffe:ffff:1:21ad:210:ffff:fed6:58c0 from 3ffe:ffff:1:21ad:204:76ff:fe36:7363 with 32
bytes of data:Reply from 3ffe:ffff:1:21ad:210:ffff:fed6:58c0: time<1msReply from
3ffe:ffff:1:21ad:210:ffff:fed6:58c0: time<1msReply from
3ffe:ffff:1:21ad:210:ffff:fed6:58c0: time<1msReply from
3ffe:ffff:1:21ad:210:ffff:fed6:58c0: time<1msPing statistics for
3ffe:ffff:1:21ad:210:ffff:fed6:58c0: Packets: Sent = 4, Received = 4, Lost = 0 (0%
loss),Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 1ms, Average = 0ms
Per verificare la configurazione di un computer e le connessioni router, eseguire le operazioni seguenti:
1.
2.
3.
Digitare ipconfig al prompt dei comandi per verificare l'inizializzazione della configurazione TCP/IP.
Effettuare il ping dell'indirizzo IPv4 del gateway predefinito o dell'indirizzo IPv6 del router predefinito per
verificarne il funzionamento e stabilire se è possibile comunicare con un nodo nella rete locale.
Effettuare il ping dell'indirizzo IPv4 o IPv6 di un nodo remoto per verificare se è possibile comunicare tramite
un router.
Se si inizia con il passaggio 3 e l'operazione va a buon fine, è possibile presumere che lo stesso valga per i passaggi 1 e
2.
Nota Non è possibile utilizzare lo strumento Ping per risolvere i problemi di connessione se il traffico ICMP e ICMPv6
viene rifiutato a causa di router per il filtro di pacchetti e di firewall basati su host.
Network Monitor
È possibile utilizzare Network Monitor per semplificare la risoluzione di complessi problemi di rete, in quanto tale
strumento consente di monitorare e acquisire il traffico di rete da analizzare. Network Monitor funziona configurando
una scheda di rete per l'acquisizione di tutti i pacchetti in entrata e in uscita.
È possibile definire filtri di acquisizione in modo da salvare solo frame specifici. I filtri consentono di salvare i frame in
base agli indirizzi MAC di origine e di destinazione, agli indirizzi del protocollo di origine e di destinazione e alle
corrispondenze dei modelli. Dopo che un pacchetto è stato acquisito, è possibile utilizzare un filtro di visualizzazione
per isolare ulteriormente un problema. Quando un pacchetto è stato acquisito e filtrato, tramite Network Monitor i dati
del pacchetto vengono interpretati e visualizzati in forma leggibile.
Nota Windows Server 2003 include una versione di Network Monitor che consente di acquisire i dati solo per il
computer locale. Microsoft Systems Management Server include una versione che consente di acquisire i dati per i
computer remoti.
Per istallare Network Monitor in Windows Server 2003, eseguire le operazioni seguenti:
1.
2.
3.
4.
Fare clic sul pulsante Start, scegliere Pannello di controllo, quindi Installazione applicazioni e fare clic su
Installazione componenti di Windows.
Nell'Aggiunta guidata componenti di Windows fare clic su Strumenti di gestione e controllo, quindi su
Dettagli.
In Strumenti di gestione e controllo selezionare la casella di controllo Strumenti Network Monitor, quindi
fare clic su OK.
Se vengono richiesti file aggiuntivi, inserire il CD del prodotto oppure digitare il percorso della posizione dei
file nella rete.
Nota Per eseguire questa procedura, è necessario effettuare l'accesso come membro del gruppo Administrators
nel computer locale o oppure avere ottenuto l'autorità appropriata tramite delega. Se il computer fa parte di un
dominio, la procedura può essere eseguita dai membri del gruppo Domain Admins.
Per analizzare il traffico di rete tramite Network Monitor, è necessario avviare l'acquisizione, generare il traffico di rete
da osservare, interrompere l'acquisizione, quindi visualizzare i dati.
Avvio di un'acquisizione
In Network Monitor vengono utilizzate diverse finestre per visualizzare i dati in modi differenti. Una delle finestre
principali è quella relativa all'acquisizione, illustrata nella figura 1-5.
Figura 1-5 Finestra relativa all'acquisizione in Network Monitor
Quando questa finestra è attiva, sulla barra degli strumenti sono disponibili opzioni per l'avvio, la sospensione,
l'interruzione oppure l'interruzione e la visualizzazione dei dati acquisiti. Scegliere Avvia dal menu Acquisizione per
avviare un'acquisizione. Durante l'acquisizione, vengono visualizzate le informazioni statistiche.
Interruzione di un'acquisizione
Dopo avere generato il traffico di rete che si desidera analizzare, scegliere Interrompi dal menu Acquisizione per
interrompere l'acquisizione. È quindi possibile avviare un'altra acquisizione oppure visualizzare i dati relativi
all'acquisizione corrente. Per interrompere un'acquisizione e visualizzarla immediatamente, scegliere Interrompi e
visualizza dal menu Acquisizione.
Visualizzazione dei dati
Quando si apre un'acquisizione da analizzare, viene visualizzata una finestra di riepilogo, con un elenco dei frame
presenti nell'acquisizione. Per ogni frame sono indicati un numero, l'ora di ricezione, gli indirizzi di origine e
destinazione, il protocollo di livello più alto utilizzato nel frame e una descrizione. Nella figura 1-6 è illustrato un
esempio della finestra di riepilogo.
Figura 1-6 Finestra di riepilogo di un'acquisizione in Network Monitor
Per ulteriori informazioni su un frame specifico, scegliere Riquadro Zoom dal menu Finestra. Utilizzando lo zoom,
nella finestra di riepilogo vengono visualizzati due riquadri ulteriori, il riquadro dei dettagli e quello contenente i dati
esadecimali. Nel primo riquadro sono visualizzate informazioni dettagliate sul protocollo, mentre nel secondo sono
riportati i singoli byte presenti nel frame. Nella figura 1-7 è illustrata la visualizzazione di un frame di un'acquisizione
di esempio, con l'utilizzo dello zoom.
Figura 1-7 Visualizzazione di un frame di un'acquisizione in Network Monitor con l'utilizzo dello zoom
Riepilogo del capitolo
Le principali informazioni fornite nel presente capitolo sono le seguenti:








TCP/IP è una suite di protocolli standard del settore progettata per reti di grandi dimensioni. Tale suite include
entrambi gli insiemi di protocolli IPv4 e IPv6.
Gli standard relativi al protocollo TCP/IP vengono pubblicati in una serie di documenti detti RFC.
In una rete basata su TCP/IP un router può inoltrare pacchetti non indirizzati al router, mentre un host non può.
Un nodo può essere costituito da un host o da un router.
In una rete basata su TCP/IP una subnet è costituita da uno o più segmenti LAN racchiusi tra router e che
utilizzano lo stesso prefisso dell'indirizzo IP e una rete è costituita da due o più subnet connesse tramite router.
Il componente TCP/IP basato su IPv4 in Windows è costituito dal componente Protocollo Internet (TCP/IP) in
Connessioni di rete. Tale componente è installato per impostazione predefinita e non può essere disinstallato. È
possibile configurare questo componente automaticamente, tramite DHCP o una configurazione alternativa,
oppure manualmente, tramite Connessioni di rete o lo strumento Netsh.
Il componente TCP/IP basato su IPv6 in Windows è costituito dal componente Microsoft TCP/IP versione 6 o
Microsoft IPv6 Developer Edition in Connessioni di rete. Tale componente non è installato per impostazione
predefinita e può essere disinstallato. È possibile configurare questo componente automaticamente, tramite la
funzione di scoperta router, oppure manualmente, tramite lo strumento Netsh.
Ipconfig e Ping sono i principali strumenti per la risoluzione dei problemi di connettività e configurazione IP di
base.
È possibile utilizzare Network Monitor per risolvere complessi problemi di rete, tramite acquisizione e
visualizzazione del traffico di rete da analizzare.
Glossario del capitolo
indirizzo - Identificatore che specifica l'origine o la destinazione di pacchetti IP e che viene assegnato a livello IP a
un'interfaccia o a un insieme di interfacce.
APIPA - Vedere Indirizzi IP privati automatici.
Indirizzi IP privati automatici - Funzionalità di Windows Server 2003 e Windows XP che consente di configurare
automaticamente un indirizzo IPv4 univoco compreso nell'intervallo da 169.254.0.1 a 169.254.255.254 e una subnet
mask 255.255.0.0. La funzionalità APIPA viene utilizzata quando il componente Protocollo Internet è impostato per la
configurazione automatica dell'indirizzo, non è disponibile alcun server DHCP e viene selezionata l'opzione Indirizzo
IP privato automatico nella scheda Configurazione alternativa.
host - Nodo che rappresenta generalmente l'origine e la destinazione del traffico IP. Gli host scartano automaticamente i
pacchetti ricevuti non indirizzati a un indirizzo IP dell'host stesso.
interfaccia - Rappresentazione di una connessione fisica o logica di un nodo a una subnet. Una scheda di rete è un
esempio di interfaccia fisica. Un'interfaccia tunnel utilizzata per l'invio di pacchetti IPv6 in una rete IPv4 è un esempio
di interfaccia logica.
IP - Funzionalità o attributi che si applicano sia a IPv4 che a IPv6. Un indirizzo IP può ad esempio essere un indirizzo
IPv4 o un indirizzo IPv6.
IPv4 - Protocolli a livello di Internet della suite di protocolli TCP/IP, come definito nel documento RFC 791.
Attualmente il protocollo IPv4 è molto diffuso.
IPv6 - Protocolli a livello di Internet della suite di protocolli TCP/IP, come definito nel documento RFC 2460. Il
protocollo IPv6 si sta attualmente diffondendo.
segmento LAN - Parte di una subnet costituita da un unico supporto racchiuso tra bridge o switch di livello 2.
nodo adiacente - Nodo connesso alla stessa subnet di un altro nodo.
rete - Due o più subnet connesse da router. Un altro termine utilizzato per indicare la rete è Internet.
nodo - Qualsiasi periferica, inclusi router e host, in cui è in esecuzione un'implementazione di IP.
pacchetto - PDU (Protocol Data Unit) esistente a livello di Internet composto da payload e intestazione IP.
RFC (Request for Comments) - Documento ufficiale in cui vengono specificati i dettagli per i protocolli inclusi nella
suite TCP/IP. I documenti RFC relativi a TCP/IP vengono creati e gestiti dall'IETF (Internet Engineering Task Force).
documento RFC - Vedere RFC (Request for Comments).
router - Nodo che può costituire l'origine e la destinazione del traffico IP e che è inoltre in grado di inoltrare pacchetti IP
non destinati a un indirizzo IP del router. In una rete IPv6 un router è inoltre in grado di annunciare la sua presenza e le
informazioni sulla configurazione dell'host.
subnet - Uno o più segmenti LAN racchiusi tra router e che utilizzano lo stesso prefisso dell'indirizzo IP. Altri termini
utilizzati per indicare una subnet sono segmento di rete e collegamento.
TCP/IP - Vedere Transmission Control Protocol/Internet Protocol (TCP/IP).
Transmission Control Protocol/Internet Protocol (TCP/IP) - Suite di protocolli di rete, inclusi IPv4 e IPv6, ampiamente
diffusi in Internet e che consentono la comunicazione tra reti interconnesse di computer con architetture hardware
diverse e vari sistemi operativi.
protocollo di livello superiore - Protocollo superiore a IP, che utilizza il protocollo IP come mezzo di trasporto. Esempi
di questo tipo sono i protocolli a livello di Internet, quale ICMP (Internet Control Message Protocol) e i protocolli a
livello di trasporto, quali TCP (Transmission Control Protocol) e UDP (User Datagram Protocol).
Nozioni fondamentali sul protocollo TCP/IP per Microsoft Windows: Capitolo 2: Panoramica dell'architettura della
suite di protocolli TCP/IP
http://technet.microsoft.com/it-it/library/bb726993.aspx
Capitolo 2: Panoramica dell'architettura della suite di protocolli TCP/IP
Abstract
Nel presente capitolo viene illustrato più dettagliatamente il modello TCP/IP (Transmission Control Protocol/Internet
Protocol) attraverso l'analisi dei suoi quattro livelli e dei protocolli principali utilizzati in ciascun livello. Gli
amministratori di rete devono conoscere i protocolli di base dei vari livelli con le relative funzioni per poter
comprendere il funzionamento delle applicazioni di rete, le modalità di invio di dati tra applicazioni e in che modo
interpretare le acquisizioni di rete. Nel presente capitolo vengono inoltre illustrate le due API (Application
Programming Interface) principali utilizzate dai sistemi operativi Microsoft® Windows® e gli schemi di
denominazione delle stesse.
In questa pagina
Obiettivi del capitolo
La suite di protocolli TCP/IP
Livello Internet IPv4
Livello Internet IPv6
TCP (Transmission Control Protocol)
UDP (User Datagram Protocol)
Multiplexing e demultiplexing di pacchetti
API (Application Programming Interface)
Schemi di denominazione TCP/IP in Windows
Riepilogo del capitolo
Glossario del capitolo
Obiettivi del capitolo
Al termine di questo capitolo si sarà in grado di eseguire le seguenti attività.








Descrivere in che modo la suite di protocolli TCP/IP corrisponde ai modelli DARPA (Department of Defense
Advanced Research Projects Agency) e OSI (Open System Interconnection).
Elencare i principali protocolli nei livelli Interfaccia di rete, Internet, Trasporto e Applicazione del modello
DARPA.
Illustrare lo scopo dei protocolli di base del livello Internet IPv4.
Illustrare lo scopo dei protocolli di base del livello Internet IPv6.
Illustrare lo scopo e le caratteristiche dei protocolli TCP e UDP (User Datagram Protocol).
Spiegare in che modo IP adopera le informazioni contenute nei pacchetti IP per recapitare dati all'applicazione
corretta nel nodo di destinazione.
Descrivere lo scopo e le caratteristiche delle API Windows Sockets e NetBIOS (Network Basic Input/Output
System).
Descrivere lo scopo e le caratteristiche del nome host e gli schemi di denominazione NetBIOS utilizzati dai
componenti TCP/IP nei sistemi operativi Microsoft Windows Server™ 2003 e Windows XP.
La suite di protocolli TCP/IP
La suite di protocolli TCP/IP corrisponde a un modello concettuale a quattro livelli denominato DARPA, dal nome
dell'agenzia governativa statunitense che sviluppò inizialmente il protocollo TCP/IP. I quattro livelli del modello
DARPA sono: Applicazione, Trasporto, Internet e Interfaccia di rete. Ciascun livello del modello DARPA corrisponde
a uno o più livelli del modello OSI a sette livelli.
Nella figura 2-1 viene mostrata l'architettura della suite dei protocolli TCP/IP.
Figura 2-1 Architettura della suite di protocolli TCP/IP
La suite dei protocolli TCP/IP è composta da due insiemi di protocolli al livello Internet:


IPv4, noto anche come IP, rappresenta il livello Internet attualmente più utilizzato nelle reti Intranet e sul Web.
IPv6 è il nuovo livello Internet che in futuro sostituirà l'attuale livello IPv4.
Livello Interfaccia di rete
Il livello Interfaccia di rete, denominato anche livello Accesso di rete, invia e riceve pacchetti TCP/IP a e dal supporto
di rete. La suite TCP/IP è stata progettata in modo da risultare indipendente dal metodo di accesso alla rete, dal formato
del frame e dal supporto utilizzati. È quindi possibile utilizzarla per comunicare in tipi di rete differenti che adoperano
tecnologie LAN, ad esempio LAN senza fili Ethernet e 802.11, e tecnologie WAN, ad esempio Frame Relay e ATM
(Asynchronous Transfer Mode). La mancata associazione a una tecnologia di rete specifica consente di adattare la suite
TCP/IP a nuove tecnologie.
Il livello Interfaccia di rete del modello DARPA comprende i livelli Collegamento dati e Fisico del modello OSI. Il
livello Internet del modello DARPA non sfrutta i servizi di sequenzializzazione e riconoscimento eventualmente
presenti nel livello Collegamento dati del modello OSI. Il livello Internet presuppone un livello Interfaccia di rete
inaffidabile e demanda la responsabilità di garantire comunicazioni affidabili mediante l'attivazione di una sessione,
come anche la sequenzializzazione e il riconoscimento di pacchetti, al livello Trasporto o Applicazione.
Livello Internet
Il livello Internet, responsabile delle funzioni di indirizzamento, suddivisione in pacchetti e instradamento dei dati,
corrisponde al livello Rete del modello OSI.
Il livello Internet IPv4 è costituito dai seguenti protocolli di base:


Il protocollo ARP (Address Resolution Protocol) risolve l'indirizzo di livello Internet in un indirizzo di livello
Interfaccia di rete, ad esempio un indirizzo hardware.
Il protocollo IP (Internet Protocol) è un protocollo instradabile che indirizza, instrada, suddivide in frammenti e
riassembla pacchetti.


Il protocollo ICMP (Internet Control Message Protocol) riporta errori e altre informazioni utili per
diagnosticare la mancata consegna di pacchetti.
Il protocollo IGMP (Group Management Protocol) gestisce gruppi multicast IP.
Per ulteriori informazioni sui protocolli di base relativi al livello Internet IPv4, vedere la sezione "Livello Internet IPv4"
più avanti nel presente capitolo.
Il livello Internet IPv6 è costituito dai seguenti protocolli di base:




IPv6 è un protocollo instradabile che indirizza e instrada pacchetti.
Il protocollo ICMPv6 (Internet Control Message Protocol for IPv6) riporta errori e altre informazioni utili per
diagnosticare la mancata consegna di pacchetti.
Il protocollo ND (Neighbor Discovery) gestisce le interazioni tra nodi IPv6 adiacenti.
Il protocollo MLD (Multicast Listener Discovery) gestisce gruppi multicast IPv6.
Per ulteriori informazioni sui protocolli di base relativi al livello Internet IPv6, vedere la sezione "Livello Internet IPv6"
più avanti nel presente capitolo.
Livello Trasporto
Il livello Trasporto, noto anche come Trasporto host-to-host, fornisce al livello Applicazione servizi di sessione e
comunicazione datagrammi. Il livello Trasporto è analogo all'omonimo livello del modello OSI. I protocolli di base del
livello Trasporto sono TCP e UDP.
Il protocollo TCP fornisce un servizio per comunicazioni affidabili, orientato alla connessione, uno-a-uno. Il TCP
instaura le connessioni, stabilisce la sequenza, riconosce i pacchetti inviati e recupera pacchetti persi nel corso della
trasmissione.
Diversamente dal TCP, il protocollo UDP fornisce un servizio per comunicazioni inaffidabili, non orientato alla
connessione, uno-a-uno o uno-a-molti. L'UDP viene utilizzato per il trasferimento di piccoli volumi di dati (ad esempio,
i dati di un singolo pacchetto), dagli sviluppatori di applicazioni per evitare il sovraccarico associato alle connessioni
TCP, oppure quando le applicazioni o protocolli di livello superiore assicurano una consegna affidabile.
TCP e UDP funzionano su entrambi i livelli Internet, IPv4 e IPv6.
Nota Le versioni dei protocolli TCP e UDP del componente Internet Protocol (TCP/IP) di Windows differiscono dal
componente TCP/IP Microsoft versione 6. Le versioni presenti nel componente TCP/IP Microsoft versione 6 sono
funzionalmente equivalenti a quelle fornite con i sistemi operativi Microsoft Windows NT® 4.0 e includono tutti gli
ultimi aggiornamenti di protezione. L'esistenza di componenti protocollo separati con proprie versioni TCP e UDP è
definita "architettura dual-stack". L'architettura ideale è costituita da un livello IP doppio, nel quale, secondo quanto
mostrato nella figura 2-1, le stesse versioni di TCP e UDP funzionano sia su IPv4 che su IPv6. In un prossimo
aggiornamento dei sistemi operativi Windows, Microsoft ha intenzione di adoperare un'architettura di livello IP doppio
per i componenti protocollo TCP/IP.
Livello Applicazione
Il livello Applicazione consente alle applicazioni di accedere ai servizi degli altri livelli e definisce i protocolli utilizzati
dalle applicazioni per lo scambio di dati. Tale livello contiene molti protocolli, e altri sono costantemente in fase di
sviluppo.
Di seguito sono illustrati i protocolli più noti per lo scambio di dati del livello Applicazione.



Il protocollo HTTP (Hypertext Transfer Protocol) trasferisce file che costituiscono pagine sul Web.
Il protocollo FTP (File Transfer Protocol) trasferisce singoli file, di norma per una sessione utente interattiva.
Il protocollo SMTP (Simple Mail Transfer Protocol) trasferisce messaggi e allegati di posta.
Inoltre, i protocolli del livello Applicazione di seguito riportati aiutano nell'utilizzo e gestione di reti TCP/IP.



Il protocollo DNS (Domain Name System) risolve i nomi host, ad esempio www.microsoft.com, in un
indirizzo IP e copia le informazioni sui nomi tra server DNS.
Il protocollo RIP (Routing Information Protocol) viene utilizzato dai router per scambiarsi informazioni di
routing in una rete IP.
Il protocollo SNMP (Simple Network Management Protocol) raccoglie e scambia informazioni relative alla
gestione di rete tra una console gestionale e periferiche di rete, come router, bridge e server.
Windows Sockets e NetBIOS sono esempi di interfacce di livello Applicazione per applicazioni TCP/IP. Per ulteriori
informazioni, vedere la sezione "API (Application Programming Interface)" più avanti nel presente capitolo.
Livello Internet IPv4
Il livello Internet IPv4 è costituito dai seguenti protocolli:




ARP
IP (IPv4)
ICMP
IGMP
Nelle sezioni seguenti ciascun protocollo viene illustrato più analiticamente.
ARP
Quando IP invia pacchetti su una rete ad accesso condiviso basata sul broadcast, come una LAN senza fili Ethernet o
802.11, il protocollo deve risolvere gli indirizzi MAC (Media Access Control) corrispondenti agli indirizzi IPv4 dei
nodi a cui i pacchetti sono stati inoltrati, noti anche come indirizzi IPv4 di hop successivo. In base alla definizione del
documento RFC 826, il protocollo ARP utilizza broadcast di livello MAC per risolvere indirizzi IPv4 di hop successivo
nei corrispondenti indirizzi MAC.
A seconda dell'indirizzo IPv4 di destinazione e del processo di determinazione del percorso, IPv4 determina l'indirizzo
IPv4 dell'hop successivo e l'interfaccia per l'inoltro del pacchetto. Quindi passa il pacchetto IPv4, l'indirizzo IPv4 e
l'interfaccia dell'hop successivo al protocollo ARP.
Se l'indirizzo IPv4 dell'hop successivo del pacchetto è identico all'indirizzo IPv4 di destinazione, il protocollo ARP
recapita direttamente il pacchetto a destinazione. In una consegna diretta ARP deve risolvere l'indirizzo IPv4 della
destinazione del pacchetto nel corrispondente indirizzo MAC.
Se l'indirizzo IPv4 dell'hop successivo del pacchetto non è identico all'indirizzo IPv4 di destinazione, il protocollo ARP
esegue una consegna indiretta a un router. In una consegna indiretta ARP deve risolvere l'indirizzo IPv4 del router nel
corrispondente indirizzo MAC.
Per risolvere l'indirizzo IPv4 dell'hop successivo di un pacchetto nel corrispondente indirizzo MAC, il protocollo ARP
sfrutta la funzione di broadcasting presente nelle reti ad accesso condiviso, come Ethernet o 802.11, per inviare un
frame di richiesta ARP sotto forma di broadcast. Il mittente riceve in risposta un frame ARP che contiene l'indirizzo
MAC corrispondente all'indirizzo IPv4 dell'hop successivo del pacchetto.
Cache ARP
Per ridurre al minimo la quantità di frame di richiesta ARP broadcast, molte implementazioni di protocollo TCP/IP
incorporano una cache ARP: una tabella di indirizzi IPv4 recentemente risolti con i corrispondenti indirizzi MAC.
Prima di inviare un frame di richiesta, ARP controlla questa cache. Ogni interfaccia dispone della propria cache ARP.
A seconda delle implementazioni del fornitore, la cache ARP può presentare le caratteristiche di seguito riportate.

Le voci della cache ARP possono essere dinamiche (basate su repliche ARP) o statiche. Le voci statiche sono
permanenti e vengono aggiunte manualmente mediante uno strumento TCP/IP, come lo strumento ARP di
Windows. Le voci statiche della cache ARP impediscono ai nodi di inviare richieste ARP per indirizzi locali

IPv4 utilizzati comunemente, come gli indirizzi relativi a router e server. Se viene cambiata la scheda di rete, è
tuttavia necessario aggiornare le voci ARP statiche manualmente.
Le voci di cache ARP dinamiche, essendo associate a valori di timeout, vengono rimosse dalla cache allo
scadere di un determinato intervallo di tempo. Ad esempio, le voci di cache ARP dinamiche relative a
Windows sono rimosse dopo non più di 10 minuti.
Per visualizzare la cache ARP su un computer basato su Windows, al prompt dei comandi digitare arp -a. Lo strumento
ARP può essere utilizzato anche per aggiungere o eliminare voci statiche della cache ARP.
Processo ARP
Durante l'invio del pacchetto iniziale come host di invio o l'inoltro del pacchetto in qualità di router, IPv4 invia ad ARP
il pacchetto IPv4, l'indirizzo IPv4 e l'interfaccia dell'hop successivo. ARP esegue una consegna diretta o indiretta
tramite il processo di seguito riportato.
1.
2.
3.
4.
5.
6.
In base all'indirizzo IPv4 e all'interfaccia dell'hop successivo, ARP controlla nella cache appropriata la
presenza di una voce che corrisponda all'indirizzo IPv4 dell'hop successivo. Se individua una voce, ARP
procede direttamente al passaggio 6.
Se ARP non trova alcuna voce, crea un frame di richiesta contenente gli indirizzi MAC e IPv4 dell'interfaccia
da cui è stata inviata la richiesta ARP e l'indirizzo IPv4 dell'hop successivo del pacchetto. Quindi invia in
broadcast il frame di richiesta dall'interfaccia appropriata.
Il frame in broadcast viene ricevuto da tutti i nodi della subnet che elaborano perciò la richiesta ARP. Se
l'indirizzo dell'hop successivo della richiesta ARP corrisponde all'indirizzo IPv4 assegnato ad un'interfaccia
nella subnet, il nodo di ricezione aggiorna la propria cache ARP con gli indirizzi IPv4 e MAC del richiedente.
Tutti gli altri nodi scartano automaticamente la richiesta ARP.
Il nodo di ricezione a cui viene assegnato l'indirizzo dell'hop successivo del pacchetto IPv4 formula una
risposta ARP contenente l'indirizzo MAC richiesto e la invia direttamente al richiedente.
Al ricevimento della risposta ARP, il richiedente aggiorna la propria cache con il mapping degli indirizzi.
Attraverso lo scambio ARP, il richiedente e il nodo che risponde acquisiscono reciprocamente i mapping degli
indirizzi nelle rispettive cache.
Il richiedente ARP invia il pacchetto IPv4 al nodo dell'hop successivo indirizzandolo all'indirizzo MAC risolto.
Il processo descritto è illustrato nella figura 2-2.
Figura 2-2 Processo di risoluzione indirizzi ARP
Internet Protocol versione 4 (IPv4)
IPv4 è un protocollo a datagrammi responsabile principalmente dell'indirizzamento e instradamento di pacchetti tra
host. Il protocollo IPv4 non è orientato alla connessione, per cui non stabilisce una connessione prima dello scambio di
dati, ed è inaffidabile, nel senso che non assicura la consegna del pacchetto. IPv4 tenta sempre di recapitare un
pacchetto, che tuttavia potrebbe andare perso, essere consegnato fuori sequenza, duplicato o recapitato in ritardo. IPv4
non effettua alcun tentativo per recuperare questo tipo di errori. Un protocollo di livello superiore, ad esempio un
protocollo TCP o applicazioni, deve in caso di necessità riconoscere i pacchetti recapitati e recuperare quelli persi. IPv4
è definito nel documento RFC 791.
Un pacchetto IPv4 è costituito da un'intestazione e un payload IPv4. Il payload è a sua volta formato da un'unità dati di
un protocollo di livello superiore, come un segmento TCP o un messaggio UDP. Nella figura 2-3 è mostrata la struttura
di base di un pacchetto IPv4.
Figura 2-3 Struttura di base di un pacchetto IPv4
Nella tabella 2-1 sono elencati e illustrati i campi chiave dell'intestazione IPv4.
Campo
intestazione
IPv4
Source IP
Address
Destination IP
Address
Identification
Protocol
Checksum
Time-to-Live
(TTL)
Descrizione
Indirizzo di origine del pacchetto IP.
Indirizzo della destinazione intermedia o finale del pacchetto IP.
Identificatore, in caso di frammentazione, di tutti i frammenti di un determinato pacchetto IPv4.
Identificatore del protocollo di livello superiore a cui è necessario trasferire il payload IPv4.
Semplice calcolo matematico utilizzato per controllare errori a livello di bit nell'intestazione IPv4.
Numero di segmenti di rete sui quali può viaggiare il datagramma prima che un router lo scarti.
All'inoltro di un pacchetto IPv4, i router riducono di un'unità il campo TTL impostato dall'host di
invio. Grazie a questo campo i pacchetti non circolano all'infinito in una rete IPv4.
Tabella 2-1 Campi chiave in un'intestazione IPv4
Frammentazione e riassemblaggio
Se un router riceve un pacchetto IPv4 troppo grande per il segmento di rete su cui è stato inoltrato, l'IPv4 del router
frammenta il pacchetto originale in pacchetti di dimensioni minori adeguate al segmento di rete su cui avviene l'inoltro.
Quando i pacchetti arrivano alla destinazione finale, l'IPv4 dell'host di destinazione riassembla i frammenti nel payload
originale. Questo processo è denominato frammentazione e riassemblaggio. La frammentazione può essere effettuata in
ambienti con tecnologie di rete miste, come Ethernet o Token Ring.
Di seguito è illustrato il funzionamento del processo di frammentazione e riassemblaggio.
1.
2.
Prima dell'invio di un pacchetto IPv4, l'origine inserisce un valore univoco nel campo Identification.
Lungo il percorso tra l'host di invio e la destinazione, il pacchetto IPv4 viene ricevuto da un router che si
accorge che le dimensioni del pacchetto eccedono le dimensioni dell'unità massima di trasmissione (MTU)
della rete su cui deve essere inoltrato.
3.
IPv4 divide il payload originale in frammenti che possono essere contenuti sulla rete successiva. Ciascun
frammento riceve la propria intestazione IPv4 che contiene:
o Il campo Identification originale che identifica tutti i frammenti raggruppati insieme.
o Il flag More Fragments che indica la presenza di altri frammenti successivi. Tale flag, a causa
dell'assenza di altri frammenti, non è impostato sull'ultimo frammento.
o Il campo Fragment Offset che indica la posizione del frammento rispetto al payload IPv4 originale.
Alla ricezione dei frammenti, l'host remoto utilizza il campo Identification per identificare i frammenti raggruppati
insieme e, tramite il campo Fragment Offset, li riassembla nell'ordine corretto così da ricreare il payload IPv4 originale.
ICMP (Internet Control Message Protocol)
Il protocollo ICMP, definito nel documento RFC 792, riporta e aiuta a risolvere errori di pacchetti che non possono
essere recapitati. Se, ad esempio, IPv4 non riesce a recapitare un pacchetto all'host di destinazione, il protocollo ICMP
del router o dell'host di destinazione invia un messaggio di destinazione non raggiungibile all'host di invio. Nella tabella
2-2 sono elencati e illustrati i messaggi ICMP più comuni.
Messaggio
ICMP
Echo
Echo Reply
Redirect
Source Quench
Destination
Unreachable
Descrizione
Lo strumento Ping invia messaggi Echo ICMP per risolvere problemi di rete attraverso la verifica
della connettività IPv4 a un determinato nodo.
I nodi inviano messaggi Echo Reply in risposta a messaggi Echo ICMP.
I router inviano messaggi Redirect per comunicare ad host di invio i migliori percorsi ad indirizzi
IPv4 di destinazione.
I router inviano messaggi Source Quench (origine estinta) per informare gli host di invio che i
pacchetti IPv4 sono stati scartati per problemi di congestione. In tal modo gli host di invio rallentano
la frequenza di invio dei pacchetti.
I router e gli host di destinazione inviano messaggi Destination Unreachable (destinazione non
raggiungibile) per informare gli host di invio che non è possibile recapitare i pacchetti.
Tabella 2-2 Messaggi ICMP comuni
Il protocollo ICMP contiene una serie di messaggi di destinazione non raggiungibile, i più comuni dei quali sono
elencati e illustrati nella tabella 2-3.
Messaggio di
destinazione non
raggiungibile
Host Unreachable
Protocol Unreachable
Port Unreachable
Fragmentation Needed
and DF Set
Descrizione
I router inviano messaggi Host Unreachable (host irraggiungibile) quando non sono in grado
di individuare percorsi agli indirizzi IPv4 di destinazione.
I nodi IPv4 di destinazione inviano messaggi Protocol Unreachable (protocollo non
raggiungibile) quando non sono in grado di associare il campo Protocol dell'intestazione
IPv4 al protocollo client IPv4 correntemente utilizzato.
I nodi IPv4 inviano messaggi Port Unreachable (porta non raggiungibile) quando non sono
in grado di associare il campo Destination Port dell'intestazione UDP all'applicazione che
utilizza quella porta UDP.
I router IPv4 inviano messaggi Fragmentation Needed and DF Set quando è necessario
eseguire la frammentazione di un pacchetto ma il nodo di invio ha impostato il flag Don’t
Fragment (DF) nell'intestazione IPv4.
Tabella 2-3 Messaggi di destinazione non raggiungibile ICMP comuni
L'ICMP, pur non rendendo il protocollo IPv4 affidabile, riporta gli errori e fornisce un feedback in presenza di
specifiche condizioni. I messaggi ICMP sono trasportati come pacchetti IPv4 non riconosciuti e sono essi stessi
inaffidabili.
IGMP (Internet Group Management Protocol)
Router e host utilizzano il protocollo IGMP per gestire l'appartenenza in gruppi multicast IPv4 su una subnet. Un
gruppo multicast IPv4, definito anche gruppo host, è un insieme di host posti in ascolto del traffico destinato a uno
specifico indirizzo multicast IPv4. Il traffico multicast IPv4 di una determinata subnet, sebbene inviato a un singolo
indirizzo MAC, viene ricevuto ed elaborato da più host IPv4. Un membro del gruppo host ascolta uno specifico
indirizzo multicast IPv4 e riceve tutti i pacchetti ad esso inviati.
Perché un host riceva il traffico multicast IPv4, è necessario che un'applicazione informi il protocollo IPv4 della relativa
ricezione presso uno specifico indirizzo multicast IPv4. Il protocollo IPv4 informa quindi i router delle subnet locali
della necessità di ricevere pacchetti multicast inviati all'indirizzo multicast IPv4 specificato. Le informazioni relative
all'appartenenza ad un gruppo host sono registrate tramite il protocollo IGMP.
Di seguito sono riportati i possibili formati dei messaggi IGMP.



Membri di un gruppo host utilizzano il messaggio IGMP Host Membership Report per dichiarare la propria
appartenenza a uno specifico gruppo host.
I router utilizzano il messaggio IGMP Host Membership Query per richiedere alle subnet informazioni sui
membri di gruppi host.
I membri di un gruppo host utilizzano il messaggio IGMP Leave Group quando abbandonano un gruppo del
quale potrebbero essere l'ultimo membro nella subnet.
Per il multicasting lungo una rete IPv4, i router comunicano informazioni sui gruppi host mediante protocolli di routing
multicast. Ciascun router che supporta l'inoltro multicast è in grado quindi di determinare la modalità di inoltro del
traffico multicast IPv4.
Windows Server 2003 e Windows XP supportano i protocolli IGMP, IGMP versione 2 e IGMP versione 3,
rispettivamente definiti nei documenti RFC 1112, RFC 2236 e RFC 3376.
Livello Internet IPv6
IPv6 sostituirà completamente i protocolli del livello Internet IPv4 del modello DARPA. Saranno effettuate le seguenti
sostituzioni.




IPv4 con IPv6: IPv6 è un protocollo instradabile che indirizza, instrada, suddivide in frammenti e riassembla
pacchetti.
ICMP con ICMPv6: il protocollo ICMPv6 diagnostica e riporta gli errori alla base del mancato recapito di
pacchetti IPv6.
IGMP con MLD: il protocollo MLD gestisce l'appartenenza a gruppi multicast IPv6.
ARP con ND: il protocollo ND gestisce le interazioni tra nodi adiacenti, compresa la configurazione
automatica di indirizzi e la risoluzione di indirizzi IPv6 di hop successivo in indirizzi MAC.
Per supportare le operazioni sul livello Internet IPv6, non è necessario che gli sviluppatori di software modifichino i
protocolli ai livelli Trasporto e Applicazione, se non quando gli indirizzi fanno parte del payload o delle strutture di dati
gestite dal protocollo. Ad esempio, gli sviluppatori devono aggiornare i protocolli TCP e UDP per eseguire un nuovo
checksum, e il protocollo RIP per inviare e ricevere informazioni di routing su IPv6.
Il livello Internet IPv6 è costituito dai seguenti protocolli:




IPv6
ICMPv6
ND
MLD
Tali protocolli sono illustrati più analiticamente nelle sezioni seguenti.
IPv6
Analogamente all'IPv4, l'IPv6 è un protocollo a datagrammi, inaffidabile e non orientato alla connessione,
principalmente responsabile dell'indirizzamento e instradamento di pacchetti tra host.
La struttura di un pacchetto IPv6 è definita nel documento RFC 2460. Un pacchetto IPv6 è costituito da un'intestazione
e un payload IPv6. Il payload è rappresentato da zero o più intestazioni di estensione IPv6 e da un'unità dati di un
protocollo di livello superiore, come un messaggio ICMPv6, un segmento TCP o un messaggio UDP. Nella figura 2-4 è
mostrata la struttura di base di un pacchetto IPv6.
Figura 2-4 Struttura di base di un pacchetto IPv6
Nella tabella 2-4 sono elencati e illustrati i campi chiave dell'intestazione IPv6.
Campo
intestazione
Descrizione
IPv6
Source Address Indirizzo IPv6 a 128 bit che identifica l'origine del pacchetto IPv6.
Destination
Indirizzo IPv6 a 128 bit che identifica l'intermediario o la destinazione finale del pacchetto IPv6.
Address
Identificatore relativo all'intestazione dell'estensione IPv6 immediatamente successiva o ad un
Next Header
protocollo di livello superiore quale ICMPv6, TCP o UDP.
Numero di collegamenti sui quali può viaggiare il pacchetto prima di essere scartato da un router. Nel
Hop Limit
corso dell'inoltro del pacchetto, i router riducono di un'unità il limite hop impostato dall'host di invio.
Grazie a questo campo i pacchetti non circolano all'infinito in una rete IPv6.
Tabella 2-4 Campi chiave in un'intestazione IPv6
Intestazioni di estensione IPv6
I payload IPv6 possono contenere zero o più intestazioni di estensione di lunghezza variabile. Un campo Next Header
presente nell'intestazione IPv6 indica la successiva intestazione di estensione. Ciascuna intestazione di estensione
contiene un altro campo Next Header con l'intestazione successiva. L'ultima intestazione di estensione indica l'eventuale
protocollo di livello superiore (ad esempio, TCP, UDP o ICMPv6) contenuto nell'unità dati di un protocollo di livello
superiore.
Intestazione e intestazioni di estensione IPv6 sostituiscono l'intestazione IPv4 esistente e la possibile inclusione di
relative opzioni. Il nuovo formato delle intestazioni di estensione consente di accrescere il protocollo IPv6 per
supportare esigenze e funzioni future. Diversamente dalle opzioni presenti nell'intestazione IPv4, le dimensioni delle
intestazioni di estensione IPv6 non sono soggette a limiti e possono essere espanse in modo da contenere tutti i dati di
estensione necessari per la comunicazione.
Nel documento RFC 2460 sono definite le seguenti intestazioni di estensione che tutti i nodi IPv6 devono supportare.

Hop-by-Hop Options





Destination Options
Routing
Fragment
Authentication
Encapsulating Security Payload
I pacchetti IPv6 di norma non contengono intestazioni di estensione. Gli host di invio aggiungono almeno
un'intestazione di estensione soltanto quando è necessario che router intermedi o la destinazione gestiscano il pacchetto
in un determinato modo.
Frammentazione in IPv6
In IPv4, se un router riceve un pacchetto troppo grande per il segmento di rete a cui è stato inoltrato ed è consentita la
frammentazione del pacchetto, il protocollo IPv4 del router frammenta il pacchetto originale in pacchetti di dimensioni
minori adeguati al segmento di rete destinatario dell'inoltro. In IPv6, il pacchetto è frammentato solo dall'host di invio:
se un pacchetto IPv6 è troppo grande, il router inoltra all'host di invio un messaggio ICMPv6 Packet Too Big
(dimensioni del pacchetto troppo elevate) e lo scarta.
Gli host di invio possono frammentare pacchetti e gli host di destinazione possono riassemblarli tramite l'utilizzo
dell'intestazione di estensione Fragment.
ICMPv6 (Internet Control Message Protocol for IPv6)
Analogamente al protocollo IPv4, IPv6 non riporta errori; utilizza, invece, una versione aggiornata del protocollo ICMP
per IPv4. Questa nuova versione, denominata ICMPv6, esegue le comuni funzioni ICMP di segnalazione errori di
recapito o inoltro per IPv4 e fornisce un servizio Echo semplificato per la risoluzione degli errori. Il protocollo ICMPv6
fornisce inoltre una struttura per messaggi ND e MLD.
Nella tabella 2-5 sono elencati e descritti i messaggi ICMPv6 definiti nel documento RFC 2463.
Messaggio
ICMPv6
Echo Request
Echo Reply
Destination
Unreachable
Packet Too Big
Time Exceeded
Parameter
Problem
Descrizione
Gli host mittenti inviano messaggi Echo Request (richiesta echo) per verificare la connettività IPv6 a
un determinato nodo.
I nodi inviano messaggi Echo Reply (risposta echo) in risposta a messaggi ICMPv6 Echo Request.
I router e gli host di destinazione inviano messaggi Destination Unreachable (destinazione non
raggiungibile) per informare gli host di invio che non è possibile recapitare i pacchetti o i payload.
I router inviano messaggi Packet Too Big (dimensioni del pacchetto troppo grandi) per informare gli
host di invio che le dimensioni del pacchetto eccedono la capacità di inoltro.
I router inviano messaggi Time Exceeded (tempo scaduto) per informare gli host di invio che il
limite di hop di un pacchetto IPv6 è scaduto.
I router inviano messaggi Parameter Problem (problema col parametro) per informare gli host di
invio degli errori verificatisi durante l'elaborazione dell'intestazione o di un'intestazione di estensione
IPv6.
Tabella 2-5 Messaggi ICMPv6 comuni
Il protocollo ICMPv6 contiene una serie di messaggi di destinazione non raggiungibile, i più comuni dei quali sono
elencati e illustrati nella tabella 2-6.
Messaggio di destinazione
non raggiungibile
Descrizione
I router inviano questo messaggio quando non riescono a individuare percorsi agli
indirizzi di destinazione nelle proprie tabelle di instradamento IPv6 locale.
Communication Prohibited by I router inviano questo messaggio quando un criterio di configurazione impedisce di
Administrative Policy
comunicare con la destinazione. Questo tipo di messaggio è, ad esempio, inviato quando
No Route Found
un firewall scarta un pacchetto.
I router IPv6 inviano questo messaggio quando non sono in grado di risolvere un
indirizzo MAC di destinazione.
Gli host di destinazione inviano questo messaggio quando un pacchetto IPv6 contenente
Destination Port Unreachable un messaggio a una porta UDP di destinazione non corrisponde all'applicazione in
ascolto.
Destination Address
Unreachable
Tabella 2-6 Comuni messaggi di destinazione non raggiungibile ICMPv6
Il protocollo ICMPv6, pur non rendendo il protocollo IPv6 affidabile, riporta gli errori e fornisce un feedback in
presenza di specifiche condizioni. I messaggi ICMPv6 sono trasportati come pacchetti IPv6 non riconosciuti e sono essi
stessi inaffidabili.
ND (Neighbor Discovery)
Il protocollo ND è un insieme di messaggi e processi ICMPv6 che determinano le relazioni tra nodi adiacenti. Il
protocollo ND sostituisce gli strumenti ARP, ICMP Router Discovery e ICMP Redirect utilizzati in IPv4 e fornisce altre
funzionalità.
Gli host utilizzano il protocollo ND per le operazioni di seguito riportate.


Individuare router adiacenti.
Individuare e configurare automaticamente indirizzi e altri parametri di configurazione.
I router utilizzano il protocollo ND per le operazioni di seguito riportate.


Notificare la propria presenza, gli indirizzi host e altri parametri di configurazione.
Informare gli host di un indirizzo di hop successivo migliore per l'inoltro di pacchetti a una determinata
destinazione.
I nodi, sia host che router, utilizzano il protocollo ND per le operazioni di seguito riportate.



Risolvere l'indirizzo del livello di collegamento, denominato anche indirizzo MAC, di un nodo adiacente al
quale è inoltrato un pacchetto IPv6.
Annunciare dinamicamente le modifiche di indirizzi MAC.
Determinare se un nodo adiacente è ancora raggiungibile.
Nella tabella 2-7 sono elencati e descritti i processi ND definiti nel documento RFC 2461.
Processo ND
Rilevamento router
Individuazione prefisso
Autoconfigurazione
indirizzi
Risoluzione indirizzi
Determinazione hop
successivo
Rilevamento
Descrizione
Processo tramite cui un host individua i router adiacenti. Per ulteriori informazioni, vedere la
sezione "Rilevamento router" più avanti in questo capitolo.
Processo tramite cui gli host individuano i prefissi di rete relativi a subnet di destinazione
locali. Per ulteriori informazioni sui prefissi di rete IPv6, vedere il capitolo 3 "Indirizzi IP".
Processo di configurazione di indirizzi IPv6 per interfacce, indipendentemente dalla presenza
di un server di configurazione indirizzi che esegue, ad esempio, DHCPv6 (Dynamic Host
Configuration Protocol versione 6). Per ulteriori informazioni, vedere la sezione
"Autoconfigurazione di indirizzi" più avanti in questo capitolo.
Processo tramite cui i nodi risolvono un indirizzo IPv6 di un nodo adiacente nel
corrispondente indirizzo MAC. La risoluzione di indirizzi in IPv6 è equivalente al protocollo
ARP in IPv4. Per ulteriori informazioni, vedere la sezione "Risoluzione di indirizzi" in questo
capitolo.
Processo tramite cui un nodo determina l'indirizzo IPv6 dell'hop successivo a cui inoltrare un
pacchetto in base all'indirizzo di destinazione. L'indirizzo dell'hop successivo può
corrispondere all'indirizzo di destinazione o all'indirizzo di un router adiacente.
Processo tramite cui un nodo determina che il livello IPv6 di un vicino non è in grado di
irraggiungibilità di un
vicino
Rilevamento indirizzi
duplicati
Funzione di
reindirizzamento
inviare o ricevere pacchetti.
Processo tramite cui un nodo determina se un indirizzo non è già utilizzato da un nodo
adiacente.
Processo tramite cui un host viene informato della presenza di un migliore indirizzo IPv6 del
primo hop per il raggiungimento di una destinazione.
Tabella 2-7 Processi ND per IPv6
Risoluzione di indirizzi
La risoluzione indirizzi in IPv6 è costituita dallo scambio di messaggi Neighbor Solicitation (richiesta del nodo
adiacente) e Neighbor Advertisement (annuncio del nodo adiacente) per risolvere l'indirizzo IPv6 dell'hop successivo
nel corrispondente indirizzo MAC. L'host mittente invia sull'interfaccia appropriata una richiesta del nodo adiacente
multicast, in cui è incluso l'indirizzo MAC del nodo di invio.
Alla ricezione del messaggio, il nodo di destinazione aggiorna la propria cache adiacente (equivalente alla cache ARP)
con una voce relativa all'indirizzo di origine e all'indirizzo MAC inclusi nel messaggio Neighbor Solicitation. Quindi
invia un annuncio del nodo adiacente unicast contenente il proprio indirizzo MAC al mittente del messaggio Neighbor
Solicitation.
Alla ricezione dell'annuncio del nodo adiacente dalla destinazione, l'host di invio aggiorna la propria cache adiacente
con una voce per il nodo di destinazione basata sull'indirizzo MAC incluso nel messaggio. A questo punto, l'host di
invio e la destinazione della richiesta del nodo adiacente sono in grado di inviare traffico IPv6 unicast.
Rilevamento router
Il rilevamento router è il processo attraverso cui gli host tentano di individuare l'insieme di router presenti nella subnet
locale. Oltre a configurare un router predefinito, il rilevamento router in IPv6 configura anche quanto segue:



L'impostazione predefinita per il campo Hop Limit nell'intestazione IPv6.
Determinazione se il nodo debba utilizzare un protocollo di configurazione indirizzi, quale DHCPv6 (Dynamic
Host Configuration Protocol for IPv6), per indirizzi e altri parametri di configurazione.
L'elenco dei prefissi di rete definiti per il collegamento. Ciascun prefisso di rete comprende il prefisso IPv6
con i relativi cicli di vita validi e preferiti. Se indicato, l'host crea una configurazione dell'indirizzo IPv6
tramite il prefisso di rete senza utilizzare un protocollo di configurazione indirizzi. Un prefisso di rete inoltre
definisce l'intervallo di indirizzi relativo ai nodi del collegamento locale.
Di seguito sono riportati i processi di rilevamento router in IPv6.



I router IPv6 inviano periodicamente messaggi Router Advertisement (annuncio router) multicast sulla subnet
con i quali, oltre alla loro esistenza, notificano altri parametri di configurazione come prefissi di indirizzi e il
limite hop predefinito.
Gli host IPv6 della subnet locale si servono del contenuto degli annunci router ricevuti per configurare
indirizzi, un router predefinito e altri parametri di configurazione.
Un host in corso di avvio invia un messaggio Router Solicitation (richiesta router) multicast. Alla ricezione di
una richiesta router, tutti i router presenti nella subnet locale inviano un annuncio router unicast all'host che ha
inviato la richiesta. L'host si serve del contenuto degli annunci router ricevuti per configurare indirizzi, un
router predefinito e altri parametri di configurazione.
Autoconfigurazione di indirizzi
Un aspetto estremamente utile di IPv6 è la capacità di autoconfigurarsi senza utilizzare un protocollo di configurazione
indirizzi, come DHCPv6 (Dynamic Host Configuration Protocol for IPv6). Un host IPv6 può per impostazione
predefinita configurare un indirizzo da utilizzare sulla subnet per ciascuna interfaccia. Attraverso il rilevamento router,
inoltre, un host è in grado di determinare gli indirizzi dei router, ulteriori indirizzi e altri parametri di configurazione. I
messaggi Router Advertisement indicano se è necessario utilizzare un protocollo di configurazione indirizzi.
L'autoconfigurazione di indirizzi in IPv6 è definita nel documento RFC 2462.
MLD (Multicast Listener Discovery)
Il protocollo MLD per IPv6 è l'equivalente del protocollo IGMP versione 2 per IPv4. Il protocollo consiste di un
insieme di messaggi ICMPv6 scambiati da router e nodi, grazie ai quali i router rilevano la serie di indirizzi multicast
IPv6 per cui esistono nodi in ascolto in relazione a ciascuna interfaccia collegata. Analogamente a IGMPv2, MLD
rileva solo gli indirizzi multicast comprendenti almeno un listener, e non l'elenco dei singoli listener per ciascun
indirizzo multicast. IL protocollo MLD è definito nel documento RFC 2710.
Diversamente da IGMPv2, MLD utilizza messaggi ICMPv6 invece di definire una propria struttura di messaggi.
Esistono tre tipi di messaggi MLD:



Multicast Listener Query: utilizzati da router per interrogare una subnet sui listener multicast.
Multicast Listener Report: utilizzati da listener multicast per esprimere disponibilità a ricevere il traffico per
un determinato indirizzo multicast oppure per rispondere a un messaggio Multicast Listener Query.
Multicast Listener Done: utilizzati da listener multicast per avvisare che potrebbero essere l'ultimo membro
di un gruppo multicast sulla subnet.
TCP (Transmission Control Protocol)
Il protocollo TCP è un servizio di recapito affidabile e orientato alla connessione, nel senso che prima che gli host
possano scambiare dati è necessario stabilire una connessione. L'affidabilità è ottenuta assegnando un numero di
sequenza a ciascun segmento trasmesso. I peer TCP, vale a dire i due nodi che comunicano mediante il protocollo TCP,
riconoscono la ricezione dei dati. Un segmento TCP è un'unità dati protocollo (PDU, Protocol Data Unit) costituita
dall'intestazione e dal payload TCP, denominati anche segmento. Per ogni segmento contenente dati inviato, è
necessario che l'host di ricezione restituisca un riconoscimento (ACK). Se un ACK non è riconosciuto entro un tempo
calcolato, il segmento TCP viene ritrasmesso. Il protocollo TCP è definito nel documento RFC 793.
Nella tabella 2-8 sono elencati e illustrati i campi chiave dell'intestazione TCP.
Campo
Source Port
Destination Port
Sequence Number
Acknowledgment
Number
Window
Checksum
Descrizione
Porta TCP dell'applicazione mittente.
Porta TCP dell'applicazione destinataria.
Numero di sequenza del primo byte di dati presente nel segmento TCP.
Numero di sequenza del byte successivo che il mittente si aspetta di ricevere dal proprio peer
TCP.
Dimensione corrente di un buffer di memoria sull'host mittente del segmento TCP per
archiviare i segmenti in entrata.
Semplice calcolo matematico utilizzato per controllare errori a livello di bit nel segmento TCP.
Tabella 2-8 Campi chiave in un'intestazione TCP
Porte TCP
Per utilizzare il protocollo TCP, un'applicazione deve fornire l'indirizzo IP e il numero di porta TCP delle applicazioni
di origine e di destinazione. Una porta fornisce un percorso per l'invio di segmenti, ed è identificata da un numero
univoco. Le porte TCP sono distinte dalle porte UDP sebbene alcune possano utilizzare lo stesso numero. I numeri di
porta inferiori a 1024 sono porte note di assegnazione IANA (Internet Assigned Numbers Authority). Nella tabella 2-9
sono elencate alcune porte note TCP.
Numero porta TCP
20
21
23
80
139
Descrizione
FTP (canale dati)
FTP (canale di controllo)
Telnet
HTTP utilizzato per il Web
Servizio per le sessioni NetBIOS
Tabella 2-9 Porte TCP note
Per un elenco completo di porte TCP assegnate, vedere http://www.iana.org/assignments/port-numbers (informazioni in
lingua inglese).
Handshake a tre stadi TCP
Una connessione TCP viene inizializzata tramite un handshake a tre stadi, il cui scopo è sincronizzare il numero di
sequenza e i numeri di riconoscimento di entrambe le parti di una connessione e di scambiare le rispettive dimensioni
della finestra TCP. Di seguito sono illustrati i passaggi con i quali un computer client contatta un computer server.
1.
2.
3.
Il client invia un segmento TCP al server contenente un numero di sequenza iniziale per la connessione e una
dimensione finestra del buffer per archiviare i segmenti in entrata dal server.
Il server restituisce un segmento TCP contenente il numero di sequenza iniziale scelto, un riconoscimento del
numero di sequenza del client e una dimensione finestra, che indica la dimensione del buffer sul server per
archiviare i segmenti in ingresso dal client.
Il client invia un segmento TCP al server contenente un riconoscimento del numero di sequenza dello stesso.
Il protocollo TCP si serve di un processo handshake analogo per terminare una connessione. Ciò garantisce che
entrambi gli host abbiano completato la trasmissione e che tutti i dati siano stati ricevuti.
UDP (User Datagram Protocol)
Il protocollo UDP fornisce un servizio per datagrammi non orientato alla connessione che assicura un recapito
inaffidabile, di tipo massimo sforzo (best-effort), dei dati trasmessi in messaggi. Ciò significa che non sono garantiti né
l'arrivo dei datagrammi né la corretta sequenza dei pacchetti recapitati. Il protocollo UDP non ritrasmette i dati persi. I
messaggi UDP, costituiti da un'intestazione e un payload, sono noti anche semplicemente come messaggi. IL protocollo
UDP è definito nel documento RFC 768.
Le applicazioni utilizzano il protocollo UDP quando non necessitano di un riconoscimento di ricezione dei dati e di
norma trasmettono piccoli volumi di dati in una sola volta. Esempi di servizi e applicazioni che utilizzano l'UDP sono il
servizio per la risoluzione dei nomi NetBIOS, il servizio per i datagrammi NetBIOS e SNMP.
Nella tabella 2-10 sono elencati e illustrati i campi chiave dell'intestazione UDP.
Campo
Descrizione
Source Port
Porta UDP dell'applicazione mittente.
Destination Port Porta UDP dell'applicazione destinataria.
Checksum
Semplice calcolo matematico utilizzato per controllare errori a livello di bit nel messaggio UDP.
Tabella 2-10 Campi chiave in un'intestazione UDP
Porte UDP
Per utilizzare il protocollo UDP, un'applicazione deve fornire l'indirizzo IP e il numero di porta UDP delle applicazioni
di origine e di destinazione. Una porta fornisce un percorso per inviare messaggi, ed è identificata da un numero
univoco. Le porte UDP sono distinte dalle porte TCP sebbene alcune possano utilizzare lo stesso numero.
Analogamente alle porte TCP, i numeri delle porte UDP inferiori a 1024 sono porte note assegnate da IANA. Nella
tabella 2-11 sono elencate alcune porte note UDP.
Numero porta UDP
53
69
137
138
161
Descrizione
Query per nomi DNS (Domain Name System)
TFTP (Trivial File Transfer Protocol)
Servizio per la risoluzione dei nomi NetBIOS
Servizio per i datagrammi NetBIOS
SNMP
Tabella 2-11 Porte UDP note
Per un elenco completo di porte UDP assegnate, vedere http://www.iana.org/assignments/port-numbers (informazioni in
lingua inglese).
Multiplexing e demultiplexing di pacchetti
Al momento dell'invio, un host mittente include in un pacchetto IPv4 o IPv6 informazioni per recapitare i dati in esso
contenuti all'applicazione di destinazione corretta. Si definisce multiplexing l'inclusione di identificatori che consentono
di recapitare i dati a una delle entità presenti in ciascun livello di un'architettura a più livelli. Le informazioni
multiplexing relative a pacchetti IP identificano il nodo della rete, il protocollo di livello superiore IP e, per i protocolli
TCP e UDP, la porta corrispondente all'applicazione a cui sono indirizzati i dati. L'host di destinazione utilizza tali
identificatori per eseguire il demultiplexing, o recapito dei dati per singolo livello, all'applicazione di destinazione
corretta. Il pacchetto IP inoltre comprende informazioni per consentire all'host di destinazione di inviare una risposta.
Le informazioni multiplexing del protocollo IP consentono di eseguire le seguenti operazioni.





Identificare il nodo di invio (il campo Source IP Address nell'intestazione IPv4 o Source Address
nell'intestazione IPv6).
Identificare il nodo di destinazione (il campo Destination IP Address nell'intestazione IPv4 o Destination
Address nell'intestazione IPv6).
Identificare il protocollo di livello superiore al livello Internet IPv4 o IPv6 (il campo Protocol nell'intestazione
iPv4 o Next Header nell'intestazione iPv6).
In caso di segmenti TCP e messaggi UDP, identificare l'applicazione mittente dei messaggi (il campo Source
Port nell'intestazione TCP o UDP).
In caso di segmenti TCP e messaggi UDP, identificare l'applicazione destinataria dei messaggi (il campo
Destination Port nell'intestazione TCP o UDP).
Le porte TCP e UDP possono utilizzare tutti i numeri compresi tra 0 e 65.535. I numeri di porta relativi ad applicazioni
client sono di norma assegnati dinamicamente al momento della richiesta del servizio; IANA preassegna numeri di
porta per applicazioni note sul lato server. Per un elenco completo dei numeri di porta preassegnati, vedere
http://www.iana.org/assignments/port-numbers (informazioni in lingua inglese).
Tutti questi dati consentono di fornire informazioni multiplexing per le operazioni di seguito riportate.



Il pacchetto può essere inoltrato alla destinazione corretta.
La destinazione può utilizzare il payload del pacchetto per recapitare i dati all'applicazione corretta.
L'applicazione di ricezione può inviare una risposta.
Durante l'invio di un pacchetto, le informazioni sono utilizzate nei modi di seguito riportati.



I router che inoltrano pacchetti IPv4 o IPv6 utilizzano il campo Destination IP Address, in caso di intestazione
IPv4, o Destination Address, in caso di intestazione IPv6, per recapitare il pacchetto al nodo di rete corretto.
Il nodo di destinazione utilizza il campo Protocol, in caso di intestazione IPv4, o Next Header, in caso di
intestazione IPv6, per recapitare il payload del pacchetto al protocollo corretto di livello superiore.
In caso di segmenti TCP o messaggi UDP, il nodo di destinazione utilizza il campo Destination Port
dell'intestazione per eseguire il demultiplexing dei dati interni al segmento TCP o al messaggio UDP
all'applicazione corretta.
Nella figura 2-5 è mostrato un esempio di messaggio DNS Name Query Request (richiesta query nome DNS) di un
pacchetto IPv4 con demultiplexing di un indirizzo di destinazione IP, 131.107.89.223, al servizio DNS.
Figura 2-5 Esempio di demultiplexing di un pacchetto IPv4
API (Application Programming Interface)
Le applicazioni di rete Windows accedono ai servizi TCP/IP in Windows mediante due API (Application Programming
Interface) principali: Windows Sockets e NetBIOS. Nella figura 2-6 sono mostrate queste API e i possibili flussi di dati
da esse generato.
Figura 2-6 Architettura delle API Windows Sockets e NetBIOS
Di seguito sono illustrate alcune differenze a livello di architettura delle API Windows Sockets e NetBIOS.


L'interfaccia NetBIOS over TCP/IP (NetBT) è definita per operazioni su IPv4. Windows Sockets opera sia su
IPv4 che su IPv6.
Le applicazioni Windows Sockets sono in grado di operare direttamente sui livelli Internet IPv4 o IPv6 senza
l'utilizzo di TCP o UDP. NetBIOS opera soltanto su TCP e UDP.
Windows Sockets
Windows Sockets è un'API moderna, di norma utilizzata per applicazioni di rete in Windows. I servizi e gli strumenti
TCP/IP forniti con Windows sono esempi di applicazioni Windows Sockets. I servizi forniti da Windows Sockets
consentono alle applicazioni di utilizzare un indirizzo e una porta IP specifici, di inizializzare e accettare una
connessione a un indirizzo e una porta IP di destinazione specifici, di inviare e ricevere dati, di chiudere una
connessione.
Esistono tre tipi di socket:



Un socket di flusso che fornisce tramite TCP un flusso di dati bidirezionale, affidabile, in sequenza e non
duplicato.
Un socket di datagramma che fornisce un flusso di dati bidirezionale tramite UDP.
Un socket di tipo raw che consente ai protocolli di accedere direttamente al protocollo IP senza utilizzare TCP
o UDP.
Un socket funge da endpoint della comunicazione di rete. Un'applicazione crea un socket di flusso o datagramma
attraverso la specificazione di tre elementi: indirizzo IP dell'host; tipo di servizio (TCP per servizio basato sulla
connessione e UDP per servizio non orientato alla connessione); porta in corso di utilizzo da parte dell'applicazione.
Due socket, uno per ciascuna estremità della connessione, formano un percorso di comunicazioni bidirezionale. Per i
socket di tipo raw, l'applicazione deve specificare il payload IP completo.
NetBIOS
NetBIOS è un'API precedente a Windows Sockets che fornisce servizi per gestione nomi, datagrammi e sessioni in
applicazioni NetBIOS. Un programma applicativo che utilizza come API per la comunicazione di rete NetBIOS può
essere eseguito su tutte le implementazioni di protocollo che supportano l'interfaccia NetBIOS. Esempi di servizi e
applicazioni Windows che utilizzano NetBIOS sono la condivisione di file e stampanti e il servizio Browser di
computer.
NetBIOS definisce inoltre un protocollo che funziona al livello Sessione del modello OSI. Questo livello è
implementato dal protocollo sottostante, ad esempio NetBT (NetBIOS over TCP/IP), definito nei documenti RFC 1001
e 1002. Il servizio nomi NetBIOS utilizza la porta UDP 137. Il servizio datagrammi NetBIOS utilizza la porta 138. Il
servizio sessioni NetBIOS utilizza la porta TCP 139.
Schemi di denominazione TCP/IP in Windows
Sebbene il protocollo IP sia stato progettato per operare con indirizzi di host di invio e di destinazione a 32 bit (IPv4) e
128 bit (IPv6), gli utenti riescono a utilizzare e ricordare più facilmente i nomi che non gli indirizzi IP. Perché un nome
possa essere utilizzato come alias di un indirizzo IP, sono necessari meccanismi che consentano di assegnare nomi agli
indirizzi, garantire l'univocità degli stessi e risolverli nei corrispondenti indirizzi IP.
I componenti TCP/IP di Windows assegnano e risolvono i nomi host delle applicazioni Windows Sockets e i nomi
NetBIOS delle applicazioni NetBIOS utilizzando meccanismi distinti.
Nomi host
Un nome host è un alias assegnato a un nodo IP per identificarlo come host TCP/IP. Il nome host può avere una
dimensione massima di 255 caratteri e contenere caratteri alfabetici o numerici, nonché "-" e ".". È possibile assegnare
allo stesso host più nomi.
Le applicazioni Windows Sockets, come Internet Explorer e lo strumento Ping, possono fare riferimento alla
destinazione utilizzando l'indirizzo IP o un nome host. Quando viene specificato un indirizzo IP non è necessario
risolvere il nome. Se si specifica un nome host, prima che possa essere avviata una comunicazione IP con la risorsa di
destinazione, il nome host deve essere risolto in un indirizzo IP.
I nomi host possono assumere diversi formati: i più comuni dei quali sono uno pseudonimo e un nome di dominio
completo (FQDN). Uno pseudonimo è un alias a un indirizzo IP assegnato e utilizzato da un individuo. Un FQDN è un
nome strutturato, ad esempio www.microsoft.com, che segue le convenzioni Internet utilizzate in DNS.
Nomi NetBIOS
Un nome NetBIOS è un nome a 16 byte che identifica un'applicazione NetBIOS nella rete. Il nome può essere univoco
(esclusivo) o di gruppo (non esclusivo). Quando un'applicazione NetBIOS comunica con un'altra specifica applicazione
su un computer specifico, viene utilizzato un nome univoco. Quando un processo NetBIOS comunica con più
applicazioni NetBIOS su più computer, viene utilizzato un nome di gruppo.
Il nome NetBIOS identifica applicazioni al livello Sessione del modello OSI. Ad esempio, il servizio sessioni NetBIOS
opera sulla porta TCP 139. Poiché tutte le richieste di sessione sono indirizzate alla porta di destinazione TCP 139,
un'applicazione NetBIOS deve utilizzare il nome NetBIOS di destinazione al momento dello stabilimento di una
sessione.
Il servizio server di condivisione di file e stampanti su un computer Windows è un esempio di processo che utilizza un
nome NetBIOS. All'avvio del computer, il servizio server registra un nome NetBIOS univoco basato sul nome del
computer. Il nome esatto utilizzato dal servizio server è il nome del computer di 15 caratteri più un sedicesimo carattere
di 0x20. Per nomi di computer inferiori a 15 caratteri vengono inseriti degli spazi fino al raggiungimento di 15 caratteri.
Anche altri servizi di rete creano il proprio nome NetBIOS utilizzando il nome del computer e il sedicesimo carattere
serve di norma ad identificare ciascun servizio.
Quando si cerca di effettuare una connessione di condivisione file per un computer sul quale è in esecuzione Windows
Server 2003 o Windows XP tramite nome, il servizio Server nel file server specificato corrisponde a uno specifico nome
NetBIOS. Ad esempio, quando si tenta di connettersi a un computer denominato CORPSERVER, il nome NetBIOS
corrispondente al servizio Server sarà CORPSERVER <20>. Si noti l'utilizzo degli spazi per completare il nome del
computer. Prima che sia possibile stabilire una connessione di condivisione file e stampanti, è necessario creare una
connessione TCP. Per poter creare una connessione TCP, sarà necessario risolvere il nome NetBIOS CORPSERVER
<20> in un indirizzo IPv4. La risoluzione dei nomi NetBIOS è il processo di mapping di un nome NetBIOS a un
indirizzo IPv4.
Riepilogo del capitolo
Di seguito sono riportate le informazioni chiave del presente capitolo.







La suite di protocolli TCP/IP corrisponde ai quattro livelli del modello DARPA: Applicazione, Trasporto,
Internet e Interfaccia di rete.
I protocolli del livello Internet IPv4 sono ARP, IP (IPv4), ICMP e IGMP.
I protocolli del livello Internet IPv6 sono IPv6, ICMPv6, ND e MLD.
I protocolli del livello Trasporto comprendono TCP e UDP. Il protocollo TCP è un servizio di recapito
affidabile e orientato alla connessione. Il protocollo UDP fornisce un servizio per datagrammi non orientato
alla connessione che assicura un recapito inaffidabile, di tipo massimo sforzo (best-effort), dei dati trasmessi in
messaggi.
Il multiplexing e il demultiplexing di pacchetti IP effettuato tra le applicazioni si basa sui campi presenti nelle
intestazioni IPv4, IPv6, TCP e UDP.
I componenti TCP/IP supportano per le applicazioni di rete in Windows due API principali: Windows Sockets
e NetBIOS. Windows Sockets è un'API recente che consente alle applicazioni di gestire socket di flusso,
datagramma e di tipo raw. NetBIOS è un'API precedente che consente alle applicazioni di gestire nomi
NetBIOS, datagrammi e sessioni.
I componenti TCP/IP supportano per le applicazioni di rete in Windows due schemi di denominazione: nomi
host (utilizzati da applicazioni Windows Sockets) e nomi NetBIOS (utilizzati da applicazioni NetBIOS).
Glossario del capitolo
autoconfigurazione indirizzi - Processo ND di configurazione automatica di indirizzi IPv6 su un'interfaccia.
risoluzione indirizzi - Processo IPv4 (tramite ARP) o IPv6 (tramite ND) che risolve l'indirizzo MAC relativo a un
indirizzo IP di hop successivo.
Address Resolution Protocol (ARP) - Protocollo che risolve un indirizzo IPv4 nel corrispondente indirizzo MAC
mediante traffico broadcast sulla rete locale.
ARP - Vedere Address Resolution Protocol.
cache ARP - Tabella relativa a ciascuna interfaccia di indirizzi IPv4 risolti in modo statico o dinamico con i
corrispondenti indirizzi MAC.
ICMP - Vedere Internet Control Message Protocol.
ICMPv6 - Vedere Internet Control Message Protocol for IPv6.
IGMP - Vedere Internet Group Management Protocol.
Internet Control Message Protocol (ICMP) - Protocollo del livello Internet IPv4 che riporta errori e fornisce strumenti
per la risoluzione di problemi.
Internet Control Message Protocol for IPv6 (ICMPv6) - Protocollo del livello Internet IPv6 che riporta errori, fornisce
strumenti per la risoluzione di problemi e ospita messaggi ND e MLD.
Internet Group Management Protocol (IGMP) - Protocollo del livello Internet IPv4 che gestisce l'appartenenza a gruppi
multicast in una subnet.
Internet Protocol (IP) - Per IPv4, protocollo instradabile del livello Internet IPv4 che indirizza, instrada, suddivide in
frammenti e riassembla pacchetti. Utilizzato anche per indicare entrambi gli insiemi di protocolli IPv4 e IPv6.
IP - Vedere Internet Protocol.
IPv4 - Livello Internet ampiamente utilizzato in Internet e nelle reti Intranet private. Sinonimo di IP.
IPv6 - Nuovo livello Internet che in futuro sostituirà il livello Internet IPv4.
MLD - Vedere Multicast Listener Discovery.
Multicast Listener Discovery (MLD) - Insieme di tre messaggi ICMPv6 utilizzati da router e host per gestire
l'appartenenza a gruppi multicast in una subnet.
risoluzione nomi - Processo di risoluzione di un nome in un indirizzo.
ND - Vedere Neighbor Discovery.
cache adiacente - Cache mantenuta da ogni nodo IPv6 in cui vengono archiviati l'indirizzo IPv6 di un vicino e il
corrispondente indirizzo MAC. La cache adiacente equivale alla cache ARP in IPv4.
Neighbor Discovery (ND) - Insieme di messaggi e processi ICMPv6 che determinano le relazioni tra nodi adiacenti.
Neighbor Discovery sostituisce i messaggi ARP, ICMP Router Discovery e ICMP Redirect utilizzati in IPv4.
Network Basic Input/Output System (NetBIOS) - API standard attraverso cui le applicazioni utente sono in grado di
gestire nomi NetBIOS e accedere a servizi per sessioni e datagrammi NetBIOS.
NetBIOS - Vedere Network Basic Input/Output System.
rilevamento router - Processo Neighbor Discovery durante il quale un host individua i router locali della subnet
collegata.
TCP - Vedere Transmission Control Protocol.
Transmission Control Protocol (TCP) - Protocollo di livello Trasporto affidabile e orientato alla connessione che viene
eseguito al livello più alto del protocollo IP.
UDP - Vedere User Datagram Protocol.
User Datagram Protocol (UDP) - Protocollo di livello Trasporto inaffidabile e non orientato alla connessione, che viene
eseguito al livello più alto del protocollo IP.
Windows Sockets - API utilizzata di norma da applicazioni Windows per trasferire dati tramite il protocollo TCP/IP.
Nozioni fondamentali sul protocollo TCP/IP per Microsoft Windows: Capitolo 3 - Indirizzi IP
http://technet.microsoft.com/it-it/library/bb726995.aspx
Abstract
Nel presente capitolo vengono fornite informazioni dettagliate sugli indirizzi IPv4 e IPv6. Per gli amministratori di rete
è importante comprendere entrambi i tipi di indirizzi per l'amministrazione delle reti TCP/IP (Transmission Control
Protocol/Internet Protocol) e per la risoluzione dei problemi relativi alle comunicazioni basate su TCP/IP. Nel capitolo
vengono descritti dettagliatamente gli indirizzi di tipo IPv4 (Internet Protocol version 4) e IPv6 (Internet Protocol
version 6), le modalità in cui vengono espressi e i tipi di indirizzi unicast assegnati alle interfacce dei nodi di rete.
In questa pagina
Obiettivi del capitolo
Indirizzi IPv4
Indirizzi IPv6
Confronto tra gli indirizzi IPv4 e IPv6
Riepilogo del capitolo
Glossario del capitolo
Obiettivi del capitolo
Al termine di questo capitolo, si sarà in grado di eseguire le seguenti attività:








Descrivere la sintassi degli indirizzi e dei prefissi degli indirizzi IPv4 ed eseguire la conversione tra numeri
binari e decimali.
Elencare i tre tipi di indirizzi IPv4 e fornire esempi per ogni tipo.
Descrivere le differenze tra indirizzi IPv4 pubblici, privati e non validi.
Descrivere la sintassi degli indirizzi e dei prefissi degli indirizzi IPv6 ed eseguire la conversione tra numeri
binari ed esadecimali.
Elencare i tre tipi di indirizzi IPv6 e fornire esempi per ogni tipo.
Descrivere le differenze tra indirizzi IPv6 unicast locali del collegamento, locali del sito e globali.
Convertire un indirizzo IEEE (Institute of Electrical and Electronics Engineers) 802 in un identificatore di
interfaccia IPv6.
Confrontare gli indirizzi e il concetto di indirizzo di tipo IPv4 e IPv6.
Indirizzi IPv4
Un indirizzo IP è un identificatore assegnato a livello di Internet a un'interfaccia o a un insieme di interfacce. Ogni
indirizzo IP consente di identificare l'origine o la destinazione dei pacchetti IP. Nel caso di IPv4, ogni nodo in una rete
dispone di una o più interfacce, in ognuna delle quali è possibile abilitare il protocollo TCP/IP. Quando si abilita il
protocollo TCP/IP in un'interfaccia, si assegnano uno o più indirizzi logici IPv4, automaticamente o manualmente.
L'indirizzo IPv4 è di tipo logico in quanto viene assegnato a livello di Internet e non è correlato agli indirizzi utilizzati a
livello di interfaccia di rete. Gli indirizzi IPv4 sono composti da 32 bit.
Sintassi degli indirizzi IPv4
Se gli amministratori di rete utilizzassero la notazione binaria per gli indirizzi IPv4, ognuno di tali indirizzi
consisterebbe in una stringa a 32 cifre, composta da un'alternanza di 0 e 1. Poiché stringhe di questo tipo sono
impegnative da esprimere e ricordare, gli amministratori utilizzano una notazione decimale con punti che separano
quattro numeri decimali compresi tra 0 e 255. Ogni numero decimale, noto come ottetto, rappresenta 8 bit, ovvero un
byte, dell'indirizzo a 32 bit.
L'indirizzo IPv4 11000000101010000000001100011000 viene ad esempio espresso come 192.168.3.24 nella notazione
decimale separata da punti. Per convertire un indirizzo IPv4 da notazione binaria a decimale, è necessario eseguire le
operazioni seguenti:

Segmentare l'indirizzo in blocchi di 8 bit: 11000000 10101000 00000011 00011000


Convertire in formato decimale ognuno dei blocchi: 192 168 3 24
Separare i blocchi tramite punti: 192.168.3.24
Quando si fa riferimento a un indirizzo IPv4, si utilizza la notazione w.x.y.z. Nella figura 3-1 è illustrata la struttura di
un indirizzo IPv4.
Figura 3-1 Indirizzo IPv4 in notazione decimale separata da punti
Per acquisire familiarità con la conversione tra formato binario e decimale, fare riferimento alle informazioni sui sistemi
di numerazione binario, base2, e decimale, base10, e sulle modalità di conversione tra i due sistemi. In alternativa, è
possibile utilizzare la calcolatrice disponibile nel sistema operativo Microsoft® Windows Server™ 2003 o
Windows® XP per eseguire la conversione tra formato decimale e binario, sebbene per comprendere meglio il concetto
sia preferibile effettuare l'operazione manualmente.
Conversione da formato binario a decimale
Nel sistema di numerazione decimale i numeri vengono espressi utilizzando le cifre comprese tra 0 e 9 e i valori
esponenziali di 10. Il numero decimale 207 è dato ad esempio dalla somma di 2x102 + 0x101 + 7x100. Nel sistema di
numerazione binario i numeri vengono espressi utilizzando le cifre 1 e 0 e i valori esponenziali di 2. Il numero binario
11001 è dato ad esempio dalla somma di 1x24 + 1x23 + 0x22 + 0x21 + 1x20. Nella notazione decimale separata da
punti non sono mai inclusi numeri superiori a 255, in quanto ogni numero decimale rappresenta 8 bit di un indirizzo a
32 bit. Il numero massimo che è possibile esprimere con 8 bit in formato binario è 11111111, che in formato decimale
corrisponde a 255.
Nella figura 3-2 sono illustrati le posizioni dei bit e i relativi valori decimali di un numero binario a 8 bit.
Figura 3-2 Numero binario a 8 bit
Per convertire manualmente da binario a decimale un numero a 8 bit, iniziando dalla parte superiore della figura 3-2,
eseguire le operazioni seguenti:
1.
2.
3.
4.
5.
6.
7.
8.
Se la posizione dell'ottavo bit corrisponde a 1, aggiungere 128 al totale.
Se la posizione del settimo bit corrisponde a 1, aggiungere 64 al totale.
Se la posizione del sesto bit corrisponde a 1, aggiungere 32 al totale.
Se la posizione del quinto bit corrisponde a 1, aggiungere 16 al totale.
Se la posizione del quarto bit corrisponde a 1, aggiungere 8 al totale.
Se la posizione del terzo bit corrisponde a 1, aggiungere 4 al totale.
Se la posizione del secondo bit corrisponde a 1, aggiungere 2 al totale.
Se la posizione del primo bit corrisponde a 1, aggiungere 1 al totale.
Nel caso ad esempio del numero binario a 8 bit 10111001:
1.
2.
3.
4.
5.
6.
7.
8.
La posizione dell'ottavo bit corrisponde a 1. Aggiungere 128 al totale. Il totale a questo punto è 128.
La posizione del settimo bit corrisponde a 0.
La posizione del sesto bit corrisponde a 1. Aggiungere 32 al totale. Il totale a questo punto è 160.
La posizione del quinto bit corrisponde a 1. Aggiungere 16 al totale. Il totale a questo punto è 176.
La posizione del quarto bit corrisponde a 1. Aggiungere 8 al totale. Il totale a questo punto è 184.
La posizione del terzo bit corrisponde a 0.
La posizione del secondo bit corrisponde a 0.
La posizione del primo bit corrisponde a 1. Aggiungere 1 al totale. Il totale a questo punto è 185.
Il numero binario 10111001 corrisponde pertanto al numero decimale 185.
Riepilogando, per convertire un numero binario nell'equivalente decimale, sommare gli equivalenti decimali per le
posizioni dei bit impostati su 1. Se tutti gli 8 bit sono impostati su 1, sommare 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 per
ottenere 255.
Conversione da formato decimale a binario
Per convertire manualmente da decimale a binario un numero minore o uguale a 255, iniziando dalla colonna decimale
della figura 3-2, eseguire le operazioni seguenti:
1.
2.
3.
4.
5.
6.
7.
8.
Se il numero è maggiore di 127, collocare un 1 nella posizione dell'ottavo bit e sottrarre 128 dal numero. In
caso contrario, collocare uno 0 nella posizione dell'ottavo bit.
Se il numero rimanente è maggiore di 63, collocare un 1 nella posizione del settimo bit e sottrarre 64 dal
numero. In caso contrario, collocare uno 0 nella posizione del settimo bit.
Se il numero rimanente è maggiore di 31, collocare un 1 nella posizione del sesto bit e sottrarre 32 dal numero.
In caso contrario, collocare uno 0 nella posizione del sesto bit.
Se il numero rimanente è maggiore di 15, collocare un 1 nella posizione del quinto bit e sottrarre 16 dal
numero. In caso contrario, collocare uno 0 nella posizione del quinto bit.
Se il numero rimanente è maggiore di 7, collocare un 1 nella posizione del quarto bit e sottrarre 8 dal numero.
In caso contrario, collocare uno 0 nella posizione del quarto bit.
Se il numero rimanente è maggiore di 3, collocare un 1 nella posizione del terzo bit e sottrarre 4 dal numero. In
caso contrario, collocare uno 0 nella posizione del terzo bit.
Se il numero rimanente è maggiore di 1, collocare un 1 nella posizione del secondo bit e sottrarre 2 dal
numero. In caso contrario, collocare uno 0 nella posizione del secondo bit.
Se il numero rimanente equivale a 1, collocare un 1 nella posizione del primo bit. In caso contrario, collocare
uno 0 nella posizione del primo bit.
Di seguito è riportato un esempio della conversione del numero decimale 197 in binario:
1.
2.
3.
4.
5.
6.
7.
8.
Poiché 197 è maggiore di 127, collocare un 1 nella posizione dell'ottavo bit e sottrarre 128 da 197. Si otterrà
come risultato 69. Fino a questo momento, il numero binario è 1xxxxxxx.
Poiché 69 è maggiore di 63, collocare un 1 nella posizione del settimo bit e sottrarre 64 da 69. Si otterrà come
risultato 5. Fino a questo momento, il numero binario è 11xxxxxx.
Poiché 5 non è maggiore di 31, collocare uno 0 nella posizione del sesto bit. Fino a questo momento, il numero
binario è 110xxxxx.
Poiché 5 non è maggiore di 15, collocare uno 0 nella posizione del quinto bit. Fino a questo momento, il
numero binario è 1100xxxx.
Poiché 5 non è maggiore di 7, collocare uno 0 nella posizione del quarto bit. Fino a questo momento, il numero
binario è 11000xxx.
Poiché 5 è maggiore di 3, collocare un 1 nella posizione del terzo bit e sottrarre 4 da 5. Si otterrà come risultato
1. Fino a questo momento, il numero binario è 110001xx.
Poiché 1 non è maggiore di 1, collocare uno 0 nella posizione del secondo bit. Fino a questo momento, il
numero binario è 1100010x.
Poiché 1 è equivalente a 1, collocare un 1 nella posizione del primo bit. Il numero binario finale è 11000101. Il
numero decimale 197 corrisponde al numero binario 11000101.
Riepilogando, per convertire un numero decimale in binario, verificare se il numero decimale contiene le quantità
rappresentate dalle posizioni dei bit a partire dall'ottavo bit fino al primo. Partendo dalla quantità dell'ottavo bit, ovvero
128, se la quantità è presente, impostare su 1 il bit in quella posizione. Il numero decimale 211 contiene ad esempio
128, 64, 16, 2 e 1. In notazione binaria il numero corrisponde pertanto a 11010011.
Prefissi degli indirizzi IPv4
Ogni bit di un indirizzo IPv4 univoco ha un valore definito. I prefissi degli indirizzi IPv4 indicano tuttavia un intervallo
di indirizzi IPv4 in cui zero o più bit di ordine superiore sono fissati su valori specifici e i rimanenti bit variabili di
ordine inferiore sono impostati su zero. I prefissi degli indirizzi sono in genere utilizzati per esprimere un intervallo di
indirizzi consentiti, identificatori di rete assegnati a subnet e route.
Per esprimere un prefisso di un indirizzo IPv4, è necessario identificare i bit di ordine superiore fissi e il relativo valore.
È quindi possibile utilizzare la notazione della lunghezza del prefisso o la notazione decimale separata da punti.
Notazione della lunghezza del prefisso
Se si utilizza la notazione della lunghezza del prefisso, i prefissi degli indirizzi vengono espressi come
IndirizzoIniziale/LunghezzaPrefisso, dove:


IndirizzoIniziale è l'espressione in notazione decimale separata da punti del primo indirizzo matematicamente
possibile nell'intervallo. Per comporre l'indirizzo iniziale, impostare i bit fissi sui relativi valori definiti e i bit
rimanenti su 0.
LunghezzaPrefisso indica il numero di bit fissi di ordine superiore nell'indirizzo.
Il prefisso dell'indirizzo IPv4 131.107.0.0/16 specifica ad esempio un intervallo di 65.536 indirizzi. La lunghezza del
prefisso, 16, specifica che tutti gli indirizzi nell'intervallo iniziano con gli stessi 16 bit, che rappresentano l'indirizzo
iniziale. Poiché i primi 16 bit dell'indirizzo iniziale sono fissati a 10000011 01101011, ovvero 131 107 in formato
decimale, tutti gli indirizzi nell'intervallo hanno 131 come primo ottetto e 107 come secondo ottetto. Poiché ci sono 16
bit variabili negli ultimi due ottetti, sono disponibili in tutto 216 o 65.536 indirizzi possibili.
Per specificare un prefisso di un indirizzo tramite la notazione della lunghezza del prefisso, è necessario creare
l'indirizzo iniziale impostando tutti i bit variabili su 0, convertire l'indirizzo nella notazione decimale separata da punti,
quindi aggiungere una barra e il numero di bit fissi, ovvero la lunghezza del prefisso, dopo l'indirizzo iniziale.
Il prefisso dell'indirizzo IPv4 131.107.0.0/16 ha 16 bit fissi (10000011 01101011). L'indirizzo iniziale è composto dai
16 bit fissi, mentre gli ultimi 16 bit sono impostati su 0. Il risultato è pertanto 10000011 01101011 00000000 00000000
o 131.107.0.0. È quindi necessario aggiungere una barra e specificare il numero di bit fissi (/16) per esprimere il
prefisso dell'indirizzo, ad esempio 131.107.0.0/16.
La notazione della lunghezza del prefisso è detta anche notazione CIDR (Classless Inter-Domain Routing).
Notazione decimale separata da punti
È anche possibile esprimere la lunghezza del prefisso di un indirizzo IPv4 come numero a 32 bit in notazione decimale
separata da punti. Per utilizzare questo metodo, impostare tutti i bit fissi su 1 e tutti quelli variabili su 0, quindi
convertire il risultato in notazione decimale separata da punti. Continuando a utilizzare l'esempio precedente, impostare
i 16 bit fissi su 1 e i 16 bit variabili su 0. Il risultato sarà 11111111 11111111 00000000 00000000 o 255.255.0.0. Il
prefisso dell'indirizzo viene espresso come 131.107.0.0, 255.255.0.0. Questo tipo di espressione della lunghezza del
prefisso come numero decimale separato da punti è detta anche notazione network mask o subnet mask.
Nella tabella 3-1 sono elencati i valori decimali di un ottetto quando si impostano su 1 i bit di ordine superiore
successivi di un numero a 8 bit.
Numero di bit
0
1
2
3
4
5
6
7
8
Formato binario
00000000
10000000
11000000
11100000
11110000
11111000
11111100
11111110
11111111
Formato decimale
0
128
192
224
240
248
252
254
255
Tabella 3-1 Valori decimali per le lunghezze dei prefissi
Quando si configurano i prefissi degli indirizzi IPv4 in Windows, si utilizza più frequentemente la notazione subnet
mask rispetto a quella della lunghezza del prefisso. È tuttavia necessario conoscere entrambi i tipi di notazione, in
quanto in alcune finestre di dialogo per la configurazione di Windows è necessario utilizzare la notazione della
lunghezza del prefisso e non la subnet mask e inoltre perché il protocollo IPv6 supporta solo la notazione della
lunghezza del prefisso.
Tipi di indirizzi IPv4
Tramite gli standard Internet vengono definiti i tipi di indirizzi IPv4 seguenti:

Unicast
Assegnati a una singola interfaccia di rete situata in una subnet specifica e utilizzati per le comunicazioni unoa-uno.

Multicast
Assegnati a una o più interfacce di rete situate in diverse subnet e utilizzati per le comunicazioni uno-a-molti.

Broadcast
Assegnati a tutte le interfacce di rete situate in una subnet e utilizzati per le comunicazioni uno-a-tutti nella
subnet.
Nelle sezioni seguenti vengono descritti dettagliatamente questi tipi di indirizzi.
Indirizzi unicast IPv4
Un indirizzo unicast IPv4 identifica la posizione di un'interfaccia nella rete, nello stesso modo in cui un indirizzo
stradale identifica una casa in un isolato. Proprio come gli indirizzi stradali devono identificare un'unica abitazione, gli
indirizzi unicast IPv4 devono essere globalmente univoci e avere un formato uniforme.
Ogni indirizzo unicast IPv4 include una parte riservata all'ID di rete e una all'ID host.


La parte riservata all'ID di rete, detto anche indirizzo di rete, di un indirizzo unicast IPv4 identifica l'insieme di
interfacce che si trovano nello stesso segmento di rete fisico o logico, i cui confini sono definiti dai router
IPv4. Un segmento di rete in una rete TCP/IP è anche detto subnet o collegamento. Tutti i nodi nella stessa
subnet fisica o logica devono utilizzare lo stesso ID di rete e tale ID deve essere univoco nell'intera rete
TCP/IP.
La parte riservata all'ID host, detto anche indirizzo host, di un indirizzo unicast IPv4 identifica l'interfaccia di
un nodo di rete in una subnet. L'ID host deve essere univoco all'interno del segmento di rete.
Nella figura 3-3 è illustrata la struttura di un indirizzo unicast IPv4 di esempio.
Figura 3-3 Struttura di un indirizzo unicast IPv4 di esempio
Se l'ID di rete è univoco nella rete TCP/IP e l'ID host è univoco nel segmento di rete, l'intero indirizzo unicast IPv4 è
univoco nell'intera rete TCP/IP.
Classi di indirizzi Internet
In Internet sono state originariamente definite classi di indirizzi per assegnare in modo sistematico i prefissi degli
indirizzi di reti di varie dimensioni. La classe di un indirizzo definisce il numero di bit utilizzati per l'ID di rete e di bit
utilizzati per l'ID host. Le classi di indirizzi definiscono inoltre il numero possibile di reti e quello di host per rete. Delle
cinque classi di indirizzi esistenti, le classi A, B e C sono state riservate agli indirizzi unicast IPv4. La classe D è stata
riservata agli indirizzi multicast IPv4 e la classe E a un utilizzo di tipo sperimentale.
Gli ID di rete di classe A sono stati assegnati alle reti con un numero di host molto elevato. La lunghezza del prefisso
degli ID di rete di classe A è di soli 8 bit. In questo modo, tramite i 24 bit rimanenti è possibile identificare fino a
16.777.214 ID host. A causa tuttavia della limitata lunghezza del prefisso, il numero di reti di classe A può essere al
massimo 126. In primo luogo, il bit di ordine superiore in un ID di rete di classe A è sempre impostato su 0. In questo
modo, il numero di ID di rete di classe A si riduce da 256 a 128. In secondo luogo, gli indirizzi in cui i primi otto bit
sono impostati su 00000000 non possono essere assegnati in quanto costituiscono un ID di rete riservato. Infine, gli
indirizzi in cui i primi otto bit sono impostati su 01111111, ovvero 127 in formato decimale, non possono essere
assegnati in quanto sono riservati per gli indirizzi di loopback. A causa di queste ultime due convenzioni, il numero di
ID di rete di classe A passa da 128 a 126.
Per qualsiasi ID di rete IPv4, i due ID host in cui tutti i bit relativi all'host sono impostati su 0, ovvero l'ID host
costituito da soli valori 0, o su 1, ovvero l'ID host costituito da soli valori 1, non possono essere assegnati alle interfacce
dei nodi di rete. A causa di questa convenzione, il numero di ID host in ogni rete di classe A viene ridotto da 16.777.216
(224) a 16.777.214.
Nella figura 3-4 è illustrata la struttura degli indirizzi di classe A.
Figura 3-4 Struttura degli indirizzi di classe A
Gli ID di rete di classe B sono stati assegnati alle reti di medie e grandi dimensioni. Negli indirizzi di queste reti i primi
16 bit specificano una rete particolare e gli ultimi 16 un host particolare. I due bit di ordine superiore in un indirizzo di
classe B sono tuttavia sempre impostati su 10, pertanto il prefisso dell'indirizzo per tutti gli indirizzi e le reti di classe B
corrisponde a 128.0.0.0/2 oppure a 128.0.0.0, 192.0.0.0. Negli indirizzi di classe B 14 bit sono dedicati agli ID di rete e
16 bit agli ID host e pertanto tali indirizzi possono essere assegnati a 16.384 reti con un numero massimo di 65.534 host
per rete.
Nella figura 3-5 è illustrata la struttura degli indirizzi di classe B.
Figura 3-5 Struttura degli indirizzi di classe B
Gli indirizzi di classe C sono stati assegnati alle reti di piccole dimensioni. Negli indirizzi di queste reti i primi 24 bit
specificano una rete particolare e gli ultimi 8 host particolari. I tre bit di ordine superiore in un indirizzo di classe C
sono tuttavia sempre impostati su 110, pertanto il prefisso dell'indirizzo per tutti gli indirizzi e le reti di classe C
corrisponde a 192.0.0.0/3 oppure a 192.0.0.0, 224.0.0.0. Negli indirizzi di classe C 21 bit sono dedicati agli ID di rete e
8 bit agli ID host, pertanto tali indirizzi possono essere assegnati a 2.097.152 reti con un numero massimo di 254 host
per rete.
Nella figura 3-6 è illustrata la struttura degli indirizzi di classe C.
Figura 3-6 Struttura degli indirizzi di classe C
Gli indirizzi di classe D sono riservati a indirizzi multicast IPv4. I quattro bit di ordine superiore in un indirizzo di
classe D sono sempre impostati su 1110, pertanto il prefisso dell'indirizzo per tutti gli indirizzi di classe D corrisponde a
224.0.0.0/4 oppure a 224.0.0.0, 240.0.0.0. Per ulteriori informazioni, vedere la sezione "Indirizzi multicast IPv4" in
questo capitolo.
Gli indirizzi di classe E sono riservati a un utilizzo di tipo sperimentale. I quattro bit di ordine superiore in un indirizzo
di classe E sono impostati su 1111, pertanto il prefisso dell'indirizzo per tutti gli indirizzi di classe E corrisponde a
240.0.0.0/4 oppure a 240.0.0.0, 240.0.0.0.
Nella tabella 3-2 è riportato un riepilogo delle classi di indirizzi Internet A, B e C che possono essere utilizzate per gli
indirizzi unicast IPv4.
Classe
A
B
C
Valore di w
1-126
127-191
192-223
Parte riservata all'ID di rete
w
w.x
w.x.y
Parte riservata all'ID host
x.y.z
y.z
z
ID di rete
126
16.384
2.097.152
ID host per rete
16.277.214
65.534
254
Tabella 3-2 Riepilogo delle classi di indirizzi Internet
Indirizzi Internet moderni
Le classi di indirizzi Internet rappresentano un metodo obsoleto di allocazione degli indirizzi unicast, che si è rivelato
poco efficace. Un'organizzazione di grandi dimensioni con una rete di classe A può ad esempio avere fino a 16.777.214
host. Se tuttavia l'organizzazione utilizza solo 70.000 ID host, verranno sprecati 16.707.214 indirizzi unicast IPv4
potenziali.
Dal 1993, i prefissi degli indirizzi IPv4 vengono assegnati in base alle effettive esigenze delle organizzazioni
relativamente agli indirizzi unicast IPv4 a cui sia possibile accedere via Internet. Questo metodo è noto anche come
CIDR (Classless Inter-Domain Routing). Se, ad esempio, un'organizzazione determina di avere bisogno di 2.000
indirizzi unicast IPv4 a cui sia possibile accedere via Internet, l'autorità ICANN (Internet Corporation for Assigned
Names and Numbers) oppure un provider di servizi Internet (ISP, Internet Service Provider) provvederà all'allocazione
di un prefisso degli indirizzi IPv4 con 21 bit fissi e 11 bit riservati agli ID host. Tramite questi 11 bit è possibile creare
2.046 indirizzi unicast IPv4.
Generalmente le allocazioni di indirizzi basati sulla notazione CIDR iniziano con 24 bit assegnati all'ID di rete e 8 all'ID
host. Nella tabella 3-3 sono indicate le diverse lunghezze dei prefissi in base al numero di ID host richiesti per quanto
riguarda le allocazioni di indirizzi basati su CIDR.
Numero di ID host
2-254
255-510
511-1.022
1.021-2.046
2.047-4.094
Lunghezza del prefisso
/24
/23
/22
/21
/20
Notazione decimale separata da punti
255.255.255.0
255.255.254.0
255.255.252.0
255.255.248.0
255.255.240.0
4.095-8.190
8.191-16.382
16.383-32.766
32.767-65.534
/19
/18
/17
/16
255.255.224.0
255.255.192.0
255.255.128.0
255.255.0.0
Tabella 3-3 Requisiti relativi a ID host e lunghezze dei prefissi degli indirizzi basati su CIDR
Indirizzi pubblici
Se si desidera disporre di connettività diretta a Internet, ovvero tramite instradamento, è necessario utilizzare gli
indirizzi pubblici. Se si desidera disporre di connettività indiretta, ovvero tramite proxy o conversione, è possibile
utilizzare sia indirizzi pubblici che privati. Se la rete Intranet non è connessa a Internet in alcun modo, è possibile
utilizzare tutti gli indirizzi unicast IPv4 desiderati. Se tuttavia la rete Intranet è connessa a Internet, è necessario
utilizzare indirizzi privati per evitare problemi di rinumerazione.
L'autorità ICANN assegna gli indirizzi pubblici, che consistono in ID di rete di classe allocati in passato o, più
recentemente, in prefissi di indirizzi basati su CIDR e la cui univocità in Internet è garantita. Per i prefissi degli indirizzi
basati su CIDR, il valore di w, ovvero del primo ottetto, è compreso tra 1 e 126 e tra 128 e 223, ad eccezione dei prefissi
degli indirizzi privati, descritti nella sezione "Indirizzi privati" del presente capitolo.
Quando l'autorità ICANN assegna un prefisso di un indirizzo pubblico a un'organizzazione, vengono aggiunte route ai
router Internet affinché il traffico che corrisponde al prefisso dell'indirizzo possa raggiungere l'organizzazione. Quando,
ad esempio, a un'organizzazione viene assegnato un prefisso di un indirizzo, tale prefisso esiste anche come route nei
router Internet. I pacchetti IPv4 inviati a un indirizzo con il prefisso assegnato vengono instradati alla destinazione
corretta.
Indirizzi non validi
Nelle reti Intranet di organizzazioni private in cui non è necessaria una connessione Internet è possibile scegliere lo
schema di indirizzi desiderato, anche utilizzando prefissi di indirizzi pubblici assegnati dall'autorità ICANN ad altre
reti. Se successivamente l'organizzazione privata decide di utilizzare una connessione diretta a Internet, tali indirizzi
possono entrare in conflitto con gli indirizzi pubblici esistenti, diventando indirizzi non validi. Le organizzazioni con
indirizzi non validi non possono ricevere traffico verso tali indirizzi, in quanto tramite i router Internet viene inviato il
traffico destinato ai prefissi degli indirizzi allocati dall'autorità ICANN e non alle organizzazioni che utilizzano indirizzi
non validi.
Se, ad esempio, un'organizzazione decide di utilizzare il prefisso 206.73.118.0/24 per gli indirizzi nella propria rete
Intranet, poiché l'autorità ICANN ha assegnato tale prefisso a Microsoft Corporation, nei router Internet sono presenti
route per l'invio dei pacchetti IPv4 con prefisso 206.73.118.0/24 a Microsoft. Fino a quando l'organizzazione privata
non si connette a Internet, non si verifica alcun problema, in quanto i due prefissi degli indirizzi si trovano in reti IPv4
separate e pertanto gli indirizzi sono univoci in ognuna delle reti. Se successivamente l'organizzazione privata si
connette direttamente a Internet e continua a utilizzare il prefisso 206.73.118.0/24, il traffico inviato tramite Internet a
tali indirizzi arriverà a Microsoft e non all'organizzazione privata.
Indirizzi privati
Ogni interfaccia IPv4 deve disporre di un indirizzo IPv4 univoco nella rete IPv4. Nel caso di Internet, ogni interfaccia
IPv4 in una subnet connessa a Internet deve disporre di un indirizzo IPv4 univoco in Internet. Con l'espandersi di
Internet, per le organizzazioni connesse è diventato necessario disporre di un indirizzo pubblico per ogni interfaccia
nella rete Intranet. Questo motivo ha portato a un'ingente richiesta di indirizzi del pool di indirizzi pubblici disponibili.
Analizzando le necessità delle organizzazioni per quanto riguarda gli indirizzi, i progettisti di Internet si sono resi conto
del fatto che per molte organizzazioni la maggior parte degli host non necessitava di connettività diretta a Internet. Per
gli host per cui era necessario un insieme specifico di servizi Internet, ad esempio accesso Web e posta elettronica,
l'accesso a tali servizi avveniva tramite gateway di livello applicazione, ad esempio server proxy e server di posta
elettronica. Di conseguenza, per la maggior parte delle organizzazioni erano necessari solo pochi indirizzi pubblici per i
nodi direttamente connessi a Internet, ad esempio proxy, server, router, firewall e convertitori.
Per gli host all'interno dell'organizzazione che non necessitavano di accesso diretto a Internet, erano necessari indirizzi
IPv4 che non duplicassero indirizzi pubblici già assegnati. Per risolvere questo problema di assegnazione degli indirizzi,
è stato deciso di riservare una parte dello spazio degli indirizzi IPv4 agli indirizzi privati. Gli indirizzi IPv4 nello spazio
degli indirizzi privati sono noti come indirizzi privati e non vengono mai assegnati come indirizzi pubblici. Poiché gli
spazi degli indirizzi pubblici e privati non si sovrappongono, gli indirizzi privati non rappresentano mai un duplicato di
quelli pubblici.
Nella specifica RFC 1918 vengono definiti i seguenti prefissi per lo spazio degli indirizzi privati:

10.0.0.0/8 (10.0.0.0, 255.0.0.0)
Consente il seguente intervallo di indirizzi unicast IPv4 validi: da 10.0.0.1 a 10.255.255.254. Il prefisso
10.0.0.0/8 ha 24 bit per l'host che possono essere utilizzati per qualsiasi schema di indirizzi all'interno di
un'organizzazione privata.

172.16.0.0/12 (172.16.0.0, 255.240.0.0)
Consente il seguente intervallo di indirizzi unicast IPv4 validi: da 172.16.0.1 a 172.31.255.254. Il prefisso
172.16.0.0/12 ha 20 bit per l'host che possono essere utilizzati per qualsiasi schema di indirizzi all'interno di
un'organizzazione privata.

192.168.0.0/16 (192.168.0.0, 255.255.0.0)
Consente il seguente intervallo di indirizzi unicast IPv4 validi: da 192.168.0.1 a 192.168.255.254. Il prefisso
192.168.0.0/16 ha 16 bit per l'host che possono essere utilizzati per qualsiasi schema di indirizzi all'interno di
un'organizzazione privata.
Poiché l'autorità ICANN non assegnerà mai gli indirizzi IPv4 nello spazio degli indirizzi privati a un'organizzazione
connessa a Internet, i router Internet non conterranno mai route agli indirizzi privati. Non è possibile connettersi a un
indirizzo privato in Internet. Un host con un indirizzo privato deve pertanto inviare le proprie richieste di traffico
Internet a un gateway di livello applicazione, ad esempio un server proxy, che disponga di un indirizzo pubblico valido
oppure tramite un dispositivo NAT (Network Address Translation) in grado di convertire l'indirizzo privato in un
indirizzo pubblico valido.
Indirizzi IP privati automatici
Come descritto nel capitolo 1 "Introduzione al protocollo TCP/IP", è possibile configurare un'interfaccia in un computer
in cui è in esecuzione Windows Server 2003 o Windows XP in modo che per tale interfaccia possa essere configurato
automaticamente un indirizzo IPv4. Se tramite il computer non viene contattato un server DHCP (Dynamic Host
Configuration Protocol), viene utilizzata la configurazione alternativa, come specificato nella scheda Configurazione
alternativa della finestra di dialogo delle proprietà del componente Protocollo Internet (TCP/IP).
Se nella scheda Configurazione alternativa è selezionata l'opzione Indirizzo IP privato automatico e non è possibile
trovare un server DHCP, per il componente TCP/IP di Windows viene utilizzata la funzionalità APIPA (Automatic
Private IP Addressing). Tramite il componente TCP/IP viene selezionato in modo casuale un indirizzo IPv4 dal prefisso
degli indirizzi 169.254.0.0/16 e viene assegnata la subnet mask 255.255.0.0. L'autorità ICANN ha riservato questo
prefisso degli indirizzi, che non può essere raggiunto in Internet. La funzionalità APIPA consente alle reti SOHO (Small
Office/Home Office) con un'unica subnet di utilizzare il protocollo TCP/IP senza che sia necessario che un
amministratore configuri e aggiorni gli indirizzi statici o amministri un server DHCP. Tramite la funzionalità APIPA
non viene configurato un gateway predefinito e pertanto è possibile scambiare traffico solo con gli altri nodi nella
subnet.
Indirizzi IPv4 speciali
Di seguito sono indicati gli indirizzi IPv4 speciali:

0.0.0.0
Conosciuto come indirizzo IPv4 non specificato, indica l'assenza di un indirizzo. L'indirizzo non specificato
viene utilizzato solo come indirizzo di origine quando il nodo IPv4 non è configurato come indirizzo IPv4 e
dal nodo viene eseguito il tentativo di ottenere un indirizzo tramite un protocollo di configurazione, ad esempio
DHCP.

127.0.0.1
Conosciuto come indirizzo di loopback IPv4, è assegnato a un'interfaccia di loopback interna. Questa
interfaccia consente a un nodo di inviare pacchetti a se stesso.
Informazioni sull'assegnazione degli indirizzi unicast IPv4
Quando si assegnano ID di rete alle subnet di un'organizzazione, è necessario attenersi alle indicazioni seguenti:

L'ID di rete deve essere univoco all'interno della rete IPv4.
Se gli host possono accedere direttamente a Internet dalla subnet, è necessario utilizzare un prefisso di
indirizzo pubblico IPv4 assegnato dall'autorità ICANN o da un provider di servizi Internet. Se gli host non
possono accedere direttamente a Internet dalla subnet, utilizzare un prefisso di indirizzo pubblico valido
oppure un prefisso di indirizzo privato univoco nella rete Intranet privata.

L'ID di rete non può iniziare con il numero 0 o 127.
Entrambi questi valori per il primo ottetto sono riservati e non possono essere utilizzati per gli indirizzi unicast
IPv4.
Quando si assegnano ID host alle interfacce dei nodi in una subnet IPv4, è necessario attenersi alle indicazioni seguenti:


L'ID host deve essere univoco all'interno della subnet.
Non è possibile utilizzare gli ID host costituiti da tutti 0 o tutti 1.
Quando si definisce l'intervallo di indirizzi unicast IPv4 validi per un determinato prefisso di indirizzo, utilizzare la
seguente procedura standard:


Per il primo indirizzo unicast IPv4 nell'intervallo, impostare su 0 tutti i bit relativi all'host disponibili
nell'indirizzo, ad eccezione del bit di ordine inferiore, che deve essere impostato su 1.
Per l'ultimo indirizzo unicast IPv4 nell'intervallo, impostare su 1 tutti i bit relativi all'host disponibili
nell'indirizzo, ad eccezione del bit di ordine inferiore, che deve essere impostato su 0.
Per esprimere ad esempio l'intervallo di indirizzi per il prefisso 192.168.16.0/20:


Il primo indirizzo unicast IPv4 nell'intervallo è 11000000 10101000 00010000 00000001, dove i bit relativi
all'host sono indicati in grassetto, oppure 192.168.16.1.
L'ultimo indirizzo unicast IPv4 nell'intervallo è 11000000 10101000 00011111 11111110, dove i bit relativi
all'host sono indicati in grassetto, oppure 192.168.31.254.
L'intervallo di indirizzi per il prefisso 192.168.16.0/20 è compreso pertanto tra 192.168.16.1 e 192.168.21.254.
Indirizzi multicast IPv4
Il protocollo IPv4 prevede l'utilizzo di indirizzi multicast per la distribuzione di singoli pacchetti da un'origine a più
destinazioni. In una rete Intranet IPv4 abilitata per le comunicazioni multicast, tramite i router un pacchetto IPv4
destinato a un indirizzo multicast IPv4 viene inviato alle subnet in cui vi sono host in ascolto del traffico inviato
all'indirizzo multicast IPv4. Tramite il protocollo multicast IPv4 vengono trasmessi in modo efficace molti tipi di
comunicazioni da un'origine a più destinazioni.
Gli indirizzi multicast IPv4 sono definiti dalla classe D di indirizzi Internet: 224.0.0.0/4. L'intervallo di indirizzi
multicast IPv4 è compreso tra 224.0.0.0 e 239.255.255.255. Gli indirizzi multicast IPv4 per il prefisso 224.0.0.0/24,
ovvero da 224.0.0.0 a 224.0.0.255, sono riservati per il traffico multicast in una subnet locale.
Indirizzi broadcast IPv4
Il protocollo IPv4 prevede l'utilizzo di un insieme di indirizzi per la distribuzione di pacchetti da un'origine a tutte le
interfacce nella subnet. I pacchetti inviati agli indirizzi broadcast IPv4 vengono elaborati da tutte le interfacce nella
subnet. Di seguito sono indicati i tipi di indirizzi broadcast IPv4:

Broadcast di rete
Indirizzo formato impostando su 1 tutti i bit relativi all'host per un prefisso di un indirizzo di classe.
131.107.255.255 è ad esempio un indirizzo broadcast di rete per l'ID di rete di classe 131.107.0.0/16. Tramite
gli indirizzi broadcast di rete vengono inviati pacchetti a tutte le interfacce di una rete di classe. Tramite i
router IPv4 non vengono inoltrati pacchetti broadcast di rete.

Broadcast di subnet
Indirizzo formato impostando su 1 tutti i bit relativi all'host per un prefisso di un indirizzo senza classe.
131.107.26.255 è ad esempio un indirizzo broadcast di rete per l'ID di rete senza classe 131.107.26.0/24.
Tramite gli indirizzi broadcast di subnet vengono inviati pacchetti a tutti gli host di una rete senza classe.
Tramite i router IPv4 non vengono inoltrati pacchetti broadcast di subnet.
Per un prefisso di indirizzo di classe, non vi è alcun indirizzo broadcast di subnet ma solo un indirizzo
broadcast di rete. Per un prefisso di indirizzo senza classe, non vi è alcun indirizzo broadcast di rete ma solo un
indirizzo broadcast di subnet.

Broadcast diretto a tutte le subnet
Indirizzo formato impostando su 1 i bit relativi all'host dell'ID di rete di classe per un prefisso di un indirizzo
senza classe. Questo tipo di indirizzo è indicato come obsoleto nella specifica RFC 1812. Un pacchetto inviato
all'indirizzo broadcast diretto a tutte le subnet era destinato a raggiungere tutti gli host di tutte le subnet di un
ID di rete di classe con subnet. 131.107.255.255 è ad esempio l'indirizzo broadcast diretto a tutte le subnet per
l'ID di rete con subnet 131.107.26.0/24. L'indirizzo broadcast diretto a tutte le subnet è l'indirizzo broadcast di
rete dell'ID di rete di classe originale.

Broadcast limitato
Indirizzo formato impostando su 1 tutti i 32 bit dell'indirizzo IPv4, ovvero 255.255.255.255. L'indirizzo
broadcast limitato è utilizzato per la distribuzione uno-a-tutti nella subnet locale quando l'ID di rete locale è
sconosciuto. L'indirizzo broadcast limitato viene generalmente utilizzato dai nodi IPv4 solo durante un
processo di configurazione automatico, ad esempio BOOTP (Boot Protocol) o DHCP. Un client DHCP deve
ad esempio utilizzare l'indirizzo broadcast limitato per tutto il traffico inviato prima che tramite il server DHCP
venga riconosciuto l'uso della configurazione dell'indirizzo IPv4 offerta.
Indirizzi IPv6
La differenza più ovvia tra protocollo IPv6 e IPv4 è costituita dalle dimensioni dell'indirizzo. Un indirizzo IPv6 ha una
lunghezza di 128 bit ed è pertanto quattro volte più lungo di un indirizzo IPv6. Uno spazio degli indirizzi a 32 bit
consente di creare 232 o 4.294.967.296 indirizzi. Uno spazio degli indirizzi a 128 bit consente di creare 2128 o
340.282.366.920.938.463.463.374.607.431.768.211.456, ovvero 3,4x1038, indirizzi.
Lo spazio degli indirizzi IPv4 è stato progettato alla fine degli anni '70, quando nessuno avrebbe potuto immaginare che
sarebbe stato possibile esaurire gli indirizzi. Tuttavia, a causa dell'allocazione originale di ID di rete basati su classi di
indirizzi Internet e del recente aumento di host presenti in Internet, lo spazio degli indirizzi IPv4 si è progressivamente
esaurito fino al punto che a partire dal 1992 è diventata chiara la necessità di una sostituzione.
Con il protocollo IPv6, è ancora più difficile immaginare che lo spazio degli indirizzi possa venire esaurito. Per disporre
di un riferimento, è possibile pensare che uno spazio degli indirizzi a 128 bit offre 655.570.793.348.866.943.898.599,
ovvero 6,5x1023, indirizzi per ogni metro quadrato della superficie terrestre. La decisione di utilizzare 128 bit per gli
indirizzi IPv6 non è stata presa per garantire che ogni metro quadrato della superficie terrestre potesse disporre di
6,5x1023 indirizzi. Le dimensioni relativamente grandi dello spazio degli indirizzi IPv6 sono state piuttosto progettate
per offrire allocazione e routing efficaci in grado di riflettere la topologia della rete Internet attuale e per adattarsi agli
indirizzi MAC (Media Access Control) utilizzati dalle più recenti tecnologie di rete. L'utilizzo di 128 bit consente di
disporre di più livelli di gerarchia e di maggiore flessibilità per la progettazione di routing e indirizzi gerarchici,
caratteristiche non disponibili con gli indirizzi Internet basati su IPv4.
Nella specifica RFC 3513 viene descritta l'architettura degli indirizzi IPv6.
Sintassi degli indirizzi IPv6
Gli indirizzi IPv4 sono rappresentati in notazione decimale separata da punti. Gli indirizzi IPv6, a 128 bit, vengono
divisi in blocchi da 16 bit, ognuno dei quali viene convertito in un numero esadecimale a 4 cifre, secondo il sistema di
numerazione a base 16. I blocchi sono separati da un segno di due punti. La rappresentazione risultante è nota come
esadecimale separata da due punti.
Di seguito è rappresentato un indirizzo IPv6 in forma binaria:
0011111111111110001010010000000011010000000001010000000000000000
0000001010101010000000001111111111111110001010001001110001011010
L'indirizzo a 128 bit viene suddiviso in blocchi di 16 bit:
0011111111111110 0010100100000000 1101000000000101 0000000000000000 0000001010101010
0000000011111111 1111111000101000 1001110001011010
Ogni blocco di 16 bit viene convertito in formato esadecimale e i blocchi adiacenti sono separati dal segno di due punti.
Il risultato è il seguente:
3FFE:2900:D005:0000:02AA:00FF:FE28:9C5A
La rappresentazione IPv6 può essere ulteriormente semplificata eliminando gli zeri iniziali all'interno di ogni blocco di
16 bit. È tuttavia necessario che ogni blocco contenga almeno una cifra. Eliminando gli zeri iniziali, la rappresentazione
dell'indirizzo diventa la seguente:
3FFE:2900:D005:0:2AA:FF:FE28:9C5A
Conversione tra formato binario ed esadecimale
Nel sistema di numerazione esadecimale i numeri vengono espressi utilizzando le cifre comprese tra 0 e 9, le lettere A,
B, C, D, E ed F e i valori esponenziali di 16. Nella tabella 3-4 sono indicati gli equivalenti decimali, esadecimali e
binari dei numeri compresi tra 0 e 15.
Formato decimale
0
1
2
3
4
5
6
7
Formato esadecimale
0
1
2
3
4
5
6
7
Formato binario
0000
0001
0010
0011
0100
0101
0110
0111
8
9
10
11
12
13
14
15
8
9
A
B
C
D
E
F
1000
1001
1010
1011
1100
1101
1110
1111
Tabella 3-4 Conversioni tra formato decimale, esadecimale e binario
Per convertire un numero esadecimale in binario, convertire ogni cifra esadecimale nell'equivalente a 4 bit. Per
convertire ad esempio il numero esadecimale 0x03D8 in binario, convertire ogni cifra esadecimale, ovvero 0, 3, D e 8,
in formato binario. 0x03D8 corrisponde pertanto a 0000 0011 1101 1000 o a 0000001111011000.
Per convertire un numero binario in esadecimale, suddividere il numero binario in blocchi di 4 bit, iniziando dal bit di
ordine inferiore. Convertire quindi ogni blocco di 4 bit nell'equivalente esadecimale. Per convertire ad esempio il
numero binario 0110000110101110 in esadecimale, suddividere innanzitutto in blocchi di 4 bit l'intero numero, ad
esempio 0110 0001 1010 1110. Convertire quindi ogni blocco in cifre esadecimali, ovvero 0x61AE.
In alternativa, è possibile utilizzare la calcolatrice disponibile nel sistema operativo Windows Server™ 2003 o
Windows XP per eseguire la conversione tra formato esadecimale e binario, sebbene per comprendere meglio il
concetto sia preferibile effettuare l'operazione manualmente. Per la conversione tra formato decimale ed esadecimale,
che non è necessaria di frequente per gli indirizzi IPv6, utilizzare la calcolatrice di Windows.
Compressione degli zeri
Alcuni tipi di indirizzi contengono lunghe sequenze di zeri. Per semplificare ulteriormente la rappresentazione degli
indirizzi IPv6, una sequenza contigua di blocchi di 16 bit impostati su 0 nel formato esadecimale separato da due punti
può essere compressa in "::", formato noto come due punti doppio.
È ad esempio possibile comprimere l'indirizzo unicast IPv6 FE80:0:0:0:2AA:FF:FE9A:4CA2 in
FE80::2AA:FF:FE9A:4CA2 e l'indirizzo multicast IPv6 FF02:0:0:0:0:0:0:2 in FF02::2.
È possibile utilizzare la compressione degli zeri solo per una singola serie contigua di blocchi di 16 bit espressi in
notazione esadecimale separata da due punti. Non è possibile utilizzare la compressione degli zeri per includere una
parte di un blocco di 16 bit. Non è ad esempio possibile esprimere FF02:30:0:0:0:0:0:5 come FF02:3::5.
Per determinare quanti bit 0 sono rappresentati da "::", è possibile contare il numero di blocchi nell'indirizzo compresso,
sottrarre tale numero da 8, quindi moltiplicare il risultato per 16. L'indirizzo FF02::2 è ad esempio costituito da due
blocchi, ovvero "FF02" e "2", e pertanto gli altri 6 blocchi di 16 bit, in totale 96 bit, sono stati compressi.
La compressione degli zeri può essere utilizzata una sola volta in un determinato indirizzo. In caso contrario, non
sarebbe possibile determinare il numero di bit 0 rappresentati da ogni istanza di "::". Se un indirizzo contiene due serie
di blocchi di zeri della stessa lunghezza e non vi sono altre serie di blocchi di zeri più lunghe, per convenzione il blocco
più a sinistra viene espresso come "::".
Prefissi degli indirizzi IPv6
Gli intervalli di indirizzi IPv6 vengono espressi come prefissi degli indirizzi nello stesso modo in cui vengono espressi
gli intervalli di indirizzi IPv4 tramite la notazione della lunghezza del prefisso. FF00::/8 indica ad esempio un intervallo
di indirizzi, 3FFE:FFFF::/32 un prefisso di route e 3FFE:FFFF:0:2F3B::/64 un prefisso di subnet. Un prefisso di un
indirizzo non viene espresso utilizzando un equivalente esadecimale separato da due punti di una subnet mask IPv4.
Tipi di indirizzi IPv6
Esistono tre tipi di indirizzi IPv6:

Unicast
Un indirizzo unicast identifica un'unica interfaccia all'interno dell'ambito del tipo di indirizzo unicast. Con la
topologia di routing unicast appropriata, i pacchetti inviati a un indirizzo unicast vengono consegnati a
un'unica interfaccia. Un indirizzo unicast viene utilizzato per le comunicazioni da un'origine a un'unica
destinazione.

Multicast
Un indirizzo multicast identifica più interfacce. Con la topologia di routing multicast appropriata, i pacchetti
inviati a un indirizzo multicast vengono recapitati a tutte le interfacce identificate dall'indirizzo. Un indirizzo
multicast viene utilizzato per le comunicazioni da un'origine a più destinazioni, con recapito a più interfacce.

Anycast
Un indirizzo anycast identifica più interfacce. Con la topologia di routing appropriata, i pacchetti inviati a un
indirizzo anycast vengono recapitati a un'unica interfaccia, ovvero a quella più vicina identificata
dall'indirizzo. L'interfaccia "più vicina" è definita in termini di distanza di routing. Un indirizzo anycast viene
utilizzato per le comunicazioni da un'origine a una tra più destinazioni, con recapito a un'unica interfaccia.
Gli indirizzi IPv6 identificano sempre interfacce e non nodi. Un nodo viene identificato da qualsiasi indirizzo unicast
assegnato a una delle relative interfacce.
Nella specifica RFC 3513 non viene definito alcun tipo di indirizzo broadcast. Vengono invece utilizzati gli indirizzi
multicast IPv6. Gli indirizzi broadcast limitati e di subnet utilizzati nel protocollo IPv4 sono ad esempio sostituiti
dall'indirizzo multicast IPv6 riservato FF02::1.
Indirizzi unicast IPv6
Di seguito sono indicati i tipi di indirizzi unicast IPv6:





Indirizzi unicast globali
Indirizzi locali del collegamento
Indirizzi locali del sito
Indirizzi IPv6 speciali
Indirizzi di compatibilità
Indirizzi unicast globali
Gli indirizzi unicast globali equivalgono agli indirizzi IPv4 pubblici. Tali indirizzi sono instradabili e raggiungibili
globalmente nella parte IPv6 di Internet, nota come Internet IPv6.
Gli indirizzi unicast globali possono essere aggregati o riepilogati in modo da produrre un'infrastruttura di routing
efficiente. Mentre nell'attuale rete Internet basata su IPv4 vengono utilizzati meccanismi di routing sia gerarchici che
lineari, la rete Internet basata su IPv6 è stata progettata sin dall'inizio per supportare in modo efficiente routing e
meccanismi di indirizzamento gerarchici. Gli indirizzi unicast globali sono univoci nel proprio ambito, che corrisponde
all'intera rete Internet IPv6.
Nella figura 3-7 è illustrata la struttura generale di un indirizzo unicast globale in base a quanto definito nella specifica
RFC 3587.
Figura 3-7 Struttura di un indirizzo unicast globale in base a quanto definito nella specifica RFC 3587
Nella figura 3-8 è illustrata la struttura di indirizzi unicast globali allocati dall'autorità IANA al momento della stesura
del presente documento, in base a quanto definito nella specifica RFC 3587.
Figura 3-8 Indirizzi unicast globali attualmente assegnati dall'autorità IANA
I campi che costituiscono un indirizzo unicast globale sono i seguenti:

Parte fissa (impostata su 001)
I tre bit di ordine superiore sono impostati su 001. Il prefisso degli indirizzi globali attualmente assegnati è
2000::/3.

Prefisso di routing globale
Il prefisso di routing globale identifica un sito specifico di un'organizzazione. La combinazione dei tre bit fissi
e del prefisso di routing globale a 45 bit viene utilizzata per creare un prefisso degli indirizzi del sito a 48 bit,
assegnato ai singoli siti di un'organizzazione. Dopo l'assegnazione, tramite i router Internet IPv6 il traffico
corrispondente al prefisso degli indirizzi a 48 bit viene inoltrato ai router del sito dell'organizzazione.

ID subnet
L'ID subnet identifica le subnet all'interno del sito di un'organizzazione. Questo campo è costituito da 16 bit.
L'organizzazione può utilizzare questi 16 bit all'interno del sito per creare 65.536 subnet o più livelli di
gerarchia di indirizzamento e un'infrastruttura di routing efficiente.

ID interfaccia
L'ID interfaccia indica un'interfaccia in una subnet interna al sito. Questo campo è costituito da 64 bit.
3FFE:FFFF:2A3C:F282:2B0:D0FF:FEE9:4143 è ad esempio un indirizzo unicast IPv6 globale. All'interno di tale
indirizzo:



3FFE:FFFF:2A3C indica il sito di un'organizzazione
F282 indica una subnet all'interno di tale sito
2B0:D0FF:FEE9:4143 indica un'interfaccia nella subnet all'interno di tale sito
I campi di un indirizzo unicast globale, in base a quanto definito nella specifica RFC 3587, creano una struttura a tre
livelli, come illustrato nella figura 3-9.
Figura 3-9 Struttura a tre livelli di un indirizzo unicast globale come definito nella specifica RFC 3587
La topologia pubblica è l'insieme degli ISP maggiori e minori che offrono accesso alla rete Internet IPv6 e delle
organizzazioni che si connettono a tale rete. La topologia del sito è l'insieme delle subnet all'interno del sito di
un'organizzazione. L'identificatore di interfaccia identifica un'interfaccia specifica in una subnet all'interno del sito di
un'organizzazione.
Gli indirizzi unicast di utilizzo locale si dividono in due categorie:


Indirizzi locali del collegamento utilizzati tra nodi adiacenti collegati e per i processi di rilevamento adiacente
(ND, Neighbor Discovery), che definiscono la modalità di interazione dei nodi in una subnet IPv6 con host e
router.
Indirizzi locali del sito utilizzati tra nodi comunicanti con altri nodi nello stesso sito di una rete Intranet di
un'organizzazione.
Indirizzi locali del collegamento
Gli indirizzi locali del collegamento vengono utilizzati dai nodi durante la comunicazione con i nodi adiacenti sullo
stesso collegamento, noti anche come subnet. In una rete IPv6 a collegamento singolo sprovvista di router, gli indirizzi
locali del collegamento vengono ad esempio utilizzati per la comunicazione tra host sul collegamento. Gli indirizzi
locali del collegamento equivalgono agli indirizzi IPv4 APIPA configurati automaticamente in computer in cui è in
esecuzione Windows. L'ambito di un indirizzo locale del collegamento, ovvero la parte di rete in cui l'indirizzo è
univoco, corrisponde al collegamento locale.
Per i processi di rilevamento adiacente (ND, Neighbor Discovery) è necessario un indirizzo locale del collegamento,
che viene sempre configurato automaticamente anche in assenza di tutti gli altri indirizzi unicast.
Nella figura 3-10 è illustrata la struttura di un indirizzo locale del collegamento.
Figura 3-10 Struttura di un indirizzo locale del collegamento
Poiché i primi 64 bit di un indirizzo locale del collegamento sono fissi, il prefisso per tutti gli indirizzi locali del
collegamento è FE80::/64.
Un router IPv6 non inoltra mai il traffico locale del collegamento al di fuori del collegamento.
Indirizzi locali del sito
Gli indirizzi locali del sito equivalgono allo spazio degli indirizzi privato IPv4. Nelle reti Intranet private che non
dispongono di una connessione di routing diretta alla rete Internet IPv6 è ad esempio possibile utilizzare indirizzi locali
del sito senza creare conflitti con gli indirizzi globali. Gli indirizzi locali del sito non sono raggiungibili da altri siti e i
router non devono inoltrare il traffico locale del sito al di fuori del sito stesso. Gli indirizzi locali del sito possono essere
utilizzati in aggiunta agli indirizzi globali. L'ambito di un indirizzo locale del sito corrisponde al sito stesso, ovvero una
parte di una rete aziendale con confini geografici, topologici o di larghezza di banda definiti.
A differenza degli indirizzi locali del collegamento, gli indirizzi locali del sito non vengono configurati
automaticamente e devono essere assegnati tramite processi di configurazione degli indirizzi con o senza informazioni
sullo stato.
Nella figura 3-11 è illustrata la struttura di un indirizzo locale del sito.
Figura 3-11 Struttura di un indirizzo locale del sito
I primi 10 bit degli indirizzi locali del sito sono fissi a 1111 1110 11. Il prefisso per tutti gli indirizzi locali del sito è
pertanto FEC0::/10. Oltre ai 10 bit fissi di ordine superiore, vi è un campo ID subnet a 54 bit che può essere utilizzato
per la creazione di subnet all'interno dell'organizzazione. Con 54 bit, è possibile creare fino a 254 subnet in una struttura
di subnet semplice oppure suddividere i bit di ordine superiore del campo ID subnet per creare un'infrastruttura di
routing gerarchica e riepilogabile. Dopo il campo ID subnet vi è un campo ID interfaccia composto da 64 bit, che
identifica un'interfaccia specifica in una subnet.
Nota Una bozza Internet intitolata "Deprecating Site Local Addresses" (draft-ietf-ipv6-deprecate-site-local-0x.txt)
condanna formalmente l'utilizzo di indirizzi locali del sito per le implementazioni IPv6 future. Le implementazioni IPv6
esistenti possono continuare a utilizzare gli indirizzi locali del sito fino a quando non verrà creato uno standard adatto a
sostituirli. Attualmente è stata pubblicata una bozza Internet con la versione aggiornata dell'architettura di
indirizzamento IPv6, intitolata "Internet Protocol Version 6 (IPv6) Addressing Architecture" (draft-ietf-ipv6-addr-archv4-0x.txt), che include la condanna degli indirizzi locali del sito. Questa bozza Internet sulla definizione di standard per
gli indirizzi IPv6 renderà obsoleta la specifica RFC 3513.
ID area per gli indirizzi a utilizzo locale
Gli indirizzi locali non sono univoci all'interno di una rete Intranet aziendale. Gli indirizzi locali del collegamento
possono essere duplicati per ogni collegamento, o subnet. Gli indirizzi locali del sito possono essere duplicati per ogni
sito. Quando si specifica pertanto un indirizzo di destinazione locale del collegamento, è necessario specificare il
collegamento in cui si trova la destinazione. Per un indirizzo di destinazione locale del sito, quando si utilizzano più siti
è necessario specificare il sito in cui si trova la destinazione. L'ID area consente di specificare la parte o l'area della rete
in cui è possibile raggiungere la destinazione. Nei comandi Ping, Tracert e Pathping la sintassi per specificare un ID
area è IndirizzoIPv6%IDArea.
Per le destinazioni locali del collegamento, IDArea corrisponde solitamente all'indice dell'interfaccia connessa al
collegamento in cui si trova la destinazione. L'indice dell'interfaccia è un numero interno assegnato a un'interfaccia IPv6
visualizzabile tramite il comando netsh interface ipv6 show interface. Per gli indirizzi locali del sito, IDArea
corrisponde al numero del sito visualizzabile tramite il comando netsh interface ipv6 show address level=verbose. Se
non vengono utilizzati più siti, per gli indirizzi locali del sito non è necessario l'ID area. Il parametro IDArea non è
necessario quando la destinazione è un indirizzo unicast globale.
Indirizzi IPv6 speciali
Di seguito sono indicati gli indirizzi IPv6 speciali:

Indirizzo non specificato
L'indirizzo non specificato (0:0:0:0:0:0:0:0 oppure ::) indica l'assenza di un indirizzo ed equivale all'indirizzo
non specificato IPv4 0.0.0.0. L'indirizzo non specificato viene in genere utilizzato come indirizzo di origine dei
pacchetti per verificare l'univocità di un indirizzo provvisorio. L'indirizzo non specificato non viene mai
assegnato a un'interfaccia, né viene utilizzato come indirizzo di destinazione.

Indirizzo di loopback
L'indirizzo di loopback (0:0:0:0:0:0:0:1 oppure ::1) identifica un'interfaccia di loopback. Tale indirizzo
consente a un nodo di inviare pacchetti a se stesso ed equivale all'indirizzo di loopback IPv4 127.0.0.1. I
pacchetti destinati all'indirizzo di loopback non vengono mai inviati su un collegamento, né vengono inoltrati
tramite un router IPv6.
Indirizzi di compatibilità
Per offrire supporto nel passaggio da IPv4 a IPv6, sono stati definiti gli indirizzi seguenti:

Indirizzo compatibile con IPv4
L'indirizzo compatibile con IPv4 0:0:0:0:0:0:w.x.y.z o ::w.x.y.z, dove w.x.y.z è la rappresentazione decimale
separata da punti di un indirizzo pubblico IPv4, viene utilizzato dai nodi IPv6/IPv4 per comunicare tramite il
protocollo IPv6. I nodi IPv6/IPv4 sono nodi che dispongono di entrambi i protocolli IPv4 e IPv6. Quando
l'indirizzo compatibile con IPv4 viene utilizzato come destinazione IPv6, il traffico IPv6 viene
automaticamente incapsulato in un'intestazione IPv4 e inviato a destinazione mediante l'infrastruttura IPv4. Il
protocollo IPv6 per Windows Server 2003 e Windows XP supporta gli indirizzi compatibili con IPv4, ma tali
indirizzi sono disattivati per impostazione predefinita.

Indirizzo mappato IPv4
L'indirizzo mappato IPv4 0:0:0:0:0:FFFF:w.x.y.z o ::FFFF:w.x.y.z rappresenta un nodo solo IPv4 in un nodo
IPv6. Gli indirizzi di questo tipo vengono utilizzati solo per la rappresentazione interna e non vengono mai
utilizzati come indirizzi di origine o di destinazione di un pacchetto IPv6. Il protocollo IPv6 per Windows
Server 2003 e Windows XP non supporta gli indirizzi mappati IPv4.

Indirizzo 6to4
L'indirizzo 6to4 viene utilizzato per le comunicazioni tra due nodi che eseguono sia IPv4 che IPv6 in Internet.
L'indirizzo 6to4 viene formato combinando il prefisso globale 2002::/16 con i 32 bit di un indirizzo pubblico
IPv4 del nodo, formando un prefisso composto da 48 bit. 6to4 è una tecnologia di transizione IPv6 descritta
nella specifica RFC 3056.

Indirizzo ISATAP
La bozza Internet intitolata "Intra-Site Automatic Tunnel Addressing Protocol (ISATAP)" definisce gli
indirizzi ISATAP utilizzati tra due nodi che eseguono sia IPv4 che IPv6 in una rete Intranet privata. Per gli
indirizzi ISATAP viene utilizzato l'ID interfaccia amministrato localmente ::0:5EFE:w.x.y.z, dove w.x.y.z
rappresenta un indirizzo unicast IPv4, pubblico o privato. È possibile combinare l'ID interfaccia ISATAP con
qualsiasi prefisso a 64 bit valido per gli indirizzi unicast IPv6, incluso il prefisso dell'indirizzo locale del
collegamento, ovvero FE80::/64, i prefissi locali del sito e i prefissi globali.

Indirizzo Teredo
L'indirizzo Teredo viene utilizzato per le comunicazioni tra due nodi che eseguono sia IPv4 che IPv6 in
Internet quando un endpoint o entrambi si trovano dietro un dispositivo NAT (Network Address Translation)
IPv4. L'indirizzo Teredo viene formato combinando un prefisso Teredo a 32 bit con l'indirizzo pubblico IPv4
di un server Teredo e altri elementi. Teredo è una tecnologia di transizione IPv6 descritta nella bozza Internet
intitolata "Teredo: Tunneling IPv6 over UDP through NATs".
Identificatori di interfaccia IPv6
Gli ultimi 64 bit di un indirizzo unicast IPv6 rappresentano l'identificatore di interfaccia univoco per il prefisso di 64 bit
dell'indirizzo IPv6. Gli identificatori di interfaccia IPv6 vengono determinati come descritto di seguito:



Un identificatore di interfaccia a 64 bit derivato dall'indirizzo EUI-64 (Extended Unique Identifier).
Un identificatore di interfaccia generato in modo casuale e modificato nel tempo per garantire l'anonimato.
Un identificatore di interfaccia assegnato durante l'autoconfigurazione degli indirizzi con informazioni sullo
stato, ad esempio tramite DHCPv6 (Dynamic Host Configuration Protocol for IP version 6).
Identificatori di interfaccia basati sull'indirizzo EUI-64
Nella specifica RFC 3513 viene stabilito che in tutti gli indirizzi unicast con i prefissi da 001 a 111 è necessario
utilizzare anche un identificatore di interfaccia a 64 bit derivato dall'indirizzo EUI-64, un indirizzo a 64 bit definito
dallo standard IEEE. Gli indirizzi EUI-64 vengono assegnati a una scheda di rete o derivati dagli indirizzi IEEE 802.
In un identificatore di interfaccia tradizionale per una scheda di rete viene utilizzato un indirizzo a 48 bit detto indirizzo
IEEE 802. Tale indirizzo è composto da un ID società a 24 bit, detto anche ID produttore, e un ID estensione a 24 bit,
detto anche ID scheda. La combinazione dell'ID società, specifico del produttore di schede di rete, e dell'ID scheda,
specifico di ogni scheda di rete assemblata, dà origine a un indirizzo a 48 bit globalmente univoco. L'indirizzo a 48 bit è
noto anche come indirizzo fisico, hardware o MAC.
Nella figura 3-12 è illustrata la struttura di un indirizzo IEEE a 48 bit.
Figura 3-12 Struttura di un indirizzo IEEE a 48 bit
I bit definiti all'interno dell'indirizzo IEEE 802 sono i seguenti:

Universale/locale (U/L, Universal/Local)
Il bit accanto al bit di ordine inferiore del primo byte viene utilizzato per indicare se l'indirizzo è amministrato
universalmente o localmente. Se il bit U/L è impostato su 0, significa che l'indirizzo è amministrato dall'IEEE,
mediante la designazione di un ID società univoco. Se il bit U/L è impostato su 1, significa che l'indirizzo è
amministrato localmente. L'amministratore di rete ha sostituito l'indirizzo di produzione e ne ha specificato
uno diverso. Nella figura 3-12 il bit U/L è indicato con u.

Individuale/di gruppo (I/G, Individual/Group)
Il bit di ordine inferiore del primo byte viene utilizzato per indicare se l'indirizzo è individuale (unicast) o di
gruppo (multicast). Se impostato su 0, l'indirizzo è di tipo unicast. Se impostato su 1, l'indirizzo è di tipo
multicast. Nella figura 3-12 il bit I/G è indicato con g.
In un indirizzo tipico di una scheda di rete 802, entrambi i bit U/L e I/G sono impostati su 0, indicando un indirizzo
MAC unicast amministrato universalmente.
L'indirizzo IEEE EUI-64 rappresenta un nuovo standard per l'indirizzamento delle interfacce di rete. L'ID società è
sempre formato da 24 bit, ma l'ID estensione è composto da 40 bit, pertanto lo spazio degli indirizzi disponibile per un
produttore di schede di rete è di dimensioni molto maggiori. Nell'indirizzo EUI-64 i bit U/L e I/G vengono utilizzati in
modo analogo all'indirizzo IEEE 802.
Nella figura 3-13 è illustrata la struttura di un indirizzo EUI-64.
Figura 3-13 Struttura di un indirizzo EUI-64
Nella figura 3-14 viene illustrato come creare un indirizzo EUI-64 da un indirizzo IEEE 802. A tale scopo, è necessario
inserire i 16 bit 11111111 11111110 (0xFFFE) nell'indirizzo IEEE 802 tra l'ID società e l'ID estensione.
Figura 3-14 Conversione di un indirizzo IEEE 802 in indirizzo EUI-64
Per ottenere l'identificatore di interfaccia a 64 bit per gli indirizzi unicast IPv6, il bit U/L nell'indirizzo EUI-64 viene
reso complementare, ovvero se il valore è 1, viene impostato su 0, mentre se il valore è 0, viene impostato su 1. Nella
figura 3-15 è illustrata la conversione di un indirizzo EUI-64 unicast amministrato universalmente.
Figura 3-15 Conversione di un indirizzo EUI-64 unicast amministrato universalmente in un identificatore di
interfaccia IPv6
Per ottenere un identificatore di interfaccia IPv6 da un indirizzo IEEE 802, è innanzitutto necessario convertire
l'indirizzo IEEE 802 in un indirizzo EUI-64, quindi rendere complementare il bit U/L. Nella figura 3-16 è illustrata la
conversione di un indirizzo IEEE 802 unicast amministrato universalmente.
Figura 3-16 Conversione di un indirizzo IEEE I802 unicast amministrato universalmente in un identificatore di
interfaccia IPv6
Esempio di conversione di un indirizzo IEEE 802
L'host A ha un indirizzo MAC Ethernet 00-AA-00-3F-2A-1C. L'indirizzo viene innanzi tutto convertito nel formato
EUI-64 inserendo FF-FE tra il terzo e il quarto byte, dando come risultato l'indirizzo 00-AA-00-FF-FE-3F-2A-1C.
Viene quindi reso complementare il bit U/L, ovvero il settimo bit all'interno del primo byte. Il primo byte nel formato
binario è 00000000. Rendendo complementare il settimo bit, il byte diventa 00000010 (0x02). Il risultato finale sarà 02AA-00-FF-FE-3F-2A-1C che, convertito in notazione esadecimale separata da due punti, diventa l'identificatore di
interfaccia 2AA:FF:FE3F:2A1C. Di conseguenza, l'indirizzo locale del collegamento corrispondente alla scheda di rete
con indirizzo MAC 00-AA-00-3F-2A-1C è FE80::2AA:FF:FE3F:2A1C.
Quando si rende complementare il bit U/L, aggiungere 0x2 al primo byte se l'indirizzo è amministrato universalmente
oppure sottrarre 0x2 dal primo byte se l'indirizzo è amministrato localmente.
Identificatori di interfaccia di indirizzi temporanei
Nell'attuale rete Internet basata su IPv4 l'utente Internet si connette a un provider di servizi Internet (ISP, Internet
Service Provider) e ottiene un indirizzo IPv4 utilizzando il protocollo PPP (Point-to-Point Protocol) e il protocollo IPCP
(Internet Protocol Control Protocol). Poiché a ogni connessione l'utente può ottenere un indirizzo IPv4 diverso, è
difficile tenere traccia del traffico Internet di un utente remoto in base all'indirizzo IPv4.
Nel caso di connessioni remote basate su IPv6, all'utente viene assegnato un prefisso a 64 bit dopo aver stabilito la
connessione attraverso la funzione di scoperta router e l'autoconfigurazione degli indirizzi senza informazioni sullo
stato. Se l'identificatore di interfaccia è sempre basato sull'indirizzo EUI-64, derivato dall'indirizzo IEEE 802 statico, è
possibile identificare il traffico di un determinato nodo indipendentemente dal prefisso e tenere traccia in modo
semplice di un utente specifico e del suo utilizzo di Internet. Per risolvere questo problema e garantire l'anonimato, nella
specifica RFC 3041 viene descritto un identificatore di interfaccia IPv6 alternativo generato in modo casuale e
modificato periodicamente.
L'identificatore di interfaccia iniziale viene generato utilizzando numeri casuali. Per i sistemi IPv6 in cui non è possibile
archiviare informazioni cronologiche per la creazione dei successivi valori per gli identificatori di interfaccia, viene
generato un nuovo identificatore di interfaccia casuale ad ogni inizializzazione del protocollo IPv6. Per i sistemi IPv6 in
cui è possibile archiviare informazioni, viene memorizzato un valore cronologico e, al momento dell'inizializzazione del
protocollo IPv6, viene creato un nuovo identificatore di interfaccia tramite il processo descritto di seguito:
1.
2.
3.
4.
Recupero del valore cronologico dall'archivio e aggiunta dell'identificatore di interfaccia in base all'indirizzo
EUI-64 della scheda.
Calcolo dell'algoritmo hash MD5 (Message Digest-5) sulla quantità del passaggio 1. Un hash produce un
risultato matematico di dimensioni fisse da un input. Gli hash sono semplici da calcolare ma è estremamente
difficile determinare l'input dal risultato di un hash.
Salvataggio degli ultimi 64 bit dell'hash MD5 calcolato al passaggio 2 come valore cronologico per il calcolo
dell'identificatore di interfaccia successivo.
Utilizzo dei primi 64 bit dell'hash MD5 calcolato al passaggio 2 e impostazione del settimo bit su 0. Il settimo
bit corrisponde al bit U/L che, impostato su 0, indica un identificatore di interfaccia IPv6 amministrato
localmente. Il risultato sarà l'identificatore di interfaccia IPv6.
L'indirizzo IPv6 risultante, basato su questo identificatore di interfaccia casuale, è noto come indirizzo temporaneo. Gli
indirizzi temporanei vengono generati per prefissi di indirizzi pubblici che utilizzano l'autoconfigurazione senza
informazioni sullo stato.
Indirizzi multicast IPv6
Negli indirizzi multicast IPv6 i primi otto bit sono fissi su 1111 1111. Il prefisso di tutti gli indirizzi multicast IPv6 è
pertanto FF00::/8. Oltre ai primi otto bit, gli indirizzi multicast includono un'ulteriore struttura che ne identifica i flag,
l'ambito e il gruppo multicast. Nella figura 3-17 è illustrata la struttura di un indirizzo multicast IPv6.
Figura 3-17 Struttura di un indirizzo multicast IPv6
I campi che costituiscono un indirizzo multicast sono i seguenti:

Flag
Indica i flag impostati nell'indirizzo multicast. Questo campo è composto da 4 bit. In base alla specifica RFC
3513, l'unico flag definito è il flag transitorio (T), che utilizza il bit di ordine inferiore del campo dei flag. Se
impostato su 0, il flag T indica che l'indirizzo multicast è un indirizzo multicast assegnato in modo permanente,
ovvero conosciuto, allocato dall'autorità IANA (Internet Assigned Numbers Authority). Se impostato su 1, il
flag T indica che l'indirizzo multicast è un indirizzo transitorio, ovvero non assegnato in modo permanente.

Ambito
Indica l'ambito della rete IPv6 a cui è destinato il traffico multicast. Questo campo è composto da 4 bit. I router
utilizzano l'ambito multicast e le informazioni fornite dai protocolli di routing multicast per determinare se sia
possibile inoltrare il traffico multicast.
I valori per questo campo sono definiti nella specifica RFC 3513. I valori più comuni per il campo dell'ambito
sono 1, ambito locale dell'interfaccia, 2, ambito locale del collegamento e 5, ambito locale del sito.

ID gruppo
Identifica il gruppo multicast ed è univoco all'interno dell'ambito. Questo campo è composto da 112 bit. Gli ID
gruppo assegnati in modo permanente sono indipendenti dall'ambito. Gli ID gruppo temporanei sono validi
solo per un ambito specifico.
Per identificare tutti i nodi per gli ambiti locali dell'interfaccia e del collegamento, vengono definiti i seguenti indirizzi:


FF01::1 (indirizzo multicast per tutti i nodi, ambito locale dell'interfaccia)
FF02::1 (indirizzo multicast per tutti i nodi, ambito locale del collegamento)
Per identificare tutti i router per gli ambiti locali dell'interfaccia, del collegamento e del sito, vengono definiti i seguenti
indirizzi:



FF01::2 (indirizzo multicast per tutti i router, ambito locale dell'interfaccia)
FF02::2 (indirizzo multicast per tutti i router, ambito locale del collegamento)
FF05::2 (indirizzo multicast per tutti i router, ambito locale del sito)
Per un elenco aggiornato degli indirizzi multicast IPv6 assegnati in modo permanente, vedere
http://www.iana.org/assignments/ipv6-multicast-addresses (informazioni in lingua inglese).
Gli indirizzi multicast IPv6 sostituiscono tutte le forme di indirizzi broadcast IPv4. L'indirizzo multicast IPv6 per tutti i
nodi, per l'ambito locale del collegamento, ovvero FF02::1, sostituisce l'indirizzo broadcast di rete IPv4, in cui tutti i bit
relativi all'host sono impostati su 1 in un ambiente di classe, l'indirizzo broadcast di subnet, in cui tutti i bit relativi
all'host sono impostati su 1 in un ambiente senza classe, e l'indirizzo broadcast limitato, ovvero 255.255.255.255.
Indirizzo multicast del nodo richiesto
L'indirizzo multicast del nodo richiesto rende più semplice ed efficace l'esecuzione di query dei nodi di rete per la
risoluzione di un indirizzo a livello di collegamento da un indirizzo IPv6 noto, processo detto risoluzione dell'indirizzo
a livello di collegamento. Nel protocollo IPv4 il frame di richiesta ARP nei segmenti di rete senza fili 802.11 ed
Ethernet viene inviato all'indirizzo broadcat 0xFF-FF-FF-FF-FF-FF. Tale frame viene esaminato da tutti i nodi nel
segmento di rete, inclusi quelli in cui non è in esecuzione IPv4. Per la risoluzione di indirizzi a livello di collegamento,
nel protocollo IPv6 viene utilizzato il messaggio di richiesta del nodo adiacente (NS, Neighbor Solicitation). Tuttavia,
anziché utilizzare come destinazione del messaggio l'indirizzo multicast per tutti i nodi, per l'ambito locale del
collegamento, che provocherebbe l'analisi da parte di tutti i nodi IPv6 nel collegamento locale, viene utilizzato
l'indirizzo multicast del nodo richiesto. L'indirizzo multicast del nodo richiesto è costituito dal prefisso
FF02::1:FF00:0/104 e dagli ultimi 24 bit di un indirizzo unicast IPv6. Nella figura 3-18 è illustrato il mapping di un
indirizzo unicast IPv6 al corrispondente indirizzo multicast del nodo richiesto.
Figura 3-18 Creazione dell'indirizzo multicast del nodo richiesto
Al nodo A viene ad esempio assegnato l'indirizzo locale del collegamento FE80::2AA:FF:FE28:9C5A e tale nodo è
anche in ascolto sull'indirizzo multicast del nodo richiesto corrispondente FF02::1:FF28:9C5A. (Il grassetto è utilizzato
per sottolineare la corrispondenza delle ultime sei cifre esadecimali). Il nodo B nel collegamento locale deve risolvere
l'indirizzo locale del collegamento del nodo A FE80::2AA:FF:FE28:9C5A nel corrispondente indirizzo a livello di
collegamento. Tramite il nodo B viene inviato un messaggio NS all'indirizzo multicast del nodo richiesto
FF02::1:FF28:9C5A. Poiché il nodo A è in ascolto su questo indirizzo multicast, elabora il messaggio NS e risponde
con un messaggio di annuncio del nodo adiacente (NA, Neighbor Advertisement) completando il processo di
risoluzione dell'indirizzo.
Se si utilizza l'indirizzo multicast del nodo richiesto, per eventi comuni in un collegamento, ad esempio la risoluzione di
un indirizzo a livello di collegamento, non vengono interessati tutti i nodi della rete, ma solo pochi di essi. In pratica,
grazie alla relazione tra l'indirizzo a livello di collegamento, l'ID interfaccia IPv6 e l'indirizzo del nodo richiesto,
quest'ultimo svolge la funzione di indirizzo pseudo-unicast garantendo una risoluzione degli indirizzi efficiente.
Indirizzi anycast IPv6
Un indirizzo anycast viene assegnato a più interfacce. I pacchetti inviati a un indirizzo anycast vengono inoltrati tramite
l'infrastruttura di routing all'interfaccia più vicina alla quale è stato assegnato l'indirizzo anycast. Per semplificare il
recapito, è necessario che l'infrastruttura di routing sia a conoscenza delle interfacce a cui sono stati assegnati indirizzi
anycast e della relativa distanza in termini di routing. Attualmente gli indirizzi anycast vengono utilizzati
esclusivamente come indirizzi di destinazione. L'assegnazione degli indirizzi anycast avviene al di fuori dello spazio
degli indirizzi unicast e l'ambito di un indirizzo anycast corrisponde all'ambito del tipo di indirizzo unicast dal quale
l'indirizzo anycast viene assegnato.
L'indirizzo anycast subnet-router viene creato dal prefisso di subnet di un'interfaccia specifica. Per creare l'indirizzo
anycast subnet-router, i bit del prefisso di subnet a 64 bit vengono fissati sui valori appropriati, mentre i bit della parte
dell'indirizzo relativa all'ID interfaccia vengono impostati su 0. L'indirizzo anycast subnet-router viene assegnato a tutte
le interfacce di router collegate a una subnet. L'indirizzo anycast subnet-router consente di comunicare con uno dei
router collegati a una subnet remota, ad esempio per ottenere i dati statistici di gestione della rete per il traffico nella
subnet.
Indirizzi IPv6 per un host
Un host IPv4 dotato di una singola scheda di rete dispone in genere di un unico indirizzo IPv4 assegnato a tale scheda.
Al contrario, un host IPv6 dispone solitamente di più indirizzi IPv6, anche in presenza di una singola interfaccia. A un
host IPv6 vengono assegnati i seguenti indirizzi unicast:



Un indirizzo locale del collegamento per ogni interfaccia.
Indirizzi unicast per ogni interfaccia, che possono essere rappresentati da un indirizzo locale del sito e da uno o
più indirizzi unicast globali.
Indirizzo di loopback (::1) per l'interfaccia di loopback.
Gli host IPv6 dispongono in genere di almeno due indirizzi per la ricezione dei pacchetti: un indirizzo locale del
collegamento per il traffico del collegamento locale e un indirizzo globale o locale del sito instradabile.
Ogni host è inoltre in grado di eseguire l'ascolto del traffico sugli indirizzi multicast seguenti:




Indirizzo multicast per tutti i nodi, ambito locale dell'interfaccia (FF01::1).
Indirizzo multicast per tutti i nodi, ambito locale del collegamento (FF02::1).
Indirizzo del nodo richiesto per ogni indirizzo unicast su ogni interfaccia.
Indirizzi multicast di gruppi uniti su ogni interfaccia.
Indirizzi IPv6 per un router
A un router IPv6 vengono assegnati gli indirizzi unicast e anycast seguenti:





Un indirizzo locale del collegamento per ogni interfaccia.
Indirizzi unicast per ogni interfaccia, che possono essere rappresentati da un indirizzo locale del sito e da uno o
più indirizzi unicast globali.
Un indirizzo anycast subnet-router.
Indirizzi anycast aggiuntivi (facoltativi).
Indirizzo di loopback (::1) per l'interfaccia di loopback.
Ogni router è inoltre in grado di eseguire l'ascolto del traffico sui seguenti indirizzi multicast:







Indirizzo multicast per tutti i nodi, ambito locale dell'interfaccia (FF01::1).
Indirizzo multicast per tutti i router, ambito locale dell'interfaccia (FF01::2).
Indirizzo multicast per tutti i nodi, ambito locale del collegamento (FF02::1).
Indirizzo multicast per tutti i router, ambito locale del collegamento (FF02::2).
Indirizzo multicast per tutti i router, ambito locale del sito (FF05::2).
Indirizzo del nodo richiesto per ogni indirizzo unicast su ogni interfaccia.
Indirizzi multicast di gruppi uniti su ogni interfaccia.
Confronto tra gli indirizzi IPv4 e IPv6
Nella tabella 3-5 sono elencati gli indirizzi e i concetti di indirizzi IPv4 e gli equivalenti IPv6.
Indirizzo IPv4
Classi di indirizzi Internet
Indirizzi multicast IPv4 (224.0.0.0/4)
Indirizzi broadcast: broadcast di rete, broadcast di subnet,
broadcast diretto a tutte le subnet e broadcast limitato
L'indirizzo non specificato è 0.0.0.0
L'indirizzo di loopback è 127.0.0.1
Indirizzi IPv4 pubblici
Indirizzi IPv4 privati (10.0.0.0/8, 172.16.0.0/12 e
192.168.0.0/16)
Indirizzi APIPA (169.254.0.0/16)
Indirizzo IPv6
Non applicabile in IPv6
Indirizzi multicast IPv6 (FF00::/8)
Non applicabile in IPv6
L'indirizzo non specificato è ::
L'indirizzo di loopback è ::1
Indirizzi unicast globali
Indirizzi locali del sito (FEC0::/10)
Indirizzi locali del collegamento (FE80::/64)
Sintassi dell'indirizzo: notazione decimale separata da
punti
Sintassi dell'indirizzo: formato esadecimale separato da due
punti, con eliminazione degli zeri iniziali e compressione
degli zeri
Sintassi del prefisso degli indirizzi: notazione della
lunghezza del prefisso o decimale separata da punti
(subnet mask)
Sintassi del prefisso degli indirizzi: solo notazione della
lunghezza del prefisso
Tabella 3-5 Confronto tra gli indirizzi IPv4 e IPv6
Riepilogo del capitolo
Le principali informazioni fornite nel presente capitolo sono le seguenti:








Gli indirizzi IPv4 vengono espressi in formato decimale separato da punti. I prefissi degli indirizzi IPv4
vengono espressi come forma decimale separata da punti dell'indirizzo iniziale, con la lunghezza del prefisso
indicata da un numero intero o da un numero decimale separato da punti, detto anche subnet mask.
Nel protocollo IPv4 vengono utilizzati indirizzi unicast per recapitare un pacchetto da un'origine a una
destinazione, indirizzi multicast per recapitare un pacchetto da un'origine a più destinazioni e indirizzi
broadcast per recapitare un pacchetto da un'origine a ogni destinazione nella subnet.
Per il protocollo IPv4, è possibile utilizzare indirizzi unicast pubblici, se assegnati dall'autorità ICANN o da un
ISP, oppure indirizzi privati, ovvero 10.0.0.0/8, 172.16.0.0/12 o 192.168.0.0/16. I componenti TCP/IP di
Windows utilizzano gli indirizzi APIPA per configurare automaticamente gli host con indirizzi derivati dal
prefisso degli indirizzi 169.254.0.0/16 in una singola subnet.
Gli indirizzi IPv6 vengono espressi in formato esadecimale separato da due punti, eliminando gli zeri iniziali e
comprimendo un singolo insieme di blocchi contigui di zeri, tramite la notazione due punti doppio. I prefissi
degli indirizzi IPv6 vengono espressi come forma esadecimale separata da due punti dell'indirizzo iniziale con
una lunghezza del prefisso.
Nel protocollo IPv6 vengono utilizzati indirizzi unicast, multicast e anycast per recapitare un pacchetto da
un'origine a una tra più destinazioni.
Per gli indirizzi unicast IPv6, è possibile utilizzare indirizzi globali, se sono assegnati dall'autorità IANA o da
un ISP, indirizzi locali del sito, ovvero FEC0::/10, o indirizzi locali del collegamento, ovvero FE80::/64. Per
gli indirizzi locali del collegamento è necessario specificare un ID area per identificare il collegamento per una
destinazione. Per gli indirizzi locali del sito è necessario specificare un ID area per identificare il sito per una
destinazione, nel caso in cui siano presenti più siti.
Gli identificatori di interfaccia IPv6 vengono generalmente derivati da indirizzi IEEE 802 o IEEE EUI-64.
L'indirizzo multicast del nodo richiesto è un indirizzo multicast speciale utilizzato per garantire un'efficace
risoluzione degli indirizzi a livello di collegamento in una subnet.
Glossario del capitolo
indirizzo - Identificatore assegnato a livello di Internet a un'interfaccia o a un insieme di interfacce e che identifica
l'origine o la destinazione dei pacchetti IP.
classe di indirizzi - Gruppo predefinito di indirizzi IPv4 utilizzati in Internet. Le classi di indirizzi definivano reti di
dimensioni specifiche e determinavano l'intervallo di numeri che era possibile assegnare al primo ottetto di un indirizzo
IPv4. La notazione CIDR (Classless Inter-Domain Routing) ha reso obsoleti gli indirizzi IPv4 di classe.
prefisso dell'indirizzo - Intervallo di indirizzi definito impostando i bit fissi di ordine superiore su valori specifici e i bit
variabili di ordine inferiore su 0. I prefissi degli indirizzi sono in genere utilizzati per esprimere un intervallo di indirizzi
consentiti, identificatori di rete assegnati a subnet e route. Nel protocollo IPv4 i prefissi degli indirizzi vengono espressi
con la notazione della lunghezza del prefisso o decimale separata da punti (subnet mask). Nel protocollo IPv6 i prefissi
degli indirizzi vengono espressi con la notazione della lunghezza del prefisso.
indirizzo anycast - Indirizzo assegnato dallo spazio degli indirizzi unicast, che identifica più interfacce e viene utilizzato
per recapitare pacchetti da un'origine a una di più destinazioni. Con la topologia di routing appropriata, i pacchetti
inviati a un indirizzo anycast vengono recapitati all'interfaccia più vicina a cui è assegnato l'indirizzo.
APIPA - Vedere Indirizzi IP privati automatici (APIPA; Automatic Private IP Addressing).
indirizzi IP privati automatici (APIPA; Automatic Private IP Addressing) - Funzionalità del componente TCP/IP di
Windows Server 2003 e Windows XP. La funzionalità APIPA consente la configurazione automatica di un indirizzo
IPv4 e di una subnet mask dall'intervallo 169.254.0.0/16 quando il componente TCP/IP è impostato per la
configurazione automatica e non è disponibile un server DHCP.
CIDR - Vedere Classless Inter-Domain Routing (CIDR).
indirizzo IPv4 di classe A - Indirizzo unicast IPv4 compreso nell'intervallo da 1.0.0.1 a 127.255.255.254. Il primo
ottetto indica l'ID di rete, mentre gli ultimi tre ottetti indicano l'ID host. La notazione CIDR (Classless Inter-Domain
Routing) ha reso obsoleti gli indirizzi IPv4 di classe.
indirizzo IPv4 di classe B - Indirizzo unicast IPv4 compreso nell'intervallo da 128.0.0.1 a 191.255.255.254. I primi due
ottetti indicano l'ID di rete, mentre gli ultimi due ottetti indicano l'ID host. La notazione CIDR (Classless Inter-Domain
Routing) ha reso obsoleti gli indirizzi IPv4 di classe.
indirizzo IPv4 di classe C - Indirizzo unicast IPv4 compreso nell'intervallo da 192.0.0.1 a 223.255.255.254. I primi tre
ottetti indicano l'ID di rete, mentre l'ultimo ottetto indica l'ID host. La notazione CIDR (Classless Inter-Domain
Routing) ha reso obsoleti gli indirizzi IPv4 di classe.
Classless Inter-Domain Routing (CIDR) - Tecnica per l'aggregazione di route e l'assegnazione di indirizzi IPv4
nell'attuale rete Internet. Con la notazione CIDR i prefissi degli indirizzi vengono espressi in forma di prefisso
dell'indirizzo con una lunghezza del prefisso e non in termini di classi di indirizzi, concetto sostituito dalla notazione
CIDR.
notazione esadecimale separata da due punti - Notazione utilizzata per esprimere gli indirizzi IPv6. Gli indirizzi IPv6
sono costituiti da 128 bit suddivisi in otto blocchi da 16 bit. Ogni blocco viene espresso come numero esadecimale e i
blocchi adiacenti sono separati dal segno di due punti. In ogni blocco vengono eliminati gli zeri iniziali. Un esempio di
indirizzo unicast IPv6 in notazione esadecimale separata da due punti è 3FFE:FFFF:2A1D:48C:2AA:3CFF:FE21:81F9.
notazione decimale separata da punti - Notazione generalmente utilizzata per esprimere gli indirizzi IPv4. Gli indirizzi
IPv4 sono costituiti da 32 bit suddivisi in quattro blocchi da 8 bit. Ogni blocco viene espresso come numero decimale e
i blocchi adiacenti sono separati da punti. Un esempio di indirizzo unicast IPv4 in notazione decimale separata da punti
è 131.107.199.45.
due punti doppio - Tecnica di compressione di una singola serie di blocchi contigui di zeri in un indirizzo IPv6 in"::". È
ad esempio possibile esprimere l'indirizzo multicast FF02:0:0:0:0:0:0:2 come FF02::2.
EUI - Vedere Identificatore univoco esteso (EUI, Extended Unique Identifier).
indirizzo EUI-64 - Indirizzo a livello di collegamento composto da 64 bit e utilizzato come base per un identificatore di
interfaccia IPv6.
identificatore univoco esteso (EUI, Extended Unique Identifier) - Indirizzo a livello di collegamento definito
dall'istituto IEEE (Electrical and Electronics Engineers).
indirizzo unicast globale - Indirizzo unicast IPv6 instradabile e raggiungibile globalmente nella parte IPv6 di Internet.
Gli indirizzi globali IPv6 equivalgono agli indirizzi IPv4 pubblici.
IEEE - Acronimo di Institute of Electrical and Electronics Engineers.
indirizzo IEEE 802 - Indirizzo a livello di collegamento composto da 48 bit e definito dall'istituto IEEE. Gli indirizzi
IEEE 802 vengono utilizzati per le schede di rete Ethernet e token ring.
indirizzo IEEE EUI-64 - Vedere Indirizzo EUI-64.
indirizzo non valido - Indirizzo duplicato che entra in conflitto con un indirizzo pubblico IPv4 già assegnato
dall'autorità ICANN a un'altra organizzazione.
indirizzo locale del collegamento - Indirizzo utilizzato localmente che ha il prefisso FE80::/64 e il cui ambito è il
collegamento locale. Gli indirizzi locali del collegamento vengono utilizzati dai nodi per la comunicazione con i nodi
adiacenti sullo stesso collegamento. Gli indirizzi locali del collegamento equivalgono agli indirizzi APIPA (Automatic
Private IP Addressing) IPv4.
indirizzo di loopback - Per il protocollo IPv4 è costituito dall'indirizzo 127.0.0.1. Per il protocollo IPv6 è costituito
dall'indirizzo 0:0:0:0:0:0:0:1 oppure ::1. L'indirizzo di loopback viene utilizzato dai nodi per inviare pacchetti a se
stessi.
indirizzo multicast - Indirizzo che identifica zero o più interfacce e viene utilizzato per recapitare pacchetti da un'origine
a più destinazioni. Con la topologia di routing multicast appropriata, i pacchetti inviati a un indirizzo multicast vengono
consegnati a tutte le interfacce identificate dall'indirizzo.
notazione della lunghezza del prefisso - Tecnica mediante la quale i prefissi degli indirizzi vengono espressi come
IndirizzoIniziale/LunghezzaPrefisso, dove LunghezzaPrefisso indica il numero di bit fissi di ordine superiore
nell'indirizzo.
indirizzi privati - Indirizzi IPv4 utilizzati dalle organizzazioni nelle reti Intranet private, con uno dei seguenti prefissi:
10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16.
indirizzi pubblici - Indirizzi IPv4 assegnati dall'autorità ICANN globalmente univoci e raggiungibili nella rete Internet
IPv4.
indirizzo locale del sito - Indirizzo IPv6 utilizzato localmente identificato dal prefisso FEC0::/10 e il cui ambito è
rappresentato da un sito. Gli indirizzi locali del sito equivalgono allo spazio degli indirizzi privato IPv4. Gli indirizzi
locali del sito non sono raggiungibili da altri siti e i router non devono inoltrare il traffico locale del sito al di fuori del
sito stesso.
indirizzo multicast del nodo richiesto - Indirizzo multicast IPv6 utilizzato dai nodi per risolvere gli indirizzi. L'indirizzo
multicast del nodo richiesto è costituito dal prefisso FF02::1:FF00:0/104 e dagli ultimi 24 bit di un indirizzo unicast
IPv6. L'indirizzo multicast del nodo richiesto svolge la funzione di indirizzo pseudo-unicast per garantire una
risoluzione degli indirizzi efficiente nei collegamenti IPv6.
subnet mask - Espressione della lunghezza di un prefisso per gli intervalli di indirizzi IPv4 in notazione decimale
separata da punti. Il prefisso dell'indirizzo 131.107.0.0/16 in notazione subnet mask è ad esempio 131.107.0.0,
255.255.0.0.
indirizzo unicast - Indirizzo che identifica un'unica interfaccia e viene utilizzato per recapitare pacchetti da un'origine a
una singola destinazione. Con la topologia di routing unicast appropriata, i pacchetti inviati a un indirizzo unicast
vengono consegnati a un'unica interfaccia.
indirizzo non specificato - Per il protocollo IPv4 è costituito dall'indirizzo 0.0.0.0. Per il protocollo IPv6 è costituito
dall'indirizzo 0:0:0:0:0:0:0:0 oppure ::. L'indirizzo non specificato indica l'assenza di un indirizzo.
ID area - Numero intero che specifica l'area di destinazione del traffico IPv6. Nei comandi Ping, Tracert e Pathping la
sintassi per specificare un ID area è IndirizzoIPv6%IDArea. In genere il valore di IDArea per gli indirizzi locali del
collegamento equivale all'indice dell'interfaccia. Per gli indirizzi locali del sito, il valore di IDArea equivale al numero
del sito. Il parametro IDArea non è necessario quando la destinazione è un indirizzo globale e quando non sono
utilizzati più siti.
Nozioni fondamentali sul protocollo TCP/IP per Microsoft Windows: Capitolo 2: Panoramica dell'architettura della
suite di protocolli TCP/IP
Capitolo 2: Panoramica dell'architettura della suite di protocolli TCP/IP
Pubblicato: 2 novembre 2004
Abstract
Nel presente capitolo viene illustrato più dettagliatamente il modello TCP/IP (Transmission Control Protocol/Internet
Protocol) attraverso l'analisi dei suoi quattro livelli e dei protocolli principali utilizzati in ciascun livello. Gli
amministratori di rete devono conoscere i protocolli di base dei vari livelli con le relative funzioni per poter
comprendere il funzionamento delle applicazioni di rete, le modalità di invio di dati tra applicazioni e in che modo
interpretare le acquisizioni di rete. Nel presente capitolo vengono inoltre illustrate le due API (Application
Programming Interface) principali utilizzate dai sistemi operativi Microsoft® Windows® e gli schemi di
denominazione delle stesse.
In questa pagina
Obiettivi del capitolo
La suite di protocolli TCP/IP
Livello Internet IPv4
Livello Internet IPv6
TCP (Transmission Control Protocol)
UDP (User Datagram Protocol)
Multiplexing e demultiplexing di pacchetti
API (Application Programming Interface)
Schemi di denominazione TCP/IP in Windows
Riepilogo del capitolo
Glossario del capitolo
Obiettivi del capitolo
Al termine di questo capitolo si sarà in grado di eseguire le seguenti attività.








Descrivere in che modo la suite di protocolli TCP/IP corrisponde ai modelli DARPA (Department of Defense
Advanced Research Projects Agency) e OSI (Open System Interconnection).
Elencare i principali protocolli nei livelli Interfaccia di rete, Internet, Trasporto e Applicazione del modello
DARPA.
Illustrare lo scopo dei protocolli di base del livello Internet IPv4.
Illustrare lo scopo dei protocolli di base del livello Internet IPv6.
Illustrare lo scopo e le caratteristiche dei protocolli TCP e UDP (User Datagram Protocol).
Spiegare in che modo IP adopera le informazioni contenute nei pacchetti IP per recapitare dati all'applicazione
corretta nel nodo di destinazione.
Descrivere lo scopo e le caratteristiche delle API Windows Sockets e NetBIOS (Network Basic Input/Output
System).
Descrivere lo scopo e le caratteristiche del nome host e gli schemi di denominazione NetBIOS utilizzati dai
componenti TCP/IP nei sistemi operativi Microsoft Windows Server™ 2003 e Windows XP.
La suite di protocolli TCP/IP
La suite di protocolli TCP/IP corrisponde a un modello concettuale a quattro livelli denominato DARPA, dal nome
dell'agenzia governativa statunitense che sviluppò inizialmente il protocollo TCP/IP. I quattro livelli del modello
DARPA sono: Applicazione, Trasporto, Internet e Interfaccia di rete. Ciascun livello del modello DARPA corrisponde
a uno o più livelli del modello OSI a sette livelli.
Nella figura 2-1 viene mostrata l'architettura della suite dei protocolli TCP/IP.
Figura 2-1 Architettura della suite di protocolli TCP/IP
La suite dei protocolli TCP/IP è composta da due insiemi di protocolli al livello Internet:


IPv4, noto anche come IP, rappresenta il livello Internet attualmente più utilizzato nelle reti Intranet e sul Web.
IPv6 è il nuovo livello Internet che in futuro sostituirà l'attuale livello IPv4.
Livello Interfaccia di rete
Il livello Interfaccia di rete, denominato anche livello Accesso di rete, invia e riceve pacchetti TCP/IP a e dal supporto
di rete. La suite TCP/IP è stata progettata in modo da risultare indipendente dal metodo di accesso alla rete, dal formato
del frame e dal supporto utilizzati. È quindi possibile utilizzarla per comunicare in tipi di rete differenti che adoperano
tecnologie LAN, ad esempio LAN senza fili Ethernet e 802.11, e tecnologie WAN, ad esempio Frame Relay e ATM
(Asynchronous Transfer Mode). La mancata associazione a una tecnologia di rete specifica consente di adattare la suite
TCP/IP a nuove tecnologie.
Il livello Interfaccia di rete del modello DARPA comprende i livelli Collegamento dati e Fisico del modello OSI. Il
livello Internet del modello DARPA non sfrutta i servizi di sequenzializzazione e riconoscimento eventualmente
presenti nel livello Collegamento dati del modello OSI. Il livello Internet presuppone un livello Interfaccia di rete
inaffidabile e demanda la responsabilità di garantire comunicazioni affidabili mediante l'attivazione di una sessione,
come anche la sequenzializzazione e il riconoscimento di pacchetti, al livello Trasporto o Applicazione.
Livello Internet
Il livello Internet, responsabile delle funzioni di indirizzamento, suddivisione in pacchetti e instradamento dei dati,
corrisponde al livello Rete del modello OSI.
Il livello Internet IPv4 è costituito dai seguenti protocolli di base:

Il protocollo ARP (Address Resolution Protocol) risolve l'indirizzo di livello Internet in un indirizzo di livello
Interfaccia di rete, ad esempio un indirizzo hardware.



Il protocollo IP (Internet Protocol) è un protocollo instradabile che indirizza, instrada, suddivide in frammenti e
riassembla pacchetti.
Il protocollo ICMP (Internet Control Message Protocol) riporta errori e altre informazioni utili per
diagnosticare la mancata consegna di pacchetti.
Il protocollo IGMP (Group Management Protocol) gestisce gruppi multicast IP.
Per ulteriori informazioni sui protocolli di base relativi al livello Internet IPv4, vedere la sezione "Livello Internet IPv4"
più avanti nel presente capitolo.
Il livello Internet IPv6 è costituito dai seguenti protocolli di base:




IPv6 è un protocollo instradabile che indirizza e instrada pacchetti.
Il protocollo ICMPv6 (Internet Control Message Protocol for IPv6) riporta errori e altre informazioni utili per
diagnosticare la mancata consegna di pacchetti.
Il protocollo ND (Neighbor Discovery) gestisce le interazioni tra nodi IPv6 adiacenti.
Il protocollo MLD (Multicast Listener Discovery) gestisce gruppi multicast IPv6.
Per ulteriori informazioni sui protocolli di base relativi al livello Internet IPv6, vedere la sezione "Livello Internet IPv6"
più avanti nel presente capitolo.
Livello Trasporto
Il livello Trasporto, noto anche come Trasporto host-to-host, fornisce al livello Applicazione servizi di sessione e
comunicazione datagrammi. Il livello Trasporto è analogo all'omonimo livello del modello OSI. I protocolli di base del
livello Trasporto sono TCP e UDP.
Il protocollo TCP fornisce un servizio per comunicazioni affidabili, orientato alla connessione, uno-a-uno. Il TCP
instaura le connessioni, stabilisce la sequenza, riconosce i pacchetti inviati e recupera pacchetti persi nel corso della
trasmissione.
Diversamente dal TCP, il protocollo UDP fornisce un servizio per comunicazioni inaffidabili, non orientato alla
connessione, uno-a-uno o uno-a-molti. L'UDP viene utilizzato per il trasferimento di piccoli volumi di dati (ad esempio,
i dati di un singolo pacchetto), dagli sviluppatori di applicazioni per evitare il sovraccarico associato alle connessioni
TCP, oppure quando le applicazioni o protocolli di livello superiore assicurano una consegna affidabile.
TCP e UDP funzionano su entrambi i livelli Internet, IPv4 e IPv6.
Nota Le versioni dei protocolli TCP e UDP del componente Internet Protocol (TCP/IP) di Windows differiscono dal
componente TCP/IP Microsoft versione 6. Le versioni presenti nel componente TCP/IP Microsoft versione 6 sono
funzionalmente equivalenti a quelle fornite con i sistemi operativi Microsoft Windows NT® 4.0 e includono tutti gli
ultimi aggiornamenti di protezione. L'esistenza di componenti protocollo separati con proprie versioni TCP e UDP è
definita "architettura dual-stack". L'architettura ideale è costituita da un livello IP doppio, nel quale, secondo quanto
mostrato nella figura 2-1, le stesse versioni di TCP e UDP funzionano sia su IPv4 che su IPv6. In un prossimo
aggiornamento dei sistemi operativi Windows, Microsoft ha intenzione di adoperare un'architettura di livello IP doppio
per i componenti protocollo TCP/IP.
Livello Applicazione
Il livello Applicazione consente alle applicazioni di accedere ai servizi degli altri livelli e definisce i protocolli utilizzati
dalle applicazioni per lo scambio di dati. Tale livello contiene molti protocolli, e altri sono costantemente in fase di
sviluppo.
Di seguito sono illustrati i protocolli più noti per lo scambio di dati del livello Applicazione.



Il protocollo HTTP (Hypertext Transfer Protocol) trasferisce file che costituiscono pagine sul Web.
Il protocollo FTP (File Transfer Protocol) trasferisce singoli file, di norma per una sessione utente interattiva.
Il protocollo SMTP (Simple Mail Transfer Protocol) trasferisce messaggi e allegati di posta.
Inoltre, i protocolli del livello Applicazione di seguito riportati aiutano nell'utilizzo e gestione di reti TCP/IP.



Il protocollo DNS (Domain Name System) risolve i nomi host, ad esempio www.microsoft.com, in un
indirizzo IP e copia le informazioni sui nomi tra server DNS.
Il protocollo RIP (Routing Information Protocol) viene utilizzato dai router per scambiarsi informazioni di
routing in una rete IP.
Il protocollo SNMP (Simple Network Management Protocol) raccoglie e scambia informazioni relative alla
gestione di rete tra una console gestionale e periferiche di rete, come router, bridge e server.
Windows Sockets e NetBIOS sono esempi di interfacce di livello Applicazione per applicazioni TCP/IP. Per ulteriori
informazioni, vedere la sezione "API (Application Programming Interface)" più avanti nel presente capitolo.
Livello Internet IPv4
Il livello Internet IPv4 è costituito dai seguenti protocolli:




ARP
IP (IPv4)
ICMP
IGMP
Nelle sezioni seguenti ciascun protocollo viene illustrato più analiticamente.
ARP
Quando IP invia pacchetti su una rete ad accesso condiviso basata sul broadcast, come una LAN senza fili Ethernet o
802.11, il protocollo deve risolvere gli indirizzi MAC (Media Access Control) corrispondenti agli indirizzi IPv4 dei
nodi a cui i pacchetti sono stati inoltrati, noti anche come indirizzi IPv4 di hop successivo. In base alla definizione del
documento RFC 826, il protocollo ARP utilizza broadcast di livello MAC per risolvere indirizzi IPv4 di hop successivo
nei corrispondenti indirizzi MAC.
A seconda dell'indirizzo IPv4 di destinazione e del processo di determinazione del percorso, IPv4 determina l'indirizzo
IPv4 dell'hop successivo e l'interfaccia per l'inoltro del pacchetto. Quindi passa il pacchetto IPv4, l'indirizzo IPv4 e
l'interfaccia dell'hop successivo al protocollo ARP.
Se l'indirizzo IPv4 dell'hop successivo del pacchetto è identico all'indirizzo IPv4 di destinazione, il protocollo ARP
recapita direttamente il pacchetto a destinazione. In una consegna diretta ARP deve risolvere l'indirizzo IPv4 della
destinazione del pacchetto nel corrispondente indirizzo MAC.
Se l'indirizzo IPv4 dell'hop successivo del pacchetto non è identico all'indirizzo IPv4 di destinazione, il protocollo ARP
esegue una consegna indiretta a un router. In una consegna indiretta ARP deve risolvere l'indirizzo IPv4 del router nel
corrispondente indirizzo MAC.
Per risolvere l'indirizzo IPv4 dell'hop successivo di un pacchetto nel corrispondente indirizzo MAC, il protocollo ARP
sfrutta la funzione di broadcasting presente nelle reti ad accesso condiviso, come Ethernet o 802.11, per inviare un
frame di richiesta ARP sotto forma di broadcast. Il mittente riceve in risposta un frame ARP che contiene l'indirizzo
MAC corrispondente all'indirizzo IPv4 dell'hop successivo del pacchetto.
Cache ARP
Per ridurre al minimo la quantità di frame di richiesta ARP broadcast, molte implementazioni di protocollo TCP/IP
incorporano una cache ARP: una tabella di indirizzi IPv4 recentemente risolti con i corrispondenti indirizzi MAC.
Prima di inviare un frame di richiesta, ARP controlla questa cache. Ogni interfaccia dispone della propria cache ARP.
A seconda delle implementazioni del fornitore, la cache ARP può presentare le caratteristiche di seguito riportate.

Le voci della cache ARP possono essere dinamiche (basate su repliche ARP) o statiche. Le voci statiche sono
permanenti e vengono aggiunte manualmente mediante uno strumento TCP/IP, come lo strumento ARP di

Windows. Le voci statiche della cache ARP impediscono ai nodi di inviare richieste ARP per indirizzi locali
IPv4 utilizzati comunemente, come gli indirizzi relativi a router e server. Se viene cambiata la scheda di rete, è
tuttavia necessario aggiornare le voci ARP statiche manualmente.
Le voci di cache ARP dinamiche, essendo associate a valori di timeout, vengono rimosse dalla cache allo
scadere di un determinato intervallo di tempo. Ad esempio, le voci di cache ARP dinamiche relative a
Windows sono rimosse dopo non più di 10 minuti.
Per visualizzare la cache ARP su un computer basato su Windows, al prompt dei comandi digitare arp -a. Lo strumento
ARP può essere utilizzato anche per aggiungere o eliminare voci statiche della cache ARP.
Processo ARP
Durante l'invio del pacchetto iniziale come host di invio o l'inoltro del pacchetto in qualità di router, IPv4 invia ad ARP
il pacchetto IPv4, l'indirizzo IPv4 e l'interfaccia dell'hop successivo. ARP esegue una consegna diretta o indiretta
tramite il processo di seguito riportato.
1.
2.
3.
4.
5.
6.
In base all'indirizzo IPv4 e all'interfaccia dell'hop successivo, ARP controlla nella cache appropriata la
presenza di una voce che corrisponda all'indirizzo IPv4 dell'hop successivo. Se individua una voce, ARP
procede direttamente al passaggio 6.
Se ARP non trova alcuna voce, crea un frame di richiesta contenente gli indirizzi MAC e IPv4 dell'interfaccia
da cui è stata inviata la richiesta ARP e l'indirizzo IPv4 dell'hop successivo del pacchetto. Quindi invia in
broadcast il frame di richiesta dall'interfaccia appropriata.
Il frame in broadcast viene ricevuto da tutti i nodi della subnet che elaborano perciò la richiesta ARP. Se
l'indirizzo dell'hop successivo della richiesta ARP corrisponde all'indirizzo IPv4 assegnato ad un'interfaccia
nella subnet, il nodo di ricezione aggiorna la propria cache ARP con gli indirizzi IPv4 e MAC del richiedente.
Tutti gli altri nodi scartano automaticamente la richiesta ARP.
Il nodo di ricezione a cui viene assegnato l'indirizzo dell'hop successivo del pacchetto IPv4 formula una
risposta ARP contenente l'indirizzo MAC richiesto e la invia direttamente al richiedente.
Al ricevimento della risposta ARP, il richiedente aggiorna la propria cache con il mapping degli indirizzi.
Attraverso lo scambio ARP, il richiedente e il nodo che risponde acquisiscono reciprocamente i mapping degli
indirizzi nelle rispettive cache.
Il richiedente ARP invia il pacchetto IPv4 al nodo dell'hop successivo indirizzandolo all'indirizzo MAC risolto.
Il processo descritto è illustrato nella figura 2-2.
Figura 2-2 Processo di risoluzione indirizzi ARP
Internet Protocol versione 4 (IPv4)
IPv4 è un protocollo a datagrammi responsabile principalmente dell'indirizzamento e instradamento di pacchetti tra
host. Il protocollo IPv4 non è orientato alla connessione, per cui non stabilisce una connessione prima dello scambio di
dati, ed è inaffidabile, nel senso che non assicura la consegna del pacchetto. IPv4 tenta sempre di recapitare un
pacchetto, che tuttavia potrebbe andare perso, essere consegnato fuori sequenza, duplicato o recapitato in ritardo. IPv4
non effettua alcun tentativo per recuperare questo tipo di errori. Un protocollo di livello superiore, ad esempio un
protocollo TCP o applicazioni, deve in caso di necessità riconoscere i pacchetti recapitati e recuperare quelli persi. IPv4
è definito nel documento RFC 791.
Un pacchetto IPv4 è costituito da un'intestazione e un payload IPv4. Il payload è a sua volta formato da un'unità dati di
un protocollo di livello superiore, come un segmento TCP o un messaggio UDP. Nella figura 2-3 è mostrata la struttura
di base di un pacchetto IPv4.
Figura 2-3 Struttura di base di un pacchetto IPv4
Nella tabella 2-1 sono elencati e illustrati i campi chiave dell'intestazione IPv4.
Campo
intestazione
IPv4
Source IP
Address
Destination IP
Address
Identification
Protocol
Checksum
Time-to-Live
(TTL)
Descrizione
Indirizzo di origine del pacchetto IP.
Indirizzo della destinazione intermedia o finale del pacchetto IP.
Identificatore, in caso di frammentazione, di tutti i frammenti di un determinato pacchetto IPv4.
Identificatore del protocollo di livello superiore a cui è necessario trasferire il payload IPv4.
Semplice calcolo matematico utilizzato per controllare errori a livello di bit nell'intestazione IPv4.
Numero di segmenti di rete sui quali può viaggiare il datagramma prima che un router lo scarti.
All'inoltro di un pacchetto IPv4, i router riducono di un'unità il campo TTL impostato dall'host di
invio. Grazie a questo campo i pacchetti non circolano all'infinito in una rete IPv4.
Tabella 2-1 Campi chiave in un'intestazione IPv4
Frammentazione e riassemblaggio
Se un router riceve un pacchetto IPv4 troppo grande per il segmento di rete su cui è stato inoltrato, l'IPv4 del router
frammenta il pacchetto originale in pacchetti di dimensioni minori adeguate al segmento di rete su cui avviene l'inoltro.
Quando i pacchetti arrivano alla destinazione finale, l'IPv4 dell'host di destinazione riassembla i frammenti nel payload
originale. Questo processo è denominato frammentazione e riassemblaggio. La frammentazione può essere effettuata in
ambienti con tecnologie di rete miste, come Ethernet o Token Ring.
Di seguito è illustrato il funzionamento del processo di frammentazione e riassemblaggio.
1.
2.
3.
Prima dell'invio di un pacchetto IPv4, l'origine inserisce un valore univoco nel campo Identification.
Lungo il percorso tra l'host di invio e la destinazione, il pacchetto IPv4 viene ricevuto da un router che si
accorge che le dimensioni del pacchetto eccedono le dimensioni dell'unità massima di trasmissione (MTU)
della rete su cui deve essere inoltrato.
IPv4 divide il payload originale in frammenti che possono essere contenuti sulla rete successiva. Ciascun
frammento riceve la propria intestazione IPv4 che contiene:
o Il campo Identification originale che identifica tutti i frammenti raggruppati insieme.
o Il flag More Fragments che indica la presenza di altri frammenti successivi. Tale flag, a causa
dell'assenza di altri frammenti, non è impostato sull'ultimo frammento.
o
Il campo Fragment Offset che indica la posizione del frammento rispetto al payload IPv4 originale.
Alla ricezione dei frammenti, l'host remoto utilizza il campo Identification per identificare i frammenti raggruppati
insieme e, tramite il campo Fragment Offset, li riassembla nell'ordine corretto così da ricreare il payload IPv4 originale.
ICMP (Internet Control Message Protocol)
Il protocollo ICMP, definito nel documento RFC 792, riporta e aiuta a risolvere errori di pacchetti che non possono
essere recapitati. Se, ad esempio, IPv4 non riesce a recapitare un pacchetto all'host di destinazione, il protocollo ICMP
del router o dell'host di destinazione invia un messaggio di destinazione non raggiungibile all'host di invio. Nella tabella
2-2 sono elencati e illustrati i messaggi ICMP più comuni.
Messaggio
ICMP
Echo
Echo Reply
Redirect
Source Quench
Destination
Unreachable
Descrizione
Lo strumento Ping invia messaggi Echo ICMP per risolvere problemi di rete attraverso la verifica
della connettività IPv4 a un determinato nodo.
I nodi inviano messaggi Echo Reply in risposta a messaggi Echo ICMP.
I router inviano messaggi Redirect per comunicare ad host di invio i migliori percorsi ad indirizzi
IPv4 di destinazione.
I router inviano messaggi Source Quench (origine estinta) per informare gli host di invio che i
pacchetti IPv4 sono stati scartati per problemi di congestione. In tal modo gli host di invio rallentano
la frequenza di invio dei pacchetti.
I router e gli host di destinazione inviano messaggi Destination Unreachable (destinazione non
raggiungibile) per informare gli host di invio che non è possibile recapitare i pacchetti.
Tabella 2-2 Messaggi ICMP comuni
Il protocollo ICMP contiene una serie di messaggi di destinazione non raggiungibile, i più comuni dei quali sono
elencati e illustrati nella tabella 2-3.
Messaggio di
destinazione non
raggiungibile
Host Unreachable
Protocol Unreachable
Port Unreachable
Fragmentation Needed
and DF Set
Descrizione
I router inviano messaggi Host Unreachable (host irraggiungibile) quando non sono in grado
di individuare percorsi agli indirizzi IPv4 di destinazione.
I nodi IPv4 di destinazione inviano messaggi Protocol Unreachable (protocollo non
raggiungibile) quando non sono in grado di associare il campo Protocol dell'intestazione
IPv4 al protocollo client IPv4 correntemente utilizzato.
I nodi IPv4 inviano messaggi Port Unreachable (porta non raggiungibile) quando non sono
in grado di associare il campo Destination Port dell'intestazione UDP all'applicazione che
utilizza quella porta UDP.
I router IPv4 inviano messaggi Fragmentation Needed and DF Set quando è necessario
eseguire la frammentazione di un pacchetto ma il nodo di invio ha impostato il flag Don’t
Fragment (DF) nell'intestazione IPv4.
Tabella 2-3 Messaggi di destinazione non raggiungibile ICMP comuni
L'ICMP, pur non rendendo il protocollo IPv4 affidabile, riporta gli errori e fornisce un feedback in presenza di
specifiche condizioni. I messaggi ICMP sono trasportati come pacchetti IPv4 non riconosciuti e sono essi stessi
inaffidabili.
IGMP (Internet Group Management Protocol)
Router e host utilizzano il protocollo IGMP per gestire l'appartenenza in gruppi multicast IPv4 su una subnet. Un
gruppo multicast IPv4, definito anche gruppo host, è un insieme di host posti in ascolto del traffico destinato a uno
specifico indirizzo multicast IPv4. Il traffico multicast IPv4 di una determinata subnet, sebbene inviato a un singolo
indirizzo MAC, viene ricevuto ed elaborato da più host IPv4. Un membro del gruppo host ascolta uno specifico
indirizzo multicast IPv4 e riceve tutti i pacchetti ad esso inviati.
Perché un host riceva il traffico multicast IPv4, è necessario che un'applicazione informi il protocollo IPv4 della relativa
ricezione presso uno specifico indirizzo multicast IPv4. Il protocollo IPv4 informa quindi i router delle subnet locali
della necessità di ricevere pacchetti multicast inviati all'indirizzo multicast IPv4 specificato. Le informazioni relative
all'appartenenza ad un gruppo host sono registrate tramite il protocollo IGMP.
Di seguito sono riportati i possibili formati dei messaggi IGMP.



Membri di un gruppo host utilizzano il messaggio IGMP Host Membership Report per dichiarare la propria
appartenenza a uno specifico gruppo host.
I router utilizzano il messaggio IGMP Host Membership Query per richiedere alle subnet informazioni sui
membri di gruppi host.
I membri di un gruppo host utilizzano il messaggio IGMP Leave Group quando abbandonano un gruppo del
quale potrebbero essere l'ultimo membro nella subnet.
Per il multicasting lungo una rete IPv4, i router comunicano informazioni sui gruppi host mediante protocolli di routing
multicast. Ciascun router che supporta l'inoltro multicast è in grado quindi di determinare la modalità di inoltro del
traffico multicast IPv4.
Windows Server 2003 e Windows XP supportano i protocolli IGMP, IGMP versione 2 e IGMP versione 3,
rispettivamente definiti nei documenti RFC 1112, RFC 2236 e RFC 3376.
Livello Internet IPv6
IPv6 sostituirà completamente i protocolli del livello Internet IPv4 del modello DARPA. Saranno effettuate le seguenti
sostituzioni.




IPv4 con IPv6: IPv6 è un protocollo instradabile che indirizza, instrada, suddivide in frammenti e riassembla
pacchetti.
ICMP con ICMPv6: il protocollo ICMPv6 diagnostica e riporta gli errori alla base del mancato recapito di
pacchetti IPv6.
IGMP con MLD: il protocollo MLD gestisce l'appartenenza a gruppi multicast IPv6.
ARP con ND: il protocollo ND gestisce le interazioni tra nodi adiacenti, compresa la configurazione
automatica di indirizzi e la risoluzione di indirizzi IPv6 di hop successivo in indirizzi MAC.
Per supportare le operazioni sul livello Internet IPv6, non è necessario che gli sviluppatori di software modifichino i
protocolli ai livelli Trasporto e Applicazione, se non quando gli indirizzi fanno parte del payload o delle strutture di dati
gestite dal protocollo. Ad esempio, gli sviluppatori devono aggiornare i protocolli TCP e UDP per eseguire un nuovo
checksum, e il protocollo RIP per inviare e ricevere informazioni di routing su IPv6.
Il livello Internet IPv6 è costituito dai seguenti protocolli:




IPv6
ICMPv6
ND
MLD
Tali protocolli sono illustrati più analiticamente nelle sezioni seguenti.
IPv6
Analogamente all'IPv4, l'IPv6 è un protocollo a datagrammi, inaffidabile e non orientato alla connessione,
principalmente responsabile dell'indirizzamento e instradamento di pacchetti tra host.
La struttura di un pacchetto IPv6 è definita nel documento RFC 2460. Un pacchetto IPv6 è costituito da un'intestazione
e un payload IPv6. Il payload è rappresentato da zero o più intestazioni di estensione IPv6 e da un'unità dati di un
protocollo di livello superiore, come un messaggio ICMPv6, un segmento TCP o un messaggio UDP. Nella figura 2-4 è
mostrata la struttura di base di un pacchetto IPv6.
Figura 2-4 Struttura di base di un pacchetto IPv6
Nella tabella 2-4 sono elencati e illustrati i campi chiave dell'intestazione IPv6.
Campo
intestazione
Descrizione
IPv6
Source Address Indirizzo IPv6 a 128 bit che identifica l'origine del pacchetto IPv6.
Destination
Indirizzo IPv6 a 128 bit che identifica l'intermediario o la destinazione finale del pacchetto IPv6.
Address
Identificatore relativo all'intestazione dell'estensione IPv6 immediatamente successiva o ad un
Next Header
protocollo di livello superiore quale ICMPv6, TCP o UDP.
Numero di collegamenti sui quali può viaggiare il pacchetto prima di essere scartato da un router. Nel
Hop Limit
corso dell'inoltro del pacchetto, i router riducono di un'unità il limite hop impostato dall'host di invio.
Grazie a questo campo i pacchetti non circolano all'infinito in una rete IPv6.
Tabella 2-4 Campi chiave in un'intestazione IPv6
Intestazioni di estensione IPv6
I payload IPv6 possono contenere zero o più intestazioni di estensione di lunghezza variabile. Un campo Next Header
presente nell'intestazione IPv6 indica la successiva intestazione di estensione. Ciascuna intestazione di estensione
contiene un altro campo Next Header con l'intestazione successiva. L'ultima intestazione di estensione indica l'eventuale
protocollo di livello superiore (ad esempio, TCP, UDP o ICMPv6) contenuto nell'unità dati di un protocollo di livello
superiore.
Intestazione e intestazioni di estensione IPv6 sostituiscono l'intestazione IPv4 esistente e la possibile inclusione di
relative opzioni. Il nuovo formato delle intestazioni di estensione consente di accrescere il protocollo IPv6 per
supportare esigenze e funzioni future. Diversamente dalle opzioni presenti nell'intestazione IPv4, le dimensioni delle
intestazioni di estensione IPv6 non sono soggette a limiti e possono essere espanse in modo da contenere tutti i dati di
estensione necessari per la comunicazione.
Nel documento RFC 2460 sono definite le seguenti intestazioni di estensione che tutti i nodi IPv6 devono supportare.






Hop-by-Hop Options
Destination Options
Routing
Fragment
Authentication
Encapsulating Security Payload
I pacchetti IPv6 di norma non contengono intestazioni di estensione. Gli host di invio aggiungono almeno
un'intestazione di estensione soltanto quando è necessario che router intermedi o la destinazione gestiscano il pacchetto
in un determinato modo.
Frammentazione in IPv6
In IPv4, se un router riceve un pacchetto troppo grande per il segmento di rete a cui è stato inoltrato ed è consentita la
frammentazione del pacchetto, il protocollo IPv4 del router frammenta il pacchetto originale in pacchetti di dimensioni
minori adeguati al segmento di rete destinatario dell'inoltro. In IPv6, il pacchetto è frammentato solo dall'host di invio:
se un pacchetto IPv6 è troppo grande, il router inoltra all'host di invio un messaggio ICMPv6 Packet Too Big
(dimensioni del pacchetto troppo elevate) e lo scarta.
Gli host di invio possono frammentare pacchetti e gli host di destinazione possono riassemblarli tramite l'utilizzo
dell'intestazione di estensione Fragment.
ICMPv6 (Internet Control Message Protocol for IPv6)
Analogamente al protocollo IPv4, IPv6 non riporta errori; utilizza, invece, una versione aggiornata del protocollo ICMP
per IPv4. Questa nuova versione, denominata ICMPv6, esegue le comuni funzioni ICMP di segnalazione errori di
recapito o inoltro per IPv4 e fornisce un servizio Echo semplificato per la risoluzione degli errori. Il protocollo ICMPv6
fornisce inoltre una struttura per messaggi ND e MLD.
Nella tabella 2-5 sono elencati e descritti i messaggi ICMPv6 definiti nel documento RFC 2463.
Messaggio
ICMPv6
Echo Request
Echo Reply
Destination
Unreachable
Packet Too Big
Time Exceeded
Parameter
Problem
Descrizione
Gli host mittenti inviano messaggi Echo Request (richiesta echo) per verificare la connettività IPv6 a
un determinato nodo.
I nodi inviano messaggi Echo Reply (risposta echo) in risposta a messaggi ICMPv6 Echo Request.
I router e gli host di destinazione inviano messaggi Destination Unreachable (destinazione non
raggiungibile) per informare gli host di invio che non è possibile recapitare i pacchetti o i payload.
I router inviano messaggi Packet Too Big (dimensioni del pacchetto troppo grandi) per informare gli
host di invio che le dimensioni del pacchetto eccedono la capacità di inoltro.
I router inviano messaggi Time Exceeded (tempo scaduto) per informare gli host di invio che il
limite di hop di un pacchetto IPv6 è scaduto.
I router inviano messaggi Parameter Problem (problema col parametro) per informare gli host di
invio degli errori verificatisi durante l'elaborazione dell'intestazione o di un'intestazione di estensione
IPv6.
Tabella 2-5 Messaggi ICMPv6 comuni
Il protocollo ICMPv6 contiene una serie di messaggi di destinazione non raggiungibile, i più comuni dei quali sono
elencati e illustrati nella tabella 2-6.
Messaggio di destinazione
non raggiungibile
Descrizione
I router inviano questo messaggio quando non riescono a individuare percorsi agli
indirizzi di destinazione nelle proprie tabelle di instradamento IPv6 locale.
I router inviano questo messaggio quando un criterio di configurazione impedisce di
Communication Prohibited by
comunicare con la destinazione. Questo tipo di messaggio è, ad esempio, inviato quando
Administrative Policy
un firewall scarta un pacchetto.
Destination Address
I router IPv6 inviano questo messaggio quando non sono in grado di risolvere un
Unreachable
indirizzo MAC di destinazione.
Gli host di destinazione inviano questo messaggio quando un pacchetto IPv6 contenente
Destination Port Unreachable un messaggio a una porta UDP di destinazione non corrisponde all'applicazione in
ascolto.
No Route Found
Tabella 2-6 Comuni messaggi di destinazione non raggiungibile ICMPv6
Il protocollo ICMPv6, pur non rendendo il protocollo IPv6 affidabile, riporta gli errori e fornisce un feedback in
presenza di specifiche condizioni. I messaggi ICMPv6 sono trasportati come pacchetti IPv6 non riconosciuti e sono essi
stessi inaffidabili.
ND (Neighbor Discovery)
Il protocollo ND è un insieme di messaggi e processi ICMPv6 che determinano le relazioni tra nodi adiacenti. Il
protocollo ND sostituisce gli strumenti ARP, ICMP Router Discovery e ICMP Redirect utilizzati in IPv4 e fornisce altre
funzionalità.
Gli host utilizzano il protocollo ND per le operazioni di seguito riportate.


Individuare router adiacenti.
Individuare e configurare automaticamente indirizzi e altri parametri di configurazione.
I router utilizzano il protocollo ND per le operazioni di seguito riportate.


Notificare la propria presenza, gli indirizzi host e altri parametri di configurazione.
Informare gli host di un indirizzo di hop successivo migliore per l'inoltro di pacchetti a una determinata
destinazione.
I nodi, sia host che router, utilizzano il protocollo ND per le operazioni di seguito riportate.



Risolvere l'indirizzo del livello di collegamento, denominato anche indirizzo MAC, di un nodo adiacente al
quale è inoltrato un pacchetto IPv6.
Annunciare dinamicamente le modifiche di indirizzi MAC.
Determinare se un nodo adiacente è ancora raggiungibile.
Nella tabella 2-7 sono elencati e descritti i processi ND definiti nel documento RFC 2461.
Processo ND
Rilevamento router
Individuazione prefisso
Autoconfigurazione
indirizzi
Risoluzione indirizzi
Determinazione hop
successivo
Rilevamento
irraggiungibilità di un
vicino
Rilevamento indirizzi
duplicati
Funzione di
reindirizzamento
Descrizione
Processo tramite cui un host individua i router adiacenti. Per ulteriori informazioni, vedere la
sezione "Rilevamento router" più avanti in questo capitolo.
Processo tramite cui gli host individuano i prefissi di rete relativi a subnet di destinazione
locali. Per ulteriori informazioni sui prefissi di rete IPv6, vedere il capitolo 3 "Indirizzi IP".
Processo di configurazione di indirizzi IPv6 per interfacce, indipendentemente dalla presenza
di un server di configurazione indirizzi che esegue, ad esempio, DHCPv6 (Dynamic Host
Configuration Protocol versione 6). Per ulteriori informazioni, vedere la sezione
"Autoconfigurazione di indirizzi" più avanti in questo capitolo.
Processo tramite cui i nodi risolvono un indirizzo IPv6 di un nodo adiacente nel
corrispondente indirizzo MAC. La risoluzione di indirizzi in IPv6 è equivalente al protocollo
ARP in IPv4. Per ulteriori informazioni, vedere la sezione "Risoluzione di indirizzi" in questo
capitolo.
Processo tramite cui un nodo determina l'indirizzo IPv6 dell'hop successivo a cui inoltrare un
pacchetto in base all'indirizzo di destinazione. L'indirizzo dell'hop successivo può
corrispondere all'indirizzo di destinazione o all'indirizzo di un router adiacente.
Processo tramite cui un nodo determina che il livello IPv6 di un vicino non è in grado di
inviare o ricevere pacchetti.
Processo tramite cui un nodo determina se un indirizzo non è già utilizzato da un nodo
adiacente.
Processo tramite cui un host viene informato della presenza di un migliore indirizzo IPv6 del
primo hop per il raggiungimento di una destinazione.
Tabella 2-7 Processi ND per IPv6
Risoluzione di indirizzi
La risoluzione indirizzi in IPv6 è costituita dallo scambio di messaggi Neighbor Solicitation (richiesta del nodo
adiacente) e Neighbor Advertisement (annuncio del nodo adiacente) per risolvere l'indirizzo IPv6 dell'hop successivo
nel corrispondente indirizzo MAC. L'host mittente invia sull'interfaccia appropriata una richiesta del nodo adiacente
multicast, in cui è incluso l'indirizzo MAC del nodo di invio.
Alla ricezione del messaggio, il nodo di destinazione aggiorna la propria cache adiacente (equivalente alla cache ARP)
con una voce relativa all'indirizzo di origine e all'indirizzo MAC inclusi nel messaggio Neighbor Solicitation. Quindi
invia un annuncio del nodo adiacente unicast contenente il proprio indirizzo MAC al mittente del messaggio Neighbor
Solicitation.
Alla ricezione dell'annuncio del nodo adiacente dalla destinazione, l'host di invio aggiorna la propria cache adiacente
con una voce per il nodo di destinazione basata sull'indirizzo MAC incluso nel messaggio. A questo punto, l'host di
invio e la destinazione della richiesta del nodo adiacente sono in grado di inviare traffico IPv6 unicast.
Rilevamento router
Il rilevamento router è il processo attraverso cui gli host tentano di individuare l'insieme di router presenti nella subnet
locale. Oltre a configurare un router predefinito, il rilevamento router in IPv6 configura anche quanto segue:



L'impostazione predefinita per il campo Hop Limit nell'intestazione IPv6.
Determinazione se il nodo debba utilizzare un protocollo di configurazione indirizzi, quale DHCPv6 (Dynamic
Host Configuration Protocol for IPv6), per indirizzi e altri parametri di configurazione.
L'elenco dei prefissi di rete definiti per il collegamento. Ciascun prefisso di rete comprende il prefisso IPv6
con i relativi cicli di vita validi e preferiti. Se indicato, l'host crea una configurazione dell'indirizzo IPv6
tramite il prefisso di rete senza utilizzare un protocollo di configurazione indirizzi. Un prefisso di rete inoltre
definisce l'intervallo di indirizzi relativo ai nodi del collegamento locale.
Di seguito sono riportati i processi di rilevamento router in IPv6.



I router IPv6 inviano periodicamente messaggi Router Advertisement (annuncio router) multicast sulla subnet
con i quali, oltre alla loro esistenza, notificano altri parametri di configurazione come prefissi di indirizzi e il
limite hop predefinito.
Gli host IPv6 della subnet locale si servono del contenuto degli annunci router ricevuti per configurare
indirizzi, un router predefinito e altri parametri di configurazione.
Un host in corso di avvio invia un messaggio Router Solicitation (richiesta router) multicast. Alla ricezione di
una richiesta router, tutti i router presenti nella subnet locale inviano un annuncio router unicast all'host che ha
inviato la richiesta. L'host si serve del contenuto degli annunci router ricevuti per configurare indirizzi, un
router predefinito e altri parametri di configurazione.
Autoconfigurazione di indirizzi
Un aspetto estremamente utile di IPv6 è la capacità di autoconfigurarsi senza utilizzare un protocollo di configurazione
indirizzi, come DHCPv6 (Dynamic Host Configuration Protocol for IPv6). Un host IPv6 può per impostazione
predefinita configurare un indirizzo da utilizzare sulla subnet per ciascuna interfaccia. Attraverso il rilevamento router,
inoltre, un host è in grado di determinare gli indirizzi dei router, ulteriori indirizzi e altri parametri di configurazione. I
messaggi Router Advertisement indicano se è necessario utilizzare un protocollo di configurazione indirizzi.
L'autoconfigurazione di indirizzi in IPv6 è definita nel documento RFC 2462.
MLD (Multicast Listener Discovery)
Il protocollo MLD per IPv6 è l'equivalente del protocollo IGMP versione 2 per IPv4. Il protocollo consiste di un
insieme di messaggi ICMPv6 scambiati da router e nodi, grazie ai quali i router rilevano la serie di indirizzi multicast
IPv6 per cui esistono nodi in ascolto in relazione a ciascuna interfaccia collegata. Analogamente a IGMPv2, MLD
rileva solo gli indirizzi multicast comprendenti almeno un listener, e non l'elenco dei singoli listener per ciascun
indirizzo multicast. IL protocollo MLD è definito nel documento RFC 2710.
Diversamente da IGMPv2, MLD utilizza messaggi ICMPv6 invece di definire una propria struttura di messaggi.
Esistono tre tipi di messaggi MLD:



Multicast Listener Query: utilizzati da router per interrogare una subnet sui listener multicast.
Multicast Listener Report: utilizzati da listener multicast per esprimere disponibilità a ricevere il traffico per
un determinato indirizzo multicast oppure per rispondere a un messaggio Multicast Listener Query.
Multicast Listener Done: utilizzati da listener multicast per avvisare che potrebbero essere l'ultimo membro
di un gruppo multicast sulla subnet.
TCP (Transmission Control Protocol)
Il protocollo TCP è un servizio di recapito affidabile e orientato alla connessione, nel senso che prima che gli host
possano scambiare dati è necessario stabilire una connessione. L'affidabilità è ottenuta assegnando un numero di
sequenza a ciascun segmento trasmesso. I peer TCP, vale a dire i due nodi che comunicano mediante il protocollo TCP,
riconoscono la ricezione dei dati. Un segmento TCP è un'unità dati protocollo (PDU, Protocol Data Unit) costituita
dall'intestazione e dal payload TCP, denominati anche segmento. Per ogni segmento contenente dati inviato, è
necessario che l'host di ricezione restituisca un riconoscimento (ACK). Se un ACK non è riconosciuto entro un tempo
calcolato, il segmento TCP viene ritrasmesso. Il protocollo TCP è definito nel documento RFC 793.
Nella tabella 2-8 sono elencati e illustrati i campi chiave dell'intestazione TCP.
Campo
Source Port
Destination Port
Sequence Number
Acknowledgment
Number
Window
Checksum
Descrizione
Porta TCP dell'applicazione mittente.
Porta TCP dell'applicazione destinataria.
Numero di sequenza del primo byte di dati presente nel segmento TCP.
Numero di sequenza del byte successivo che il mittente si aspetta di ricevere dal proprio peer
TCP.
Dimensione corrente di un buffer di memoria sull'host mittente del segmento TCP per
archiviare i segmenti in entrata.
Semplice calcolo matematico utilizzato per controllare errori a livello di bit nel segmento TCP.
Tabella 2-8 Campi chiave in un'intestazione TCP
Porte TCP
Per utilizzare il protocollo TCP, un'applicazione deve fornire l'indirizzo IP e il numero di porta TCP delle applicazioni
di origine e di destinazione. Una porta fornisce un percorso per l'invio di segmenti, ed è identificata da un numero
univoco. Le porte TCP sono distinte dalle porte UDP sebbene alcune possano utilizzare lo stesso numero. I numeri di
porta inferiori a 1024 sono porte note di assegnazione IANA (Internet Assigned Numbers Authority). Nella tabella 2-9
sono elencate alcune porte note TCP.
Numero porta TCP
20
21
23
80
139
Descrizione
FTP (canale dati)
FTP (canale di controllo)
Telnet
HTTP utilizzato per il Web
Servizio per le sessioni NetBIOS
Tabella 2-9 Porte TCP note
Per un elenco completo di porte TCP assegnate, vedere http://www.iana.org/assignments/port-numbers (informazioni in
lingua inglese).
Handshake a tre stadi TCP
Una connessione TCP viene inizializzata tramite un handshake a tre stadi, il cui scopo è sincronizzare il numero di
sequenza e i numeri di riconoscimento di entrambe le parti di una connessione e di scambiare le rispettive dimensioni
della finestra TCP. Di seguito sono illustrati i passaggi con i quali un computer client contatta un computer server.
1.
2.
3.
Il client invia un segmento TCP al server contenente un numero di sequenza iniziale per la connessione e una
dimensione finestra del buffer per archiviare i segmenti in entrata dal server.
Il server restituisce un segmento TCP contenente il numero di sequenza iniziale scelto, un riconoscimento del
numero di sequenza del client e una dimensione finestra, che indica la dimensione del buffer sul server per
archiviare i segmenti in ingresso dal client.
Il client invia un segmento TCP al server contenente un riconoscimento del numero di sequenza dello stesso.
Il protocollo TCP si serve di un processo handshake analogo per terminare una connessione. Ciò garantisce che
entrambi gli host abbiano completato la trasmissione e che tutti i dati siano stati ricevuti.
UDP (User Datagram Protocol)
Il protocollo UDP fornisce un servizio per datagrammi non orientato alla connessione che assicura un recapito
inaffidabile, di tipo massimo sforzo (best-effort), dei dati trasmessi in messaggi. Ciò significa che non sono garantiti né
l'arrivo dei datagrammi né la corretta sequenza dei pacchetti recapitati. Il protocollo UDP non ritrasmette i dati persi. I
messaggi UDP, costituiti da un'intestazione e un payload, sono noti anche semplicemente come messaggi. IL protocollo
UDP è definito nel documento RFC 768.
Le applicazioni utilizzano il protocollo UDP quando non necessitano di un riconoscimento di ricezione dei dati e di
norma trasmettono piccoli volumi di dati in una sola volta. Esempi di servizi e applicazioni che utilizzano l'UDP sono il
servizio per la risoluzione dei nomi NetBIOS, il servizio per i datagrammi NetBIOS e SNMP.
Nella tabella 2-10 sono elencati e illustrati i campi chiave dell'intestazione UDP.
Campo
Descrizione
Source Port
Porta UDP dell'applicazione mittente.
Destination Port Porta UDP dell'applicazione destinataria.
Checksum
Semplice calcolo matematico utilizzato per controllare errori a livello di bit nel messaggio UDP.
Tabella 2-10 Campi chiave in un'intestazione UDP
Porte UDP
Per utilizzare il protocollo UDP, un'applicazione deve fornire l'indirizzo IP e il numero di porta UDP delle applicazioni
di origine e di destinazione. Una porta fornisce un percorso per inviare messaggi, ed è identificata da un numero
univoco. Le porte UDP sono distinte dalle porte TCP sebbene alcune possano utilizzare lo stesso numero.
Analogamente alle porte TCP, i numeri delle porte UDP inferiori a 1024 sono porte note assegnate da IANA. Nella
tabella 2-11 sono elencate alcune porte note UDP.
Numero porta UDP
53
69
137
138
161
Descrizione
Query per nomi DNS (Domain Name System)
TFTP (Trivial File Transfer Protocol)
Servizio per la risoluzione dei nomi NetBIOS
Servizio per i datagrammi NetBIOS
SNMP
Tabella 2-11 Porte UDP note
Per un elenco completo di porte UDP assegnate, vedere http://www.iana.org/assignments/port-numbers (informazioni in
lingua inglese).
Multiplexing e demultiplexing di pacchetti
Al momento dell'invio, un host mittente include in un pacchetto IPv4 o IPv6 informazioni per recapitare i dati in esso
contenuti all'applicazione di destinazione corretta. Si definisce multiplexing l'inclusione di identificatori che consentono
di recapitare i dati a una delle entità presenti in ciascun livello di un'architettura a più livelli. Le informazioni
multiplexing relative a pacchetti IP identificano il nodo della rete, il protocollo di livello superiore IP e, per i protocolli
TCP e UDP, la porta corrispondente all'applicazione a cui sono indirizzati i dati. L'host di destinazione utilizza tali
identificatori per eseguire il demultiplexing, o recapito dei dati per singolo livello, all'applicazione di destinazione
corretta. Il pacchetto IP inoltre comprende informazioni per consentire all'host di destinazione di inviare una risposta.
Le informazioni multiplexing del protocollo IP consentono di eseguire le seguenti operazioni.





Identificare il nodo di invio (il campo Source IP Address nell'intestazione IPv4 o Source Address
nell'intestazione IPv6).
Identificare il nodo di destinazione (il campo Destination IP Address nell'intestazione IPv4 o Destination
Address nell'intestazione IPv6).
Identificare il protocollo di livello superiore al livello Internet IPv4 o IPv6 (il campo Protocol nell'intestazione
iPv4 o Next Header nell'intestazione iPv6).
In caso di segmenti TCP e messaggi UDP, identificare l'applicazione mittente dei messaggi (il campo Source
Port nell'intestazione TCP o UDP).
In caso di segmenti TCP e messaggi UDP, identificare l'applicazione destinataria dei messaggi (il campo
Destination Port nell'intestazione TCP o UDP).
Le porte TCP e UDP possono utilizzare tutti i numeri compresi tra 0 e 65.535. I numeri di porta relativi ad applicazioni
client sono di norma assegnati dinamicamente al momento della richiesta del servizio; IANA preassegna numeri di
porta per applicazioni note sul lato server. Per un elenco completo dei numeri di porta preassegnati, vedere
http://www.iana.org/assignments/port-numbers (informazioni in lingua inglese).
Tutti questi dati consentono di fornire informazioni multiplexing per le operazioni di seguito riportate.



Il pacchetto può essere inoltrato alla destinazione corretta.
La destinazione può utilizzare il payload del pacchetto per recapitare i dati all'applicazione corretta.
L'applicazione di ricezione può inviare una risposta.
Durante l'invio di un pacchetto, le informazioni sono utilizzate nei modi di seguito riportati.



I router che inoltrano pacchetti IPv4 o IPv6 utilizzano il campo Destination IP Address, in caso di intestazione
IPv4, o Destination Address, in caso di intestazione IPv6, per recapitare il pacchetto al nodo di rete corretto.
Il nodo di destinazione utilizza il campo Protocol, in caso di intestazione IPv4, o Next Header, in caso di
intestazione IPv6, per recapitare il payload del pacchetto al protocollo corretto di livello superiore.
In caso di segmenti TCP o messaggi UDP, il nodo di destinazione utilizza il campo Destination Port
dell'intestazione per eseguire il demultiplexing dei dati interni al segmento TCP o al messaggio UDP
all'applicazione corretta.
Nella figura 2-5 è mostrato un esempio di messaggio DNS Name Query Request (richiesta query nome DNS) di un
pacchetto IPv4 con demultiplexing di un indirizzo di destinazione IP, 131.107.89.223, al servizio DNS.
Figura 2-5 Esempio di demultiplexing di un pacchetto IPv4
API (Application Programming Interface)
Le applicazioni di rete Windows accedono ai servizi TCP/IP in Windows mediante due API (Application Programming
Interface) principali: Windows Sockets e NetBIOS. Nella figura 2-6 sono mostrate queste API e i possibili flussi di dati
da esse generato.
Figura 2-6 Architettura delle API Windows Sockets e NetBIOS
Di seguito sono illustrate alcune differenze a livello di architettura delle API Windows Sockets e NetBIOS.


L'interfaccia NetBIOS over TCP/IP (NetBT) è definita per operazioni su IPv4. Windows Sockets opera sia su
IPv4 che su IPv6.
Le applicazioni Windows Sockets sono in grado di operare direttamente sui livelli Internet IPv4 o IPv6 senza
l'utilizzo di TCP o UDP. NetBIOS opera soltanto su TCP e UDP.
Windows Sockets
Windows Sockets è un'API moderna, di norma utilizzata per applicazioni di rete in Windows. I servizi e gli strumenti
TCP/IP forniti con Windows sono esempi di applicazioni Windows Sockets. I servizi forniti da Windows Sockets
consentono alle applicazioni di utilizzare un indirizzo e una porta IP specifici, di inizializzare e accettare una
connessione a un indirizzo e una porta IP di destinazione specifici, di inviare e ricevere dati, di chiudere una
connessione.
Esistono tre tipi di socket:



Un socket di flusso che fornisce tramite TCP un flusso di dati bidirezionale, affidabile, in sequenza e non
duplicato.
Un socket di datagramma che fornisce un flusso di dati bidirezionale tramite UDP.
Un socket di tipo raw che consente ai protocolli di accedere direttamente al protocollo IP senza utilizzare TCP
o UDP.
Un socket funge da endpoint della comunicazione di rete. Un'applicazione crea un socket di flusso o datagramma
attraverso la specificazione di tre elementi: indirizzo IP dell'host; tipo di servizio (TCP per servizio basato sulla
connessione e UDP per servizio non orientato alla connessione); porta in corso di utilizzo da parte dell'applicazione.
Due socket, uno per ciascuna estremità della connessione, formano un percorso di comunicazioni bidirezionale. Per i
socket di tipo raw, l'applicazione deve specificare il payload IP completo.
NetBIOS
NetBIOS è un'API precedente a Windows Sockets che fornisce servizi per gestione nomi, datagrammi e sessioni in
applicazioni NetBIOS. Un programma applicativo che utilizza come API per la comunicazione di rete NetBIOS può
essere eseguito su tutte le implementazioni di protocollo che supportano l'interfaccia NetBIOS. Esempi di servizi e
applicazioni Windows che utilizzano NetBIOS sono la condivisione di file e stampanti e il servizio Browser di
computer.
NetBIOS definisce inoltre un protocollo che funziona al livello Sessione del modello OSI. Questo livello è
implementato dal protocollo sottostante, ad esempio NetBT (NetBIOS over TCP/IP), definito nei documenti RFC 1001
e 1002. Il servizio nomi NetBIOS utilizza la porta UDP 137. Il servizio datagrammi NetBIOS utilizza la porta 138. Il
servizio sessioni NetBIOS utilizza la porta TCP 139.
Schemi di denominazione TCP/IP in Windows
Sebbene il protocollo IP sia stato progettato per operare con indirizzi di host di invio e di destinazione a 32 bit (IPv4) e
128 bit (IPv6), gli utenti riescono a utilizzare e ricordare più facilmente i nomi che non gli indirizzi IP. Perché un nome
possa essere utilizzato come alias di un indirizzo IP, sono necessari meccanismi che consentano di assegnare nomi agli
indirizzi, garantire l'univocità degli stessi e risolverli nei corrispondenti indirizzi IP.
I componenti TCP/IP di Windows assegnano e risolvono i nomi host delle applicazioni Windows Sockets e i nomi
NetBIOS delle applicazioni NetBIOS utilizzando meccanismi distinti.
Nomi host
Un nome host è un alias assegnato a un nodo IP per identificarlo come host TCP/IP. Il nome host può avere una
dimensione massima di 255 caratteri e contenere caratteri alfabetici o numerici, nonché "-" e ".". È possibile assegnare
allo stesso host più nomi.
Le applicazioni Windows Sockets, come Internet Explorer e lo strumento Ping, possono fare riferimento alla
destinazione utilizzando l'indirizzo IP o un nome host. Quando viene specificato un indirizzo IP non è necessario
risolvere il nome. Se si specifica un nome host, prima che possa essere avviata una comunicazione IP con la risorsa di
destinazione, il nome host deve essere risolto in un indirizzo IP.
I nomi host possono assumere diversi formati: i più comuni dei quali sono uno pseudonimo e un nome di dominio
completo (FQDN). Uno pseudonimo è un alias a un indirizzo IP assegnato e utilizzato da un individuo. Un FQDN è un
nome strutturato, ad esempio www.microsoft.com, che segue le convenzioni Internet utilizzate in DNS.
Nomi NetBIOS
Un nome NetBIOS è un nome a 16 byte che identifica un'applicazione NetBIOS nella rete. Il nome può essere univoco
(esclusivo) o di gruppo (non esclusivo). Quando un'applicazione NetBIOS comunica con un'altra specifica applicazione
su un computer specifico, viene utilizzato un nome univoco. Quando un processo NetBIOS comunica con più
applicazioni NetBIOS su più computer, viene utilizzato un nome di gruppo.
Il nome NetBIOS identifica applicazioni al livello Sessione del modello OSI. Ad esempio, il servizio sessioni NetBIOS
opera sulla porta TCP 139. Poiché tutte le richieste di sessione sono indirizzate alla porta di destinazione TCP 139,
un'applicazione NetBIOS deve utilizzare il nome NetBIOS di destinazione al momento dello stabilimento di una
sessione.
Il servizio server di condivisione di file e stampanti su un computer Windows è un esempio di processo che utilizza un
nome NetBIOS. All'avvio del computer, il servizio server registra un nome NetBIOS univoco basato sul nome del
computer. Il nome esatto utilizzato dal servizio server è il nome del computer di 15 caratteri più un sedicesimo carattere
di 0x20. Per nomi di computer inferiori a 15 caratteri vengono inseriti degli spazi fino al raggiungimento di 15 caratteri.
Anche altri servizi di rete creano il proprio nome NetBIOS utilizzando il nome del computer e il sedicesimo carattere
serve di norma ad identificare ciascun servizio.
Quando si cerca di effettuare una connessione di condivisione file per un computer sul quale è in esecuzione Windows
Server 2003 o Windows XP tramite nome, il servizio Server nel file server specificato corrisponde a uno specifico nome
NetBIOS. Ad esempio, quando si tenta di connettersi a un computer denominato CORPSERVER, il nome NetBIOS
corrispondente al servizio Server sarà CORPSERVER <20>. Si noti l'utilizzo degli spazi per completare il nome del
computer. Prima che sia possibile stabilire una connessione di condivisione file e stampanti, è necessario creare una
connessione TCP. Per poter creare una connessione TCP, sarà necessario risolvere il nome NetBIOS CORPSERVER
<20> in un indirizzo IPv4. La risoluzione dei nomi NetBIOS è il processo di mapping di un nome NetBIOS a un
indirizzo IPv4.
Riepilogo del capitolo
Di seguito sono riportate le informazioni chiave del presente capitolo.







La suite di protocolli TCP/IP corrisponde ai quattro livelli del modello DARPA: Applicazione, Trasporto,
Internet e Interfaccia di rete.
I protocolli del livello Internet IPv4 sono ARP, IP (IPv4), ICMP e IGMP.
I protocolli del livello Internet IPv6 sono IPv6, ICMPv6, ND e MLD.
I protocolli del livello Trasporto comprendono TCP e UDP. Il protocollo TCP è un servizio di recapito
affidabile e orientato alla connessione. Il protocollo UDP fornisce un servizio per datagrammi non orientato
alla connessione che assicura un recapito inaffidabile, di tipo massimo sforzo (best-effort), dei dati trasmessi in
messaggi.
Il multiplexing e il demultiplexing di pacchetti IP effettuato tra le applicazioni si basa sui campi presenti nelle
intestazioni IPv4, IPv6, TCP e UDP.
I componenti TCP/IP supportano per le applicazioni di rete in Windows due API principali: Windows Sockets
e NetBIOS. Windows Sockets è un'API recente che consente alle applicazioni di gestire socket di flusso,
datagramma e di tipo raw. NetBIOS è un'API precedente che consente alle applicazioni di gestire nomi
NetBIOS, datagrammi e sessioni.
I componenti TCP/IP supportano per le applicazioni di rete in Windows due schemi di denominazione: nomi
host (utilizzati da applicazioni Windows Sockets) e nomi NetBIOS (utilizzati da applicazioni NetBIOS).
Glossario del capitolo
autoconfigurazione indirizzi - Processo ND di configurazione automatica di indirizzi IPv6 su un'interfaccia.
risoluzione indirizzi - Processo IPv4 (tramite ARP) o IPv6 (tramite ND) che risolve l'indirizzo MAC relativo a un
indirizzo IP di hop successivo.
Address Resolution Protocol (ARP) - Protocollo che risolve un indirizzo IPv4 nel corrispondente indirizzo MAC
mediante traffico broadcast sulla rete locale.
ARP - Vedere Address Resolution Protocol.
cache ARP - Tabella relativa a ciascuna interfaccia di indirizzi IPv4 risolti in modo statico o dinamico con i
corrispondenti indirizzi MAC.
ICMP - Vedere Internet Control Message Protocol.
ICMPv6 - Vedere Internet Control Message Protocol for IPv6.
IGMP - Vedere Internet Group Management Protocol.
Internet Control Message Protocol (ICMP) - Protocollo del livello Internet IPv4 che riporta errori e fornisce strumenti
per la risoluzione di problemi.
Internet Control Message Protocol for IPv6 (ICMPv6) - Protocollo del livello Internet IPv6 che riporta errori, fornisce
strumenti per la risoluzione di problemi e ospita messaggi ND e MLD.
Internet Group Management Protocol (IGMP) - Protocollo del livello Internet IPv4 che gestisce l'appartenenza a gruppi
multicast in una subnet.
Internet Protocol (IP) - Per IPv4, protocollo instradabile del livello Internet IPv4 che indirizza, instrada, suddivide in
frammenti e riassembla pacchetti. Utilizzato anche per indicare entrambi gli insiemi di protocolli IPv4 e IPv6.
IP - Vedere Internet Protocol.
IPv4 - Livello Internet ampiamente utilizzato in Internet e nelle reti Intranet private. Sinonimo di IP.
IPv6 - Nuovo livello Internet che in futuro sostituirà il livello Internet IPv4.
MLD - Vedere Multicast Listener Discovery.
Multicast Listener Discovery (MLD) - Insieme di tre messaggi ICMPv6 utilizzati da router e host per gestire
l'appartenenza a gruppi multicast in una subnet.
risoluzione nomi - Processo di risoluzione di un nome in un indirizzo.
ND - Vedere Neighbor Discovery.
cache adiacente - Cache mantenuta da ogni nodo IPv6 in cui vengono archiviati l'indirizzo IPv6 di un vicino e il
corrispondente indirizzo MAC. La cache adiacente equivale alla cache ARP in IPv4.
Neighbor Discovery (ND) - Insieme di messaggi e processi ICMPv6 che determinano le relazioni tra nodi adiacenti.
Neighbor Discovery sostituisce i messaggi ARP, ICMP Router Discovery e ICMP Redirect utilizzati in IPv4.
Network Basic Input/Output System (NetBIOS) - API standard attraverso cui le applicazioni utente sono in grado di
gestire nomi NetBIOS e accedere a servizi per sessioni e datagrammi NetBIOS.
NetBIOS - Vedere Network Basic Input/Output System.
rilevamento router - Processo Neighbor Discovery durante il quale un host individua i router locali della subnet
collegata.
TCP - Vedere Transmission Control Protocol.
Transmission Control Protocol (TCP) - Protocollo di livello Trasporto affidabile e orientato alla connessione che viene
eseguito al livello più alto del protocollo IP.
UDP - Vedere User Datagram Protocol.
User Datagram Protocol (UDP) - Protocollo di livello Trasporto inaffidabile e non orientato alla connessione, che viene
eseguito al livello più alto del protocollo IP.
Windows Sockets - API utilizzata di norma da applicazioni Windows per trasferire dati tramite il protocollo TCP/IP.