32

いくつかの平均 ping レートでインターネット接続の速度を計算する方法.それに関連する計算は何ですか.ping レートでアップロード/ダウンロードの制限を計算することは可能ですか?

編集 pingが解決策でない場合、他に何がありますか?

4

9 に答える 9

34

ping を使用して、ローカル ネットワークの帯域幅を計算しました。帯域幅を測定する他の手段 (大きなファイルのダウンロードなど) と同じくらい正確だと思います。インターネットへの対称リンク (つまり、adsl ではない) がある場合は、インターネット接続にも使用できます。

これが私がそれを行う方法です:

ギガビット イーサネット LAN があり、コンピューターとサーバー ルームのホスト間の速度を測定したいと考えています。私の MTU は 1500 なので、パケット サイズ 1472 を使用します。ランダムに、このテストでは 83,333 パケット (約 1 ギガビット) を使用します。それで:

sudo ping -f -c 83333 -s 1472 192.168.3.103

結果の最後に私は得る:

round-trip min/avg/max/stddev = 0.174/0.219/2.078/0.020 ms

したがって、1500 バイトを送信して 1500 バイトを受信するのに平均で 0.219 ミリ秒かかります。これは 24 kb です。

24 kb / 0.219 ms = 110 Mb/s

これをインターネット上のサーバーに使用する場合は、パケット サイズを 1464 (MTU 1492 の場合) などに下げ、-f オプションを削除してカウントを下げる必要があります。

psこれはstackoverflowではなく、スーパーユーザーに行くべきだと思います。

于 2012-10-24T04:46:12.207 に答える
11

遅延は帯域幅とは異なります。トラック一杯のDVDが全国で運転されていると想像してみてください。帯域幅は高いですが、待ち時間は膨大です。

于 2011-01-01T20:14:53.577 に答える
7

実際に、ping に似た測定値だけから帯域幅の推定値を導き出すことができます。

GigE リンクで 1500 バイトのパケットを送信するには、常に 12.3µs かかります。言い換えると、1500 バイトのパケットを 2 つ、輻輳していない GigE リンクを介してあるマシンから別のマシンに送信できる場合、プロトコルが許す限り、パケットは約 12.3 マイクロ秒間隔で到着します。GigE リンクが実際に輻輳していないことが確認されます。

次に、WAN を介した測定の簡単な例を示します (ここでも、混雑していないと仮定します)。

HostA -------- RouterA -------- RouterB -------- HostB
        GigE             OC-3             GigE

ホスト A は、2 つの 1500 バイトのパケットを立て続けに送信します。ルーター A が最初のパケットを受信すると、OC-3 WAN リンク (155Mbps) 経由で転送を開始します。1500 バイトのパケットを OC3 に転送するのに 81.5µs かかるため、ルーター A は、ホスト A から 2 番目のパケットを受信すると、最初のパケットの転送の途中になります。最初。

ルーター B が最初のパケットの受信を完了すると、それをホスト B に転送します。これには 12.3µs しかかかりません。その間、ルーター B は 2 番目のパケットを受信し始めます。ルーター B が 2 番目のパケットの受信を完了すると、それをホスト B に転送します。

したがって、ホスト B は 12.3µs のパケット受信、69.2µs の無音、次に 12.3µs のパケット受信、つまり 81.5µs の到着間隔を確認します。その観察から、ホスト B は、パスの帯域幅が 155Mbps に制限されていると推測できます。


これは理論上は素晴らしいことですが、実際にはもっと複雑になります。輻輳イベントは急激に発生する傾向があるため、ルーターのキューが一杯になる瞬間があり、次の瞬間には空になることがあります。意味のあるものを得るには、多くのサンプルが必要です。正確な測定も難しいものです。エンド ツー エンドのレイテンシーは数十または数百ミリ秒になる可能性があり、数マイクロ秒の違いが見られます。A から B へのパスが複数ある場合は、幸運を祈ります。

通常、トラフィックを爆発させて、どれだけ通過するかを確認する方が簡単です. そうすれば、使用可能な帯域幅がゼロであることが確実にわかります。

于 2011-01-02T16:55:22.433 に答える
2

リモートホストにpingを実行すると、ネットワークの遅延を測定できます(ホストが応答します)。そのネットワーク接続で利用可能な帯域幅に関する有用な情報は提供されません。

于 2011-01-01T20:12:51.823 に答える
2

ping は、ICMP 経由でネットワーク経由で送信される 1 つのパケットです。通常、リモート マシンを ping するために 1 秒あたり 1 パケットが送信されます。ルートは、データ転送に通常使用される TCP および UDP とは異なる場合があります。リモート マシンは ping 要求への応答を拒否する場合があります。したがって、ping 要求によるネットワーク スループットの測定は信頼性が低く、おそらく役に立たないでしょう。

于 2011-01-01T20:10:26.657 に答える
1

いいえ、ちがいます。

pingパケットは小さく、ポイントAからポイントBまでの速度を確認するために使用されます(または、より一般的な使用法では、それらの間にパスがある場合は、コンピューターが応答する場合はIE)

(Pongへの)Pingのプロセスは、小さなパケットがAからBに送信されることです。Bがパケットを取得すると、Pongで応答し、すぐにAに返送されます。AがPongを取得すると、合計時間(できればミリ秒単位)が登録され、そこにPingがミリ秒単位で表示されます。

もちろん、これは、Bがpingを拒否するように設定されていないか、単にそこに到達しないか、VPNまたは応答を遅くするその他の手段の背後にあることを前提としています。

結局、得られるのは、PingがAからBに実行され、Aに戻るのにかかる時間だけです。

比較のために、通りを横切って戻って走ってみてください。時間を測定します。そして今、あなたがどれだけ体重を量るかを計算する方法を見つけてください。

于 2011-01-01T20:14:38.897 に答える
0

他の人が言ったように、ping は遅延を教えてくれますが、帯域幅は教えてくれません。
netperf を試してください。http://www.netperf.org/netperf/。特定のオプション (TCP/UDP など) などを指定する必要がある場合があります。

于 2011-01-02T14:54:35.337 に答える