2012-02-16 14 views
1

2つのノード間のネットワーク帯域幅を監視する必要があります。私は両端に完全にアクセスでき、両端でサーバーを実行できます。いくつかの手がかりやアイデアや関連するリンクを教えてください。また、Java(Oracle)APIを使用して作成する可能性もあります。2ノード間で使用可能なネットワーク帯域幅を監視する最適な方法は何ですか?

UPDATE: -

私は帯域幅を計算するために、時間とパケットサイズを使用することができます。何かのように、既知のサイズ(5MB)のデータを他のノードに送り、それを受け取る。 可能ですか? どのように正確にマッシュ?

ありがとうございます。

+1

この記事を読むhttp://www.psc.edu/networking/papers/tcp_friendly.html –

+1

私の答えに関するフィードバックはありますか?それがあなたを助けたらそれを受け入れてください。 – Gray

答えて

1

もちろん、利用可能な帯域幅をすべて使用しなければ、これを行うのは難しいでしょう。

私の頭の上から離れて、あなたはhost1とhost2の間で大規模なUDPブロードキャストを行い、次にhost2がhost1にパケットの何パーセントを返したのか、最初のパケットと最後のパケットの間の待ち時間を報告することができます。カーネルとルータのバッファリングをオーバーフローさせるほど大きくなければなりません。

2台のサーバのクロックが同期している場合は、各パケットにタイムスタンプを送信し、サーバ上でそれらを比較することで、レイテンシを計算できます。もう1つの方法は、いくつかのパケットを送信して、それらをすぐにサーバに送信させることです。

この種の方法でどのような精度が得られるかわかりません。ランダムなバックグラウンドネットワークの負荷に合わせてこのテストを頻繁に実行することで、少し改善することができます。

関連する問題