-\chapter{Socket TCP elementari}
-
-Esamineremo in questo capitolo quanto necessario per capire come scrivere un
-client e un server TCP, riprendendo quanto visto in \ref{sec:net_cli_sample} e
-\ref{sec:net_cli_server}.
-
-
-
-\subsection{Creazione e terminazione della connessione TCP}
-
-Per capire il funzionamento delle funzioni della interfaccia dei socket che
-operano con TCP (le varie \texttt{connect}, \texttt{accept}, \texttt{close}
-che abbiamo visto negli esempi iniziali e su cui torneremo più avatni) è
-fodamentale capire come funziona la creazione e la conclusione di una
-connessione TCP.
-
-
-
-
-\subsection{Le porte}
-
-
+Quando un pacchetto IP viene inviato su una interfaccia di rete e le sue
+dimensioni eccedono la MTU viene eseguita la cosiddetta
+\textit{frammentazione} (sia da IPv4 che da IPv6, anche se i pacchetti
+frammentati sono gestiti con modalità diverse\footnote{il primo usa un flag
+ nell'header, il secondo una opportuna opzione, si veda
+ \ref{cha:ip_protcol}}), i pacchetti cioè vengono spezzati in blocchi più
+piccoli che possono essere trasmessi attraverso l'interfaccia.
+
+Una delle differenze fra IPv4 e IPv6 é che per IPv6 la frammentazione può
+essere eseguita solo alla sorgente, questo vuol dire che i router IPv6 non
+frammentano i pacchetti che trasmettono (anche se possono frammentare i
+pacchetti che generano loro stessi), mentre i router IPv4 si. In ogni caso una
+volta frammentati i pacchetti possono essere riassemblati solo alla
+destinazione.
+
+Nell'header di IPv4 è previsto il flag \texttt{DF} che specifica che il
+pacchetto non deve essere frammentato; un router che riceva uno di questi
+pacchetti le cui dimensioni eccedono quelle dell'MTU della rete di
+destinazione genererà un messaggio di errore ICMPv4 di tipo
+\textit{destination unreachable, fragentation needed but DF bit set}.
+
+Dato che i router IPv6 non possono effettuare la frammentazione la ricezione
+di un pacchetto di dimensione eccessiva per la ritrasmissione genererà sempre
+un messaggio di errore ICMPv6 di tipo \textit{paket too big}.
+
+Dato che il meccanismo di frammentazione e riassemblaggio comporta
+inefficienza è opportuno che la trasmissione di grosse quantità di dati sia
+gestita in maniera oculata, TCP provvede un meccanismo automatico di
+
+In genere il flag DF di IPv4 (e il comportamento normale di IPv6) vengono
+utilizzati per il processo della \textit{path MTU discover} (vedi RFC1191 per
+IPv4 e RFC1981 per IPv6) in cui inviando delle opportune serie di pacchetti si
+trova il \textit{path MTU}; TCP usa questo meccanismo che è opzionale per
+IPv4, ma necessario (dato che i pacchetti verrebbero bloccati) per IPv6.
+
+Infine TCP definisce una \textit{maximum segment size} MSS che annuncia
+all'altro capo la dimensione massima del segmento di dati
+
+
+\subsection{Il passaggio dei dati in TCP}
+\label{sec:net_tcp_pass}
+
+\subsection{Il passaggio dei dati in UDP}
+\label{sec:net_udp_pass}