Некоторые аспекты влияния сходимости
протокола BGP на доступность
сетевых ресурсов
Александр Азимов
<aa@highloadlab.com>
Автономные системы
Многоинтерфейсные
Транзитные
Ограниченные
AS1
AS2
AS3
AS1
AS2
AS3
AS1
AS2
Протокол BGP
• Border Gateway Protocol (RFC 1771, 4271)
• Де-факто стандартный протокол внешней
маршрутизации
• Дистанцион...
Политика маршрутизации
200
100
LOCAL_PREF
AS_PATH prepend 4
𝐴𝑆1 𝐴𝑆2 𝐴𝑆3
↓
𝐴𝑆1 𝐴𝑆2 𝐴𝑆2 𝐴𝑆2 𝐴𝑆2 𝐴𝑆3
AS1
AS2
AS3
100
200
Почему на уровне АС?
АС в маршрутизации = материальная точка в
физике
Весь трафик к целевому префиксу будет идти
одинаково...
Чего мы хотим добиться?
• Типизировать АС
• Хостингам: выбор сервис провайдера
• Reverse Traceroute
• Моделирование механи...
Решаем в лоб
Раскрасить граф АС
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
...
NP-полная задача для каждой АС
Раскрасить граф АС
AS1
AS3
AS2
Customers 2
Customers 3
AS4
Автономные системы
> 35000
200
2...
Политика маршрутизации
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
Изба...
Формальная модель
prefix: I
AS_PATH: 𝐴𝑆1 𝐴𝑆2 𝐴𝑆2
LOCAL_PREF: 100
Представим модель сети автономных систем, как ориентирова...
Транзитные АС
Пусть 𝐴𝑆𝑃𝑎𝑡ℎ – множество, состоящие из всех
существующих значений атрибута маршрута
BGP AS_PATH в текущий мо...
«Ядро» Интернета
Множество транзитных АС неоднородно:
• Пропускают только трафик клиентов
• Имеют пиринговые отношения с с...
Пример нахождения 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
AS...
Свойства CORE
Лемма
Предел lim
𝑖→∞
𝑃𝑒𝑒𝑟𝑠 𝑖 существует и отличен от пустого множества.
• 𝐺′
𝐸′
, 𝑉′
≤ 𝐺 𝐸, 𝑉 :
• ∀𝑣 ∈ 𝑉′
→ ...
Граф G
AS1
100
100
200
200
Граф G’
AS1
200
200
Теорема
Для любой вершины в графе 𝐺′
существует путь из вершины Origin,
при условии, что 𝐺′ ацикличен
Прикладное применение
• Хостингам: выбор сервис провайдера
• Reverse Traceroute
• Обнаружение LOCAL_PREF циклов
• Определе...
Выбор сервис провайдера
Время сходимости Псевдо-транзитные АС
CORE
AS1
AS2
AS3
10 АС до CORE
=
До 5 минут
задержки Больше ...
Выбор сервис провайдера
Псевдо-транзитные АС Псевдо-многоинтерфейсные АС
AS1 AS2
AS3
Являются ли AS1 и AS2
транзитными?
AS...
Reverse Traceroute
• АС – единая политика маршрутизации
• Reverse Traceroute – знание, как к тебе идет
трафик от других АС...
LOCAL_PREF циклы
• Причина сетевой нестабильности для целевого префикса
• Создание постоянного «шума» из BGP сообщений
• З...
Переход к G’
• Причина сетевой нестабильности для целевого префикса
• Создание постоянного «шума» из BGP сообщений
• Замед...
Время сходимости
Рассматриваемые события:
• Объявление маршрута к префиксу I автономной системой X
• Удаление маршрута к п...
Система моделирования
Критерии сравнения
SSFNet NS-2 PRIME CBGP Разработанная
система
Реализация политик
маршрутизации
- -...
Проверка распределений
Объявление маршрута
𝑑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
...
Flap Damping DoS?
• Yes!
• Не блокируется ни одним существующим
расширением BGP
Данные для экспериментов
• List of router registries
http://www.irr.net/docs/list.html
• BGP dumps
http://www.ripe.net/pro...
Результаты
• Разработана модель BGP маршрутизации
• Сформулированы оценки времени сходимости
протокола BGP
• Разработана с...
Отключите Flap Damping
Спасибо за внимание!
Вопросы?
Upcoming SlideShare
Loading in …5
×

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

