文章内容

2021/1/27 17:34:19,作 者: 黄兵

如何通过IP地址确定地理位置的

这篇文章主要讲解了如何通过IP地址来确定地理位置的,有兴趣的可以看看:IP Geolocation Demystified

互联网是一个分组交换的分层网络,类似于世界各地的常规包裹邮资网络。当设备连接到Internet并希望与另一个设备(例如网站)通信时,它会向目标地址发送数据包。如果源直接连接到目的地,则数据包直接到达目的地。在几乎所有情况下,情况并非如此,必须使用可确保全局连接的网络路由器设备来路由数据包。

此路由过程几乎与常规包裹邮寄服务相同。例如,如果将包裹从南澳大利亚的诺伍德发送到美国科罗拉多州的丹佛,则该包裹首先会被当地的邮局(大概是在Norwood SA)接收。然后检查包裹,由于目标目的地/地址不在邮局的送达范围内,因此包裹将被路由到较高的枢纽,例如南澳大利亚州阿德莱德的较大区域性邮政枢纽(本州首府) )。这样的大型枢纽(特别是如果他们可以使用国际机场)可以使用其他预先定义的策略,例如:“如果包裹要运往美国,或更具体地说是运往美国科罗拉多州,该怎么办?如果没有从该枢纽定义适当且直接的国际路线,该包裹将被进一步转运到同一国家(也许是新南威尔士州的首府悉尼)具有必要的,确定的国际路线的另一个枢纽。从那里,它被重定向到美国土壤上的一个枢纽,据推测是一个很大的枢纽,但即使在科罗拉多州,也不一定。它将再次重定向到更近的地方,直到到达最接近的邮政局,为最终目的地/地址服务。只有这样,它才最终交付给接收者。

在这种情况下,可以清楚地理解:

  • 每个邮递中心/邮局都有自己的预定义路由策略。
    有些可以接受邮寄并直接交付给收件人(最终用户),而其他一些则只能分类并重定向到同一国家/地区的其他中心。
    有些人可能会重定向到其他国家。
    有些人可能会完成所有这些任务。
  • 每个将包裹递送给收件人的邮递中心/邮局都有其自己的预定义服务范围。
  • 交付链中的最后一个邮局实际上是离目的地最近的邮局。
  • 我们可以高精度地假设,如果一个人在科罗拉多州丹佛市接受包裹递送,他/她将在该地区居住或工作。

可以将相同的逻辑应用于Internet。国家或州在互联网上表示为自治系统(AS)。路由器与邮递中心/邮局完全一样地参与了交付链。有些负责在其目的地(访问或聚合路由器)为客户提供服务,而另一些负责在同一AS(核心路由器)内重定向流量,而另一些负责入站和出站额外AS流量(边缘或边界路由器)。其他人可以做所有事情(多功能路由器)。自治系统(AS)与包裹递送网络中的国家/州相同,并使用一些预定义但动态且灵活的策略进行互连-由边界路由器网关(BGP)协议提供支持。

使用邮资示例作为类比,如果发生以下情况,我们可以高度自信地确定每个IP地址的地理位置:

  • 我们设法识别和分类Internet上所有面向公众的网络路由器;
  • 我们确定这些服务的实际服务范围是什么;
  • 我们知道互联网上其余IP地址中的每个IP地址最后一个服务路由器。
  • 最后,了解最接近的路由器接口及其预期的服务区域,我们能够估算出世界上每个可达IP地址的位置可能性。

 以上来源于:The Next Generation IP Geolocation service


分享到:

发表评论

评论列表