From: Simone Piccardi Date: Tue, 24 Apr 2001 22:28:17 +0000 (+0000) Subject: Spostata roba su socket TCP in un nuovo file (nuovo capitolo) X-Git-Url: https://gapil.gnulinux.it/gitweb/?a=commitdiff_plain;h=ace32c3911cea589e3b43cf7fa603117fd849cba;p=gapil.git Spostata roba su socket TCP in un nuovo file (nuovo capitolo) --- diff --git a/elemtcp.tex b/elemtcp.tex new file mode 100644 index 0000000..37745f2 --- /dev/null +++ b/elemtcp.tex @@ -0,0 +1,70 @@ +\chapter{Socket TCP elementari} +\label{cha:elem_TCP_sock} + +In questo capitolo inizieremo ad approndire la conoscenza dei socket TCP, +tratteremo qui dunque il funzionamento delle varie funzioni che si sono usate +nei due esempi elementari forniti in precedenza (vedi \ref{sec:net_cli_sample} +e \ref{sec:net_cli_server}), previa una descrizione delle principali +caratteristiche del funzionamento di una connessione TCP. + +La seconda parte del capitolo sarà poi dedicata ad una riscrittura +dell'esempio precedente per trasformarlo in una prima applicazione +client/server semplice, ma completa, che implementi il servizio standard +\texttt{time} su TCP (vedremo in seguito un esempio anche con UDP). + + +\section{Il funzionamento di una connessione TCP} +\label{sec:TCPel_connession} + +Prima di entrare nei dettagli di come si usano le varie funzioni dei socket +che operano con TCP, è fondamentale capire alcune basi del funzionamento del +protocollo, ed in particolare su come si stabilisce una connessione, come la +si conclude e qual'è il significato dei vari stati del protocollo ad essa +connessi; in particolare questo ci permetterà di capire ed usare con profitto +il programma \texttt{netstat}, che è in grado di mostrare lo stato in cui si +trova ciascuna connessione attiva. + +\subsection{Creazione: il \textit{three way handshake}} +\label{sec:TCPel_conn_cre} + + + +\subsection{Il significato delle opzioni del TCP} +\label{sec:TCPel_TCP_opt} + +\subsection{La terminazione della connessione} +\label{sec:TCPel_conn_term} + +\subsection{Il diagramma delle transizioni di stato} +\label{sec:TCPel_trans_dia} + +\subsection{Lo stato \texttt{TIME\_WAIT}} +\label{sec:TCPel_time_wait} + + +\section{I numeri di porta} +\label{sec:TCPel_ports} + +\section{Le funzioni dei socket TCP} +\label{sec:TCPel_functions} + +\subsection{La funzione \texttt{connect}} +\label{sec:TCPel_func_connect} + +\subsection{La funzione \texttt{bind}} +\label{sec:TCPel_func_bind} + +\subsection{La funzione \texttt{listen}} +\label{sec:TCPel_func_listen} + +\subsection{La funzione \texttt{connect}} +\label{sec:TCPel_func_connect} + +\subsection{La funzione \texttt{accept}} +\label{sec:TCPel_func_accept} + + +\subsection{Le porte} + + + diff --git a/main.tex b/main.tex index 8ecd9a3..1ec26d1 100644 --- a/main.tex +++ b/main.tex @@ -96,6 +96,7 @@ \include{ipc} \include{network} \include{socket} +\include{elemtcp} \include{fdl} % at the end put the bibliography diff --git a/socket.tex b/socket.tex index 46179b0..420913f 100644 --- a/socket.tex +++ b/socket.tex @@ -741,69 +741,3 @@ Nel caso della lettura se il numero di bytes letti arrivati alla fine del file e pertanto si ritorna senza aver concluso la lettura di tutti i bytes richiesti. - - -\chapter{Socket TCP elementari} -\label{cha:elem_TCP_sock} - -In questo capitolo esamineremo i vari dettagli necessari per capire il -funzionamento dei socket TCP, partendo dai due esempi elementari visti in -precedenza (vedi \ref{sec:net_cli_sample} e \ref{sec:net_cli_server}), per -arrivare a scrivere una semplice applicazione client/server completa -(l'implementazione del servizio \texttt{time} su TCP). - -Tratteremo qui dunque il funzionamento delle varie funzioni che si sono usate -nell'esempio precedente e daremo una descrizione delle principali -caratteristiche del funzionamento di una connessione TCP. - -\section{Il funzionamento di una connessione TCP} -\label{sec:TCPel_connession} - -Prima di entrare nei dettagli del funzionamento delle funzioni della -interfaccia dei socket che operano con TCP (\texttt{connect}, \texttt{accept}, -\texttt{close}) è fondamentale capire alcune basi del funzionamento di una -connessione TCP, in particolare su come la si stabilisce e come la si -conclude e sul diagramma degli stati del TCP. - -\subsection{Creazione: il \textit{three way handshake}} -\label{sec:TCPel_conn_cre} - -\subsection{Il significato delle opzioni del TCP} -\label{sec:TCPel_TCP_opt} - -\subsection{La terminazione della connessione} -\label{sec:TCPel_conn_term} - -\subsection{Il diagramma delle transizioni di stato} -\label{sec:TCPel_trans_dia} - -\subsection{Lo stato \texttt{TIME\_WAIT}} -\label{sec:TCPel_time_wait} - - -\section{I numeri di porta} -\label{sec:TCPel_ports} - -\section{Le funzioni dei socket TCP} -\label{sec:TCPel_functions} - -\subsection{La funzione \texttt{connect}} -\label{sec:TCPel_func_connect} - -\subsection{La funzione \texttt{bind}} -\label{sec:TCPel_func_bind} - -\subsection{La funzione \texttt{listen}} -\label{sec:TCPel_func_listen} - -\subsection{La funzione \texttt{connect}} -\label{sec:TCPel_func_connect} - -\subsection{La funzione \texttt{accept}} -\label{sec:TCPel_func_accept} - - -\subsection{Le porte} - - -