+\subsection{I valori di controllo per il protocollo IPv4}
+\label{sec:sock_ipv4_sysctl}
+
+Nella directory \texttt{/proc/sys/net/ipv4} sono presenti i file che
+corrispondono ai parametri dei socket che usano il protocollo IPv4, relativi
+quindi sia alle caratteristiche di IP, che a quelle degli altri protocolli che
+vengono usati all'interno di quest'ultimo (come ICMP, TCP e UDP) o a fianco
+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:
+\begin{basedescript}{\desclabelwidth{3.5cm}\desclabelstyle{\nextlinelabel}}
+
+\item[\procrelfile{/proc/sys/net/ipv4}{ip\_default\_ttl}] imposta il valore di
+ default per il campo TTL (vedi sez.~\ref{sec:IP_header}) di tutti i
+ pacchetti uscenti, stabilendo così il numero massimo di router che i
+ pacchetti possono attraversare. Il valore può essere modificato anche per il
+ singolo socket con l'opzione \const{IP\_TTL}. Prende un valore intero, ma
+ dato che il campo citato è di 8 bit hanno senso solo valori fra 0 e 255. Il
+ valore di default è 64, e non ci normalmente non c'è nessuna necessità di
+ modificarlo,\footnote{l'unico motivo sarebbe per raggiungere macchine
+ estremamente ``{lontane}'' in termini di \textit{hop}, ma è praticamente }
+ aumentare il valore è una pratica poco gentile, in 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
+ zero abilita).
+
+\item[\procrelfile{/proc/sys/net/ipv4}{ip\_dynaddr}] Abilita la riscrittura
+ 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 la si abilità in modalità \textsl{prolissa}.
+
+\item[\procrelfile{/proc/sys/net/ipv4}{ip\_autoconfig}] Specifica se
+ l'indirizzo IP è stato configurato automaticamente via DHCP, BOOTP o RARP.
+
+\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}.
+
+\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
+ utile per applicazioni particolari (come gli \textit{sniffer}) che hanno la
+ necessità di ricevere pacchetti anche non diretti agli indirizzi presenti
+ sulla macchina, ad esempio per intercettare il traffico per uno specifico
+ indirizzo che si vuole tenere sotto controllo.
+
+% \item[\texttt{neigh/*}] La directory contiene i valori
+% TODO trattare neigh/* nella parte su arp, da capire dove sarà.
+\end{basedescript}
+
+I file di \texttt{/proc/sys/net/ipv4} che invece fanno riferimento alle
+caratteristiche specifiche del protocollo TCP, elencati anche nella rispettiva
+pagina di manuale (accessibile con \texttt{man 7 tcp}), sono i seguenti:
+\begin{basedescript}{\desclabelwidth{3.9cm}\desclabelstyle{\nextlinelabel}}
+
+\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_abort\_on\_overflow}] è un valore
+ logico (disabilitato di default) che indica di azzerare le connessioni
+ quando il programma che le riceve è troppo lento ed incapace di accettarle.
+ Questo consente di recuperare le connessioni se si è avuto un eccesso dovuto
+ ad un qualche picco di traffico, ma ovviamente va a discapito dei client che
+ interrogano il server. Pertanto è da abilitare soltanto quando si è sicuri
+ che non è possibile ottimizzare il server in modo che sia in grado di
+ accettare connessioni più rapidamente.
+
+\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_adv\_win\_scale}] questa variabile
+ intera indica al kernel quanto spazio all'interno del buffer associato ad un
+ socket (quello impostato con \texttt{tcp\_rmem}) deve essere utilizzato per
+ la finestra del protocollo TCP (quello che costituisce la
+ \itindex{advertised~window} \textit{advertised window} annunciata all'altro
+ capo del socket) e quello che viene usato come buffer applicativo per
+ isolare la rete dalle latenze dell'applicazione. Il valore viene calcolato
+ secondo la formula $\texttt{buffer}/2^\texttt{tcp\_adv\_win\_scale}$ se
+ positivo o con
+ $\texttt{buffer}-\texttt{buffer}/2^\texttt{tcp\_adv\_win\_scale}$ se
+ negativo. Il valore di default è 2 che significa che al buffer
+ dell'applicazione viene riservato un quarto del totale.
+
+\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_app\_win}] il valore indica quanti
+ byte della finestra TCP vengono riservati per la bufferizzazione, valore è
+ il massimo fra la \itindex{Maximum~Segment~Size} MSS e
+ $\texttt{window}/2^\texttt{tcp\_app\_win}$. Un valore nullo significa che
+ non viene riservato nessuno spazio; il default è 31.
+
+% vecchi, presumibilmente usati quando gli algoritmi di congestione non erano
+% modularizzabili
+% \item[\texttt{tcp\_bic}]
+% \item[\texttt{tcp\_bic\_low\_window}]
+% \item[\texttt{tcp\_bic\_fast\_convergence}]
+
+\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_dsack}] Abilita il supporto,
+ definito nell'\href{http://www.ietf.org/rfc/rfc2884.txt}{RFC~2884}, per il
+ \textit{Duplicate SACK}.\footnote{si indica con SACK (\textit{Selective
+ Acknowledgement}) un'opzione TCP, definita
+ nell'\href{http://www.ietf.org/rfc/rfc2018.txt}{RFC~2018}, usata per dare
+ un \textit{acknowledgement} unico su blocchi di pacchetti non contigui,
+ che consente di diminuire il numero di pacchetti scambiati.}
+
+\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_ecn}] Abilita il meccanismo della
+ \textit{Explicit Congestion Notification} (o ECN) definito
+ nell'\href{http://www.ietf.org/rfc/rfc2884.txt}{RFC~2884}. Si tenga presente
+ che se si abilita questa opzione si possono avere dei malfunzionamenti
+ apparentemente casuali dipendenti dalla destinazione, dovuti al fatto che
+ alcuni vecchi router non supportano il meccanismo ed alla sua attivazione
+ scartano i relativi pacchetti.\\
+
+\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_fack}] è un valore logico che
+ abilita il supporto per il \textit{TCP Forward Acknowledgement}, un
+ algoritmo per il controllo della congestione del traffico. Di default è
+ abilitato.
+% TODO documentare o descrivere che cos'è il TCP Forward Acknowledgement
+
+\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_fin\_timeout}] specifica il numero
+ di secondi (il default è 60\footnote{nei kernel della serie 2.2.x era invece
+ di 120 secondi.}) da passare in stato \texttt{FIN\_WAIT2} nell'attesa
+ delle ricezione del pacchetto FIN conclusivo, passati quali il socket viene
+ comunque chiuso forzatamente. L'uso di questa opzione realizza quella che
+ in sostanza è una violazione delle specifiche del protocollo TCP, ma è utile
+ per fronteggiare alcuni attacchi di \itindex{Denial~of~Service~(DoS)}
+ \textit{Denial of Service}.
+
+\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_frto}] è un valore logico che
+ abilita il supporto per l'algoritmo F-RTO, un algoritmo usato per la
+ ritrasmissione dei timeout del protocollo TCP, che diventa molto utile per
+ le reti wireless dove la perdita di pacchetti è usualmente dovuta a delle
+ interferenze radio, piuttosto che alla congestione dei router. Di default è
+ disabilitato.
+
+\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_keepalive\_intvl}] il numero di
+ secondi che deve trascorrere fra l'emissione di due successivi pacchetti di
+ test quando è abilitata la funzionalità del \textit{keepalive} (vedi
+ sez.~\ref{sec:sock_options_main}). Il valore di default è 75.
+
+\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_keepalive\_probes}] il massimo
+ numero pacchetti di \textit{keepalive} (vedi
+ sez.~\ref{sec:sock_options_main}) che devono essere inviati senza ricevere
+ risposta prima che il kernel decida che la connessione è caduta e la
+ termini. Il valore di default è 9.
+
+\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_keepalive\_time}] il numero di
+ secondi che devono passare senza traffico sulla connessione prima che il
+ kernel, qualora si sia utilizzata l'opzione \const{SO\_KEEPALIVE} (vedi
+ sez.~\ref{sec:sock_options_main}), inizi ad inviare pacchetti di pacchetti
+ di \textit{keepalive}. Il default è 7200, pari a due ore.
+
+\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_low\_latency}] un valore logico
+ che indica allo stack TCP del kernel di ottimizzare il comportamento per
+ ottenere tempi di latenza più bassi a scapito di valori più alti per
+ l'utilizzo della banda. Di default è disabilitato in quanto un maggior
+ utilizzo della banda è preferito, ma esistono applicazioni particolari in
+ cui la riduzione della latenza è più importante (ad esempio i cluster di
+ calcolo parallelo) in cui lo si può abilitare.
+
+\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_max\_orphans}] il numero massimo
+ di socket TCP ``\textsl{orfani}'' (vale a dire non associati a nessun file
+ descriptor) consentito nel sistema.\footnote{trattasi in genere delle
+ connessioni relative a socket chiusi che non hanno completato il processo
+ di chiusura.} Quando il limite viene ecceduto la connessione orfana viene
+ resettata e viene stampato un avvertimento. Questo limite viene usato per
+ contrastare alcuni elementari attacchi di \textit{denial of service}.
+ Diminuire il valore non è mai raccomandato, in certe condizioni di rete può
+ essere opportuno aumentarlo, ma si deve tenere conto del fatto che ciascuna
+ connessione orfana può consumare fino a 64K di memoria del kernel. Il di
+ default viene impostato inizialmente al valore del parametro del kernel
+ \texttt{NR\_FILE}, e viene aggiustato a seconda della memoria disponibile.
+% TODO verificare la spiegazione di connessione orfana
+
+\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_max\_syn\_backlog}] un numero
+ intero che indica la lunghezza della coda delle connessioni incomplete, cioè
+ delle connessioni per le quali si è ricevuto un SYN di richiesta ma non
+ l'ACK finale del \itindex{three~way~handshake} \textit{three way handshake}
+ (si riveda quanto illustrato in sez.~\ref{sec:TCP_func_listen}).
+
+ Quando questo valore è superato il kernel scarterà immediatamente ogni
+ ulteriore richiesta di connessione. Il valore di default (che è 256) viene
+ automaticamente portato a 1024 qualora nel sistema ci sia sufficiente
+ memoria (se maggiore di 128Mb) e ridotto a 128 qualora la memoria sia poca
+ (inferiore a 32Mb).\footnote{si raccomanda, qualora si voglia aumentare il
+ valore oltre 1024, di seguire la procedura citata nella pagina di manuale
+ di TCP, e modificare il valore della costante \texttt{TCP\_SYNQ\_HSIZE}
+ nel file \texttt{include/net/tcp.h} dei sorgenti del kernel, in modo che
+ sia $\mathtt{tcp\_max\_syn\_backlog} \ge \mathtt{16*TCP\_SYNQ\_HSIZE}$,
+ per poi ricompilare il kernel.}
+
+\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_max\_tw\_buckets}] questo valore
+ indica il numero massimo di socket in stato \texttt{TIME\_WAIT} consentito
+ nel sistema; viene impostato per prevenire semplici attacchi di
+ \textit{denial of service} ed inizializzato di default ad un valore del
+ parametro \texttt{NR\_FILE}, per poi essere aggiustato a seconda della
+ memoria presente. Se il valore viene superato il socket viene chiuso con la
+ stampa di un avviso.
+
+
+\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_mem}] una tripletta di valori
+ usati dallo stack TCP per controllare il proprio uso della memoria. Il primo
+ valore, chiamato \textit{low} nelle pagine di manuale, indica il numero di
+ pagine allocate sotto il quale non viene usato nessun meccanismo di
+ regolazione dell'uso della memoria.
+
+ Il secondo valore, chiamato \textit{pressure} indica il numero di pagine
+ allocate passato il quale lo stack TCP inizia a moderare il suo consumo di
+ memoria. Si esce da questo stato di \textsl{pressione} sulla memoria quando
+ il numero di pagine scende sotto il precedente valore \textit{low}.
+
+ Il terzo valore, chiamato \textit{high} indica il numero massimo di pagine
+ che possono essere utilizzate dallo stack TCP/IP, e soprassiede ogni altro
+ valore specificato dagli altri limiti del kernel.
+
+
+\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_orphan\_retries}] il numero
+ massimo di volte che si esegue un tentativo di controllo sull'altro capo di
+ una connessione che è stata già chiusa dalla nostra parte. Il valore di
+ default è 8 volte.
+
+\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_reordering}] 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
+ questa metrica di riconoscimento dei riordinamenti per evitare inutili
+ ritrasmissioni provocate dal riordinamento. Non è opportuno modificare
+ questo valore dal default che è 3.
+
+\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_retrans\_collapse}] in caso di
+ pacchetti persi durante una connessione, per ottimizzare l'uso della banda
+ il kernel cerca di eseguire la ritrasmissione inviando pacchetti della
+ massima dimensione possibile; in sostanza dati che in precedenza erano stati
+ trasmessi su pacchetti diversi possono essere ritrasmessi riuniti su un solo
+ pacchetto (o su un numero minore di pacchetti di dimensione maggiore).
+
+\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_retries1}] imposta il massimo
+ numero di volte che protocollo tenterà la ritrasmissione si un pacchetto su
+ una connessione stabilita prima di fare ricorso ad ulteriori sforzi che
+ coinvolgano anche il livello di rete. Passato questo numero di
+ ritrasmissioni verrà fatto eseguire al livello di rete un tentativo di
+ aggiornamento della rotta verso la destinazione prima di eseguire ogni
+ successiva ritrasmissione.
+
+\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_retries2}] imposta il numero di
+ tentativi di ritrasmissione di un pacchetto inviato su una connessione già
+ stabilita per il quale non si sia ricevuto una risposta di ACK (si veda
+ anche quanto illustrato in sez.~\ref{sec:TCP_server_crash}). Il valore
+ default è 15, che significa un tempo variabile fra 13 e 30 minuti; questo
+ non corrisponde a quanto richiesto
+ nell'\href{http://www.ietf.org/rfc/rfc1122.txt}{RFC~1122} dove è indicato un
+ massimo di 100 secondi, che però è un valore considerato troppo basso.
+
+
+\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_rfc1337}]
+
+\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_rmem}]
+
+
+\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_sack}]
+\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_stdurg}]
+\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_synack\_retries}]
+\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_syncookies}]
+
+\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_syn\_retries}] imposta il numero
+ di tentativi (il default è 5) di ritrasmissione dei pacchetti SYN di inizio
+ connessione del \itindex{three~way~handshake} \textit{three way handshake}
+ (si ricordi quanto illustrato in sez.~\ref{sec:TCP_func_connect}). Il valore
+ non deve superare 255.
+
+\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_timestamps}]
+\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_tw\_recycle}]
+\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\_vegas\_cong\_avoid}]
+\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_westwood}]
+\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_wmem}]
+\end{basedescript}
+
+% LocalWords: socket sez dotted decimal resolver Domain Name Service cap DNS
+% LocalWords: client fig LDAP Lightweight Access Protocol NIS Information Sun
+% LocalWords: like netgroup Switch Solaris glibc libc uclib NSS tab shadow uid
+% LocalWords: username group aliases ethers MAC address hosts networks rpc RPC
+% LocalWords: protocols services dns db lib libnss org truelite it root res HS
+% LocalWords: resource init netinet resolv int void conf host LOCALDOMAIN TCP
+% LocalWords: options DEBUG debug AAONLY USEVC UDP PRIMARY IGNTC RECURSE INET
+% LocalWords: DEFNAMES search STAYOPEN DNSRCH INSECURE NOALIASES HOSTALIASES
+% LocalWords: IPv gethostbyname NOCHECKNAME KEEPTSIG TSIG BLAST RETRY retry NS
+% LocalWords: retrans query FQDN Fully Qualified const char dname class type
+% LocalWords: unsigned answer anslen CSNET Hesiod MIT CHAOS Chaosnet ANY BIND
+% LocalWords: nameser compat Berkley MF CNAME SOA MB MR NULL WKS PTR HINFO TXT
+% LocalWords: MINFO RP responsible person AFSDB AFS RT router NSAP SIG KEY PX
+% LocalWords: GPOS AAAA LOC NXT EID NIMLOC nimrod SRV ATMA ATM NAPTR naming AF
+% LocalWords: authority IXFR AXFR MAILB MAILA errno NOT FOUND RECOVERY TRY err
+% LocalWords: AGAIN herror netdb string perror error hstrerror strerror struct
+% LocalWords: hostent name addrtype length addr list sys af mygethost inet ret
+% LocalWords: ntop deep copy buf size buflen result errnop value argument len
+% LocalWords: ERANGE sethostent stayopen endhostent gethostbyaddr order pton
+% LocalWords: getipnodebyname getipnodebyaddr flags num MAPPED ALL ADDRCONFIG
+% LocalWords: freehostent ip getXXXbyname getXXXbyaddr servent getservbyname
+% LocalWords: getservbyaddr netent getnetbyname getnetbyaddr protoent smtp udp
+% LocalWords: getprotobyname getprotobyaddr getservbyport port tcp setservent
+% LocalWords: getservent endservent setXXXent getXXXent endXXXent gethostent
+% LocalWords: setnetent getnetent endnetent setprotoent getprotoent POSIX RFC
+% LocalWords: endprotoent getaddrinfo getnameinfo nell' node service addrinfo
+% LocalWords: hints linked addrlen socklen family socktype protocol sockaddr
+% LocalWords: canonname next PF UNSPEC SOCK STREAM DGRAM bind INADDR loopback
+% LocalWords: connect sendto NUMERICHOST EAI NONAME SYSTEM BADFLAGS ADDRFAMILY
+% LocalWords: NODATA MEMORY FAIL errcode echo mygetaddr ptr casting Canonical
+% LocalWords: freeaddrinfo getservname salen hostlen serv servlen l'OR NI NUL
+% LocalWords: NOFQDN NAMEREQD NUMERICSERV MAXHOST MAXSERV sockconn SockUtil of
+% LocalWords: descriptor hint fifth sockbind setsockopt getsockopt sock level
+% LocalWords: optname optval optlen EBADF EFAULT EINVAL ENOPROTOOPT ENOTSOCK
+% LocalWords: IPPROTO Stevens ICMP ICMPV ICMPv get KEEPALIVE OOBINLINE timeval
+% LocalWords: RCVLOWAT SNDLOWAT RCVTIMEO SNDTIMEO BSDCOMPAT BSD PASSCRED ucred
+% LocalWords: PEERCRED BINDTODEVICE REUSEADDR ACCEPTCONN DONTROUTE gateway MSG
+% LocalWords: BROADCAST broadcast SNDBUF RCVBUF LINGER linger PRIORITY read IF
+% LocalWords: OOB recvmsg kernel select write readv recv recvfrom EAGAIN send
+% LocalWords: EWOULDBLOCK writev sendmsg raw domain SCM CREDENTIALS eth packet
+% LocalWords: IFNAMSIZ capabilities capability ADMIN log trpt EADDRINUSE close
+% LocalWords: listen routing sysctl shutdown Quality TOS keep alive ACK RST to
+% LocalWords: ECONNRESET ETIMEDOUT keepalive echod fourth newsgroup WAIT reuse
+% LocalWords: sockbindopt SockUtils homed completely binding RECVDSTADDR onoff
+% LocalWords: PKTINFO getsockname multicast streaming unicast REUSEPORT reset
+% LocalWords: stealing ling RECVTOS RECVTTL TTL RECVOPTS RETOPTS HDRINCL MTU
+% LocalWords: RECVERR DISCOVER Path Discovery ALERT alert ADD MEMBERSHIP mreqn
+% LocalWords: pktinfo ipi ifindex spec dst RECVIF Live IPTOS LOWDELAY Advanced
+% LocalWords: Transfer Unit PMTUDISC DONT WANT route dall' pmtu EMSGSIZE imr
+% LocalWords: multiaddr mreq fcntl ioctl request SIOCGSTAMP trip SIOCSPGRP pid
+% LocalWords: process SIGIO SIGURG KILL FIOASYNC SIOCGPGRP filesystem proc ttl
+% LocalWords: rmem wmem message cost burst bucket filter netdev backlog optmem
+% LocalWords: forward dynaddr dial autoconfig local masquerading ipfrag high
+% LocalWords: thresh low always defrag CONFIG SETSIG cmd FIOGETOWN FIOSETOWN
+% LocalWords: quest'ultime neigh dev weight cong mod somaxconn Di SIOCINQ DoS
+% LocalWords: Documentation SIOCATMARK SIOCOUTQ FIONREAD TIOCOUTQ Denial work
+% LocalWords: netfilter scheduler mark ARP DHCP BOOTP RARP nonlocal sniffer is
+% LocalWords: linux NODELAY MAXSEG CORK KEEPIDLE KEEPINTVL KEEPCNT SYNCNT INFO
+% LocalWords: DEFER ACCEPT WINDOW CLAMP QUICKACK CONGESTION ENCAP urgent MSS
+% LocalWords: Segment SYN accept advertised window info quickack Nagle ifreq
+% LocalWords: ifr ppp union EPERM SIOCGIFNAME dell' interface index IFF NOARP
+% LocalWords: SIOCGIFINDEX SIOCGIFFLAGS POINTOPOINT RUNNING PROMISC NOTRAILERS
+% LocalWords: ALLMULTI bundle PORTSEL ifmap AUTOMEDIA DYNAMIC SIOCSIFFLAGS way
+% LocalWords: SIOCGIFMETRIC SIOCSIFMETRIC SIOCGIFMTU SIOCSIFMTU SIOCGIFHWADDR
+% LocalWords: SIOCSIFHWADDR SIOCSIFHWBROADCAST SIOCGIFMAP SIOCSIFMAP sendfile
+% LocalWords: SIOCADDMULTI SIOCDELMULTI SIOCGIFTXQLEN SIOCSIFTXQLEN three syn
+% LocalWords: SIOCSIFNAME SIOCGIFCONF handshake retries MIN FreeBSD closing Mb
+% LocalWords: abort overflow adv win app bic convergence dsack ecn fack frto
+% LocalWords: intvl probes latency orphans l'ACK SYNQ HSIZE tw buckets mem rfc
+% LocalWords: orphan reordering collapse sack stdurg synack syncookies recycle
+% LocalWords: timestamps scaling vegas avoid westwood tcpi l'incapsulazione NR
+% 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