Materiale sugli extended attributes, inizio di un esempio ed qualche
[gapil.git] / sockctrl.tex
index f5a4c43c9d7dfaf1e5df63d7e73366e5a8204e70..529d0d365b5be0b32e16891360950c075f273c99 100644 (file)
@@ -50,7 +50,7 @@ necessita di compiere questa operazione.
 
 \begin{figure}[htb]
   \centering
-  \includegraphics[width=9cm]{img/resolver}
+  \includegraphics[width=11cm]{img/resolver}
   \caption{Schema di funzionamento delle funzioni del \textit{resolver}.}
   \label{fig:sock_resolver_schema}
 \end{figure}
@@ -145,15 +145,17 @@ tab.~\ref{tab:sys_NSS_classes}.
     \textbf{Classe} & \textbf{Tipo di corrispondenza}\\
     \hline
     \hline
-    \texttt{shadow}   & Corrispondenze fra username e proprietà dell'utente
-                        (\acr{uid}, ecc.).\\  
+    \texttt{passwd}   & Corrispondenze fra nome dell'utente e relative
+                        proprietà (\acr{uid}, gruppo principale, ecc.).\\  
+    \texttt{shadow}   & Corrispondenze fra username e password dell'utente
+                        (e altre informazioni relative alle password).\\  
     \texttt{group}    & Corrispondenze fra nome del gruppo e proprietà dello 
                         stesso.\\  
     \texttt{aliases}  & Alias per la posta elettronica.\\ 
     \texttt{ethers}   & Corrispondenze fra numero IP e MAC address della
                         scheda di rete.\\ 
     \texttt{hosts}    & Corrispondenze fra nome a dominio e numero IP.\\ 
-    \texttt{netgroup} & Corrispondenze gruppo di rete e macchine che lo
+    \texttt{netgroup} & Corrispondenze fra gruppo di rete e macchine che lo
                         compongono.\\  
     \texttt{networks} & Corrispondenze fra nome di una rete e suo indirizzo
                         IP.\\  
@@ -161,6 +163,8 @@ tab.~\ref{tab:sys_NSS_classes}.
                         numero identificativo.\\ 
     \texttt{rpc}      & Corrispondenze fra nome di un servizio RPC e relativo 
                         numero identificativo.\\ 
+    \texttt{publickey}& Chiavi pubbliche e private usate per gli RFC sicuri,
+                        utilizzate da NFS e NIS+. \\ 
     \texttt{services} & Corrispondenze fra nome di un servizio e numero di
                         porta. \\ 
     \hline
@@ -170,6 +174,8 @@ tab.~\ref{tab:sys_NSS_classes}.
   \label{tab:sys_NSS_classes}
 \end{table}
 
