WinPcapを使用して、一連のカスタムUDPパケットを作成し、イーサネットレイヤに注入しました。どのように全帯域幅を利用するのですか?
それぞれ1000パケット、1440バイトを送信しました。 100 Mbpsの帯域幅には2.1秒かかります。
どのように全帯域幅を使用しますか?
WinPcapを使用して、一連のカスタムUDPパケットを作成し、イーサネットレイヤに注入しました。どのように全帯域幅を利用するのですか?
それぞれ1000パケット、1440バイトを送信しました。 100 Mbpsの帯域幅には2.1秒かかります。
どのように全帯域幅を使用しますか?
あなたのスループットは、10メガビット接続の場合とまったく同じようです。もちろん、10mbitはどこにも関与していませんか?
私はこの質問を誤って読んで、それがthisの複製であると思っていました。しかし、100Mbpsは全く違うものになってしまいます。
非常に控えめなハードウェアでも、特に1440バイトのudpパケットを使用している場合は、問題なく100Mbpsの接続を飽和させることができます。
krosenvoldが示唆しているように、数字は100Mbpsではなく10Mbpsの接続のように見えます。私は彼らが100Mbpsであると確信するために、すべてのリンクを最後から最後までチェックします。そのチェーン内のどの10Mbpsリンクも問題になります。
使用している装置によっては、リンクの自動ネゴシエーションに問題があることがあります。一部の機器は悪いと評判が悪いので、自動ネゴシエーションをオフにしてリンク速度を100Mbpsにすると、より良い結果が得られる場合があります。
あなたが使っているpcapファイルを持っているので、速度テストを行うにはtcpreplayを試してみることをお勧めします。 tcpreplayが可能な限り高速でファイルを再生するためのいくつかのオプションがあります。 (特に、thisのwikiエントリを参照してください)
これは、あなたが現在見ているものとは異なる結果をもたらした場合、それはpcapファイルの問題を指摘する可能性があります。たとえば、pcapファイルには、ファイルを再生するときに使用できるタイミング情報が含まれています。あなたのpcapファイルのタイミングが(例えば)10Mbpsネットワークから取得された場合、それをリアルタイムで再生すると、あなたが見ている結果が得られます。
データ交換ルート上のすべてのデバイスとメディアが100 mbpsで動作していることを確認すると、接続は最も弱いリンクと同じくらい速くなります。また、すべてのデバイス(ネットワークカードを含む)がFull-Duplexモードで動作していることを確認してください。
転送中のCPU使用率はどうですか?
ボトルネックを見つける必要があります。 NIC /ネットワークまたはCPUにすることができます。 パケットごとにNICを「開く」ことを確認してください。
間違っ:
loop{
OpenDevice
SendPacket
}
グッド:
OpenDevice
loop{
SendPacket
}
屋あなたはkalmi 右ですあなたは、単一のパケットに複数のフレームをしようとする私に言っています?。 – krishnakumar
ええと...それはあまり意味がないでしょう...パケットは十分に大きいです...私たちにいくつかのコードを見せてください。私たちはあなたがどんな言語を使っているか、あるいはどんなAPIを使っているのかをまだ知りません... –
こんにちはkalmi私のコードを送ることができます。 私はこのためにWinpcapを使用しています – krishnakumar