Как сбалансируется нагрузка по одному IP-адресу?


21

Мне известно о балансировке нагрузки "Round Robin DNS", но как можно сбалансировать нагрузку по одному IP-адресу?

DNS-серверы Google, например, 8.8.8.8и 8.8.4.4. В статье по балансировке нагрузки Википедии говорится:

Для интернет-служб балансировщик нагрузки обычно представляет собой программное обеспечение, которое прослушивает порт, к которому внешние клиенты подключаются к службам доступа. Балансировщик нагрузки перенаправляет запросы на один из «внутренних» серверов, который обычно отвечает на балансировщик нагрузки.

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


IP маскарад / NAT? Спрятать всю сеть за одним IP
Даниэль В.

Ответы:


32

http://en.wikipedia.org/wiki/Anycast

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

...

Почти все корневые серверы имен в Интернете реализованы в виде кластеров узлов, использующих произвольную адресацию. 12 из 13 корневых серверов AM существуют в нескольких местах, с 11 на нескольких континентах. (Корневой сервер H существует в двух местоположениях в США. Корневой сервер B существует в одном неуказанном месте.) 12 серверов с несколькими местоположениями используют объявления с произвольным адресом для предоставления децентрализованной услуги. Это ускорило развертывание физических (а не логических) корневых серверов за пределами США. RFC 3258 документирует использование произвольной адресации для предоставления авторитетных услуг DNS. Многие коммерческие DNS-провайдеры переключились на среду IP-вещания, чтобы повысить производительность запросов, избыточность и реализовать балансировку нагрузки.


5
Anycast - сложная тема, но DNS работает (в основном) по UDP, что делает anycast-рассылку относительно простой. Для anycast TCP-сервис требует очень специализированной настройки сети, или клиенты, которые могут терпеть разрыв своего соединения при любом изменении маршрутов.
Хоббс

В вопросе конкретно упоминаются отдельные IP-адреса, что делает этот ответ не относящимся к вопросу.
Tuncay Göncüoğlu

@ TuncayGöncüoğlu: пожалуйста, смотрите мой комментарий к вашему подобному заявлению ниже.
MadHatter поддерживает Монику

3
@ TuncayGöncüoğlu В вопросе упоминается 8.8.8.8, который представляет собой один IP-адрес, который будет перенаправлен на один из многочисленных центров обработки данных Google с использованием anycast. То, что вы не знаете о anycast, не означает, что его не существует, и я привел ссылки на исходные материалы, если вы хотите узнать об этом.
ceejayoz

0

Балансировка нагрузки службы на одном (или нескольких) ip не имеет ничего общего с разрешением DNS. Он работает с маршрутизатором (или сервером, выполняющим роль маршрутизатора), прослушивая порт на внешнем интерфейсе, который распространяется как отдельный сервер, например, www.someplace.com, затем перенаправляет этот трафик на внутренние серверы, балансируя их правила, определенные в его собственной настройке. Таким образом, клиент всегда подключается к маршрутизатору балансировки нагрузки, и после этого трафик распространяется только на внутренние серверы, в отличие от балансировки round-robin-dns, когда клиенты подключаются напрямую к одному из серверов, на которые он ссылается через DNS.


1
Из моего ответа «RFC 3258 документирует использование произвольной адресации для предоставления авторитетных услуг DNS». www.google.comэто, безусловно, не "один сервер".
ceejayoz

1
это был просто пример для адреса.
Tuncay Göncüoğlu

@ceejayoz Я также чувствую, что ваш ответ на самом деле не связан с вопросом. Вопрос был об одном IP-адресе, а не о перенаправлении на ближайший узел, у которого будет другой ip.
Tuncay Göncüoğlu

3
@ TuncayGöncüoğlu: последнее утверждение неверно. DNS от Google, вероятно, самая известная служба anycast в Интернете, действительно работает на нескольких сайтах по всему миру, используя один IP-адрес. Вы правы в том, что существуют решения для одного сайта, которые предлагают несколько серверов за одним IP-адресом без какой-либо рассылки, и вы описываете это значительно выше, но, поскольку ОП задал конкретный вопрос 8.8.8.8, я считаю, что ответ ceejayoz трудно ошибать.
MadHatter поддерживает Монику
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.