X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=tcpsock.tex;h=485f36f0be956b66ddef6942654ddce9b42dfc35;hp=a2c674a8c1083979191ceac6c6d39be585f8f1b0;hb=e7010c3fbd41a2de44c7b513c5de6e2c6d7ab4b4;hpb=60e20d29c0515f95b8a171fb33c7214c9bf92021 diff --git a/tcpsock.tex b/tcpsock.tex index a2c674a..485f36f 100644 --- a/tcpsock.tex +++ b/tcpsock.tex @@ -480,10 +480,10 @@ l'elenco delle porte assegnate dalla IANA (la \textit{Internet Assigned Number Authority}) ma l'elenco viene costantemente aggiornato e pubblicato su internet (una versione aggiornata si può trovare all'indirizzo \href{http://www.iana.org/assignments/port-numbers} -{\texttt{http://www.iana.org/assignments/port-numbers}}); inoltre -in un sistema unix-like un analogo elenco viene mantenuto nel file -\file{/etc/services}, con la corrispondenza fra i vari numeri di porta ed il -nome simbolico del servizio. I numeri sono divisi in tre intervalli: +{\texttt{http://www.iana.org/assignments/port-numbers}}); inoltre in un +sistema unix-like un analogo elenco viene mantenuto nel file +\conffile{/etc/services}, con la corrispondenza fra i vari numeri di porta ed +il nome simbolico del servizio. I numeri sono divisi in tre intervalli: \begin{enumerate*} \item \textsl{le porte note}. I numeri da 0 a 1023. Queste sono controllate e @@ -709,7 +709,7 @@ per il server\footnote{un'eccezione a tutto ci demone che deve essere contattato dai client per ottenere la porta effimera su cui si trova il server.} che in genere viene identificato dalla porta su cui risponde (l'elenco di queste porte, e dei relativi servizi, è in -\file{/etc/services}). +\conffile{/etc/services}). Con \func{bind} si può assegnare un indirizzo IP specifico ad un socket, purché questo appartenga ad una interfaccia della macchina. Per un client TCP @@ -842,7 +842,7 @@ nella chiamata della funzione sono le seguenti: secondi per un numero di volte che può essere stabilito dall'utente. Questo può essere fatto a livello globale con una opportuna \func{sysctl},\footnote{o più semplicemente scrivendo il valore voluto in - \file{/proc/sys/net/ipv4/tcp\_syn\_retries}, vedi + \procfile{/proc/sys/net/ipv4/tcp\_syn\_retries}, vedi sez.~\ref{sec:sock_ipv4_sysctl}.} e a livello di singolo socket con l'opzione \const{TCP\_SYNCNT} (vedi sez.~\ref{sec:sock_tcp_udp_options}). Il valore predefinito per la ripetizione dell'invio è di 5 volte, che comporta @@ -977,12 +977,12 @@ indicare la lunghezza della coda delle connessioni complete. La lunghezza della coda delle connessioni incomplete può essere ancora controllata usando la funzione \func{sysctl} con il parametro \const{NET\_TCP\_MAX\_SYN\_BACKLOG} o scrivendola direttamente in -\file{/proc/sys/net/ipv4/tcp\_max\_syn\_backlog}. Quando si attiva la +\procfile{/proc/sys/net/ipv4/tcp\_max\_syn\_backlog}. Quando si attiva la protezione dei syncookies però (con l'opzione da compilare nel kernel e da -attivare usando \file{/proc/sys/net/ipv4/tcp\_syncookies}) questo valore viene -ignorato e non esiste più un valore massimo. In ogni caso in Linux il valore -di \param{backlog} viene troncato ad un massimo di \const{SOMAXCONN} se è -superiore a detta costante (che di default vale 128).\footnote{il valore di +attivare usando \procfile{/proc/sys/net/ipv4/tcp\_syncookies}) questo valore +viene ignorato e non esiste più un valore massimo. In ogni caso in Linux il +valore di \param{backlog} viene troncato ad un massimo di \const{SOMAXCONN} se +è superiore a detta costante (che di default vale 128).\footnote{il valore di questa costante può essere controllato con un altro parametro di \func{sysctl}, vedi sez.~\ref{sec:sock_ioctl_IP}.} @@ -2622,7 +2622,8 @@ successivo, per tentare di ristabilire la connessione. Il risultato finale qui dipende dall'implementazione dello stack TCP, e nel caso di Linux anche dall'impostazione di alcuni dei parametri di sistema che si trovano in \file{/proc/sys/net/ipv4}, che ne controllano il comportamento: -in questo caso in particolare da \file{tcp\_retries2} (vedi +in questo caso in particolare da +\procrelfile{/proc/sys/net/ipv4}{tcp\_retries2} (vedi sez.~\ref{sec:sock_ipv4_sysctl}). Questo parametro infatti specifica il numero di volte che deve essere ritentata la ritrasmissione di un pacchetto nel mezzo di una connessione prima di riportare un errore di timeout. Il valore