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

Post on 20-Jun-2015

903 Views

Category:

Technology

9 Downloads

Preview:

Click to see full reader

DESCRIPTION

Тема презентации Александра Азимова, ведущего инженера по эксплуатации сети фильтрации трафика Qrator, представленной в рамках конференции HighLoad++ 25-26 октября 2010 г., относится к актуальной области администрирования на междоменном сетевом уровне — моделированию процесса сходимости протокола BGP. Данный тип моделирования активно применяется при разработке новых механизмов передачи сообщений BGP и при оценке скорости перестроения глобальной сети вследствие возникновения нештатных ситуаций. В рамках проведенного исследования были получены следующие оценки: • Время сходимости протокола BGP вследствие объявления нового маршрута BGP-маршрутизатором пропорционально диаметру графа сети относительно рассматриваемого маршрутизатора; • Время сходимости протокола BGP вследствие удаления маршрута BGP-маршрутизатором пропорционально гамильтонову пути в графе относительно рассматриваемого маршрутизатора. В рамках исследования был также проведен анализ работы механизма Flap Damping. Данный инструмент BGP разработан для обнаружения, локализации и минимизации влияния на сеть АС нестабильных участков сети. В качестве признака нестабильности участка сети используется «мигающий маршрут»: повторяющиеся объявления и удаления маршрута к некоторому префиксу за короткий интервал времени. Используя полученные оценки времени сходимости протокола BGP, была рассчитана вероятность возникновения «мигающего маршрута» в кольце BGP-маршрутизаторов вследствие единичного удаления маршрута. В соответствии с полученными результатами, был сделан вывод о негативном влиянии механизма Flap Damping на сходимость протокола BGP.

Transcript

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

сетевых ресурсов

Александр Азимов

<aa@highloadlab.com>

Автономные системы

Многоинтерфейсные

Транзитные

Ограниченные

AS1

AS2

AS3

AS1

AS2

AS3

AS1

AS2

Протокол BGP • Border Gateway Protocol (RFC 1771, 4271) • Де-факто стандартный протокол внешней

маршрутизации • Дистанционно-векторный протокол • Политика маршрутизации • Набор атрибутов маршрутов

• LOCAL_PREF • AS_PATH • …

Политика маршрутизации

200

100

LOCAL_PREF

AS_PATH prepend 4 𝐴𝑆1 𝐴𝑆2 𝐴𝑆3

↓ 𝐴𝑆1 𝐴𝑆2 𝐴𝑆2 𝐴𝑆2 𝐴𝑆2 𝐴𝑆3

AS1

AS2

AS3

100

200

Почему на уровне АС?

АС в маршрутизации = материальная точка в физике

Весь трафик к целевому префиксу будет идти одинаково для каждой АС

Чего мы хотим добиться? • Типизировать АС

• Хостингам: выбор сервис провайдера

• Reverse Traceroute

• Моделирование механизмов самого BGP

Решаем в лоб Раскрасить граф АС

AS1

AS3

AS2

Решаем в лоб Раскрасить граф АС

AS1

AS3

AS2

Customers 2

Customers 3

Решаем в лоб Раскрасить граф АС

AS1

AS3

AS2

Customers 2

Customers 3

AS4

Решаем в лоб Раскрасить граф АС

AS1

AS3

AS2

Customers 2

Customers 3

AS4

Ничего сказать нельзя!

Автономные системы> 35000

200

200

100

100

NP-полная задача для каждой АС Раскрасить граф АС

AS1

AS3

AS2

Customers 2

Customers 3

AS4

Автономные системы> 35000

200

200

100

100

Политика маршрутизации

200

100

LOCAL_PREF

AS_PATH prepend 4 𝐴𝑆1 𝐴𝑆2 𝐴𝑆3

↓ 𝐴𝑆1 𝐴𝑆2 𝐴𝑆2 𝐴𝑆2 𝐴𝑆2 𝐴𝑆3

AS1

AS2

AS3

100

200

Политика маршрутизации

200

100

LOCAL_PREF

AS_PATH prepend 4 𝐴𝑆1 𝐴𝑆2 𝐴𝑆3

↓ 𝐴𝑆1 𝐴𝑆2 𝐴𝑆2 𝐴𝑆2 𝐴𝑆2 𝐴𝑆3

AS1

AS2

AS3

100

200

Избавиться от LOCAL_PREF = свести задачу к поиску минимального пути в графе

Формальная модель prefix: I

AS_PATH: 𝐴𝑆1 𝐴𝑆2 𝐴𝑆2 LOCAL_PREF: 100