+% TODO rivedere meglio la tabella
+
 Il sistema del \textit{Name Service Switch} è controllato dal contenuto del
 file \conffile{/etc/nsswitch.conf}; questo contiene una riga\footnote{seguendo
   una convezione comune per i file di configurazione le righe vuote vengono
@@ -323,7 +329,9 @@ comportamento del \textit{resolver}.
     \const{RES\_NOCHECKNAME}& Non controlla i nomi per verificarne la
                               correttezza sintattica. \\
     \const{RES\_KEEPTSIG}   & Non elimina i record di tipo \texttt{TSIG}.\\
-    \const{RES\_BLAST}      & \\
+    \const{RES\_BLAST}      & Effettua un ``\textit{blast}'' inviando
+                              simultaneamente le richieste a tutti i server;
+                              non ancora implementata. \\
     \const{RES\_DEFAULT}    & Combinazione di \const{RES\_RECURSE},
                               \const{RES\_DEFNAMES} e \const{RES\_DNSRCH}.\\
     \hline
@@ -537,12 +545,12 @@ indicarli si 
   ed un nome a dominio ad esso associato si utilizza questo tipo di record (il
   cui nome sta per \textit{pointer}).
 \item[\texttt{CNAME}] qualora si abbiamo più nomi che corrispondono allo
-  stesso indirizzo (come ad esempio \texttt{www.truelite.it}, o
-  \texttt{sources.truelite.it}, che fanno sempre riferimento a
-  \texttt{dodds.truelite.it}) si può usare questo tipo di record per creare
-  degli \textit{alias} in modo da associare un qualunque altro nome al
-  \textsl{nome canonico} della macchina (si chiama così quello associato al
-  record \texttt{A}).
+  stesso indirizzo (come ad esempio \texttt{www.truelite.it} e
+  \texttt{sources.truelite.it}, che fanno entrambi riferimento alla stessa
+  macchina (nel caso \texttt{dodds.truelite.it}) si può usare questo tipo di
+  record per creare degli \textit{alias} in modo da associare un qualunque
+  altro nome al \textsl{nome canonico} della macchina (si chiama così quello
+  associato al record \texttt{A}).
 \end{basedescript}
 
 Come accennato in caso di successo le due funzioni di richiesta restituiscono
@@ -565,7 +573,7 @@ tab.~\ref{tab:h_errno_values}.
 \begin{table}[!htb]
   \centering
   \footnotesize
-  \begin{tabular}[c]{|l|p{10cm}|}
+  \begin{tabular}[c]{|l|p{11cm}|}
     \hline
     \textbf{Costante} & \textbf{Significato} \\
     \hline
@@ -2107,7 +2115,7 @@ tab.~\ref{tab:sock_opt_socklevel} sul significato delle varie opzioni:
   \func{setsockopt} darà un errore di \errcode{ENOPROTOOPT}. 
 
 \item[\const{SO\_SNDLOWAT}] questa opzione imposta il valore che indica il
-  numero minimo di byte che devono essere presenti nel buffer di scrittura
+  numero minimo di byte che devono essere presenti nel buffer di trasmissione
   perché il kernel li invii al protocollo successivo, consentendo ad una
   \func{write} di ritornare o segnalando ad una \func{select} (vedi
   sez.~\ref{sec:TCP_sock_select}) che è possibile eseguire una scrittura.
@@ -2240,17 +2248,17 @@ tab.~\ref{tab:sock_opt_socklevel} sul significato delle varie opzioni:
   tipo \const{SOCK\_STREAM}.
 
 \item[\const{SO\_SNDBUF}] questa opzione imposta la dimensione del buffer di
-  uscita del socket. Prende per \param{optval} un intero indicante il numero
-  di byte. Il valore di default ed il valore massimo che si possono
+  trasmissione del socket. Prende per \param{optval} un intero indicante il
+  numero di byte. Il valore di default ed il valore massimo che si possono
   specificare come argomento per questa opzione sono impostabili
   rispettivamente tramite gli opportuni valori di \func{sysctl} (vedi
   sez.~\ref{sec:sock_sysctl}).
 
 \item[\const{SO\_RCVBUF}] questa opzione imposta la dimensione del buffer di
-  ingresso del socket. Prende per \param{optval} un intero indicante il numero
-  di byte. Il valore di default ed il valore massimo che si può specificare
-  come argomento per questa opzione sono impostabili tramiti gli opportuni
-  valori di \func{sysctl} (vedi sez.~\ref{sec:sock_sysctl}).
+  ricezione del socket. Prende per \param{optval} un intero indicante il
+  numero di byte. Il valore di default ed il valore massimo che si può
+  specificare come argomento per questa opzione sono impostabili tramiti gli
+  opportuni valori di \func{sysctl} (vedi sez.~\ref{sec:sock_sysctl}).
 
   Si tenga presente che nel caso di socket TCP, per entrambe le opzioni
   \const{SO\_RCVBUF} e \const{SO\_SNDBUF}, il kernel alloca effettivamente una
@@ -2267,7 +2275,7 @@ tab.~\ref{tab:sock_opt_socklevel} sul significato delle varie opzioni:
     \procrelfile{/proc/sys/net/ipv4}{tcp\_rmem} in
     \texttt{/proc/sys/net/ipv4}, vedi sez.~\ref{sec:sock_sysctl}.} indica la
   memoria effettivamente impiegata.  Si tenga presente inoltre che le
-  modifiche alle dimensioni dei buffer di ingresso e di uscita, per poter
+  modifiche alle dimensioni dei buffer di ricezione e trasmissione, per poter
   essere effettive, devono essere impostate prima della chiamata alle funzioni
   \func{listen} o \func{connect}.
 
@@ -2304,7 +2312,7 @@ tab.~\ref{tab:sock_opt_socklevel} sul significato delle varie opzioni:
 
 \item[\const{SO\_ATTACH\_FILTER}] questa opzione permette di agganciare ad un
   socket un filtro di pacchetti che consente di selezionare quali pacchetti,
-  fra tutti quelli ricevuti, verranno letti. Viene usato pincipalmente con i
+  fra tutti quelli ricevuti, verranno letti. Viene usato principalmente con i
   socket di tipo \const{PF\_PACKET} con la libreria \texttt{libpcap} per
   implementare programmi di cattura dei pacchetti, torneremo su questo in
   sez.~\ref{sec:packet_socket}.
@@ -2407,7 +2415,7 @@ comunicare con il server via rete.
 \end{figure}
 
 Abilitandola dopo un certo tempo le connessioni effettivamente terminate
-verrano comunque chiuse per cui, utilizzando ad esempio una \func{select}, se
+verranno comunque chiuse per cui, utilizzando ad esempio una \func{select}, se
 be potrà rilevare la conclusione e ricevere il relativo errore. Si tenga
 presente però che non può avere la certezza assoluta che un errore di
 \errcode{ETIMEDOUT} ottenuto dopo aver abilitato questa opzione corrisponda
@@ -2762,7 +2770,7 @@ sono definite in \file{netinet/ip.h}, ed accessibili includendo detto file.
     \const{IP\_DROP\_MEMBERSHIP}&         &$\bullet$&   &\struct{ip\_mreqn}& 
       Si sgancia da un gruppo di \textit{multicast}.\\
     \const{IP\_MULTICAST\_IF}   &         &$\bullet$&   &\struct{ip\_mreqn}& 
-      Omposta l'interfaccia locale di un socket \itindex{multicast} 
+      Imposta l'interfaccia locale di un socket \itindex{multicast} 
       \textit{multicast}.\\ 
    \hline
   \end{tabular}
@@ -3121,9 +3129,10 @@ quantit
     quando un programma di terminale invia un segmento TCP per ogni tasto
     premuto, 40 byte di intestazione di protocollo con 1 byte di dati
     trasmessi; per evitare situazioni del genere è stato introdotto
-    l'\textsl{algoritmo di Nagle}.}  Questo meccanismo è controllato da un
-  apposito algoritmo (detto \textsl{algoritmo di Nagle}, vedi
-  sez.~\ref{sez:tcp_protocol_xxx}). Il comportamento normale del protocollo
+    \index{algoritmo~di~Nagle} l'\textsl{algoritmo di Nagle}.}  Questo
+  meccanismo è controllato da un apposito algoritmo (detto
+  \index{algoritmo~di~Nagle} \textsl{algoritmo di Nagle}, vedi
+  sez.~\ref{sez:tcp_protocol_xxx}).  Il comportamento normale del protocollo
   prevede che i dati siano accumulati fintanto che non si raggiunge una
   quantità considerata adeguata per eseguire la trasmissione di un singolo
   segmento.
@@ -3134,10 +3143,11 @@ quantit
     richiesta HTTP.} in tal caso l'attesa introdotta dall'algoritmo di
   bufferizzazione non soltanto è inutile, ma peggiora le prestazioni
   introducendo un ritardo.  Impostando questa opzione si disabilita l'uso
