X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=tcpsock.tex;h=8ce19aa84c6caca7821b5c97efbfe1625e8d26f7;hp=2b460beb53dea1f1fd81f59c27c4d994569cfefc;hb=ee41e8b34dd560d230966160fb3eb748defc3e46;hpb=886e1105f5b014b7984a8416d6a8101259af16d6 diff --git a/tcpsock.tex b/tcpsock.tex index 2b460be..8ce19aa 100644 --- a/tcpsock.tex +++ b/tcpsock.tex @@ -1,6 +1,6 @@ %% tcpsock.tex %% -%% Copyright (C) 2000-2007 Simone Piccardi. Permission is granted to +%% Copyright (C) 2000-2009 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 "Un preambolo", @@ -165,12 +165,12 @@ connessione. Normalmente vengono usate le seguenti opzioni: spostare a sinistra il valore della finestra annunciata inserito nel pacchetto). Con Linux è possibile indicare al kernel di far negoziare il fattore di scala in fase di creazione di una connessione tramite la - \textit{sysctl} \texttt{tcp\_window\_scaling} (vedi - sez.~\ref{sec:sock_ipv4_sysctl}).\footnote{per poter usare questa + \textit{sysctl} \itindex{TCP~window~scaling} \texttt{tcp\_window\_scaling} + (vedi sez.~\ref{sec:sock_ipv4_sysctl}).\footnote{per poter usare questa funzionalità è comunque necessario ampliare le dimensioni dei buffer di ricezione e spedizione, cosa che può essere fatta sia a livello di sistema - con le opportune \textit{sysctl} (vedi sez.~\ref{sec:sock_ipv4_sysctl}) che - a livello di singoli socket con le relative opzioni (vedi + con le opportune \textit{sysctl} (vedi sez.~\ref{sec:sock_ipv4_sysctl}) + che a livello di singoli socket con le relative opzioni (vedi sez.~\ref{sec:sock_tcp_udp_options}).} \item \textit{timestamp option}, è anche questa una nuova opzione necessaria @@ -187,6 +187,7 @@ vengono anche dette \textit{long fat pipe options} dato che questo che viene dato alle connessioni caratterizzate da alta velocità o da ritardi elevati. In ogni caso Linux supporta pienamente entrambe le opzioni. + \subsection{La terminazione della connessione} \label{sec:TCP_conn_term} @@ -480,7 +481,7 @@ 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 +{\textsf{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: @@ -965,12 +966,12 @@ kernel, compreso Linux 2.0, che mostrano le differenze fra diverse implementazioni. In Linux il significato di questo valore è cambiato a partire dal kernel 2.2 -per prevenire l'attacco chiamato \textit{syn flood}. Questo si basa -sull'emissione da parte dell'attaccante di un grande numero di pacchetti SYN -indirizzati verso una porta, forgiati con indirizzo IP fasullo\footnote{con la - tecnica che viene detta \textit{ip spoofing}.} così che i SYN$+$ACK vanno -perduti e la coda delle connessioni incomplete viene saturata, impedendo di -fatto ulteriori connessioni. +per prevenire l'attacco chiamato \index{SYN~flood} \textit{SYN flood}. Questo +si basa sull'emissione da parte dell'attaccante di un grande numero di +pacchetti SYN indirizzati verso una porta, forgiati con indirizzo IP +fasullo\footnote{con la tecnica che viene detta \textit{ip spoofing}.} così +che i SYN$+$ACK vanno perduti e la coda delle connessioni incomplete viene +saturata, impedendo di fatto ulteriori connessioni. Per ovviare a questo il significato del \param{backlog} è stato cambiato a indicare la lunghezza della coda delle connessioni complete. La lunghezza @@ -1979,7 +1980,7 @@ in sez.~\ref{sec:file_line_io} a proposito dell'I/O su terminale), solo allora \func{fgets} ritornerà ed il client scriverà quanto immesso sul socket, per poi passare a rileggere quanto gli viene inviato all'indietro dal server, che a sua volta sarà inviato sullo standard output, che nel caso ne provoca -l'immediatamente stampa a video. +l'immediata stampa a video. \subsection{La conclusione normale}