Технология в деталях №7, ноябрь 2017

Оптимизация пиринга BGP

Фото аватара
Ченгиз Алаэттиноглу
Ченгиз Алаєтиноглу

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

Принятие информированных пиринговых решений повышает качество обслуживания и прибыльность работы всех провайдеров услуг – от крупнейших до региональных и более мелких. Например, когда транзитная пропускная способность провайдера подходит к концу, он должен решить, стоит ли наращивать мощность существующих каналов, добавить новый канал к тому же провайдеру в другом месте или использовать пиринг с совершенно новым провайдером.
Исторически у провайдеров не было сетевых данных, необходимых для принятия таких решений. Сегодня же имеется целый ряд способов оптимизации пиринга BGP (Border Gateway Protocol), позволяющих сократить затраты на транзит, не снизив, а возможно, и повысив качество обслуживания.

Рис. 1. Маршруты BGP по соседним и исходным AS

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

Как работает пиринг BGP

Пиринг в сфере интернет-маршрутизации весьма сложен. И для создания пиринга, и для пиринговых отношений между провайдерами аналогичного уровня используется протокол BGP. Он соединяет друг с другом автономные системы (AS). С помощью BGP пограничный маршрутизатор одной AS устанавливает пиринг с пограничным маршрутизатором другой AS, а затем эти маршрутизаторы обмениваются друг с другом известными маршрутами. Если маршрутизатор сообщает пиру о том или ином маршруте, то пир может пересылать по этому маршруту пакеты в его точку назначения. Пакеты транзитом передаются в следующую AS, откуда либо доставляются до точки назначения (если она локальная), либо пересылаются в следующую AS. Объявляя маршрут, AS разрешает другой AS использовать свои ресурсы для транзитной пересылки пакетов. То, какие именно маршруты будут объявлены, регулируется ограничениями политик, и они же определяют характер деловых связей между AS.
Между различными AS обычно применяются ограничения политик двух типов, соответствующие двум бизнес-моделям:

Провайдер – клиент

Отношения вида «провайдер – клиент», как правило, используются между провайдерами и обслуживаемыми ими предприятиями, либо между провайдерами регионального и глобального уровня. Клиент платит провайдеру за транзит пакетов до места назначения (и обратно). Обычно сумма оплаты пропорциональна объему пересылаемого трафика. В этом случае провайдер объявляет клиентам все известные ему маршруты.

Равноправные узлы (пиринг)

При пиринге, как правило, пересылка трафика друг друга осуществляется бесплатно. Преимущество каждого провайдера в том, что для пользователя качество услуги повышается, так как сокращается задержка при обращении к сервисам другого провайдера. Каждая AS объявляет другим AS только свои собственные маршруты (включая маршруты клиентов). В этом случае AS может использовать ресурсы следующей AS только для транзита трафика, адресованного внутри этой AS, или ее клиентов. Иными словами, следующая AS не выполняет передачу пакетов третьим сторонам.
Крупные провайдеры с глобальным охватом – так называемые провайдеры высшего уровня (также называемые Tier-1 – прим. ред.) – как правило, заключают пиринговые соглашения друг с другом. Любой провайдер значительно сэкономил бы на транзите, если бы смог организовать пиринг на этих условиях с провайдерами высшего уровня. Но для пиринга AS высшего уровня обычно требуют от потенциальных партнеров:

  • географического охвата, дополняющего охват самого провайдера;
  • возможности и желания осуществлять пиринг в нескольких географически разнесенных местах;
  • обмена трафиком между собой и потенциальным партнером примерно в равной пропорции;
  • и ряд других операционных требований.

