Maximum Segment Size
# Maximum Segment Size

In telecomunicazioni e informatica, nell'ambito delle reti informatiche, la MSS (Maximum Segment Size) rappresenta la massima dimensione del corpo dati (payload) in un segmento TCP, da non confondersi con la massima dimensione di quest'ultimo, poiché questo è composto infatti da una parte di intestazione (header) e una appunto di corpo dati. Viene negoziata nella fase di setup di una connessione TCP (handshake).

## Descrizione

In IPv4, la MSS è tipicamente 1460 byte, perché la MTU tipica è 1500 byte, a cui vanno sottratti 20 byte di header IP e 20 di header TCP. Questo valore viene ridotto se si utilizzano link con una MTU inferiore, come il PPPoE spesso usato nelle connessioni ADSL o un tunnel IP o VPN.

La MSS minima è di 536 byte, perché la MTU minima supportata da un link IP è 576 byte.

Normalmente si cerca di utilizzare la MSS massima possibile per il percorso, per minimizzare l'overhead di trasmissione legato agli header e quello di elaborazione legato al pacchetto.

Se le due entità TCP tra le quali avviene il setup della connessione si trovano sulla stessa rete fisica, il TCP calcola tale campo in modo tale che i datagrammi IP risultanti coincidano con la massima dimensione di un pacchetto IP che la rete è in grado di trasportare senza ricorrere a frammentazione, ovvero una MTU.

Altrimenti, viene impiegato un meccanismo di Path MTU discovery per determinare la MTU del percorso, ovvero la minima MTU tra tutti i link che lo costituiscono.

Nel caso peggiore, la MSS viene impostato da TCP (come detto sopra) al valore:

(dimensione di default del datagramma IP (ovvero 576 bytes) - somma tra dimensione dell'header IP e l'header TCP (ovvero 20+20 bytes)) = 536

