0

私はおそらくiperfの書き直されたバージョンであるiperf3を使用しています。私がこれを使用する理由は、TCP および UDP スループットに関しては iperf が大好きで、エンドポイント間の SCTP スループットをテストしたいからです。

ただし、人々が使用しているのを見た --sctp コマンドを使用しようとすると、コマンドが認識できないと表示されます。このコマンドを実装していないのは、私が使用している実装ですか?

https://github.com/esnet/iperf

これは私が使用している実装です。これに関連する SCTP コマンドの明らかなドキュメントは見つかりません。ほとんどの SCTP iperf 実装は、テストで手動で追加され、ソース コードが提供されないことがよくあります。

どんな助けでも大歓迎です!

4

2 に答える 2

0

Linux カーネルをサポートするiperfのコピーを入手します。lksctp module標準プロセスを使用してインストールします。(失敗した場合は、エラー メッセージとオペレーティング システムとカーネルの詳細をお知らせください)。iperf で SCTP を使用するには、これらが適切な構文です。

SCTPサーバーを作成するには、

iperf -z -s

(-zは SCTP プロトコルを選択するための-sもので、サーバー用です。)

SCTP クライアントを作成するには、

iperf -z -c <host address> -t <time duration for the connection in second>s -i <interval of the time to print the bandwidth in terminal in second>s

( -zSCTP の場合、はクライアント用です。ホスト アドレスは、既に実行されて-cいるサーバーの IP アドレスである必要があります。は、通信時間を指定します。は、帯域幅を表示する間隔を指定します。)iperf -z -s-t-i

例:

iperf -z -c 0.0.0.0 -t 10s -i 2s

ここでは、通信時間は 10 秒で、2 秒間隔ごとに帯域幅が報告されます。

PS

(1) SCTP に iperf を使用するには、カーネルで SCTP モジュールを有効にして再コンパイルする必要があります。カーネルのバージョンは 2.6 以上である必要があります。uname -aまたはで確認してくださいuname -r。下位のカーネルをお持ちの場合は、The Linux Kernel Archivesから新しいカーネルをダウンロードしてください。SCTPを有効にしてコンパイルします。

最初に、ターミナルでこれら 2 つのコマンドを実行して、既に有効になっているかどうかを確認します。

modprobe sctp
lsmod | grep sctp If you get any output then SCTP is already enabled.

(2)それでも iperf で-z失敗する場合。次の解決策を試してください。2 台のマシンが「A」と「B」の場合。

最初に「A」をサーバーに、「B」をクライアントにします。それは成功しません。そう

exit by using `ctrl + z` and kill iperf
        using `pkill -9 iperf`.

次に、'B' をサーバーに、'A' をクライアントにします。成功するかもしれません。再度失敗した場合は、上記のコマンドを使用して iperf を強制終了し、手順 1 をもう一度繰り返します。成功するかもしれません。

(2番目の解決策は、以上で機能しfedora 20ますkernel 2.6。)

于 2014-09-05T09:47:06.613 に答える