-\item[\texttt{tcp\_abort\_on\_overflow}]
-\item[\texttt{tcp\_adv\_win\_scale}]
-\item[\texttt{tcp\_app\_win}]
-\item[\texttt{tcp\_bic\_low\_window}]
-\item[\texttt{tcp\_bic\_fast\_convergence}]
-\item[\texttt{tcp\_dsack}]
-\item[\texttt{tcp\_ecn}]
-\item[\texttt{tcp\_fack}]
-
-\item[\texttt{tcp\_fin\_timeout}] specifica il numero di secondi (il default è
- 60\footnote{nei kernel della serie 2.2.x era invece di 120 secondi.}) da
- passare in stato \texttt{FIN\_WAIT2} nell'attesa delle ricezione del
- pacchetto FIN conclusivo, passati quali il socket viene comunque chiuso
- forzatamente. L'uso di questa opzione realizza quella che in sostanza è una
- violazione delle specifiche del protocollo TCP, ma è utile per fronteggiare
- alcuni attacchi di \itindex{Denial~of~Service~(DoS)} \textit{Denial of
- Service}.
-
-
-\item[\texttt{tcp\_frto}]
-\item[\texttt{tcp\_keepalive\_intvl}]
-\item[\texttt{tcp\_keepalive\_probes}]
-\item[\texttt{tcp\_keepalive\_time}]
-\item[\texttt{tcp\_low\_latency}]
-\item[\texttt{tcp\_max\_orphans}]
-
-\item[\texttt{tcp\_max\_syn\_backlog}] un numero intero che indica la
- lunghezza della coda delle connessioni incomplete, cioè delle connessioni
- per le quali si è ricevuto un SYN di richiesta ma non l'ACK finale del
- \itindex{three~way~handshake} \textit{three way handshake} (si riveda quanto
- illustrato in sez.\ref{sec:TCP_func_listen}).
+
+\item[\procrelfile{/proc/sys/net/ipv4}{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[\procrelfile{/proc/sys/net/ipv4}{tcp\_adv\_win\_scale}] questa variabile
+ intera indica al kernel quanto spazio all'interno del buffer associato ad un
+ socket (quello impostato con \texttt{tcp\_rmem}) deve essere utilizzato per
+ la finestra del protocollo TCP (quello che costituisce la
+ \itindex{advertised~window} \textit{advertised window} annunciata all'altro
+ capo del socket) e quello che viene usato come buffer applicativo per
+ isolare la rete dalle latenze dell'applicazione. Il valore viene calcolato
+ secondo la formula $\texttt{buffer}/2^\texttt{tcp\_adv\_win\_scale}$ se
+ positivo o con
+ $\texttt{buffer}-\texttt{buffer}/2^\texttt{tcp\_adv\_win\_scale}$ se
+ negativo. Il valore di default è 2 che significa che al buffer
+ dell'applicazione viene riservato un quarto del totale.
+
+\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_app\_win}] il valore indica quanti
+ byte della finestra TCP vengono riservati per la bufferizzazione, valore è
+ il massimo fra la \itindex{Maximum~Segment~Size} MSS e
+ $\texttt{window}/2^\texttt{tcp\_app\_win}$. Un valore nullo significa che
+ non viene riservato nessuno spazio; il default è 31.
+
+% vecchi, presumibilmente usati quando gli algoritmi di congestione non erano
+% modularizzabili
+% \item[\texttt{tcp\_bic}]
+% \item[\texttt{tcp\_bic\_low\_window}]
+% \item[\texttt{tcp\_bic\_fast\_convergence}]
+
+\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_dsack}] Un valore logico che
+ 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,
+ che consente di diminuire il numero di pacchetti scambiati.} Di default è
+ abilitato.
+
+\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_ecn}] Un valore logico che abilita
+ il meccanismo della \textit{Explicit Congestion Notification} (in breve ECN)
+ nelle connessioni TCP. Questo è un meccanismo (è descritto in dettaglio
+ nell'\href{http://www.ietf.org/rfc/rfc3168.txt}{RFC~3168} mentre gli effetti
+ sulle prestazioni del suo utilizzo sono documentate
+ nell'\href{http://www.ietf.org/rfc/rfc2884.txt}{RFC~2884} ) che consente di
+ notificare quando una rotta o una rete è congestionata da un eccesso di
+ traffico, si può così essere avvisati e cercare rotte alternative oppure
+ diminuire l'emissione di pacchetti (in modo da non aumentare la
+ congestione). Di default è disabilitato.
+
+ Si tenga presente che se si abilita questa opzione si possono avere dei
+ malfunzionamenti apparentemente casuali dipendenti dalla destinazione,
+ dovuti al fatto che alcuni vecchi router non supportano il meccanismo ed
+ alla sua attivazione e scartano i relativi pacchetti, bloccando
+ completamente il traffico.\\
+
+\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_fack}] è un valore logico che
+ abilita il supporto per il \textit{TCP Forward Acknowledgement}, un
+ algoritmo per il controllo della congestione del traffico. Di default è
+ abilitato.
+% TODO documentare o descrivere che cos'è il TCP Forward Acknowledgement
+
+\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_fin\_timeout}] specifica il numero
+ di secondi (il default è 60\footnote{nei kernel della serie 2.2.x era invece
+ di 120 secondi.}) da passare in stato \texttt{FIN\_WAIT2} nell'attesa
+ delle ricezione del pacchetto FIN conclusivo, passati quali il socket viene
+ comunque chiuso forzatamente. L'uso di questa opzione realizza quella che
+ in sostanza è una violazione delle specifiche del protocollo TCP, ma è utile
+ per fronteggiare alcuni attacchi di \itindex{Denial~of~Service~(DoS)}
+ \textit{Denial of Service}.
+
+\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_frto}] è un valore logico che
+ abilita il supporto per l'algoritmo F-RTO, un algoritmo usato per la
+ ritrasmissione dei timeout del protocollo TCP, che diventa molto utile per
+ le reti wireless dove la perdita di pacchetti è usualmente dovuta a delle
+ interferenze radio, piuttosto che alla congestione dei router. Di default è
+ disabilitato.
+
+\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_keepalive\_intvl}] il numero di
+ secondi che deve trascorrere fra l'emissione di due successivi pacchetti di
+ test quando è abilitata la funzionalità del \textit{keepalive} (vedi
+ sez.~\ref{sec:sock_options_main}). Il valore di default è 75.
+
+\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_keepalive\_probes}] il massimo
+ numero pacchetti di \textit{keepalive} (vedi
+ sez.~\ref{sec:sock_options_main}) che devono essere inviati senza ricevere
+ risposta prima che il kernel decida che la connessione è caduta e la
+ termini. Il valore di default è 9.
+
+\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_keepalive\_time}] il numero di
+ secondi che devono passare senza traffico sulla connessione prima che il
+ kernel, qualora si sia utilizzata l'opzione \const{SO\_KEEPALIVE} (vedi
+ sez.~\ref{sec:sock_options_main}), inizi ad inviare pacchetti di pacchetti
+ di \textit{keepalive}. Il default è 7200, pari a due ore.
+
+\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_low\_latency}] un valore logico
+ che indica allo stack TCP del kernel di ottimizzare il comportamento per
+ ottenere tempi di latenza più bassi a scapito di valori più alti per
+ l'utilizzo della banda. Di default è disabilitato in quanto un maggior
+ utilizzo della banda è preferito, ma esistono applicazioni particolari in
+ cui la riduzione della latenza è più importante (ad esempio i cluster di
+ calcolo parallelo) in cui lo si può abilitare.
+
+\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_max\_orphans}] il numero massimo
+ di socket TCP ``\textsl{orfani}'' (vale a dire non associati a nessun file
+ descriptor) consentito nel sistema.\footnote{trattasi in genere delle
+ connessioni relative a socket chiusi che non hanno completato il processo
+ di chiusura.} Quando il limite viene ecceduto la connessione orfana viene
+ resettata e viene stampato un avvertimento. Questo limite viene usato per
+ contrastare alcuni elementari attacchi di \textit{denial of service}.
+ Diminuire il valore non è mai raccomandato, in certe condizioni di rete può
+ essere opportuno aumentarlo, ma si deve tenere conto del fatto che ciascuna
+ connessione orfana può consumare fino a 64K di memoria del kernel. Il valore
+ di default viene impostato inizialmente al valore del parametro del kernel
+ \texttt{NR\_FILE}, e viene aggiustato a seconda della memoria disponibile.
+% TODO verificare la spiegazione di connessione orfana
+
+\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_max\_syn\_backlog}] un numero
+ intero che indica la lunghezza della coda delle connessioni incomplete, cioè
+ delle connessioni per le quali si è ricevuto un SYN di richiesta ma non
+ l'ACK finale del \itindex{three~way~handshake} \textit{three way handshake}
+ (si riveda quanto illustrato in sez.~\ref{sec:TCP_func_listen}).