Протокол пограничного шлюза и масштабируемость маршрутизации

Автор: Roger Morrison
Дата создания: 21 Сентябрь 2021
Дата обновления: 21 Июнь 2024
Anonim
Протокол BGP | Компьютерные сети. Продвинутые темы
Видео: Протокол BGP | Компьютерные сети. Продвинутые темы

Содержание


вынос:

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

В информатике важной концепцией является масштабируемостьили насколько хорошо способ выполнения определенной задачи продолжает работать при увеличении размера задачи. Например, запись телефонных номеров на клочках бумаги работает довольно хорошо, когда вам нужно отслеживать дюжину телефонных номеров: для поиска заданного номера требуется всего десять секунд. Но для города с населением 100 000 человек теперь требуется сто тысяч секунд (около суток), чтобы найти число. Используя телефонную книгу для города с населением в 100 000 человек, требуется около полминуты, чтобы найти номер телефона с указанным именем. Большим преимуществом является не столько то, что использование книги намного быстрее, чем использование отдельных клочков бумаги, но и то, что при удвоении размера проблемы вы не удваиваете объем работы по ее решению: поиск по телефону Книга, которая в два раза больше, занимает всего пару лишних секунд: имя, которое я ищу в первой половине второй половины? Это не занимает в два раза больше времени, и, следовательно, телефонные книги можно масштабировать, а записки - нет. Масштабируемость маршрутизации - это применение понятия масштабируемости к проблеме доставки пакетов в нужное место назначения через Интернет.


Масштабируемость в маршрутизации данных

Масштабируемость маршрутизации состоит из двух вопросов: плоскости управления и плоскости данных.

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


Во время семинара по маршрутизации и адресации в архитектуре Интернета, проходившего в Амстердаме в 2006 году, утверждалось, что требуемая скорость увеличения памяти опережает увеличение производительности готовых компонентов, особенно сейчас, когда отдельные SRAM больше не используются широко. Раньше компьютеры использовали высокоскоростную SRAM в качестве кеша памяти, но в наши дни эта функция включена в сам процессор, поэтому SRAM больше не является легкодоступным товарным чипом. Это означает, что затраты на маршрутизаторы самого высокого уровня будут расти намного быстрее, чем они были до сих пор. Однако после семинара по маршрутизации и адресации IAB несколько поставщиков маршрутизаторов вышли и заявили в беседах и в списках рассылки, что эта проблема не является немедленной в настоящее время и что рост на прогнозируемых в настоящее время уровнях не создаст проблем в обозримом будущем.

Протокол пограничного шлюза

Плоскость управления состоит из процессора маршрутов, который выполняет протокол маршрутизации BGP, и связанных задач, которые должны выполняться маршрутизатором, чтобы иметь возможность создавать таблицу пересылки. BGP - это протокол, который используют интернет-провайдеры и некоторые другие сети, чтобы сообщать друг другу, где и где используются IP-адреса, поэтому пакеты, предназначенные для этих IP-адресов, могут быть перенаправлены правильно. На масштабируемость BGP влияет необходимость передавать обновления, сохранять их в маршрутизаторе и обрабатывать их. В настоящее время пропускная способность для распространения обновлений не является проблемой. На практике требования к памяти для хранения все более крупных таблиц BGP могут представлять проблему, обычно это связано с ограничениями реализации в коммерчески доступных маршрутизаторах, а не из-за внутренних технологических проблем. Маршрутный процессор - это в основном компьютер общего назначения, который теперь может быть легко собран с 16 ГБ или более оперативной памяти. В настоящее время общедоступный сервер маршрутов представлений маршрутов работает с 1 ГБ ОЗУ и имеет около 40 полных BGP-каналов с примерно 560 000 префиксов каждый (данные за декабрь 2015 года).

Однако это оставляет обработку. Объем обработки, требуемый для BGP, зависит от количества обновлений BGP и количества префиксов на. Поскольку количество префиксов на обновление довольно мало, мы проигнорируем этот аспект и просто посмотрим на количество обновлений. Предположительно, помимо какого-либо автономного роста, количество обновлений возрастает линейно с количеством префиксов. Фактическая обработка обновлений BGP очень ограничена, поэтому узким местом является время, необходимое для доступа к памяти для выполнения обновления. Также во время семинара по маршрутизации и адресации IAB была представлена ​​информация, которая указывает на то, что увеличение скорости DRAM весьма ограничено и не сможет идти в ногу с ростом таблицы маршрутизации.

Переадресация таблицы синхронизации

Помимо отдельных проблем пересылки и плоскости данных, существует проблема синхронизации таблицы пересылки с таблицей BGP / маршрутизации после обновлений. В зависимости от архитектуры таблицы пересылки, ее обновление может занять относительно много времени. BGP часто описывается как протокол маршрутизации "вектор пути", очень похожий на протоколы векторов расстояния. Таким образом, он реализует слегка модифицированную версию алгоритма Беллмана-Форда, который, по крайней мере в теории, требует количества итераций, равного количеству узлов (в случае BGP: внешние автономные системы, а также внутренние маршрутизаторы iBGP ) в графе минус один, чтобы сходиться. На практике конвергенция происходит намного быстрее, потому что нецелесообразно использовать максимально длинный путь между двумя точками в сети. Однако значительное количество итераций в форме отдельных обновлений, которые должны быть обработаны, может произойти после одного события из-за эффектов умножения. Например, в случае, когда две AS соединяются в двух местах, одно обновление в первой AS будет распространяться дважды на вторую AS через каждую соединительную линию. Это приводит к следующим возможным вариантам:

Нет ошибок, нет стресса - ваше пошаговое руководство по созданию изменяющего жизнь программного обеспечения без разрушения вашей жизни

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

Этот аспект BGP явно не признается многими людьми, хотя такие исследования, как демпфирование маршрутизации, усугубляют конвергенцию интернет-маршрутизации, обращают внимание на возникающее поведение.

Учитывая вышесказанное, мы можем заключить, что у BGP есть некоторые проблемы с масштабированием: протокол и маршрутизаторы, его реализующие, не подготовлены для Интернета, где, возможно, BGP должен управлять пятью миллионами и, конечно же, 50 миллионами отдельных префиксов. Тем не менее, текущий рост является относительно стабильным и составляет около 16% в год для IPv4, поэтому нет оснований для непосредственного беспокойства. Это особенно верно для IPv6, который в настоящее время имеет только 25 000 префиксов в BGP.