- ベストアンサー
MS-DOSおよびUNIXでのpingの違い
お世話になります。 UNIXでpingをしますと「64 bytes from 211.14.6.244: icmp_seq=0 ttl=51 time=17.334 ms」のリプライが来ますが、MS-DOSでpingすると、このseq(シーケンスNO)がありません。UNIXでは、シーケンスNOでパケットの順番ずれがわかるということですが・・ そこで質問ですが、 (1)pingはそもそもIPパケット=レイヤ3なのに、なぜにシーケンス番号がUNIXで表示されるのでしょうか?シーケンス番号はTCPなら互いにノード間で送達確認をすることはわかります。 (2)MS-DOSでpingの場合、UNIXのようにシーケンスNOをオプションで表示させることはできますでしょうか? 以上、お願いもうしあげます。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
シーケンス番号を持っているのはICMPの中でもecho/echo replyとかtime stampとか、要求に対して応答を返すもののみです ICMPが全てシーケンス番号を持っているわけではありません そもそもTCP以外ならシーケンス番号を持たない、という考えがおかしいです 確かにUDPはヘッダ部分にはシーケンス番号を持ちませんが、例えばVoIPの音声を送ったり、映像配信に使用されるRTPというプロトコルではペイロード部分にシーケンス番号を持つので、UDPであってもRTPヘッダ部分にシーケンス番号を持ちます http://www.geekpage.jp/technology/rtp/rtp.php MS-DOSプロンプトからのpingコマンドではシーケンス番号を表示できないので、どうしてもWindowsでシーケンス番号を知りたければWireshark等でパケットキャプチャしながらpingするしかないでしょう
その他の回答 (1)
(1)ICMP のパケットの中にはシーケンス番号が含まれています。(詳細は参考 URL を参照下さい。) ですから、シーケンス番号が表示されるのは何ら不思議なことではありません。 (2)そのようなことを実現するオプションがないので、おそらくできないのだと思います。
お礼
ありがとうございました。
お礼
ありがとうございます。 >そもそもTCP以外ならシーケンス番号を持たない、という考えがおかしいです。 パケットフォーマットを今、一度確認してみます。Wireshark試してみます。