我用两台不同的ISP在两台不同的PC上ping 相同的IP 。 有了一个ISP,我得到了答复,而另一个我没有。
当运行tracert到IP时,我看到两个ISP都在一个点上通过相同的路由器。
在那个时候,第一个ISP将数据包转发到正确的下一个路由器,与另一个ISP – 路由到一个错误的路由器,将数据包丢弃。
我的问题是这样的: 为什么路由器会根据数据包的源IP来select转发数据包的位置? 在这两种情况下,数据包都有相同的目标IP地址,路由器根据ISP的不同而select不同的地址。
这是常见的吗?
确实有可能根据源地址来路由数据包:
https://en.wikipedia.org/wiki/Source_routing
https://en.wikipedia.org/wiki/Policy-based_routing
以下是Cisco路由器的一些示例:
至于为什么一个networkingpipe理员会select这样做…只有他可以告诉。
听起来像一个基于IP的防火墙。 如果源数据包来自已知的“坏”networking,则将其放在地板上。 这实际上是很常见的做法。 如果ISP是大量垃圾邮件或企图攻击的来源,那么只需简单地防止他们的IP块。 甚至还有一些服务试图为公司提供黑帽ISP的列表,因为这个“重击”游戏可能花费很多时间。
http://en.wikipedia.org/wiki/Blacklist_(computing)
这可能会发生的另一个原因是对于负载均衡的服务器,通常使用的散列algorithm是基于源IP地址。 访问频繁使用的网站很常见。 它实际上是丢弃数据包的第二个路由器,还是仅仅是一个失败的主机?