和所有互联网用户一样,我访问过一些网站,它们似乎知道我位于哪个国家和城市。我知道这些网站通常会在数据库中查找我的 IP 地址,该数据库将 IP 地址映射到国家/城市,效果相当好。我也看到过一些公司出售这种类型的数据库。
这个将 IP 地址映射到国家 / 城市的数据库最初是如何创建的?
是否有一个中央数据库,每个 ISP 都会在其中注册 IP 地址与国家/城市之间的关联?或者销售地理位置数据库的公司会联系不同的 ISP 并从他们那里购买地图信息?或者是否有某个高于 ISP 的组织负责跟踪这些信息?
答案1
您的 ISP 会为您提供 IP 地址。他们拥有一组 IP 地址,这些地址以某种方式来自互联网号码分配机构。
购买这些 IP 块的企业具有可以帮助进行地理位置定位的实际位置/地址。(这之所以有帮助,是因为例如,他们可以将 IP 地址分发给居住在不同地理区域的人)
但平均而言,这种方法通常是有效的。
此外,ISP 可能有自己的 DNS 服务器。当您导航到该网站时,ISP 的 DNS 服务器会帮助您的浏览器到达那里。该 DNS 服务器还拥有一个由 ISP 拥有和注册的公共 IP 地址。
最后,我认为它通常归结为在 IANA 注册的 IP 地址所有者的地址。
答案2
在 WikiPedia 上找到一些答案:
有许多免费和付费的地理位置数据库,范围从国家/地区到州或城市(包括邮政编码级别),每个数据库的准确性各不相同(国家/地区级别的准确性通常更高)。这些数据库通常包含 IP 地址数据,可用于防火墙、广告服务器、路由、邮件系统、网站和其他可能对地理位置有用的自动化系统。托管和查询数据库的替代方法是通过从远程服务器进行 DNSBL 样式的查找来获取给定 IP 地址的国家/地区代码。
一些商业数据库已经利用人口统计数据增强了地理定位软件,从而能够使用 IP 地址数据进行人口统计类型定位。
IP 地址数据的主要来源是区域互联网注册机构,它们在各自服务区域内的组织之间分配和分发 IP 地址:
- 非洲网络信息中心(AfriNIC)
- 美国互联网号码注册中心 (ARIN)
- 亚太网络信息中心(APNIC)
- 拉丁美洲和加勒比互联网地址注册局 (LACNIC)
- RIPE 网络协调中心 (RIPE NCC)
次要来源包括:
- 数据挖掘或用户提交的地理位置数据。例如,天气网站可能会要求访问者输入城市名称以查找当地天气预报。另一个示例是将用户的 IP 地址与其帐户资料中的地址信息配对。
- 互联网服务提供商提供的数据。
- 合并来自不同供应商的数据库。
- 根据相邻的 C 类范围进行估计和/或从网络跳跃中收集。
准确度通过以下方式提高:
- 数据清理以过滤或识别异常。
- 对用户提交的数据进行统计分析。
- 利用信誉良好的机构进行的第三方测试。
来源:https://en.wikipedia.org/wiki/Geolocation_software#Data_sources
答案3
来源维基百科:http://en.wikipedia.org/wiki/W3C_Geolocation_API#How_does_Geolocation_work.3F
虽然没有指定实现,但 W3C Geolocation API 是基于现有技术构建的,并且深受 Google Gears Geolocation API 的影响。例如:Firefox 的 Geolocation 实现[7] 使用 Google 的网络位置提供商。[8] Google Gears Geolocation 的工作原理是将一组参数发送到网络位置提供商服务器,这些参数可以提示用户的实际位置,默认情况下,该服务器由 Google 提供 (code.l.google.com)。[9] 一些参数是检测到的移动基站和 Wi-Fi 网络的列表,均带有检测到的信号强度。这些参数被封装到 JavaScript 对象表示法 (JSON) 消息中,并通过 HTTP POST 发送给网络位置提供商。根据这些参数,网络位置提供商可以计算出位置。此位置信息的常见用途包括强制访问控制、本地化和自定义内容、分析流量、上下文广告和防止身份盗用。[10]