Messi gli esempi nel testo e usata daemon dove serve nei server
[gapil.git] / ipprot.tex
index 11954fa90e9d3d28900d136e37e6e6b0f900facf..110fcb5c88893ddf81109fad07329b834f5f478d 100644 (file)
@@ -1,3 +1,13 @@
+%% ipprot.tex
+%%
+%% Copyright (C) 2000-2002 Simone Piccardi.  Permission is granted to
+%% 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 "Prefazione",
+%% with no Front-Cover Texts, and with no Back-Cover Texts.  A copy of the
+%% license is included in the section entitled "GNU Free Documentation
+%% License".
+%%
 \chapter{Il protocollo IP}
 \label{cha:ip_protocol}
 
 \chapter{Il protocollo IP}
 \label{cha:ip_protocol}
 
@@ -41,8 +51,8 @@ quest'ultime assegnare i numeri dei singoli host.
 
 Per venire incontro alle diverse esigenze gli indirizzi di rete sono stati
 originariamente organizzati in \textit{classi}, (rappresentate in
 
 Per venire incontro alle diverse esigenze gli indirizzi di rete sono stati
 originariamente organizzati in \textit{classi}, (rappresentate in
-Tab.~\ref{tab:IP_ipv4class}), per consentire dispiegamenti di reti di
-dimensioni diverse.
+\tabref{tab:IP_ipv4class}), per consentire dispiegamenti di reti di dimensioni
+diverse.
 
 
 \begin{table}[htb]
 
 
 \begin{table}[htb]
@@ -157,12 +167,12 @@ di questi ultimi ed inefficienza nel trasporto.
 \end{table}
 
 Per questo nel 1992 è stato introdotto un indirizzamento senza classi (il
 \end{table}
 
 Per questo nel 1992 è stato introdotto un indirizzamento senza classi (il
-CIDR) in cui il limite fra i bit destinati a indicare il numero di rete e
-quello destinati a indicare l'host finale può essere piazzato in qualunque
-punto (vedi Tab.~\tabref{tab:IP_ipv4cidr}), permettendo di accorpare più
-classi A su un'unica rete o suddividere una classe B e diminuendo al contempo
-il numero di indirizzi di rete da inserire nelle tabelle di instradamento dei
-router.
+CIDR, \textit{Classless Inter-Domain Routing}) in cui il limite fra i bit
+destinati a indicare il numero di rete e quello destinati a indicare l'host
+finale può essere piazzato in qualunque punto (vedi \tabref{tab:IP_ipv4cidr}),
+permettendo di accorpare più classi A su un'unica rete o suddividere una
+classe B e diminuendo al contempo il numero di indirizzi di rete da inserire
+nelle tabelle di instradamento dei router.
 
 
 \section{I motivi della transizione}
 
 
 \section{I motivi della transizione}
@@ -213,7 +223,7 @@ dimostrate valide, eliminando quelle inutili e aggiungendone poche altre
 ponendo al contempo una grande attenzione a mantenere il protocollo il più
 snello e veloce possibile.
 
 ponendo al contempo una grande attenzione a mantenere il protocollo il più
 snello e veloce possibile.
 
-I cambiamenti apportati sono comunque notevoli e si possono essere riassunti a
+I cambiamenti apportati sono comunque notevoli e possono essere riassunti a
 grandi linee nei seguenti punti:
 \begin{itemize}
 \item l'espansione delle capacità di indirizzamento e instradamento, per
 grandi linee nei seguenti punti:
 \begin{itemize}
 \item l'espansione delle capacità di indirizzamento e instradamento, per
@@ -221,7 +231,7 @@ grandi linee nei seguenti punti:
   nodi indirizzabili molto maggiore e una autoconfigurazione degli indirizzi
 \item l'introduzione un nuovo tipo di indirizzamento, l'\textit{anycast} che
   si aggiungono agli usuali \textit{unycast} e \textit{multicast}
   nodi indirizzabili molto maggiore e una autoconfigurazione degli indirizzi
 \item l'introduzione un nuovo tipo di indirizzamento, l'\textit{anycast} che
   si aggiungono agli usuali \textit{unycast} e \textit{multicast}
-\item la semplificazione del formato della testata, eliminando o rendendo
+\item la semplificazione del formato dell'intestazione, eliminando o rendendo
   opzionali alcuni dei campi di IPv4, per eliminare la necessità di
   riprocessamento della stessa da parte dei router e contenere l'aumento di
   dimensione dovuto ai nuovi indirizzi
   opzionali alcuni dei campi di IPv4, per eliminare la necessità di
   riprocessamento della stessa da parte dei router e contenere l'aumento di
   dimensione dovuto ai nuovi indirizzi
@@ -236,53 +246,61 @@ grandi linee nei seguenti punti:
 \end{itemize}
 
 
 \end{itemize}
 
 
