本文へスキップ
totonoe.tech

ネットワークを整える

初級

ping・tracerouteを整える。

= 相手まで届くか・どこを通るかを調べる

ネットワークのどこの話? 自宅や会社から、インターネットの向こうのサーバーまでの道すじ全体の話です。IP の層で動く、点検用の道具です。

① traceroute を走らせてみる

TTL を 1 から順に増やして送り、返ってくる連絡を集めて経路の地図を作ります。

自分 1 2 3 4 5 6 7 あなた サーバー

「▶ traceroute を実行」を押すと、TTL=1 から順に送ります。4 番目のルーターは返事をしない設定です。

 
  • 1:自宅のルーター(192.168.1.1)
  • 2:プロバイダの局舎(203.0.113.1)
  • 3:プロバイダの基幹(203.0.113.9)
  • 4:返事をしないルーター(198.51.100.1)
  • 5:他社との接続点(198.51.100.17)
  • 6:データセンター入口(192.0.2.1)
  • 7:サーバー(192.0.2.80)

Windows と Linux の違い。Windows の tracert は ICMP の Echo Request を送り、宛先からは Echo Reply(Type 0)が返ります。Linux・macOS の traceroute は既定で UDP(使われていない大きなポート番号宛)を送り、宛先から Port Unreachable(Type 3 Code 3)が返るのが「着いた」の印です(traceroute -I で ICMP にできます)。Cisco IOS の traceroute も UDP を使います。途中のルーターが返すのはどちらも Time Exceeded(Type 11)です。

② 出力の読み方を答えてみる

出力例を選んで、問いに答えます。

 

まとめ。* * * は「そのルーターが返事をしないだけ」のことが多い。途中の 1 か所だけ遅いのは問題でないことが多い。最後まで遅い、または途中から最後まで届かないのが本当の問題です。

③ ping の出力を読む

返事の TTL(残りの寿命)から、相手の OS の見当と、通ったルーターの数を見積もれます。

ping の応答の値 入力するそばから計算(会社のPCでも、入力は外に出ません)
Reply from 203.0.113.50: bytes=32 time=12ms TTL=117

TTL の初期値は、Linux・macOS が 64、Windows が 128、ネットワーク機器が 255 が多いです。ただし設定で変えられるので、あくまで見当です。time は往復の時間(RTT)で、同じ相手に何度も測って揺れの大きさ(ジッター)も見ます。損失(loss)が 0% でなければ、途中のどこかで落ちています。

ICMP Type名前意味
0Echo Reply(応答)ping の返事
3Destination Unreachable(宛先に届かない)Code 0 ネットワーク不達・1 ホスト不達・3 ポート不達・4 分割が必要だが DF あり
8Echo Request(要求)ping の問いかけ
11Time Exceeded(時間切れ)TTL が 0 になって捨てた。traceroute の仕組みはこれ

📘 CCNA ではここが問われる

  • ping・traceroute(Cisco IOS/IOS XE では ping・traceroute。ping の応答記号は ! 成功、. タイムアウト、U 到達不能)
  • ICMP の用途と Type(Echo、Destination Unreachable、Time Exceeded)
  • IP ヘッダの TTL と、ルーターが 1 ずつ減らすこと

大きさを変えた ping で経路の MTU を探す方法は MTU・MSS を参照。名前が引けるかは DNS、使うポートは ポート番号 で確かめられます。

たとえると

ping は、相手の家のチャイムを鳴らして「いますか?」と聞くことです。返事があれば届いていて、返事までの時間も分かります。traceroute は、道中の中継所(ルーター)に「ここを通ったという印をください」と頼みながら進むことです。荷物には「あと何回で捨てる」という寿命(TTL)が書いてあり、1 回中継するたびに 1 減ります。寿命が 0 になった中継所は「ここで寿命が尽きました」と送り主へ連絡します。寿命を 1、2、3 と増やして送れば、中継所が順に名乗り出てくれます。

このツールは、ネットワーク全体図のここ

  1. 自分の端末
  2. 家・会社の中
  3. 出入口
  4. 建物の外
  5. 相手のサーバー
  6. データセンター
  7. 見る・動かす

建物の外の道(WAN・インターネット)— 相手までに通った中継点を、ひとつずつ確かめる話です。

建物の外の道は、全国の道路と運送会社の中継所のような場所です。OSI では第3層(ネットワーク)。

「ブラウザで URL を打ってからページが出るまで」の 7 番目(ルーティングで運ぶ)で活躍します。ほかに11番目にも出てきます。

前の段: NAT 次の段: HTTPS

このページに出てくる略語(3語)
  • ICMP (Internet Control Message Protocol) — 「届かなかった」などの通信の状況を知らせる決まりごと。ping が使う
  • TTL (Time To Live) — IP パケットが通れる中継の回数の上限。ルーターを通るたび1減る
  • RTT (Round-Trip Time) — 送ってから返事が戻るまでの往復の時間

ネットワークの略語をすべて見る

ネットワークの全体図を見る

このツールについて

「相手まで届くか」を調べるのが ping、「どこを通って届くか」を調べるのが traceroute です。どちらも ICMP という連絡用の仕組みを使います。

TTL を増やしながら送ると途中のルーターが順に名乗り出る、というしくみをアニメで体験。`* * *` は故障とは限りません。名前の引き方は DNS へ。

主な機能

  • TTL を増やして経路をたどるアニメ
  • ICMP と UDP 方式の違い
  • 出力の読み方クイズ(* * *・途中だけ遅い・最後まで遅い)
  • ping の TTL から OS と通過ホップ数を見積もり
  • ICMP の主な Type 0・3・8・11 の早見

よくある質問

Q. traceroute の「* * *」は故障ですか?

A. 多くは、そのルーターが Time Exceeded を返さない設定になっているだけです。その先のホップが表示され、最後まで着いていれば通信は通っています。

Q. 途中のホップだけ遅いのは問題ですか?

A. 先のホップが速ければ問題でないことが多いです。ルーターは自分宛ての返事を後回しにするためです。最後まで遅いときが本当の問題です。

Q. tracert と traceroute は何が違いますか?

A. Windows の tracert は ICMP Echo を送り、Linux・macOS の traceroute は既定で UDP を送ります。途中のルーターが返すのはどちらも ICMP Time Exceeded(Type 11)です。

Q. ping の TTL で何が分かりますか?

A. 初期値は Linux・macOS が 64、Windows が 128、ネットワーク機器が 255 が多く、残りの値との差で通ったルーターの数が見積もれます。設定で変わるため見当です。

Q. CCNA で問われる ICMP の Type は?

A. Type 0 Echo Reply、Type 3 Destination Unreachable、Type 8 Echo Request、Type 11 Time Exceeded が基本です。Cisco IOS の ping では ! が成功、. がタイムアウト、U が到達不能を表します。

入力値はURLの「#」以降に入るためサーバーには送信されません。リンクを開くと同じ状態を復元します。

続けて整える

totonoe.tech を運営する株式会社Koinobori は、法人向けの研修サービス「NOBORIBA®」も運営しています。 ここで手を動かした内容を、講師から教わる形の研修です。このページの道具は無料のまま、登録もいりません。

運営サイト

私たちが運営するサイト