From: Simone Piccardi Date: Sat, 12 Apr 2003 21:09:24 +0000 (+0000) Subject: Correzioni per l'introduzione X-Git-Url: https://gapil.gnulinux.it/gitweb/?a=commitdiff_plain;h=877a1d6577ab41ce13b0a2794b73885d98e0d7cc;p=gapil.git Correzioni per l'introduzione --- diff --git a/elemtcp.tex b/elemtcp.tex index 4753bb2..ba1760a 100644 --- a/elemtcp.tex +++ b/elemtcp.tex @@ -22,16 +22,17 @@ caratteristiche del funzionamento di una connessione TCP. \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} @@ -55,7 +56,7 @@ creazione di una connessione \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