Avanti piano con le ''sysctl'' dei socket.
[gapil.git] / sockctrl.tex
index 89a4b61ab699517007def414f9ddf0f0d8a5a916..f2eb820d60b1a0c7a22dd6a0e034ec83f1dc0ef4 100644 (file)
@@ -4125,13 +4125,40 @@ I file di \texttt{/proc/sys/net/ipv4} che invece fanno riferimento alle
 caratteristiche specifiche del protocollo TCP, elencati anche nella rispettiva
 pagina di manuale (accessibile con \texttt{man 7 tcp}), sono i seguenti:
 \begin{basedescript}{\desclabelwidth{3.9cm}\desclabelstyle{\nextlinelabel}}
-\item[\texttt{tcp\_abort\_on\_overflow}] 
-\item[\texttt{tcp\_adv\_win\_scale}] 
+
+\item[\texttt{tcp\_abort\_on\_overflow}] è un valore logico (disabilitato di
+  default) che indica di azzerare le connessioni quando il programma che le
+  riceve è troppo lento ed incapace di accettarle. Questo consente di
+  recuperare le connessioni se si è avuto un eccesso dovuto ad un qualche
+  picco di traffico, ma ovviamente va a discapito dei client che interrogano
+  il server. Pertanto è da abilitare soltanto quando si è sicuri che non è
+  possibile ottimizzare il server in modo che sia in grado di accettare
+  connessioni più rapidamente.
+
+\item[\texttt{tcp\_adv\_win\_scale}] questo valore indica al kernel quanto
+  spazio all'interno del buffer associato a un socket deve essere utilizzato 
+
 \item[\texttt{tcp\_app\_win}] 
+
+\item[\texttt{tcp\_bic}]
 \item[\texttt{tcp\_bic\_low\_window}] 
 \item[\texttt{tcp\_bic\_fast\_convergence}] 
-\item[\texttt{tcp\_dsack}] 
-\item[\texttt{tcp\_ecn}] 
+
+\item[\texttt{tcp\_dsack}] Abilita il supporto definito
+  nell'\href{http://www.ietf.org/rfc/rfc2884.txt}{RFC~2884} per il
+  \textit{Duplicate SACK}.\footnote{si indica con SACK (\textit{Selective
+      Acknowledgement}) un'opzione TCP, definita
+    nell'\href{http://www.ietf.org/rfc/rfc2018.txt}{RFC~2018}, usata per dare
+    un \textit{acknowledgement} unico su blocchi di pacchetti non contigui.}
+
+\item[\texttt{tcp\_ecn}] Abilita il meccanismo della \textit{Explicit
+    Congestion Notification} (o ECN) definito
+  nell'\href{http://www.ietf.org/rfc/rfc2884.txt}{RFC~2884}. Si tenga presente
+  che se si abilita questa opzione si possono avere dei malfunzionamenti
+  apparentemente casuali dipendenti dalla destizione, dovuti al fatto che
+  alcuni vecchi router non supportano il meccanismo ed alla sua attivazione
+  scartano i relativi pacchetti.\\
+
 \item[\texttt{tcp\_fack}] 
 
 \item[\texttt{tcp\_fin\_timeout}] specifica il numero di secondi (il default è
@@ -4173,12 +4200,22 @@ pagina di manuale (accessibile con \texttt{man 7 tcp}), sono i seguenti:
 \item[\texttt{tcp\_orphan\_retries}] 
 \item[\texttt{tcp\_reordering}] 
 \item[\texttt{tcp\_retrans\_collapse}] 
-\item[\texttt{tcp\_retries1}] 
+
+\item[\texttt{tcp\_retries1}] imposta il massimo numero di volte che
+  protocollo tenterà la ritrasmissione si un pacchetto su una connessione
+  stabilita prima di fare ricorso ad ulteriori sforzi che coinvolgano anche il
+  livello di rete. Passato questo numero di ritrasmissioni verrà fatto
+  eseguire al livello di rete un tentativo di aggiornamento della rotta verso
+  la destinazione prima di eseguire ogni successiva ritrasmissione.
 
 \item[\texttt{tcp\_retries2}] imposta il numero di tentativi di ritrasmissione
-  (il default è 15) di un pacchetto inviato su una connessione già stabilita
-  per il quale non si sia ricevuto una risposta di ACK (si veda anche quanto
-  illustrato in sez.~\ref{sec:TCP_server_crash}).
+  di un pacchetto inviato su una connessione già stabilita per il quale non si
+  sia ricevuto una risposta di ACK (si veda anche quanto illustrato in
+  sez.~\ref{sec:TCP_server_crash}). Il valore default è 15, che significa un
+  tempo variabile fra 13 e 30 minuti; questo non corrisponde a quanto
+  richiesto nell'\href{http://www.ietf.org/rfc/rfc1122.txt}{RFC~1122} dove è
+  indicato un massimo di 100 secondi, che però è un valore considerato troppo
+  basso.
 
 
 \item[\texttt{tcp\_rfc1337}] 
@@ -4198,6 +4235,8 @@ pagina di manuale (accessibile con \texttt{man 7 tcp}), sono i seguenti:
 \item[\texttt{tcp\_tw\_recycle}] 
 \item[\texttt{tcp\_tw\_reuse}] 
 \item[\texttt{tcp\_window\_scaling}] 
+
+
 \item[\texttt{tcp\_vegas\_cong\_avoid}] 
 \item[\texttt{tcp\_westwood}] 
 \item[\texttt{tcp\_wmem}]