Назад | Перейти на главную страницу

Как Google каждый раз возвращает новую запись A?

Я использовал инструмент поиска DNS, чтобы найти Name Server и A Records записи для www.google.com

Вот что там сказано

www.google.com results

ns2.google.com

IN  172.217.15.68

Он показал одну запись A, а записи CNAME не были найдены. Но когда я решил www.google.com из разных сетей он вернул мне разные IP-адреса. Как они это делают? Они используют DNS Round Robin? Но как же тогда я нашел только одну пластинку А?

$ dig www.google.com +short
172.217.21.164

$ dig www.google.com +short
216.58.211.4

$ dig www.google.com +short
172.217.20.36

Думаю, я понял это, поэтому поделюсь с другими, кому может быть интересно, как это работает.

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

Вот почему каждый раз, когда вы выполняете поиск в DNS для www.google.com (или из разных мест по всему миру), вы получаете другой адрес A IPv4 (или несколько адресов). Таким образом они уравновешивают нагрузку, а затем могут еще больше уравновесить ее. Это похоже на "Round Robin DNS" на стероидах.

Это небольшая картинка, которую я собрал, чтобы проиллюстрировать ее. Итак, ваш компьютер (или маршрутизатор) спрашивает DNS-сервер Resolver, для чего нужна запись A. www.google.com есть, и если он не хранится в кеше, он свяжется с Root DNS server и спроси это. Он вернет IP-адрес .com DNS-сервер, чтобы Resolver DNS запросил сервер имен .com. DNS-сервер .com вернет адрес DNS-серверов Google. ns.google.com. Потом идет и спрашивает. Он (видя, что вы из Европы / Азии / Америки) вернет вам IP-адреса ближайших к вам серверов. И затем DNS-сервер Resolver будет циклически случайным образом возвращать эти записи вам, и ваш клиент начнет с выбора первой из этого списка. Я думаю, если он не будет доступен, он выберет следующий и так далее.

Пожалуйста, поправьте меня, если я где-то ошибаюсь.