-  dell'\textsl{algoritmo di Nagle} ed i dati vengono inviati immediatamente in
-  singoli segmenti, qualunque sia la loro dimensione.  Ovviamente l'uso di
-  questa opzione è dedicato a chi ha esigenze particolari come quella
-  illustrata, che possono essere stabilite solo per la singola applicazione.
+  \index{algoritmo~di~Nagle} dell'\textsl{algoritmo di Nagle} ed i dati
+  vengono inviati immediatamente in singoli segmenti, qualunque sia la loro
+  dimensione.  Ovviamente l'uso di questa opzione è dedicato a chi ha esigenze
+  particolari come quella illustrata, che possono essere stabilite solo per la
+  singola applicazione.
 
   Si tenga conto che questa opzione viene sovrascritta dall'eventuale
   impostazione dell'opzione \const{TCP\_CORK} (il cui scopo è sostanzialmente
@@ -3160,15 +3170,15 @@ quantit
 \item[\const{TCP\_CORK}] questa opzione è il complemento naturale di
   \const{TCP\_NODELAY} e serve a gestire a livello applicativo la situazione
   opposta, cioè quella in cui si sa fin dal principio che si dovranno inviare
-  grosse quantità di dati. Anche in questo caso l'\textsl{algoritmo di Nagle}
-  tenderà a suddividerli in dimensioni da lui ritenute
-  opportune,\footnote{l'algoritmo cerca di tenere conto di queste situazioni,
-    ma essendo un algoritmo generico tenderà comunque ad introdurre delle
-    suddivisioni in segmenti diversi, anche quando potrebbero non essere
-    necessarie, con conseguente spreco di banda.}  ma sapendo fin dall'inizio
-  quale è la dimensione dei dati si potranno di nuovo ottenere delle migliori
-  prestazioni disabilitandolo, e gestendo direttamente l'invio del nostro
-  blocco di dati in soluzione unica.
+  grosse quantità di dati. Anche in questo caso \index{algoritmo~di~Nagle}
+  l'\textsl{algoritmo di Nagle} tenderà a suddividerli in dimensioni da lui
+  ritenute opportune,\footnote{l'algoritmo cerca di tenere conto di queste
+    situazioni, ma essendo un algoritmo generico tenderà comunque ad
+    introdurre delle suddivisioni in segmenti diversi, anche quando potrebbero
+    non essere necessarie, con conseguente spreco di banda.}  ma sapendo fin
+  dall'inizio quale è la dimensione dei dati si potranno di nuovo ottenere
+  delle migliori prestazioni disabilitandolo, e gestendo direttamente l'invio
+  del nostro blocco di dati in soluzione unica.
 
   Quando questa opzione viene abilitata non vengono inviati segmenti di dati
   fintanto che essa non venga disabilitata; a quel punto tutti i dati rimasti
