\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)
L'opzione utilizza per \param{optval} un intero usato come valore logico.
Quando viene abilitata gli errori riportati da messaggi ICMP per un socket
- UDP non vengono passati al programma in user space. Con le versioni 2.0.x
- del kernel erano anche abilitate altre opzioni di compatibilità per i socket
- raw (modifiche casuali agli header, perdita del flag di \textit{broadcast})
- che sono state rimosse con il passaggio al 2.2; è consigliato correggere i
- programmi piuttosto che usare questa funzione. Dal kernel 2.4 viene
- ignorata, e dal 2.6 genera un messaggio di log del kernel.
+ UDP non vengono passati al programma in \textit{user space}. Con le versioni
+ 2.0.x del kernel erano anche abilitate altre opzioni di compatibilità per i
+ socket raw (modifiche casuali agli header, perdita del flag di
+ \textit{broadcast}) che sono state rimosse con il passaggio al 2.2; è
+ consigliato correggere i programmi piuttosto che usare questa funzione. Dal
+ kernel 2.4 viene ignorata, e dal 2.6 genera un messaggio di log del kernel.
\item[\constd{SO\_BUSY\_POLL}] questa opzione, presente dal kernel 3.11,
imposta un tempo approssimato in microsecondi, per cui in caso di ricezione
\item[\constd{TCP\_INFO}] questa opzione, specifica di Linux, ma introdotta
anche in altri kernel (ad esempio FreeBSD) permette di controllare lo stato
- interno di un socket TCP direttamente da un programma in user space.
+ interno di un socket TCP direttamente da un programma in \textit{user space}.
L'opzione restituisce in una speciale struttura \struct{tcp\_info}, la cui
definizione è riportata in fig.~\ref{fig:tcp_info_struct}, tutta una serie
di dati che il kernel mantiene, relativi al socket. Anche questa opzione
\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
\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