せとブログ

学んだことを忘れない

pingやtracertが何をしているか

ネットワークにつながらなくなった

会社のネットワークが最近どうも調子が悪く、つながらなくなることがままありました。そしたらpingやtracertで状態見てみたら?という記事を見つけたので触ってみてへーと思ったことの備忘録です(ちなみにネットワークはその後調子を取り戻し、問題が起こったときにこれを試すことはできていないです)。

そもそもpingとtracertとは?

どちらもネットワークの状態を見るためのツールです。

  • pingは、あのー、聞こえます?っていうのを確認するためのツール。
  • tracertは、えっと、どこで詰まってます?っていうのを確認するためのツール。

pingもtracertもICMPのアプリケーション

どちらも、Internet Control Message Protocolというプロトコルを使ったツールだそうです。pingでは単にICMP packetを送って応答があるまでの時間を確認してるっぽいです。

tracertはTTL; Time To Liveがルーターを一つ経由するたびにこのTTLが減っていき、TTL=0となったらTime exceededですーとルーターから応答があることを利用しています。TTL=1から順にTTLを増やしてパケットを送信することで、どういう経路で目的のアドレスまで通信されているのかを知る事ができる(そしてそこまでの応答時間も合わせて知ることができる)という代物です。なるほどねぇ。

ちなみにTTL=0となったら永遠とパケットがネットワーク上を彷徨うことを防ぐために廃棄されることになっています。またセキュリティ上の理由から、ICMPだけ弾くようになっているルーターも結構あるようです。

TTLのデフォルト

ところで、このTTLのデフォルトの値はシステム系によって異なるようです。よくわかりませんが、Linux basedなものが64、Windows basedなものが128とかのようです。255だと無限という記述を見かけましたが、しかしそれだとTTLの概念からはずれるので、どうなんでしょうか(何か勘違いしている可能性が高いです)。

 

参考文献

「netsh」コマンドでTCP/IPのパラメータを設定する【Windows OS】:Tech TIPS - @IT (itmedia.co.jp)

Windows 10ミニTips(458) ネットワークが突然不安定になったときの対処法 | マイナビニュース (mynavi.jp)

TTLの値について - ネットで、「TTLはの値は32などで設定されている」... - Yahoo!知恵袋

Windowsの「ping」コマンドでネットワークトラブルの原因を調査する:Tech TIPS(1/2 ページ) - @IT (itmedia.co.jp)

traceroute(tracert) ~ネットワークの経路を調査する:ネットワークコマンドの使い方 - @IT (itmedia.co.jp)

pingコマンドの使い方、初心者に必要なことだけを説明する – ノンネットワークエンジニアのネットワークハンドブック (network-beginners-handbook.com)

tracertコマンドの使い方、初心者に必要なことだけを説明する – ノンネットワークエンジニアのネットワークハンドブック (network-beginners-handbook.com)