@@ -3990,15 +4000,16 @@ socket.  Quelli descritti anche nella pagina di manuale, accessibile con
 
 \begin{basedescript}{\desclabelwidth{2.2cm}\desclabelstyle{\nextlinelabel}}
 \item[\procrelfile{/proc/sys/net/core}{rmem\_default}] imposta la dimensione
-  di default del buffer di lettura (cioè per i dati in ingresso) dei socket.
+  di default del buffer di ricezione (cioè per i dati in ingresso) dei socket.
 \item[\procrelfile{/proc/sys/net/core}{rmem\_max}] imposta la dimensione
-  massima che si può assegnare al buffer di ingresso dei socket attraverso
+  massima che si può assegnare al buffer di ricezione dei socket attraverso
   l'uso dell'opzione \const{SO\_RCVBUF}.
 \item[\procrelfile{/proc/sys/net/core}{wmem\_default}] imposta la dimensione
-  di default del buffer di scrittura (cioè per i dati in uscita) dei socket.
+  di default del buffer di trasmissione (cioè per i dati in uscita) dei
+  socket.
 \item[\procrelfile{/proc/sys/net/core}{wmem\_max}] imposta la dimensione
-  massima che si può assegnare al buffer di uscita dei socket attraverso l'uso
-  dell'opzione \const{SO\_SNDBUF}.
+  massima che si può assegnare al buffer di trasmissione dei socket attraverso
+  l'uso dell'opzione \const{SO\_SNDBUF}.
 \item[\procrelfile{/proc/sys/net/core}{message\_cost},
   \procrelfile{/proc/sys/net/core}{message\_burst}] contengono le impostazioni
   del \itindex{bucket~filter} \textit{bucket filter} che controlla l'emissione
@@ -4097,7 +4108,7 @@ di manuale accessibile con \texttt{man 7 ip}, sono i seguenti:
   valore di default è 64, e normalmente non c'è nessuna necessità di
   modificarlo.\footnote{l'unico motivo sarebbe per raggiungere macchine
     estremamente ``{lontane}'' in termini di \textit{hop}, ma è praticamente
-    impossible trovarne.} Aumentare il valore è una pratica poco gentile, in
+    impossibile trovarne.} Aumentare il valore è una pratica poco gentile, in
   quanto in caso di problemi di routing si allunga inutilmente il numero di
   ritrasmissioni.
 
@@ -4353,7 +4364,7 @@ pagina di manuale (accessibile con \texttt{man 7 tcp}), sono i seguenti:
   
 
 \item[\procrelfile{/proc/sys/net/ipv4}{tcp\_mem}] viene usato dallo stack TCP
-  per gestire le modalità con cui esso utlizzerà la memoria. Prende una
+  per gestire le modalità con cui esso utilizzerà la memoria. Prende una
   tripletta di valori interi, che indicano un numero di pagine:
 
   \begin{itemize*}
@@ -4425,13 +4436,13 @@ pagina di manuale (accessibile con \texttt{man 7 tcp}), sono i seguenti:
 
   \begin{itemize*}
   \item il primo valore, chiamato \textit{min} nelle pagine di manuale, indica
