%% copy, distribute and/or modify this document under the terms of the GNU Free
%% Documentation License, Version 1.1 or any later version published by the
%% Free Software Foundation; with the Invariant Sections being "Un preambolo",
%% copy, distribute and/or modify this document under the terms of the GNU Free
%% Documentation License, Version 1.1 or any later version published by the
%% Free Software Foundation; with the Invariant Sections being "Un preambolo",
Le classi di indirizzi usate per il dispiegamento delle reti su quella che
comunemente viene chiamata \textit{Internet} sono le prime tre; la classe D è
Le classi di indirizzi usate per il dispiegamento delle reti su quella che
comunemente viene chiamata \textit{Internet} sono le prime tre; la classe D è
-destinata al \itindex{multicast} \textit{multicast} mentre la classe E è
-riservata per usi sperimentali e non viene impiegata.
+destinata al \textit{multicast} mentre la classe E è riservata per usi
+sperimentali e non viene impiegata.
Come si può notare però la suddivisione riportata in
tab.~\ref{tab:IP_ipv4class} è largamente inefficiente in quanto se ad un
utente necessita anche solo un indirizzo in più dei 256 disponibili con una
classe A occorre passare a una classe B, che ne prevede 65536,\footnote{in
Come si può notare però la suddivisione riportata in
tab.~\ref{tab:IP_ipv4class} è largamente inefficiente in quanto se ad un
utente necessita anche solo un indirizzo in più dei 256 disponibili con una
classe A occorre passare a una classe B, che ne prevede 65536,\footnote{in
$N$ bit dell'indirizzo IP, ha disponibili per le singole macchine soltanto
$@^N-2$ numeri, dato che uno deve essere utilizzato come indirizzo di rete e
$N$ bit dell'indirizzo IP, ha disponibili per le singole macchine soltanto
$@^N-2$ numeri, dato che uno deve essere utilizzato come indirizzo di rete e
Inoltre, in particolare per le reti di classe C, la presenza di tanti
indirizzi di rete diversi comporta una crescita enorme delle tabelle di
Inoltre, in particolare per le reti di classe C, la presenza di tanti
indirizzi di rete diversi comporta una crescita enorme delle tabelle di
dati che deve trasmettere, la cui schematizzazione è riportata in
fig.~\ref{fig:IP_ipv4_head}.
dati che deve trasmettere, la cui schematizzazione è riportata in
fig.~\ref{fig:IP_ipv4_head}.
\textsl{destinazione} che indica l'indirizzo a cui deve essere inviato il
pacchetto (cioè l'indirizzo assegnato alla macchina che lo riceverà).
\textsl{destinazione} che indica l'indirizzo a cui deve essere inviato il
pacchetto (cioè l'indirizzo assegnato alla macchina che lo riceverà).
per rendere il più elevato
possibile il flusso netto di
dati (usato su traffico dati,
come quello di FTP).\\
per rendere il più elevato
possibile il flusso netto di
dati (usato su traffico dati,
come quello di FTP).\\
per ridurre al massimo le
perdite di pacchetti (usato su
traffico soggetto a rischio di
perdita di pacchetti come TFTP
o DHCP).\\
per ridurre al massimo le
perdite di pacchetti (usato su
traffico soggetto a rischio di
perdita di pacchetti come TFTP
o DHCP).\\
dove non interessa se si ha
una bassa velocità di
trasmissione, da utilizzare
dove non interessa se si ha
una bassa velocità di
trasmissione, da utilizzare
supportare una gerarchia con più livelli di indirizzamento, un numero di
nodi indirizzabili molto maggiore e una auto-configurazione degli indirizzi
\item l'introduzione un nuovo tipo di indirizzamento, l'\textit{anycast} che
supportare una gerarchia con più livelli di indirizzamento, un numero di
nodi indirizzabili molto maggiore e una auto-configurazione degli indirizzi
\item l'introduzione un nuovo tipo di indirizzamento, l'\textit{anycast} che
\item la semplificazione del formato dell'intestazione, eliminando o rendendo
opzionali alcuni dei campi di IPv4, per eliminare la necessità di
riprocessare la stessa da parte dei router e contenere l'aumento di
\item la semplificazione del formato dell'intestazione, eliminando o rendendo
opzionali alcuni dei campi di IPv4, per eliminare la necessità di
riprocessare la stessa da parte dei router e contenere l'aumento di
-\item il \itindex{broadcast} \textit{broadcasting} non è previsto in IPv6, le
- applicazioni che lo usano dovono essere reimplementate usando il
- \itindex{multicast} \textit{multicasting} (vedi
+\item il \textit{broadcasting} non è previsto in IPv6, le applicazioni che lo
+ usano dovono essere reimplementate usando il \textit{multicasting} (vedi
sez.~\ref{sec:IP_ipv6_multicast}), che da opzionale diventa obbligatorio.
\item è stato introdotto un nuovo tipo di indirizzi, gli \textit{anycast}.
\item i router non possono più frammentare i pacchetti lungo il cammino, la
frammentazione di pacchetti troppo grandi potrà essere gestita solo ai
capi della comunicazione (usando un'apposita estensione vedi
sez.~\ref{sec:IP_ipv6_extens}).
sez.~\ref{sec:IP_ipv6_multicast}), che da opzionale diventa obbligatorio.
\item è stato introdotto un nuovo tipo di indirizzi, gli \textit{anycast}.
\item i router non possono più frammentare i pacchetti lungo il cammino, la
frammentazione di pacchetti troppo grandi potrà essere gestita solo ai
capi della comunicazione (usando un'apposita estensione vedi
sez.~\ref{sec:IP_ipv6_extens}).
-\item IPv6 richiede il supporto per il \itindex{Maximum~Transfer~Unit}
- \textit{path MTU discovery} (cioè il protocollo per la selezione della
- massima lunghezza del pacchetto); seppure questo sia in teoria opzionale,
- senza di esso non sarà possibile inviare pacchetti più larghi della
- dimensione minima (576 byte).
+\item IPv6 richiede il supporto per il \textit{path MTU discovery} (cioè il
+ protocollo per la selezione della massima lunghezza del pacchetto); seppure
+ questo sia in teoria opzionale, senza di esso non sarà possibile inviare
+ pacchetti più larghi della dimensione minima (576 byte).
\label{sec:IP_ipv6_addr_arch}
Come per IPv4 gli indirizzi sono identificatori per una singola (indirizzi
\label{sec:IP_ipv6_addr_arch}
Come per IPv4 gli indirizzi sono identificatori per una singola (indirizzi
-\textit{unicast}) o per un insieme (indirizzi \itindex{multicast}
-\textit{multicast} e \textit{anycast}) di interfacce di rete.
+\textit{unicast}) o per un insieme (indirizzi \textit{multicast} e
+\textit{anycast}) di interfacce di rete.
Gli indirizzi sono sempre assegnati all'interfaccia, non al nodo che la
ospita; dato che ogni interfaccia appartiene ad un nodo quest'ultimo può
Gli indirizzi sono sempre assegnati all'interfaccia, non al nodo che la
ospita; dato che ogni interfaccia appartiene ad un nodo quest'ultimo può
interfacce. A una interfaccia possono essere associati anche più indirizzi.
IPv6 presenta tre tipi diversi di indirizzi: due di questi, gli indirizzi
interfacce. A una interfaccia possono essere associati anche più indirizzi.
IPv6 presenta tre tipi diversi di indirizzi: due di questi, gli indirizzi
-\textit{unicast} e \itindex{multicast} \textit{multicast} hanno le stesse
-caratteristiche che in IPv4, un terzo tipo, gli indirizzi \textit{anycast} è
-completamente nuovo. In IPv6 non esistono più gli indirizzi
-\itindex{broadcast} \textit{broadcast}, la funzione di questi ultimi deve
-essere reimplementata con gli indirizzi \itindex{multicast}
-\textit{multicast}.
+\textit{unicast} e \textit{multicast} hanno le stesse caratteristiche che in
+IPv4, un terzo tipo, gli indirizzi \textit{anycast} è completamente nuovo. In
+IPv6 non esistono più gli indirizzi \textit{broadcast}, la funzione di questi
+ultimi deve essere reimplementata con gli indirizzi \textit{multicast}.
Gli indirizzi \textit{unicast} identificano una singola interfaccia: i
pacchetti mandati ad un tale indirizzo verranno inviati a quella interfaccia,
gli indirizzi \textit{anycast} identificano un gruppo di interfacce tale che
un pacchetto mandato a uno di questi indirizzi viene inviato alla più vicina
(nel senso di distanza di routing) delle interfacce del gruppo, gli indirizzi
Gli indirizzi \textit{unicast} identificano una singola interfaccia: i
pacchetti mandati ad un tale indirizzo verranno inviati a quella interfaccia,
gli indirizzi \textit{anycast} identificano un gruppo di interfacce tale che
un pacchetto mandato a uno di questi indirizzi viene inviato alla più vicina
(nel senso di distanza di routing) delle interfacce del gruppo, gli indirizzi
-\itindex{multicast} \textit{multicast} identificano un gruppo di interfacce
-tale che un pacchetto mandato a uno di questi indirizzi viene inviato a tutte
-le interfacce del gruppo.
+\textit{multicast} identificano un gruppo di interfacce tale che un pacchetto
+mandato a uno di questi indirizzi viene inviato a tutte le interfacce del
+gruppo.
In IPv6 non ci sono più le classi ma i bit più significativi indicano il tipo
di indirizzo; in tab.~\ref{tab:IP_ipv6addr} sono riportati i valori di detti
In IPv6 non ci sono più le classi ma i bit più significativi indicano il tipo
di indirizzo; in tab.~\ref{tab:IP_ipv6addr} sono riportati i valori di detti
costituiscono quello che viene chiamato il \textit{format prefix} ed è sulla
base di questo che i vari tipi di indirizzi vengono identificati. Come si
vede questa architettura di allocazione supporta l'allocazione di indirizzi
costituiscono quello che viene chiamato il \textit{format prefix} ed è sulla
base di questo che i vari tipi di indirizzi vengono identificati. Come si
vede questa architettura di allocazione supporta l'allocazione di indirizzi
-per i provider, per uso locale e per il \itindex{multicast}
-\textit{multicast}; inoltre è stato riservato lo spazio per indirizzi NSAP,
-IPX e per le connessioni; gran parte dello spazio (più del 70\%) è riservato
-per usi futuri.
+per i provider, per uso locale e per il \textit{multicast}; inoltre è stato
+riservato lo spazio per indirizzi NSAP, IPX e per le connessioni; gran parte
+dello spazio (più del 70\%) è riservato per usi futuri.
Si noti infine che gli indirizzi \textit{anycast} non sono riportati in
tab.~\ref{tab:IP_ipv6addr} in quanto allocati al di fuori dello spazio di
Si noti infine che gli indirizzi \textit{anycast} non sono riportati in
tab.~\ref{tab:IP_ipv6addr} in quanto allocati al di fuori dello spazio di
valore nell'intervallo \texttt{FE80}--\texttt{FEBF} e vengono in genere usati
per la configurazione automatica dell'indirizzo al bootstrap e per la ricerca
dei vicini (vedi \ref{sec:IP_ipv6_autoconf}); un pacchetto che abbia tale
valore nell'intervallo \texttt{FE80}--\texttt{FEBF} e vengono in genere usati
per la configurazione automatica dell'indirizzo al bootstrap e per la ricerca
dei vicini (vedi \ref{sec:IP_ipv6_autoconf}); un pacchetto che abbia tale
-indirizzo come sorgente o destinazione non deve venire ritrasmesso dai router.
+indirizzo come sorgente o destinazione non deve venire ritrasmesso dai router,
+sono gli indirizzi che identificano la macchina sulla rete locale, per questo
+sono chiamati in questo modo, in quanto sono usati solo su di essa.
Un indirizzo \textit{site-local} invece è usato per l'indirizzamento
all'interno di un sito che non necessita di un prefisso globale; la struttura
Un indirizzo \textit{site-local} invece è usato per l'indirizzamento
all'interno di un sito che non necessita di un prefisso globale; la struttura
-a recuperare le funzionalità del \itindex{broadcast} \textit{broadcasting} (ad
-esempio inviando un pacchetto all'indirizzo \texttt{FF02:0:0:0:0:0:0:1} si
-raggiungono tutti i nodi locali).
+a recuperare le funzionalità del \textit{broadcasting} (ad esempio inviando un
+pacchetto all'indirizzo \texttt{FF02:0:0:0:0:0:0:1} si raggiungono tutti i
+nodi locali).
quella mostrata in fig.~\ref{fig:ESP_criptopack}, tutti i campi sono in chiaro
fino al vettore di inizializzazione, il resto è crittografato.
quella mostrata in fig.~\ref{fig:ESP_criptopack}, tutti i campi sono in chiaro
fino al vettore di inizializzazione, il resto è crittografato.
presente una scheda di rete che supporta lo standard IEEE802 (ethernet) questo
garantisce la presenza di un indirizzo fisico a 48 bit unico; pertanto il nodo
può assumere automaticamente senza pericoli di collisione l'indirizzo
presente una scheda di rete che supporta lo standard IEEE802 (ethernet) questo
garantisce la presenza di un indirizzo fisico a 48 bit unico; pertanto il nodo
può assumere automaticamente senza pericoli di collisione l'indirizzo
l'indirizzo hardware della scheda di rete.
Nel caso in cui non sia presente una scheda che supporta lo standard IEEE802
l'indirizzo hardware della scheda di rete.
Nel caso in cui non sia presente una scheda che supporta lo standard IEEE802
precedente, ma il valore di \texttt{xxxx:xxxx:xxxx} sarà generato
casualmente; in questo caso la probabilità di collisione è di 1 su 300
milioni. In ogni caso per prevenire questo rischio il nodo invierà un
precedente, ma il valore di \texttt{xxxx:xxxx:xxxx} sarà generato
casualmente; in questo caso la probabilità di collisione è di 1 su 300
milioni. In ogni caso per prevenire questo rischio il nodo invierà un
Una volta ottenuto un indirizzo locale valido diventa possibile per il nodo
comunicare con la rete locale; sono pertanto previste due modalità di
auto-configurazione, descritte nelle seguenti sezioni. In ogni caso
Una volta ottenuto un indirizzo locale valido diventa possibile per il nodo
comunicare con la rete locale; sono pertanto previste due modalità di
auto-configurazione, descritte nelle seguenti sezioni. In ogni caso
\subsection{Auto-configurazione stateless}
\label{sec:stateless}
Questa è la forma più semplice di auto-configurazione, possibile quando
\subsection{Auto-configurazione stateless}
\label{sec:stateless}
Questa è la forma più semplice di auto-configurazione, possibile quando
semplicemente il prefisso a quello assegnato dal provider per ottenere un
indirizzo globale.
La procedura di configurazione è la seguente: all'avvio tutti i nodi IPv6
semplicemente il prefisso a quello assegnato dal provider per ottenere un
indirizzo globale.
La procedura di configurazione è la seguente: all'avvio tutti i nodi IPv6
-iniziano si devono aggregare al gruppo di \itindex{multicast}
-\textit{multicast} \textit{all-nodes} programmando la propria interfaccia per
-ricevere i messaggi dall'indirizzo \textit{multicast} \texttt{FF02::1} (vedi
+iniziano si devono aggregare al gruppo di \textit{multicast}
+\textit{all-nodes} programmando la propria interfaccia per ricevere i messaggi
+dall'indirizzo \textit{multicast} \texttt{FF02::1} (vedi
sez.~\ref{sec:IP_ipv6_multicast}); a questo punto devono inviare un messaggio
ICMP \textit{Router solicitation} a tutti i router locali usando l'indirizzo
sez.~\ref{sec:IP_ipv6_multicast}); a questo punto devono inviare un messaggio
ICMP \textit{Router solicitation} a tutti i router locali usando l'indirizzo
Il router risponderà con un messaggio ICMP \textit{Router Advertisement} che
fornisce il prefisso e la validità nel tempo del medesimo, questo tipo di
messaggio può essere trasmesso anche a intervalli regolari. Il messaggio
contiene anche l'informazione che autorizza un nodo a autocostruire
Il router risponderà con un messaggio ICMP \textit{Router Advertisement} che
fornisce il prefisso e la validità nel tempo del medesimo, questo tipo di
messaggio può essere trasmesso anche a intervalli regolari. Il messaggio
contiene anche l'informazione che autorizza un nodo a autocostruire
che offra una versione IPv6 del DHCP; un apposito gruppo di \textit{multicast}
\texttt{FF02::1:0} è stato riservato per questi server; in questo caso il nodo
interrogherà il server su questo indirizzo di \textit{multicast} con
che offra una versione IPv6 del DHCP; un apposito gruppo di \textit{multicast}
\texttt{FF02::1:0} è stato riservato per questi server; in questo caso il nodo
interrogherà il server su questo indirizzo di \textit{multicast} con
inviare messaggi di controllo; in fig.~\ref{fig:ICMP_header} si è riportata la
struttura dell'intestazione di un pacchetto ICMP generico.
inviare messaggi di controllo; in fig.~\ref{fig:ICMP_header} si è riportata la
struttura dell'intestazione di un pacchetto ICMP generico.