Bufferbloat su 4G e 5G: perché internet rallenta quando qualcuno scarica
Il bufferbloat è il ritardo che si accumula quando il router mette in coda troppi dati. La velocità resta alta, ma tutto il resto (videochiamate, giochi, pagine web) diventa lento finché la coda non si svuota. Si misura come latenza in più sotto carico: sotto 30 ms va bene, sopra 60 ms si sente.
Velocità e latenza non sono la stessa cosa
La velocità dice quanti dati passano ogni secondo; la latenza dice quanto tempo impiega un singolo pacchetto ad andare e tornare. Pensa alla cassa di un supermercato: la cassiera può essere velocissima, ma se davanti a te ci sono trenta carrelli pieni, tu con la tua bottiglia d'acqua aspetti lo stesso.
Una videochiamata o un gioco online mandano tanti pacchetti piccoli che devono arrivare subito. Se nello stesso momento qualcuno in casa carica le foto sul cloud o scarica un aggiornamento, i loro dati riempiono la coda del router e i pacchetti della videochiamata restano in fila dietro di loro.
Perché succede, soprattutto sulla rete mobile
I router hanno una memoria per i pacchetti in attesa, il buffer, pensata per non perdere dati. Il guaio nasce quando è troppo grande: le connessioni la riempiono tutta, e ogni pacchetto nuovo deve aspettare che quelli davanti escano. Come dice il progetto che studia il problema, più il buffer è gonfio, peggio è (bufferbloat.net).
Sulla rete 4G e 5G c'è un'aggravante: la capacità non è fissa. Quando la cella si riempie o il segnale cala, la linea rallenta di colpo e la coda si allunga anche se il traffico in casa non è cambiato. E l'upload, molto più stretto del download, si satura per primo.
Quanto è troppo
Il bufferbloat si misura come aumento della latenza tra la linea a riposo e la linea piena. I test più usati danno un voto:
| Voto | Latenza in più sotto carico | Cosa si nota |
|---|---|---|
| A+ | < 5 ms | Niente, anche con tutti collegati |
| A | < 30 ms | Videochiamate e giochi fluidi |
| B | < 60 ms | Qualche scatto quando qualcuno carica o scarica tanto |
| C | < 200 ms | Videochiamate che si bloccano, giochi difficili |
| D / F | < 400 / ≥ 400 ms | Internet "bloccato" ogni volta che qualcuno usa la banda |
Un esempio reale: una misura dal sensore
| Segnale | Velocità | Latenza a riposo | Sotto carico | In più |
|---|---|---|---|---|
| B28, RSRP −86 dBm | 31,49 Mbit/s | 74,9 ms | 85,7 ms | +10,8 ms · A |
In questa misura la linea supera i 31 Mbit/s e la latenza aumenta di appena 10,8 ms mentre il telefono scarica. È un risultato di classe A: il segnale non è perfetto, ma la coda resta corta. La latenza è il tempo di una piccola richiesta web completa, quindi i valori assoluti sono più alti di un ping; per il bufferbloat conta soprattutto la differenza tra riposo e carico.
Non è sempre colpa del router
Un risultato alto non identifica da solo il punto in cui nasce il ritardo. Può essere il router di casa, il tethering USB, il telefono che fa da modem, la rete dell'operatore o un collegamento Wi-Fi già occupato. Per questo conviene ripetere la misura con il computer collegato via cavo, poi via Wi-Fi, e confrontare i numeri.
Se il cavo è stabile ma il Wi-Fi peggiora molto, il problema è probabilmente nella rete locale. Se entrambi peggiorano quando parte il download, guarda le impostazioni del router e la gestione della coda. Se il ritardo oscilla anche senza traffico intenso, può dipendere dalla cella mobile, dalla copertura o da un percorso congestionato verso il server del test.
Non confrontare alla cieca due misure fatte in orari diversi. La rete mobile condivide la cella con altre persone e può cambiare velocità, latenza e banda radio durante la giornata. Conservare data, ora, banda, RSRP e velocità insieme alla latenza rende il confronto molto più utile.
Come misurarlo
- Test di bufferbloat nel browser: il test di Waveform dà direttamente il voto; anche lo speed test di Cloudflare mostra la latenza durante download e upload.
- Fallo quando conta: la sera e mentre in casa qualcuno usa la rete, non solo con la linea vuota.
- Per giorni: ripeti lo stesso test a orari diversi; lo strumento Misura velocità e latenza nel tempo salva latenza a riposo e sotto carico e le confronta per fascia oraria.
Come si riduce
- Togli la causa. Backup sul cloud, sincronizzazione di foto e aggiornamenti grandi conviene programmarli di notte o limitarne la velocità nelle impostazioni dell'app.
- Attiva una coda intelligente (SQM). Alcuni router permettono di gestire la coda con algoritmi come cake o fq_codel, che fanno passare per primi i flussi leggeri, come voce e giochi, e tengono corta la fila. Su OpenWrt si imposta la velocità al 90% di quella misurata, poi si ritocca (guida SQM di OpenWrt).
- Sulla rete mobile serve un passo in più. In download la coda più lunga non è nel router di casa ma nella stazione radio dell'operatore e nel modem: l'SQM sul router funziona perché tiene la velocità un po' sotto quella della linea, così la coda si forma da lui, dove la può gestire, e non a monte. Con una velocità fissa la coda torna quando la cella rallenta. Il progetto cake-autorate regola la velocità di continuo misurando la latenza, ed è pensato proprio per collegamenti variabili come 4G, 5G e Starlink.
- Se il router 4G non lo permette: molti router con SIM non hanno impostazioni di coda. Una soluzione è mettere dietro al modem un secondo router con OpenWrt che gestisce la coda al posto suo.
Approfondimento: la formula della coda e come lavora CoDel
Il ritardo aggiunto da una coda è semplicemente il tempo necessario a farla uscire tutta dalla linea:
Con 300 pacchetti da 1500 byte in coda su un upload da 10 Mbit/s: 300 × 1500 × 8 / 10.000.000 = 0,36 secondi, cioè 360 ms in più. Ecco perché il bufferbloat si sente soprattutto in upload: la linea è più stretta e la stessa coda pesa di più.
Gli algoritmi classici di TCP (Reno, CUBIC) aumentano la velocità finché non perdono un pacchetto. Con un buffer enorme la perdita arriva tardi, solo quando la coda è già piena: per tutto quel tempo i pacchetti aspettano. Algoritmi più recenti come BBR stimano la capacità della linea e riempiono meno la coda, ma non tutti i server li usano.
CoDel, l'algoritmo alla base di fq_codel e cake, non guarda quanti pacchetti ci sono in coda ma quanto tempo ciascuno ci resta. Lo standard consiglia una soglia di 5 ms su un intervallo di 100 ms: se l'attesa resta sopra la soglia troppo a lungo, scarta qualche pacchetto per avvisare TCP di rallentare (RFC 8289).
Esercizio
Lo stesso router ha 200 pacchetti in coda. Quanto ritardo aggiungono su un download da 50 Mbit/s e su un upload da 5 Mbit/s?
Mostra la soluzione
200 × 1500 × 8 = 2,4 milioni di bit. In download: 2,4 / 50 = 0,048 s, cioè 48 ms. In upload: 2,4 / 5 = 0,48 s, cioè 480 ms. La stessa coda è dieci volte peggio in upload.
Quale SIM fa per te? Stima in un minuto quanti giga ti servono, poi confronta le offerte che bastano, ordinate per costo vero.
Il risultato distingue la latenza a riposo dalla latenza sotto carico. È una misura della sessione indicata, non una garanzia per ogni ora o server: router, Wi-Fi, rete mobile e percorso Internet possono cambiare il risultato.
Fonti
- Bufferbloat.net, introduzione
- 8x8, scala dei voti del bufferbloat
- OpenWrt, SQM (Smart Queue Management)
- cake-autorate
- RFC 8289, Controlled Delay Active Queue Management
- Stress test: misura del sensore usato per gli esempi, 11 ottobre 2026 alle 16:00 ora locale.