Nel mondo delle connessioni professionali basate su PPPoE (Point-to-Point Protocol over Ethernet), la configurazione corretta dei parametri di rete è spesso data per scontata. Tuttavia, dietro apparenti anomalie — siti che non si caricano, errori SSL, servizi VPN instabili o posta elettronica che non funziona — si nasconde quasi sempre un problema legato a un concetto tanto tecnico quanto cruciale: l’MTU (Maximum Transmission Unit) effettiva e il corretto adattamento del MSS (Maximum Segment Size).
Quando un provider assegna un pool di IP pubblici su connessione PPPoE, questi indirizzi non viaggiano su un canale Ethernet puro con pacchetti da 1500 byte, come accade in una LAN. Ogni pacchetto è incapsulato nella sessione PPPoE stessa: il risultato è un overhead di 8 byte (6 per l’header PPPoE + 2 per l’header PPP), riducendo l’MTU effettiva da 1500 a 1492 byte.
In pratica, anche se l’interfaccia fisica del router o del firewall è Ethernet, il percorso logico PPPoE impone un limite inferiore: 1492 byte è la dimensione massima utile del pacchetto IP che può attraversare senza frammentazione.
Il problema nascosto: quando la LAN parla “a voce troppo alta”
Un errore comune, spesso commesso anche da professionisti, è configurare gli apparati a valle del router PPPoE (firewall, UTM, router secondari, appliance di rete) con MTU a 1500 byte, presumendo che la connessione Ethernet “accetti tutto”. Questo errore può restare silente, fino a quando:
- Alcune applicazioni HTTPS iniziano a bloccarsi.
- I servizi di posta falliscono casualmente con errori SSL.
- Alcuni siti si caricano parzialmente o le pagine restano bianche.
- VPN e VoIP presentano jitter, ritardi o disconnessioni.
Ping e risoluzione DNS, invece, continuano a funzionare perfettamente: il che confonde ulteriormente chi diagnostica, poiché questi protocolli usano pacchetti molto piccoli, che non superano mai la soglia critica dell’MTU.
Capire cosa sono MTU e MSS
Il valore MTU indica la dimensione massima (in byte) di un pacchetto IP che può essere inviato senza frammentazione. Il valore standard, come indicato in precedenza, è 1500 byte (Ethernet pura), ma alcune tecnologie lo riducono:
- PPPoE: 1492 byte.
- VPN o tunneling: anche 1400–1476 byte.
- Connessioni mobili o NAT carrier-grade: MTU variabile.
MSS, acronimo di Maximum Segment Size, è un parametro del protocollo TCP che definisce la dimensione massima del segmento di dati (cioè del payload, il contenuto utile) che un host è disposto a ricevere in una singola trasmissione TCP.
Disallineamento di MTU tra router e provider
È il caso più comune, spesso sperimentato da aziende e utenti professionali: il router installato in sede utilizza un valore MTU impostato a 1500, ma il provider (es. PPPoE) accetta solo pacchetti fino a 1492 o meno. Quando un host interno (PC, server, ecc.) invia pacchetti grandi, questi vengono frammentati o scartati.
Se nel percorso è attivo il bit “Don’t Fragment (DF)” (come nei pacchetti TCP moderni), i pacchetti non sono frammentati ma scartati: ne risultano i problemi descritti in precedenza, con la connessione verso diversi host che risulta malfunzionante.
Digitando in Windows il comando ping 8.8.8.8 -f -l 1464 (su Linux e macOS ad esempio ping -M do -s 1464 8.8.8.8) si può verificare fino a quale valore i dati non vengono frammentati in più pacchetti. Se nell’esempio si riceve risposta dall’host remoto, significa che l’MTU=1492 (1464+28 byte) è perfettamente gestito. Salendo, si potrebbe ricevere il messaggio “E’ necessario frammentare il pacchetto ma DF è attivo“, a conferma che con il valore di MTU impostato (aggiungere sempre 28 byte, header IP+ICMP, per il calcolo finale) i pacchetti risultano frammentati.
La soluzione tecnica: MTU corretto e MSS Clamping intelligente
Per risolvere lo scenario descritto in precedenza, con siti che non si caricano e connessioni che non vanno a buon fino, è necessario modificare il valore MTU sui dispositivi installati a valle della WAN. L’impostazione di un valore MTU coerente tra apparato lato utente e connessione PPPoE fornita dal provider Internet, consente di risolvere il problema (impostando anche Do not fragment su Yes).
Con alcuni router, tuttavia, è bene attivare un meccanismo chiamato MSS Clamping: esso si occupa di intercettare e modificare dinamicamente il valore MSS nei pacchetti in uscita verso Internet. L’operazione assicura che il traffico TCP si adatti automaticamente all’MTU effettiva del percorso.
In altre parole, MSS Clamping forza automaticamente la dimensione massima dei pacchetti TCP a restare sotto la soglia corretta, evitando problemi SSL/TLS o siti che non si caricano.
Personalizzare il MTU a livello di sistema operativo (i.e. Windows) è solo “fumo negli occhi”?
Ci sono un sacco di utilità che promettono di velocizzare la connessione Internet, agendo anche su MTU: una di esse è TCP Optimizer. Nell’articolo pubblicato a suo tempo, abbiamo già detto cosa pensiamo di questo software.
Parlando di MTU, se il disallineamento avviene a monte del PC (cioè tra il router e il provider Internet), cambiare MTU su Windows o su altri sistemi operativi non risolve nulla. Il pacchetto parte infatti dal PC con una certa dimensione ma il router lo incapsula o lo invia sulla WAN con la sua MTU. Se la dimensione è errata, il pacchetto verrà frammentato o scartato comunque.