メインコンテンツへ
ネットワークネットワーク応用

tracerouteコマンドが経路上の各ルータを特定するために利用するIPヘッダのフィールドはどれか。

ア.Identification。パケットの識別番号を中継ルータが順番に増加させ、応答内容から経路を推定する。
イ.Protocol番号。各ルータでプロトコル番号を書き換えることで自身のIPを通知する。
ウ.TTL(Time To Live)。送信元はTTL=1,2,3…と1ずつ増やしたパケットを送り、各ルータでTTLが0になりICMP Time Exceededが返ってくることで経路を特定する。正解
エ.Source Address。中継ルータが送信元アドレスを自身のアドレスに書き換えて応答する。

解説

tracerouteは「順番に短い寿命の手紙を送り、誰の手で破棄されたかを記録する探偵」。1歩目で死ぬ手紙を送ると最初のルータが「届きませんでした」と返事をくれて、それで存在がバレる仕組みです。

なぜ ウ が正解か

ウが正解。tracerouteはTTL=1で1個目のパケットを送ると、最初のルータでTTL=0になりパケットが破棄され、そのルータがICMP Time Exceededを送信元に返す。次にTTL=2で送ると2個目のルータから応答が来る。TTLを1ずつ増やしながら経路上の全ルータを順に特定する巧妙な仕組み。

なぜ ア は間違いか

Identificationはフラグメント再構成用の識別子で、ルータが順次増やすことはない。経路追跡には全く関与しないフィールド。

なぜ イ は間違いか

Protocol番号は上位プロトコル(TCP=6, UDP=17, ICMP=1)を識別するためのフィールドで、ルータが書き換えることはない。経路追跡には使われない。

なぜ エ は間違いか

Source Addressをルータが書き換えるのはNAT等の特殊な処理で、通常のIP転送ではルータは送信元アドレスを変更しない。tracerouteの仕組みとも無関係。

出典: AI生成問題(学習用)