wiresharkでパケットモニタするとRetransmissionが多発しているという意味は?

このQ&Aのポイント
  • wiresharkでパケットモニタするとRetransmissionが多発している理由について教えてください。
  • 自作のパケット送信クライアントプログラムをテストしている際に、3秒に1回のタイミングでインターネット上のサーバに対してTCPパケットを発信して受信していますが、間隔が開いてしまうことがあります。wiresharkでモニタリングすると、Retransmissionが多発していることがわかりました。この現象の原因を知りたいです。
  • wiresharkのパケットモニタリングソフトで送信側と受信側のパケットモニタを行っていますが、Retransmissionが多発していることが分かりました。特にお昼の12時頃と夕方の6時頃にこの現象が起きやすいです。この原因を教えてください。
回答を見る
  • ベストアンサー

wiresharkでパケットモニタするとRetransmissionが多発しているという意味は?

現在、自分で作成したパケット送信クライアントプログラムをテストしており、3秒に1回のタイミングでインターネット上にあるサーバのグローバルipアドレスに対し、TCPパケットを発信させて受信するというテストを行っています。 しかし、3秒に一回データを送っているはずなのに、その間隔10秒とか20秒とか間隔が開いてしまう時があります。 wiresharkというパケットモニタソフトで送信側、受信側共にパケットモニタを行ってみたところ、”Retransmission”が多発しているということがわかりました。(tcp.analysis.retransmissionというフィルタ設定で検索)この現象はある時とない時があります。テストして10日ぐらい経つのですが、このパケットが確認されるのはお昼の12時頃と夕方の6時頃が多いのですが、このことからどのようなことが起こっていると考えられますか? わかる方いらっしゃいましたらご教授よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.1

簡単に言うと「トラフィック過多によるパケットの再送が多発している」です。 噛み砕いて言えば「回線が混雑していて、送信したパケットが、他の誰かが送信したパケットと衝突(コリジョンが発生)してパケットが消えた。なので、もう一度、送り直した」と言う事。 >このパケットが確認されるのはお昼の12時頃と夕方の6時頃が多いのですが、このことからどのようなことが起こっていると考えられますか? 「お昼休み、終業時間の6時になると、みんな、メールをチェックしたり、個人的にインターネットを閲覧し、トラフィック過多が起き、回線が異常に混雑する」と言う事が起きていると考えられます。 解消するには以下の方法があります。 ・「休み時間も、終業時間後も、プライベートでネットを使うな!」と言う「通達」を全社に出す ・社内LANを、トラフィック過多によるコリジョンが起きないよう高速で帯域のあるネットワークカード、LANハブ、ルーターに変える ・受信側と送信側を、社内LANから(電気的、アドレス的に)独立した別のLANにする 要は「混んでる時間帯なので仕方が無い」って事です。

maeken0012
質問者

お礼

ご回答ありがとうございます。 このようにネット回線が混み合っている症状は社内LANだけでなくWAN側のインターネット回線も混み合っていると同じ症状が出てくるものなのでしょうか? 実は、現在調査しているネットワーク内には5名ぐらいの方が利用されている状態でして、メールサーバは外部のホスティングサービスを利用している状態なので、WAN側にある状態です。5名の方の各コンピュータは2~3分に1回の割合でメールサーバのPOPプロトコルでアクセスしたりしてはいますが、お昼の時間と夕方6時だけにアクセスが集中しているとは思えないのです。それと5名の方がネットを激しく使用したとしても、5人程度ならそれほどLAN内は負荷がかかっているとは思えないので、WAN(インターネット回線)側が込んでいるとやはりwire sharkの”Retransmission(トラフィック過多によるパケットの再送)”が多発するものなのでしょうか? わかる方いらっしゃいましたらご教授よろしくお願いいたします。