В результате большинство AS, включая региональных провайдеров, вынуждено платить за транзит. Аналогично большинство предприятий покупают транзит у региональных провайдеров или провайдеров высшего уровня.
Однако даже у самых маленьких провайдеров есть возможность пиринга. Они могут объединяться с другими мелкими провайдерами в своем регионе или же с провайдерами контента (которым это также принесет снижение затрат и повышение качества для пользователей). Но такое сотрудничество имеет смысл, только если две AS обмениваются значительными объемами трафика. Экономия на транзите должна оправдывать затраты на прямой канал между двумя AS (и остальную инфраструктуру, например, оптические порты и кросс-соединения).
Выгодный вариант пиринга между AS предоставляют точки обмена трафиком IXP (Internet Exchange Point: такая точка представляет собой т.н. колокацию, где несколько AS держат свои маршрутизаторы, устанавливают пиринг BGP и обмениваются трафиком друг с другом через локальную сеть точки обмена).
Заметим, что и для провайдеров высшего уровня решения о пиринге непросты. Пусть, например, провайдер A – вымышленный провайдер высшего уровня, имеющий очень развитую сеть в России, – получает запрос о пиринге в Москве от провайдера В – другого провайдера высшего уровня, который в России представлен хуже. Если провайдер А одобрит этот запрос, не разобравшись в последствиях, он может потерять конкурентное преимущество.
Провайдеру A важно знать, будет ли московский трафик симметричным в обоих направлениях. Если провайдер В будет передавать транзитом больше трафика, чем провайдер А, тот окажется в невыгодном положении, так как за транзит ни один из участников денег не берет. А провайдер В при этом еще и улучшит обслуживание своих пользователей, для которых снизится задержка при обмене данными с другими точками в России.

Принятие информированных решений о пиринге

Принятие информированных пиринговых решений важно для всех провайдеров – от крупнейших до региональных и более мелких. Оно влияет на прибыль каждого из них. Для принятия информированных решений о пиринге провайдерам нужно две вещи.

Добиться информированности о трафике

Во-первых, и это главное: провайдеру необходимо знать все о трафике, включая следующие аспекты:

  1. Сколько трафика принимается от его провайдеров, пиров и клиентов (например, соседних AS) и сколько передается к ним.
  2. Куда идет этот трафик или откуда он исходит (исходные и целевые AS).
  3. Через какие еще AS этот трафик проходит по пути (транзитные AS).

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

Смоделировать эффект изменений пиринга

Во-вторых, провайдеру необходимо смоделировать эффект изменений пиринга. Например, обдумывая изменение пиринга, провайдер должен решить, следует ли ему:

  1. Нарастить пропускную способность существующих каналов.
  2. Добавить новый канал к тому же провайдеру в другом месте; или
  3. Использовать пиринг с совершенно новым провайдером.

Чтобы выяснить, что будет выгоднее, инженерам нужно смоделировать изменения в рабочей сети и проверить, как именно они повлияют на состояние маршрутизации и трафик, чтобы избежать неожиданностей.

Недостатки традиционных инструментов управления пирингом

