0

Windows から Linux にいくつかの C++ コードを移植しようとしていますが、Linux でトラフィック制御機能用の同様の API を見つけることができません。

これらの関数が必要です。そのような API をどこで見つけることができるか知っていれば、助けてください。

お時間をいただきありがとうございます。

4

2 に答える 2

2

Linux の高度なルーティングとトラフィック制御のハウツーから始めることをお勧めします。tcハウツーで使用する iproute2のユーティリティを使用することをお勧めしますが、より直接的な API が必要な場合は、そのソースで例を確認できます。

于 2012-03-14T05:15:35.473 に答える
1

すでに述べたように、Linux トラフィック制御コマンド tc を使用したいと考えています。HTBスケジューリングをお勧めします。次の方法でカーネルモジュールを有効にできます。

modprobe sch_htb

tc をセットアップするための基本的なコマンドは次のとおりです。

tc qdisc add dev eth0 root handle 1:0 htb
tc class add dev eth0 parent 1:0 classid 1:1 htb rate 100mbit
tc class add dev eth0 parent 1:1 classid 1:1000 htb rate 500Kbit ceil 1000Kbit
tc filter add dev eth0 parent 1:0 protocol ip prio 1 u32 match ip src 109.11.28.2 flowid 1:1000

これらのコマンド例は、デバイス eth0 で IP 109.11.28.2 のトラフィック制御をセットアップします。より詳細には、次のことを行います。

  1. 待ち行列規則を設定する
  2. 親クラスとそのトラフィック レート制限を設定する
  3. トラフィック レートとトラフィック レートの上限を使用して子クラスをセットアップする
  4. IP フィルタを追加して、子クラスの制限を特定の IP のみに適用します

必要な数の子クラスをセットアップでき、それぞれをネットワーク上の異なる IP に使用できます。tc トラフィック制御を設定するための詳細なステップ バイ ステップ ガイドについては、http: //hostrepo.com/article.php?id =194 を参照してください。

幸運を !

于 2016-01-19T00:11:02.910 に答える