X-Git-Url: https://gapil.gnulinux.it/gitweb/?a=blobdiff_plain;f=sockctrl.tex;h=813e21aaf663a13ecd379b917264351896b008f3;hb=67dbfdc1ef907bd19642eefc4de07739c0d5a888;hp=e3ad47bf642a158afd0ba4e5e2c769fc73175b6f;hpb=263a8a7ae0f9b251fc3b631e8bbba546bf8c2572;p=gapil.git diff --git a/sockctrl.tex b/sockctrl.tex index e3ad47b..813e21a 100644 --- a/sockctrl.tex +++ b/sockctrl.tex @@ -4147,7 +4147,7 @@ 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[\procrelfile{/proc/sys/net/ipv4}{tcp\_abort\_on\_overflow}] è un valore +\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 @@ -4181,24 +4181,37 @@ pagina di manuale (accessibile con \texttt{man 7 tcp}), sono i seguenti: % \item[\texttt{tcp\_bic\_low\_window}] % \item[\texttt{tcp\_bic\_fast\_convergence}] -\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_dsack}] Abilita il supporto - definito nell'\href{http://www.ietf.org/rfc/rfc2884.txt}{RFC~2884} per il +\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.} - -\item[\procrelfile{/proc/sys/net/ipv4}{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 destinazione, dovuti al fatto che - alcuni vecchi router non supportano il meccanismo ed alla sua attivazione - scartano i relativi pacchetti.\\ + 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 è abilitato. + + 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}. Di default - è abilitato. + 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 @@ -4217,7 +4230,6 @@ pagina di manuale (accessibile con \texttt{man 7 tcp}), sono i seguenti: 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 @@ -4252,8 +4264,8 @@ pagina di manuale (accessibile con \texttt{man 7 tcp}), sono i seguenti: 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 di - default viene impostato inizialmente al valore del parametro del kernel + 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 @@ -4312,7 +4324,12 @@ pagina di manuale (accessibile con \texttt{man 7 tcp}), sono i seguenti: ritrasmissioni provocate dal riordinamento. Non è opportuno modificare questo valore dal default che è 3. -\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_retrans\_collapse}] +\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_retrans\_collapse}] in caso di + pacchetti persi durante una connessione, per ottimizzare l'uso della banda + il kernel cerca di eseguire la ritrasmissione inviando pacchetti della + massima dimensione possibile; in sostanza dati che in precedenza erano stati + trasmessi su pacchetti diversi possono essere ritrasmessi riuniti su un solo + pacchetto (o su un numero minore di pacchetti di dimensione maggiore). \item[\procrelfile{/proc/sys/net/ipv4}{tcp\_retries1}] imposta il massimo numero di volte che protocollo tenterà la ritrasmissione si un pacchetto su @@ -4332,14 +4349,27 @@ pagina di manuale (accessibile con \texttt{man 7 tcp}), sono i seguenti: massimo di 100 secondi, che però è un valore considerato troppo basso. -\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_rfc1337}] +\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_rfc1337}] un valore logico che + indica allo stack TCP del kernel di abilitare il comportamento richiesto + nell'\href{http://www.ietf.org/rfc/rfc1337.txt}{RFC~1337}; di default è + disabilitato, il che significa che alla ricezione di un segmento RST in stao + \texttt{TIME\_WAIT} il socket viene chiuso immediatamente senza attendere la + conclusione del periodo di \texttt{TIME\_WAIT}. \item[\procrelfile{/proc/sys/net/ipv4}{tcp\_rmem}] -\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_sack}] +\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_sack}] un valore logico che indica + al kernel di utilizzare il meccanismo del \textit{TCP selective + aknowledment} definito + nell'\href{http://www.ietf.org/rfc/rfc2018.txt}{RFC~2018}; di default è + abilitato. + + \item[\procrelfile{/proc/sys/net/ipv4}{tcp\_stdurg}] -\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_synack\_retries}] + +\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_synack\_retries}] + \item[\procrelfile{/proc/sys/net/ipv4}{tcp\_syncookies}] \item[\procrelfile{/proc/sys/net/ipv4}{tcp\_syn\_retries}] imposta il numero