原始geoip数据来自哪里?

时间:2017-11-08 17:38:06

标签: geolocation

此问题是更具体问题asked here的一般版本。但是,这些答案无法使用。

问题: geoIP数据的原始来源是什么?

许多网站会告诉我我的IP在哪里,但他们似乎都使用少于5家公司的数据库(大多数使用MaxMind的数据库)。这些公司提供有限的免费版本的数据库,但我试图确定他们的源数据使用了什么?

  • 我尝试过使用Linux / Unix命令,例如ping,traceroute,dig,whois等,但他们没有提供可预测的准确信息。

1 个答案:

答案 0 :(得分:3)

序言:我认为这对于SO网站来说实际上是一个非常有效的问题,因为了解这些事情的工作原理对于理解如何在软件中使用这些数据集非常重要。然而,这个问题的答案相当复杂,充满了历史性的评论。

首先 - 值得一提的是,没有统一的原始geoip数据。这样的事情就不存在了。第二 - 这方面的数据来自多种资源,往往不可靠和/或过时。

要了解如何才能了解互联网是如何在全球范围内存在并传播的。简短摘要如下:

  1. IANA是一个全球[非营利组织],负责管理向区域组织分配IP块:https://www.iana.org/numbers这可以根据请求和区域组织请求指定的块大小进行管理
  2. 区域组织可以将这些IP块直接分配给ISP或国家级子组织(然后将其分配给ISP)。
  3. ISP为本地分支机构等分配IP地址。
  4. 从上面你可以很容易地看到:

    1. 没有一个机构负责向此地点或该地点分配IP块
    2. 决定如何(以及是否)发布有关哪个IP属于哪个位置的信息不是统一的,而是每个组织决定如何(以及是否根本)发布该信息
    3. 以上所有都造成了很多混乱。获取,聚合和排序这些数据需要花费很多精力和很长时间。这就是为什么大多数最新和详细的geoip数据集都是commercial commodity

      任何接受构建自己的数据集挑战的人都应该能够直接从最终用户(ISP)获取此信息,因为更高级别的组织不知道每个IP地址将分配到哪个位置。更高级别的组织只有distribute申请人之间的IP阻止(并保留一些保留以便更快地处理),并且它是最低级别的组织,他们决定哪个位置获得哪个IP地址,并且他们没有义务公开发布此信息。

      <强> UPD: 要开始构建自己的数据集,您可以从this list of blocks and how they are assigned

      开始