Fixer bufferbloat dans le réseau domestique

9

Dans notre réseau domestique, avec le réseau continu, les latences passantes deviennent ridicules. Cela convient pour des charges légères mais devient rapidement inutilisable si, par exemple, je synchronise un grand nombre de petits fichiers. Les autres transferts s'arrêtent pour ainsi dire. Les pings passent à peine.

Topologie simple - un modem haut débit / routeur WIFI dans un seul boîtier, avec certains clients sans fil et certains clients filaires.

J'ai essayé de mettre ifconfig wlan0/eth0 txqueuelen 1sur tous les clients, cela semble aider un peu mais pas beaucoup.

Conseils bienvenus: comment dois-je procéder pour diagnostiquer et éliminer les problèmes de latence? Y a-t-il plus de paramètres de configuration que je peux définir sur les clients, ou peut-être qu'un meilleur routeur WIFI pourrait vous aider?

Cuu508
la source

Réponses:

3

Ce dont vous avez besoin, c'est de la qualité de service et d'un algorithme de mise en file d'attente modifiable. Je recommanderais une configuration semblable à celle-ci si vous êtes prêt à jouer avec les composants internes de Linux / FreeBSD et que vous avez de l'argent en réserve:

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

Lorsque le pare - feu est une machine Linux ou FreeBSD ou similaire avec 2 cartes réseau pouvant imposer des règles de mise en file d'attente avancées et de qualité de service au trafic.

Je devais faire quelque chose de similaire pour empêcher les recherches DNS d’arriver à un délai de transfert de données important via une connexion Internet plus lente.

L'autre option consiste à obtenir un meilleur routeur - un système sur lequel vous pouvez installer DDWW ou OpenWRT on, car je pense que ces deux firmwares fournissent davantage de QoS, etc. que les routeurs domestiques standard.

Majenko
la source
2

J'ai essayé de mettre ifconfig wlan0/eth0 txqueuelen 1sur tous les clients ...

Cette commande réduit la taille de la mémoire tampon à 1 paquet sur cette machine. La machine sur laquelle cette commande est exécutée est le goulot d’étranglement de votre réseau - c’est-à-dire la machine disposant d’un côté de la connexion gigabit et de l’autre, d’une connexion beaucoup plus lente à Internet. C'est donc le routeur sur lequel vous voulez exécuter cette commande, pas les clients!
Assurez-vous que vous exécutez la commande sur la bonne interface (uniquement l'interface LAN sortante) .

Ceci ne fonctionnera évidemment que si votre routeur utilise Linux et vous permet d’exécuter des commandes. Heureusement, la plupart des firmwares personnalisés pour routeurs domestiques (DD-WRT, OpenWRT, Tomato) le sont.


Il convient de noter que réduire la taille de la mémoire tampon de cette façon peut gâcher la qualité de service. Par conséquent, si vous utilisez la qualité de service sur votre routeur, il serait peut-être préférable de laisser la taille de la mémoire tampon et d'utiliser uniquement la qualité de service pour limiter les vitesses de chargement / téléchargement. chaque client doit être sensiblement en dessous du nombre maximal de téléchargements de la connexion ... bien que cela présente l’inconvénient évident d’avoir une bande passante inutilisée quand une seule personne est connectée.

BlueRaja - Danny Pflughoeft
la source
1

La qualité de service ou la qualité de service est un peu comme une commande et une définition des priorités pour les paquets qui seront traités par le routeur ... C’est ce que vous devez faire exactement lorsque vous rencontrez de tels problèmes ... Essayez de rechercher dans le panneau de configuration de votre routeur et activez la QoS ... Il est préférable d'utiliser les paramètres manuels dans votre cas, mais vous devez connaître l'ordre de priorité des paquets que vous souhaitez traiter.

morTie
la source
0

J'utilise Windows et Mac au lieu de Linux, mais une solution pour moi consistait à passer d'un routeur Netgear situé juste en aval du serveur ISP à un routeur Edge et à configurer un routage intelligent (qui provient de Linux).

George Marengo
la source