Ho risolto il problema della lentezza della mia connessione internet domestica modificando un'impostazione di cui nessuno è a conoscenza.

Quando riscontriamo una bassa velocità di connessione Internet, ricorriamo quasi sempre al riavvio del router. In alcuni casi, questo potrebbe funzionare. A volte diamo per scontato che il nostro fornitore di servizi Internet (ISP) stia limitando la connessione a Internet.Ma non è sempre così. Potremmo semplicemente riscontrare un problema specifico che causa una scarsa esperienza internet, nonostante la velocità di connessione sembri ottima in tutti i test di velocità.

Ho risolto il problema della lentezza della mia connessione internet domestica modificando un'impostazione di cui nessuno era a conoscenza.

È esattamente quello che è successo a me e, alla fine, la soluzione non è stata quella che mi aspettavo. Tutto quello che dovevo fare era allineare la Maximum Transmission Unit (MTU) ai miei limiti di connessione effettivi. Una volta fatto, il ritardo è scomparso.

MTU definisce il carico IP massimo che può attraversare il collegamento senza subire danni.

Le regole per la segmentazione e la sovradimensione dell'intestazione determinano le dimensioni effettive del pacchetto.

porta usb router wifi con porte lan

MTU rappresenta il pacchetto di dati più grande in byte che un dispositivo connesso in rete può gestire senza frammentazione. Questo numero è in genere impostato su 1500 byte per la maggior parte delle reti Ethernet. Il numero 1500 non è arbitrario. Il router presuppone di essere sicuro in base a limitazioni di progettazione del framework Ethernet vecchie di decenni, molte delle quali sono ancora in uso oggi.

Tuttavia, 1500 byte non rappresentano solo la dimensione dei dati, perché i pacchetti trasportano naturalmente dati aggiuntivi che rappresentano un overhead di protocollo. Nel tipico traffico TCP, questo overhead include solitamente 20 byte per l'intestazione IPv4 e altri 20 byte per l'intestazione TCP. Considerando questo, in un ambiente con MTU di 1500, il pacchetto ha di fatto un limite massimo di 1460 byte. Questo spiega la dimensione massima del segmento TCP (MSS) di 1460 byte sulle reti standard.

I problemi sorgono quando un pacchetto è più grande dell'ambiente MTU che deve attraversare. L'unico modo per farlo passare correttamente è che il router lo divida in parti più piccole. Questo processo richiede un elevato consumo di risorse, più lavoro della CPU e più spazio di memorizzazione nella cache, poiché ogni parte ha una propria intestazione IP e deve essere riassemblata a destinazione. Il processo in sé non riduce la larghezza di banda; tuttavia, aumenta la complessità e la sensibilità della consegna dei pacchetti.

I percorsi Internet reali spesso riducono l'MTU utilizzabile a meno di 1500.

Le tecnologie di imballaggio e di accesso riducono lo spazio di carico disponibile.

Si potrebbe supporre che 1500 byte funzionino ovunque, ma non è vero. 1500 byte sono più grandi della Maximum Transmission Unit (MTU) utilizzata in molte connessioni residenziali. Il Point-to-Point over Ethernet (PPPoE) è uno standard comune per alcune implementazioni in fibra e molte opzioni DSL. Il suo costo aggiuntivo di 8 byte riduce l'MTU effettivo a 1492, forzando la frammentazione se il router deve spingere pacchetti da 1500 byte attraverso un tunnel a 1492 bit.

Finché i dati devono essere incapsulati in pacchetti aggiuntivi, ciò inciderà effettivamente sullo spazio di payload effettivo. Ad esempio, una VLAN fornisce un tag di 4 byte. Sebbene questo tag sia necessario per identificare la rete virtuale per il traffico, riduce comunque il payload. Anche la traduzione degli indirizzi di rete a livello di operatore (CGNAT) e DS-Lite hanno lo stesso effetto. Nel caso di DS-Lite, l'instradamento del traffico sulla rete del tuo ISP facendo passare il traffico IPv4 all'interno di pacchetti IPv6 aggiunge un'intestazione aggiuntiva. Le VPN trasformano il pacchetto originale nel payload di un nuovo pacchetto, che richiede una nuova intestazione.

In tutti questi casi è come aggiungere un imballaggio extra a una scatola che ha già il suo imballaggio, senza aumentare la lunghezza del percorso che la scatola deve percorrere. Passerà solo se divisa.

Sulle reti mobili, le cose si complicano perché LTE e 5G hanno storicamente una baseline inferiore di 1500 byte rispetto a Ethernet. A seconda dell'implementazione del tuo operatore, i valori MTU variano tra 1420 e 1480. Generalmente, il limite di connessione è pari al valore MTU più piccolo lungo il percorso e, finché il router non riesce a rispettare questo limite, si verificherà una frammentazione dei pacchetti o una perdita silenziosa di pacchetti. Questa è una possibile causa della lentezza di Internet..

