google.com різні IP-адреси в різних країнах. Як?


15

Якщо ви перейдете на сторінку google.com з різних країн, ви отримаєте відповіді з локальних серверів google. Як це працює? Чи може запис DNS мати декілька адрес A? Чи може хтось вказати мені на технологію, яку вони використовують для цього?

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


Відповіді:


10

Ім'я DNS може мати кілька записів A, клієнти можуть вибирати будь-яку запис і використовувати цю адресу.

Це не вся правда, але DNS-сервери Google також дають вам різні записи A залежно від вашої IP-адреси, щоб ви могли використовувати близький вам сервер.


Чорт ти! Побийте мене менше ніж за хвилину :) +1
Біллі ONeal

Отже, сервер DNS повинен спеціально підтримувати це? Чи є хостинг-компанії, які це надають?
HeavyWave

1
Вони, як правило, не можуть це зробити, залежно від вашої IP-адреси? Запити DNS зазвичай проходять через ваш DNS-сервер ISP спочатку, тому DNS-сервери Google насправді не побачать ваш IP
Алекс Жасмін

2
@Alexandre: так, але, як правило, це працює в будь-якому випадку, оскільки резолюція вашого провайдера, швидше за все, знаходиться в тій же частині світу, що і ви. Він не працює для клієнтів, які використовують OpenDNS та подібні сервіси.
Мартін

1
@Martin Я погоджуюсь, що це все одно працює . Щодо OpenDNS, я думаю, що вони використовують маршрутизацію anycast, щоб вона могла працювати так само залежно від способу передачі запиту.
Алекс Жасмін


2

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


+1, Правильно, Google (і багато інших великих мереж) використовують Anycast для маршрутизації запитів до найближчого сервера. Кілька серверів мають один і той же IP, і ви отримуєте найближче за маршрутами AS в BGP.
Кріс S

1

Google використовує Round Robin DNS . По суті, DNS-сервер Google змінює адресу, яку він дає вам, залежно від вашого місцезнаходження.


5
Це дійсно не Round Robin, оскільки він спеціально вибирає ваші географічно найближчі сервери. Наприклад, ви ніколи не отримаєте американські сервери Google, коли подаєте запит з Франції (якщо всі місцеві не загинули).

1
@Tim Green - хороший момент. Ідея однакова.
Біллі ONeal

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.