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) mentre per una trattazione
+ problematica si trova in \cite{AGL} (cap.~9) mentre per una trattazione
approfondita di tutte le problematiche relative al DNS si può fare
riferimento a \cite{DNSbind}.} In realtà per DNS si intendono spesso i
server che forniscono su internet questo servizio, mentre nel nostro caso
(\acr{uid}, ecc.).\\
\texttt{group} & corrispondenze fra nome del gruppo e proprietà dello
stesso.\\
- \texttt{aliases} & alias per la posta elettronica\\
+ \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.\\
pacchetti. Il campo TOS è di 8 bit e l'opzione richiede per \param{optval}
un intero che ne contiene il valore. Sono definite anche alcune costanti che
definiscono alcuni valori standardizzati per il \textit{Type of Service},
- riportate in tab.~\ref{tab:IP_TOS_values}. Si ricordi che la priorità dei
- pacchetti può essere impostata anche in maniera indipendente dal protocollo
- utilizzando l'opzione \const{SO\_PRIORITY} illustrata in
- sez.~\ref{sec:sock_generic_options}.
+ riportate in tab.~\ref{tab:IP_TOS_values}, il valore di default usato da
+ Linux è \const{IPTOS\_LOWDELAY}, ma esso può essere modificato con le
+ funzionalità del cosiddetto \textit{Advanced Routing}. Si ricordi che la
+ priorità dei pacchetti può essere impostata anche in maniera indipendente
+ dal protocollo utilizzando l'opzione \const{SO\_PRIORITY} illustrata in
+ sez.~\ref{sec:sock_generic_options}.
\item[\const{IP\_TTL}] L'opzione consente di leggere o impostare il campo
\item[\const{IP\_RECVERR}] Questa è una opzione introdotta con i kernel della
- serie 2.2.x, ed è specifica di Linux.
+ serie 2.2.x, ed è specifica di Linux. Essa permette di usufruire di un
+ meccanismo affidabile per ottenere un maggior numero di informazioni in caso
+ di errori. Se l'opzione è abilitata tutti gli errori generati su un socket
+ vengono memorizzati su una coda, dalla quale poi possono essere letti con
+ \func{recvmsg} (torneremo su questo in sez.~\ref{sec:TCP_ancillary_data}).
+ L'opzione richiede per \param{optval} un intero usato come valore logico;
+ l'opzione non è applicabile a socket di tipo \const{SOCK\_STREAM}.
\item[\const{IP\_MTU\_DISCOVER}] Questa è una opzione introdotta con i kernel
- della serie 2.2.x, ed è specifica di Linux.
+ della serie 2.2.x, ed è specifica di Linux. L'opzione permette di scrivere
+ o leggere le impostazioni usante nella determinazione della \textit{Maximum
+ Tranfer Unit} (vedi sez.~\ref{sec:net_lim_dim}) per il socket.
\item[\const{IP\_MTU}] Permette di leggere il valore della \textit{Maximum
- Tranfer Unit} di percorso (vedi sez.~\ref{sec:net_lim_dim}) del socket.
- L'opzione richiede per \param{optval} un intero che conterrà il valore della
- MTU in byte. Questa è una opzione introdotta con i kernel della serie
- 2.2.x, ed è specifica di Linux.
+ Tranfer Unit} di percorso del socket. L'opzione richiede per
+ \param{optval} un intero che conterrà il valore della MTU in byte. Questa è
+ una opzione introdotta con i kernel della serie 2.2.x, ed è specifica di
+ Linux.
\item[\const{IP\_ROUTER\_ALERT}] Questa è una opzione introdotta con i kernel
della serie 2.2.x, ed è specifica di Linux.
Come ultimo argomento di questa sezione tratteremo l'uso della funzione
\func{sysctl} (che è stata introdotta nelle sue funzionalità generiche in
sez.~\ref{sec:sys_sysctl}) per quanto riguarda le sue capacità di effettuare
-impostazioni relative a proprietà generali dei socket (di tutti quelli di un
-certo tipo o di tutti quelli che usano un certo protocollo) rispetto alle
-funzioni viste finora che consentono di controllare quelle di un singolo
-socket.
+impostazioni relative alle proprietà dei socket. La differenza nell'uso di
+\func{sysctl} rispetto alle funzioni viste finora è che esse consentono di
+controllare le proprietà di un singolo socket, mentre con \func{sysctl} si
+impostano proprietà (o valori di default) validi a livello dell'intero
+sistema.
Le opzioni disponibili per le proprietà della rete sono riportate nella
gerarchia dei valori impostabili con \func{sysctl}, sotto il nodo
\texttt{/proc}, sotto \texttt{/proc/sys/net}. In genere sotto questa directory
compaiono le sottodirectory (corrispondenti ad altrettanti sottonodi per
\func{sysctl}) relative ai vari protocolli e tipi di interfacce su cui è
-possibile intervenire; un contenuto tipico è il seguente:
+possibile intervenire per effettuare impostazioni; un contenuto tipico di
+questa directory è il seguente:
\begin{verbatim}
/proc/sys/net/
|-- core
|-- token-ring
`-- unix
\end{verbatim}
+e sono presenti varie centinaia di diversi parametri; nel nostro caso ci
+limiteremo a vedere quelli più significativi.
-
-Nella directory \texttt{/proc/sys/net/core} sono disponibili le opzioni
-generiche dei socket, descritte anche nella rispettiva pagina di
-manuale.\footnote{quella accessibile con \texttt{man 7 socket}.} Queste sono:
+Nella directory \texttt{/proc/sys/net/core} sono disponibili i parametri
+generici validi per tutti i socket, quelli descritti anche nella rispettiva
+pagina di manuale.\footnote{quella accessibile con \texttt{man 7 socket}.}
+I principali sono:
\begin{basedescript}{\desclabelwidth{3cm}\desclabelstyle{\nextlinelabel}}
\item[\texttt{rmem\_default}] imposta la dimensione di default del buffer di
\item[\texttt{optmem\_max}]
\end{basedescript}
+Nella directory \texttt{/proc/sys/net/ipv4} sono disponibili i parametri per i
+socket IPv4, descritti anche nella rispettiva pagina di
+manuale.\footnote{quella accessibile con \texttt{man 7 ip}.} I principali
+sono:
+\begin{basedescript}{\desclabelwidth{3cm}\desclabelstyle{\nextlinelabel}}
+\item[\texttt{ip_no_pmtu_disc}] imposta la discliplina di ricerca della
+ \textit{Path MTU} (vedi sez.~\ref{sec:net_lim_dim} e
+ sez.~\ref{sec:sock_ipv4_options}).
+\end{basedescript}
+
+
%%% Local Variables:
%%% mode: latex