- PR -

Rawソケット用いてパケット再送の測定

投稿者投稿内容
yshita
常連さん
会議室デビュー日: 2004/07/05
投稿数: 34
投稿日時: 2004-07-29 17:06
tcpdumpについて質問があります。

tcpdumpの表示の最後に

6910 packets received by filter
5 packets dropped by kernel

などと表示がでます。

5 packets dropped by kernel
というのは、データの送信中に5 packetがロス
したという認識でよろしいのでしょうか?
つまり、この5packetは、TCPによって再送されている
と言うことなのでしょうか?
Uchikoshi
@ITエディタ
会議室デビュー日: 2001/07/27
投稿数: 197
投稿日時: 2004-07-29 21:08
引用:

yshitaさんの書き込み (2004-07-29 17:06) より:

5 packets dropped by kernel
というのは、データの送信中に5 packetがロス
したという認識でよろしいのでしょうか?
つまり、この5packetは、TCPによって再送されている
と言うことなのでしょうか?



 送信中にロスしたのではなく、tcpdumpプログラムが
受信に失敗したパケットの数という意味だと思います。
キャプチャのためにCPU負荷が高くなったとか、画面表示
やディスク書き込みなどの処理のために、キャプチャしそこなうと
(NICのバッファがフルになる前にパケット・データを
引き取り損ねると)、パケットをドロップしてしまいます。
それが、この値です。
それに、ネットワーク上を流れているパケットは、
TCPパケットだけではないはずですので、この数値と、
TCPの再送には直接の関係はないと思われます。
(tcpdumpを実行させていなければ、ドロップ数が0
という可能性も非常に高いです)

どこかでも書いたように、TCPの再送数を調べるには
netstat -s で表示されるカウンタの値を見るのが
よいと思います。
yshita
常連さん
会議室デビュー日: 2004/07/05
投稿数: 34
投稿日時: 2004-08-01 19:50
Uchikoshiさん返信が遅くなって申し訳ございません。

引用:

送信中にロスしたのではなく、tcpdumpプログラムが
受信に失敗したパケットの数という意味だと思います。
キャプチャのためにCPU負荷が高くなったとか、画面表示
やディスク書き込みなどの処理のために、キャプチャしそこなうと
(NICのバッファがフルになる前にパケット・データを
引き取り損ねると)、パケットをドロップしてしまいます。
それが、この値です。
それに、ネットワーク上を流れているパケットは、
TCPパケットだけではないはずですので、この数値と、
TCPの再送には直接の関係はないと思われます。
(tcpdumpを実行させていなければ、ドロップ数が0
という可能性も非常に高いです)



そういうことだったのですか。疑問を解くことが出来ました。
教えていただき、ありがとうございます。

引用:

TCPの再送数を調べるには
netstat -s で表示されるカウンタの値を見るのが
よいと思います。



netstat -sについて調べてみたんですが、TCPの再送回数を調べるには、
netstat -sを使う方法も便利ですね。
すべてのパケットのヘッダの中まで調べたい場合は、tcpdumpを使い、
ヘッダの中まで調べる必要がなく、1つのデータを配送する際の、パケットの
様々な統計を一目で見るためには、netstat -sの方が便利だということがわ
かりました。教えていただきありがとうございます。


実際に、ある環境で調べてみたんですが、TCPの再送割合が、0.5[%]
という環境は、特に問題がない状態なのでしょうか?
一般的な値がわからないためしつもんさせていただきました。
よろしくお願いします。

スキルアップ/キャリアアップ(JOB@IT)