Appunti rimasti indietro
[gapil.git] / trasplayer.tex
1 %% tcpprot.tex
2 %%
3 %% Copyright (C) 2002-2014 Simone Piccardi.  Permission is granted to copy,
4 %% distribute and/or modify this document under the terms of the GNU Free
5 %% Documentation License, Version 1.1 or any later version published by the
6 %% Free Software Foundation; with the Invariant Sections being "Un preambolo",
7 %% with no Front-Cover Texts, and with no Back-Cover Texts.  A copy of the
8 %% license is included in the section entitled "GNU Free Documentation
9 %% License".
10 %%
11
12 \chapter{Il livello di trasporto}
13 \label{cha:transport_layer}
14
15 In questa appendice tratteremo i vari protocolli relativi al livello di
16 trasporto.\footnote{al solito per la definizione dei livelli si faccia
17   riferimento alle spiegazioni fornite in sez.~\ref{sec:net_protocols}.} In
18 particolare gran parte del capitolo sarà dedicato al più importante di questi,
19 il TCP, che è pure il più complesso ed utilizzato su internet.
20
21
22 \section{Il protocollo TCP}
23 \label{sec:tcp_protocol}
24
25 In questa sezione prenderemo in esame i vari aspetti del protocollo TCP, il
26 protocollo più comunemente usato dalle applicazioni di rete.
27
28
29
30 \subsection{Gli stati del TCP}
31 \label{sec:TCP_states}
32
33 In sez.~\ref{sec:TCP_connession} abbiamo descritto in dettaglio le modalità con
34 cui il protocollo TCP avvia e conclude una connessione, ed abbiamo accennato
35 alla presenza dei vari stati del protocollo. In generale infatti il
36 funzionamento del protocollo segue una serie di regole, che possono essere
37 riassunte nel comportamento di una macchina a stati, il cui diagramma di
38 transizione è riportato in fig.~\ref{fig:TCP_state_diag}.
39
40 \begin{figure}[!htb]
41   \centering \includegraphics[width=10cm]{img/tcp_state_diagram}  
42   \caption{Il diagramma degli stati del TCP.}
43   \label{fig:TCP_state_diag}
44 \end{figure}
45
46 Il protocollo prevede l'esistenza di 11 diversi stati per una connessione ed
47 un insieme di regole per le transizioni da uno stato all'altro basate sullo
48 stato corrente, sull'operazione effettuata dall'applicazione o sul tipo di
49 segmento ricevuto; i nomi degli stati mostrati in
50 fig.~\ref{fig:TCP_state_diag} sono gli stessi che vengono riportati del
51 comando \cmd{netstat} nel campo \textit{State}.
52
53
54 \begin{figure}[!htb]
55   \centering \includegraphics[width=10cm]{img/tcp_head}  
56   \caption{L'intestazione del protocollo TCP.}
57   \label{fig:TCP_header}
58 \end{figure}
59
60 \itindbeg{Maximum~Segment~Size~(MSS)}
61 % TODO trattare la MSS
62 \itindend{Maximum~Segment~Size~(MSS)}
63
64 \itindbeg{advertised~window}
65 % TODO trattare la advertised window
66 \itindend{advertised~window}
67
68
69
70 \section{Il protocollo UDP}
71 \label{sec:udp_protocol}
72
73 In questa sezione prenderemo in esame i vari aspetti del protocollo UDP, che
74 dopo il TCP è il protocollo più usato dalle applicazioni di rete. 
75
76
77 \begin{figure}[!htb]
78   \centering \includegraphics[width=10cm]{img/udp_head}  
79   \caption{L'intestazione del protocollo UDP.}
80   \label{fig:UDP_header}
81 \end{figure}
82
83
84
85 % LocalWords:  sez TCP fig netstat UDP Segment Size advertised window
86
87
88 %%% Local Variables: 
89 %%% mode: latex
90 %%% TeX-master: "gapil"
91 %%% End: