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

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

我正在阅读GFS(Google文件系统)论文,其中有这样一句话:

我们的网络拓扑足够简单,可以根据 IP 地址准确估算“距离”

我很好奇这在实践中如何实际发挥作用,如果有人有任何想法我将不胜感激。

答案1

这被称为 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 则可以带您一路到达悉尼。

答案2

看起来这篇论文指的是组织本身控制的寻址方案,因此他们确切知道特定 IP 块的使用位置。他们可能拥有与给定数据中心相对应的 IP 块列表,因此可以将源和目标 IP 地址与网络块、数据中心和物理地址或 GPS 坐标关联起来。

您还可以对任何 IP 地址执行类似操作。有几种 Geo-IP 服务可以将给定的 IP 地址定位到城市/州、邮政编码或 GPS 坐标。显然,存在误差,因为这些服务无法确切知道 IP 地址的使用位置,但大多数情况下它们会让您接近。如果您尝试计算加利福尼亚州的服务器和纽约市的服务器之间的距离,那么大多数情况下,误差幅度不会超过这么远的距离,但如果您尝试计算北佛罗里达州的 IP 和南乔治亚州的另一个 IP 之间的距离,那么您的结果可能不会那么准确。

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

相关内容