-\section{La testata di IPv6}
+\section{L'intestazione di IPv6}
 \label{sec:IP_ipv6head}
 
 Per capire le caratteristiche di IPv6 partiamo dall'intestazione usata dal
 protocollo per gestire la trasmissione dei pacchetti; in
 \label{sec:IP_ipv6head}
 
 Per capire le caratteristiche di IPv6 partiamo dall'intestazione usata dal
 protocollo per gestire la trasmissione dei pacchetti; in
-\tabref{tab:IP_ipv6head} è riportato il formato della testata di IPv6 da
-confrontare con quella di IPv4 in \tabref{tab:IP_ipv4head}. La spiegazione del
-significato dei vari campi delle due testate è riportato rispettivamente in
-\tabref{tab:IP_ipv6field} e \tabref{tab:IP_ipv4field})
+\figref{fig:IP_ipv6head} è riportato il formato dell'intestazione di IPv6 da
+confrontare con quella di IPv4 in \figref{fig:IP_ipv4_head}. La spiegazione del
+significato dei vari campi delle due intestazioni è riportato rispettivamente
+in \tabref{tab:IP_ipv6field} e \tabref{tab:IP_ipv4field})
+
+% \begin{table}[htb]
+%   \footnotesize
+%   \begin{center}
+%     \begin{tabular}{@{\vrule}p{16mm}@{\vrule}p{16mm}@{\vrule}p{16mm}
+%         @{\vrule}p{16mm}@{\vrule}p{16mm}@{\vrule}p{16mm}
+%         @{\vrule}p{16mm}@{\vrule}p{16mm}@{\vrule} }
+%     \multicolumn{8}{@{}c@{}}{0\hfill 15 16\hfill 31}\\
+%     \hline
+%     \centering version&\centering priority& 
+%     \multicolumn{6}{@{}p{96mm}@{\vrule}}{\centering flow label} \\
+%     \hline
+%     \multicolumn{4}{@{\vrule}p{64mm}@{\vrule}}{\centering payload length} & 
+%     \multicolumn{2}{@{}p{32mm}@{\vrule}}{\centering next header} & 
+%     \multicolumn{2}{@{}p{32mm}@{\vrule}}{\centering hop limit}\\
+%     \hline
+%     \multicolumn{8}{@{\vrule}c@{\vrule}}{} \\
+%     \multicolumn{8}{@{\vrule}c@{\vrule}}{
+%       source} \\
+%     \multicolumn{8}{@{\vrule}c@{\vrule}}{
+%       IP address} \\
+%     \multicolumn{8}{@{\vrule}c@{\vrule}}{} \\
+%     \hline
+%     \multicolumn{8}{@{\vrule}c@{\vrule}}{} \\
+%     \multicolumn{8}{@{\vrule}c@{\vrule}}{
+%       destination} \\
+%     \multicolumn{8}{@{\vrule}c@{\vrule}}{
+%      IP address} \\
+%     \multicolumn{8}{@{\vrule}c@{\vrule}}{} \\
+%     \hline
+%     \end{tabular}
+%     \caption{L'intestazione o \textit{header} di IPv6}
+%     \label{tab:IP_ipv6head}
+%   \end{center}
+% \end{table}
+
+\begin{figure}[htb]
+  \centering
+  \includegraphics[width=10cm]{img/ipv6_head}
+  \caption{L'intestazione o \textit{header} di IPv6.}
+  \label{fig:IP_ipv6head}
+\end{figure}
 
 
-\begin{table}[htb]
-  \footnotesize
-  \begin{center}
-    \begin{tabular}{@{\vrule}p{16mm}@{\vrule}p{16mm}@{\vrule}p{16mm}
-        @{\vrule}p{16mm}@{\vrule}p{16mm}@{\vrule}p{16mm}
-        @{\vrule}p{16mm}@{\vrule}p{16mm}@{\vrule} }
-    \multicolumn{8}{@{}c@{}}{0\hfill 15 16\hfill 31}\\
-    \hline
-    \centering version&\centering priority& 
-    \multicolumn{6}{@{}p{96mm}@{\vrule}}{\centering flow label} \\
-    \hline
-    \multicolumn{4}{@{\vrule}p{64mm}@{\vrule}}{\centering payload lenght} & 
-    \multicolumn{2}{@{}p{32mm}@{\vrule}}{\centering next header} & 
-    \multicolumn{2}{@{}p{32mm}@{\vrule}}{\centering hop limit}\\
-    \hline
-    \multicolumn{8}{@{\vrule}c@{\vrule}}{} \\
-    \multicolumn{8}{@{\vrule}c@{\vrule}}{
-      source} \\
-    \multicolumn{8}{@{\vrule}c@{\vrule}}{
-      IP address} \\
-    \multicolumn{8}{@{\vrule}c@{\vrule}}{} \\
-    \hline
-    \multicolumn{8}{@{\vrule}c@{\vrule}}{} \\
-    \multicolumn{8}{@{\vrule}c@{\vrule}}{
-      destination} \\
-    \multicolumn{8}{@{\vrule}c@{\vrule}}{
-     IP address} \\
-    \multicolumn{8}{@{\vrule}c@{\vrule}}{} \\
-    \hline
-    \end{tabular}
-    \caption{La testata o \textit{header} di IPv6}
-    \label{tab:IP_ipv6head}
-  \end{center}
-\end{table}
 
 
-Come si può notare la testata di IPv6 diventa di dimensione fissa, pari a 40
-byte, contro una dimensione (minima, in assenza di opzioni) di 20 byte per
+Come si può notare l'intestazione di IPv6 diventa di dimensione fissa, pari a
+40 byte, contro una dimensione (minima, in assenza di opzioni) di 20 byte per
 IPv4; un semplice raddoppio nonostante lo spazio destinato agli indirizzi sia
 quadruplicato, questo grazie a una notevole semplificazione che ha ridotto il
 numero dei campi da 12 a 8.
 IPv4; un semplice raddoppio nonostante lo spazio destinato agli indirizzi sia
 quadruplicato, questo grazie a una notevole semplificazione che ha ridotto il
 numero dei campi da 12 a 8.
@@ -290,28 +308,30 @@ numero dei campi da 12 a 8.
 \begin{table}[htb]
   \begin{center}
   \footnotesize
 \begin{table}[htb]
   \begin{center}
   \footnotesize
-    \begin{tabular}{ l c p{8cm}}
+    \begin{tabular}{|l|c|p{8cm}|}
+      \hline
       \textbf{Nome} & \textbf{Lunghezza} & \textbf{Significato} \\
       \textbf{Nome} & \textbf{Lunghezza} & \textbf{Significato} \\
-      \toprule
+      \hline
+      \hline
       \textit{version}       &  4 bit & 
       \textsl{versione}, nel caso specifico vale sempre 6\\
       \textit{priority}      &  4 bit & 
       \textsl{priorità}, vedi Sez.~\ref{sec:prio} \\
       \textit{flow label}    & 24 bit & 
       \textsl{etichetta di flusso}, vedi Sez.~\ref{sec:IP_ipv6_flow}\\
       \textit{version}       &  4 bit & 
       \textsl{versione}, nel caso specifico vale sempre 6\\
       \textit{priority}      &  4 bit & 
       \textsl{priorità}, vedi Sez.~\ref{sec:prio} \\
       \textit{flow label}    & 24 bit & 
       \textsl{etichetta di flusso}, vedi Sez.~\ref{sec:IP_ipv6_flow}\\
-      \textit{payload leght} & 16 bit & 
+      \textit{payload length} & 16 bit & 
       \textsl{lunghezza del carico}, cioè del corpo dei dati che segue 
       l'intestazione, in byte. \\
       \textsl{lunghezza del carico}, cioè del corpo dei dati che segue 
       l'intestazione, in byte. \\
-      \textit{next header}   &  8 bit & \textsl{testata successiva}, 
-      identifica il tipo di pacchetto che segue la testata di IPv6, usa gli 
-      stessi valori del campo protocollo nella testata di IPv4\\
+      \textit{next header}   &  8 bit & \textsl{intestazione successiva}, 
+      identifica il tipo di pacchetto che segue l'intestazione di IPv6, usa 
+      gli stessi valori del campo protocollo nell'intestazione di IPv4\\
       \textit{hop limit}     &  8 bit & \textsl{limite di salti},
       \textit{hop limit}     &  8 bit & \textsl{limite di salti},
-      stesso significato del \textit{time to live} nella testata di IPv4, 
+      stesso significato del \textit{time to live} nell'intestazione di IPv4, 
       è decrementato di uno ogni volta che un nodo ritrasmette il
       pacchetto, se arriva a zero il pacchetto viene scartato \\
       \textit{source IP}     & 128 bit & \textsl{indirizzo di origine} \\
       \textit{destination IP}& 128 bit & \textsl{indirizzo di destinazione}\\
       è decrementato di uno ogni volta che un nodo ritrasmette il
       pacchetto, se arriva a zero il pacchetto viene scartato \\
       \textit{source IP}     & 128 bit & \textsl{indirizzo di origine} \\
       \textit{destination IP}& 128 bit & \textsl{indirizzo di destinazione}\\
-      \bottomrule
+      \hline
     \end{tabular}
     \caption{Legenda per il significato dei campi dell'intestazione di IPv6}
     \label{tab:IP_ipv6field}
     \end{tabular}
     \caption{Legenda per il significato dei campi dell'intestazione di IPv6}
     \label{tab:IP_ipv6field}
@@ -319,17 +339,18 @@ numero dei campi da 12 a 8.
 \end{table}
 
 Abbiamo già anticipato in \secref{sec:IP_ipv6over} uno dei criteri principali
 \end{table}
 
 Abbiamo già anticipato in \secref{sec:IP_ipv6over} uno dei criteri principali
-nella progettazione di IPv6 è stato quello di ridurre al massimo il tempo di
-processamento dei pacchetti da parte dei router, un confronto con la testata
-di IPv4 (vedi \secref{tab:IP_ipv4head}) mostra le seguenti differenze:
+nella progettazione di IPv6 è stato quello di ridurre al minimo il tempo di
+processamento dei pacchetti da parte dei router, un confronto con
+l'intestazione di IPv4 (vedi \figref{fig:IP_ipv4_head}) mostra le seguenti
+differenze:
 
 \begin{itemize}
 
 \begin{itemize}
-\item è stato eliminato il campo \textit{header lenght} in quanto le opzioni
-  sono state tolte dalla testata che ha così dimensione fissa; ci possono
-  essere più testate opzionali (\textsl{testate di estensione}, vedi
+\item è stato eliminato il campo \textit{header length} in quanto le opzioni
+  sono state tolte dall'intestazione che ha così dimensione fissa; ci possono
+  essere più intestazioni opzionali (\textsl{intestazioni di estensione}, vedi
   \secref{sec:IP_ipv6_extens}), ciascuna delle quali avrà un suo campo di
   lunghezza all'interno.
   \secref{sec:IP_ipv6_extens}), ciascuna delle quali avrà un suo campo di
   lunghezza all'interno.
-\item la testata e gli indirizzi sono allineati a 64 bit, questo rende più
+\item l'intestazione e gli indirizzi sono allineati a 64 bit, questo rende più
   veloce il processo da parte di computer con processori a 64 bit.
 \item i campi per gestire la frammentazione (\textit{identification},
   \textit{flag} e \textit{fragment offset}) sono stati eliminati; questo
   veloce il processo da parte di computer con processori a 64 bit.
 \item i campi per gestire la frammentazione (\textit{identification},
   \textit{flag} e \textit{fragment offset}) sono stati eliminati; questo
@@ -337,8 +358,8 @@ di IPv4 (vedi \secref{tab:IP_ipv4head}) mostra le seguenti differenze:
   processo dei pacchetti nel caso normale.
 \item è stato eliminato il campo \textit{checksum} in quanto tutti i
   protocolli di livello superiore (TCP, UDP e ICMPv6) hanno un campo di
   processo dei pacchetti nel caso normale.
 \item è stato eliminato il campo \textit{checksum} in quanto tutti i
   protocolli di livello superiore (TCP, UDP e ICMPv6) hanno un campo di
-  checksum che include, oltre alla loro testata e ai dati, pure i campi
-  \textit{payload lenght}, \textit{next header}, e gli indirizzi di origine e
+  checksum che include, oltre alla loro intestazione e ai dati, pure i campi
+  \textit{payload length}, \textit{next header}, e gli indirizzi di origine e
   di destinazione; una checksum esiste anche per la gran parte protocolli di
   livello inferiore (anche se quelli che non lo hanno, come SLIP, non possono
   essere usati con grande affidabilità); con questa scelta si è ridotto di
   di destinazione; una checksum esiste anche per la gran parte protocolli di
   livello inferiore (anche se quelli che non lo hanno, come SLIP, non possono
   essere usati con grande affidabilità); con questa scelta si è ridotto di
@@ -352,92 +373,65 @@ di IPv4 (vedi \secref{tab:IP_ipv4head}) mostra le seguenti differenze:
 \item è stato introdotto un nuovo campo \textit{flow label}, che viene usato,
   insieme al campo \textit{priority} (che recupera i bit di precedenza del
   campo \textit{type of service}) per implementare la gestione di una
 \item è stato introdotto un nuovo campo \textit{flow label}, che viene usato,
   insieme al campo \textit{priority} (che recupera i bit di precedenza del
   campo \textit{type of service}) per implementare la gestione di una
-  ``qualità di servizio'' (vedi Sez.~\ref{sec:IP_ipv6_qos}) che permette di
-  identificare i pacchetti appartenenti a un ``flusso'' di dati per i quali si
-  può provvedere un trattamento speciale.
+  ``\textsl{qualità di servizio}'' (vedi \secref{sec:IP_ipv6_qos}) che
+  permette di identificare i pacchetti appartenenti a un ``\textsl{flusso}''
+  di dati per i quali si può provvedere un trattamento speciale.
 \end{itemize}
 
 \end{itemize}
 
-\begin{table}[htb]
-  \footnotesize
+
+\begin{figure}[htb]
   \centering
   \centering
-  \begin{tabular}{@{\vrule}p{16mm}@{\vrule}p{16mm}@{\vrule}p{16mm}
-        @{\vrule}p{16mm}@{\vrule}p{16mm}@{\vrule}p{16mm}
-        @{\vrule}p{16mm}@{\vrule}p{16mm}@{\vrule} }
-    \multicolumn{8}{@{}c@{}}{0\hfill 15 16\hfill 31}\\
-    \hline
-    \centering version&
-    \centering head lenght&
-    \multicolumn{2}{@{}p{32mm}@{\vrule}}{\centering type of service} &  
-    \multicolumn{4}{@{}p{64mm}@{\vrule}}{\centering total lenght} \\
-    \hline
-    \multicolumn{4}{@{\vrule}p{64mm}@{\vrule}}{\centering identification} &
-    \multicolumn{4}{@{}p{64mm}@{\vrule}}{\parbox{11mm}{\centering flag} \vrule
-        \parbox{52mm}{\centering fragment offset}}\\
-    \hline
-    \multicolumn{2}{@{\vrule}p{32mm}@{\vrule}}{\centering TTL}& 
-    \multicolumn{2}{@{}p{32mm}@{\vrule}}{\centering protocol}&    
-    \multicolumn{4}{@{}p{64mm}@{\vrule}}{\centering header checksum} \\
-    \hline
-    \multicolumn{8}{@{\vrule}c@{\vrule}}{
-      source IP address} \\
-    \hline
-    \multicolumn{8}{@{\vrule}c@{\vrule}}{
-      destination IP address} \\
-    \hline
-    \multicolumn{8}{@{\vrule}c@{\vrule}}{} \\    
-    \multicolumn{8}{@{}p{128mm}@{}}{
-      \centering options (if any)} \\
-    \multicolumn{8}{@{\vrule}c@{\vrule}}{} \\    
-    \hline
-  \end{tabular}
-  \caption{L'intestazione o \textit{header} di IPv4}
-\label{tab:IP_ipv4head}
-\end{table}
+  \includegraphics[width=10cm]{img/ipv4_head}
+  \caption{L'intestazione o \textit{header} di IPv4.}
+  \label{fig:IP_ipv4_head}
+\end{figure}
 
 \begin{table}[htb]
   \footnotesize
   \begin{center}
 
 \begin{table}[htb]
   \footnotesize
   \begin{center}
-    \begin{tabular}{l c p{9cm}}
+    \begin{tabular}{|l|c|p{9cm}|}
+      \hline
       \textbf{Nome} & \textbf{Lunghezza} & \textbf{Significato} \\
       \textbf{Nome} & \textbf{Lunghezza} & \textbf{Significato} \\
-      \toprule
+      \hline
+      \hline
       \textit{version}          &  4 bit & \textsl{versione}, nel caso 
       specifico vale sempre 4\\
       \textit{version}          &  4 bit & \textsl{versione}, nel caso 
       specifico vale sempre 4\\
-      \textit{head lenght}      &  4 bit & \textsl{lunghezza della testata}, 
+      \textit{head length}      &  4 bit &\textsl{lunghezza dell'intestazione},
       in multipli di 32 bit\\
       \textit{type of service}  &  8 bit & \textsl{tipo di servizio}, 
       consiste in: 3 bit di precedenza, 
       correntemente ignorati; un bit non usato a 0;  4 bit che identificano
       il tipo di servizio richiesto, uno solo dei quali può essere 1\\
       in multipli di 32 bit\\
       \textit{type of service}  &  8 bit & \textsl{tipo di servizio}, 
       consiste in: 3 bit di precedenza, 
       correntemente ignorati; un bit non usato a 0;  4 bit che identificano
       il tipo di servizio richiesto, uno solo dei quali può essere 1\\
-      \textit{total lenght}     & 16 bit & \textsl{lunghezza totale}, indica 
+      \textit{total length}     & 16 bit & \textsl{lunghezza totale}, indica 
       la dimensione del pacchetto IP in byte\\
       \textit{identification}   & 16 bit & \textsl{identificazione}, 
       la dimensione del pacchetto IP in byte\\
       \textit{identification}   & 16 bit & \textsl{identificazione}, 
-      assegnato alla creazione, è aumentato di uno all'origine alla 
+      assegnato alla creazione, è aumentato di uno all'origine della 
       trasmissione di ciascun pacchetto, ma resta lo stesso per i 
       pacchetti frammentati\\
       \textit{flag}             &  3 bit & 
       \textsl{flag} bit di frammentazione, uno indica se un
       pacchetto è frammentato, un'altro se ci sono ulteriori frammenti, e 
       un'altro se il pacchetto non può essere frammentato. \\
       trasmissione di ciascun pacchetto, ma resta lo stesso per i 
       pacchetti frammentati\\
       \textit{flag}             &  3 bit & 
       \textsl{flag} bit di frammentazione, uno indica se un
       pacchetto è frammentato, un'altro se ci sono ulteriori frammenti, e 
       un'altro se il pacchetto non può essere frammentato. \\
-      \textit{fragmentation offset} & 13 bit& \textsl{offset di frammento},
+      \textit{fragmentation offset} & 13 bit & \textsl{offset di frammento},
       indica la posizione del frammento rispetto al pacchetto originale\\
       \textit{time to live}    & 16 bit & \textsl{tempo di vita},
       ha lo stesso significato di
       \textit{hop limit}, vedi Tab.~\ref{tab:IP_ipv6field}\\
       \textit{protocol}        &  8 bit & \textsl{protocollo} 
       identifica il tipo di pacchetto che segue
       indica la posizione del frammento rispetto al pacchetto originale\\
       \textit{time to live}    & 16 bit & \textsl{tempo di vita},
       ha lo stesso significato di
       \textit{hop limit}, vedi Tab.~\ref{tab:IP_ipv6field}\\
       \textit{protocol}        &  8 bit & \textsl{protocollo} 
       identifica il tipo di pacchetto che segue
-      la testata di IPv4\\
-      \textit{header checksum} & 16 bit & \textsl{checksum di testata}, somma
-      di controllo per la testata\\
+      l'intestazione di IPv4\\
+      \textit{header checksum} & 16 bit & \textsl{checksum di intestazione}, 
+      somma di controllo per l'intestazione\\
       \textit{source IP}       & 32 bit & \textsl{indirizzo di origine}\\
       \textit{destination IP}  & 32 bit & \textsl{indirizzo di destinazione}\\
       \textit{source IP}       & 32 bit & \textsl{indirizzo di origine}\\
       \textit{destination IP}  & 32 bit & \textsl{indirizzo di destinazione}\\
-      \bottomrule
+      \hline
     \end{tabular}
     \caption{Legenda per il significato dei campi dell'intestazione di IPv4}
     \label{tab:IP_ipv4field}
   \end{center}
 \end{table}
 
     \end{tabular}
     \caption{Legenda per il significato dei campi dell'intestazione di IPv4}
     \label{tab:IP_ipv4field}
   \end{center}
 \end{table}
 
-Oltre alle differenze precedenti, relative ai singoli campi nella testata,
+Oltre alle differenze precedenti, relative ai singoli campi nell'intestazione,
 ulteriori caratteristiche che diversificano il comportamento di IPv4 da
 quello di IPv6 sono le seguenti:
 
 ulteriori caratteristiche che diversificano il comportamento di IPv4 da
 quello di IPv6 sono le seguenti:
 
@@ -559,7 +553,7 @@ IPv4, un terzo tipo, gli indirizzi \textit{anycast} 
 In IPv6 non esistono più gli indirizzi \textit{broadcast}, la funzione di
 questi ultimi deve essere reimplementata con gli indirizzi \textit{multicast}.
 
 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
+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
 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
@@ -629,14 +623,16 @@ i seguenti possibili valori per il \textsl{Registry Id};
 gli altri valori restano riservati per la IANA.
 \begin{table}[htb]
   \begin{center}
 gli altri valori restano riservati per la IANA.
 \begin{table}[htb]
   \begin{center}
-    \begin{tabular}{l l l}
+    \begin{tabular}{|l|l|l|}
+      \hline
       \textbf{Regione} & \textbf{Registro} & \textbf{Id} \\
       \textbf{Regione} & \textbf{Registro} & \textbf{Id} \\
-      \toprule
+      \hline
+      \hline
       Nord America &INTERNIC & \texttt{11000} \\
       Europa & RIPE NCC & \texttt{01000} \\
       Asia & APNIC & \texttt{00100} \\
       Multi-regionale & IANA &\texttt{10000} \\
       Nord America &INTERNIC & \texttt{11000} \\
       Europa & RIPE NCC & \texttt{01000} \\
       Asia & APNIC & \texttt{00100} \\
       Multi-regionale & IANA &\texttt{10000} \\
-      \bottomrule
+      \hline
     \end{tabular}
     \caption{Valori dell'identificativo dei 
       Regional Register allocati ad oggi.}
     \end{tabular}
     \caption{Valori dell'identificativo dei 
       Regional Register allocati ad oggi.}
@@ -649,7 +645,7 @@ suddivisione fra \textit{Provider Id}, che identifica i grandi fornitori di
 servizi, e \textit{Subscriber Id}, che identifica i fruitori, sia gestita dai
 singoli registri regionali. Questi ultimi dovranno definire come dividere lo
 spazio di indirizzi assegnato a questi due campi (che ammonta a un totale di
 servizi, e \textit{Subscriber Id}, che identifica i fruitori, sia gestita dai
 singoli registri regionali. Questi ultimi dovranno definire come dividere lo
 spazio di indirizzi assegnato a questi due campi (che ammonta a un totale di
-58~bit), definendo lo spazio da assegnare al \textit{Provider Id} e
+56~bit), definendo lo spazio da assegnare al \textit{Provider Id} e
 al \textit{Subscriber Id}, ad essi spetterà inoltre anche l'allocazione dei
 numeri di \textit{Provider Id} ai singoli fornitori, ai quali sarà delegata
 l'autorità di allocare i \textit{Subscriber Id} al loro interno.
 al \textit{Subscriber Id}, ad essi spetterà inoltre anche l'allocazione dei
 numeri di \textit{Provider Id} ai singoli fornitori, ai quali sarà delegata
 l'autorità di allocare i \textit{Subscriber Id} al loro interno.
@@ -693,8 +689,8 @@ degli indirizzi, allocando dei blocchi per i quali delegare l'autorit
 registri nazionali, quest'ultimi poi avranno il compito di gestire la
 attribuzione degli indirizzi per i fornitori di servizi nell'ambito del/i
 paese coperto dal registro nazionale con le modalità viste in precedenza.
 registri nazionali, quest'ultimi poi avranno il compito di gestire la
 attribuzione degli indirizzi per i fornitori di servizi nell'ambito del/i
 paese coperto dal registro nazionale con le modalità viste in precedenza.
-Una tale ripartizione andrà effettuata all'interno dei soliti 58~bit come
-mostrato in \ntab.
+Una tale ripartizione andrà effettuata all'interno dei soliti 56~bit come
+mostrato in \tabref{tab:IP_ipv6_uninaz}.
 
 \begin{table}[htb]
   \centering
 
 \begin{table}[htb]
   \centering
@@ -761,14 +757,13 @@ sorgente o destinazione non deve venire ritrasmesso dai router.
 
 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
-è mostrata in \ntab, questi indirizzi iniziano sempre per
-\texttt{FEC0} e non devono venire ritrasmessi dai router all'esterno del sito
-stesso; sono in sostanza gli equivalenti degli indirizzi riservati per reti
-private definiti su IPv4.
-Per entrambi gli indirizzi il campo \textit{Interface Id} è un
-identificatore che deve essere unico nel dominio in cui viene usato, un modo
-immediato per costruirlo è quello di usare il MAC-address delle schede di
-rete.
+è mostrata in \tabref{tab:IP_ipv6_sitelocal}, questi indirizzi iniziano sempre
+per \texttt{FEC0} e non devono venire ritrasmessi dai router all'esterno del
+sito stesso; sono in sostanza gli equivalenti degli indirizzi riservati per
+reti private definiti su IPv4.  Per entrambi gli indirizzi il campo
+\textit{Interface Id} è un identificatore che deve essere unico nel dominio in
+cui viene usato, un modo immediato per costruirlo è quello di usare il
+MAC-address delle schede di rete.
  
 \begin{table}[!h]
   \centering
  
 \begin{table}[!h]
   \centering
@@ -804,12 +799,12 @@ Alcuni indirizzi sono riservati per scopi speciali, in particolare per scopi
 di compatibilità.
 
 Un primo tipo sono gli indirizzi \textit{IPv4 mappati su IPv6} (mostrati in
 di compatibilità.
 
 Un primo tipo sono gli indirizzi \textit{IPv4 mappati su IPv6} (mostrati in
-\ntab), questo sono indirizzi unicast che vengono usati per consentire ad
-applicazioni IPv6 di comunicare con host capaci solo di IPv4; questi sono ad
-esempio gli indirizzi generati da un DNS quando l'host richiesto supporta solo
-IPv4; l'uso di un tale indirizzo in un socket IPv6 comporta la generazione di
-un pacchetto IPv4 (ovviamente occorre che sia IPv4 che IPv6 siano supportate
-sull'host di origine).
+\tabref{tab:IP_ipv6_map}), questo sono indirizzi unicast che vengono usati per
+consentire ad applicazioni IPv6 di comunicare con host capaci solo di IPv4;
+questi sono ad esempio gli indirizzi generati da un DNS quando l'host
+richiesto supporta solo IPv4; l'uso di un tale indirizzo in un socket IPv6
+comporta la generazione di un pacchetto IPv4 (ovviamente occorre che sia IPv4
+che IPv6 siano supportati sull'host di origine).
 
 \begin{table}[!htb]
   \centering
 
 \begin{table}[!htb]
   \centering
@@ -831,10 +826,10 @@ sull'host di origine).
 \end{table}
 
 Un secondo tipo di indirizzi di compatibilità sono gli \textit{IPv4
 \end{table}
 
 Un secondo tipo di indirizzi di compatibilità sono gli \textit{IPv4
-  compatibili IPv6} (vedi \ntab) usati nella transizione da IPv4 a IPv6,
-quando un host che supporta sia IPv6 che IPv4 non ha un router IPv6 deve usare
-nel DNS un indirizzo di questo tipo, ogni pacchetto IPv6 inviato a un tale
-indirizzo verrà automaticamente incapsulato in IPv4.
+  compatibili IPv6} (vedi \tabref{tab:IP_ipv6_comp}) usati nella transizione
+da IPv4 a IPv6: quando un nodo che supporta sia IPv6 che IPv4 non ha un router
+IPv6 deve usare nel DNS un indirizzo di questo tipo, ogni pacchetto IPv6
+inviato a un tale indirizzo verrà automaticamente incapsulato in IPv4.
 
 \begin{table}[htb]
   \centering
 
 \begin{table}[htb]
   \centering
@@ -865,11 +860,11 @@ l'accettazione di una connessione da qualunque host.
 \label{sec:IP_ipv6_multicast}
 
 Gli indirizzi \textit{multicast} sono usati per inviare un pacchetto a un
 \label{sec:IP_ipv6_multicast}
 
 Gli indirizzi \textit{multicast} sono usati per inviare un pacchetto a un
-gruppo di interfacce; l'indirizzo identifica uno specifico gruppo di
-multicast e il pacchetto viene inviato a tutte le interfacce di detto gruppo.
+gruppo di interfacce; l'indirizzo identifica uno specifico gruppo di multicast
+e il pacchetto viene inviato a tutte le interfacce di detto gruppo.
 Un'interfaccia può appartenere ad un numero qualunque numero di gruppi di
 multicast. Il formato degli indirizzi \textit{multicast} è riportato in
 Un'interfaccia può appartenere ad un numero qualunque numero di gruppi di
 multicast. Il formato degli indirizzi \textit{multicast} è riportato in
-\ntab:
+\tabref{tab:IP_ipv6_multicast}:
 
 \begin{table}[htb]
   \centering
 
 \begin{table}[htb]
   \centering
@@ -901,18 +896,19 @@ Il prefisso di formato per tutti gli indirizzi \textit{multicast} 
   transitorio.
 \item \textsl{scop} è un numero di quattro bit che indica il raggio di
   validità dell'indirizzo, i valori assegnati per ora sono riportati in
   transitorio.
 \item \textsl{scop} è un numero di quattro bit che indica il raggio di
   validità dell'indirizzo, i valori assegnati per ora sono riportati in
-  \ntab.
+  \tabref{tab:IP_ipv6_multiscope}.
 \end{itemize}
 
 \end{itemize}
 
-Infine l'ultimo campo identifica il gruppo di multicast, sia permanente che
-transitorio, all'interno del raggio di validità del medesimo.
+
 
 \begin{table}[!htb]
   \centering 
   \footnotesize
 
 \begin{table}[!htb]
   \centering 
   \footnotesize
-  \begin{tabular}[c]{c l c l}
-    \multicolumn{4}{c}{\bf Gruppi di multicast} \\
-    \toprule 
+  \begin{tabular}[c]{|c|l|c|l|}
+    \hline
+    \multicolumn{4}{|c|}{\bf Gruppi di multicast} \\
+    \hline
+    \hline
     0 & riservato & 8 & organizzazione locale \\
     1 & nodo locale & 9 & non assegnato \\
     2 & collegamento locale & A & non assegnato \\
     0 & riservato & 8 & organizzazione locale \\
     1 & nodo locale & 9 & non assegnato \\
     2 & collegamento locale & A & non assegnato \\
@@ -921,19 +917,54 @@ transitorio, all'interno del raggio di validit
     5 & sito locale & D & non assegnato \\
     6 & non assegnato & E & globale \\
     7 & non assegnato & F & riservato \\
     5 & sito locale & D & non assegnato \\
     6 & non assegnato & E & globale \\
     7 & non assegnato & F & riservato \\
-    \bottomrule
+    \hline
   \end{tabular}
 \caption{Possibili valori del campo \textsl{scop} di un indirizzo multicast.}
 \label{tab:IP_ipv6_multiscope}
 \end{table}
 
   \end{tabular}
 \caption{Possibili valori del campo \textsl{scop} di un indirizzo multicast.}
 \label{tab:IP_ipv6_multiscope}
 \end{table}
 
+Infine l'ultimo campo identifica il gruppo di multicast, sia permanente che
+transitorio, all'interno del raggio di validità del medesimo. Alcuni
+indirizzi multicast, riportati in \tabref{tab:multiadd} sono già riservati
+per il funzionamento della rete.
+
+\begin{table}[!htb]
+  \centering 
+  \footnotesize
+  \begin{tabular}[c]{l l r}
+    \hline
+    \textbf{Uso}& \textbf{Indirizzi riservati} & \textbf{Definizione}\\
+    \hline 
+    \hline 
+    all-nodes & \texttt{FFxx:0:0:0:0:0:0:1} & RFC 1970\\
+    all-routers & \texttt{FFxx:0:0:0:0:0:0:2} & RFC 1970\\
+    all-rip-routers & \texttt{FFxx:0:0:0:0:0:0:9} & RFC 2080\\
+    all-cbt-routers & \texttt{FFxx:0:0:0:0:0:0:10} &\\
+    reserved &  \texttt{FFxx:0:0:0:0:0:1:0} & IANA \\
+    link-name &  \texttt{FFxx:0:0:0:0:0:1:1} &  \\
+    all-dhcp-agents & \texttt{FFxx:0:0:0:0:0:1:2} & \\
+    all-dhcp-servers & \texttt{FFxx:0:0:0:0:0:1:3} & \\
+    all-dhcp-relays & \texttt{FFxx:0:0:0:0:0:1:4} & \\
+    solicited-nodes &  \texttt{FFxx:0:0:0:0:1:0:0} & RFC 1970\\
+    \hline
+  \end{tabular}
+\caption{Gruppi multicast predefiniti.}
+\label{tab:multiadd}
+\end{table}
+
+L'utilizzo del campo di \textit{scope} e di questi indirizzi predefiniti serve
+a recuperare le funzionalità del broadcasting (ad esempio inviando un
+pacchetto all'indirizzo \texttt{FF02:0:0:0:0:0:0:1} si raggiungono tutti i
+nodi locali).
+
+
 \subsection{Indirizzi \textit{anycast}}
 \label{sec:IP_anycast}
 
 Gli indirizzi \textit{anycast} sono indirizzi che vengono assegnati ad un
 \subsection{Indirizzi \textit{anycast}}
 \label{sec:IP_anycast}
 
 Gli indirizzi \textit{anycast} sono indirizzi che vengono assegnati ad un
-gruppo di interfacce per quali un pacchetto indirizzato a questo tipo di
-indirizzo viene inviato al componente del gruppo più ``vicino'' secondo la
-distanza di instradamento calcolata dai router.
+gruppo di interfacce: un pacchetto indirizzato a questo tipo di indirizzo
+viene inviato al componente del gruppo più ``\textsl{vicino}'' secondo la distanza di
+instradamento calcolata dai router.
 
 Questi indirizzi sono allocati nello stesso spazio degli indirizzi unicast,
 usando uno dei formati disponibili, e per questo, sono da essi assolutamente
 
 Questi indirizzi sono allocati nello stesso spazio degli indirizzi unicast,
 usando uno dei formati disponibili, e per questo, sono da essi assolutamente
@@ -943,9 +974,9 @@ configurato per tener conto del fatto.
 
 Gli indirizzi anycast consentono a un nodo sorgente di inviare pacchetti a una
 destinazione su un gruppo di possibili interfacce selezionate. La sorgente non
 
 Gli indirizzi anycast consentono a un nodo sorgente di inviare pacchetti a una
 destinazione su un gruppo di possibili interfacce selezionate. La sorgente non
-deve curarsi di come scegliere l'interfaccia più vicina, compito che tocca
-al sistema di instradamento, (in sostanza la sorgente non ha nessun controllo
-sulla selezione). 
+deve curarsi di come scegliere l'interfaccia più vicina, compito che tocca al
+sistema di instradamento (in sostanza la sorgente non ha nessun controllo
+sulla selezione).
 
 Gli indirizzi anycast, quando vengono usati come parte di una sequenza di
 instradamento, consentono ad esempio ad un nodo di scegliere quale fornitore
 
 Gli indirizzi anycast, quando vengono usati come parte di una sequenza di
 instradamento, consentono ad esempio ad un nodo di scegliere quale fornitore
@@ -953,8 +984,9 @@ vuole usare (configurando gli indirizzi anycast per identificare i router di
 uno stesso provider).
 
 Questi indirizzi pertanto possono essere usati come indirizzi intermedi in una
 uno stesso provider).
 
 Questi indirizzi pertanto possono essere usati come indirizzi intermedi in una
-testata di instradamento o per identificare insiemi di router connessi a una
-particolare sottorete, o che forniscono l'accesso a un certo sotto dominio.
+intestazione di instradamento o per identificare insiemi di router connessi a
+una particolare sottorete, o che forniscono l'accesso a un certo sotto
+dominio.
 
 L'idea alla base degli indirizzi anycast è perciò quella di utilizzarli per
 poter raggiungere il fornitore di servizio più vicino; ma restano aperte tutta
 
 L'idea alla base degli indirizzi anycast è perciò quella di utilizzarli per
 poter raggiungere il fornitore di servizio più vicino; ma restano aperte tutta
@@ -970,14 +1002,15 @@ La materia 
 \label{sec:IP_ipv6_extens}
 
 Come già detto in precedenza IPv6 ha completamente cambiato il trattamento
 \label{sec:IP_ipv6_extens}
 
 Come già detto in precedenza IPv6 ha completamente cambiato il trattamento
-delle opzioni; queste ultime infatti sono state tolte dalla testata del
-pacchetto, e poste in apposite \textsl{testate di estensione} (o
-\textit{extension header}) poste fra la testata di IPv6 e la testata del
-protocollo di trasporto.
+delle opzioni; queste ultime infatti sono state tolte dall'intestazione del
+pacchetto, e poste in apposite \textsl{intestazioni di estensione} (o
+\textit{extension header}) poste fra l'intestazione di IPv6 e l'intestazione
+del protocollo di trasporto.
 
 Per aumentare la velocità di processo, sia dei dati del livello seguente che
 di ulteriori opzioni, ciascuna estensione deve avere una lunghezza multipla di
 
 Per aumentare la velocità di processo, sia dei dati del livello seguente che
 di ulteriori opzioni, ciascuna estensione deve avere una lunghezza multipla di
-8 byte per mantenere l'allineamento a 64~bit di tutti le testate seguenti.
+8 byte per mantenere l'allineamento a 64~bit di tutti le intestazioni
+seguenti.
 
 Dato che la maggior parte di queste estensioni non sono esaminate dai router
 durante l'instradamento e la trasmissione dei pacchetti, ma solo all'arrivo
 
 Dato che la maggior parte di queste estensioni non sono esaminate dai router
 durante l'instradamento e la trasmissione dei pacchetti, ma solo all'arrivo
@@ -992,10 +1025,11 @@ sicurezza, improponibili con IPv4.
 
 Le estensioni definite al momento sono le seguenti:
 \begin{itemize}
 
 Le estensioni definite al momento sono le seguenti:
 \begin{itemize}
-\item \textbf{Hop by hop} devono seguire immediatamente la testata principale;
-  indicano le opzioni che devono venire processate ad ogni passaggio da un
-  router, fra di esse è da menzionare la \textit{jumbo payload} che segnala
-  la presenza di un pacchetto di dati di dimensione superiore a 64Kb.
+\item \textbf{Hop by hop} devono seguire immediatamente l'intestazione
+  principale; indicano le opzioni che devono venire processate ad ogni
+  passaggio da un router, fra di esse è da menzionare la \textit{jumbo
+    payload} che segnala la presenza di un pacchetto di dati di dimensione
+  superiore a 65535 byte.
 \item \textbf{Destination options} opzioni che devono venire esaminate al nodo
   di ricevimento, nessuna di esse è tuttora definita.
 \item \textbf{Routing} definisce una \textit{source route} (come la analoga
 \item \textbf{Destination options} opzioni che devono venire esaminate al nodo
   di ricevimento, nessuna di esse è tuttora definita.
 \item \textbf{Routing} definisce una \textit{source route} (come la analoga
@@ -1011,16 +1045,17 @@ Le estensioni definite al momento sono le seguenti:
 \end{itemize}
 
 La presenza di opzioni è rilevata dal valore del campo \textit{next header}
 \end{itemize}
 
 La presenza di opzioni è rilevata dal valore del campo \textit{next header}
-che indica qual'è la testata successiva a quella di IPv6; in assenza di
-opzioni questa sarà la testata di un protocollo di trasporto del livello
+che indica qual'è l'intestazione successiva a quella di IPv6; in assenza di
+opzioni questa sarà l'intestazione di un protocollo di trasporto del livello
 superiore, per cui il campo assumerà lo stesso valore del campo
 \textit{protocol} di IPv4, altrimenti assumerà il valore dell'opzione
 superiore, per cui il campo assumerà lo stesso valore del campo
 \textit{protocol} di IPv4, altrimenti assumerà il valore dell'opzione
-presente; i valori possibili sono riportati in \ntab.
+presente; i valori possibili sono riportati in \tabref{tab:IP_ipv6_nexthead}.
 
 \begin{table}[htb]
   \begin{center}
     \footnotesize
 
 \begin{table}[htb]
   \begin{center}
     \footnotesize
-    \begin{tabular}{c l l}
+    \begin{tabular}{|c|l|l|}
+      \hline
       \textbf{Valore} & \textbf{Keyword} & \textbf{Tipo di protocollo} \\
       \hline
       \hline
       \textbf{Valore} & \textbf{Keyword} & \textbf{Tipo di protocollo} \\
       \hline
       \hline
@@ -1036,14 +1071,15 @@ presente; i valori possibili sono riportati in \ntab.
       43 & RH   & Routing Header (IPv6) \\
       44 & FH   & Fragment Header (IPv6) \\
       45 & IDRP & Inter Domain Routing \\
       43 & RH   & Routing Header (IPv6) \\
       44 & FH   & Fragment Header (IPv6) \\
       45 & IDRP & Inter Domain Routing \\
-      51 & AH   & Autentication Header (IPv6) \\
+      51 & AH   & Authentication Header (IPv6) \\
       52 & ESP  & Encrypted Security Payload (IPv6) \\
       59 & Null & No next header (IPv6) \\
       88 & IGRP & Internet Group Routing \\
       89 & OSPF & Open Short Path First \\
       255&      & riservato \\
       52 & ESP  & Encrypted Security Payload (IPv6) \\
       59 & Null & No next header (IPv6) \\
       88 & IGRP & Internet Group Routing \\
       89 & OSPF & Open Short Path First \\
       255&      & riservato \\
+    \hline
     \end{tabular}
     \end{tabular}
-    \caption{Tipi di protocolli e testate di estensione}
+    \caption{Tipi di protocolli e intestazioni di estensione}
     \label{tab:IP_ipv6_nexthead}
   \end{center}
 \end{table}
     \label{tab:IP_ipv6_nexthead}
   \end{center}
 \end{table}
@@ -1113,18 +1149,18 @@ valori di priorit
 \begin{table}[htb]
   \centering
   \footnotesize
 \begin{table}[htb]
   \centering
   \footnotesize
-  \begin{tabular} {c l}
-    Valore & tipo di traffico \\
-    \toprule
+  \begin{tabular}{|c|l|}
+    \hline
+    \textbf{Valore} & \textbf{Tipo di traffico} \\
+    \hline
+    \hline
     0 & traffico generico \\
     1 & traffico di riempimento (es. news) \\
     2 & trasferimento dati non interattivo (es. e-mail)\\
     3 & riservato \\
     4 & trasferimento dati interattivo (es. FTP, HTTP, NFS) \\
     5 & riservato \\
     0 & traffico generico \\
     1 & traffico di riempimento (es. news) \\
     2 & trasferimento dati non interattivo (es. e-mail)\\
     3 & riservato \\
     4 & trasferimento dati interattivo (es. FTP, HTTP, NFS) \\
     5 & riservato \\
-    6 & traffico interattivo (telnet, X)\\
-    7 & traffico di controllo (routing, SNMP) \\
-    \bottomrule
+    \hline
 \end{tabular}
 \caption{Formato di un indirizzo \textit{site-local}.}
 \label{tab:priority}
 \end{tabular}
 \caption{Formato di un indirizzo \textit{site-local}.}
 \label{tab:priority}
@@ -1139,23 +1175,23 @@ pi
 \label{sec:security}
 
 La attuale implementazione di Internet presenta numerosi problemi di
 \label{sec:security}
 
 La attuale implementazione di Internet presenta numerosi problemi di
-sicurezza, in particolare i dati presenti nelle testate dei vari protocolli
-sono assunti essere corretti, il che da adito alla possibilità di varie
-tipologie di attacco forgiando pacchetti false, inoltre tutti questi dati
-passano in chiaro sulla rete e sono esposti all'osservazione di chiunque si
-trovi in mezzo.
+sicurezza, in particolare i dati presenti nelle intestazioni dei vari
+protocolli sono assunti essere corretti, il che da adito alla possibilità di
+varie tipologie di attacco forgiando pacchetti false, inoltre tutti questi
+dati passano in chiaro sulla rete e sono esposti all'osservazione di chiunque
+si trovi in mezzo.
 
 Con IPv4 non è possibile realizzare un meccanismo di autenticazione e
 riservatezza a un livello inferiore al primo (quello di applicazione), con
 
 Con IPv4 non è possibile realizzare un meccanismo di autenticazione e
 riservatezza a un livello inferiore al primo (quello di applicazione), con
-IPv6 è stato progettata la possibilità di intervenire al livello del
-collegamento (il terzo) prevedendo due apposite estensioni che possono essere
-usate per fornire livelli di sicurezza a seconda degli utenti. La codifica
-generale di questa architettura è riportata nell'RFC 2401.
+IPv6 è stato progettata la possibilità di intervenire al livello di rete (il
+terzo) prevedendo due apposite estensioni che possono essere usate per fornire
+livelli di sicurezza a seconda degli utenti. La codifica generale di questa
+architettura è riportata nell'RFC 2401.
 
 Il meccanismo in sostanza si basa su due estensioni:
 \begin{itemize}
 
 Il meccanismo in sostanza si basa su due estensioni:
 \begin{itemize}
-\item una testata di sicurezza (\textit{autentication header}) che garantisce
-  al destinatario l'autenticità del pacchetto
+\item una intestazione di sicurezza (\textit{authentication header}) che
+  garantisce al destinatario l'autenticità del pacchetto
 \item un carico di sicurezza (\textit{Encrypted Security Payload}) che
   assicura che solo il legittimo ricevente può leggere il pacchetto.
 \end{itemize}
 \item un carico di sicurezza (\textit{Encrypted Security Payload}) che
   assicura che solo il legittimo ricevente può leggere il pacchetto.
 \end{itemize}
@@ -1171,23 +1207,25 @@ di ogni comunicazione ed 
 multicast dovrà essere lo stesso per tutte le stazioni del gruppo.
 
 \subsection{Autenticazione}
 multicast dovrà essere lo stesso per tutte le stazioni del gruppo.
 
 \subsection{Autenticazione}
-Il primo meccanismo di sicurezza è quello della testata di autenticazione
-(\textit{autentication header}) che fornisce l'autenticazione e il controllo
+\label{sec:auth} 
+
+Il primo meccanismo di sicurezza è quello dell'intestazione di autenticazione
+(\textit{authentication header}) che fornisce l'autenticazione e il controllo
 di integrità (ma senza riservatezza) dei pacchetti IP.
 
 di integrità (ma senza riservatezza) dei pacchetti IP.
 
-La testata di autenticazione ha il formato descritto in
-Tab.~\ref{tab:autent_head} il campo \textit{Next Header} indica la testata
-successiva, con gli stessi valori del campo omonimo nella testata principale
-di IPv6, il campo \textit{Lengh} indica la lunghezza della testata di
-autenticazione in numero di parole a 32 bit, il campo riservato deve essere
-posto a zero, seguono poi l'indice di sicurezza, stabilito nella associazione
-di sicurezza, e un numero di sequenza che la stazione sorgente deve
-incrementare di pacchetto in pacchetto.
+L'intestazione di autenticazione ha il formato descritto in
+\tabref{tab:autent_head}: il campo \textit{Next Header} indica l'intestazione
+successiva, con gli stessi valori del campo omonimo nell'intestazione
+principale di IPv6, il campo \textit{Length} indica la lunghezza
+dell'intestazione di autenticazione in numero di parole a 32 bit, il campo
+riservato deve essere posto a zero, seguono poi l'indice di sicurezza,
+stabilito nella associazione di sicurezza, e un numero di sequenza che la
+stazione sorgente deve incrementare di pacchetto in pacchetto.
 
 
-Completano la testata i dati di autenticazione che contengono un valore di
+Completano l'intestazione i dati di autenticazione che contengono un valore di
 controllo di integrità (ICV, \textit{Integrity Check Value}), che deve essere
 di dimensione pari a un multiplo intero di 32 bit e può contenere un padding
 controllo di integrità (ICV, \textit{Integrity Check Value}), che deve essere
 di dimensione pari a un multiplo intero di 32 bit e può contenere un padding
-per allineare la testata a 64 bit. Tutti gli algoritmi di autenticazione
+per allineare l'intestazione a 64 bit. Tutti gli algoritmi di autenticazione
 devono provvedere questa capacità.
 
 \renewcommand\arraystretch{1.2}
 devono provvedere questa capacità.
 
 \renewcommand\arraystretch{1.2}
@@ -1198,7 +1236,7 @@ devono provvedere questa capacit
         @{\vrule}p{48mm}@{\vrule} }
     \multicolumn{3}{@{}c@{}}{0\hfill 15 16\hfill 31}\\
     \hline
         @{\vrule}p{48mm}@{\vrule} }
     \multicolumn{3}{@{}c@{}}{0\hfill 15 16\hfill 31}\\
     \hline
-    \centering Next Header&\centering Lenght&
+    \centering Next Header&\centering Length&
     \centering Reserved \tabularnewline
     \hline
     \multicolumn{3}{@{\vrule}c@{\vrule}}
     \centering Reserved \tabularnewline
     \hline
     \multicolumn{3}{@{\vrule}c@{\vrule}}
@@ -1208,26 +1246,25 @@ devono provvedere questa capacit
     {\centering Sequence Number}\\  
     \hline
     \multicolumn{3}{@{\vrule}c@{\vrule}}{} \\
     {\centering Sequence Number}\\  
     \hline
     \multicolumn{3}{@{\vrule}c@{\vrule}}{} \\
-    \multicolumn{3}{@{\vrule}c@{\vrule}}{Autentication Data} \\
+    \multicolumn{3}{@{\vrule}c@{\vrule}}{Authentication Data} \\
     \multicolumn{3}{@{\vrule}c@{\vrule}}
     {\centering ... } \\
     \multicolumn{3}{@{\vrule}c@{\vrule}}{} \\
     \hline
     \end{tabular}
     \multicolumn{3}{@{\vrule}c@{\vrule}}
     {\centering ... } \\
     \multicolumn{3}{@{\vrule}c@{\vrule}}{} \\
     \hline
     \end{tabular}
-    \caption{Formato della testata dell'estensione di autenticazione}
+    \caption{Formato dell'intestazione dell'estensione di autenticazione}
     \label{tab:autent_estens}
   \end{center}
 \end{table}
 \renewcommand\arraystretch{1} %default
 
 
     \label{tab:autent_estens}
   \end{center}
 \end{table}
 \renewcommand\arraystretch{1} %default
 
 
-
-La testata di autenticazione può essere impiegata in due modi diverse
+L'intestazione di autenticazione può essere impiegata in due modi diverse
 modalità: modalità trasporto e modalità tunnel.
 
 La modalità trasporto è utilizzabile solo per comunicazioni fra stazioni
 modalità: modalità trasporto e modalità tunnel.
 
 La modalità trasporto è utilizzabile solo per comunicazioni fra stazioni
-singole che supportino l'autenticazione. In questo caso la testata di
-autenticazione è inserita dopo tutte le altre testate di estensione
+singole che supportino l'autenticazione. In questo caso l'intestazione di
+autenticazione è inserita dopo tutte le altre intestazioni di estensione
 eccezion fatta per la \textit{Destination Option} che può comparire sia
 prima che dopo. 
 
 eccezion fatta per la \textit{Destination Option} che può comparire sia
 prima che dopo. 
 
@@ -1244,7 +1281,7 @@ prima che dopo.
     & & & & & \\
     \hline
     \end{tabular*}
     & & & & & \\
     \hline
     \end{tabular*}
-    \caption{Formato della testata dell'estensione di autenticazione}
+    \caption{Formato dell'intestazione dell'estensione di autenticazione}
     \label{tab:autent_head}
   \end{center}
 \end{table}
     \label{tab:autent_head}
   \end{center}
 \end{table}
@@ -1260,25 +1297,22 @@ La modalit
 singole che con un gateway di sicurezza; in questa modalità 
 
 
 singole che con un gateway di sicurezza; in questa modalità 
 
 
-La testata di autenticazione è una testata di estensione inserita dopo la
-testata principale e prima del carico dei dati. La sua presenza non ha
-perciò alcuna influenza sui livelli superiori dei protocolli di trasmissione
-come il TCP.
-
+L'intestazione di autenticazione è una intestazione di estensione inserita
+dopo l'intestazione principale e prima del carico dei dati. La sua presenza
+non ha perciò alcuna influenza sui livelli superiori dei protocolli di
+trasmissione come il TCP.
 
 
 
 
-
-
-La procedura di autenticazione cerca di garantire l'autenticità del
-pacchetto nella massima estensione possibile, ma dato che alcuni campi della
-testata di IP possono variare in maniera impredicibile alla sorgente, il loro
-valore non può essere protetto dall'autenticazione. 
+La procedura di autenticazione cerca di garantire l'autenticità del pacchetto
+nella massima estensione possibile, ma dato che alcuni campi dell'intestazione
+di IP possono variare in maniera impredicibile alla sorgente, il loro valore
+non può essere protetto dall'autenticazione.
 
 Il calcolo dei dati di autenticazione viene effettuato alla sorgente su una
 
 Il calcolo dei dati di autenticazione viene effettuato alla sorgente su una
-versione speciale del pacchetto in cui il numero di salti nella testata
-principale è settato a zero, così come le opzioni che possono essere
-modificate nella trasmissione, e la testata di routing (se usata) è posta ai
-valori che deve avere all'arrivo.
+versione speciale del pacchetto in cui il numero di salti nell'intestazione
+principale è impostato a zero, così come le opzioni che possono essere
+modificate nella trasmissione, e l'intestazione di routing (se usata) è posta
+ai valori che deve avere all'arrivo.
 
 L'estensione è indipendente dall'algoritmo particolare, e il protocollo è
 ancora in fase di definizione; attualmente è stato suggerito l'uso di una
 
 L'estensione è indipendente dall'algoritmo particolare, e il protocollo è
 ancora in fase di definizione; attualmente è stato suggerito l'uso di una
@@ -1292,8 +1326,8 @@ una chiave che viene inserita all'inizio e alla fine degli altri campi.
 Per garantire una trasmissione riservata dei dati, è stata previsto la
 possibilità di trasmettere pacchetti con i dati criptati: il cosiddetto ESP,
 \textit{Encripted Security Payload}. Questo viene realizzato usando con una
 Per garantire una trasmissione riservata dei dati, è stata previsto la
 possibilità di trasmettere pacchetti con i dati criptati: il cosiddetto ESP,
 \textit{Encripted Security Payload}. Questo viene realizzato usando con una
-apposita opzione che deve essere sempre l'ultima delle testate di estensione;
-ad essa segue il carico del pacchetto che viene criptato.
+apposita opzione che deve essere sempre l'ultima delle intestazioni di
+estensione; ad essa segue il carico del pacchetto che viene criptato.
 
 Un pacchetto crittografato pertanto viene ad avere una struttura del tipo di
 quella mostrata in Tab~.\ref{tab:criptopack}, tutti i campi sono in chiaro
 
 Un pacchetto crittografato pertanto viene ad avere una struttura del tipo di
 quella mostrata in Tab~.\ref{tab:criptopack}, tutti i campi sono in chiaro
@@ -1308,12 +1342,12 @@ fino al vettore di inizializzazione, il resto 
     \multicolumn{4}{@{}c@{}}{0\hfill 15 16\hfill 31}\\
     \hline
     \multicolumn{4}{@{\vrule}c@{\vrule}}{}\\
     \multicolumn{4}{@{}c@{}}{0\hfill 15 16\hfill 31}\\
     \hline
     \multicolumn{4}{@{\vrule}c@{\vrule}}{}\\
-    \multicolumn{4}{@{\vrule}c@{\vrule}}{Testata Principale}\\
+    \multicolumn{4}{@{\vrule}c@{\vrule}}{Intestazione Principale}\\
     \multicolumn{4}{@{\vrule}c@{\vrule}}{...}\\
     \multicolumn{4}{@{\vrule}c@{\vrule}}{}\\
     \hline
     \multicolumn{4}{@{\vrule}c@{\vrule}}{}\\
     \multicolumn{4}{@{\vrule}c@{\vrule}}{...}\\
     \multicolumn{4}{@{\vrule}c@{\vrule}}{}\\
     \hline
     \multicolumn{4}{@{\vrule}c@{\vrule}}{}\\
-    \multicolumn{4}{@{\vrule}c@{\vrule}}{Testate di estensione}\\
+    \multicolumn{4}{@{\vrule}c@{\vrule}}{Intestazioni di estensione}\\
     \multicolumn{4}{@{\vrule}c@{\vrule}}{...}\\
     \multicolumn{4}{@{\vrule}c@{\vrule}}{}\\
     \hline
     \multicolumn{4}{@{\vrule}c@{\vrule}}{...}\\
     \multicolumn{4}{@{\vrule}c@{\vrule}}{}\\
     \hline
@@ -1347,6 +1381,75 @@ fino al vettore di inizializzazione, il resto 
 \section{Autoconfigurazione}
 \label{sec:IP_ipv6_autoconf}
 
 \section{Autoconfigurazione}
 \label{sec:IP_ipv6_autoconf}
 
+Una delle caratteristiche salienti di IPv6 è quella dell'autoconfigurazione,
+il protocollo infatti fornisce la possibilità ad un nodo di scoprire
+automaticamente il suo indirizzo acquisendo i parametri necessari per potersi
+connettere a internet. 
+
+L'autoconfigurazione sfrutta gli indirizzi link-local; qualora sul nodo sia
+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
+link-local \texttt{FE80::xxxx:xxxx:xxxx} dove \texttt{xxxx:xxxx:xxxx} è
+l'indirizzo hardware della scheda di rete. 
+
+Nel caso in cui non sia presente una scheda che supporta lo standard IEEE802
+allora il nodo assumerà ugualmente un indirizzo link-local della forma
+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
+messaggio ICMP \textit{Solicitation} all'indirizzo scelto attendendo un certo
+lasso di tempo; in caso di risposta l'indirizzo è duplicato e il
+procedimento dovrà essere ripetuto con un nuovo indirizzo (o interrotto
+richiedendo assistenza).
+
+Una volta ottenuto un indirizzo locale valido diventa possibile per il nodo
+comunicare con la rete locale; sono pertanto previste due modalità di
+autoconfigurazione, descritte nelle seguenti sezioni. In ogni caso
+l'indirizzo link-local resta valido.
+
+\subsection{Autoconfigurazione stateless}
+\label{sec:stateless}
+
+Questa è la forma più semplice di autoconfigurazione, possibile quando
+l'indirizzo globale può essere ricavato dall'indirizzo link-local cambiando
+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 multicast \textit{all-nodes}
+programmando la propria interfaccia per ricevere i messaggi dall'indirizzo
+multicast \texttt{FF02::1} (vedi \secref{sec:IP_ipv6_multicast}); a questo
+punto devono inviare un messaggio ICMP \textit{Router solicitation} a tutti i
+router locali usando l'indirizzo multicast \texttt{FF02::2} usando come
+sorgente il proprio indirizzo link-local.
+
+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
+l'indirizzo, nel qual caso, se il prefisso unito all'indirizzo link-local non
+supera i 128 bit, la stazione ottiene automaticamente il suo indirizzo
+globale.
+
+\subsection{Autoconfigurazione stateful}
+\label{sec:stateful}
+
+Benché estremamente semplice l'autoconfigurazione stateless presenta alcuni
+problemi; il primo è che l'uso degli indirizzi delle schede di rete è
+molto inefficiente; nel caso in cui ci siano esigenze di creare una gerarchia
+strutturata su parecchi livelli possono non restare 48~bit per l'indirizzo
+della singola stazione; il secondo problema è di sicurezza, dato che basta
+introdurre in una rete una stazione autoconfigurante per ottenere un accesso
+legale.
+
+Per questi motivi è previsto anche un protocollo stateful basato su un
+server che offra una versione IPv6 del DHCP; un apposito gruppo di multicast
+\texttt{FF02::1:0} è stato riservato per questi server; in questo caso il
+nodo interrogherà il server su questo indirizzo di multicast con l'indirizzo
+link-local e riceverà un indirizzo unicast globale.
+
+
 
 %%% Local Variables: 
 %%% mode: latex
 
 %%% Local Variables: 
 %%% mode: latex