質問: 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をオプションで表示させることはできますでしょうか? 以上、お願いもうしあげます。
回答: シーケンス番号を持っているのは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するしかないでしょう