Создание выгодных пиринговых отношений и постоянный их мониторинг – дело сложное и трудоемкое. Инженерам по пирингу приходится непрерывно отслеживать входящий и исходящий трафик, чтобы решить, имеет ли смысл пиринг с другими автономными системами, а если да, то с какими именно.
Без непрерывного мониторинга переключение прямого пира на пиринг выше по потоку может вызвать непредвиденные изменения. При всплеске внешнего трафика важно быстро определить его источник и точку назначения, а также то, пиринговая ли это проблема или последствия изменений маршрутизации IGP (внутренний протокол маршрутизации – прим. ред.). При наплыве или спаде префиксов, а также тогда, когда AS сообщает об аномальных префиксах, необходимо тут же оповестить операционные команды, чтобы выполнить триаж инцидента и избежать прерывания обслуживания или угрозы безопасности.
В прошлом у сетевых инженеров не было полной информации и инструментов для управления интернет-пирингом. Им мешали неполные данные о трафике и маршрутизации, изолированный анализ данных и статические инструменты моделирования. Хотя и возможно получить информацию о трафике, используя технологии аналитики потока, у анализа данных о трафике, собранных с отдельных маршрутизаторов, есть свои пределы.
Например, инструменты анализа трафика работают, анализируя данные о потоке, экспортируемые маршрутизаторами по технологиям IPFIX, NetFlow, J-Flow, NetStream и пр. Эти данные собираются по интерфейсам и, как правило, содержат метки MPLS, исходные и целевые IP-адреса, класс обслуживания и протокол IP, номера портов транспортного уровня, время старта и длительность потока, а также количество переданных байтов. В некоторых вариантах указываются также ограниченные данные о номерах исходных и целевых AS. Большинство инструментов анализа потока могут суммировать объемы трафика по этим потокам для каждого исходного и целевого IP-адреса, порта и номера AS, генерируя отчеты по N крупнейших источников/получателей для каждого интерфейса, откуда экспортируются данные потока.
Однако обычные инструменты анализа трафика не умеют определять каждый путь, от источника до цели, для каждого потока в сети. А эти данные жизненно важны для управления и мониторинга сетей, использующих пиринг. Провайдерам необходимо легко и просто понимать, как входящий пиринговый трафик влияет на маршрутизацию в собственной сети провайдера.
Например, всплеск трафика может перегрузить те или иные каналы и вызвать изменение маршрутов IGP. Но этой важной информации о трафике и его поведении просто нет. Нечего и говорить, что для оценки требований пиринга, отслеживания внешнего трафика и устранения неполадок необходимы телеметрия в реальном времени и мощные аналитические инструменты. Добившись полной видимости трафика по путям маршрутизации, провайдеры могут принимать информированные решения и затем оптимизировать свой пиринг BGP. Последние инновации в области аналитики маршрутизации и трафика дают гораздо более цельную картину пиринговых отношений, а также позволяют моделировать изменения пиринга и точно прогнозировать их эффект.

Аналитика маршрутизации и трафика, помогающая принимать решения о пиринге

Чтобы «видеть» трафик и моделировать эффект изменений пиринга, сетевым инженерам нужно уметь анализировать и моделировать маршруты и политики BGP, а также маршруты IGP и топологию сети провайдера. Новые технологии аналитики маршрутов показывают путь для каждого потока – точно и экономично.
Объединив анализ маршрутизации и анализ трафика для записей обо всех принимаемых потоках, можно вычислить полный путь – как вперед, к точке назначения, так и назад, к источнику потока. Этот путь будет включать каналы и маршруты в сети, а также внешние каналы, соседние AS выше и ниже по потоку, транзитные AS, исходную и целевую AS.
Этот подход имеет целый ряд преимуществ. Во-первых, трафик становится гораздо лучше видим. Во-вторых, становится виден трафик даже для каналов, из которых данные потока не экспортируются. Например, региональный провайдер, имеющий дело, главным образом, с интернет-трафиком, сможет отслеживать только свои внешние каналы, а аналитика маршрутизации рассчитает потоки трафика по внутренним каналам и построит их карту. И в-третьих, упрощается обнаружение дублированных потоков, благодаря чему один и тот же поток, экспортированный на нескольких каналах, будет учтен только один раз в каждом отчете (это часто называется дедупликацией потоков – англ. flow de-duplication).

Видимость политик BGP

Как мы уже отмечали, политики BGP напрямую влияют на объемы пирингового трафика. Аналитика маршрутизации покажет, правильно ли текущие конфигурации маршрутизаторов реализуют политики BGP, путем проверки динамического набора маршрутов BGP. Инженеры могут просматривать результаты по пирам и маршрутизаторам следующего шага, соседним, транзитным, исходным и целевым AS, метрикам local preference и значениям MED, а также по сообществам BGP. На рис. 1 показано число маршрутов, объявленных каждой соседней AS, плюс число маршрутов, исходящих из каждой исходной AS.
Из таких записей можно визуализировать или перечислить соответствующий набор маршрутов. На рис. 2 визуализируются маршруты, для которых исходной AS служит AS 15169, принадлежащая Google. Т.е. показано, как от данного провайдера добраться до Google. Граничных маршрутизаторов пять, они промаркированы rtr1–rtr5. Все граничные маршрутизаторы, кроме rtr1, осуществляют прямой пиринг с Google. Кроме того, rtr1, rtr2 и rtr4 могут обмениваться трафиком с Google через компанию Level 3 Communications. BGP предпочитает маршруты с более короткими путями AS, поэтому он требует использовать маршрутизаторы с прямым пирингом. Эти маршруты показаны жирными линиями. Чем жирнее линия, тем больше предпочтительных маршрутов идет по этому соединению.

Рис. 2. Маршруты BGP по соседним и исходным AS.

Обратите внимание, что из 138 префиксов Google восемь доступны только через Level 3 Communications. Эти префиксы перечислены на рис. 3. Тут же возникает ряд вопросов: это сознательная политика или результат неправильной конфигурации? И за какой объем трафика отвечают эти префиксы (т.е. за какой объем транзита провайдер платит Level 3 Communications)?

Рис. 3. Восемь префиксов доступны только через Level 3 Communications
Данные о трафике

На рис. 4 показан весь трафик в сети регионального провайдера за неделю. Видны типичные суточные колебания: каждый день около полудня наблюдается пик, а по выходным объем трафика гораздо ниже, чем в рабочие дни.

Рис. 4. Общий трафик сети.

Отчеты о трафике по исходным и целевым AS показывают, откуда поступает трафик и куда он следует – см. рис. 5. Здесь имеется множество настраиваемых статистических показателей, но на скриншоте показаны среднее значение за 5 минут и объемы для 95-й перцентили: суточные, недельные и месячные. Для шести первых исходных AS на рисунке 6 показана вариация трафика для той же самой недели.
Рис. 5. Трафик исходных и целевых AS.
Интернет изнутри №7

Для этой сети крупнейшей исходной AS является Google. Можно ли установить прямой пиринг с Google? Провайдер из примера действительно находится в пиринге с Google, т.е. экономит на транзите трафика Google – 13 Гбит/с. Кстати, отчет о трафике по исходным AS не ограничивается N первых строчек. Хотя пиринг с несколькими крупнейшими AS и дал бы самый значительный выигрыш в стоимости транзита, это не всегда возможно из-за географических расстояний. Более практичным может оказаться пиринг с AS ниже по списку.
Рис. 6. Недельный трафик по шести крупнейшим исходным AS.
Интернет изнутри №7
Или, возможно, найдется другая AS, которая может взять на себя транзит (платный или бесплатный на взаимовыгодной основе) трафика многих исходных AS из списка. Эти возможности представлены в отчетах по трафику AS выше и ниже по течению, как показано на рис. 7.
Рис. 7. Отчеты по трафику AS выше и ниже по течению.
Интернет изнутри №7

Для регионального провайдера, где большая часть трафика поступает из Интернета, в принятии решений о пиринге главную роль играет отчет о трафике выше по течению. Отметим, что несмотря на то, что технология маршрутизации однозначно определяет исходную AS потока, путь, проходимый этим трафиком, зависит от политик исходной AS и транзитных AS по пути следования.
Эта информация не распространяется непосредственно в BGP, поэтому обычная аналитика маршрутизации тут не поможет. Новые технологии анализа маршрутизации используют комбинаторную разведку путей AS, происходящую во время сходимости BGP, и создают граф AS в Интернете, учитывающий политики. Таким образом, становится возможным узнать, через какие транзитные AS может проходить трафик каждой исходной AS при прямом пиринге.
Сочетание аналитики маршрутов и трафика также выявляет соседние AS выше и ниже по течению (т.е. прямых пиров), с разбивкой на отдельные внешние каналы и сообщества BGP. Чтобы добиться еще большей детализации, можно определить группы трафика на основе исходного и целевого IP-адресов. Такие отчеты помогут понять, пришла ли пора увеличить пропускную способность пиринговых каналов.

Рис. 8. Проекция потока на его путь.

