0

したがって、Linux tc と netem を使用して、特定の遅延でストリームのすべてのパケットを遅延できることを知っています。ここに示されているものhttp://www.linuxfoundation.org/collaborate/workgroups/networking/netem#Delay_distribution は、実際のパケット間の間隔を変更せずに、すべてのパケットを一定時間遅延させるだけです。

私がやりたいことは、連続するパケットの各ペア間の最小間隔時間を 100ms に設定することです。そして、私は再注文したくありません。

どんな考えでも大歓迎です。

よろしく、

クラヴク

4

1 に答える 1

1

したがって、私があなたの要件を正しく理解していれば、100 ミリ秒の一定のパケット間遅延と並べ替えなしが必要です。あなたが言及したリンクのコマンド(Linux Foundation)は、100ミリ秒の遅延と20ミリ秒のジッターをもたらします。このジッターにより、並べ替えが発生します。

要件を満たすには 2 つの方法があります。

  • ジッタが必要ない場合:-tc qdisc add/change/replace dev eth0 root netem delay 100ms
  • ジッタが必要な場合:-rate秘訣は、netem コマンドで 高いパラメータを使用することです。netem は内部的に tfifo キューを維持します。パラメータ netemを使用するとrate、tfifo キュー内の最後のパケットの送信時間に基づいて、次のパケットのパケット遅延が計算されます。したがって、遅延とジッターがありますが、並べ替えはありません。

同じコマンドは
tc qdisc add/change/replace dev eth0 root netem rate 1000mbit delay 100ms

rate 1000mbitまたは非常に高い任意のレートが機能します。

この機能はどこにも文書化されていません。ただし、2011/2012/2013 に Linux netdev メーリング リストで議論されました。ATM へのリンクが見つかりません。ただし、上記のコードを実装する Linux ソース コードを参照することはできます。

http://lxr.free-electrons.com/source/net/sched/sch_netem.c#L495

答えが役に立ったら投票してください!

于 2014-09-13T11:34:56.707 に答える