Представим модель сети автономных систем, как ориентированный граф 𝐺 𝑉, 𝐸 : • V – автономные системы • 𝑎𝑠1, 𝑎𝑠2 ∈ 𝐸 тогда и только тогда, когда АС 𝑎𝑠1 будет анонсировать маршрут к

префиксу I BGP АС 𝑎𝑠2 • Вес дуги состоит из двух частей:

• Prepend – политика AS_PATH АС 𝑎𝑠1 • Pref – политика LOCAL_PREF 𝑎𝑠2

Pref = 100 AS1 AS2

Prepend = 2

Транзитные АС

Пусть 𝐴𝑆𝑃𝑎𝑡ℎ – множество, состоящие из всех существующих значений атрибута маршрута BGP AS_PATH в текущий момент времени.

Тогда признаком транзитной автономной системы будет:

𝑥 ∈ 𝐴𝑆𝑇𝑟𝑎𝑛𝑠𝑖𝑡 ↔ ∃𝑝𝑎𝑡ℎ ∈ 𝐴𝑆𝑃𝑎𝑡ℎ, ∃𝑖 < 𝑝𝑎𝑡ℎ : 𝑥 = 𝑝𝑎𝑡ℎ𝑖

«Ядро» Интернета

Множество транзитных АС неоднородно:

• Пропускают только трафик клиентов

• Имеют пиринговые отношения с соседями

1. 𝑃𝑒𝑒𝑟𝑠 0 = 𝑇𝑟𝑎𝑛𝑠𝑖𝑡 2. 𝑃𝑒𝑒𝑟𝑠 𝑖 + 1 =

𝑥 ∈ 𝑃𝑒𝑒𝑟𝑠 𝑖 | ∃𝑝𝑎𝑡ℎ ∈ 𝐴𝑆𝑃𝑎𝑡ℎ, ∃𝑖 < 𝑗 < 𝑝𝑎𝑡ℎ : 𝑥 = 𝑝𝑎𝑡ℎ𝑖&𝑝𝑎𝑡ℎ𝑗 ∈ 𝑃𝑒𝑒𝑟𝑠 𝑖

3. lim𝑖→∞

𝑃𝑒𝑒𝑟𝑠 𝑖 = CORE

Пример нахождения CORE

• 𝑇𝑟𝑎𝑛𝑠𝑖𝑡 = *𝐴𝑆2, 𝐴𝑆3,𝐴𝑆4, 𝐴𝑆5, 𝐴𝑆6+

AS3

AS2

AS4

AS5

AS1 AS6 AS7

Пример нахождения CORE

AS3

AS2

AS4

AS5

AS1 AS6 AS7

• 𝑇𝑟𝑎𝑛𝑠𝑖𝑡 = *𝐴𝑆2, 𝐴𝑆3,𝐴𝑆4, 𝐴𝑆5, 𝐴𝑆6+

• 𝑃𝑒𝑒𝑟 1 = *𝐴𝑆3, 𝐴𝑆4, 𝐴𝑆5+

Пример нахождения CORE

• 𝑇𝑟𝑎𝑛𝑠𝑖𝑡 = *𝐴𝑆2, 𝐴𝑆3,𝐴𝑆4, 𝐴𝑆5, 𝐴𝑆6+

• 𝑃𝑒𝑒𝑟 1 = *𝐴𝑆3, 𝐴𝑆4, 𝐴𝑆5+

• 𝑃𝑒𝑒𝑟 2 = *𝐴𝑆3, 𝐴𝑆4+ = 𝐶𝑂𝑅𝐸

AS3

AS2

AS4

AS5

AS1 AS6 AS7

Свойства CORE Лемма

Предел lim𝑖→∞

𝑃𝑒𝑒𝑟𝑠 𝑖 существует и отличен от пустого множества.

• 𝐺′ 𝐸′, 𝑉′ ≤ 𝐺 𝐸, 𝑉 :

• ∀𝑣 ∈ 𝑉′ → 𝑣 ∈ 𝐶𝑜𝑟𝑒,

• ∀ 𝑣1, 𝑣2 ∈ 𝐸′ → max 𝑝𝑟𝑒𝑓 𝑣𝑖 , 𝑣2 = 𝑝𝑟𝑒𝑓 𝑣1, 𝑣2

Граф G

AS1

100

100

200

200

Граф G’

AS1

200

200

Теорема

Для любой вершины в графе 𝐺′ существует путь из вершины Origin,

при условии, что 𝐺′ ацикличен

Прикладное применение • Хостингам: выбор сервис провайдера

• Reverse Traceroute

• Обнаружение LOCAL_PREF циклов

