google.com разные IP в разных странах. Как?

15

Если вы пингуете google.com из разных стран, вы получите ответы с локальных серверов Google. Как это работает? Может ли запись DNS иметь несколько адресов A? Может ли кто-нибудь указать мне на технологию, которую они используют для этого?

Обновить. Итак, DNS-сервер Google выдает другой IP-адрес в зависимости от местоположения. Но, как отметил Александр Жасмин, как они отслеживают местоположение? Конечно, их DNS никогда не увидит ваш IP-адрес. Гарантирует ли сервер, запрашивающий DNS от Google, местоположение, которое он представляет?

HeavyWave
источник
ru.wikipedia.org/wiki/Anycast
Нил Макгиган

Ответы:

10

DNS-имя может иметь несколько записей A, клиенты могут затем выбрать любую запись и использовать этот адрес.

Однако это не вся правда, DNS-серверы Google также предоставляют разные записи A в зависимости от вашего IP-адреса, чтобы вы могли использовать ближайший к вам сервер.

Мартин
источник
Черт тебя подери! Побей меня меньше, чем за минуту :) +1
Билли ONeal
Так DNS-сервер должен поддерживать это специально? Есть ли хостинговые компании, которые предоставляют это?
HeavyWave
1
Они не могут вообще сделать это в зависимости от вашего IP-адреса, верно? DNS-запросы обычно сначала проходят через DNS-сервер вашего провайдера, поэтому DNS-серверы Google на самом деле не увидят ваш IP
Алекс Жасмин
2
@Alexandre: да, но обычно все равно работает, так как распознаватель вашего интернет-провайдера, скорее всего, находится в той же части мира, что и вы. Это не будет работать для клиентов, использующих OpenDNS и подобные сервисы.
Мартин,
1
@ Мартин, я согласен, что обычно все равно работает . Что касается OpenDNS, я думаю, что они используют anycast-маршрутизацию, поэтому она также может работать в зависимости от того, как они передают запрос.
Алекс Жасмин
2

Я думаю, что использует Anycast IP-адресацию для DNS-серверов. Таким образом, в зависимости от того, в какой части мира вы находитесь, другой DNS-сервер (хотя и с тем же IP-адресом) ответит на ваш запрос. И этот сервер будет знать, какой IP-адрес лучше всего подходит для вашего местоположения.

Яцек Конечны
источник
+1, правильно, Google (и многие другие крупные сети) используют Anycast для маршрутизации запросов к ближайшему серверу. Несколько серверов имеют один и тот же IP-адрес, и вы получаете ближайший по маршрутам AS в BGP.
Крис С
1

Google использует Round Robin DNS . По сути, DNS-сервер Google меняет адрес, который он вам дает, в зависимости от вашего местоположения.

Билли ОНил
источник
5
Это не совсем Round Robin, потому что он специально выбирает ваши географически ближайшие серверы. Например, вы никогда не получите американские серверы Google при отправке запроса из Франции (при условии, что все локальные серверы не умерли).
1
@ Тим Грин - хорошая мысль. Идея такая же, хотя.
Билли ONEAL