hostprofi.ru
Подобрать хостинг
Термин·буква A

Anycast

краткое определение

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

Anycast — метод адресации и маршрутизации в IP-сетях: группа серверов в разных точках мира использует один и тот же IP-адрес. Интернет-маршрутизаторы направляют трафик к «ближайшему» узлу по метрике BGP (обычно наименьшее количество AS-переходов). Пользователь получает ответ от географически близкого сервера, не зная о существовании остальных. На anycast работает система DNS корневых серверов и большинство крупных CDN.

Как работает anycast

Каждый anycast-узел анонсирует один и тот же IP-префикс через BGP. Маршрутизаторы ISP выбирают путь с наименьшим AS-path к данному префиксу. При отказе одного узла он прекращает BGP-анонс, и в течение нескольких секунд (время сходимости BGP) трафик автоматически перенаправляется к следующему ближайшему узлу. Это обеспечивает высокую доступность без явного failover.

Cloudflare использует anycast для своей сети: более 300 точек присутствия анонсируют одни и те же IP (1.1.1.1, 104.x.x.x). Пользователь в Москве подключается к московскому PoP, а пользователь в Токио — к токийскому, хотя оба делают запрос на одни и те же IP-адреса.

Anycast vs Unicast vs Multicast

ТипПолучательПрименение
UnicastОдин конкретный хостHTTP, SSH, большинство протоколов
MulticastГруппа подписчиковIPTV, потоковое видео в LAN
AnycastБлижайший из группыDNS, CDN, DDoS-защита
BroadcastВсе в подсетиARP, DHCP discovery

Применение anycast

DNS-корневые серверы (13 адресов, A–M) используют anycast с 2002 года: физически их более 1500 по всему миру. Anycast DNS: 1.1.1.1 (Cloudflare), 8.8.8.8 (Google), 9.9.9.9 (Quad9) — anycast-адреса с глобальным охватом. CDN: Cloudflare, Akamai, Fastly строят anycast-сеть для минимизации задержек. DDoS-защита: anycast распределяет flood-трафик между узлами — ни один узел не перегружается полным объёмом атаки.

История

Anycast для DNS предложен в RFC 1546 (1993). Первое масштабное внедрение — anycast для F-корневого DNS-сервера (2002). Cloudflare запустила глобальную anycast-сеть при основании в 2010 году. Anycast DNS-разрешитель 1.1.1.1 запущен 1 апреля 2018 года.

Anycast и UDP: ограничения

Anycast хорошо работает с UDP-протоколами (DNS, NTP) и stateless-HTTP-запросами. Для TCP-сессий anycast проблематичен: если BGP-маршрутизация изменится в середине TCP-сессии (например, при failover узла), сессия разрывается. Поэтому long-lived TCP-соединения (WebSocket, gRPC streaming) не стоит строить поверх anycast. Cloudflare решает проблему через Argo Tunnel: клиентские QUIC-сессии завершаются на anycast edge, а внутри сети используются стабильные TCP-туннели к origin. Для DNS это не проблема — каждый запрос независим, UDP, без состояния.

Anycast DDoS-защита

Anycast-инфраструктура — один из лучших механизмов поглощения DDoS-атак. Cloudflare anycast-сеть (300+ узлов, суммарная ёмкость >100 Тбит/с) поглощает volumetric DDoS: атака 500 Гбит/с распределяется по 300 узлам, каждый обрабатывает ~1,7 Гбит/с — ничто по сравнению с пропускной способностью узла. Akamai Prolexic, Imperva — коммерческие anycast-DDoS-защиты. Для Anti-DDoS хостинга: провайдеры анонсируют IP клиента из своей anycast-сети во время атаки, трафик «тянется» к мощным scrubbing-центрам, очищенный трафик туннелируется к реальному серверу.

Ограничение anycast: нельзя использовать для сессионных TCP-протоколов с долгой жизнью. Для anycast DNS это не проблема (UDP, stateless). Для anycast HTTP (CDN) — работает через QUIC/HTTP3, который поддерживает connection migration при смене маршрута.

Другие термины