Aggiunto materiale e qualche figura.
[gapil.git] / netlayer.tex
index 61db5ce337c24c845db731020a9f771923ccfab7..2a36778ffd0d30c9996af56592ee0c1b5044ceff 100644 (file)
@@ -1,6 +1,6 @@
 %% netlayer.tex
 %%
 %% netlayer.tex
 %%
-%% Copyright (C) 2000-2006 Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2000-2007 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",
 %% 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",
@@ -9,8 +9,6 @@
 %% License".
 %%
 
 %% 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
@@ -293,7 +292,7 @@ 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
     \textbf{Costante} & \textbf{Significato} \\
     \hline
@@ -1509,11 +1508,124 @@ 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}
+
+Il protocollo ICMP \textit{Internet Control Message Protocolo} è un protocollo
+di servizio fondamentale per il funzionamento del livello di rete. I pacchetti
+
+
+\subsection{L'intestazione di ICMP}
+\label{sec:ICMP_header}
+
+
+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
@@ -1537,3 +1649,11 @@ l'indirizzo link-local e ricever
 % LocalWords:  dell'autoconfigurazione L'autoconfigurazione Solicitation l'IP
 % LocalWords:  stateless solicitation Advertisement stateful Transfer Unit
 % LocalWords:  l'autoconfigurazione
 % LocalWords:  dell'autoconfigurazione L'autoconfigurazione Solicitation l'IP
 % LocalWords:  stateless solicitation Advertisement stateful Transfer Unit
 % LocalWords:  l'autoconfigurazione
+
+
+
+
+%%% Local Variables: 
+%%% mode: latex
+%%% TeX-master: "gapil"
+%%% End: