You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于Traceroute未经过公网IP所属网段的疑问咨询

关于Traceroute未经过公网IP所属网段的疑问咨询

我的操作与疑问

首先,我通过以下命令获取公网IP并执行whois查询:

whois $(wget -qO- ipinfo.io | grep -w ip | sed 's/"//g;s/://g;s/,//g;s/ip//g;s/^.*[ \t]//g')

得到的公网IP为:79.116.123.39
whois结果显示该IP所属网段为:79.116.123.0 - 79.116.123.255,路由段为79.116.0.0/16

随后我执行traceroute google.com,得到的路径如下:

1  _gateway (192.168.0.1)  6.002 ms  5.973 ms  5.958 ms
2  172.19.217.49 (172.19.217.49)  49.053 ms  49.043 ms  52.209 ms
3  172.24.1.161 (172.24.1.161)  55.486 ms  70.018 ms  69.978 ms
4  81.196.118.208 (81.196.118.208)  73.225 ms  73.213 ms  73.244 ms
5  91.232.81.211 (91.232.81.211)  73.189 ms 74.125.119.226 (74.125.119.226)  73.177 ms  73.162 ms
6  108.170.253.241 (108.170.253.241)  73.150 ms 108.170.253.225 (108.170.253.225)  62.935 ms 108.170.253.241 (108.170.253.241)  62.905 ms
7  142.251.51.143 (142.251.51.143)  69.595 ms 142.251.51.141 (142.251.51.141)  44.583 ms  52.464 ms
8  mad41s14-in-f14.1e100.net (142.250.200.142)  39.579 ms  52.352 ms  58.850 ms

我发现所有数据包经过的节点里,没有任何属于我的公网IP所在网段的路由器/节点。明明数据包是在我的公网IP所属的网络里传输,为什么会这样?难道不应该至少有一个该网段内的节点吗?


解答

嘿,这个问题问得很到位!其实核心原因是你的公网IP是运营商分配给你的“终端标识IP”,而非网段内的转发路由器IP,咱们具体说:

  • 你的设备通过家庭网关(192.168.0.1)接入运营商网络,网关之后的第一跳(172.19.217.49)已经是运营商骨干网的路由器了。
  • 你拿到的79.116.123.39是运营商给你的动态公网IP,这个IP直接绑定在你的网关或者设备上,用来标识你的网络会话身份,并不是某个中间转发路由器的IP。
  • 运营商网段(79.116.0.0/16)内的路由器,属于骨干转发层面的设备,它们不会出现在你的traceroute路径里——因为数据包从网关出去后,直接进入了运营商的骨干转发网络,你的公网IP只是用来标记“这个数据包是来自/去往你”,而不是转发路径上的节点。

简单总结:你的公网IP是“会话的终点标识”,不是“转发路径上的节点”,所以traceroute自然不会显示该网段内的路由器啦。

备注:内容来源于stack exchange,提问作者achille

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 12:14:39