• Определение времени сходимости

• Моделирование механизмов самого BGP

Выбор сервис провайдера Время сходимости Псевдо-транзитные АС

COREAS1

AS2

AS3

10 АС до CORE

=

До 5 минут

задержки Больше хопов –

медленнее

соединение

Выбор сервис провайдера Псевдо-транзитные АС Псевдо-многоинтерфейсные АС

AS1 AS2

AS3

Являются ли AS1 и AS2

транзитными?

AS3 многоинтерфейсная? AS4

CORE

Reverse Traceroute • АС – единая политика маршрутизации

• Reverse Traceroute – знание, как к тебе идет трафик от других АС

• Если знать, как идет трафик, можно его балансировать – profit!

LOCAL_PREF циклы

• Причина сетевой нестабильности для целевого префикса

• Создание постоянного «шума» из BGP сообщений

• Замедление времени сходимости по всей сети АС

AS3

AS2

AS4

AS5

AS1 AS6

AS7

200

100

100 200

Переход к G’

• Причина сетевой нестабильности для целевого префикса

• Создание постоянного «шума» из BGP сообщений

• Замедление времени сходимости по всей сети АС

AS3

AS2

AS4

AS5

AS1 AS6

200

200

Время сходимости

Рассматриваемые события: • Объявление маршрута к префиксу I автономной системой X • Удаление маршрута к префиксу I автономной системой Х

𝐸𝑇𝑢𝑝 = 𝜃 𝑑 × 𝐸𝑡𝑤𝑎𝑖𝑡 , где d – диаметр относительно

вершины Х в графе G’

𝐸𝑇𝑑𝑜𝑤𝑛 = 𝜃 𝐷 × 𝐸𝑡𝑤𝑎𝑖𝑡 , где D – длина гамильтонова пути относительно вершины Х в графе G

Система моделирования Критерии сравнения SSFNet NS-2 PRIME CBGP Разработанная

система

Реализация политик

маршрутизации - - + + +

Полнота стека BGP- решений +/- +/- + + +

Модель передачи BGP

сообщений Пакетный уровень Пакетный уровень Пакетный уровень В виде объектов В виде объектов

Возможность моделирования

сходимости BGP

маршрутизации

+ + + - +

Возможность распределенных

вычислений + - + - +

Масштабируемость + + - + +

Проверка распределений

Объявление маршрута

𝑑max 𝑋 × 𝐸(𝑡𝑤𝑎𝑖𝑡) ≤ 𝐸𝑇𝑢𝑝 ≤ 𝑑max 𝑋 × 𝐸 𝑡𝑤𝑎𝑖𝑡 + 𝑠

Проверка распределений 𝐷1

2

𝑚𝑎𝑥 𝑥 × 𝐸(𝑡𝑤𝑎𝑖𝑡) ≤ 𝐸𝑇𝑑𝑜𝑤𝑛 ≤ 𝐷𝑚𝑎𝑥 𝑥 × 𝐸 𝑡𝑤𝑎𝑖𝑡 + 𝑠

Удаление маршрута

Flap Damping Зачем?

Снижение нагрузки на сеть BGP маршрутизаторов от нестабильных маршрутов, не оказывая влияния на время сходимости в стабильных участках сети.

Flap Damping

Процесс удаления маршрута

AS1

AS2

AS3 AS5

AS6

AS4

Flap Damping

Кто придет первым? Процесс удаления маршрута

AS1

AS2

AS3 AS5

AS6

AS4

Flap Damping

Flap Damping Вероятность появления мигающего маршрута в кольце маршрутизаторов длины n:

2 × Ф 7 ×3

𝑛 + 1− Ф 2 ×

3

𝑛 + 1, при 𝑛 четном, 2 × Ф 6 ×

3

𝑛 + 1− Ф

3

𝑛 + 1, при 𝑛 нечетном

Flap Damping DoS?

• Yes!

• Не блокируется ни одним существующим расширением BGP

Данные для экспериментов • List of router registries

http://www.irr.net/docs/list.html

• BGP dumps

http://www.ripe.net/projects/ris/rawdata.html

Автономных систем: 36200 Транзитных систем: 5876 CORE: 1757 Prepends: 15722

Результаты • Разработана модель BGP маршрутизации • Сформулированы оценки времени сходимости

протокола BGP • Разработана система моделирования для проверки

теоретических оценок • Рассмотрены механизмы BGP LOCAL_PREF и Flap

Damping и их влияние на доступность сетевых ресурсов • Предложен метод для построения Reverse Traceroute

Отключите Flap Damping

Спасибо за внимание!

Вопросы?

top related