这与我在traceroute上可以找到的所有内容相矛盾。据我所知,traceroute的工作原理是使用TTL从0-> n发送ICMP(或UDP)数据包到特定目标,直到到达目标为止。沿途在每个位置连续发出的探测数据包超时,产生ICMP“超时”答复,并在到达目的地时最终发出“端口不可达”消息。
我理解traceroute的不完善之处-例如,traceroute流量可能被某些网关阻止,或者答复数据包的TTL可能设置为探针的剩余TTL,导致它永远不会返回给发送者。
但是,经过大量研究,在跟踪路由始终返回相同路径的情况下,我找不到任何引用跟踪路由的信息。同样,没有任何内容引用traceroute未报告的任何“额外”跃点(但* * *跃点没有答复而超时)。有兴趣知道答案的人。
#1 楼
一条跟踪路由将显示您从A到B经历了多少3层跳。您也可能要经过10台运行第2层VPN(显示为单跳)的ISP路由器。 MPLS网络可以隐藏其内部,也可以向您显示其内部。您也可以在路径中设置透明的防火墙。由于我提到了以上几点,您可能要使用50台设备,但对您来说好像是3台。并非总是如此。如果您看到15跳,则很可能是15跳。
这是有关TTL的MPLS设置的基本示例:http://www.juniper.net/techpubs/en_US/junos13.2/topics/reference/configuration-statement/no -propagate-ttl-edit-protocols-mpls.html
评论
谢谢!您指出的情况肯定会提供有关可能缺少哪些traceroute的更多信息。
–威尔霍尔
13年11月16日在18:03
别担心。即使是像GRE隧道之类的东西也可以隐藏底层跃点,因为GRE标头本身具有自己的TTL
–融洽
13年11月16日在18:08
#2 楼
没有减小IP TTL字段值的任何设备都不会显示在traceroute路径中。例如,可以将Cisco ASA防火墙配置为递减穿过防火墙的数据包的IP TTL字段(设置连接递减-ttl)。默认情况下,TTL不会递减,因此会隐藏防火墙(很好)。#3 楼
Traceroute不会显示不递减IP数据报的TTL字段的设备。它也不会显示递减TTL字段并在TTL达到零时消耗数据包的设备,但会忽略通过ICMP数据报将此事件通知发送者。但是,这并不是完全看不见的。您可以推断出traceroute中此丢失的跃点的存在,因为当使用下一个更高的TTL值时,链中的下一个设备会响应,并且我们知道该设备与上一个设备之间的某件事会导致TTL递减,但不会自己声明。传统的
traceroute
实用程序未收到响应时会打印星号。它会为这种类型的主机打印一行星号。之间还有一些可能性,即介于两者之间的某些路由器会根据其源地址选择性地抑制这些ICMP消息,从而使路径的某些部分看起来像即使它们产生了响应也看不见。
评论
这不是一个遥不可及的可能性,它所需要的只是一个网络使用私有IP进行路由器间链接,而另一个网络丢弃所有带有私有源IP的数据包。
– Peter Green
17-10-7在3:39
评论
请注意,第一个icmp / udp数据包的TTL为1,而不是0您可能对此有些兴趣:nanog.org/meetings/nanog47/presentations/Sunday / ...