Riparare bufferbloat nella rete domestica


9

Nella nostra rete domestica, con l'IO continuo della rete, le latenze che si verificano diventano ridicole. Va bene con carichi leggeri, ma diventa rapidamente inutilizzabile se, per esempio, sto sincronizzando un gran numero di piccoli file, altri trasferimenti essenzialmente si fermano. I ping riescono a malapena.

Topologia semplice: un modem a banda larga / router WIFI in un'unica scatola, con alcuni client wireless e alcuni cablati.

Ho provato a impostare ifconfig wlan0/eth0 txqueuelen 1tutti i client, questo sembra aiutare un po 'ma non di molto.

Suggerimenti benvenuti: come devo fare per diagnosticare ed eliminare i problemi di latenza? Esistono più impostazioni di configurazione che posso configurare sui client o forse potrebbero essere utili router WIFI migliori?

Risposte:


3

Ciò di cui hai bisogno è la qualità del servizio e un algoritmo di accodamento modificabile. Consiglierei una configurazione del genere se sei felice di giocare con gli interni di Linux / FreeBSD e hai un po 'di soldi in contanti:

+------+     +--------+      +------+<----> Wireless Access Point
|Router|<--->|Firewall|<---->|Switch|
+------+     +--------+      +------+<----> Wired computers

Laddove il Firewall è un Linux o FreeBSD o una macchina simile con 2 schede di rete che possono imporre sul traffico alcune regole avanzate di accodamento e Qualità del servizio.

Ho dovuto fare qualcosa di simile per impedire il timeout delle ricerche DNS quando si effettuano trasferimenti di dati pesanti su una connessione Internet più lenta.

L'altra opzione è quella di ottenere un router migliore - uno su cui è possibile installare dd-wrt o open-wrt poiché credo che questi due firmware forniscano più in termini di QoS ecc rispetto ai router domestici standard.


2

Ho provato a impostare ifconfig wlan0/eth0 txqueuelen 1tutti i client ...

Tale comando riduce la dimensione del buffer a 1 pacchetto su quella macchina. La macchina importante su cui eseguire questo comando è il collo di bottiglia per la tua rete, ovvero la macchina che ha la connessione gigabit da un lato e la connessione molto più lenta a Internet dall'altro. Pertanto, è il router su cui si desidera eseguire quel comando, non i client!
Assicurati di eseguire il comando sull'interfaccia giusta (solo l'interfaccia LAN in uscita) .

Ovviamente funzionerà solo se il tuo router esegue Linux e ti consente di eseguire comandi. Fortunatamente, la maggior parte dei firmware personalizzati per router domestici (DD-WRT, OpenWRT, Tomato) lo fanno.


Va notato che ridurre le dimensioni del buffer in questo modo può rovinare il QoS, quindi se stai usando il QoS sul tuo router, potresti essere meglio lasciare solo la dimensione del buffer e usare solo QoS per limitare le velocità di upload / download di ogni client essere significativamente inferiore al massimo upload / download della connessione ... anche se questo ha l'ovvio svantaggio di avere una larghezza di banda inutilizzata quando è connessa una sola persona.


1

QoS o Quality of Service è una sorta di ordinamento e impostazione delle priorità per i pacchetti che verranno elaborati dal router ... Questo è esattamente ciò di cui dovresti occuparti quando hai tali problemi ... Prova a cercare nel pannello di configurazione dei router e abilita QoS ... È meglio usare le impostazioni manuali nel tuo caso, ma dovresti conoscere l'ordine di priorità dei pacchetti che vuoi che vengano elaborati per ultimi.


0

Sto usando Windows e Mac invece di Linux, ma una soluzione per me è stata quella di passare da un router Netgear appena a valle della casella ISP a un router Edge e impostare il routing intelligente (che proviene da Linux)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.