\label{sec:TCPel_connession}
Prima di entrare nei dettagli delle funzioni usate nelle applicazioni che
-utilizzano i socket TCP, è fondamentale spiegare alcune basi del funzionamento
-del TCP; la conoscenza del funzionamento del protocollo è infatti essenziale
-per capire il modello di programmazione ed il funzionamento delle interfacce
-di programmazione.
-
-In particolare ci concentreremo sulle modalità con le quali il protocollo dà
-inizio e conclude una connessione; faremo inoltre anche un breve accenno al
-significato di alcuni dei vari stati che il protocollo assume durante la vita
-di una connessione, che possono essere osservati per ciascun
-socket\index{socket} attivo con l'uso del programma \cmd{netstat}.
+utilizzano i socket TCP, è fondamentale spiegare alcune delle basi del
+funzionamento del protocollo poiché questa conoscenza è essenziale per
+comprendere il comportamento di dette funzioni per questi socket, ed il
+relativo modello di programmazione.
+
+Il protocollo TCP serve a creare degli \textit{stream socket}, cioè un canale
+di comunicazione che stabilisce una connessione fra due stazioni, in modo che
+queste possano scambiarsi i dati. In questo capitolo ci concentreremo sulle
+modalità con le quali il protocollo dà inizio e conclude una connessione e
+faremo inoltre un breve accenno al significato di alcuni dei vari stati che
+questa viene ad assumere durante la sua vita.
\subsection{La creazione della connessione: il \textit{three way handshake}}
\label{sec:TCPel_conn_cre}
\textsl{apertura attiva}, dall'inglese \textit{active open}. La chiamata di
\func{connect} blocca il processo e causa l'invio da parte del client di un
segmento SYN,\footnote{Si ricordi che il segmento è l'unità elementare di
- dati trasmessa dal protocollo TCP al livello superiore; tutti i segmenti
+ dati trasmessa dal protocollo TCP al livello successivo; tutti i segmenti
hanno un header che contiene le informazioni che servono allo
\textit{stack TCP} (così viene di solito chiamata la parte del kernel che
implementa il protocollo) per realizzare la comunicazione, fra questi dati