\textbf{Classe} & \textbf{Tipo di corrispondenza}\\
\hline
\hline
- \texttt{shadow} & corrispondenze fra username e proprietà dell'utente
- (\acr{uid}, ecc.).\\
- \texttt{group} & corrispondenze fra nome del gruppo e proprietà dello
+ \texttt{shadow} & Corrispondenze fra username e proprietà dell'utente
+ (\acr{uid}, ecc.).\\
+ \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
+ \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{hosts} & Corrispondenze fra nome a dominio e numero IP.\\
+ \texttt{netgroup} & Corrispondenze gruppo di rete e macchine che lo
compongono.\\
- \texttt{networks} & corrispondenze fra nome di una rete e suo indirizzo
+ \texttt{networks} & Corrispondenze fra nome di una rete e suo indirizzo
IP.\\
- \texttt{protocols}& corrispondenze fra nome di un protocollo e relativo
+ \texttt{protocols}& Corrispondenze fra nome di un protocollo e relativo
numero identificativo.\\
- \texttt{rpc} & corrispondenze fra nome di un servizio RPC e relativo
+ \texttt{rpc} & Corrispondenze fra nome di un servizio RPC e relativo
numero identificativo.\\
- \texttt{services} & corrispondenze fra nome di un servizio e numero di
+ \texttt{services} & Corrispondenze fra nome di un servizio e numero di
porta. \\
\hline
\end{tabular}
\textbf{Costante} & \textbf{Significato} \\
\hline
\hline
- \const{RES\_INIT} & viene attivato se è stata chiamata
+ \const{RES\_INIT} & Viene attivato se è stata chiamata
\func{res\_init}. \\
- \const{RES\_DEBUG} & stampa dei messaggi di debug.\\
- \const{RES\_AAONLY} & accetta solo risposte autoritative.\\
- \const{RES\_USEVC} & usa connessioni TCP per contattare i server
+ \const{RES\_DEBUG} & Stampa dei messaggi di debug.\\
+ \const{RES\_AAONLY} & Accetta solo risposte autoritative.\\
+ \const{RES\_USEVC} & Usa connessioni TCP per contattare i server
invece che l'usuale UDP.\\
- \const{RES\_PRIMARY} & interroga soltanto server DNS primari.
+ \const{RES\_PRIMARY} & Interroga soltanto server DNS primari.
\\
- \const{RES\_IGNTC} & ignora gli errori di troncamento, non ritenta la
+ \const{RES\_IGNTC} & Ignora gli errori di troncamento, non ritenta la
richiesta con una connessione TCP.\\
- \const{RES\_RECURSE} & imposta il bit che indica che si desidera
+ \const{RES\_RECURSE} & Imposta il bit che indica che si desidera
eseguire una interrogazione ricorsiva.\\
- \const{RES\_DEFNAMES} & se attivo \func{res\_search} aggiunge il nome
+ \const{RES\_DEFNAMES} & Se attivo \func{res\_search} aggiunge il nome
del dominio di default ai nomi singoli (che non
contengono cioè un ``\texttt{.}'').\\
- \const{RES\_STAYOPEN} & usato con \const{RES\_USEVC} per mantenere
+ \const{RES\_STAYOPEN} & Usato con \const{RES\_USEVC} per mantenere
aperte le connessioni TCP fra interrogazioni
diverse. \\
- \const{RES\_DNSRCH} & se attivo \func{res\_search} esegue le ricerche
+ \const{RES\_DNSRCH} & Se attivo \func{res\_search} esegue le ricerche
di nomi di macchine nel dominio corrente o nei
domini ad esso sovrastanti.\\
- \const{RES\_INSECURE1} & blocca i controlli di sicurezza di tipo 1.\\
- \const{RES\_INSECURE2} & blocca i controlli di sicurezza di tipo 2.\\
- \const{RES\_NOALIASES} & blocca l'uso della variabile di ambiente
+ \const{RES\_INSECURE1} & Blocca i controlli di sicurezza di tipo 1.\\
+ \const{RES\_INSECURE2} & Blocca i controlli di sicurezza di tipo 2.\\
+ \const{RES\_NOALIASES} & Blocca l'uso della variabile di ambiente
\texttt{HOSTALIASES}.\\
- \const{RES\_USE\_INET6} & restituisce indirizzi IPv6 con
+ \const{RES\_USE\_INET6} & Restituisce indirizzi IPv6 con
\func{gethostbyname}. \\
- \const{RES\_ROTATE} & ruota la lista dei server DNS dopo ogni
+ \const{RES\_ROTATE} & Ruota la lista dei server DNS dopo ogni
interrogazione.\\
- \const{RES\_NOCHECKNAME}& non controlla i nomi per verificarne la
+ \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\_KEEPTSIG} & Non elimina i record di tipo \texttt{TSIG}.\\
\const{RES\_BLAST} & \\
- \const{RES\_DEFAULT} & è l'insieme di \const{RES\_RECURSE},
+ \const{RES\_DEFAULT} & Combinazione di \const{RES\_RECURSE},
\const{RES\_DEFNAMES} e \const{RES\_DNSRCH}.\\
\hline
\end{tabular}
\textbf{Costante} & \textbf{Significato} \\
\hline
\hline
- \const{C\_IN} & indirizzi internet, in pratica i soli utilizzati oggi.\\
- \const{C\_HS} & indirizzi \textit{Hesiod}, utilizzati solo al MIT, oggi
+ \const{C\_IN} & Indirizzi internet, in pratica i soli utilizzati oggi.\\
+ \const{C\_HS} & Indirizzi \textit{Hesiod}, utilizzati solo al MIT, oggi
completamente estinti. \\
- \const{C\_CHAOS}& indirizzi per la rete \textit{Chaosnet}, un'altra rete
+ \const{C\_CHAOS}& Indirizzi per la rete \textit{Chaosnet}, un'altra rete
sperimentale nata al MIT. \\
- \const{C\_ANY} & indica un indirizzo di classe qualunque.\\
+ \const{C\_ANY} & Indica un indirizzo di classe qualunque.\\
\hline
\end{tabular}
\caption{Costanti identificative delle classi di indirizzi per l'argomento
\textbf{Costante} & \textbf{Significato} \\
\hline
\hline
- \const{T\_A} & indirizzo di una stazione.\\
- \const{T\_NS} & server DNS autoritativo per il dominio richiesto.\\
- \const{T\_MD} & destinazione per la posta elettronica.\\
- \const{T\_MF} & redistributore per la posta elettronica.\\
- \const{T\_CNAME} & nome canonico.\\
- \const{T\_SOA} & inizio di una zona di autorità.\\
- \const{T\_MB} & nome a dominio di una casella di posta.\\
- \const{T\_MG} & nome di un membro di un gruppo di posta.\\
- \const{T\_MR} & nome di un cambiamento di nome per la posta.\\
- \const{T\_NULL} & record nullo.\\
- \const{T\_WKS} & servizio noto.\\
- \const{T\_PTR} & risoluzione inversa di un indirizzo numerico.\\
- \const{T\_HINFO} & informazione sulla stazione.\\
- \const{T\_MINFO} & informazione sulla casella di posta.\\
- \const{T\_MX} & server cui instradare la posta per il dominio.\\
- \const{T\_TXT} & stringhe di testo (libere).\\
- \const{T\_RP} & nome di un responsabile (\textit{responsible person}).\\
- \const{T\_AFSDB} & database per una cella AFS.\\
- \const{T\_X25} & indirizzo di chiamata per X.25.\\
- \const{T\_ISDN} & indirizzo di chiamata per ISDN.\\
- \const{T\_RT} & router.\\
- \const{T\_NSAP} & indirizzo NSAP.\\
- \const{T\_NSAP\_PTR}& risoluzione inversa per NSAP (deprecato).\\
- \const{T\_SIG} & firma digitale di sicurezza.\\
- \const{T\_KEY} & chiave per firma.\\
- \const{T\_PX} & corrispondenza per la posta X.400.\\
- \const{T\_GPOS} & posizione geografica.\\
- \const{T\_AAAA} & indirizzo IPv6.\\
- \const{T\_LOC} & informazione di collocazione.\\
- \const{T\_NXT} & dominio successivo.\\
- \const{T\_EID} & identificatore di punto conclusivo.\\
- \const{T\_NIMLOC}& posizionatore \textit{nimrod}.\\
- \const{T\_SRV} & servizio.\\
- \const{T\_ATMA} & indirizzo ATM.\\
- \const{T\_NAPTR} & puntatore ad una \textit{naming authority} .\\
- \const{T\_TSIG} & firma di transazione.\\
- \const{T\_IXFR} & trasferimento di zona incrementale.\\
- \const{T\_AXFR} & trasferimento di zona di autorità.\\
- \const{T\_MAILB} & trasferimento di record di caselle di posta.\\
- \const{T\_MAILA} & trasferimento di record di server di posta.\\
- \const{T\_ANY} & valore generico.\\
+ \const{T\_A} & Indirizzo di una stazione.\\
+ \const{T\_NS} & Server DNS autoritativo per il dominio richiesto.\\
+ \const{T\_MD} & Destinazione per la posta elettronica.\\
+ \const{T\_MF} & Redistributore per la posta elettronica.\\
+ \const{T\_CNAME} & Nome canonico.\\
+ \const{T\_SOA} & Inizio di una zona di autorità.\\
+ \const{T\_MB} & Nome a dominio di una casella di posta.\\
+ \const{T\_MG} & Nome di un membro di un gruppo di posta.\\
+ \const{T\_MR} & Nome di un cambiamento di nome per la posta.\\
+ \const{T\_NULL} & Record nullo.\\
+ \const{T\_WKS} & Servizio noto.\\
+ \const{T\_PTR} & Risoluzione inversa di un indirizzo numerico.\\
+ \const{T\_HINFO} & Informazione sulla stazione.\\
+ \const{T\_MINFO} & Informazione sulla casella di posta.\\
+ \const{T\_MX} & Server cui instradare la posta per il dominio.\\
+ \const{T\_TXT} & Stringhe di testo (libere).\\
+ \const{T\_RP} & Nome di un responsabile (\textit{responsible person}).\\
+ \const{T\_AFSDB} & Database per una cella AFS.\\
+ \const{T\_X25} & Indirizzo di chiamata per X.25.\\
+ \const{T\_ISDN} & Indirizzo di chiamata per ISDN.\\
+ \const{T\_RT} & Router.\\
+ \const{T\_NSAP} & Indirizzo NSAP.\\
+ \const{T\_NSAP\_PTR}& Risoluzione inversa per NSAP (deprecato).\\
+ \const{T\_SIG} & Firma digitale di sicurezza.\\
+ \const{T\_KEY} & Chiave per firma.\\
+ \const{T\_PX} & Corrispondenza per la posta X.400.\\
+ \const{T\_GPOS} & Posizione geografica.\\
+ \const{T\_AAAA} & Indirizzo IPv6.\\
+ \const{T\_LOC} & Informazione di collocazione.\\
+ \const{T\_NXT} & Dominio successivo.\\
+ \const{T\_EID} & Identificatore di punto conclusivo.\\
+ \const{T\_NIMLOC}& Posizionatore \textit{nimrod}.\\
+ \const{T\_SRV} & Servizio.\\
+ \const{T\_ATMA} & Indirizzo ATM.\\
+ \const{T\_NAPTR} & Puntatore ad una \textit{naming authority}.\\
+ \const{T\_TSIG} & Firma di transazione.\\
+ \const{T\_IXFR} & Trasferimento di zona incrementale.\\
+ \const{T\_AXFR} & Trasferimento di zona di autorità.\\
+ \const{T\_MAILB} & Trasferimento di record di caselle di posta.\\
+ \const{T\_MAILA} & Trasferimento di record di server di posta.\\
+ \const{T\_ANY} & Valore generico.\\
\hline
\end{tabular}
\caption{Costanti identificative del tipo di record per l'argomento
\textbf{Costante} & \textbf{Significato} \\
\hline
\hline
- \const{HOST\_NOT\_FOUND} & l'indirizzo richiesto non è valido e la
- macchina indicata è sconosciuta. \\
- \const{NO\_ADDRESS} & il nome a dominio richiesto è valido, ma non ha
+ \const{HOST\_NOT\_FOUND} & L'indirizzo richiesto non è valido e la
+ macchina indicata è sconosciuta.\\
+ \const{NO\_ADDRESS} & Il nome a dominio richiesto è valido, ma non ha
un indirizzo associato ad esso
(alternativamente può essere indicato come
- \const{NO\_DATA}). \\
- \const{NO\_RECOVERY} & si è avuto un errore non recuperabile
- nell'interrogazione di un server DNS. \\
- \const{TRY\_AGAIN} & si è avuto un errore temporaneo
+ \const{NO\_DATA}).\\
+ \const{NO\_RECOVERY} & Si è avuto un errore non recuperabile
+ nell'interrogazione di un server DNS.\\
+ \const{TRY\_AGAIN} & Si è avuto un errore temporaneo
nell'interrogazione di un server DNS, si può
ritentare l'interrogazione in un secondo
- tempo. \\
+ tempo.\\
\hline
\end{tabular}
\caption{Valori possibili della variabile \var{h\_errno}.}
\textbf{Costante} & \textbf{Significato} \\
\hline
\hline
- \const{AI\_V4MAPPED} & usato con \const{AF\_INET6} per richiedere una
+ \const{AI\_V4MAPPED} & Usato con \const{AF\_INET6} per richiedere una
ricerca su un indirizzo IPv4 invece che IPv6; gli
eventuali risultati saranno rimappati su indirizzi
IPv6.\\
- \const{AI\_ALL} & usato con \const{AI\_V4MAPPED}; richiede sia
+ \const{AI\_ALL} & Usato con \const{AI\_V4MAPPED}; richiede sia
indirizzi IPv4 che IPv6, e gli indirizzi IPv4
saranno rimappati in IPv6.\\
- \const{AI\_ADDRCONFIG}& richiede che una richiesta IPv4 o IPv6 venga
+ \const{AI\_ADDRCONFIG}& Richiede che una richiesta IPv4 o IPv6 venga
eseguita solo se almeno una interfaccia del
sistema è associata ad un indirizzo di tale tipo.\\
- \const{AI\_DEFAULT} & il valore di default, è equivalente alla
+ \const{AI\_DEFAULT} & Il valore di default, è equivalente alla
combinazione di \const{AI\_ADDRCONFIG} e di
\const{AI\_V4MAPPED}.\\
\hline
\textbf{Costante} & \textbf{Significato} \\
\hline
\hline
- \const{AI\_PASSIVE} & viene utilizzato per ottenere un indirizzo in
+ \const{AI\_PASSIVE} & Viene utilizzato per ottenere un indirizzo in
formato adatto per una successiva chiamata a
\func{bind}. Se specificato quando si è usato
\const{NULL} come valore per \param{node} gli
\textit{loopback}. Se invece non è impostato gli
indirizzi verranno restituiti in formato adatto ad
una chiamata a \func{connect} o \func{sendto}.\\
- \const{AI\_CANONNAME} & richiede la restituzione del nome canonico della
+ \const{AI\_CANONNAME} & Richiede la restituzione del nome canonico della
macchina, che verrà salvato in una stringa il cui
indirizzo sarà restituito nel campo
\var{ai\_canonname} della prima struttura
\struct{addrinfo} dei risultati. Se il nome
canonico non è disponibile al suo posto
viene restituita una copia di \param{node}. \\
- \const{AI\_NUMERICHOST}& se impostato il nome della macchina specificato
+ \const{AI\_NUMERICHOST}& Se impostato il nome della macchina specificato
con \param{node} deve essere espresso in forma
numerica, altrimenti sarà restituito un errore
\const{EAI\_NONAME} (vedi
tab.~\ref{tab:addrinfo_error_code}), in questo
modo si evita ogni chiamata alle funzioni di
risoluzione.\\
- \const{AI\_V4MAPPED} & stesso significato dell'analoga di
+ \const{AI\_V4MAPPED} & Stesso significato dell'analoga di
tab.~\ref{tab:sock_getipnodebyname_flags}.\\
- \const{AI\_ALL} & stesso significato dell'analoga di
+ \const{AI\_ALL} & Stesso significato dell'analoga di
tab.~\ref{tab:sock_getipnodebyname_flags}.\\
- \const{AI\_ADDRCONFIG} & stesso significato dell'analoga di
+ \const{AI\_ADDRCONFIG} & Stesso significato dell'analoga di
tab.~\ref{tab:sock_getipnodebyname_flags}.\\
\hline
\end{tabular}
\textbf{Costante} & \textbf{Significato} \\
\hline
\hline
- \const{EAI\_FAMILY} & la famiglia di indirizzi richiesta non è
+ \const{EAI\_FAMILY} & La famiglia di indirizzi richiesta non è
supportata. \\
- \const{EAI\_SOCKTYPE}& il tipo di socket richiesto non è supportato. \\
- \const{EAI\_BADFLAGS}& il campo \var{ai\_flags} contiene dei valori non
+ \const{EAI\_SOCKTYPE}& Il tipo di socket richiesto non è supportato. \\
+ \const{EAI\_BADFLAGS}& Il campo \var{ai\_flags} contiene dei valori non
validi. \\
- \const{EAI\_NONAME} & il nome a dominio o il servizio non sono noti,
+ \const{EAI\_NONAME} & Il nome a dominio o il servizio non sono noti,
viene usato questo errore anche quando si specifica
il valore \const{NULL} per entrambi gli argomenti
\param{node} e \param{service}. \\
- \const{EAI\_SERVICE} & il servizio richiesto non è disponibile per il tipo
+ \const{EAI\_SERVICE} & Il servizio richiesto non è disponibile per il tipo
di socket richiesto, anche se può esistere per
altri tipi di socket. \\
- \const{EAI\_ADDRFAMILY}& la rete richiesta non ha nessun indirizzo di rete
+ \const{EAI\_ADDRFAMILY}& La rete richiesta non ha nessun indirizzo di rete
per la famiglia di indirizzi specificata. \\
- \const{EAI\_NODATA} & la macchina specificata esiste, ma non ha nessun
+ \const{EAI\_NODATA} & La macchina specificata esiste, ma non ha nessun
indirizzo di rete definito. \\
- \const{EAI\_MEMORY} & è stato impossibile allocare la memoria necessaria
+ \const{EAI\_MEMORY} & È stato impossibile allocare la memoria necessaria
alle operazioni. \\
- \const{EAI\_FAIL} & il DNS ha restituito un errore di risoluzione
+ \const{EAI\_FAIL} & Il DNS ha restituito un errore di risoluzione
permanente. \\
- \const{EAI\_AGAIN} & il DNS ha restituito un errore di risoluzione
+ \const{EAI\_AGAIN} & Il DNS ha restituito un errore di risoluzione
temporaneo, si può ritentare in seguito. \\
- \const{EAI\_SYSTEM} & c'è stato un errore di sistema, si può controllare
+ \const{EAI\_SYSTEM} & C'è stato un errore di sistema, si può controllare
\var{errno} per i dettagli. \\
% \hline
% TODO estensioni GNU, trovarne la documentazione
-% \const{EAI\_INPROGRESS}& richiesta in corso. \\
-% \const{EAI\_CANCELED}& la richiesta è stata cancellata.\\
-% \const{EAI\_NOTCANCELED}& la richiesta non è stata cancellata. \\
-% \const{EAI\_ALLDONE} & tutte le richieste sono complete. \\
-% \const{EAI\_INTR} & richiesta interrotta. \\
+% \const{EAI\_INPROGRESS}& Richiesta in corso. \\
+% \const{EAI\_CANCELED}& La richiesta è stata cancellata.\\
+% \const{EAI\_NOTCANCELED}& La richiesta non è stata cancellata. \\
+% \const{EAI\_ALLDONE} & Tutte le richieste sono complete. \\
+% \const{EAI\_INTR} & Richiesta interrotta. \\
\hline
\end{tabular}
\caption{Costanti associate ai valori dei codici di errore della funzione
\textbf{Costante} & \textbf{Significato} \\
\hline
\hline
- \const{NI\_NOFQDN} & richiede che venga restituita solo il nome della
+ \const{NI\_NOFQDN} & Richiede che venga restituita solo il nome della
macchina all'interno del dominio al posto del
nome completo (FQDN).\\
- \const{NI\_NUMERICHOST}& richiede che venga restituita la forma numerica
+ \const{NI\_NUMERICHOST}& Richiede che venga restituita la forma numerica
dell'indirizzo (questo succede sempre se il nome
non può essere ottenuto).\\
- \const{NI\_NAMEREQD} & richiede la restituzione di un errore se il nome
+ \const{NI\_NAMEREQD} & Richiede la restituzione di un errore se il nome
non può essere risolto.\\
- \const{NI\_NUMERICSERV}& richiede che il servizio venga restituito in
+ \const{NI\_NUMERICSERV}& Richiede che il servizio venga restituito in
forma numerica (attraverso il numero di porta).\\
- \const{NI\_DGRAM} & richiede che venga restituito il nome del
+ \const{NI\_DGRAM} & Richiede che venga restituito il nome del
servizio su UDP invece che quello su TCP per quei
pichi servizi (porte 512-214) che soni diversi
nei due protocolli.\\
\textbf{Livello} & \textbf{Significato} \\
\hline
\hline
- \const{SOL\_SOCKET}& opzioni generiche dei socket.\\
- \const{SOL\_IP} & opzioni specifiche per i socket che usano IPv4.\\
- \const{SOL\_TCP} & opzioni per i socket che usano TCP.\\
- \const{SOL\_IPV6} & opzioni specifiche per i socket che usano IPv6.\\
- \const{SOL\_ICMPV6}& opzioni specifiche per i socket che usano ICMPv6.\\
+ \const{SOL\_SOCKET}& Opzioni generiche dei socket.\\
+ \const{SOL\_IP} & Opzioni specifiche per i socket che usano IPv4.\\
+ \const{SOL\_TCP} & Opzioni per i socket che usano TCP.\\
+ \const{SOL\_IPV6} & Opzioni specifiche per i socket che usano IPv6.\\
+ \const{SOL\_ICMPV6}& Opzioni specifiche per i socket che usano ICMPv6.\\
\hline
\end{tabular}
\caption{Possibili valori dell'argomento \param{level} delle
\hline
\hline
\const{SO\_KEEPALIVE}&$\bullet$&$\bullet$&$\bullet$&\texttt{int}&
- controlla l'attività della connessione.\\
+ Controlla l'attività della connessione.\\
\const{SO\_OOBINLINE}&$\bullet$&$\bullet$&$\bullet$&\texttt{int}&
- lascia in linea i dati \itindex{out-of-band}
+ Lascia in linea i dati \itindex{out-of-band}
\textit{out-of-band}.\\
\const{SO\_RCVLOWAT} &$\bullet$&$\bullet$&$\bullet$&\texttt{int}&
- basso livello sul buffer di ricezione.\\
+ Basso livello sul buffer di ricezione.\\
\const{SO\_SNDLOWAT} &$\bullet$&$\bullet$& &\texttt{int}&
- basso livello sul buffer di trasmissione.\\
+ Basso livello sul buffer di trasmissione.\\
\const{SO\_RCVTIMEO} &$\bullet$&$\bullet$& &\texttt{timeval}&
- timeout in ricezione.\\
+ Timeout in ricezione.\\
\const{SO\_SNDTIMEO} &$\bullet$&$\bullet$& &\texttt{timeval}&
- timeout in trasmissione.\\
+ Timeout in trasmissione.\\
\const{SO\_BSDCOMPAT}&$\bullet$&$\bullet$&$\bullet$&\texttt{int}&
- abilita la compatibilità con BSD.\\
+ Abilita la compatibilità con BSD.\\
\const{SO\_PASSCRED} &$\bullet$&$\bullet$&$\bullet$&\texttt{int}&
- abilita la ricezione di credenziali.\\
+ Abilita la ricezione di credenziali.\\
\const{SO\_PEERCRED} &$\bullet$& & &\texttt{ucred}&
- restituisce le credenziali del processo remoto.\\
+ Restituisce le credenziali del processo remoto.\\
\const{SO\_BINDTODEVICE}&$\bullet$&$\bullet$& &\texttt{char *}&
- lega il socket ad un dispositivo.\\
+ Lega il socket ad un dispositivo.\\
\const{SO\_DEBUG} &$\bullet$&$\bullet$&$\bullet$&\texttt{int}&
- abilita il debugging sul socket.\\
+ Abilita il debugging sul socket.\\
\const{SO\_REUSEADDR}&$\bullet$&$\bullet$&$\bullet$&\texttt{int}&
- consente il riutilizzo di un indirizzo locale.\\
+ Consente il riutilizzo di un indirizzo locale.\\
\const{SO\_TYPE} &$\bullet$& & &\texttt{int}&
- restituisce il tipo di socket.\\
+ Restituisce il tipo di socket.\\
\const{SO\_ACCEPTCONN}&$\bullet$& & &\texttt{int}&
- indica se il socket è in ascolto.\\
+ Indica se il socket è in ascolto.\\
\const{SO\_DONTROUTE}&$\bullet$&$\bullet$&$\bullet$&\texttt{int}&
- non invia attraverso un gateway.\\
+ Non invia attraverso un gateway.\\
\const{SO\_BROADCAST}&$\bullet$&$\bullet$&$\bullet$&\texttt{int}&
- attiva o disattiva il \itindex{broadcast}
+ Attiva o disattiva il \itindex{broadcast}
\textit{broadcast}.\\
\const{SO\_SNDBUF} &$\bullet$&$\bullet$& &\texttt{int}&
- imposta dimensione del buffer di trasmissione.\\
+ Imposta dimensione del buffer di trasmissione.\\
\const{SO\_RCVBUF} &$\bullet$&$\bullet$& &\texttt{int}&
- imposta dimensione del buffer di ricezione.\\
+ Imposta dimensione del buffer di ricezione.\\
\const{SO\_LINGER} &$\bullet$&$\bullet$& &\texttt{linger}&
- indugia nella chiusura con dati da spedire.\\
+ Indugia nella chiusura con dati da spedire.\\
\const{SO\_PRIORITY} &$\bullet$&$\bullet$& &\texttt{int}&
- imposta la priorità del socket.\\
+ Imposta la priorità del socket.\\
\const{SO\_ERROR} &$\bullet$& & &\texttt{int}&
- riceve e cancella gli errori pendenti.\\
+ Riceve e cancella gli errori pendenti.\\
\hline
\end{tabular}
\caption{Le opzioni disponibili al livello \const{SOL\_SOCKET}.}
usualmente utilizzata per ricevere il codice di errore, come accennato in
sez.~\ref{sec:TCP_sock_select}, quando si sta osservando il socket con una
\func{select} che ritorna a causa dello stesso.
-\end{basedescript}
+
+\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
+ 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}.
+
+\item[\const{SO\_DETACH\_FILTER}] consente di distaccare un filtro
+ precedentemente aggiunto ad un socket.
% TODO documentare SO_ATTACH_FILTER e SO_DETACH_FILTER
+% riferimenti http://www.rcpt.to/lsfcc/lsf.html
+% Documentation/networking/filter.txt
+
+
+\end{basedescript}
\subsection{L'uso delle principali opzioni dei socket}
possibile effettuare un \textit{completely duplicate binding} ed ottenere il
successo di \func{bind} su un socket legato allo stesso indirizzo e porta solo
se il programma che ha eseguito per primo \func{bind} su di essi ha impostato
-questa opzione.\footnote{Questa restrizione permette di evitare il cosiddetto
+questa opzione.\footnote{questa restrizione permette di evitare il cosiddetto
\textit{port stealing}, in cui un programma, usando \const{SO\_REUSEADDR},
può collegarsi ad una porta già in uso e ricevere i pacchetti destinati ad
un altro programma; con questa caratteristica ciò è possibile soltanto se il
\hline
\hline
\const{IP\_OPTIONS} &$\bullet$&$\bullet$&&\texttt{void *}& %???
- imposta o riceve le opzioni di IP.\\
+ Imposta o riceve le opzioni di IP.\\
\const{IP\_PKTINFO} &$\bullet$&$\bullet$&$\bullet$&\texttt{int}&
- passa un messaggio di informazione.\\
+ Passa un messaggio di informazione.\\
\const{IP\_RECVTOS} &$\bullet$&$\bullet$&$\bullet$&\texttt{int}&
- passa un messaggio col campo TOS.\\
+ Passa un messaggio col campo TOS.\\
\const{IP\_RECVTTL} &$\bullet$&$\bullet$&$\bullet$&\texttt{int}&
- passa un messaggio col campo TTL.\\
+ Passa un messaggio col campo TTL.\\
\const{IP\_RECVOPTS} &$\bullet$&$\bullet$&$\bullet$&\texttt{int}&
- passa un messaggio con le opzioni IP.\\
+ Passa un messaggio con le opzioni IP.\\
\const{IP\_RETOPTS} &$\bullet$&$\bullet$&$\bullet$&\texttt{int}&
- passa un messaggio con le opzioni IP non trattate.\\
+ Passa un messaggio con le opzioni IP non trattate.\\
\const{IP\_TOS} &$\bullet$&$\bullet$& &\texttt{int}&
- imposta il valore del campo TOS.\\
+ Imposta il valore del campo TOS.\\
\const{IP\_TTL} &$\bullet$&$\bullet$& &\texttt{int}&
- imposta il valore del campo TTL.\\
+ Imposta il valore del campo TTL.\\
\const{IP\_HDRINCL} &$\bullet$&$\bullet$&$\bullet$&\texttt{int}&
- passa l'intestazione di IP nei dati.\\
+ Passa l'intestazione di IP nei dati.\\
\const{IP\_RECVERR} &$\bullet$&$\bullet$&$\bullet$&\texttt{int}&
- abilita la gestione degli errori.\\
+ Abilita la gestione degli errori.\\
\const{IP\_MTU\_DISCOVER} &$\bullet$&$\bullet$& &\texttt{int}&
- imposta il Path MTU \itindex{Maximum~Transfer~Unit} Discovery.\\
+ Imposta il Path MTU \itindex{Maximum~Transfer~Unit} Discovery.\\
\const{IP\_MTU} &$\bullet$& & &\texttt{int}&
- legge il valore attuale della \itindex{Maximum~Transfer~Unit} MTU.\\
+ Legge il valore attuale della \itindex{Maximum~Transfer~Unit} MTU.\\
\const{IP\_ROUTER\_ALERT} &$\bullet$&$\bullet$&$\bullet$&\texttt{int}&
- imposta l'opzione \textit{IP router alert} sui pacchetti.\\
+ Imposta l'opzione \textit{IP router alert} sui pacchetti.\\
\const{IP\_MULTICAST\_TTL} &$\bullet$&$\bullet$& &\texttt{int}&
- imposta il TTL per i pacchetti \itindex{multicast} \textit{multicast}.\\
+ Imposta il TTL per i pacchetti \itindex{multicast} \textit{multicast}.\\
\const{IP\_MULTICAST\_LOOP} &$\bullet$&$\bullet$&$\bullet$&\texttt{int}&
- controlla il reinvio a se stessi dei dati di \itindex{multicast}
+ Controlla il reinvio a se stessi dei dati di \itindex{multicast}
\textit{multicast}.\\
\const{IP\_ADD\_MEMBERSHIP} & &$\bullet$& &\struct{ip\_mreqn}&
- si unisce a un gruppo di \itindex{multicast} \textit{multicast}.\\
+ Si unisce a un gruppo di \itindex{multicast} \textit{multicast}.\\
\const{IP\_DROP\_MEMBERSHIP}& &$\bullet$& &\struct{ip\_mreqn}&
- si sgancia da un gruppo di \textit{multicast}.\\
+ Si sgancia da un gruppo di \textit{multicast}.\\
\const{IP\_MULTICAST\_IF} & &$\bullet$& &\struct{ip\_mreqn}&
- imposta l'interfaccia locale di un socket \itindex{multicast}
+ Omposta l'interfaccia locale di un socket \itindex{multicast}
\textit{multicast}.\\
\hline
\end{tabular}
ricerca è disabilitata ed è responsabilità del programma creare pacchetti di
dimensioni appropriate e ritrasmettere eventuali pacchetti persi. Se
l'opzione viene abilitata, il kernel si incaricherà di tenere traccia
- automaticamente della \textit{Path MTU} verso ciascuna destinazione, e
- rifiuterà immediatamente la trasmissione di pacchetti di dimensioni maggiori
- della MTU con un errore di \errval{EMSGSIZE}.\footnote{in caso contrario la
- trasmissione del pacchetto sarebbe effettuata, ottenendo o un fallimento
- successivo della trasmissione, o la frammentazione dello stesso.}
+ automaticamente della \itindex{Maximum~Transfer~Unit} \textit{Path MTU}
+ verso ciascuna destinazione, e rifiuterà immediatamente la trasmissione di
+ pacchetti di dimensioni maggiori della MTU con un errore di
+ \errval{EMSGSIZE}.\footnote{in caso contrario la trasmissione del pacchetto
+ sarebbe effettuata, ottenendo o un fallimento successivo della
+ trasmissione, o la frammentazione dello stesso.}
\item[\const{IP\_MTU}] Permette di leggere il valore della \textit{Path MTU}
di percorso del socket. L'opzione richiede per \param{optval} un intero che
\hline
\hline
\const{TCP\_NODELAY} &$\bullet$&$\bullet$&$\bullet$&\texttt{int}&
- spedisce immediatamente i dati in segmenti singoli.\\
+ Spedisce immediatamente i dati in segmenti singoli.\\
\const{TCP\_MAXSEG} &$\bullet$&$\bullet$& &\texttt{int}&
- valore della \itindex{Maximum~Segment~Size} MSS per i segmenti in
+ Valore della \itindex{Maximum~Segment~Size} MSS per i segmenti in
uscita.\\
\const{TCP\_CORK} &$\bullet$&$\bullet$&$\bullet$&\texttt{int}&
- accumula i dati in un unico segmento.\\
+ Accumula i dati in un unico segmento.\\
\const{TCP\_KEEPIDLE} &$\bullet$&$\bullet$& &\texttt{int}&
- tempo in secondi prima di inviare un \textit{keepalive}.\\
+ Tempo in secondi prima di inviare un \textit{keepalive}.\\
\const{TCP\_KEEPINTVL} &$\bullet$&$\bullet$& &\texttt{int}&
- tempo in secondi prima fra \textit{keepalive} successivi.\\
+ Tempo in secondi prima fra \textit{keepalive} successivi.\\
\const{TCP\_KEEPCNT} &$\bullet$&$\bullet$& &\texttt{int}&
- numero massimo di \textit{keepalive} inviati.\\
+ Numero massimo di \textit{keepalive} inviati.\\
\const{TCP\_SYNCNT} &$\bullet$&$\bullet$& &\texttt{int}&
- numero massimo di ritrasmissioni di un SYN.\\
+ Numero massimo di ritrasmissioni di un SYN.\\
\const{TCP\_LINGER2} &$\bullet$&$\bullet$& &\texttt{int}&
- tempo di vita in stato \texttt{FIN\_WAIT2}.\\
+ Tempo di vita in stato \texttt{FIN\_WAIT2}.\\
\const{TCP\_DEFER\_ACCEPT}&$\bullet$&$\bullet$& &\texttt{int}&
- ritorna da \func{accept} solo in presenza di dati.\\
+ Ritorna da \func{accept} solo in presenza di dati.\\
\const{TCP\_WINDOW\_CLAMP}&$\bullet$&$\bullet$& &\texttt{int}&
- valore della \itindex{advertised~window} \textit{advertised window}.\\
+ Valore della \itindex{advertised~window} \textit{advertised window}.\\
\const{TCP\_INFO} &$\bullet$& & &\struct{tcp\_info}&
- restituisce informazioni sul socket.\\
+ Restituisce informazioni sul socket.\\
\const{TCP\_QUICKACK} &$\bullet$&$\bullet$&$\bullet$&\texttt{int}&
- abilita la modalità \textit{quickack}.\\
+ Abilita la modalità \textit{quickack}.\\
\const{TCP\_CONGESTION} &$\bullet$&$\bullet$& &\texttt{char *}&
- imposta l'algoritmo per il controllo della congestione.\\
+ Imposta l'algoritmo per il controllo della congestione.\\
\hline
\end{tabular}
\caption{Le opzioni per i socket TCP disponibili al livello
\textbf{Nome}&\textbf{Configurazione}&\textbf{Riferimento} \\
\hline
\hline
- reno& -- &algoritmo tradizionale, usato in caso di assenza degli altri.\\
+ reno& -- &Algoritmo tradizionale, usato in caso di assenza degli altri.\\
\texttt{bic} &\texttt{TCP\_CONG\_BIC} &
\href{http://www.csc.ncsu.edu/faculty/rhee/export/bitcp/index.htm}
{\texttt{http://www.csc.ncsu.edu/faculty/rhee/export/bitcp/index.htm}}.\\
\hline
\hline
\const{UDP\_CORK} &$\bullet$&$\bullet$&$\bullet$&\texttt{int}& %???
- accumula tutti i dati su un unico pacchetto.\\
+ Accumula tutti i dati su un unico pacchetto.\\
\const{UDP\_ENCAP} &$\bullet$&$\bullet$&$\bullet$&\texttt{int}& %???
- non documentata.\\
+ Non documentata.\\
\hline
\end{tabular}
\caption{Le opzioni per i socket UDP disponibili al livello
\label{tab:sock_opt_udplevel}
\end{table}
+% TODO documentare \const{UDP\_ENCAP}
+
Ancora una volta le descrizioni contenute tab.~\ref{tab:sock_opt_udplevel}
sono un semplice riferimento, una maggiore quantità di dettagli sulle
caratteristiche delle opzioni citate è quello dell'elenco seguente:
\textbf{Flag} & \textbf{Significato} \\
\hline
\hline
- \const{IFF\_UP} & l'interfaccia è attiva.\\
- \const{IFF\_BROADCAST} & l'interfaccia ha impostato un indirizzo di
+ \const{IFF\_UP} & L'interfaccia è attiva.\\
+ \const{IFF\_BROADCAST} & L'interfaccia ha impostato un indirizzo di
\itindex{broadcast} \textit{broadcast} valido.\\
- \const{IFF\_DEBUG} & è attivo il flag interno di debug.\\
- \const{IFF\_LOOPBACK} & l'interfaccia è una interfaccia di
+ \const{IFF\_DEBUG} & È attivo il flag interno di debug.\\
+ \const{IFF\_LOOPBACK} & L'interfaccia è una interfaccia di
\textit{loopback}.\\
- \const{IFF\_POINTOPOINT}& l'interfaccia è associata ad un collegamento
+ \const{IFF\_POINTOPOINT}&L'interfaccia è associata ad un collegamento
\textsl{punto-punto}.\\
- \const{IFF\_RUNNING} & l'interfaccia ha delle risorse allocate (non può
+ \const{IFF\_RUNNING} & L'interfaccia ha delle risorse allocate (non può
quindi essere disattivata).\\
- \const{IFF\_NOARP} & l'interfaccia ha il protocollo ARP disabilitato o
+ \const{IFF\_NOARP} & L'interfaccia ha il protocollo ARP disabilitato o
l'indirizzo del livello di rete non è impostato.\\
- \const{IFF\_PROMISC} & l'interfaccia è in \index{modo~promiscuo}
+ \const{IFF\_PROMISC} & L'interfaccia è in \index{modo~promiscuo}
\textsl{modo promiscuo} (riceve cioè tutti i
pacchetti che vede passare, compresi quelli non
direttamente indirizzati a lei).\\
- \const{IFF\_NOTRAILERS}& evita l'uso di \textit{trailer} nei pacchetti.\\
- \const{IFF\_ALLMULTI} & riceve tutti i pacchetti di \itindex{multicast}
+ \const{IFF\_NOTRAILERS}& Evita l'uso di \textit{trailer} nei pacchetti.\\
+ \const{IFF\_ALLMULTI} & Riceve tutti i pacchetti di \itindex{multicast}
\textit{multicast}.\\
- \const{IFF\_MASTER} & l'interfaccia è il master di un bundle per il
+ \const{IFF\_MASTER} & L'interfaccia è il master di un bundle per il
bilanciamento di carico.\\
- \const{IFF\_SLAVE} & l'interfaccia è uno slave di un bundle per il
+ \const{IFF\_SLAVE} & L'interfaccia è uno slave di un bundle per il
bilanciamento di carico.\\
- \const{IFF\_MULTICAST} & l'interfaccia ha il supporto per il
+ \const{IFF\_MULTICAST} & L'interfaccia ha il supporto per il
\textit{multicast} \itindex{multicast} attivo.\\
- \const{IFF\_PORTSEL} & l'interfaccia può impostare i suoi parametri
- hardware (con l'uso di \struct{ifmap})..\\
- \const{IFF\_AUTOMEDIA} & l'interfaccia è in grado di selezionare
+ \const{IFF\_PORTSEL} & L'interfaccia può impostare i suoi parametri
+ hardware (con l'uso di \struct{ifmap}).\\
+ \const{IFF\_AUTOMEDIA} & L'interfaccia è in grado di selezionare
automaticamente il tipo di collegamento.\\
- \const{IFF\_DYNAMIC} & gli indirizzi assegnati all'interfaccia vengono
+ \const{IFF\_DYNAMIC} & Gli indirizzi assegnati all'interfaccia vengono
persi quando questa viene disattivata.\\
% \const{IFF\_} & .\\
\hline
moderata.
\item[\procrelfile{/proc/sys/net/core}{no\_cong}] valore per l'occupazione
- della coda di ricezione sotto la quale si si considera di non avere
+ della coda di ricezione sotto la quale si considera di non avere
congestione.
\item[\procrelfile{/proc/sys/net/core}{no\_cong\_thresh}] valore minimo
% ottimizzazione per l'uso come router.
\item[\procrelfile{/proc/sys/net/core}{somaxconn}] imposta la dimensione
- massima del \textit{backlog} della funzione \func{listen} (vedi
- sez.~\ref{sec:TCP_func_listen}), e corrisponde al valore della costante
- \const{SOMAXCONN}; il suo valore di default è 128.
+ massima utilizzabile per il \textit{backlog} della funzione \func{listen}
+ (vedi sez.~\ref{sec:TCP_func_listen}), e corrisponde al valore della
+ costante \const{SOMAXCONN}; il suo valore di default è 128.
\end{basedescript}
dello stesso (come ARP).
I file che consentono di controllare le caratteristiche specifiche del
-protocollo IP in quanto tale, descritti anche nella pagina di manuale
-accessibile con \texttt{man 7 ip}, sono i seguenti:
+protocollo IP in quanto tale, che sono descritti anche nella relativa pagina
+di manuale accessibile con \texttt{man 7 ip}, sono i seguenti:
\begin{basedescript}{\desclabelwidth{3.5cm}\desclabelstyle{\nextlinelabel}}
\item[\procrelfile{/proc/sys/net/ipv4}{ip\_default\_ttl}] imposta il valore di
quanto in caso di problemi di routing si allunga inutilmente il numero di
ritrasmissioni.
-
\item[\procrelfile{/proc/sys/net/ipv4}{ip\_forward}] abilita l'inoltro dei
pacchetti da una interfaccia ad un altra, e può essere impostato anche per
la singola interfaccia. Prende un valore logico (0 disabilita, diverso da
automatica degli indirizzi associati ad un socket quando una interfaccia
cambia indirizzo. Viene usato per le interfacce usate nei collegamenti in
dial-up, il cui indirizzo IP viene assegnato dinamicamente dal provider, e
- può essere modificato. Un valore nullo disabilita la funzionalità, con 1 la
- si abilita, con 2 (o con qualunque altro valore diverso dai precedenti) la
- si abilità in modalità \textsl{prolissa}; di default la funzionalità è
- disabilitata.
+ può essere modificato. Prende un valore intero, con 0 si disabilita la
+ funzionalità, con 1 la si abilita, con 2 (o con qualunque altro valore
+ diverso dai precedenti) la si abilità in modalità \textsl{prolissa}; di
+ default la funzionalità è disabilitata.
\item[\procrelfile{/proc/sys/net/ipv4}{ip\_autoconfig}] specifica se
l'indirizzo IP è stato configurato automaticamente dal kernel all'avvio
- attraverso DHCP, BOOTP o RARP; è un valore logico (0 falso, 1 vero)
- accessibile in lettura, è inutilizzato nei kernel recenti ed eliminato a
- partire dal 2.6.18.
+ attraverso DHCP, BOOTP o RARP. Riporta un valore logico (0 falso, 1 vero)
+ accessibile solo in lettura, è inutilizzato nei kernel recenti ed eliminato
+ a partire dal kernel 2.6.18.
\item[\procrelfile{/proc/sys/net/ipv4}{ip\_local\_port\_range}] imposta
l'intervallo dei valori usati per l'assegnazione delle porte effimere,
permette cioè di modificare i valori illustrati in
- fig.~\ref{fig:TCP_port_alloc}; prende due valori numerici, che indicano gli
- estremi dell'intervallo. Si abbia cura di non definire un intervallo che si
- sovrappone a quello delle porte usate per il \itindex{masquerading}
- \textit{masquerading}, il kernel può gestire la sovrapposizione, ma si avrà
- una perdita di prestazioni. Si imposti sempre un valore iniziale maggiore di
- 1024 (o meglio ancora di 4096) per evitare conflitti con le porte usate dai
- servizi noti.
-
-\item[\procrelfile{/proc/sys/net/ipv4}{ip\_no\_pmtu\_disc}] imposta la
- disciplina di ricerca della \itindex{Maximum~Transfer~Unit} \textit{Path
- MTU} (vedi sez.~\ref{sec:net_lim_dim} e sez.~\ref{sec:sock_ipv4_options}).
-
-\item[\procrelfile{/proc/sys/net/ipv4}{ipfrag\_high\_thresh}] limite massimo
- (espresso in numero di byte) sui pacchetti IP frammentati presenti in coda;
- quando questo valore viene raggiunta la coda viene ripulita fino al valore
- \texttt{ipfrag\_low\_thresh}.
+ fig.~\ref{fig:TCP_port_alloc}; prende due valori interi separati da spazi,
+ che indicano gli estremi dell'intervallo. Si abbia cura di non definire un
+ intervallo che si sovrappone a quello delle porte usate per il
+ \itindex{masquerading} \textit{masquerading}, il kernel può gestire la
+ sovrapposizione, ma si avrà una perdita di prestazioni. Si imposti sempre un
+ valore iniziale maggiore di 1024 (o meglio ancora di 4096) per evitare
+ conflitti con le porte usate dai servizi noti.
+
+\item[\procrelfile{/proc/sys/net/ipv4}{ip\_no\_pmtu\_disc}] permette di
+ disabilitare per i socket \const{SOCK\_STREAM} la ricerca automatica della
+ \itindex{Maximum~Transfer~Unit} \textit{Path MTU} (vedi
+ sez.~\ref{sec:net_lim_dim} e sez.~\ref{sec:sock_ipv4_options}); prende un
+ valore logico, e di default è disabilitato (cioè la ricerca viene eseguita).
+
+ In genere si abilita questo parametro quando per qualche motivo il
+ procedimento del \itindex{Maximum~Transfer~Unit} \textit{Path MTU discovery}
+ fallisce; dato che questo può avveniera a causa di router\footnote{ad
+ esempio se si scartano tutti i pacchetti ICMP, il problema è affrontato
+ anche in sez.~1.4.4 di \cite{FwGL}.} o interfacce\footnote{ad esempio se i
+ due capi di un collegamento \textit{point-to-point} non si accordano sulla
+ stessa MTU.} mal configurate è opportuno correggere le configurazioni,
+ perché disabilitare globalmente il procedimento con questo parametro ha
+ pesanti ripercussioni in termini di prestazioni di rete.
+
+\item[\procrelfile{/proc/sys/net/ipv4}{ip\_always\_defrag}] fa si 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
+ tutte in fase di compilazione del kernel con l'opzione
+ \texttt{CONFIG\_IP\_ALWAYS\_DEFRAG}.} prende un valore logico e di default
+ è disabilitato. Con i kernel dalla serie 2.4 in poi la deframmentazione viene
+ attivata automaticamente quando si utilizza il sistema del netfilter, e
+ questo parametro non è più presente.
+
+\item[\procrelfile{/proc/sys/net/ipv4}{ipfrag\_high\_thresh}] indica il limite
+ massimo (espresso in numero di byte) sui pacchetti IP frammentati presenti
+ in coda; quando questo valore viene raggiunta la coda viene ripulita fino al
+ valore \texttt{ipfrag\_low\_thresh}.
\item[\procrelfile{/proc/sys/net/ipv4}{ipfrag\_low\_thresh}] soglia bassa
(specificata in byte) cui viene riportata la coda dei pacchetti IP
frammentati quando si raggiunge il valore \texttt{ipfrag\_high\_thresh}.
-\item[\procrelfile{/proc/sys/net/ipv4}{ip\_always\_defrag}] se abilitato
- (prende un intero come valore logico) tutti i pacchetti IP frammentati
- saranno riassemblati, anche in caso in successivo immediato
- inoltro.\footnote{introdotto con il kernel 2.2.13, nelle versioni precedenti
- questo comportamento poteva essere solo in fase di compilazione del kernel
- con l'opzione \texttt{CONFIG\_IP\_ALWAYS\_DEFRAG}.}
-
\item[\procrelfile{/proc/sys/net/ipv4}{ip\_nonlocal\_bind}] se abilitato
(prende un intero come valore logico) è possibile che una applicazione possa
collegarsi (con \func{bind} su un indirizzo non locale. Questo può risultare
nell'\href{http://www.ietf.org/rfc/rfc1323.txt}{RFC~1323}. Di default è
abilitato.
-\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_tw\_recycle}]
+\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_tw\_recycle}] un valore logico,
+ disattivo di default, che abilita un rapido riutilizzo dei socket in stato
+ \texttt{TIME\_WAIT}. Non è opportuno abilitare questa opzione che può
+ causare problemi con il NAT.
\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_tw\_reuse}]
-\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_window\_scaling}]
+\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_window\_scaling}] un valore
+ logico, attivo di default, che abilita la funzionalità del \textit{TCP
+ window scaling} definita
+ dall'\href{http://www.ietf.org/rfc/rfc1323.txt}{RFC~1323}
\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_vegas\_cong\_avoid}]