Alcune correzioni, con dei riferimenti ad argomenti trattati secoli fa
[gapil.git] / tcpsock.tex
index 7316b64b3f274b7a3af14125b42fe7d9ffc31eb6..7261246389bdf1e8ac4b3f8fb13b51d263fdfa93 100644 (file)
@@ -125,10 +125,14 @@ varr
 \subsection{Le opzioni TCP.}
 \label{sec:TCP_TCP_opt}
 
-Ciascun segmento SYN contiene in genere delle opzioni per il protocollo TCP
-(le cosiddette \textit{TCP options}, che vengono inserite fra l'header e i
-dati) che servono a comunicare all'altro capo una serie di parametri utili a
-regolare la connessione. Normalmente vengono usate le seguenti opzioni:
+Ciascun segmento SYN contiene in genere delle opzioni per il protocollo TCP,
+le cosiddette \textit{TCP options},\footnote{da non confondere con le opzioni
+  dei socket TCP che tratteremo in sez.~\ref{sec:sock_tcp_udp_options}, in
+  questo caso si tratta delle opzioni che vengono trasmesse come parte di un
+  pacchetto TCP, non delle funzioni che consentono di impostare i relativi
+  valori.} che vengono inserite fra l'header e i dati, e che servono a
+comunicare all'altro capo una serie di parametri utili a regolare la
+connessione.  Normalmente vengono usate le seguenti opzioni:
 
 \begin{itemize}
 \item \textit{MSS option}, dove MMS sta per \itindex{Maximum~Segment~Size}
@@ -136,7 +140,7 @@ regolare la connessione. Normalmente vengono usate le seguenti opzioni:
   connessione annuncia all'altro il massimo ammontare di dati che vorrebbe
   accettare per ciascun segmento nella connessione corrente. È possibile
   leggere e scrivere questo valore attraverso l'opzione del socket
-  \const{TCP\_MAXSEG} (vedi sez.~\ref{sec:TCP_TCP_opt}).
+  \const{TCP\_MAXSEG} (vedi sez.~\ref{sec:sock_tcp_udp_options}}).
   
 \item \textit{window scale option}, il protocollo TCP implementa il controllo
   di flusso attraverso una \itindex{advertised~window} \textit{advertised
@@ -144,20 +148,23 @@ regolare la connessione. Normalmente vengono usate le seguenti opzioni:
   sez.~\ref{sec:tcp_protocol_xxx}) con la quale ciascun capo della
   comunicazione dichiara quanto spazio disponibile ha in memoria per i dati.
   Questo è un numero a 16 bit dell'header, che così può indicare un massimo di
-  65535 byte;\footnote{ Linux usa come massimo 32767 per evitare problemi con
+  65535 byte;\footnote{Linux usa come massimo 32767 per evitare problemi con
     alcune implementazioni che usano l'aritmetica con segno per implementare
     lo stack TCP.} ma alcuni tipi di connessione come quelle ad alta velocità
   (sopra i 45Mbit/sec) e quelle che hanno grandi ritardi nel cammino dei
   pacchetti (come i satelliti) richiedono una finestra più grande per poter
   ottenere il massimo dalla trasmissione, per questo esiste questa opzione che
-  indica un fattore di scala da applicare al valore della finestra
-  annunciata\footnote{essendo una nuova opzione per garantire la compatibilità
-    con delle vecchie implementazioni del protocollo la procedura che la
-    attiva prevede come negoziazione che l'altro capo della connessione
-    riconosca esplicitamente l'opzione inserendola anche lui nel suo SYN di
-    risposta dell'apertura della connessione.} per la connessione corrente
-  (espresso come numero di bit cui spostare a sinistra il valore della
-  finestra annunciata inserito nel pacchetto).
+  indica un fattore di scala da applicare al valore della
+  \itindex{advertised~window} finestra annunciata\footnote{essendo una nuova
+    opzione per garantire la compatibilità con delle vecchie implementazioni
+    del protocollo la procedura che la attiva prevede come negoziazione che
+    l'altro capo della connessione riconosca esplicitamente l'opzione
+    inserendola anche lui nel suo SYN di risposta dell'apertura della
+    connessione.} per la connessione corrente (espresso come numero di bit cui
+  spostare a sinistra il valore della finestra annunciata inserito nel
+  pacchetto). Con Linux è possibile impostare questo valore a livello di
+  sistema con una opportuna \textit{sysctl} (vedi
+  sez.~\ref{sec:sock_ipv4_sysctl}). 
 
 \item \textit{timestamp option}, è anche questa una nuova opzione necessaria
   per le connessioni ad alta velocità per evitare possibili corruzioni di dati