我检索了我的公共 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 结果:
[...]
79.116.123.0 - 79.116.123.255
[...]
route: 79.116.0.0/16
然后我跟踪路由到 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 网络中难道不应该至少有一个路由器/节点吗?
谢谢大家!
答案1
处理您的公共 IP 地址的 NAT 网关以及其后的下一跳路由器也有它们使用的其他 IP 地址。路由器始终有多个 IP 地址。只要它们从可以到达您的设备的 IP 地址发送 ICMP 超时消息,一切就都正常。没有规则规定路由器必须根据有问题的数据包的源或目标 IP 地址从某些地址发送 ICMP 错误消息。
答案2
Digi Spain Telecom 拥有多个 IP 范围。您可以在 ipinfo.io。
您的踪迹仅在 进入 Digi Spain Telecom 的已知范围
91.232.81.211
。要到达那里,它会经过另一家 ISP,即81.196.118.208
罗马尼亚的 RCS & RDS Business。
所有以 开头的 IP172.*
似乎都是某个 NAT 网络内的本地 IP。这些 IP 地址属于互联网的私有或保留 IP 地址空间,因此不能用作互联网公共 IP。
事实上,显示的跳数traceroute
显示了 IP 数据包在路由(第 3 层)网络上所走的路径。路由器会显示出来,但交换机不会。
更详细地说,作为第 2 层设备的交换机使用 MAC 地址传递以太网帧。有些交换机是“第 3 层交换机”,能够充当路由器,但即使是第 3 层交换机也不一定会出现在 traceroute 中。
如果 ISP 本地网络内的流量使用未在 traceroute 中显示的第 2 层或第 3 层交换机,这可能解释了为什么您的 traceroute 缺少此网络内的节点,并且您只能在 traceroute 数据包退出后看到节点。
进一步而言,您的 ISP 可能正在将业务分包给另一家名为 RCS & RDS Business 的 ISP,这进一步增加了混乱。