+Come illustrato in fig.~\ref{fig:net_tcpip_data_flux} (si ricordi quanto detto
+in sez.~\ref{sec:net_tcpip_overview} riguardo al funzionamento generale del
+TCP/IP), per eseguire il suo compito il protocollo IP inserisce (come
+praticamente ogni protocollo di rete) una opportuna intestazione in cima ai
+dati che deve trasmettere, la cui schematizzazione è riportata in
+fig.~\ref{fig:IP_ipv4_head}.
+
+\begin{figure}[htb]
+ \centering
+ \includegraphics[width=10cm]{img/ipv4_head}
+ \caption{L'intestazione o \textit{header} di IPv4.}
+ \label{fig:IP_ipv4_head}
+\end{figure}
+
+Ciascuno dei campi illustrati in fig.~\ref{fig:IP_ipv4_head} ha un suo preciso
+scopo e significato, che si è riportato brevemente in
+tab.~\ref{tab:IP_ipv4field}; si noti come l'intestazione riporti sempre due
+indirizzi IP, quello \textsl{sorgente}, che indica l'IP da cui è partito il
+pacchetto (cioè l'indirizzo assegnato alla macchina che lo spedisce) e quello
+\textsl{destinazione} che indica l'indirizzo a cui deve essere inviato il
+pacchetto (cioè l'indirizzo assegnato alla macchina che lo riceverà).
+
+\begin{table}[!hbt]
+ \footnotesize
+ \begin{center}
+ \begin{tabular}{|l|c|p{10cm}|}
+ \hline
+ \textbf{Nome} & \textbf{Bit} & \textbf{Significato} \\
+ \hline
+ \hline
+ \textit{version} & 4& numero di \textsl{versione}, nel caso
+ specifico vale sempre 4.\\
+ \textit{head length} & 4& lunghezza dell'intestazione,
+ in multipli di 32 bit.\\
+ \textit{type of service}&8& \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.\\
+ \textit{total length} &16& \textsl{lunghezza totale}, indica
+ la dimensione del carico di dati del
+ pacchetto IP in byte.\\
+ \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, 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
+ la posizione del frammento rispetto al
+ pacchetto originale.\\
+ \textit{time to live} &16& \textsl{tempo di vita}, è decrementato di
+ 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
+ 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}.\\
+ \hline
+ \end{tabular}
+ \caption{Legenda per il significato dei campi dell'intestazione di IPv4}
+ \label{tab:IP_ipv4field}
+ \end{center}
+\end{table}
+