为什么tracert不能显示与ipconfig相同的网关地址

我很困惑以下几点:

C:\>ipconfig .... Connection-specific DNS Suffix . : some address here IP Address. . . . . . . . . . . . : 10.77.121.54 Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : 10.77.121.1 

从上面,我的电脑的网关是10.77.121.1。 但是,当我使用tracert时,第一个IP地址是不同的,你可以从下面看到。 这是10.77.121.3。 为什么?

 C:\tracert 10.75.89.100 Tracing route to 10.75.89.100 over a maximum of 30 hops: 1 29 ms <1 ms <1 ms 10.77.121.3 2 <1 ms <1 ms <1 ms 10.77.0.34 3 1 ms <1 ms <1 ms 10.77.0.45 4 <1 ms <1 ms <1 ms 10.75.89.100 

看起来您正在使用的网关可能使用VRRP或HSRP 。 10.77.121.1是虚拟/逻辑地址,用作网关,但在跟踪路由时,其中一个物理路由器响应。 (10.77.121.3)

您的默认网关并不总是下一跳。 实际上它一般是最后一招的路由器。 您的计算机将parsing路由表,并将只使用默认网关,如果没有其他更具体的路线匹配。 所以做一个路线打印 ,看看你在那里find什么。

从上面,我的电脑的网关是10.77.121.1。 但是,当我使用tracert时,第一个IP地址是不同的,你可以从下面看到。 这是10.77.121.3。 为什么?

这是很less见的,但也许10.77.121.1不再有连接到下一跳,但它仍然启用转发。 如果是这种情况,对于某些操作系统,当您尝试发送数据包时,您将联系10.77.121.1,但是10.77.121.1将返回一个带有10.77.121.3的ICMPredirect ,作为您的系统用作网关的地址。 由于您的数据包实际上并未被10.77.121.1转发,因此它不会显示在跟踪路由中。

用你最喜欢的嗅探器快速捕捉你的客户将确认这是发生。

现在出于安全原因,ICMPredirect目前大多数是不鼓励的,所以像这样的设置是不常见的。

网络图

这可能是@ MikeR的答案。 也可能是您的机器有一条到达10.75.89.100地址的路由,而不是通过默认网关,而是通过10.77.121.3。 检查您的主机的路由表,看看是否是这样的情况。