linuxlab.io
Учебники▾
  • Линукс и сети
    Файловая система, процессы, TCP/IP, BGP и OSPF
    →
  • Terraform и IaC
    HCL, state, plan/apply на sandbox LocalStack
    →
  • Git и GitHub
    Объектная модель, plumbing, ветвление, GitHub Actions
    →
Все учебники →
ЦеныО платформеВойтиСоздать аккаунт
/
Intro
Lessons
Footer
linuxlab-УчебникиЦеныО платформеКонфиденциальность и куки
Copyright © 2026 LinuxLab. Все права защищены.
linuxlab.io
Учебники▾
  • Линукс и сети
    Файловая система, процессы, TCP/IP, BGP и OSPF
    →
  • Terraform и IaC
    HCL, state, plan/apply на sandbox LocalStack
    →
  • Git и GitHub
    Объектная модель, plumbing, ветвление, GitHub Actions
    →
Все учебники →
ЦеныО платформеВойтиСоздать аккаунт
/
  • Введение
  • Уроки
  • How it works
  • Симулятор
  • База знаний
  • Собеседование
home/linux/how/anycast

how/network

Anycast - один IP с десятков локаций

1.1.1.1 быстро отвечает из любой точки мира, потому что физически живёт во многих местах сразу. Магия в BGP - каждый клиент попадает в ближайший узел.

Когда ты пингуешь 1.1.1.1 (Cloudflare DNS) из Москвы - ответ приходит за 20мс. Из Токио - тоже 20мс. Из Сан-Франциско - тоже 20мс. Магия?

Не магия. Anycast. Один IP-адрес объявляется из десятков физических локаций одновременно через [[bgp|BGP]]. Каждый клиент по нормальной BGP-логике попадает в ближайший к нему узел - и видит низкую задержку.

Если узел падает - BGP автоматически перестаёт его объявлять, и трафик переключается на следующий ближайший. Никаких health-check'ов на уровне приложения, никаких изменений конфигурации - failover за секунды.

Нажми ▶ - посмотрим как один 1.1.1.1 обслуживает клиентов из 3 регионов и как работает failover.

step 1/5·00 · 3 физических сервера, один IP
ANYCAST IP - 1.1.1.1 объявляется из всех точек одновременноNA · New York1.1.1.1EU · Frankfurt1.1.1.1APAC · Singapore1.1.1.13 физических сервера в разных регионах объявляют через bgp один и тот же ip - 1.1.1.1

§ шаги

  1. Cloudflare имеет три дата-центра: New York, Frankfurt, Singapore. В каждом - отдельный физический сервер, обычное «железо». Но все три слушают 1.1.1.1 и объявляют этот префикс через BGP в свой regional ISP.

    С точки зрения BGP - это три независимых анонса одного и того же префикса. Каждый ISP видит один из них (свой ближайший).

итого

Что важно запомнить:

  • Anycast = много серверов с одним IP. На уровне сетевого стека каждый сервер обычный - слушает на этом IP. Магия - в BGP-объявлении: один и тот же префикс анонсируется из множества AS/локаций
  • Кто куда попадёт определяется BGP best-path на каждом роутере по пути. Обычно это «географически ближайший», но могут быть аномалии (трафик может пойти длинным путём из-за peering policies между провайдерами)
  • Failover автоматический: если узел упал - он перестаёт объявлять свой префикс через BGP, объявления о нём «протухают» в таблицах за минуты, и трафик уходит на оставшиеся узлы
  • Идеально для: DNS (1.1.1.1, 8.8.8.8 - оба anycast), CDN edges, защита от DDoS (атака распределяется по всем узлам), глобальные API-endpoint'ы. Все 13 root DNS-серверов - anycast, физически их сотни машин
  • Не подходит для: TCP-соединений с долгим состоянием (если по пути BGP переключится на другой узел - TCP-сессия порвётся, у нового узла нет conntrack-записи). Решения: stateless протоколы (UDP, DNS), или sticky-сессии через L7-прокси
  • Сравнение с DNS-балансировкой: в DNS-балансировке у тебя разные IP, клиент выбирает один. В anycast у тебя один IP, и сеть выбирает за тебя. Anycast быстрее (нет лишнего DNS-lookup'а) и устойчивее к плохим resolver'ам

Связано с bgp (анонсы и path selection) и [[dns-resolution|DNS]] (где anycast чаще всего используется).

§ копнуть в базу знаний

  • bgpBGP - что под капотом anycast
  • dns-resolutionDNS - где anycast применяется
  • routing-tablerouting table - куда попадают anycast-маршруты
Footer
linuxlab-
Copyright © 2026 LinuxLab. Все права защищены.
Учебники
Цены
О платформе
Конфиденциальность и куки