Aggiornamento anno note di copyright, dimenticato da gennaio...
[gapil.git] / netlayer.tex
index 61db5ce337c24c845db731020a9f771923ccfab7..9ecb451e74261c71077e0b94683ba939959dc24e 100644 (file)
@@ -1,15 +1,13 @@
 %% netlayer.tex
 %%
 %% netlayer.tex
 %%
-%% Copyright (C) 2000-2006 Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2000-2008 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 "Un preambolo",
 %% 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".
 %% 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",
 %% 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 livello di rete}
 \label{cha:network_layer}
 
 \chapter{Il livello di rete}
 \label{cha:network_layer}
@@ -26,7 +24,8 @@ Data la loro prevalenza il capitolo sar
 protocolli principali esistenti su questo livello: il protocollo IP, sigla che
 sta per \textit{Internet Protocol}, (ma che più propriamente si dovrebbe
 chiamare IPv4) ed la nuova versione di questo stesso protocollo, denominata
 protocolli principali esistenti su questo livello: il protocollo IP, sigla che
 sta per \textit{Internet Protocol}, (ma che più propriamente si dovrebbe
 chiamare IPv4) ed la nuova versione di questo stesso protocollo, denominata
-IPv6.
+IPv6. Tratteremo comunque anche il protocollo ICMP e la sua versione
+modificata per IPv6 (cioè ICMPv6).
 
 
 \section{Il protocollo IP}
 
 
 \section{Il protocollo IP}
