9. Traceroute Considerations (Traceroute の考慮事項)
9. Traceroute Considerations (Traceroute の考慮事項)
LISP サイト内の送信元ホストが別の LISP サイト内の宛先ホストに traceroute を開始する場合, 完全なパスを確認できることが非常に望ましいです。パケットは ITR から ETR までカプセル化されているため, トンネルのスパンは単一のホップと見なすことができます。ただし, LISP traceroute は完全なパスを提供するため, ユーザーは送信元 LISP ホストから宛先 LISP ホストへのパスの 3 つの異なるセグメントを確認できます:
Segment 1 (送信元 LISP サイト内の EID ベース):
source host ---> first hop ... next hop ---> ITR
Segment 2 (コアネットワーク内の RLOC ベース):
ITR ---> next hop ... next hop ---> ETR
Segment 3 (宛先 LISP サイト内の EID ベース):
ETR ---> next hop ... last hop ---> destination host
パスのセグメント 1 の場合, ICMP Time Exceeded メッセージは通常の方法で返されます。今日と同じです。ITR はカプセル化前に TTL をデクリメントし, 0 かどうかをテストします。したがって, ITR のホップ数は, traceroute ソースによって EID アドレス (サイトに面したインターフェイスアドレス) を持つものとして表示されます。
パスのセグメント 2 の場合, ICMP Time Exceeded メッセージは ITR に返されます。TTL が 0 にデクリメントされるのは外部ヘッダで行われるため, ICMP メッセージの宛先は ITR RLOC アドレスであり, カプセル化された traceroute パケットの送信元 RLOC アドレスです。ITR は ICMP ペイロード内部を調べて traceroute ソースを確認し, ICMP メッセージを traceroute クライアントのアドレスに返すことができ, また ICMP メッセージ内にコアルータの IP アドレスを保持します。これにより, traceroute クライアントは traceroute 出力にコアルータアドレス (RLOC アドレス) を表示できます。ETR は RLOC アドレスを返し, TTL が 0 にデクリメントされたことに応答します。以前のコアルータと同じです。
セグメント 3 の場合, ETR の下流の次ホップルータは, カプセル化され, コアに送信され, ETR によってカプセル化解除され, 転送されたパケットの TTL をデクリメントします。最終宛先ではないためです。TTL が 0 にデクリメントされた場合, traceroute 宛先へのパス上の任意のルータ (次ホップルータまたは宛先を含む) は, traceroute クライアントの送信元 EID に ICMP Time Exceeded メッセージを送信します。ICMP メッセージはローカル ITR によってカプセル化され, traceroute を開始した送信元サイトの ETR に送り返され, パケットはそこでホストに配信されます。