932 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
932
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

  1. 1. Некоторые аспекты влияния сходимости протокола BGP на доступность сетевых ресурсов Александр Азимов <aa@highloadlab.com>
  2. 2. Автономные системы Многоинтерфейсные Транзитные Ограниченные AS1 AS2 AS3 AS1 AS2 AS3 AS1 AS2
  3. 3. Протокол BGP • Border Gateway Protocol (RFC 1771, 4271) • Де-факто стандартный протокол внешней маршрутизации • Дистанционно-векторный протокол • Политика маршрутизации • Набор атрибутов маршрутов • LOCAL_PREF • AS_PATH • …
  4. 4. Политика маршрутизации 200 100 LOCAL_PREF AS_PATH prepend 4 𝐴𝑆1 𝐴𝑆2 𝐴𝑆3 ↓ 𝐴𝑆1 𝐴𝑆2 𝐴𝑆2 𝐴𝑆2 𝐴𝑆2 𝐴𝑆3 AS1 AS2 AS3 100 200
  5. 5. Почему на уровне АС? АС в маршрутизации = материальная точка в физике Весь трафик к целевому префиксу будет идти одинаково для каждой АС
  6. 6. Чего мы хотим добиться? • Типизировать АС • Хостингам: выбор сервис провайдера • Reverse Traceroute • Моделирование механизмов самого BGP
  7. 7. Решаем в лоб Раскрасить граф АС AS1 AS3 AS2
  8. 8. Решаем в лоб Раскрасить граф АС AS1 AS3 AS2 Customers 2 Customers 3
  9. 9. Решаем в лоб Раскрасить граф АС AS1 AS3 AS2 Customers 2 Customers 3 AS4
  10. 10. Решаем в лоб Раскрасить граф АС AS1 AS3 AS2 Customers 2 Customers 3 AS4 Ничего сказать нельзя! Автономные системы > 35000 200 200 100 100
  11. 11. NP-полная задача для каждой АС Раскрасить граф АС AS1 AS3 AS2 Customers 2 Customers 3 AS4 Автономные системы > 35000 200 200 100 100
  12. 12. Политика маршрутизации 200 100 LOCAL_PREF AS_PATH prepend 4 𝐴𝑆1 𝐴𝑆2 𝐴𝑆3 ↓ 𝐴𝑆1 𝐴𝑆2 𝐴𝑆2 𝐴𝑆2 𝐴𝑆2 𝐴𝑆3 AS1 AS2 AS3 100 200
  13. 13. Политика маршрутизации 200 100 LOCAL_PREF AS_PATH prepend 4 𝐴𝑆1 𝐴𝑆2 𝐴𝑆3 ↓ 𝐴𝑆1 𝐴𝑆2 𝐴𝑆2 𝐴𝑆2 𝐴𝑆2 𝐴𝑆3 AS1 AS2 AS3 100 200 Избавиться от LOCAL_PREF = свести задачу к поиску минимального пути в графе
  14. 14. Формальная модель 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
  15. 15. Транзитные АС Пусть 𝐴𝑆𝑃𝑎𝑡ℎ – множество, состоящие из всех существующих значений атрибута маршрута BGP AS_PATH в текущий момент времени. Тогда признаком транзитной автономной системы будет: 𝑥 ∈ 𝐴𝑆𝑇𝑟𝑎𝑛𝑠𝑖𝑡 ↔ ∃𝑝𝑎𝑡ℎ ∈ 𝐴𝑆𝑃𝑎𝑡ℎ, ∃𝑖 < 𝑝𝑎𝑡ℎ : 𝑥 = 𝑝𝑎𝑡ℎ𝑖
  16. 16. «Ядро» Интернета Множество транзитных АС неоднородно: • Пропускают только трафик клиентов • Имеют пиринговые отношения с соседями 1. 𝑃𝑒𝑒𝑟𝑠 0 = 𝑇𝑟𝑎𝑛𝑠𝑖𝑡 2. 𝑃𝑒𝑒𝑟𝑠 𝑖 + 1 = 𝑥 ∈ 𝑃𝑒𝑒𝑟𝑠 𝑖 | ∃𝑝𝑎𝑡ℎ ∈ 𝐴𝑆𝑃𝑎𝑡ℎ, ∃𝑖 < 𝑗 < 𝑝𝑎𝑡ℎ : 𝑥 = 𝑝𝑎𝑡ℎ𝑖&𝑝𝑎𝑡ℎ 𝑗 ∈ 𝑃𝑒𝑒𝑟𝑠 𝑖 3. lim 𝑖→∞ 𝑃𝑒𝑒𝑟𝑠 𝑖 = CORE
  17. 17. Пример нахождения CORE • 𝑇𝑟𝑎𝑛𝑠𝑖𝑡 = *𝐴𝑆2, 𝐴𝑆3,𝐴𝑆4, 𝐴𝑆5, 𝐴𝑆6+ AS3 AS2 AS4 AS5 AS1 AS6 AS7
  18. 18. Пример нахождения CORE AS3 AS2 AS4 AS5 AS1 AS6 AS7 • 𝑇𝑟𝑎𝑛𝑠𝑖𝑡 = *𝐴𝑆2, 𝐴𝑆3,𝐴𝑆4, 𝐴𝑆5, 𝐴𝑆6+ • 𝑃𝑒𝑒𝑟 1 = *𝐴𝑆3, 𝐴𝑆4, 𝐴𝑆5+
  19. 19. Пример нахождения CORE • 𝑇𝑟𝑎𝑛𝑠𝑖𝑡 = *𝐴𝑆2, 𝐴𝑆3,𝐴𝑆4, 𝐴𝑆5, 𝐴𝑆6+ • 𝑃𝑒𝑒𝑟 1 = *𝐴𝑆3, 𝐴𝑆4, 𝐴𝑆5+ • 𝑃𝑒𝑒𝑟 2 = *𝐴𝑆3, 𝐴𝑆4+ = 𝐶𝑂𝑅𝐸 AS3 AS2 AS4 AS5 AS1 AS6 AS7
  20. 20. Свойства CORE Лемма Предел lim 𝑖→∞ 𝑃𝑒𝑒𝑟𝑠 𝑖 существует и отличен от пустого множества. • 𝐺′ 𝐸′ , 𝑉′ ≤ 𝐺 𝐸, 𝑉 : • ∀𝑣 ∈ 𝑉′ → 𝑣 ∈ 𝐶𝑜𝑟𝑒, • ∀ 𝑣1, 𝑣2 ∈ 𝐸′ → max 𝑝𝑟𝑒𝑓 𝑣𝑖, 𝑣2 = 𝑝𝑟𝑒𝑓 𝑣1, 𝑣2
  21. 21. Граф G AS1 100 100 200 200
  22. 22. Граф G’ AS1 200 200 Теорема Для любой вершины в графе 𝐺′ существует путь из вершины Origin, при условии, что 𝐺′ ацикличен
  23. 23. Прикладное применение • Хостингам: выбор сервис провайдера • Reverse Traceroute • Обнаружение LOCAL_PREF циклов • Определение времени сходимости • Моделирование механизмов самого BGP
  24. 24. Выбор сервис провайдера Время сходимости Псевдо-транзитные АС CORE AS1 AS2 AS3 10 АС до CORE = До 5 минут задержки Больше хопов – медленнее соединение
  25. 25. Выбор сервис провайдера Псевдо-транзитные АС Псевдо-многоинтерфейсные АС AS1 AS2 AS3 Являются ли AS1 и AS2 транзитными? AS3 многоинтерфейсная? AS4 CORE
  26. 26. Reverse Traceroute • АС – единая политика маршрутизации • Reverse Traceroute – знание, как к тебе идет трафик от других АС • Если знать, как идет трафик, можно его балансировать – profit!
  27. 27. LOCAL_PREF циклы • Причина сетевой нестабильности для целевого префикса • Создание постоянного «шума» из BGP сообщений • Замедление времени сходимости по всей сети АС AS3 AS2 AS4 AS5 AS1 AS6 AS7 200 100 100200
  28. 28. Переход к G’ • Причина сетевой нестабильности для целевого префикса • Создание постоянного «шума» из BGP сообщений • Замедление времени сходимости по всей сети АС AS3 AS2 AS4 AS5 AS1 AS6 200 200
  29. 29. Время сходимости Рассматриваемые события: • Объявление маршрута к префиксу I автономной системой X • Удаление маршрута к префиксу I автономной системой Х  𝐸𝑇𝑢𝑝 = 𝜃 𝑑 × 𝐸𝑡 𝑤𝑎𝑖𝑡 , где d – диаметр относительно вершины Х в графе G’  𝐸𝑇𝑑𝑜𝑤𝑛 = 𝜃 𝐷 × 𝐸𝑡 𝑤𝑎𝑖𝑡 , где D – длина гамильтонова пути относительно вершины Х в графе G
  30. 30. Система моделирования Критерии сравнения SSFNet NS-2 PRIME CBGP Разработанная система Реализация политик маршрутизации - - + + + Полнота стека BGP- решений +/- +/- + + + Модель передачи BGP сообщений Пакетный уровень Пакетный уровень Пакетный уровень В виде объектов В виде объектов Возможность моделирования сходимости BGP маршрутизации + + + - + Возможность распределенных вычислений + - + - + Масштабируемость + + - + +
  31. 31. Проверка распределений Объявление маршрута 𝑑max 𝑋 × 𝐸(𝑡 𝑤𝑎𝑖𝑡) ≤ 𝐸𝑇𝑢𝑝 ≤ 𝑑max 𝑋 × 𝐸 𝑡 𝑤𝑎𝑖𝑡 + 𝑠
  32. 32. Проверка распределений 𝐷1 2 𝑚𝑎𝑥 𝑥 × 𝐸(𝑡 𝑤𝑎𝑖𝑡) ≤ 𝐸𝑇𝑑𝑜𝑤𝑛 ≤ 𝐷 𝑚𝑎𝑥 𝑥 × 𝐸 𝑡 𝑤𝑎𝑖𝑡 + 𝑠 Удаление маршрута
  33. 33. Flap Damping Зачем? Снижение нагрузки на сеть BGP маршрутизаторов от нестабильных маршрутов, не оказывая влияния на время сходимости в стабильных участках сети.
  34. 34. Flap Damping Процесс удаления маршрута AS1 AS2 AS3 AS5 AS6 AS4
  35. 35. Flap Damping Кто придет первым? Процесс удаления маршрута AS1 AS2 AS3 AS5 AS6 AS4
  36. 36. Flap Damping
  37. 37. Flap Damping Вероятность появления мигающего маршрута в кольце маршрутизаторов длины n: 2 × Ф 7 × 3 𝑛 + 1 − Ф 2 × 3 𝑛 + 1 ,при 𝑛 четном,2 × Ф 6 × 3 𝑛 + 1 − Ф 3 𝑛 + 1 , при 𝑛 нечетном
  38. 38. Flap Damping DoS? • Yes! • Не блокируется ни одним существующим расширением BGP
  39. 39. Данные для экспериментов • 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
  40. 40. Результаты • Разработана модель BGP маршрутизации • Сформулированы оценки времени сходимости протокола BGP • Разработана система моделирования для проверки теоретических оценок • Рассмотрены механизмы BGP LOCAL_PREF и Flap Damping и их влияние на доступность сетевых ресурсов • Предложен метод для построения Reverse Traceroute
  41. 41. Отключите Flap Damping
  42. 42. Спасибо за внимание! Вопросы?

×