google.com在不同国家/地区拥有不同的IP。怎么样?


15

如果您从其他国家/地区对google.com进行ping操作,则会收到本地google服务器的答复。这是如何运作的?DNS记录可以有多个A地址吗?有人可以指出我使用的技术吗?

更新。好的,因此Google的DNS服务器会根据位置提供不同的IP。但是,正如Alexandre Jasmin指出的那样,他们如何跟踪位置?他们的DNS肯定不会看到您的IP地址。查询Google DNS的服务器是否保证来自其表示的位置?


Answers:


10

一个DNS名称可能具有多个A记录,然后客户端可以选择任何记录并使用该地址。

不过,这还不是全部,谷歌的DNS服务器还会根据您的IP地址为您提供不同的A记录,以便您可以使用靠近您的服务器。


该死的你!不到一分钟就击败我:) +1
比利·奥尼尔

那么DNS服务器必须专门支持此功能吗?是否有提供此服务的托管公司?
HeavyWave

1
他们通常无法根据您的 IP地址来执行此操作,对吗?DNS请求通常通常首先经过您的ISP DNS服务器,因此Google的DNS服务器实际上不会看到您的 IP
Alex Jasmin 2010年

2
@Alexandre:是的,但是它通常仍然可以工作,因为您的ISP的解析器很可能与您所在的世界相同。但是,它不适用于使用OpenDNS和类似服务的客户端。
马丁2010年

1
@Martin我同意它通常还是可以的。至于OpenDNS,我认为他们使用任播路由,因此取决于他们如何传递请求,它也可以正常工作。
Alex Jasmin 2010年


2

我认为它正在对DNS服务器使用Anycast IP寻址。因此,取决于您是世界的哪个地方,不同的DNS服务器(尽管具有相同的IP地址)将回答您的查询。该服务器将知道哪个IP地址最适合您的位置。


+1,正确,Google(和许多其他大型网络)使用Anycast将请求路由到最近的服务器。多个服务器具有相同的IP,您可以根据BGP中的AS路由获得最接近的IP。
克里斯S

1

Google使用Round Robin DNS。本质上,Google的DNS服务器会根据您的位置更改它提供给您的地址。


5
它并不是真正的Round Robin,因为它专门选择了地理位置最接近的服务器。例如,从法国发出请求时,您永远都不会获得美国Google服务器(假设所有本地服务器都没有死)。

1
@蒂姆·格林-好点子。这个想法是一样的。
Billy ONeal 2010年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.