9. Traceroute Considerations (Considérations sur Traceroute)
9. Traceroute Considerations (Considérations sur Traceroute)
Lorsqu'un hôte source dans un site LISP initie un traceroute vers un hôte de destination dans un autre site LISP, il est très souhaitable de voir le chemin complet. Étant donné que les paquets sont encapsulés de l'ITR à l'ETR, la traversée du tunnel peut être considérée comme un seul saut. Cependant, le traceroute LISP fournira le chemin complet afin que l'utilisateur puisse voir les 3 segments différents du chemin de l'hôte LISP source à l'hôte LISP de destination:
Segment 1 (basé sur EID au sein du site LISP source):
source host ---> first hop ... next hop ---> ITR
Segment 2 (basé sur RLOC dans le réseau de base):
ITR ---> next hop ... next hop ---> ETR
Segment 3 (basé sur EID au sein du site LISP de destination):
ETR ---> next hop ... last hop ---> destination host
Pour le segment 1 du chemin, les messages ICMP Time Exceeded sont retournés de manière normale, comme aujourd'hui. L'ITR effectue la décrémentation du TTL et teste s'il est égal à 0 avant l'encapsulation. Ainsi, le compteur de sauts de l'ITR est vu par la source du traceroute comme ayant une adresse EID (adresse d'interface orientée vers le site).
Pour le segment 2 du chemin, les messages ICMP Time Exceeded sont retournés à l'ITR car la décrémentation du TTL à 0 est effectuée sur l'en-tête externe, donc le message ICMP est destiné à l'adresse RLOC de l'ITR et à l'adresse RLOC source du paquet traceroute encapsulé. L'ITR examine l'intérieur de la charge utile ICMP pour vérifier la source du traceroute afin que le message ICMP puisse être retourné à l'adresse du client traceroute, et préserve également l'adresse IP du routeur de base dans le message ICMP. De cette manière, le client traceroute peut afficher les adresses des routeurs de base (adresses RLOC) dans la sortie du traceroute. L'ETR retourne son adresse RLOC et répond à la décrémentation du TTL à 0, tout comme les routeurs de base précédents.
Pour le segment 3, le routeur de saut suivant en aval de l'ETR décrémentera le TTL du paquet qui a été encapsulé, envoyé vers le cœur, désencapsulé par l'ETR et transféré, car il n'est pas la destination finale. Si le TTL décrémente à 0, tout routeur sur le chemin vers la destination traceroute (y compris le routeur de saut suivant ou la destination) enverra un message ICMP Time Exceeded à l'EID source du client traceroute. Le message ICMP sera encapsulé par l'ITR local et envoyé à l'ETR dans le site source qui a initié le traceroute, où le paquet sera livré à l'hôte.