%% ipprot.tex
%%
-%% Copyright (C) 2000-2002 Simone Piccardi. Permission is granted to
+%% Copyright (C) 2000-2003 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",
\begin{table}[htb]
\centering
\footnotesize
+ \begin{usepicture}
\begin{tabular} {c@{\hspace{1mm}\vrule}
p{3mm}@{\vrule}p{3mm}@{\vrule}p{3mm}@{\vrule}p{3mm}@{\vrule}
p{3mm}@{\vrule}p{3mm}@{\vrule}p{3mm}@{\vrule}p{3mm}@{\vrule}
\omit\hfill\vrule &&&&&&&& &&&&&&&& &&&&&&&& &&&&&&&& \\
\cline{2-33}
-\end{tabular}
+ \end{tabular}
+ \end{usepicture}
\caption{Le classi di indirizzi secondo IPv4.}
\label{tab:IP_ipv4class}
\end{table}
\begin{table}[htb]
\centering
\footnotesize
+ \begin{usepicture}
\begin{tabular} {c@{\hspace{1mm}\vrule}
p{3mm}@{\vrule}p{3mm}@{\vrule}p{3mm}@{\vrule}p{3mm}@{\vrule}
p{3mm}@{\vrule}p{3mm}@{\vrule}p{3mm}@{\vrule}p{3mm}@{\vrule}
\multicolumn{20}{@{}c@{\vrule}}{\parbox[c]{60mm}{\centering host Id}} \\
\omit\hfill\vrule &&&&&&&& &&&&&&&& &&&&&&&& &&&&&&&& \\
\cline{2-33}
-\end{tabular}
+ \end{tabular}
+ \end{usepicture}
\caption{Uno esempio di indirizzamento CIDR.}
\label{tab:IP_ipv4cidr}
\end{table}
\begin{center}
\begin{tabular}{|l|c|p{9cm}|}
\hline
- \textbf{Nome} & \textbf{Lunghezza} & \textbf{Significato} \\
+ \textbf{Nome} & \textbf{Bit} & \textbf{Significato} \\
\hline
\hline
- \textit{version} & 4 bit & \textsl{versione}, nel caso
+ \textit{version} & 4 & \textsl{versione}, nel caso
specifico vale sempre 4\\
- \textit{head length} & 4 bit &\textsl{lunghezza dell'intestazione},
+ \textit{head length} & 4 &\textsl{lunghezza dell'intestazione},
in multipli di 32 bit\\
- \textit{type of service} & 8 bit & \textsl{tipo di servizio},
+ \textit{type of service} & 8 & \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 length} & 16 bit & \textsl{lunghezza totale}, indica
+ \textit{total length} & 16 & \textsl{lunghezza totale}, indica
la dimensione del pacchetto IP in byte\\
- \textit{identification} & 16 bit & \textsl{identificazione},
+ \textit{identification} & 16 & \textsl{identificazione},
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 &
+ \textit{flag} & 3 &
\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 & \textsl{offset di frammento},
indica la posizione del frammento rispetto al pacchetto originale\\
- \textit{time to live} & 16 bit & \textsl{tempo di vita},
+ \textit{time to live} & 16 & \textsl{tempo di vita},
ha lo stesso significato di
\textit{hop limit}, vedi Tab.~\ref{tab:IP_ipv6field}\\
- \textit{protocol} & 8 bit & \textsl{protocollo}
+ \textit{protocol} & 8 & \textsl{protocollo}
identifica il tipo di pacchetto che segue
l'intestazione di IPv4\\
- \textit{header checksum} & 16 bit & \textsl{checksum di intestazione},
+ \textit{header checksum} & 16 & \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 & \textsl{indirizzo di origine}\\
+ \textit{destination IP} & 32 & \textsl{indirizzo di destinazione}\\
\hline
\end{tabular}
\caption{Legenda per il significato dei campi dell'intestazione di IPv4}
non assegnato & \texttt{1111 0} & 1/32 \\
non assegnato & \texttt{1111 10} & 1/64 \\
non assegnato & \texttt{1111 110} & 1/128 \\
- non assegnato & \texttt{1111 1100 0} & 1/512 \\
+ non assegnato & \texttt{1111 1110 0} & 1/512 \\
\hline
- unicast link-local & \texttt{1111 1100 10} & 1/1024 \\
- unicast site-local & \texttt{1111 1100 11} & 1/1024 \\
+ unicast link-local & \texttt{1111 1110 10} & 1/1024 \\
+ unicast site-local & \texttt{1111 1110 11} & 1/1024 \\
\hline
\hline
multicast & \texttt{1111 1111} & 1/256 \\
\multicolumn{1}{c}{$n$ bit}&\multicolumn{1}{c}{$56-n$ bit}&
\multicolumn{1}{c}{64 bit} \\
\hline
- \omit\vrule\hfill\vrule&\hspace{16mm} & & &\omit\hspace{76mm}\hfill\vrule\\
+ \omit\vrule\hfill\vrule&\hspace{16mm} & & &\omit\hspace{76mm}\hfill\vrule\\
\centering 010&
\centering \textsl{Registry Id}&
\centering \textsl{Provider Id}&
i seguenti possibili valori per il \textsl{Registry Id};
gli altri valori restano riservati per la IANA.
\begin{table}[htb]
- \begin{center}
+ \centering
+ \footnotesize
\begin{tabular}{|l|l|l|}
\hline
\textbf{Regione} & \textbf{Registro} & \textbf{Id} \\
\caption{Valori dell'identificativo dei
Regional Register allocati ad oggi.}
\label{tab:IP_ipv6_regid}
- \end{center}
\end{table}
L'organizzazione degli indirizzi prevede poi che i due livelli successivi, di
Ci sono due tipi di indirizzi, \textit{link-local} e \textit{site-local}. Il
primo è usato per un singolo link; la struttura è mostrata in
-\tabref{tab:IP_ipv6_linklocal}, questi indirizzi iniziano sempre per
-\texttt{FE80} 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.
+\tabref{tab:IP_ipv6_linklocal}, questi indirizzi iniziano sempre con un 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.
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 \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.
+con un valore nell'intervallo \texttt{FEC0}--\texttt{FEFF} 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
Gli indirizzi di uso locale consentono ad una organizzazione che non è
(ancora) connessa ad Internet di operare senza richiedere un prefisso globale,
una volta che in seguito l'organizzazione venisse connessa a Internet
-potrebbe continuare a usare la stessa suddivisione effettuata con gli
+potrebbe con4tinuare a usare la stessa suddivisione effettuata con gli
indirizzi \textit{site-local} utilizzando un prefisso globale e la
rinumerazione degli indirizzi delle singole macchine sarebbe automatica.
\begin{table}[!htb]
\centering
\footnotesize
- \begin{tabular}[c]{l l r}
+ \begin{tabular}[c]{|l|l|l|}
\hline
\textbf{Uso}& \textbf{Indirizzi riservati} & \textbf{Definizione}\\
\hline
di integrità (ma senza riservatezza) dei pacchetti IP.
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,
+\figref{fig:autent_estens}: 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.
per allineare l'intestazione a 64 bit. Tutti gli algoritmi di autenticazione
devono provvedere questa capacità.
-\renewcommand\arraystretch{1.2}
-\begin{table}[htb]
- \footnotesize
- \begin{center}
- \begin{tabular}{@{\vrule}p{24mm}@{\vrule}p{24mm}
- @{\vrule}p{48mm}@{\vrule} }
- \multicolumn{3}{@{}c@{}}{0\hfill 15 16\hfill 31}\\
- \hline
- \centering Next Header&\centering Length&
- \centering Reserved \tabularnewline
- \hline
- \multicolumn{3}{@{\vrule}c@{\vrule}}
- {\centering Security Parameter Index (SPI)}\\
- \hline
- \multicolumn{3}{@{\vrule}c@{\vrule}}
- {\centering Sequence Number}\\
- \hline
- \multicolumn{3}{@{\vrule}c@{\vrule}}{} \\
- \multicolumn{3}{@{\vrule}c@{\vrule}}{Authentication Data} \\
- \multicolumn{3}{@{\vrule}c@{\vrule}}
- {\centering ... } \\
- \multicolumn{3}{@{\vrule}c@{\vrule}}{} \\
- \hline
- \end{tabular}
- \caption{Formato dell'intestazione dell'estensione di autenticazione}
- \label{tab:autent_estens}
- \end{center}
-\end{table}
-\renewcommand\arraystretch{1} %default
-
+\begin{figure}[!htb]
+ \centering
+ \includegraphics[width=10cm]{img/ah_option}
+ \caption{Formato dell'intestazione dell'estensione di autenticazione.}
+ \label{fig:autent_estens}
+\end{figure}
L'intestazione di autenticazione può essere impiegata in due modi diverse
modalità: modalità trasporto e modalità tunnel.
eccezion fatta per la \textit{Destination Option} che può comparire sia
prima che dopo.
-\begin{table}[htb]
- \footnotesize
- \begin{center}
- \begin{tabular*}{90mm}{|c|c|c|c|c|c|}
- \hline
- & & & & & \\
- IP Head &
- \parbox[c]{28mm}{hop by hop, dest., \\
- routing, fragment}& AH &
- dest.opt & TCP & data \\
- & & & & & \\
- \hline
- \end{tabular*}
- \caption{Formato dell'intestazione dell'estensione di autenticazione}
- \label{tab:autent_head}
- \end{center}
-\end{table}
-\begin{center}
- \begin{pspicture}(0,0)(9,0.8)
- \pnode(0,0){A}
- \pnode(9,0.4){B}
- \ncline{<->}{A}{B}\ncput{copertura dell'autenticazione}
- \end{pspicture}
-\end{center}
+\begin{figure}[!htb]
+ \centering
+ \includegraphics[width=10cm]{img/IP_AH_packet}
+ \caption{Formato di un pacchetto IPv6 che usa l'opzione di autenticazione.}
+ \label{fig:AH_autent_head}
+\end{figure}
La modalità tunnel può essere utilizzata sia per comunicazioni fra stazioni
-singole che con un gateway di sicurezza; in questa modalità
+singole che con un gateway di sicurezza; in questa modalità ...
L'intestazione di autenticazione è una intestazione di estensione inserita
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
+quella mostrata in \figref{fig:ESP_criptopack}, tutti i campi sono in chiaro
fino al vettore di inizializzazione, il resto è crittografato.
-\renewcommand\arraystretch{1.2}
-\begin{table}[htb]
- \footnotesize
- \begin{center}
- \begin{tabular}{@{\vrule}p{24mm}@{\vrule}p{24mm}@{\vrule}
- p{24mm}@{\vrule}p{24mm}@{\vrule}}
- \multicolumn{4}{@{}c@{}}{0\hfill 15 16\hfill 31}\\
- \hline
- \multicolumn{4}{@{\vrule}c@{\vrule}}{}\\
- \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}}{Intestazioni di estensione}\\
- \multicolumn{4}{@{\vrule}c@{\vrule}}{...}\\
- \multicolumn{4}{@{\vrule}c@{\vrule}}{}\\
- \hline
- \multicolumn{4}{@{\vrule}c@{\vrule}}
- {\centering Security Parameter Index}\\
- \hline
- \multicolumn{4}{@{\vrule}c@{\vrule}}
- {\centering Vettore}\\
- \multicolumn{4}{@{\vrule}c@{\vrule}}
- {\centering di inizializzazione}\\
- \hline
- \multicolumn{4}{@{\vrule}c@{\vrule}}{carico}\\
- \multicolumn{4}{@{\vrule}c@{\vrule}}{crittografato}\\
- \multicolumn{4}{@{\vrule}c@{\vrule}}{...}\\
- \cline{2-4}
- & \multicolumn{3}{c@{\vrule}}{}\\
- \cline{1-1}
- \cline{3-4}
- \multicolumn{1}{@{\vrule}c}{}&
- \centering \raisebox{2mm}[0pt][0pt]{riempimento} &
- \centering lunghezza pad &\centering tipo carico\tabularnewline
- \hline
- \end{tabular}
- \caption{Schema di pacchetto crittografato}
- \label{tab:criptopack}
- \end{center}
-\end{table}
-\renewcommand\arraystretch{1} %default
+
+
+\begin{figure}[!htb]
+ \centering
+ \includegraphics[width=10cm]{img/esp_option}
+ \caption{Schema di pacchetto crittografato.}
+ \label{tab:ESP_criptopack}
+\end{figure}
+
\subsection{Autoconfigurazione}
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.
+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