Если публичные IP-адреса привязаны к одной AS, как работает BGP anycast?

11

Насколько я понимаю, общедоступные IP-блоки назначаются из IANA , которая назначает субблоки для RIR , которая назначает субблоки для интернет-провайдеров, которая назначает субблоки отдельным AS, как описано в этом вопросе: Как на самом деле назначаются IP-адреса?

Это (и ресурсы, подобные этой странице ), по-видимому, подразумевает сопоставление 1 общедоступного IP-адреса с 1 AS.

Однако, похоже, что anycast работает, рекламируя один и тот же публичный IP-адрес из разных мест, обеспечивая разные пути к этому IP. Например:

Если общедоступные ips должны разрешаться в одну AS, как работает anycast?

  • Является ли это хаком, когда вы притворяетесь, что выполняете многоадресную / многопутевую передачу BGP и просто захватываете трафик при его прохождении через AS (как представляется, здесь подразумевается: /server//a/728609/148476 )?
  • Является ли это исключением из «правила» 1 IP на AS?
  • Или, может быть, я просто что-то упустил ...
turtlemonvh
источник
2
Также не существует строгого правила для «1 AS на адрес» - просто посмотрите на 192.88.99.0/24, используемый 6to4. (Хотя это, безусловно, становится проблематичным ...)
user1686
2
Есть ли у вас ссылка на утверждение о том, что IP-адреса назначены AS? Прошло несколько лет, но я когда-либо видел только блоки IP-адресов, назначенные организациям. (Отображения, на которые вы ссылаетесь, вероятно, просто говорят вам, что AS (ы) рекламируют определенный блок, который наблюдает за тем, что на самом деле происходит, а не присваивает.)
David Schwartz
То, как адреса назначаются объекту, на самом деле не имеет ничего общего с тем, как маршруты к адресам объявляются в Интернете. Возможно, что каждый провайдер, входящий в Интернет, может объявить, что у него есть маршрут к определенному префиксу, и может случиться так, что каждый из них узнал маршрут к префиксу от другого провайдера. Маршрутизация - это всего лишь один маршрутизатор, сообщающий другому, что он знает, как перенаправлять трафик в сеть, и каждый интернет-маршрутизатор может на законных основаниях полагать, что он знает его. Маршрутизаторы, получающие несколько маршрутов в сеть, выберут один из этих маршрутов для использования.
Рон
@DavidSchwartz Нету ссылки на IP для назначения AS. Прочитав некоторые из этих ответов и несколько других статей, я не думаю, что это вообще правильно, просто это подразумевается во многих ресурсах (возможно, так как это наиболее распространенный случай).
turtlemonvh
@RonMaupin Я понимаю разделение маршрутизации и назначения блоков ip. Однако в сообщениях о маршрутах BGP имеется раздел AS_PATH, который используется для принятия решений о маршрутизации (см .: tools.ietf.org/html/rfc4271#section-4.3 ). Мой вопрос на самом деле касается поведения, когда эти объявления о маршрутах делаются из многих AS, и каждая AS говорит, что это единственная AS в пути, то есть они имеют прямой путь к IP-адресу без какой-либо дополнительной внешней маршрутизации.
turtlemonvh

Ответы:

5

Не требуется, чтобы IP-адреса или интернет-маршруты для префикса исходили из одной AS. ASN присваиваются организациям, а адреса также присваиваются организациям. Регистраторы, такие как ARIN, не связывают мое распределение адресов с моим распределением ASN. Даже в новых системах, таких как Resource Public Key Infrastructure, она все же позволяет нескольким AS создавать маршрут к сети. Страница Team Cymru говорит об этом в часто задаваемых вопросах:

В некоторых случаях префикс сети будет объявлен несколькими, но разрозненными сетями или автономными системами. Наиболее вероятной причиной этого является то, что известно как «множественная адресация». Это совершенно нормально. В зависимости от вашего взгляда на топологию Интернета и политики исходной сети, одна из этих исходных сетей будет предпочтительным путем для отправки и получения трафика с рассматриваемым сетевым блоком.

Вот (длинный) список сетей , которые в настоящее время рекламируются из нескольких AS.

Относительно того, как он добирается до места, куда он идет: маршруты выбираются с использованием алгоритма выбора пути BGP, который выбирает путь на основе информации, которую знает каждый маршрутизатор, через который проходит трафик. Каждый маршрутизатор в Интернете имеет свое собственное представление таблицы маршрутизации, поэтому трафик в одной части Интернета может оказаться в другом месте и AS, чем трафик в другой части Интернета. Нет даже требования, чтобы каждый пакет в потоке отправлялся в одно и то же место, что, очевидно, может сделать вещи интересными в случае произвольного вещания или множественной адресации.

ДК1
источник
Спасибо dk1. Идея, что общедоступное сопоставление IP-адресов - 1: N, а не 1: 1, была ключевой для меня. Эта статья также была полезна: serverfault.com/questions/137257/… , так же как и дополнительные статьи, обсуждающие пиринг AS, например: umbrella.cisco.com/blog/blog/2013/01/10/… . Эта статья OpenDNS также показывает, что их AS распределены по всему миру.
turtlemonvh
11

AS не обязательно должен быть ограничен одним физическим местоположением.

При произвольном вещании вы запускаете маршрутизаторы во многих физических местоположениях, каждый из которых однорангово подключается к разным интернет-провайдерам в качестве одной и той же AS, объявляя маршрут к IP-адресам.

С точки зрения BGP, это не сильно отличается от того, что вы бы сделали для избыточности с несколькими ISP из AS на одном сайте; в ситуации «один сайт, несколько интернет-провайдеров» один маршрутизатор отправляет сообщение «Я AS X, и у меня диапазон IP Y!» нескольким интернет-провайдерам; в любом случае, вы просто указываете географически разрозненным маршрутизаторам, чтобы все рекламировали свои почти идентичные слова: «Я AS X, и у меня диапазон IP Y!» отправлять сообщения своим собственным интернет-провайдерам, запрашивая свой AS и диапазон anycast, и позволяя BGP выбрать лучшего интернет-провайдера для отправки трафика.

Интернет-провайдеры не знают ничего другого; Интернет не имеет смысла, что различные доступные пути не просто ведут к одному и тому же сильно избыточному сайту.

Шейн Мэдден
источник
Иными словами, Интернет не знает, что он не общается с одним и тем же сервером через вашу секретную подземную оптоволоконную сеть стоимостью в несколько миллиардов долларов.
user253751
@immibis Это хороший способ взглянуть на это, но с одной стороны: в этом случае (перенаправляя обратно на один центральный сервер через вашу собственную внутреннюю сеть) мы технически больше не подпадаем под определение anycast, так как запрос не будет на самом деле обрабатываться в географически разрозненных сайтах. В случае, который я описываю, у вас будут почти идентичные серверы на каждом сайте, а не секретная внутренняя сеть, чтобы вы могли получить правильный сервер.
Шейн Мэдден
Это не придурок, в этом все дело. Совершенно верно иметь частную сеть между отдельными сайтами. Протоколы интернет-маршрутизации не могут отличить частную сеть от вас, и вы притворяетесь, что она есть, и вместо этого используете anycast.
user253751
Совершенно верно иметь частную сеть между сайтами, я просто говорил, что вы не захотите на самом деле развертывать anycast таким способом (на одном сервере), поскольку это будет самоубийством. Но я согласен с вашей точкой зрения: с точки зрения интернета они будут выглядеть одинаково.
Шейн Мэдден
Это отличный ответ. Можете ли вы добавить несколько ссылок на документы по стандартам или другие внешние ресурсы, чтобы показать, что вы сказали, что это правда? (т.е. нечеткая и множественная адресация в основном то же самый)
turtlemonvh
2

Это (и ресурсы, подобные этой странице), по-видимому, подразумевает сопоставление 1 общедоступного IP-адреса с 1 AS.

Да. Это правда.

Тем не менее, Anycast, кажется, работает, рекламируя один и тот же публичный IP-адрес из нескольких мест,

Просто точно "просто делая это". AS - это объект, который определяет свою собственную маршрутизацию на международном уровне. Он может подключать один и тот же IP-адрес к нескольким местоположениям - если маршрутизация не изменяется в середине соединения, это нормально.

Просто будьте невежественными на мгновение (потому что здесь невежество работает).

Если вы запрашиваете IP x в США, вы отправляетесь в центр обработки данных в США в соответствии с правилами AS BGP. Если вы сделаете это в Австралии, вы окажетесь в центре обработки данных в Австралии. Законченный. Ничто не говорит о том, что IP не может быть повторно использован, так как длинный, так как маршрут стабильный.

Это не BGP-хак, а обычное использование BGP.

TomTom
источник
1
BGP не использует геополитические подразделения, чтобы решить, куда отправить пакет, и это неправда, что адреса принадлежат какой-либо одной AS.
dk1
Вы упоминаете: «Пока маршрутизация не меняется в середине соединения, это нормально». Я думал, что такие изменения маршрутизации были известной проблемой в конфигурациях anycast, и это одна из причин, по которой anycast используется usu. зарезервировано для протоколов без установления соединения, таких как UDP? Смотрите: blog.cloudflare.com/…
turtlemonvh