networking路由A.com和sub.A.com如此不同

路由基于IP,对吧? 怎么可能路由我的数据包如此不同呢? 一个是成功,但另一个不成功。

# traceroute A.com traceroute to A.com (1.2.3.4), 30 hops max, 60 byte packets 1 ... 2 ... 3 .. 4 A.com # traceroute zzz.A.com traceroute to zzz.A.com (1.2.3.4), 30 hops max, 60 byte packets 1 ... 2 ... 3 .. 4 .. 5 ... 6 .. 7 .. .. .. 30 *** 

这可能是各种各样的事情。

最宽松的意义上,BGP路由是随机的。 这意味着它们是基于哪些BGP路由当前正在使用以及如何以最低成本实现端点AS的顶级提供商。 另一个潜在的问题是,你有一个像DNAME或NAPTR这样的DNSlogging,这些logging在过去对我自己造成了类似的问题。 如果问题持续存在,请考虑您的提供商正在根据HTTP请求进行奇怪的stream量整形(不可能)。 然而,打印相关的跟踪路由信息会有所帮助。

我同意Zephyr,但我必须补充说,提供商可以做IP路由负载均衡。

假设你是一个随机的互联网提供商,你有4个相同的点的链接。 您可以select负载平衡这些链接之间的stream量。 这意味着啤酒花不会是一样的。

如果没有完整的跟踪路由和真正的IP地址,就很难说这个问题是明智的。 请不要模糊这样的数据 – IP地址不是秘密。

话虽如此,唯一可以看到这种情况发生的情况是目标IP地址不一样。 每个数据包负载均衡有时会在(部分)链路上完成,这可能会导致部分故障。 但是,这两个traceroute应该显示失败 – 不一致只是其中之一。

所以,鉴于目标IP地址是不同的,我最好的猜测是其中一个目标IP地址是根本没有configuration,或使用更严格的防火墙。 Traceroute将继续努力,直到收到来自目标主机的回复。 如果目标主机不存在或拒绝回复,则跟踪路由将继续运行,直到达到限制,其中30跳是常用设置。