-\item \textit{window scale option}, il protocollo TCP implementa il controllo
- di flusso attraverso una \itindex{advertised~window} \textit{advertised
- window} (la ``\textsl{finestra annunciata}'', vedi
- sez.~\ref{sec:tcp_protocol_xxx}) con la quale ciascun capo della
- comunicazione dichiara quanto spazio disponibile ha in memoria per i dati.
- Questo è un numero a 16 bit dell'header, che così può indicare un massimo di
- 65535 byte;\footnote{ Linux usa come massimo 32767 per evitare problemi con
- alcune implementazioni che usano l'aritmetica con segno per implementare
- lo stack TCP.} ma alcuni tipi di connessione come quelle ad alta velocità
- (sopra i 45Mbit/sec) e quelle che hanno grandi ritardi nel cammino dei
- pacchetti (come i satelliti) richiedono una finestra più grande per poter
- ottenere il massimo dalla trasmissione, per questo esiste questa opzione che
- indica un fattore di scala da applicare al valore della finestra
- annunciata\footnote{essendo una nuova opzione per garantire la compatibilità
- con delle vecchie implementazioni del protocollo la procedura che la
- attiva prevede come negoziazione che l'altro capo della connessione
- riconosca esplicitamente l'opzione inserendola anche lui nel suo SYN di
- risposta dell'apertura della connessione.} per la connessione corrente
- (espresso come numero di bit cui spostare a sinistra il valore della
- finestra annunciata inserito nel pacchetto).
-
-\item \textit{timestamp option}, è anche questa una nuova opzione necessaria
- per le connessioni ad alta velocità per evitare possibili corruzioni di dati
- dovute a pacchetti perduti che riappaiono; anche questa viene negoziata come
- la precedente.
-
-\end{itemize}
+\item \textit{window scale option}, il protocollo TCP realizza il controllo di
+ flusso attraverso una \textit{advertised window} (la ``\textsl{finestra
+ annunciata}'', vedi sez.~\ref{sec:tcp_protocol}) con la quale ciascun capo
+ della comunicazione dichiara quanto spazio disponibile ha in memoria per i
+ dati. Questo è un numero a 16 bit dell'header, che così può indicare un
+ massimo di 65535 byte\footnote{in Linux il massimo è 32767 per evitare
+ problemi con alcune realizzazione dello \textit{stack TCP} che usano
+ l'aritmetica con segno.} ma alcuni tipi di connessione come quelle ad alta
+ velocità (sopra i 45Mbit/sec) e quelle che hanno grandi ritardi nel cammino
+ dei pacchetti (come i satelliti) richiedono una finestra più grande per
+ poter ottenere il massimo dalla trasmissione.
+
+ Per questo esiste un'altra opzione che indica un fattore di scala da
+ applicare al valore della finestra annunciata per la connessione corrente,
+ espresso come numero di bit cui spostare a sinistra il valore della
+ finestra annunciata inserito nel pacchetto. Essendo una nuova opzione per
+ garantire la compatibilità con delle vecchie realizzazione del protocollo la
+ procedura che la attiva prevede come negoziazione che l'altro capo della
+ connessione riconosca esplicitamente l'opzione inserendola anche lui nel suo
+ SYN di risposta dell'apertura della connessione.
+
+ 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}). 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 sez.~\ref{sec:sock_tcp_udp_options}).
+
+\item \textit{timestamp option}, è anche questa una nuova opzione necessaria
+ per le connessioni ad alta velocità per evitare possibili corruzioni di dati
+ dovute a pacchetti perduti che riappaiono; anche questa viene negoziata
+ all'inizio della connessione come la precedente.
+\end{itemize*}