Anycast
Коротко: Тип передачи, при котором один и тот же адрес назначения предлагают несколько серверов в разных местах, а запрос автоматически направляется к ближайшему в сетевом смысле.
Подробнее: Часто применяется для глобально распределённых корневых серверов DNS или инфраструктуры CDN: пользователи в Европе и США обращаются к одному IP-адресу, но в зависимости от маршрутизации автоматически попадают в ближайший дата-центр, что снижает задержку и распределяет нагрузку.
Подробности
- Как это работает: Один и тот же IP-адрес одновременно объявляется по BGP несколькими физически раздельными серверами в разных местах. Каждый маршрутизатор сам решает, по какому пути пересылать пакет, чаще всего по «длине AS-пути» BGP, а не по географическому расстоянию. С точки зрения клиента это по-прежнему обычное соединение с одним IP.
- Примеры: Резолверы DNS Cloudflare
1.1.1.1и Google8.8.8.8объявляются из десятков–сотен мест по всему миру. 13 «адресов» корневых серверов DNS (A–M) тоже на деле адреса anycast, за каждым из которых сотни физических серверов. - Преимущество перед балансировкой на основе DNS: При отказе площадки она просто перестаёт объявлять маршрут по BGP, и трафик за секунды перенаправляется на следующую; клиентам не нужно обновлять кэш DNS (TTL).
- Ограничения: Подходит для служб без состояния или хорошо реплицируемых (резолверы DNS, периферийные серверы CDN, защита от DDoS). Если у службы долгоживущее состояние сессии (например, идущая загрузка файла), смена цели из-за обновления BGP оборвёт соединение. В защите от DDoS атакующий трафик распределяется по десяткам мировых площадок.
См. также: Unicast, Multicast, балансировка нагрузки, DNS