Перш за все, VRRP жодним чином не залежить від DNS. Для надмірності на одному веб-сайті ви можете запустити DNS-сервери за спільною VRRP-адресою.
Але, як згадували інші у коментарях, сервіси також використовують маршрутизацію anycast , що по суті означає, що однакова IP-адреса існує у багатьох місцях по всьому світу. Коли весь сайт знижується, маршрути в усьому світі перераховуються, щоб ваші пакети переходили на інший робочий сайт.
Кращий приклад , ніж суспільне DNS Google, буде в кореневій DNS - сервери - ті , які служать .
зони і утримання покажчики com
, org
, eu
і так далі - тому що вони мають карту кожного примірника 13 логічних адрес. "L" ICANN обслуговується 160 різних сайтів!
Зауважте, що anycast не має нічого спільного з круглими роботами на основі DNS (де однойменна назва має декілька адрес). Anycast робиться по суті, лежачи на протоколі маршрутизації.
В Інтернеті використовується BGP для обміну інформацією про маршрутизацію між організаціями.
BGP по суті підтримує вибір найкращого з декількох маршрутів до однієї мережі на основі різних критеріїв. Наприклад, той самий клієнт може мати надмірні посилання на той самий провайдер (оголошуючи про два маршрути, що відрізняються лише вагою / перевагою). Або клієнт може мати посилання через кілька Інтернет-провайдерів, і кожен обере свій бажаний маршрут (головним чином, найкоротший AS-шлях) - ось суть "справжнього" мульти WAN.
Multihoming
┌────────[AS 65535]────────┐
client 1 ---ISP---│--BGProuter--+ │
¦ │ ¦--DNSserver │
client 2 ---ISP---│--BGProuter--+ │
└──────────────────────────┘
Однак BGP приводить трафік лише до ваших вхідних дверей, але не байдуже, що відбувається поза цим. Отже, якщо ви внутрішньо налаштували обидва маршрути до одного сервера, ви отримаєте мультихомінг. Але якщо кожен "вхід" веде до іншого сервера (налаштованого на один і той же IP), ви отримуєте anycast.
Anycast... kind of?
┌────────[AS 65535]────────┐
client 1 ---ISP---│--BGProuter-----DNSserver │
¦ │ │
client 2 ---ISP---│--BGProuter-----DNSserver │
└──────────────────────────┘
Що важливо, це також означає, що BGP не хвилює, якщо AS зовсім не суміжний. Щоб отримати надмірність у всьому світі, просто оголосіть одну і ту ж мережу з кількох фізичних місць - якщо ви з'єднаєте ці локації разом (щоб вони направляли цю мережу в одне місце), ви отримуєте мультихомінг; якщо вони острови, ви отримуєте anycast.
Anycast
┌────────[AS 65535]────────┐
client 1 ---ISP---│--BGProuter-----DNSserver │
¦ └──────────────────────────┘
¦
¦ ┌────────[AS 65535]────────┐
client 2 ---ISP---│--BGProuter-----DNSserver │
└──────────────────────────┘
(З цього приводу навіть не потрібно бути однаковим АС - наприклад, реле 6to4 управляються декількома незалежними організаціями, кожна з яких оголошує свій власний маршрут 192.88.99.0/24
.)
Застереження:
Anycast забезпечує надмірність, але не балансування навантаження. Після зближення BGP кожен маршрутизатор обрає один бажаний маршрут (або іноді кілька) і продовжить використовувати його до тих пір, поки мережа не зміниться.
Однак ви не можете передбачити, як довго маршрути залишатимуться стабільними, тому будь-які трансляції державних послуг можуть бути складними. DNS позбавляється від нього через відсутність стану та використання в основному UDP (EDNS зменшив потребу в TCP-з'єднаннях).
Повинно бути координація між фактичним сервісом та маршрутизатором BGP, щоб маршрут був відкликаний, якщо служба виходить з ладу.
Дивіться також "Історія 4.2.2.2. Про яку історію?" у списку розсилки NANOG: повідомлення 1 , повідомлення 2 .