I meccanismi di regolazione automatica dell'MTU non sempre prevengono i guasti.

Rilevamento del percorso MTU, filtraggio ICMP e comportamento del buco nero

Elenco delle connessioni Wi-Fi su Google Pixel 10 Pro

Esiste una soluzione automatica anti-frammentazione che funziona alla grande, almeno sulla carta. Si chiama Path MTU Detection (PMTUD). Ecco come funziona: i dispositivi potrebbero impostare un bit "no-fragment" durante l'invio di pacchetti. Questo bit fa sì che il router ricevente risponda con un messaggio. Codice ICMP Tipo 3 4"La frammentazione è necessaria" se la dimensione del pacchetto downstream supera l'MTU.

Il problema è che, in pratica, molti firewall bloccano ICMP per impostazione predefinita. Pertanto, i pacchetti di grandi dimensioni vengono ignorati e il filtro del firewall impedisce al mittente di rendersi conto che i pacchetti erano troppo grandi. Questa perdita di pacchetti causa la ritrasmissione del TCP e la creazione di timer di rollback esponenziali. Questa situazione è chiamata "buco nero MTU", in cui i pacchetti di grandi dimensioni falliscono sistematicamente anche se il traffico sembra fluire.

I sistemi operativi moderni tentano di mitigare alcuni errori implementando il metodo PLPMTUD (Packetization Layer Path MTU Discovery) previsto da RFC 4821 come mezzo per analizzare le dimensioni dei pacchetti senza affidarsi al protocollo ICMP. In alcuni casi, la frammentazione non viene gestita in modo efficace da router, apparecchiature ISP ed endpoint VPN. Questo non è visibile nei risultati dei test di velocità, ma l'impatto reale è che la variabilità della latenza continua ad accumularsi.

Se il router implementa l'installazione MSS, potrebbe mascherare la mancata corrispondenza MTU anziché risolverla, motivo per cui i sintomi possono essere incoerenti e non costanti.

La misurazione e la correzione dell'MTU ripristinano un flusso di pacchetti end-to-end pulito.

Se si comprendono i calcoli, trovare l'MTU corretto è facile. Se si deve effettuare un test utilizzando il comando ping, si noti che l'intestazione IPv4 è di 20 byte e ICMP aggiunge 8 byte, portando la dimensione totale dell'intestazione a 28 byte. Quindi, partendo da un payload di 1472 byte, aggiungendo 28 byte di IPv4 e ICMP, il totale diventa 1500. Da questo punto, ridurre la dimensione del payload fino a raggiungere un valore che non causi frammentazione. L'MTU utilizzabile sarà 28 più il payload di successo più alto.

Ecco il comando di Windows:

ping 8.8.8.8 -f -l 1472

Utilizzo `-f` per impostare il bit `Non frammentare` e `-l` per specificare la dimensione del payload. L'obiettivo è continuare a ridurre la dimensione del payload fino a ottenere una risposta di successo coerente. Il comando Linux equivalente è:

ping -M do -s 1472 8.8.8.8

Su macOS, le cose sono leggermente diverse perché gli hash non vengono gestiti allo stesso modo nelle diverse versioni. Otterrai un controllo del percorso MTU più affidabile utilizzando strumenti come mtr Tramite Homebrew.

Verificare sempre l'MTU su più indirizzi IP di destinazione, non solo 8.8.8.8, poiché le condizioni di buco nero possono verificarsi su determinati percorsi e non su altri.

Una volta determinato il valore fisso desiderato, è consigliabile impostare l'MTU nell'interfaccia WAN del router, in modo da non dover configurare tutti i dispositivi singolarmente. Di seguito è riportata una tabella che mostra le stime approssimative che potresti aspettarti per diversi tipi di connessione:

Tipo di connessioneMTU tipico che dovresti aspettarti
Ethernet standard (cavo diretto/fibra ottica, senza PPPoE)1500
PPPoE (DSL o alcuni provider di servizi Internet in fibra ottica)1492
Connessione del provider di servizi Internet etichettata con VLAN1496-1500 (a seconda dell'applicazione del fornitore di servizi Internet)
Reti mobili LTE / 4G / 5G~1420-1480 (variabile a seconda della compagnia di telecomunicazioni)
VPN IPSec (modalità tunneling)1380-1460 (a seconda del codice e della confezione)
WireGuard (MTU 1500 originale)~ 1412
OpenVPN (modalità UDP)1300–1450 (dipende in gran parte dalle impostazioni)

 

Vai al pulsante in alto