@@ -159,7 +158,7 @@ classe A occorre passare a una classe B, che ne prevede 65536,\footnote{in
   realtà i valori esatti sarebbero 254 e 65536, una rete con a disposizione
   $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
   realtà i valori esatti sarebbero 254 e 65536, una rete con a disposizione
   $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
-  uno per l'indirizzo di \itindex{broadcast}\textit{broadcast}.} con un
+  uno per l'indirizzo di \itindex{broadcast} \textit{broadcast}.} con un
 conseguente spreco di numeri.
 
 Inoltre, in particolare per le reti di classe C, la presenza di tanti
 conseguente spreco di numeri.
 
 Inoltre, in particolare per le reti di classe C, la presenza di tanti
@@ -238,45 +237,46 @@ pacchetto (cio
       \textbf{Nome} & \textbf{Bit} & \textbf{Significato} \\
       \hline
       \hline
       \textbf{Nome} & \textbf{Bit} & \textbf{Significato} \\
       \hline
       \hline
-      \textit{version}       & 4& numero di \textsl{versione}, nel caso 
+      \textit{version}       & 4& Numero di \textsl{versione}, nel caso 
                                   specifico vale sempre 4.\\
                                   specifico vale sempre 4.\\
-      \textit{head length}   & 4& lunghezza dell'intestazione,
+      \textit{head length}   & 4& Lunghezza dell'intestazione,
                                   in multipli di 32 bit.\\
                                   in multipli di 32 bit.\\
-      \textit{type of service}&8& \textsl{tipo di servizio}, è suddiviso in:
-                                  3 bit di precedenza, che nelle attuali
+      \textit{type of service}&8& Il ``\textsl{tipo di servizio}'', è suddiviso
+                                  in: 3 bit di precedenza, che nelle attuali
                                   implementazioni del protocollo non vengono
                                   comunque utilizzati; un bit riservato che
                                   deve essere mantenuto a 0; 4 bit che
                                   identificano il tipo di servizio
                                   richiesto, uno solo dei quali può essere
                                   attivo.\\ 
                                   implementazioni del protocollo non vengono
                                   comunque utilizzati; un bit riservato che
                                   deve essere mantenuto a 0; 4 bit che
                                   identificano il tipo di servizio
                                   richiesto, uno solo dei quali può essere
                                   attivo.\\ 
-      \textit{total length}  &16& \textsl{lunghezza totale}, indica 
+      \textit{total length}  &16& La \textsl{lunghezza totale}, indica 
                                   la dimensione del carico di dati del
                                   pacchetto IP in byte.\\ 
                                   la dimensione del carico di dati del
                                   pacchetto IP in byte.\\ 
-      \textit{identification}&16& \textsl{identificazione}, assegnato alla
+      \textit{identification}&16& L'\textsl{identificazione}, assegnato alla
                                   creazione, è aumentato di uno all'origine
                                   della trasmissione di ciascun pacchetto, ma
                                   resta lo stesso per i pacchetti
                                   frammentati, consentendo così di
                                   identificare quelli che derivano dallo
                                   stesso pacchetto originario.\\
                                   creazione, è aumentato di uno all'origine
                                   della trasmissione di ciascun pacchetto, ma
                                   resta lo stesso per i pacchetti
                                   frammentati, consentendo così di
                                   identificare quelli che derivano dallo
                                   stesso pacchetto originario.\\
-      \textit{flag}          & 3& \textsl{flag}, sono nell'ordine: il primo è
-                                  riservato e sempre nullo, il secondo indica
-                                  se il pacchetto non può essere frammentato,
-                                  il terzo se ci sono ulteriori frammenti.\\ 
-      \textit{fragmentation offset}&13& \textsl{offset di frammento}, indica
+      \textit{flag}          & 3& I \textsl{flag} di controllo nell'ordine: il 
+                                  primo è riservato e sempre nullo, il secondo
+                                  indica se il pacchetto non può essere 
+                                  frammentato, il terzo se ci sono ulteriori
+                                  frammenti.\\  
+      \textit{fragmentation offset}&13& L'\textsl{offset di frammento}, indica
                                   la posizione del frammento rispetto al
                                   pacchetto originale.\\
                                   la posizione del frammento rispetto al
                                   pacchetto originale.\\
-      \textit{time to live}  &16& \textsl{tempo di vita}, è decrementato di
+      \textit{time to live}  &16& Il \textsl{tempo di vita}, è decrementato di
                                   uno ogni volta che un router ritrasmette il
                                   pacchetto, se arriva a zero il pacchetto
                                   viene scartato.\\ 
                                   uno ogni volta che un router ritrasmette il
                                   pacchetto, se arriva a zero il pacchetto
                                   viene scartato.\\ 
-      \textit{protocol}      & 8& \textsl{protocollo}, identifica il tipo di
+      \textit{protocol}      & 8& Il \textsl{protocollo}, identifica il tipo di
                                   pacchetto che segue l'intestazione di IPv4.\\
                                   pacchetto che segue l'intestazione di IPv4.\\
-      \textit{header checksum}&16&\textsl{checksum di intestazione}, somma di
-                                  controllo per l'intestazione.\\ 
-      \textit{source IP}     &32& \textsl{indirizzo di origine}.\\
-      \textit{destination IP}&32& \textsl{indirizzo di destinazione}.\\
+      \textit{header checksum}&16&La \textsl{checksum di intestazione}, somma 
+                                  di controllo per l'intestazione.\\ 
+      \textit{source IP}     &32& L'\textsl{indirizzo di origine}.\\
+      \textit{destination IP}&32& L'\textsl{indirizzo di destinazione}.\\
       \hline
     \end{tabular}
     \caption{Legenda per il significato dei campi dell'intestazione di IPv4}
       \hline
     \end{tabular}
     \caption{Legenda per il significato dei campi dell'intestazione di IPv4}
@@ -293,18 +293,18 @@ questo campo.
 \begin{table}[!htb]
   \centering
   \footnotesize
 \begin{table}[!htb]
   \centering
   \footnotesize
-  \begin{tabular}[c]{|l|l|}
+  \begin{tabular}[c]{|l|p{6 cm}|}
     \hline
     \textbf{Costante} & \textbf{Significato} \\
     \hline
     \hline
     \hline
     \textbf{Costante} & \textbf{Significato} \\
     \hline
     \hline
-    \const{IPTOS\_LOWDELAY}   & minimizza i ritardi per il traffico
+    \const{IPTOS\_LOWDELAY}   & Minimizza i ritardi per il traffico
                                 interattivo. \\
                                 interattivo. \\
-    \const{IPTOS\_THROUGHPUT} & ottimizza la trasmissione per il massimo
+    \const{IPTOS\_THROUGHPUT} & Ottimizza la trasmissione per il massimo
                                 flusso di dati.\\
                                 flusso di dati.\\
-    \const{IPTOS\_RELIABILITY}& ottimizza per l'affidabilità della
+    \const{IPTOS\_RELIABILITY}& Ottimizza per l'affidabilità della
                                 trasmissione. \\
                                 trasmissione. \\
-    \const{IPTOS\_MINCOST}    & usato per dati di riempimento, dove non
+    \const{IPTOS\_MINCOST}    & Usato per dati di riempimento, dove non
                                 interessa se c'è una bassa velocità di
                                 trasmissione.\\
     \hline
                                 interessa se c'è una bassa velocità di
                                 trasmissione.\\
     \hline
@@ -395,7 +395,7 @@ grandi linee nei seguenti punti:
 \begin{itemize}
 \item l'espansione delle capacità di indirizzamento e instradamento, per
   supportare una gerarchia con più livelli di indirizzamento, un numero di
 \begin{itemize}
 \item l'espansione delle capacità di indirizzamento e instradamento, per
   supportare una gerarchia con più livelli di indirizzamento, un numero di
-  nodi indirizzabili molto maggiore e una autoconfigurazione degli indirizzi
+  nodi indirizzabili molto maggiore e una auto-configurazione degli indirizzi
 \item l'introduzione un nuovo tipo di indirizzamento, l'\textit{anycast} che
   si aggiungono agli usuali \textit{unicast} e \itindex{multicast}
   \textit{multicast}
 \item l'introduzione un nuovo tipo di indirizzamento, l'\textit{anycast} che
   si aggiungono agli usuali \textit{unicast} e \itindex{multicast}
   \textit{multicast}
@@ -481,25 +481,25 @@ numero dei campi da 12 a 8.
       \textbf{Nome} & \textbf{Bit} & \textbf{Significato} \\
       \hline
       \hline
       \textbf{Nome} & \textbf{Bit} & \textbf{Significato} \\
       \hline
       \hline
-      \textit{version}       & 4& \textsl{versione}, nel caso specifico vale
+      \textit{version}       & 4& La \textsl{versione}, nel caso specifico vale
                                   sempre 6.\\ 
                                   sempre 6.\\ 
-      \textit{priority}      & 4& \textsl{priorità}, vedi
+      \textit{priority}      & 4& La \textsl{priorità}, vedi
                                   sez.~\ref{sec:IPv6_prio}.\\
                                   sez.~\ref{sec:IPv6_prio}.\\
-      \textit{flow label}    &24& \textsl{etichetta di flusso}, vedi
+      \textit{flow label}    &24& L'\textsl{etichetta di flusso}, vedi
                                   sez.~\ref{sec:IP_ipv6_flow}.\\ 
                                   sez.~\ref{sec:IP_ipv6_flow}.\\ 
-      \textit{payload length}&16& \textsl{lunghezza del carico}, cioè del
+      \textit{payload length}&16& La \textsl{lunghezza del carico}, cioè del
                                   corpo dei dati che segue l'intestazione, in
                                   byte. \\ 
                                   corpo dei dati che segue l'intestazione, in
                                   byte. \\ 
-      \textit{next header}   & 8& \textsl{intestazione successiva}, identifica
-                                  il tipo di pacchetto che segue
-                                  l'intestazione di IPv6, usa gli stessi
+      \textit{next header}   & 8& L'\textsl{intestazione successiva}, 
+                                  identifica il tipo di pacchetto che segue
+                                  l'intestazione di IPv6, ed usa gli stessi
                                   valori del campo protocollo
                                   nell'intestazione di IPv4.\\ 
                                   valori del campo protocollo
                                   nell'intestazione di IPv4.\\ 
-      \textit{hop limit}     & 8& \textsl{limite di salti}, stesso significato
-                                  del \textit{time to live} nell'intestazione
-                                  di IPv4.\\ 
-      \textit{source IP}     &128&\textsl{indirizzo di origine}.\\
-      \textit{destination IP}&128&\textsl{indirizzo di destinazione}.\\
+      \textit{hop limit}     & 8& Il \textsl{limite di salti}, ha lo stesso 
+                                  significato del \textit{time to live} 
+                                  nell'intestazione di IPv4.\\ 
+      \textit{source IP}     &128&L'\textsl{indirizzo di origine}.\\
+      \textit{destination IP}&128&L'\textsl{indirizzo di destinazione}.\\
       \hline
     \end{tabular}
     \caption{Legenda per il significato dei campi dell'intestazione di IPv6}
       \hline
     \end{tabular}
     \caption{Legenda per il significato dei campi dell'intestazione di IPv6}
@@ -800,9 +800,9 @@ delle scheda di rete, e si usano i restanti 16~bit per indicare la sottorete.
 \end{table}
 
 Qualora si dovesse avere a che fare con una necessità di un numero più
 \end{table}
 
 Qualora si dovesse avere a che fare con una necessità di un numero più
-elevato di sottoreti, il precedente schema andrebbe modificato, per evitare
+elevato di sotto-reti, il precedente schema andrebbe modificato, per evitare
 l'enorme spreco dovuto all'uso dei MAC-address, a questo scopo si possono
 l'enorme spreco dovuto all'uso dei MAC-address, a questo scopo si possono
-usare le capacità di autoconfigurazione di IPv6 per assegnare indirizzi
+usare le capacità di auto-configurazione di IPv6 per assegnare indirizzi
 generici con ulteriori gerarchie per sfruttare efficacemente tutto lo spazio
 di indirizzi.
 
 generici con ulteriori gerarchie per sfruttare efficacemente tutto lo spazio
 di indirizzi.
 
@@ -848,7 +848,7 @@ localmente (all'interno di un sito o di una sottorete), e possono avere una
 unicità locale o globale.
 
 Questi indirizzi sono pensati per l'uso all'interno di un sito per mettere su
 unicità locale o globale.
 
 Questi indirizzi sono pensati per l'uso all'interno di un sito per mettere su
-una comunicazione locale immediata, o durante le fasi di autoconfigurazione
+una comunicazione locale immediata, o durante le fasi di auto-configurazione
 prima di avere un indirizzo globale.
 
 \begin{table}[htb]
 prima di avere un indirizzo globale.
 
 \begin{table}[htb]
@@ -1192,24 +1192,24 @@ tab.~\ref{tab:IP_ipv6_nexthead}.
       \textbf{Valore} & \textbf{Keyword} & \textbf{Tipo di protocollo} \\
       \hline
       \hline
       \textbf{Valore} & \textbf{Keyword} & \textbf{Tipo di protocollo} \\
       \hline
       \hline
-      0  &      & riservato\\
-         & HBH  & Hop by Hop \\
-      1  & ICMP & Internet Control Message (IPv4 o IPv6) \\
-      2  & ICMP & Internet Group Management (IPv4) \\
-      3  & GGP  & Gateway-to-Gateway \\
-      4  & IP   & IP in IP (IPv4 encapsulation) \\
-      5  & ST   & Stream \\
-      6  & TCP  & Trasmission Control \\
-      17 & UDP  & User Datagram \\
-      43 & RH   & Routing Header (IPv6) \\
-      44 & FH   & Fragment Header (IPv6) \\
-      45 & IDRP & Inter Domain Routing \\
-      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 \\
+      0  &      & Riservato.\\
+         & HBH  & Hop by Hop.\\
+      1  & ICMP & Internet Control Message (IPv4 o IPv6).\\
+      2  & ICMP & Internet Group Management (IPv4).\\
+      3  & GGP  & Gateway-to-Gateway.\\
+      4  & IP   & IP in IP (IPv4 encapsulation).\\
+      5  & ST   & Stream.\\
+      6  & TCP  & Trasmission Control.\\
+      17 & UDP  & User Datagram.\\
+      43 & RH   & Routing Header (IPv6).\\
+      44 & FH   & Fragment Header (IPv6).\\
+      45 & IDRP & Inter Domain Routing.\\
+      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.\\
     \hline
     \end{tabular}
     \caption{Tipi di protocolli e intestazioni di estensione}
     \hline
     \end{tabular}
     \caption{Tipi di protocolli e intestazioni di estensione}
@@ -1287,12 +1287,12 @@ valori di priorit
     \textbf{Valore} & \textbf{Tipo di traffico} \\
     \hline
     \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.\\
     \hline
 \end{tabular}
 \caption{Formato di un indirizzo \textit{site-local}.}
     \hline
 \end{tabular}
 \caption{Formato di un indirizzo \textit{site-local}.}
@@ -1436,15 +1436,15 @@ fino al vettore di inizializzazione, il resto 
 
 
 
 
 
 
-\subsection{Autoconfigurazione}
+\subsection{Auto-configurazione}
 \label{sec:IP_ipv6_autoconf}
 
 \label{sec:IP_ipv6_autoconf}
 
-Una delle caratteristiche salienti di IPv6 è quella dell'autoconfigurazione,
+Una delle caratteristiche salienti di IPv6 è quella dell'auto-configurazione,
 il protocollo infatti fornisce la possibilità ad un nodo di scoprire
 automaticamente il suo indirizzo acquisendo i parametri necessari per potersi
 connettere a internet.
 
 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
+L'auto-configurazione 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
 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
@@ -1463,13 +1463,13 @@ 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
 
 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
+auto-configurazione, descritte nelle seguenti sezioni. In ogni caso
 l'indirizzo link-local resta valido.
 
 l'indirizzo link-local resta valido.
 
-\subsection{Autoconfigurazione stateless}
+\subsection{Auto-configurazione stateless}
 \label{sec:stateless}
 
 \label{sec:stateless}
 
-Questa è la forma più semplice di autoconfigurazione, possibile quando
+Questa è la forma più semplice di auto-configurazione, 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.
 l'indirizzo globale può essere ricavato dall'indirizzo link-local cambiando
 semplicemente il prefisso a quello assegnato dal provider per ottenere un
 indirizzo globale.
@@ -1491,10 +1491,10 @@ 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.
 
 supera i 128 bit, la stazione ottiene automaticamente il suo indirizzo
 globale.
 
-\subsection{Autoconfigurazione stateful}
+\subsection{Auto-configurazione stateful}
 \label{sec:stateful}
 
 \label{sec:stateful}
 
-Benché estremamente semplice l'autoconfigurazione stateless presenta alcuni
+Benché estremamente semplice l'auto-configurazione 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
 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
@@ -1509,11 +1509,128 @@ interrogher
 l'indirizzo link-local e riceverà un indirizzo unicast globale.
 
 
 l'indirizzo link-local e riceverà un indirizzo unicast globale.
 
 
+\section{Il protocollo ICMP}
+\label{sec:ICMP_protocol}
+
+Come già accennato nelle sezioni precedenti, l'\textit{Internet Control
+  Message Protocol} è un protocollo di servizio fondamentale per il
+funzionamento del livello di rete. Il protocollo ICMP viene trasportato
+direttamente su IP, ma proprio per questa sua caratteristica di protocollo di
+servizio è da considerarsi a tutti gli effetti appartenente al livello di
+rete.
+
+
+\subsection{L'intestazione di ICMP}
+\label{sec:ICMP_header}
+
+Il protocollo ICMP è estremamente semplice, ed il suo unico scopo è quello di
+inviare messaggi di controllo; in fig.~\ref{fig:ICMP_header} si è riportata la
+struttura dell'intestazione di un pacchetto ICMP generico. 
+
+\begin{figure}[htb]
+  \centering \includegraphics[width=12cm]{img/icmp_head}
+  \caption{L'intestazione del protocollo ICMP.}
+  \label{fig:ICMP_header}
+\end{figure}
+
+
+
+
+\begin{table}[!htb]
+  \centering
+  \footnotesize
+  \begin{tabular}{|l|l|p{9.5cm}|}
+    \hline
+    \textbf{Valore}&\textbf{Tipo}&\textbf{Significato}\\
+    \hline
+    \hline
+    \texttt{any} & -- & Seleziona tutti i possibili valori \\
+    \hline
+    \texttt{echo-reply}             &0& Inviato in risposta ad un ICMP
+                                        \textit{echo-request}.\\ 
+    \texttt{destination-unreachable}&3& Segnala una destinazione 
+                                        irraggiungibile, viene
+                                        inviato all'IP sorgente di un
+                                        pacchetto quando un router realizza
+                                        che questo non può essere inviato a
+                                        destinazione.\\
+    \texttt{source-quench}          &4& Inviato in caso di congestione della
+                                        rete per indicare all'IP sorgente di
+                                        diminuire il traffico inviato.\\
+    \texttt{redirect}               &5& Inviato per segnalare un errore di
+                                        routing, richiede che la macchina
+                                        sorgente rediriga il traffico ad un
+                                        altro router da esso specificato.\\
+    \texttt{echo-request}           &8& Richiede l'invio in risposta di un
+                                        \texttt{echo-reply}.\\
+%    \texttt{router-advertisement}   & & \\
+%    \texttt{router-solicitation}    & & \\
+    \texttt{time-exceeded}          &11& Inviato quando il TTL di un pacchetto
+                                         viene azzerato.\\
+    \texttt{parameter-problem}      &12& Inviato da un router che rileva dei
+                                         problemi con l'intestazione di un
+                                         pacchetto.\\
+    \texttt{timestamp-request}      &13& Richiede l'invio in risposta di un
+                                         \texttt{timestamp-reply}.\\
+    \texttt{timestamp-reply}        &14& Inviato in risposta di un
+                                         \texttt{timestamp-request}.\\
+    \texttt{info-request}           &15& Richiede l'invio in risposta di un
+                                         \texttt{info-reply}.\\
+    \texttt{info-reply}             &16& Inviato in risposta di un
+                                         \texttt{info-request}.\\
+    \texttt{address-mask-request}   &17& Richiede l'invio in risposta di un
+                                         \texttt{address-mask-reply}.\\
+    \texttt{address-mask-reply}     &18& Inviato in risposta di un
+                                         \texttt{address-mask-request}.\\
+    \hline
+  \end{tabular}
+  \caption{I valori del \textsl{tipo} per i pacchetti ICMP.}
+\label{tab:ICMP_type}
+\end{table}
+
+
+
+\begin{table}[!htb]
+  \centering
+  \footnotesize
+  \begin{tabular}{|l|l|}
+    \hline
+    \textbf{Valore}&\textbf{Codice}\\
+    \hline
+    \hline
+    \texttt{network-unreachable}      &0\\
+    \texttt{host-unreachable}         &1\\
+    \texttt{protocol-unreachable}     &2\\
+    \texttt{port-unreachable}         &3 \\
+    \texttt{fragmentation-needed}     &4\\
+    \texttt{source-route-failed}      &5\\
+    \texttt{network-unknown}          &6\\
+    \texttt{host-unknown}             &7\\
+    \texttt{host-isolated}            &8\\
+    \texttt{network-prohibited}       &9\\
+    \texttt{host-prohibited}          &10 \\
+    \texttt{TOS-network-unreachable}  &11 \\
+    \texttt{TOS-host-unreachable}     &12 \\
+    \texttt{communication-prohibited} &13 \\
+    \texttt{host-precedence-violation}&14 \\
+    \texttt{precedence-cutoff}        &15 \\
+    \hline
+    \texttt{network-redirect}         &0  \\
+    \texttt{host-redirect}            &1  \\
+    \texttt{TOS-network-redirect}     &2  \\
+    \texttt{TOS-host-redirect}        &3  \\
+    \hline
+    \texttt{ttl-zero-during-transit}  &0 \\
+    \texttt{ttl-zero-during-reassembly}&1 \\
+    \hline
+    \texttt{ip-header-bad}            &0 \\
+    \texttt{required-option-missing}  &1 \\
+    \hline
+  \end{tabular}
+  \caption{Valori del campo \textsl{codice} per il protocollo ICMP.}
+\label{tab:ICMP_code}
+\end{table}
 
 
-%%% Local Variables: 
-%%% mode: latex
-%%% TeX-master: "gapil"
-%%% End: 
 
 % LocalWords:  sez Protocol IPv dall' RFC Ethernet Token FDDI Universal host of
 % LocalWords:  addressing Best effort l'host router IANA Assigned Number tab to
 
 % LocalWords:  sez Protocol IPv dall' RFC Ethernet Token FDDI Universal host of
 % LocalWords:  addressing Best effort l'host router IANA Assigned Number tab to
@@ -1524,16 +1641,27 @@ l'indirizzo link-local e ricever
 % LocalWords:  destination identification fragment checksum TCP UDP ICMPv type
 % LocalWords:  service head total fragmentation protocol broadcast broadcasting
 % LocalWords:  multicasting path MTU discovery NSAP IPX based geografic local
 % LocalWords:  destination identification fragment checksum TCP UDP ICMPv type
 % LocalWords:  service head total fragmentation protocol broadcast broadcasting
 % LocalWords:  multicasting path MTU discovery NSAP IPX based geografic local
-% LocalWords:  routing format prefix nell' Registry Subscriber Intra Regional
+% LocalWords:  routing format prefix Registry Subscriber Intra Regional
 % LocalWords:  Register INTERNIC NCC APNIC subscriber Interface MAC address Reg
 % LocalWords:  Subnet Naz Prov Subscr FEBF bootstrap FEC FEFF DNS socket FFFF
 % LocalWords:  sull'host loopback scop all nodes routers rip cbt name dhcp HBH
 % LocalWords:  agents servers relays solicited extension options route Keyword
 % LocalWords:  Authentication Encapsulation ICMP Control Message GGP Gateway ST
 % LocalWords:  Register INTERNIC NCC APNIC subscriber Interface MAC address Reg
 % LocalWords:  Subnet Naz Prov Subscr FEBF bootstrap FEC FEFF DNS socket FFFF
 % LocalWords:  sull'host loopback scop all nodes routers rip cbt name dhcp HBH
 % LocalWords:  agents servers relays solicited extension options route Keyword
 % LocalWords:  Authentication Encapsulation ICMP Control Message GGP Gateway ST
-% LocalWords:  encapsulation Stream Trasmission Datagram RH FH IDRP ESP Null
+% LocalWords:  encapsulation Stream Trasmission Datagram RH FH IDRP ESP Null ip
 % LocalWords:  Encrypted Security IGRP OSPF Short First tunnelling FFFFFF hash
 % LocalWords:  news FTP NFS authentication Parameter Index ICV Integrity Value
 % LocalWords:  Encrypted Security IGRP OSPF Short First tunnelling FFFFFF hash
 % LocalWords:  news FTP NFS authentication Parameter Index ICV Integrity Value
-% LocalWords:  padding Option gateway dell'MD keyed Encripted IEEE ethernet
-% LocalWords:  dell'autoconfigurazione L'autoconfigurazione Solicitation l'IP
-% LocalWords:  stateless solicitation Advertisement stateful Transfer Unit
-% LocalWords:  l'autoconfigurazione
+% LocalWords:  padding Option gateway dell'MD keyed Encripted IEEE ethernet any
+% LocalWords:  Solicitation
+% LocalWords:  stateless solicitation Advertisement stateful Transfer Unit echo
+% LocalWords:  l'autoconfigurazione reply request unreachable all'IP quench TTL
+% LocalWords:  redirect exceeded parameter problem timestamp info mask port ttl
+% LocalWords:  needed failed unknown isolated prohibited communication cutoff
+% LocalWords:  precedence violation during reassembly bad required option
+% LocalWords:  missing
+
+
+
+%%% Local Variables: 
+%%% mode: latex
+%%% TeX-master: "gapil"
+%%% End: