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}
\begin{table}[!htb]
\centering
\footnotesize
- \begin{tabular}[c]{|l|l|}
+ \begin{tabular}[c]{|l|p{6 cm}|}
\hline
\textbf{Costante} & \textbf{Significato} \\
\hline
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 Protocol} è 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: 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: padding Option gateway dell'MD keyed Encripted IEEE ethernet
+% LocalWords: padding Option gateway dell'MD keyed Encripted IEEE ethernet any
% LocalWords: dell'autoconfigurazione L'autoconfigurazione Solicitation l'IP
-% LocalWords: stateless solicitation Advertisement stateful Transfer Unit
-% LocalWords: l'autoconfigurazione
+% 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: