通过IP地址估算两台服务器之间的距离

我正在阅读GFS(谷歌文件系统)文件,并有一个声明:

我们的networking拓扑非常简单,可以根据IP地址准确估计“距离”

我很好奇这个实际上可能如何工作,如果有人有任何想法,将不胜感激。

这就是所谓的IP编号计划,并且类似于POTS电话号码如何具有国家代码前缀,区号和本地用户号码,并且不是完全随机分配的。

然后,您可以推断出类似的信息,相同的地区代码在同一个DC中,区域代码+1或-2仍然在附近,或者在同一个DC中可能是不同的象限,区域代码或不同国家代码几乎肯定是长途的。

这不仅仅是“ 同一子网内的所有东西都必须在附近 ”,而是在没有咨询路由表的情况下做出其他唯一安全的假设。

例如,当根据需要的策略分配IP地址范围时,可以得到10.1.2.0/24结束于爱尔兰,10.1.3.0/24在香港,10.1.4.0/24结束于洛杉矶, 10.1.5.0/24在旧金山附近,10.1.6.0/24带您到悉尼。

看起来这篇论文似乎是指组织本身控制的寻址scheme,因此他们确切地知道在哪里使用特定的IP块。 它们可能有类似于与给定数据中心对应的IP块列表,因此可以将源IP地址和目的IP地址与networking块,数据中心和物理地址或GPS坐标相关联。

你也可以做任何类似的IP地址。 有几种Geo-IP服务可以将给定的IP地址定位到城市/州,邮政编码或GPS坐标。 显然有一个错误的余地,因为这些服务无法确切知道IP地址在哪里使用,但大多数情况下,他们会让你closures。 如果你正在计算加利福尼亚的一台服务器和纽约的一台服务器之间的距离,那么绝大多数情况下,误差范围并不会超过那么远的距离,但是如果你想要计算IP北佛罗里达和南乔治亚州的另一个,那么你的结果可能不会那么准确。

公共地理IP服务的另一个缺陷是他们不知道内部networking结构是什么样子,例如,如果总部位于芝加哥的一个组织把他们所有的分支机构通信量通过其私有networking回传,那么你可能会看到亚利桑那州的物理位置似乎是一个芝加哥知识产权。