Даже если данные потока экспортируются только для пиринговых каналов, аналитика маршрутизации может проецировать эти потоки по внутренним каналам в сети. Иллюстрация приведена на рис. 8. После проекции всех потоков высчитываются итоговые данные использования всех внутренних каналов – на рис. 9 они показаны с цветовыми кодами по загруженности каналов на топологической карте.

Рис. 9. Уровни трафика по внутренним каналам.
Моделирование трафика

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

Рис. 12. Объемы трафика по целевым AS до и после изменения.

Диалоговое окно на рис. 10 иллюстрирует вышесказанное. Добавляя пира BGP, можно автоматически выбрать маршруты, которые будут объявляться новым пиром, например, все маршруты, у которых номер AS этого пира значится в атрибуте BGP AS-path. Как видно на рис. 11, политики можно детализировать и дальше.

Рис. 10. Добавление нового пира BGP.
Рис. 11. Тонкая настройка политик BGP путем изменения значений атрибута BGP Local-Pref

Впоследствии для каждого отчета о трафике выдается сравнительное представление «до» и «после». Например, на рисунке 12 приведен отчет по целевым AS после моделирования изменений, приведенных на рисунке 10 (в топологии малой лаборатории). Объемы трафика не изменились, но весь трафик перенаправлен в новое пиринговое расположение, как видно в последнем столбце отчета.

Благодаря недавним инновациям стало возможно регистрировать и сохранять все события маршрутизации и рассчитанные пути трафика в высокопроизводительной базе данных. Поэтому стало возможно воспроизводить события маршрутизации и трафика для диагностики первопричин проблем. Например, можно «перемотать назад» время в сети до момента, когда канал стал перегружен, и проанализировать трафик в канале. Можно увидеть, откуда и куда шел этот трафик, какой путь он использовал, а главное – какие политики нужно применить, чтобы избежать подобных перегрузок.

Другие преимущества анализа трафика и маршрутизации

Применение этой технологии не ограничивается анализом пирингового трафика BGP. Новые технологии понимают VPN BGP/MPLS IP уровня 3, а также псевдопроводные VPN уровня 2 типа Martini. Для каждого VPN-сервиса и каждого заказчика дается полная информация о том, где трафик входит в сеть, по каким путям он следует и где выходит из сети. На основе этой информации можно генерировать матрицы трафика. Пример такой матрицы, сочетающий в себе интернет-трафик и трафик VPN уровней 2 и 3, приведен на рис. 13.
Можно также отслеживать туннели RSVP-TE, вместе с их путями и объемом передаваемого по ним трафика. Можно выполнять анализ отказов и выяснять, достаточна ли пропускная способность маршрутов быстрой перемаршрутизации или вторичных маршрутов для того, чтобы справиться с дополнительным трафиком при отказе. Отчеты для туннелей показывают минимальные, средние, максимальные значения и значения 95-й перцентили по дням, неделям и месяцам. Эти данные можно использовать в конфигурациях маршрутизаторов для более точного резервирования пропускной способности туннелей.
Для многоадресной (multicast) маршрутизации можно отслеживать все деревья PIM (Protocol Independent Multicast) в сети. Также можно проецировать многоадресный трафик по сетевым каналам, чтобы понять его поведение. IPTV и подобные приложения вносят в сеть большой объем многоадресного трафика. Планирование трафика без учета многоадресных пакетов теперь уже нельзя назвать ни реалистичным, ни приемлемым.
Благодаря недавним инновациям стало возможно регистрировать и сохранять все события маршрутизации и рассчитанные пути трафика в высокопроизводительной базе данных. Поэтому стало возможно воспроизводить события маршрутизации и трафика для диагностики первопричин проблем. Например, можно «перемотать назад» время в сети до момента, когда канал стал перегружен, и проанализировать трафик в канале. Можно увидеть, откуда и куда шел этот трафик, какой путь он использовал, а главное – какие политики нужно применить, чтобы избежать подобных перегрузок.

Правильный анализ пиринга

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