関連するQ&A

  • Wiresharkでみるときの、1回のパケット

    Wiresharkでみるときの、1回のパケットを追う方法を探してます。 TCP通信にて、通信確立後にデータのやり取りをしている通信を数時間tcpdumpにて取得し、 Wiresharkで流れをみています。そのときに、1回のデータのやり取りと見るために方法を教えてください。 クライアントからのリクエストとサーバからのレスポンスで、 1回目クライアントからデータ送信し、 複数かいやり取りして、終了(200 OKを返却して) 2回目クライアントからデータ送信し、 複数かいやり取りして、終了(200 OKを返却して) という動作を繰り返してますが、 この1回目がここからここまでのパケット、2回目がここからここまでのパケットと知りたいのです。 なんとなくみると、ストリームNoなどもありますが、 ストリームNoが1回の通信後とのNoかとおもったら、 ストリームNoでフィルタしたら、 1回目5回目8回目・・と複数回のものが同じストリームNoであり、 どうゆうことだとうと疑問になってます。 詳しい方よろしくお願いします。

  • X11というプロトコルのパケットをフィルタする方法

    現在、Wiresharkでサーバソフトが受信しているクライアント端末からのパケットを観測しています。 Wiresharkでは tcp.dstport == 5000 このようにTCP5000番ポート宛にパケットを、上記の条件式でフィルタして表示しています。 しかし、いくつかのクライアント端末からはTCPではなく、X11というプロトコルで来ているものがあります。宛先ポートも5000番です。 この場合、宛先5000番ポートに送信されているX11プロトコルのパケットをフィルタするための条件式はどのように書けばよいでしょうか? どうぞ、ご教示の程よろしくお願い致します。

  • wiresharkの見方がよく分からない(3ウェイハンドシェイク)。

    wiresharkを使って(遊んで?)、ネットワークの勉強をしているのですが(『実践 パケット解析』という本を読んでいます)、いまいち見方がよく分かりません。ネットワークの知識が乏しいせいかもしれませんが。 例えば、TCPの接続で、3ウェイハンドシェイクというものがあると思うのですが、その時のinfoで、 2580>http [syn] seq=0 Len=0 MSS=1460 という、表示があります。多分、一番最初のSYNパケットを送っているところだと思うのですが、なぜ最初にhttpという表示があるのでしょうか?まず、TCPで3ウェイハンドシェイクで行って、セッションを確立してからhttp…だと思っているのですが…。また、2580>の意味もよく分かりません。本には、この部分は触れられていませんでした。 よろしくお願いします。

  • ネットワークトラフィックのモニタ

    SNMP対応機器にミラーリングの設定をし、ミラーポートに接続したパソコンで受信もしくは送信パケットをキャプチャし、TCP monitor Plusで出るようなグラフでトラフィックを測定したいのですができません。Wiresharkでパケットを受信しているのは確認できました。良い方法は無いでしょうか? ※cactiなどの方法は今回考えていません。

  • Wiresharkのキャプチャログの検索方法

    WireSharkで現在作成している端末のTCPパケットを1時間ぐらいキャプチャしました。この1時間の間に3回ぐらい10分程度無通信状態の時間帯があるんですが、その時間を忘れてしまいました。この時間帯を検索したいのですが、ログの量が多すぎて見つけるのが難しくて困ってます。Filter検索とかで何時何分のパケットだけ表示する方法は無いでしょうか?

  • TCP/IP通信3ハンドシェイクについて

    TCP/IPのTCP通信の3ハンドシェイク通信に関して質問なのですが、インターネットを使ったある端末でセンターのサーバーと6秒に1度程度3ハンドシェイク通信を行ってインターネット回線が正常かどうかを判定する機能を持っているそうなのですが、その時に1回の通信でどの程度のパケットをやり取りしているのかということを質問してみたら、約1.2kbyte程度のパケットをやり取りしていると業者の方が言っていました。 ちょっと興味があってWireSharkでこの端末とサーバ間のパケット通信をのぞいてみたところ、端末が1.2kbyte送信していたのですが、サーバからのACKと思われるパケットが1.2kbyteのパケットを返してきていて、再度端末が60バイト程度のパケットをサーバのIPアドレスに送信していました。 私はてっきり、端末とサーバー間のこの3ウェイハンドシェイクのパケットの総量が1.2kbyteだと思っていたのですが、これだと1.2k + 1.2k + 60 = 2.46kbyteとなると思うのですが、パケットのやり取りとしては正しいのでしょうか? サーバー側が受信したら同じ容量の1.2kbyteのデータをACKとして返してきているように思うのですが、Wiresharkで見ても全く同じデータでは無いようでした。サーバはデータを受け取ったら、ちゃんと受信したという1 or 0のデータみたいなものを返せばよいだけだと思うのですが、理由はあるのでしょうか?

  • TCP/IPで同じパケットが2つ送信される。なぜ?

    Windows8 PC上のブラウザから、LAN上の機器(HTTPサーバ)にアクセスしようとしています。 Wiresharkでそのときの通信を覗いてみると、PCから送信されるパケットはなぜか2回同じものが短時間の間に連続して送信されているようです。その理由に心当たりがある方がいらっしゃいましたら、教えて下さいませんか? また、設定で回避できるのであれば、その設定項目などもわかるとありがたいです。 詳しい状況です。Wiresharkのキャプチャ画像と合わせて見て下さい。 *PC側IPは192.168.0.12、HTTPサーバは192.168.0.18です。 *Wiresharkでは、パケット6と7、9と11、10と12、14と15は内容的に同じパケットのようです(seqとackが同じ) *同じパケットのうち、前の方のパケットではIPパケットのチェックサムが0000hとなっているようです(チェックサムオフロード?)。後の方のパケットには、具体的なチェックサムの値が入っています。 *前のパケットが短い場合(54バイトとか)、後のパケットにはパディングとして00hが追加されて、60バイト長となるようです。それ以上の長さのパケットは、前述のチェックサム以外には違いは見られません。 *同じ2つのパケットは、極短い期間で連続して送信されているので、HTTPサーバからの応答タイムアウトで再送しているという風には思えないです。 *PC側のブラウザは、ChromeでもIEでも同じように2つの同じパケットが送信されていました。しかし、LANの外(ルーター外のインターネット)に接続するときは、このように2つの同じパケットはWiresharkで見ると出ていないようです。 *ちなみに、PC側のLANはRealtekのGigabit Ether(有線)です。 よろしくお願いいたします。

  • 先頭パケットおよび最終パケットの区別について

    こんばんわ。 winsockを用いてC言語によるプログラミングを行っています。 先頭パケットおよび最終パケットの区別方法はどのように行うべきなのでしょうか? たとえば、送信端末から受信端末へパケットを100個送信するとします。送信端末において100個パケットを送信した場合、受信側にて100パケットのうちどのパケットが一番初めに受信したパケットかは分かりません。 そこで、各パケットにシーケンス番号1から100番まで各パケットに付加し送信しているのですが、シーケンス番号1番のパケットを受信側で受信できるとは限りません。 そこで、なにかよい方法はありますでしょうか? 100個すべて受信できるとは限らないため、タイマーをセットする必要性があるのでしょうか? よろしくお願いいたします。

  • パケットについて

    パケットについて教えて頂きたいのですが。送信の時と受信の時で料金が異なるのは何故なんでしょうか?パケットの料金システムについて少し詳しく教えて下さい。

  • TCP/IP通信時のパケット分割について、パケットがMTU以下なのになぜ分割されるの?

    Linux-PCと組み込みボード間でTCP/IP(Ethernetで)で通信を行ったときの なぜ?な現象について質問です。 Linux上のプログラムでボードに対して1300バイトのデータを送信(write) しているのですがTCPDUMPでモニタしたところ1024/276バイトに分割されて 送信されています。Linux側のMTUが1500になっているのになぜパケットが 分割されてしまうのでしょうか? ちなみにCygwin上でテストしたときには1つのパケットで送信されていま した。

専門家に質問してみよう