X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=trasplayer.tex;h=97b0efb7eaf28755b8d2ed3d428fbaed5100b823;hp=12c66cd0c999feffc81aae3ca60ebe5120cf63ad;hb=fa15a3f1ecd64efd8440e46d398fd9976abc3d25;hpb=0a667b5bd6c1988e132d900ce4c0fd3c9170576f diff --git a/trasplayer.tex b/trasplayer.tex index 12c66cd..97b0efb 100644 --- a/trasplayer.tex +++ b/trasplayer.tex @@ -1,15 +1,90 @@ %% tcpprot.tex %% -%% Copyright (C) 2000-2002 Simone Piccardi. Permission is granted to -%% copy, distribute and/or modify this document under the terms of the GNU Free +%% Copyright (C) 2002-2019 Simone Piccardi. Permission is granted to copy, +%% distribute and/or modify this document under the terms of the GNU Free %% Documentation License, Version 1.1 or any later version published by the -%% Free Software Foundation; with the Invariant Sections being "Prefazione", +%% Free Software Foundation; with the Invariant Sections being "Un preambolo", %% with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the %% license is included in the section entitled "GNU Free Documentation %% License". %% -\chapter{Il protocollo TCP} -\label{cha:tcp_protocol} + +\chapter{Il livello di trasporto} +\label{cha:transport_layer} + +In questa appendice tratteremo i vari protocolli relativi al livello di +trasporto.\footnote{al solito per la definizione dei livelli si faccia + riferimento alle spiegazioni fornite in sez.~\ref{sec:net_protocols}.} In +particolare gran parte del capitolo sarà dedicato al più importante di questi, +il TCP, che è pure il più complesso ed utilizzato su internet. + + +\section{Il protocollo TCP} +\label{sec:tcp_protocol} + +In questa sezione prenderemo in esame i vari aspetti del protocollo TCP, il +protocollo più comunemente usato dalle applicazioni di rete. + + +\subsection{Gli stati del TCP} +\label{sec:TCP_states} + +In sez.~\ref{sec:TCP_connession} abbiamo descritto in dettaglio le modalità con +cui il protocollo TCP avvia e conclude una connessione, ed abbiamo accennato +alla presenza dei vari stati del protocollo. In generale infatti il +funzionamento del protocollo segue una serie di regole, che possono essere +riassunte nel comportamento di una macchina a stati, il cui diagramma di +transizione è riportato in fig.~\ref{fig:TCP_state_diag}. + +\begin{figure}[!htb] + \centering \includegraphics[width=10cm]{img/tcp_state_diagram} + \caption{Il diagramma degli stati del TCP.} + \label{fig:TCP_state_diag} +\end{figure} + +Il protocollo prevede l'esistenza di 11 diversi stati per una connessione ed +un insieme di regole per le transizioni da uno stato all'altro basate sullo +stato corrente, sull'operazione effettuata dall'applicazione o sul tipo di +segmento ricevuto; i nomi degli stati mostrati in +fig.~\ref{fig:TCP_state_diag} sono gli stessi che vengono riportati del +comando \cmd{netstat} nel campo \textit{State}. + +\begin{figure}[!htb] + \centering \includegraphics[width=10cm]{img/tcp_head} + \caption{L'intestazione del protocollo TCP.} + \label{fig:TCP_header} +\end{figure} + + +\itindbeg{Maximum~Segment~Size~(MSS)} +% TODO trattare la MSS +\itindend{Maximum~Segment~Size~(MSS)} + +\itindbeg{advertised~window} +% TODO trattare la advertised window +\itindend{advertised~window} + +\index{algoritmo~di~Nagle|(} +% TODO trattare l'algoritmo di Nagle +\index{algoritmo~di~Nagle|)} + + +\section{Il protocollo UDP} +\label{sec:udp_protocol} + +In questa sezione prenderemo in esame i vari aspetti del protocollo UDP, che +dopo il TCP è il protocollo più usato dalle applicazioni di rete. + + +\begin{figure}[!htb] + \centering \includegraphics[width=10cm]{img/udp_head} + \caption{L'intestazione del protocollo UDP.} + \label{fig:UDP_header} +\end{figure} + + + +% LocalWords: sez TCP fig netstat UDP Segment Size advertised window %%% Local Variables: