SlideShare a Scribd company logo
Некоторые аспекты влияния сходимости
    протокола BGP на доступность
          сетевых ресурсов
        Александр Азимов
      <aa@highloadlab.com>
Автономные системы
                          AS2
Многоинтерфейсные   AS1
                          AS3

                          AS2
   Транзитные       AS1
                          AS3

                          AS2
  Ограниченные      AS1
Протокол BGP
• Border Gateway Protocol (RFC 1771, 4271)
• Де-факто стандартный протокол внешней
  маршрутизации
• Дистанционно-векторный протокол
• Политика маршрутизации
• Набор атрибутов маршрутов
  •   LOCAL_PREF
  •   AS_PATH
  •   …
Политика маршрутизации
                           100
                            100        AS2
   LOCAL_PREF        AS1
                            200
                           200         AS3


                          𝐴𝑆1 𝐴𝑆2 𝐴𝑆3
AS_PATH prepend 4              ↓
                    𝐴𝑆1 𝐴𝑆2 𝐴𝑆2 𝐴𝑆2 𝐴𝑆2 𝐴𝑆3
Почему на уровне АС?

АС в маршрутизации = материальная точка в
                  физике
Весь трафик к целевому префиксу будет идти
         одинаково для каждой АС
Чего мы хотим добиться?
• Типизировать АС
  • Хостингам: выбор сервис провайдера
• Reverse Traceroute
• Моделирование механизмов самого BGP
Решаем в лоб
Раскрасить граф АС
                             AS2



                                   AS1



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

                             AS2



                                            AS1



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

                             AS2
                     AS4

                                            AS1



                             AS3
                                     Customers 3
Решаем в лоб
Раскрасить граф АС                                          Customers 2
                                   200
                                                      AS2
                             200                100
                                         AS4
        Автономные системы
              > 35000                                                AS1
                                          100


                                                      AS3

Ничего сказать нельзя!                                        Customers 3
NP-полная задача для каждой АС
Раскрасить граф АС                                          Customers 2
                                   200
                                                      AS2
                             200                100
                                         AS4
        Автономные системы
              > 35000                                                AS1
                                          100


                                                      AS3
                                                              Customers 3
Политика маршрутизации
                           100
                            100        AS2
   LOCAL_PREF        AS1
                            200
                           200         AS3


                          𝐴𝑆1 𝐴𝑆2 𝐴𝑆3
AS_PATH prepend 4              ↓
                    𝐴𝑆1 𝐴𝑆2 𝐴𝑆2 𝐴𝑆2 𝐴𝑆2 𝐴𝑆3
Политика маршрутизации
                                                   100
                                                    100        AS2
              LOCAL_PREF                     AS1
                                                    200
                                                   200         AS3


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


Избавиться от LOCAL_PREF = свести задачу к поиску минимального пути в графе
Формальная модель
                                                        prefix: I
                      Pref = 100
        AS1                              AS2      AS_PATH: 𝐴𝑆1 𝐴𝑆2 𝐴𝑆2
                     Prepend = 2                    LOCAL_PREF: 100

Представим модель сети автономных систем, как ориентированный граф 𝐺 𝑉, 𝐸 :
•   V – автономные системы
•     𝑎𝑠1 , 𝑎𝑠2 ∈ 𝐸 тогда и только тогда, когда АС 𝑎𝑠1 будет анонсировать маршрут к
    префиксу I BGP АС 𝑎𝑠2
•   Вес дуги состоит из двух частей:
    •         Prepend – политика AS_PATH АС 𝑎𝑠1
    •         Pref – политика LOCAL_PREF 𝑎𝑠2
Транзитные АС
Пусть 𝐴𝑆𝑃𝑎𝑡ℎ – множество, состоящие из всех
  существующих значений атрибута маршрута
  BGP AS_PATH в текущий момент времени.
Тогда признаком транзитной автономной
  системы будет:
 𝑥 ∈ 𝐴𝑆𝑇𝑟𝑎𝑛𝑠𝑖𝑡 ↔ ∃𝑝𝑎𝑡ℎ ∈ 𝐴𝑆𝑃𝑎𝑡ℎ, ∃𝑖 < 𝑝𝑎𝑡ℎ : 𝑥 = 𝑝𝑎𝑡ℎ 𝑖
«Ядро» Интернета
Множество транзитных АС неоднородно:
• Пропускают только трафик клиентов
• Имеют пиринговые отношения с соседями
1.    𝑃𝑒𝑒𝑟𝑠 0 = 𝑇𝑟𝑎𝑛𝑠𝑖𝑡
2.    𝑃𝑒𝑒𝑟𝑠 𝑖 + 1 =
       𝑥 ∈ 𝑃𝑒𝑒𝑟𝑠 𝑖 | ∃𝑝𝑎𝑡ℎ ∈ 𝐴𝑆𝑃𝑎𝑡ℎ, ∃𝑖 < 𝑗 < 𝑝𝑎𝑡ℎ : 𝑥 = 𝑝𝑎𝑡ℎ 𝑖 &𝑝𝑎𝑡ℎ 𝑗 ∈ 𝑃𝑒𝑒𝑟𝑠 𝑖
3.   lim 𝑃𝑒𝑒𝑟𝑠 𝑖 = CORE
     𝑖→∞
Пример нахождения CORE
                                                    AS3   AS4


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




                                                    AS1   AS6         AS7
Пример нахождения CORE
                                                    AS3   AS4

•   𝑇𝑟𝑎𝑛𝑠𝑖𝑡 = *𝐴𝑆2 , 𝐴𝑆3 ,𝐴𝑆4 , 𝐴𝑆5 , 𝐴𝑆6 +
•   𝑃𝑒𝑒𝑟 1 = *𝐴𝑆3 , 𝐴𝑆4 , 𝐴𝑆5 +               AS2               AS5




                                                    AS1   AS6         AS7
Пример нахождения CORE
                                                    AS3   AS4


•   𝑇𝑟𝑎𝑛𝑠𝑖𝑡 = *𝐴𝑆2 , 𝐴𝑆3 ,𝐴𝑆4 , 𝐴𝑆5 , 𝐴𝑆6 +
•   𝑃𝑒𝑒𝑟 1 = *𝐴𝑆3 , 𝐴𝑆4 , 𝐴𝑆5 +               AS2               AS5
•   𝑃𝑒𝑒𝑟 2 = *𝐴𝑆3 , 𝐴𝑆4 + = 𝐶𝑂𝑅𝐸



                                                    AS1   AS6         AS7
Свойства CORE
Лемма
Предел lim 𝑃𝑒𝑒𝑟𝑠 𝑖 существует и отличен от пустого множества.
        𝑖→∞


• 𝐺 ′ 𝐸 ′ , 𝑉 ′ ≤ 𝐺 𝐸, 𝑉 :
• ∀𝑣 ∈ 𝑉 ′ → 𝑣 ∈ 𝐶𝑜𝑟𝑒,
•   ∀ 𝑣1 , 𝑣2 ∈ 𝐸 ′ → max 𝑝𝑟𝑒𝑓 𝑣 𝑖 , 𝑣2   = 𝑝𝑟𝑒𝑓 𝑣1 , 𝑣2
Граф G
      100


        AS1
200               100

            200
Граф G’

                             AS1
                   200

                               200

Теорема
Для любой вершины в графе 𝐺 ′ существует путь из вершины Origin,
при условии, что 𝐺 ′ ацикличен
Прикладное применение
•   Хостингам: выбор сервис провайдера
•   Reverse Traceroute
•   Обнаружение LOCAL_PREF циклов
•   Определение времени сходимости
•   Моделирование механизмов самого BGP
Выбор сервис провайдера
Время сходимости           Псевдо-транзитные АС
          10 АС до CORE
                 =
            До 5 минут           AS3
             задержки                  Больше хопов –
                                         медленнее
                          AS2
                                         соединение
                    AS1
           CORE
Выбор сервис провайдера
Псевдо-транзитные АС               Псевдо-многоинтерфейсные АС
                             AS3

                       AS1           AS2

 Являются ли AS1 и AS2
     транзитными?
                                           AS4
AS3 многоинтерфейсная?
                                                      CORE
Reverse Traceroute
• АС – единая политика маршрутизации
• Reverse Traceroute – знание, как к тебе идет
  трафик от других АС
• Если знать, как идет трафик, можно его
  балансировать – profit!
LOCAL_PREF циклы
               AS3            AS4          100
                                    200

         AS2                              AS5    AS7



               AS1            AS6
                        200                100

•   Причина сетевой нестабильности для целевого префикса
•   Создание постоянного «шума» из BGP сообщений
•   Замедление времени сходимости по всей сети АС
Переход к G’
               AS3            AS4
                                    200

         AS2                              AS5


               AS1            AS6
                        200

•   Причина сетевой нестабильности для целевого префикса
•   Создание постоянного «шума» из BGP сообщений
•   Замедление времени сходимости по всей сети АС
Время сходимости
Рассматриваемые события:
• Объявление маршрута к префиксу I автономной системой X
• Удаление маршрута к префиксу I автономной системой Х
    𝐸𝑇 𝑢𝑝 = 𝜃 𝑑 × 𝐸𝑡 𝑤𝑎𝑖𝑡 , где d – диаметр относительно
    вершины Х в графе G’
    𝐸𝑇 𝑑𝑜𝑤𝑛 = 𝜃 𝐷 × 𝐸𝑡 𝑤𝑎𝑖𝑡 , где D – длина гамильтонова
    пути относительно вершины Х в графе G
Система моделирования
    Критерии сравнения
                                SSFNet               NS-2             PRIME              CBGP           Разработанная
                                                                                                           система
    Реализация политик
      маршрутизации
                                    -                  -                  +                 +                  +

Полнота стека BGP- решений         +/-                +/-                 +                 +                  +
   Модель передачи BGP
                             Пакетный уровень   Пакетный уровень   Пакетный уровень   В виде объектов    В виде объектов
        сообщений
Возможность моделирования
      сходимости BGP                +                  +                  +                 -                  +
      маршрутизации

Возможность распределенных
       вычислений
                                    +                  -                  +                 -                  +

    Масштабируемость                +                  +                  -                 +                  +
Проверка распределений
  𝑑 max 𝑋 × 𝐸(𝑡 𝑤𝑎𝑖𝑡 ) ≤ 𝐸𝑇 𝑢𝑝 ≤ 𝑑 max 𝑋 × 𝐸 𝑡 𝑤𝑎𝑖𝑡 + 𝑠



         Объявление маршрута
Проверка распределений
 𝐷1𝑚𝑎𝑥 𝑥 × 𝐸(𝑡 𝑤𝑎𝑖𝑡 ) ≤ 𝐸𝑇 𝑑𝑜𝑤𝑛 ≤ 𝐷   𝑚𝑎𝑥   𝑥 × 𝐸 𝑡 𝑤𝑎𝑖𝑡 + 𝑠
 2



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

Процесс
удаления    AS1                 AS6

маршрута
                  AS3     AS5
Flap Damping
                     AS2        AS4

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

маршрута
                     AS3        AS5
Flap Damping
Flap Damping
Вероятность появления мигающего маршрута в кольце маршрутизаторов длины n:
            3             3                                 3        3
2× Ф 7×        −Ф 2×           , при 𝑛 четном, 2 × Ф 6 ×       −Ф         , при 𝑛 нечетном
           𝑛+1           𝑛+1                               𝑛+1      𝑛+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
Спасибо за внимание!
       Вопросы?

More Related Content

Viewers also liked

Антон Карпов - Обзорная лекция по безопасности
Антон Карпов - Обзорная лекция по безопасностиАнтон Карпов - Обзорная лекция по безопасности
Антон Карпов - Обзорная лекция по безопасностиYandex
 
Расширенные возможности протокола BGP
Расширенные возможности протокола BGPРасширенные возможности протокола BGP
Расширенные возможности протокола BGP
Cisco Russia
 
Presentation at the conference
Presentation at the conferencePresentation at the conference
Presentation at the conferenceVitaly Grigoriev
 
Кибербезопасность 2016-2017: От итогов к прогнозам
Кибербезопасность 2016-2017: От итогов к прогнозамКибербезопасность 2016-2017: От итогов к прогнозам
Кибербезопасность 2016-2017: От итогов к прогнозам
Alexey Komarov
 
Bgp
BgpBgp
BGP Overview
BGP OverviewBGP Overview
BGP Overview
Matt Bynum
 
Naumen Network Manager. Мониторинг, понятный и так нужный Бизнесу
Naumen Network Manager. Мониторинг, понятный и так нужный БизнесуNaumen Network Manager. Мониторинг, понятный и так нужный Бизнесу
Naumen Network Manager. Мониторинг, понятный и так нужный Бизнесу
NAUMEN. Информационные системы управления растущим бизнесом
 
7 tips to create visual presentations
7 tips to create visual presentations7 tips to create visual presentations
7 tips to create visual presentations
Emiland
 
BGP protocol presentation
BGP protocol  presentationBGP protocol  presentation
BGP protocol presentation
Gorantla Mohanavamsi
 
STEAL THIS PRESENTATION!
STEAL THIS PRESENTATION! STEAL THIS PRESENTATION!
STEAL THIS PRESENTATION!
Jesse Desjardins - @jessedee
 
Slides That Rock
Slides That RockSlides That Rock
Slides That Rock
Slides That Rock
 
You Suck At PowerPoint! by @jessedee
You Suck At PowerPoint! by @jessedeeYou Suck At PowerPoint! by @jessedee
You Suck At PowerPoint! by @jessedee
Jesse Desjardins - @jessedee
 

Viewers also liked (12)

Антон Карпов - Обзорная лекция по безопасности
Антон Карпов - Обзорная лекция по безопасностиАнтон Карпов - Обзорная лекция по безопасности
Антон Карпов - Обзорная лекция по безопасности
 
Расширенные возможности протокола BGP
Расширенные возможности протокола BGPРасширенные возможности протокола BGP
Расширенные возможности протокола BGP
 
Presentation at the conference
Presentation at the conferencePresentation at the conference
Presentation at the conference
 
Кибербезопасность 2016-2017: От итогов к прогнозам
Кибербезопасность 2016-2017: От итогов к прогнозамКибербезопасность 2016-2017: От итогов к прогнозам
Кибербезопасность 2016-2017: От итогов к прогнозам
 
Bgp
BgpBgp
Bgp
 
BGP Overview
BGP OverviewBGP Overview
BGP Overview
 
Naumen Network Manager. Мониторинг, понятный и так нужный Бизнесу
Naumen Network Manager. Мониторинг, понятный и так нужный БизнесуNaumen Network Manager. Мониторинг, понятный и так нужный Бизнесу
Naumen Network Manager. Мониторинг, понятный и так нужный Бизнесу
 
7 tips to create visual presentations
7 tips to create visual presentations7 tips to create visual presentations
7 tips to create visual presentations
 
BGP protocol presentation
BGP protocol  presentationBGP protocol  presentation
BGP protocol presentation
 
STEAL THIS PRESENTATION!
STEAL THIS PRESENTATION! STEAL THIS PRESENTATION!
STEAL THIS PRESENTATION!
 
Slides That Rock
Slides That RockSlides That Rock
Slides That Rock
 
You Suck At PowerPoint! by @jessedee
You Suck At PowerPoint! by @jessedeeYou Suck At PowerPoint! by @jessedee
You Suck At PowerPoint! by @jessedee
 

More from HLL

Beyond the botnet
Beyond the botnetBeyond the botnet
Beyond the botnet
HLL
 
Dumb Ways To Die: How Not To Write TCP-based Network Applications
Dumb Ways To Die: How Not To Write TCP-based Network ApplicationsDumb Ways To Die: How Not To Write TCP-based Network Applications
Dumb Ways To Die: How Not To Write TCP-based Network Applications
HLL
 
DDoS Attacks, Russia, 2011- 2012: Patterns and Trends
DDoS Attacks, Russia, 2011- 2012: Patterns and TrendsDDoS Attacks, Russia, 2011- 2012: Patterns and Trends
DDoS Attacks, Russia, 2011- 2012: Patterns and Trends
HLL
 
BGP Route Stability
BGP Route StabilityBGP Route Stability
BGP Route Stability
HLL
 
DDoS: Practical Survival Guide
DDoS: Practical Survival GuideDDoS: Practical Survival Guide
DDoS: Practical Survival Guide
HLL
 
Порядок преодоления болота на маршруте: как не надо писать приложения, основа...
Порядок преодоления болота на маршруте: как не надо писать приложения, основа...Порядок преодоления болота на маршруте: как не надо писать приложения, основа...
Порядок преодоления болота на маршруте: как не надо писать приложения, основа...
HLL
 
DDоS: Практическое руководство к выживанию. (Часть 2: Работа над ошибками)
DDоS: Практическое руководство к выживанию. (Часть 2: Работа над ошибками)DDоS: Практическое руководство к выживанию. (Часть 2: Работа над ошибками)
DDоS: Практическое руководство к выживанию. (Часть 2: Работа над ошибками)
HLL
 
Detecting Autonomous Systems Relationships
Detecting Autonomous Systems RelationshipsDetecting Autonomous Systems Relationships
Detecting Autonomous Systems Relationships
HLL
 
DDoS-атаки в 2011 году: характер и тенденции
DDoS-атаки в 2011 году: характер и тенденцииDDoS-атаки в 2011 году: характер и тенденции
DDoS-атаки в 2011 году: характер и тенденции
HLL
 
Архитектура центра очистки трафика (ЦОТ): решения уровня оператора связи и ко...
Архитектура центра очистки трафика (ЦОТ): решения уровня оператора связи и ко...Архитектура центра очистки трафика (ЦОТ): решения уровня оператора связи и ко...
Архитектура центра очистки трафика (ЦОТ): решения уровня оператора связи и ко...
HLL
 
Russian Internet Core: политики маршрутизации
Russian Internet Core: политики маршрутизацииRussian Internet Core: политики маршрутизации
Russian Internet Core: политики маршрутизации
HLL
 
Классификация DDoS-атак
Классификация DDoS-атакКлассификация DDoS-атак
Классификация DDoS-атак
HLL
 
