traceroute 如何从目的地接收操作?

问题描述

在traceroute中,我们知道当目的地(主机)收到一个TTL=1的数据包时,主机会抛出错误并且不会延迟。

那么traceroute如何计算源和目的之间的距离(延迟)?

解决方法

Traceroute 向目的地发送探测数据包,并增加 TTL。数据包超时的节点应该返回一个 ICMP Time exceeded 消息,然后将其报告为跳跃。

延迟只是发送探测和接收错误消息之间的时间。

最后一跳是目的地的拒绝(对于 UDP 探测)或其回声回复(对于 ICMP 回声探测)。

为了完整性:TTL=1 的数据包不会(通过网关)转发等等。仍然可以由目的地回复。