web-dev-qa-db-ja.com

同じコンピューター上の1つのインターフェースから別のインターフェースへのIperf?

サーバーとのサーバーのネットワークスループットをテストする必要があります(これは長い話です!)。

私はIperfが大好きで、ネットワーク全体で使用していますが、それを単一のインターフェースにバインドして、それを介してのみリッスンする方法を理解できません。

ドキュメントから、これが機能すると想定します:iperf -B eth0 -sで1つのインスタンスをeth0にバインドし、次に別のセッションで:iperf -B eth1 -c ip.of.eth.1。

これはまったく機能せず、実際には失敗します。インターフェースの代わりにipを使用すると機能しますが、スループットは29Gb/sです。つまり、30Gb/sのカードを備えたスーパーサーバーがある場所で何らかの魔法が起こっていない限り、私はそれを推測しています。ネットワークには触れていませんが、これはローカルで行われています。

誰かがここで私を助けたり、より良いテスト/ツールを知っていたりできますか?

4
William Hilsum

はい、このトラフィックは物理インターフェースに到達せずにローカルに転送されます。ループバックインターフェイスを使用して転送されます。カーネルは宛先がローカルの宛先であることを検出するため、トラフィックはeth0またはeth1を経由せずにマシン自体にループバックされます。

3
Khaled

私はこれが古いことを知っていますが、誰かを助けるために投稿します。

iPerf 2ユーザードキュメントから引用

IPerfがサーバーモードの場合、-cでホストを指定すると、iPerfが受け入れる接続が指定されたホストに制限されます。 UDPではうまく機能しません。

これを使用して、TCPWindows 7 64ビットのスループットテストをLANからWiFiインターフェースに実行しました。どちらかで正常に動作しましたiperf 2.0.8または2.0.5、他のバージョンについては不明使用するコマンドを以下で参照してください。

iperf.exe -B 192.168.0.1 -s -c 192.168.0.2 -P 0 -i 1 -p 5001 -f m

iperf.exe -B 192.168.0.2 -c 192.168.0.1 -P 1 -i 1 -p 5001 -f m -t 100 -F c:\data.bin
0
user305077