5

Linux でのネットワーク インターフェイスの制御/問い合わせについてどこで学べますか? 特定のアプリケーションのアップロード/ダウンロード速度を取得し、特定のアプリケーションに速度制限を適用したいと考えています。

Python を使用してトラフィック シェーピング アプリケーションを作成するのに役立つ情報が特に欲しいです。

4

4 に答える 4

6

tcコマンドを使用するiproute2スイートが必要です。tcコマンドは次のようになります

tc class add dev eth2 parent 1: classid 1:1 htb rate 100Mbit ceil 100Mbit quantum 1600

これは、 iproute2を使用する既存のPythonトラフィックシェーピングアプリケーションです

于 2009-10-10T15:21:46.100 に答える
6

アプリケーションが特定の IP アドレスやポートを使用していない限り、Linux カーネル ツールを使用してアプリケーションごとにシェーピングするのは実際には非常に困難です。

その場合はiptables、特に fwmarks を読む必要があります。も読む必要がありますtc。これらの 2 つのツールを組み合わせることで、必要なことを行うことができます。Linux Advanced Routing & Traffic Controlは、開始するのに適した場所です。

アプリケーションが予測可能なポート/IP アドレスのセットを使用しないと仮定すると、Trickleのようなユーザー空間シェイパーを使用する必要があります。これは、アプリケーションとカーネルの間に挿入され、ユーザー空間でそのアプリケーションのトラフィックを形成します。

これらのツールのいずれにも直接の python バインディングはないと思いますが、python を使用してスクリプトを作成し、実行可能ファイルを直接呼び出すだけで簡単に実行できます。

于 2009-10-10T15:34:28.927 に答える
0

Pythonを使いたい理由はありますか?前述のように、この目的のために既に開発されたツールにのみ引き渡す可能性があります。ただし、周りを見回すと、 、 、など、やりたいことのドロップインを提供するものを見つけることができますClick! modular router-XORP既に提供されているすべての提案 ( や など) は言うまでもありませiptablestc

于 2009-10-10T18:49:29.360 に答える