为何在traceroute结果中看不到我的公网IP?
为何在traceroute结果中看不到我的公网IP?
先来看看你提供的这条traceroute输出:
% traceroute google.com traceroute to google.com (142.250.201.78), 64 hops max, 40 byte packets 1 192.168.1.1 (192.168.1.1) 5.003 ms 3.689 ms 3.323 ms 2 100.64.128.1 (100.64.128.1) 7.707 ms 7.667 ms 7.956 ms 3 172.31.27.1 (172.31.27.1) 7.626 ms 7.824 ms 11.714 ms 4 172.31.26.12 (172.31.26.12) 8.736 ms 8.315 ms 8.342 ms 5 172.31.26.25 (172.31.26.25) 8.061 ms 12.453 ms 8.045 ms 6 google.baja.espanix.net (193.149.1.94) 16.864 ms 16.588 ms 16.416 ms 7 142.251.53.181 (142.251.53.181) 18.164 ms 192.178.110.153 (192.178.110.153) 18.587 ms 17.941 ms 8 74.125.37.87 (74.125.37.87) 16.546 ms 16.761 ms 15.827 ms 9 mad07s25-in-f14.1e100.net (142.250.201.78) 15.171 ms 16.899 ms 20.844 ms
你会发现前几跳全是私有IP,咱们一个个说清楚:
192.168.1.1:这就是你家里的路由器,属于常见的内网私有IP段100.64.128.1:这个IP在100.64.0.0/10这个CGNAT(运营商级网络地址转换)网段里,这说明你的运营商正在用CGNAT来节省公网IP资源172.31.27.1、172.31.26.12和172.31.26.25:这些也都是私有IP,属于运营商内部的网络节点
至于为什么看不到你的公网IP,核心原因就是CGNAT:你并没有被分配到一个独立的公网IP,而是和其他用户共享一个公网IP。在traceroute的路径中,运营商的内部私有IP节点之后直接跳到了Google的公网节点,中间没有显示出那个共享的公网IP——因为CGNAT的转换操作是在运营商的网关设备上完成的,这个转换节点不会在traceroute的输出中暴露出来,它只会默默把你的流量转发出去,不会留下跳转记录让你看到。
备注:内容来源于stack exchange,提问作者user1031431
相关产品推荐
相关产品推荐

