ホームネットワークのバッファブロートを修正する


9

私たちのホームネットワークでは、継続的なネットワークIOの発生により、レイテンシがばかげています。負荷が軽い場合は問題ありませんが、たとえば、多数の小さなファイルをrsyncしていると、すぐに使用できなくなります-他の転送は本質的に停止します。pingはかろうじて通過します。

シンプルなトポロジー-単一のボックス内のブロードバンドモデム/ WIFIルーター、一部のワイヤレスクライアントと一部の有線クライアント。

私はifconfig wlan0/eth0 txqueuelen 1すべてのクライアントで設定を試みましたが、これは少しは役立つようですがそれほどではないようです。

ヒントを歓迎します:待ち時間の問題を診断して排除するにはどうすればよいですか?クライアントで設定できる構成設定は他にもありますか、それともより優れたWIFIルーターが役立つでしょうか?

回答:


3

必要なのは、サービス品質と調整可能なキューイングアルゴリズムです。Linux / FreeBSDの内部をいじくり回して、いくらか余裕がある場合は、次のような設定をお勧めします。

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

どこにファイアウォールがトラフィックにサービス規則の一部の高度なキューイングと品質を課すことができる2枚のネットワークカードでのLinuxやFreeBSDまたは類似の機械です。

低速のインターネット接続を介して重いデータ転送を行う場合、DNSルックアップのタイムアウトを停止するのと同じようなことをしなければなりませんでした。

他のオプションはより良いルーターを手に入れることです-私はこれらの2つのファームウェアがQoSなどの方法でbog標準のホームルーターよりも多くを提供すると私が思うのでdd-wrtまたはopen-wrtをインストールできます。


2

ifconfig wlan0/eth0 txqueuelen 1すべてのクライアントで設定を試みました...

このコマンドは、そのマシンでバッファサイズを1パケットに減らします。このコマンドを実行する重要なマシンは、ネットワークのボトルネックです。つまり、一方の側でギガビット接続があり、もう一方の側でインターネットへの接続がはるかに遅いマシンです。したがって、それはクライアントではなく、そのコマンドを実行したいルーターです!
コマンドを正しいインターフェース(アウトバウンドLANインターフェースのみ)で実行していることを確認してください。

もちろん、これはルーターがLinuxを実行している場合にのみ機能し、コマンドを実行できます。幸いなことに、ホームルーター(DD-WRT、OpenWRT、Tomato)のほとんどのカスタムファームウェアはサポートしています。


このようにバッファーサイズを小さくするとQoSが台無しになる可能性があるので、ルーターでQoSを使用している場合は、バッファーサイズをそのままにして、QoSを使用してアップロード/ダウンロードの速度を制限することをお勧めします。すべてのクライアントの接続の最大アップロード/ダウンロードを大幅に下回ります...ただし、これには、1人のユーザーしか接続していないときに未使用の帯域幅が存在するという明らかな欠点があります。


1

QoSまたはサービス品質は、ルーターによって処理されるパケットにある種の順序付けと優先順位を設定することです...これは、このような問題が発生した場合に注意する必要があることです...ルーターの構成パネルで検索してQoSを有効にしてください...ケースでは手動設定を使用することをお勧めしますが、最初から最後まで処理したいパケットの優先順位を知っている必要があります。


0

Linuxの代わりにWindowsとMacを使用していますが、解決策は、ISPボックスのすぐ下流のNetgearルーターからEdgeルーターに切り替えて、インテリジェントルーティングをセットアップすることでした(これはLinuxからのものです)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.