X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=sockctrl.tex;h=43314d8c6075584e31a51a4421835cfb547f01ee;hp=98d1b10ad2af706bcc73894196979bf5ba6a307b;hb=b81723c64c1d63b89cd3cec12f2fcccc4a756967;hpb=b2fde72b2f308cb35873f1fd050501af6a742bc0 diff --git a/sockctrl.tex b/sockctrl.tex index 98d1b10..43314d8 100644 --- a/sockctrl.tex +++ b/sockctrl.tex @@ -1,6 +1,6 @@ %% sockctrl.tex %% -%% Copyright (C) 2004-2007 Simone Piccardi. Permission is granted to +%% Copyright (C) 2004-2010 Simone Piccardi. Permission is granted to %% copy, distribute and/or modify this document under the terms of the GNU Free %% Documentation License, Version 1.1 or any later version published by the %% Free Software Foundation; with the Invariant Sections being "Prefazione", @@ -2333,6 +2333,12 @@ tab.~\ref{tab:sock_opt_socklevel} sul significato delle varie opzioni: %without using the netfilter MARK target. Changing the mark can be used %for mark based routing without netfilter or for packet filtering. + +% TODO documentare SO_TIMESTAMP e le altre opzioni di timestamping dei +% pacchetti, introdotte nel 2.6.30, vedi nei sorgenti del kernel: +% Documentation/networking/timestamping.txt + + \end{basedescript} @@ -2590,7 +2596,7 @@ altro socket. Questo ovviamente non ha senso per il normale traffico di rete, in cui i pacchetti vengono scambiati direttamente fra due applicazioni; ma quando un sistema supporta il traffico in \itindex{multicast} \textit{multicast}, in cui una applicazione invia i pacchetti a molte altre -(vedi sez.~\ref{sec:multicast_xxx}), allora ha senso che su una macchina i +(vedi sez.~\ref{sec:xxx_multicast}), allora ha senso che su una macchina i pacchetti provenienti dal traffico in \itindex{multicast} \textit{multicast} possano essere ricevuti da più applicazioni\footnote{l'esempio classico di traffico in \textit{multicast} è quello di uno streaming di dati (audio, @@ -3140,7 +3146,7 @@ quantit \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 + sez.~\ref{sec: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. @@ -3168,7 +3174,7 @@ quantit \item[\const{TCP\_MAXSEG}] con questa opzione si legge o si imposta il valore della \itindex{Maximum~Segment~Size} MSS (\textit{Maximum~Segment~Size}, - vedi sez.~\ref{sec:net_lim_dim} e sez.~\ref{sez:tcp_protocol_xxx}) dei + vedi sez.~\ref{sec:net_lim_dim} e sez.~\ref{sec:tcp_protocol_xxx}) dei segmenti TCP uscenti. Se l'opzione è impostata prima di stabilire la connessione, si cambia anche il valore della \itindex{Maximum~Segment~Size} MSS annunciata all'altro capo della connessione. Se si specificano valori @@ -3304,7 +3310,7 @@ quantit \item[\const{TCP\_WINDOW\_CLAMP}] con questa opzione si legge o si imposta alla dimensione specificata, in byte, il valore dichiarato della \itindex{advertised~window} \textit{advertised window} (vedi - sez.~\ref{sez:tcp_protocol_xxx}). Il kernel impone comunque una dimensione + sez.~\ref{sec:tcp_protocol_xxx}). Il kernel impone comunque una dimensione minima pari a \texttt{SOCK\_MIN\_RCVBUF/2}. Questa opzione non deve essere utilizzata in codice che vuole essere portabile. @@ -3374,7 +3380,7 @@ quantit \item[\const{TCP\_CONGESTION}] questa opzione permette di impostare quale algoritmo per il controllo della congestione\footnote{il controllo della congestione è un meccanismo previsto dal protocollo TCP (vedi - sez.~\ref{sez:tcp_protocol_xxx}) per evitare di trasmettere inutilmente + sez.~\ref{sec:tcp_protocol_xxx}) per evitare di trasmettere inutilmente dati quando una connessione è congestionata; un buon algoritmo è fondamentale per il funzionamento del protocollo, dato che i pacchetti persi andrebbero ritrasmessi, per cui inviare un pacchetto su una linea @@ -4399,7 +4405,7 @@ pagina di manuale (accessibile con \texttt{man 7 tcp}), sono i seguenti: \item[\procrelfile{/proc/sys/net/ipv4}{tcp\_reordering}] indica il numero massimo di volte che un pacchetto può essere riordinato nel flusso di dati, prima che lo stack TCP assuma che è andato perso e si ponga nello stato di - \textit{slow start} (si veda sez.~\ref{sez:tcp_protocol_xxx}) viene usata + \textit{slow start} (si veda sez.~\ref{sec:tcp_protocol_xxx}) viene usata questa metrica di riconoscimento dei riordinamenti per evitare inutili ritrasmissioni provocate dal riordinamento. Prende un valore intero che di default che è 3, e che non è opportuno modificare.