X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=sockctrl.tex;h=e613dc50fe683c1f23b88ee970364aacbd6cb860;hp=b6bb2c1a91942ff994f3b595f600dd486acb70c3;hb=f486510bed043527644e38f161d1bf69e09039e9;hpb=ae7bf994013ffbf4f5ef1d5a38a18033593e3e9f diff --git a/sockctrl.tex b/sockctrl.tex index b6bb2c1..e613dc5 100644 --- a/sockctrl.tex +++ b/sockctrl.tex @@ -36,8 +36,8 @@ porte o altre proprietà del sistema. \label{sec:sock_resolver} \itindbeg{resolver} La risoluzione dei nomi è associata tradizionalmente al -servizio del \itindex{Domain~Name~Service} \textit{Domain Name Service} che -permette di identificare le macchine su internet invece che per numero IP +servizio del \itindex{Domain~Name~Service~(DNS)} \textit{Domain Name Service} +che permette di identificare le macchine su internet invece che per numero IP attraverso il relativo \textsl{nome a dominio}.\footnote{non staremo ad entrare nei dettagli della definizione di cosa è un nome a dominio, dandolo per noto, una introduzione alla problematica si trova in \cite{AGL} (cap.~9) @@ -3315,12 +3315,11 @@ di \param{optlen} con una struttura \struct{ip\_msfilter} contenente questo protocollo, senza doversi curare di verificarne la validità.\footnote{l'attacco viene in genere portato per causare un \textit{Denial of Service} aumentando il consumo di CPU del router nella - verifica dell'autenticità di un gran numero di pacchetti di pacchetti - falsi; questi, arrivando da sorgenti diverse da un router adiacente, non - potrebbero più avere un TTL di 255 anche qualora questo fosse stato il - valore di partenza, e l'impostazione dell'opzione consente di scartarli - senza carico aggiuntivo sulla CPU (che altrimenti dovrebbe calcolare una - checksum).} + verifica dell'autenticità di un gran numero di pacchetti falsi; questi, + arrivando da sorgenti diverse da un router adiacente, non potrebbero più + avere un TTL di 255 anche qualora questo fosse stato il valore di + partenza, e l'impostazione dell'opzione consente di scartarli senza carico + aggiuntivo sulla CPU (che altrimenti dovrebbe calcolare una checksum).} \itindbeg{Path~MTU} \item[\constd{IP\_MTU}] Permette di leggere il valore della \textit{Path MTU} @@ -4643,7 +4642,7 @@ di manuale accessibile con \texttt{man 7 ip}, sono i seguenti: disabilitare globalmente il procedimento con questo parametro ha pesanti ripercussioni in termini di prestazioni di rete. -\item[\sysctlrelfiled{net/ipv4}{ip\_always\_defrag}] fa si che tutti i +\item[\sysctlrelfiled{net/ipv4}{ip\_always\_defrag}] fa sì che tutti i pacchetti IP frammentati siano riassemblati, anche in caso in successivo immediato inoltro.\footnote{introdotto con il kernel 2.2.13, nelle versioni precedenti questo comportamento poteva essere solo stabilito un volta per @@ -4710,7 +4709,7 @@ pagina di manuale (accessibile con \texttt{man 7 tcp}), sono i seguenti: \item[\sysctlrelfiled{net/ipv4}{tcp\_app\_win}] indica la frazione della finestra TCP che viene riservata per gestire l'overhaed dovuto alla - bufferizzazione. Prende un valore valore intero che consente di calcolare la + bufferizzazione. Prende un valore intero che consente di calcolare la dimensione in byte come il massimo fra la MSS e $\texttt{window}/2^\texttt{tcp\_app\_win}$. Un valore nullo significa che non viene riservato nessuno spazio; il valore di default è 31. @@ -4736,8 +4735,8 @@ pagina di manuale (accessibile con \texttt{man 7 tcp}), sono i seguenti: \item[\sysctlrelfiled{net/ipv4}{tcp\_ecn}] abilita il meccanismo della \textit{Explicit Congestion Notification} (in breve ECN) nelle connessioni TCP. Prende valore logico che di default è disabilitato. La \textit{Explicit - Congestion Notification} \itindex{Explicit~Congestion~Notification} è un - meccanismo che consente di notificare quando una rotta o una rete è + Congestion Notification} \itindex{Explicit~Congestion~Notification~(ECN)} + è un meccanismo che consente di notificare quando una rotta o una rete è congestionata da un eccesso di traffico,\footnote{il 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 @@ -4789,13 +4788,12 @@ pagina di manuale (accessibile con \texttt{man 7 tcp}), sono i seguenti: risposta prima che il kernel decida che la connessione è caduta e la termini. Prende un valore intero che di default è 9. -\item[\sysctlrelfiled{net/ipv4}{tcp\_keepalive\_time}] indica il numero - di secondi che devono passare senza traffico sulla connessione prima che il - kernel inizi ad inviare pacchetti di pacchetti di - \textit{keepalive}.\footnote{ha effetto solo per i socket per cui si è - impostata l'opzione \const{SO\_KEEPALIVE} (vedi - sez.~\ref{sec:sock_options_main}.} Prende un valore intero che di default - è 7200, pari a due ore. +\item[\sysctlrelfiled{net/ipv4}{tcp\_keepalive\_time}] indica il numero di + secondi che devono passare senza traffico sulla connessione prima che il + kernel inizi ad inviare pacchetti di \textit{keepalive}.\footnote{ha effetto + solo per i socket per cui si è impostata l'opzione \const{SO\_KEEPALIVE} + (vedi sez.~\ref{sec:sock_options_main}.} Prende un valore intero che di + default è 7200, pari a due ore. \item[\sysctlrelfiled{net/ipv4}{tcp\_low\_latency}] indica allo stack TCP del kernel di ottimizzare il comportamento per ottenere tempi di latenza @@ -4993,11 +4991,12 @@ pagina di manuale (accessibile con \texttt{man 7 tcp}), sono i seguenti: \item[\sysctlrelfiled{net/ipv4}{tcp\_tw\_recycle}] abilita il riutilizzo rapido dei socket in stato \texttt{TIME\_WAIT}. Prende un valore logico e di default è disabilitato. Non è opportuno abilitare questa opzione che può - causare problemi con il NAT.\footnote{il - \itindex{Network~Address~Translation} \textit{Network Address Translation} - è una tecnica, impiegata nei firewall e nei router, che consente di - modificare al volo gli indirizzi dei pacchetti che transitano per una - macchina, Linux la supporta con il \textit{netfilter}.} + causare problemi con il NAT.\footnote{la + \itindex{Network~Address~Translation~(NAT)} \textit{Network Address + Translation} (abbreviato in NAT) è una tecnica, impiegata nei firewall e + nei router, che consente di modificare al volo gli indirizzi dei pacchetti + che transitano per una macchina, Linux la supporta con il + \textit{netfilter}.} \item[\sysctlrelfiled{net/ipv4}{tcp\_tw\_reuse}] abilita il riutilizzo dello stato \texttt{TIME\_WAIT} quando questo è sicuro dal punto di vista