-    la dimensione minima del buffer di ricezione; il default è 4Kb, ma in
-    sistemi con poca memoria viene automaticamente ridotto a
+    la dimensione minima in byte del buffer di ricezione; il default è 4Kb, ma
+    in sistemi con poca memoria viene automaticamente ridotto a
     \const{PAGE\_SIZE}.  Questo valore viene usato per assicurare che anche in
     situazioni di pressione sulla memoria (vedi quanto detto per
-    \procrelfile{/proc/sys/net/ipv4}{tcp\_mem}) le allocazioni al di sotto di
+    \procrelfile{/proc/sys/net/ipv4}{tcp\_rmem}) le allocazioni al di sotto di
     questo limite abbiamo comunque successo.  Questo valore non viene comunque
-    ad incidere sulla dimensione del buffer di lettura di un singolo socket
+    ad incidere sulla dimensione del buffer di ricezione di un singolo socket
     dichiarata con l'opzione \const{SO\_RCVBUF}.
 
   \item il secondo valore, denominato \textit{default} nelle pagine di
@@ -4447,17 +4458,17 @@ pagina di manuale (accessibile con \texttt{man 7 tcp}), sono i seguenti:
     \procrelfile{/proc/sys/net/ipv4}{tcp\_window\_scaling}).
 
   \item il terzo valore, denominato \textit{max} nelle pagine di manuale,
-    indica la dimensione massima, in byte, del buffer di ricezione di un
-    socket TCP; il default è 174760 byte, che viene ridotto automaticamente a
-    87380 per sistemi con poca memoria. Il valore non può comunque eccedere il
+    indica la dimensione massima in byte del buffer di ricezione di un socket
+    TCP; il default è 174760 byte, che viene ridotto automaticamente a 87380
+    per sistemi con poca memoria. Il valore non può comunque eccedere il
     limite generale per tutti i socket posto con
     \procfile{/proc/sys/net/core/rmem\_max}. Questo valore non viene ad
-    incidere sulla dimensione del buffer di lettura di un singolo socket
+    incidere sulla dimensione del buffer di ricezione di un singolo socket
     dichiarata con l'opzione \const{SO\_RCVBUF}.
   \end{itemize*}
 
 \item[\procrelfile{/proc/sys/net/ipv4}{tcp\_sack}] indica al kernel di
-  utilizzare il meccanismo del \textit{TCP selective aknowledment} definito
+  utilizzare il meccanismo del \textit{TCP selective acknowledgement} definito
   nell'\href{http://www.ietf.org/rfc/rfc2018.txt}{RFC~2018}. Prende un valore
   logico e di default è abilitato.
 
@@ -4471,12 +4482,12 @@ pagina di manuale (accessibile con \texttt{man 7 tcp}), sono i seguenti:
   dar luogo a problemi di interoperabilità.
 
 \item[\procrelfile{/proc/sys/net/ipv4}{tcp\_synack\_retries}] indica il numero
-  massimo di volte che verrà ritasmesso il segmento SYN/ACK nella creazione di
+  massimo di volte che verrà ritrasmesso il segmento SYN/ACK nella creazione di
   una connessione (vedi sez.~\ref{sec:TCP_conn_cre}). Prende un valore intero
   ed il valore di default è 5; non si deve superare il valore massimo di 255.
 
 \item[\procrelfile{/proc/sys/net/ipv4}{tcp\_syncookies}] abilita i \textit{TCP
-    syncookies}.\footnote{per poter usare quasta funzionalità è necessario
+    syncookies}.\footnote{per poter usare questa funzionalità è necessario
     avere abilitato l'opzione \texttt{CONFIG\_SYN\_COOKIES} nella compilazione
     del kernel.} Prende un valore logico, e di default è disabilitato. Questa
   funzionalità serve a fornire una protezione in caso di un attacco di tipo
@@ -4499,7 +4510,12 @@ pagina di manuale (accessibile con \texttt{man 7 tcp}), sono i seguenti:
 \item[\procrelfile{/proc/sys/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.
+  che può causare problemi con il NAT.\footnote{il \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 \itindex{netfilter}
+    \textit{netfilter}, per maggiori dettagli si consulti il cap.~2 di
+    \cite{FwGL}.}
 
 \item[\procrelfile{/proc/sys/net/ipv4}{tcp\_tw\_reuse}] abilita il riutilizzo
   dello stato \texttt{TIME\_WAIT} quando questo è sicuro dal punto di vista
@@ -4516,17 +4532,51 @@ pagina di manuale (accessibile con \texttt{man 7 tcp}), sono i seguenti:
   aumentarne le dimensioni. Questa è pienamente supportata dallo stack TCP di
   Linux, ma se lo si disabilita la negoziazione del
   \itindex{TCP~window~scaling} \textit{TCP window scaling} con l'altro capo
-  della conessione non viene effettuata.
+  della connessione non viene effettuata.
 
-\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_vegas\_cong\_avoid}] 
+%\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_vegas\_cong\_avoid}] 
+% TODO: controllare su internet
 
