Correzioni ortografiche
[gapil.git] / tcpsock.tex
index a82be2a8942abc3dc381fed7f3f719c4497e15e8..e55e06f87e40d08a3223d5132e49254ec743fbc6 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
@@ -149,7 +153,7 @@ regolare la connessione. Normalmente vengono usate le seguenti opzioni:
     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
+  ottenere il massimo dalla trasmissione. Per questo esiste questa opzione che
   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
@@ -158,7 +162,15 @@ regolare la connessione. Normalmente vengono usate le seguenti opzioni:
     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).
+  pacchetto). Con Linux è possibile indicare al kernel di far negozioare il
+  fattore di scala in fase di creazione di una connessione tramite la
+  \textit{sysctl} \texttt{tcp\_window\_scaling} (vedi
+  sez.~\ref{sec:sock_ipv4_sysctl}).\footnote{per poter usare questa
+    funzionalità è comunque necessario ampliare le dimensioni dei buffer di
+    ricezione e spedizione, cosa che può essere fatta sia a livello di sistema
+    con le opportune \textit{sysct} (vedi sez.~\ref{sec:sock_ipv4_sysctl}) che
+    a livello di singoli socket con le relative opzioni (vedi
+    sez.~\ref{sec:sock_tcp_udp_options}).}
 
 \item \textit{timestamp option}, è anche questa una nuova opzione necessaria
   per le connessioni ad alta velocità per evitare possibili corruzioni di dati