?

Log in

No account? Create an account

Изменяю своим привычкам


Previous Entry Share Next Entry
Заметка о BGP Fake-as
eucariot
Сегодня я про BGP. Заметки с работы - чтобы не пропадали.

Есть такой функционал, как фиктивная AS.

Здесь и далее говорю в нотации Huawei.

Традиционный сценарий использования - это переезд с одного номера АС на другой, например, при покупке сети одного оператора другим. При этом есть стопицот соседей, которые почему-то не могут взять и все разом переехать вместе с нами.
Тогда для них, мы можем настроить пиринг так, будто бы мы остались в старой АС.
Если для пира указать команду fake-as, то и в Open и в AS-Path появится именно она, а не новая (настоящая). У циски тот же функционал называется Local-as.

Удобный инструмент, когда используется по назначению.

Теперь, условно, сеть заказчика:


Клиент хочет, спать не может, пиринг с АС3. Но не хочет платить за VPN. Просто попросил АС2 представиться АС3.
Вот этот промежуточный АС2 и настраивает фиктивную АС на своём ASBR, указывая в её качестве АС3.
Проблема в том, что ASBR при анонсе маршрута всё равно, негодяй такой, вставляет в AS-Path фиктивную АС, несмотря на то, что она там уже есть.
То есть AS-Path для маршрутов, которые получает клиент, выглядит как <АС3, АС3, итд.>

В документации написано, что, если соседство было установлено через фиктивную АС, то и в AS-Path именно она появится. Если через настоящую - то настоящая. Но так, чтобы совсем не появлялась - нельзя. Ну не аккуратненько это, супротив идеологии BGP.
В таком случае на оборудовании Хуавей нет другого способа, кроме как вручную через рут-полиси сделать overwrite AS-Path, что совсем не по-инженерски, понятное дело.

В новых версиях появилась возможность указывать, какую именно АС хочешь добавлять - фиктивную или настоящую. Однако не добавлять вообще - нет такой опции.

Ещё я тут хочу сказать про циску - в случае заказчика технически на циске можно реализовать его хотелку.
Сначала расскажу, чем отличается работа этой команды там - главное отличие - по умолчанию циска вставляет две АС - и настоящую и фиктивную. Сделано это для того, чтобы исключить образование петли маршрутизации (вот это по-бгпшному).
В команде local-as есть атрибуты no-prepend и replace-as. No-prepend позволят не добавлять в AS-Path номер фиктивной АС - только настоящей. Опция replace-as позволит заменить её на фиктивную.
То есть опять вроде как нельзя реализовать полное удаление. И вообще такого рода манипуляции с AS-Path ни к чему хорошему не приводят.
Чисто для примера можно вспомнить недавнюю историю о том, как недавно Иран лишил порнухи себя и ближайшие страны, когда поигрался с анонсами БГП.

Но особенность в том, что у заказчика номер АС2 - приватный. И если использовать комбинацию опций local-as no-prepend replace-as, а потом добавить remove-private-as (цисковский аналог хуавэйско команды public-as-only) то всё-таки срабатывает и дублирующая АС удаляется.
Но повторюсь, это читерство и костыль.


  • 1
Не могу понять зачем такая схема конечным операторам.

Якобы повышение связности? Ладно транзитёры и IX на себя трафик пытаются утянуть (и то, если нет каналов зачем такой транзитёр), но если ты через себя побольше трафика не пытаешься переливать - зачем это?

Трафик так балансировать - так проще у себя политику менять.

Не стал расспрашивать заказчика. Для себя я сколько-либо удовлетворительный ответ не нашёл :)
Как балансировке это поможет?

Ну, типа у вас бёрстбл вкуснее в среднем, но вот тот аплинк зато много торрент клиентов/геймеров держит.

Если ас-пас поменять, весь его трафик в обход польётся, я так не хочу, клиенты жалуются что контра тормозит. А вот вконтактик/ютуб/etc через вас мне интересен, но льётся через него из-за бгп.

Типа того.

  • 1