← 返回博客

IPv6 地理定位精度为何仍落后于 IPv4

IPv6 地理定位精度为何仍落后于 IPv4

IPv6 地理定位的精度通常低于 IPv4,且一致性更差,原因是 IPv6 地址以非常大的前缀分配,在客户端设备上频繁变化,而且用于积累位置数据库所依赖的测量数据的时间要短得多。

这并不意味着 IPv6 查询毫无用处。国家级答案通常可靠,网络归属也是准确的,因为它来自注册数据。较弱的是城市级精度,这正是开发者容易感到意外的地方。本文说明其成因,以及在应用中该如何应对。

为什么 IPv6 位置数据更难构建

IPv4 地址是单一的稀缺资源,因此服务商和网络往往把它划分为小而地理上整齐的地址块,测量项目也有几十年时间来绘制它们。IPv6 则颠覆了这种经济逻辑。家庭用户通常获得 /56 或 /64 前缀,仅它本身包含的地址数量就超过整个 IPv4 互联网,而 ISP 持有的分配大到可以用一次宣告覆盖整个国家。

由此产生几个后果。第一,一个大的 IPv6 地址块可以为许多城市的客户提供服务,因此将整个地址块只对应一个位置的数据库,对其中大多数客户来说都是错的。第二,根据延迟、路由数据或用户提交的更正来推断位置的策略,每个前缀的样本更少。第三,前缀内部的编号与地理之间没有任何可靠的联系:两个相邻的 /48 地址块可能分配给位于一国两端的客户。

地址空间极度稀疏同样重要。在 IPv4 中,你有理由期望观察到很大比例的活跃地址。在 IPv6 中,几乎每个地址都只对应某一时刻的某一台设备,因此数据库必须从前缀而非单个主机进行泛化。

隐私地址、移动网络与隧道

客户端设备出于隐私考虑通常会轮换临时 IPv6 地址,因此同一部手机在一天之内可能在同一前缀下以许多不同地址出现。这对用户有利,但意味着任何试图记住具体地址的方法都很脆弱。保持稳定的是前缀,好的查询是在这一层面工作的。

移动运营商增加了又一层不确定性。手机流量通常在区域网关处离开运营商网络,因此你看到的地址对应的是网关所在区域,而不是手机的位置。运营商级 NAT 之后的 IPv4 也是如此,但 IPv6 移动前缀往往很大,并且在广阔区域内共享。企业网络、VPN 和 IPv6 隧道代理还可能宣告在一个国家注册的前缀,而流量却来自另一个国家。我们的文章为什么 IP 位置描述的是网络而非个人对这一推理有详细说明。

最后,注册数据滞后于现实。在公司或地区之间重新分配的前缀,可能在一段时间内仍保留原来的注册国家,因此请把注册国家当作有力的提示,而不是用户所在位置的证明。

IPv6 上哪些可靠,哪些不可靠

可靠的有:起源 AS、持有该前缀的组织、注册国家,以及该前缀是否属于保留或文档用途范围。这些事实来自路由和注册数据,不依赖于猜测设备在哪里。近似的有:城市、地区、时区以及任何坐标。请把这些当作该网络所服务区域的指示,而不是街道地址。

ipto 的 IP 查询同时接受 IPv4 和 IPv6,并为两者返回相同的字段,包括国家、城市、ASN、组织以及 is_vpn、is_tor、is_abuser、is_datacenter 和 bogon 标志。IPv6 范围和 ASN 数据集与 IPv4 的一起以尽力而为的方式构建,并每天刷新,因此 IPv6 的覆盖可能比 IPv4 更薄,缺少城市字段是你应当处理的正常情况。我们不对任一协议声称具体的精度百分比,如果有人在不说明其测试集的情况下给出这样的数字,你也应当保持怀疑。

围绕不确定性进行设计

对双栈应用行之有效的实用规则:

  • 将国家用于合规类决策,而仅将城市用于软性个性化,例如默认的天气位置或预填的表单字段。
  • 优先将 ASN 和组织作为信号。ASN 查询会显示某个网络的所有者和宣告的范围,这在不同协议版本之间是稳定的。
  • 当你需要某个前缀的注册分配、联系人和日期,而不是猜测时,运行基于 RDAP 的 whois 查询。
  • 当存在主机名时检查反向 DNS,因为运营商和托管公司有时会在其中编码城市或机场代码。仅将其视为提示。
  • 允许用户更正自己的位置,并将更正存储在账户上,而不是地址上。
  • 对 IPv6 按前缀而不是按单个地址缓存,因为一个 /64 通常属于单个订户或站点。

用你自己的流量测试。从日志中取出一天的 IPv4 和 IPv6 地址(其中真实位置已知,例如已完成订单上的收货地址)并进行比较。你测得的差距才是对你的产品真正重要的数字,而且它会因国家和运营商构成而异。

直截了当的答案

IPv6 前缀以可能跨越许多城市的超大块分配,客户端地址出于隐私而轮换,而且数据库在每个前缀上积累的测量数据较少。国家和网络归属仍然可靠,城市精度则较差。
支持。IP 查询接受 IPv4 和 IPv6 地址,并返回国家、城市、ASN、组织以及 is_vpn 和 is_tor 等标志。IPv6 的城市覆盖可能较薄,因此应妥善处理缺少城市字段的情况。
起源 ASN、持有前缀的组织和注册国家来自路由和注册数据,因此最为可靠。城市、地区和坐标是近似值,只应用于低风险的决策。
← 返回博客