-\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_westwood}] 
+%\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_westwood}] 
+% TODO: controllare su internet
 
-\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_wmem}] 
-
-\end{basedescript}
+\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_wmem}] viene usato dallo stack TCP
+  per controllare dinamicamente le dimensioni dei propri buffer di spedizione,
+  adeguandole in rapporto alla memoria disponibile.  Prende una tripletta di
+  valori interi separati da spazi che indicano delle dimensioni in byte:
 
+  \begin{itemize*}
+  \item il primo valore, chiamato \textit{min}, indica la dimensione minima in
+    byte del buffer di spedizione; il default è 4Kb. Come per l'analogo di
+    \procrelfile{/proc/sys/net/ipv4}{tcp\_rmem}) viene usato per assicurare
+    che anche in situazioni di pressione sulla memoria (vedi
+    \procrelfile{/proc/sys/net/ipv4}{tcp\_mem}) le allocazioni al di sotto di
+    questo limite abbiamo comunque successo.  Di nuovo questo valore non viene
+    ad incidere sulla dimensione del buffer di trasmissione di un singolo
+    socket dichiarata con l'opzione \const{SO\_SNDBUF}.
+
+  \item il secondo valore, denominato \textit{default}, indica la dimensione
+    di default in byte del buffer di spedizione di un socket TCP.  Questo
+    valore sovrascrive il default iniziale impostato per tutti i tipi di
+    socket con \procfile{/proc/sys/net/core/wmem\_default}. Il default è 87380
+    byte, ridotto a 43689 per sistemi con poca memoria. Si può aumentare
+    questo valore quando si desiderano dimensioni più ampie del buffer di
+    trasmissione per i socket TCP, ma come per il precedente
+    \procrelfile{/proc/sys/net/ipv4}{tcp\_rmem}) se si vuole che in
+    corrispondenza aumentino anche le dimensioni usate per la finestra TCP si
+    deve abilitare il \itindex{TCP~window~scaling} \textit{TCP window scaling}
+    con \procrelfile{/proc/sys/net/ipv4}{tcp\_window\_scaling}.
+
+  \item il terzo valore, denominato \textit{max}, indica la dimensione massima
+    in byte del buffer di spedizione di un socket TCP; il default è 128Kb, che
+    viene ridotto automaticamente a 64Kb per sistemi con poca memoria. Il
+    valore non può comunque eccedere il limite generale per tutti i socket
+    posto con \procfile{/proc/sys/net/core/wmem\_max}. Questo valore non viene
+    ad incidere sulla dimensione del buffer di trasmissione di un singolo
+    socket dichiarata con l'opzione \const{SO\_SNDBUF}.
+  \end{itemize*}
 
+\end{basedescript}
 
 
 
@@ -4604,9 +4654,11 @@ pagina di manuale (accessibile con \texttt{man 7 tcp}), sono i seguenti:
 % LocalWords:  metric EOPNOTSUPP mtu hwaddr ARPHRD interrupt DMA map qlen silly
 % LocalWords:  rename ifconf syndrome dell'ACK FTP ACCEPTFILTER advanced reno
 % LocalWords:  congestion control Networking cubic CUBIC highspeed HSTCP htcp
-% LocalWords:  HTCP hybla HYBLA scalable SCALABLE ifc req iflist access ntoa
-% LocalWords:  hop Selective Acknowledgement acknowledgement Explicit RTO stack
-% LocalWords:  Notification wireless denial pressure
+% LocalWords:  HTCP hybla HYBLA scalable SCALABLE ifc req iflist access ntoa Kb
+% LocalWords:  hop Selective acknowledgement Explicit RTO stack firewall
+% LocalWords:  Notification wireless denial pressure ATTACH DETACH
+% LocalWords:  libpcap discovery point l'overhaed min PAGE flood
+% LocalWords:  selective COOKIES NAT
 
 %%% Local Variables: 
 %%% mode: latex