Тандемные DDoS-атаки / Проблематика уязвимостей в спецификации TCP/IP (фундам...
Тандемные DDoS-атаки / Проблематика уязвимостей в спецификации TCP/IP (фундам...Тандемные DDoS-атаки / Проблематика уязвимостей в спецификации TCP/IP (фундам...
Тандемные DDoS-атаки / Проблематика уязвимостей в спецификации TCP/IP (фундам...
HLL
 
Динамика DDoS-атак в России
Динамика DDoS-атак в РоссииДинамика DDoS-атак в России
Динамика DDoS-атак в России
HLL
 
DDoS: Практическое руководство к выживанию
DDoS: Практическое руководство к выживаниюDDoS: Практическое руководство к выживанию
DDoS: Практическое руководство к выживанию
HLL
 
DDoS-атаки Рунета в 2011-2012 гг.: характер и тенденции
DDoS-атаки Рунета в 2011-2012 гг.: характер и тенденцииDDoS-атаки Рунета в 2011-2012 гг.: характер и тенденции
DDoS-атаки Рунета в 2011-2012 гг.: характер и тенденции
HLL
 
Инструментарий Anonymous и его поражающие факторы
Инструментарий Anonymous и его поражающие факторыИнструментарий Anonymous и его поражающие факторы
Инструментарий Anonymous и его поражающие факторы
HLL
 

More from HLL (17)

Beyond the botnet
Beyond the botnetBeyond the botnet
Beyond the botnet
 
Dumb Ways To Die: How Not To Write TCP-based Network Applications
Dumb Ways To Die: How Not To Write TCP-based Network ApplicationsDumb Ways To Die: How Not To Write TCP-based Network Applications
Dumb Ways To Die: How Not To Write TCP-based Network Applications
 
DDoS Attacks, Russia, 2011- 2012: Patterns and Trends
DDoS Attacks, Russia, 2011- 2012: Patterns and TrendsDDoS Attacks, Russia, 2011- 2012: Patterns and Trends
DDoS Attacks, Russia, 2011- 2012: Patterns and Trends
 
BGP Route Stability
BGP Route StabilityBGP Route Stability
BGP Route Stability
 
DDoS: Practical Survival Guide
DDoS: Practical Survival GuideDDoS: Practical Survival Guide
DDoS: Practical Survival Guide
 
Порядок преодоления болота на маршруте: как не надо писать приложения, основа...
Порядок преодоления болота на маршруте: как не надо писать приложения, основа...Порядок преодоления болота на маршруте: как не надо писать приложения, основа...
Порядок преодоления болота на маршруте: как не надо писать приложения, основа...
 
DDоS: Практическое руководство к выживанию. (Часть 2: Работа над ошибками)
DDоS: Практическое руководство к выживанию. (Часть 2: Работа над ошибками)DDоS: Практическое руководство к выживанию. (Часть 2: Работа над ошибками)
DDоS: Практическое руководство к выживанию. (Часть 2: Работа над ошибками)
 
Detecting Autonomous Systems Relationships
Detecting Autonomous Systems RelationshipsDetecting Autonomous Systems Relationships
Detecting Autonomous Systems Relationships
 
DDoS-атаки в 2011 году: характер и тенденции
DDoS-атаки в 2011 году: характер и тенденцииDDoS-атаки в 2011 году: характер и тенденции
DDoS-атаки в 2011 году: характер и тенденции
 
Архитектура центра очистки трафика (ЦОТ): решения уровня оператора связи и ко...
Архитектура центра очистки трафика (ЦОТ): решения уровня оператора связи и ко...Архитектура центра очистки трафика (ЦОТ): решения уровня оператора связи и ко...
Архитектура центра очистки трафика (ЦОТ): решения уровня оператора связи и ко...
 
Russian Internet Core: политики маршрутизации
Russian Internet Core: политики маршрутизацииRussian Internet Core: политики маршрутизации
Russian Internet Core: политики маршрутизации
 
Классификация DDoS-атак
Классификация DDoS-атакКлассификация DDoS-атак
Классификация DDoS-атак
 
Тандемные DDoS-атаки / Проблематика уязвимостей в спецификации TCP/IP (фундам...
Тандемные DDoS-атаки / Проблематика уязвимостей в спецификации TCP/IP (фундам...Тандемные DDoS-атаки / Проблематика уязвимостей в спецификации TCP/IP (фундам...
Тандемные DDoS-атаки / Проблематика уязвимостей в спецификации TCP/IP (фундам...
 
Динамика DDoS-атак в России
Динамика DDoS-атак в РоссииДинамика DDoS-атак в России
Динамика DDoS-атак в России
 
DDoS: Практическое руководство к выживанию
DDoS: Практическое руководство к выживаниюDDoS: Практическое руководство к выживанию
DDoS: Практическое руководство к выживанию
 
DDoS-атаки Рунета в 2011-2012 гг.: характер и тенденции
DDoS-атаки Рунета в 2011-2012 гг.: характер и тенденцииDDoS-атаки Рунета в 2011-2012 гг.: характер и тенденции
DDoS-атаки Рунета в 2011-2012 гг.: характер и тенденции
 
Инструментарий Anonymous и его поражающие факторы
Инструментарий Anonymous и его поражающие факторыИнструментарий Anonymous и его поражающие факторы
Инструментарий Anonymous и его поражающие факторы
 

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

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