Авторитетность издания
Добавить в закладки
Следующий номер на сайте
Разработка и моделирование гибридного протокола динамической маршрутизации
Аннотация:Расширение сетевых услуг обусловливает существенное повышение требований к качеству и скорости решения задач сетевого управления постоянно растущими сетями в центрах обработки данных. Рост нагрузки приводит к необходимости структурного масштабирования, заключающегося в увеличении количества серверов и маршрутизаторов. Существует потребность в простых масштабируемых протоколах маршрутизации для облегчения автоматизации и управления постоянно растущими сетями, особенно в центрах обработки данных. Целью работы является представление разработанного гибридного протокола динамической маршрутизации, включающего модернизированный алгоритм дистанционно-векторной маршрутизации и алгоритм состояния канала. В статье показано решение проблем разработки гибридного протокола динамической маршрутизации, который гарантирует отсутствие циклов, обеспечивает требования масштабирования посредством разработки и реализации простых алгоритмов, позволяющих обеспечить надежную передачу рабочего и служебного трафиков, содержащих информацию о маршруте, и обнаружить подключенные к текущему маршрутизатору каналы, сети и непосредственно подключенные соседние маршрутизаторы. Требования масштабируемости нового гибридного протокола динамической маршрутизации выполняются за счет того, что алгоритм дистанционно-векторной маршрутизации вычисляет расстояния до узлов инфраструктуры, а не сами сетевые префиксы. Объявление сетевых префиксов производится алгоритмом состояния канала только один раз, что приводит к уменьшению БД о со-стоянии канала и к сокращению вычислений после изменения топологии. Исключение петель достигается за счет внедрения нового разработанного алгоритма распределенных порядковых номеров. Для моделирования гибридного протокола динамической маршрутизации разработана имитационная модель. Моделирование позволило оценить количество и объем служебного трафика, что подтвердило эффективность функционирования разработанного протокола в условиях масштабирования сети центров обработки данных.
Abstract:Nowadays, the growth of network services significantly increases the requirements for the quality and speed of solving network management problems in ever-growing data centers. The load increase in data centers leads to the need for structural scaling that implies increasing the number of servers and routers. There is a need for simple scalable routing protocols to facilitate automation and management of ever-growing net-works, especially in data centers. The work aims to present and simulate a new hybrid dynamic routing protocol including an upgraded dis-tance vector routing algorithm and a link state algorithm. The article discusses the solution to the problems of developing a hybrid dynamic routing protocol, which guarantees loop freedom and provides scaling requirements through the development and implementation of simple algorithms that ensure reliable transmission of data and service traffic containing route infor-mation and detects channels, networks, and directly connected neighboring routers connected to the current router. The scalability requirements of the new hybrid dynamic routing protocol are met since the distance vector routing algorithm calculates the distances to infrastructure nodes, and not to the network prefixes themselves. The link state algorithm advertises network prefixes only once, which leads to a reduction in the link state database and a reduction in calculations after topology changes. Loop freedom is achieved by in-troducing a newly developed distributed sequence number algorithm. A simulation model has been developed to simulate the hybrid dynamic routing protocol. The simulation allowed estimating the amount and volume of service traffic, which confirmed the effectiveness of the de-veloped protocol in the conditions of scaling the data center network.
Авторы: Абросимов Л.И. (AbrosimovLI@mpei.ru) - Национальный исследовательский университет «Московский энергетический институт» (профессор), Москва, Россия, доктор технических наук, Хаю Х. (hussein.khayou@gmail.com) - Национальный исследовательский университет «Московский энергетический институт» (аспирант), Москва, Россия, Орлова М.А. (OrlovaMA@mpei.ru) - Национальный исследовательский университет «Московский энергетический институт» (ассистент), Москва, Россия | |
Ключевые слова: моделирование протоколов маршрутизации, алгоритм, модель, бесцикловая маршрутизация, масштабируемость протокола маршрутизации |
|
Keywords: dynamic routing hybrid protocol, algorithm, mathematical model, loopless routing, routing protocol scalability |
|
Количество просмотров: 6281 |
Статья в формате PDF |
В последнее десятилетие интенсивное использование облачных сервисов, предоставляемых центрами обработки данных (ЦОД), привело к значительному увеличению трафика передаваемых и обрабатываемых данных. Современный ЦОД включает серверный комплекс, систему хранения данных, систему эксплуатации и систему информационной безопасности, которые интегрированы между собой и объединены высокопроизводительной локальной вычислительной сетью. Cолидные российские интернет-компании имеют уже по несколько ЦОД. Например, Яндекс открыл новый (уже четвертый по счету) дата-центр на 3 тысячи серверов. Обычно рост нагрузки на ЦОД приводит к необходимости структурного масштабирования, заключающегося в увеличении количества серверов и маршрутизаторов. При этом серьез- ные проблемы возникают при настройке протоколов маршрутизации, которые не всегда эффективно выполняют требования масштабируемости ЦОД. Требование масштабируемости выполняется протоколом маршрутизации, если нагрузка служебного трафика, генерируемого протоколом маршрутизации, растет пропорционально количеству маршрутизаторов и/или каналов связи. Использование доменной организации топологии сети ЦОД еще больше ужесточает требования к протоколам маршрутизации. Это, в свою очередь, привело к тому, что набор сетевых требований ЦОД с точки зрения топологии, масштаба и протокола маршрутизации в последнее время значительно изменился. Протокол маршрутизации должен обладать простотой реализации по параметрам сложности программного кода и простоты операционной поддержки. Наборы функций и протоколов маршрутизации должны поддерживаться несколькими вендорами. Кроме того, указываются периоды повторных опросов и радиусы сетей, определяющие отказы обслуживания протоколом маршрутизации или оборудования. Вычисление маршрутов рабочего и служебного трафиков становится сложной задачей для протоколов маршрутизации [1–3]. Вот почему крупные предприятия прибегают к использованию протокола динамической маршрутизации (ПДМ) BGP (Border Gateway Protocol) в сверхбольших ЦОД [1, 3, 4]. Однако BGP подвержен постоянным колебаниям маршрута [5] и отличается медленной скоростью конвергенции таблицы маршрутизации из-за проблемы поиска путей [6]. К тому же BGP основан на префиксах, идентифицирующих маршрутизаторы, поэтому сбой одного канала связи может привести к повторному вычислению и передаче обновлений для сотен префиксов [7]. Проприетарный бесцикловый протокол маршрутизации EIGRP, разработанный Cisco, был опубликован в 2013 г. как имеющий информационный характер [8]. Ранее EIGRP продвигался как гибридный протокол маршрутизации, однако теперь Cisco классифицирует его как расширенный дистанционно-векторный протокол [8, 9]. В EIGRP используется алгоритм диффузного обновления DUAL, в котором узел может изменить свой следующий переход только при удовлетворении условия выполнимости [10]. Условие выполнимости гарантирует, что при выборе выполнимого маршрутизатора для определенного пункта назначения узел не образует петлю в маршрутизации к этому пункту назначения. Преимущество EIGRP заключается в быстрой сходимости и эффективности в малых и средних сетях, к тому же он поддерживает многопутевую маршрутизацию с неравной стоимостью, используя концепцию выполнимых маршрутизаторов. Однако EIGRP не был принят другими поставщиками. Кроме того, он не поддерживает механизм разделения домена маршрутизации на области или поддомены. Вычисления EIGRP также основаны на префиксах. Протокол маршрутизации Babel – это протокол дистанционно-векторной маршрутизации [11], в котором к метрике добавляется неубывающий порядковый номер. Babel обладает широкими возможностями для ограничения циклов маршрутизации. В отличие от DUAL для избежания циклов маршрутизации Babel не требует распределенных вычислений, при которых узел становится активным и синхронизирует свои вычисления с другими узлами в сети. Преимущества протокола Babel в простоте и небольшом размере. Он подходит для маршрутизации в высокодинамичных беспроводных ячеистых сетях, однако недостаточно хорош для больших и относительно стабильных сетей, так как зависит от периодических обновлений [11]. В протоколе Babel также используются условия выполнимости для обнаружения маршрутов с петлями. Истощение (голодание) возникает, когда у маршрутизатора заканчиваются выполнимые маршрутизаторы. Тогда этот маршрутизатор выдает явный одноадресный запрос владельцу маршрута для увеличения порядкового номера. Запрос пересылается поэтапно владельцу маршрута независимо от условия выполнимости, чтобы добраться до владельца. При получении запроса владелец маршрута увеличивает свой порядковый номер и в широковещательном режиме передает обновление, которое пересылается запросившему узлу. Основным недостатком протокола Babel является то, что некоторые вышестоящие узлы, не получившие информацию о недействительности их текущих маршрутов, по-прежнему будут перенаправлять трафик в соответствии с их недействительной информацией о маршруте и трафик будет отбрасываться до тех пор, пока не поступит новая информация от владельца маршрута. В этом протоколе также используются периодические обновления, и он зависит от надежности обмена информацией о маршруте. Другим недостатком является то, что необходимо распределять несколько явных запросов для каждого голодающего узла (это может повлиять на все узлы в его восходящем дереве), что, в свою очередь, приводит к повторению передачи. Кроме того, запросы могут быть потеряны (или образовать маршрутную петлю) и, поскольку они отправляются ненадежно, владелец может не получить никакого запроса на обновление маршрута. Babel основан на префиксе, а это может образовать маршрутную петлю [11]. В данной статье предлагается гибридный протокол динамической маршрутизации (ГПДМ). В протоколе используется модернизированный алгоритм распределенных после- довательных номеров DSN (Distributed Sequence Number) на основе Babel и EIGRP. Предложенный протокол также включает разработанный авторами алгоритм состояния канала, распределяющий информацию о состоянии каналов между сетями и маршрутизаторами инфраструктуры. Корректность ГПДМ и его алгоритмов подтверждается результатами анализа алгебраической модели режима бесцикловой маршрутизации, представленной в более ранних работах авторов [12–14], и результатами моделирования, приведенными в настоящей статье. Постановка задачи
Любой ГПДМ создается, чтобы усовершенствовать характеристики ПДМ, сгруппированные функции которого выполняются поэтапно. ● Этап 1: обнаружение соседей. Посредством обмена служебными сообщениями маршрутизаторы обнаруживают друг друга, сравнивают параметры (например, адреса сетей, индикаторы маршрутизаторов и маршрутов) и определяют, должны ли они образовывать соседство. ● Этап 2: обмен топологиями. Если соседние маршрутизаторы решают сформировать соседство, они обмениваются друг с другом служебными сообщениями, включающими сведения своих таблиц топологии. Затем между маршрутизаторами передаются только служебные сообщения при изменении существующей топологии и/или через определенные интервалы времени (в зависимости от протокола). ● Этап 3: выбор маршрутов. Как только таблица топологии маршрутизатора заполнена, маршрутизаторы (в соответствии с протоколом) участвуют в вычислении лучшего маршрута сети. Соединения в составной сети G являются двунаправленными. Каждый маршрутизатор Ri имеет уникальный идентификатор i. Маршрутизатор считается владельцем маршрута сети, если между этим маршрутизатором и сетью имеется непосредственный канал связи. Маршрутизатор Rj – владелец маршрута (он же маршрутизатор назначения), он инициирует вычисление стоимостей (расстояний) маршрутов (путей) ко всем маршрутизаторам через коммутируемые каналы связи. Каждый маршрутизатор Ri поддерживает таблицу стоимостей маршрутов для каждого другого маршрутизатора Rj. Вектор стоимости маршрута между текущим маршрутизатором и владельцем указан в виде (s; d), где s – порядковый номер маршрутизатора, который является положительным целым числом, присвоенным владельцем маршрута маршрутизатором Rj; d – расстояние, которое может быть составной метрикой, однако в этой статье принимается, что d является положительным числом. Стоимость (s1; d1) считается меньше (дешевле или предпочтительнее), чем стоимость (s2; d2), если s1 > s2 или s1 = s2 и d1 £ d2. Соединения между напрямую подключенными маршрутизаторами Ri Разрабатываемый ГПДМ должен устранить недостатки известных ПДМ. В ПДМ Babel: - маршрутизаторы, не получившие обновлений, продолжают пересылать служебный трафик, который не доставляется получателям; - при использовании префиксов в служебных сообщениях возможны циклы служебного и рабочего трафиков; - не выполняются требования масштабирования, поэтому протокол используется для небольших сетей, самый длинный путь в которых составляет 15 переходов. В ПДМ EIGRP: - не поддерживается механизм разделения домена маршрутизации на области; - вычисления маршрутов основаны на префиксах и используют медленные алгоритмы расчета; - условие выполнимости вычисляется для всех маршрутов сети; - отсутствуют доказательства полноты условий выполнимости переходов, а следовательно, и оптимальности выбранного маршрута. Разработанный ГПДМ на каждом технологическом этапе решает следующие задачи. 1. Обеспечение надежности передачи рабочего и служебного трафиков, содержащих информацию о маршруте. 2. Обнаружение подключенных к текущему маршрутизатору Ri каналов (Kij), сетей Si и непосредственно подключенных соседних маршрутизаторов (Rk), присвоение веса подключенным каналам связи, построение таблиц соседей для поддержания отношений смежности с непосредственно подключенными соседними маршрутизаторами. 3. Расчет таблицы маршрутизации, включающий две подзадачи: 3а) – вычисление наилучшего пути для текущего маршрутизатора Rj к соседним и определение следующих маршрутизаторов, обеспечивающих создание кратчайшего пути к текущему маршрутизатору (решается с использованием модифицированного алгоритма распределенных последовательных номеров DSN (Distributed Sequence Number) протокола RIP); 3б) – пересылка маршрутизатором сети, выполнившим вычисления, параметров вектора стоимости расстояний между своими соседями для определения своего участка наилучшего пути (решается с использованием предложенного алгоритма состояния канала, распределяющего информацию о состоянии каналов между сетями и маршрутизаторами инфраструктуры, используя результаты решения подзадачи 3а). В статье предлагается решение задачи 3, используя результаты решения задач 1 и 2 как заданные. Построение алгебраической модели для расчета кратчайших маршрутов При маршрутизации требуется определить стоимость пути до узла назначения, а при пересылке – стоимость пути до некоторой сети на основании ее описания в удаленных маршрутизаторах. В работах [12, 13] приведены доказательства теорем, которые обоснуют использование полуколец для решения задачи о кратчайшем пути без циклов. Алгебраическая модель для расчета кратчайших маршрутов формулируется следующим образом. Пусть V – множество узлов инфраструктуры n = úVï, а R – множество узлов пересылки (сетей) d = úRï, где V Ç R = Æ. Матрица смежности A размерностью n´n использует параметры полукольца (S, Å, Ä, Для простейшего случая предполагаем, что матрица M также принимает свои значения в S. Если Тогда A* Ä M решает уравнение F = (A Ä F) Å Å M. Рассматриваемая задача нахождения матрицы пересылки F делится на две подзадачи: поиск кратчайшего маршрута к узлам инфраструктуры V и распределение матрицы отображения M по узлам инфраструктуры:
Другая алгебраическая конструкция, называемая полумодулями, используется для моделирования порядкового номера. В более общем случае M принимает свои значения в другой алгебраической структуре (N, C(i, j) = Пусть (S, Å, Ä, (N,
(a Ä b)
LD: RD: Можно проверить, верны ли следующие утверждения о матрицах (размерности I, A, B равны n´n, а C, M равны n´d): 1) I 2) (A Ä B) 3) A 4) (A Å B) Пусть (N, Для решения задачи пересылки необходимо решить уравнение F = (A В предложенном алгоритме каждый узел выбирает порядковый номер. Тогда стоимость пути от узла i к самому себе имеет вид Функция Отношение Затем определяется матрица M, которая имеет размерность n´n:
где
Переходные циклы могут образовываться, когда узлы используют маршруты со старыми порядковыми номерами. Чтобы разрешить данную ситуацию, добавлена проверка условия выполнимости и введен дополнительный бит запроса. Пусть B = {true, false}, а операция Ñ над полугруппой
Ясно, что Ñ ассоциативно, коммутативно и (false, 0) является нейтральным элементом. Далее операция
Теперь необходимо вычислить Fk+1 = = (Ak+1 Используем условие для проверки выполнимости построения кратчайшего бесциклового маршрута [13]. Узел s является возможным маршрутизатором для узла i при маршрутизации в направлении j, если
Приведенные вычисления выполняются распределенно с помощью дистанционно-векторного алгоритма. Затем решение в форме таблицы маршрутизации (B*) извлекается (удаляются порядковый номер и бит запроса) из приведенного выше расчета и используется для решения задач пересылки. Концепция моделирования ГПДМ Проверка работоспособности и оценка масштабируемости предложенного ГПДМ проведена методами математического моделирования.
Каждое сообщение состоит из общего заголовка и основного текста. Общий заголовок включает следующие поля: длина пакета (общая длина сообщения), идентификатор сообщения, порядковый номер сообщения, идентификатор исходного маршрутизатора, порядковый номер исходного узла, идентификатор области, тип сообщения, длина заголовка, список идентификаторов узлов назначения. Следующий порядковый номер сообщения (NextMSequenceNumber) – это общий счетчик, используемый планировщиком управляемого событиями симулятора для присвоения порядкового номера сообщениям. Сообщения об обновлениях содержат список записей обновлений. Каждая запись обновления состоит из идентификатора и порядкового номера владельца записи, а также включает расстояние от узла, который был источником сообщения об обновлении, до вла- дельца. Флаг RISN необходимо установить при наличии запроса к владельцу на увеличение порядкового номера. Каждая запись обновления также содержит список TLV (тип–длина–значение), а список – узлы, подключенные к владельцу маршрута и распределяемые с помощью алгоритма состояния канала. Например, адреса и префиксы IPv4 распространяются с использованием IPv4TLV. Флаг отзыва (Retracted-flag) должен быть установлен, когда узел-владелец потерял соединение с сетью и хочет удалить запись соединения из БД. Каждый TLV сопровождается отдельным порядковым номером, который создается и поддерживается узлом-владельцем. Когда в TLV происходит изменение, порядковый номер увеличивается. Отозванные TLV не следует немедленно удалять из БД. Они будут отмечены флагом отзыва и могут быть удалены после истечения настраиваемого значения времени ожидания. Это делается во избежание путаницы, возникающей при получении узлом устаревшего объявления. В этом случае объявление будет проигнорировано. Сообщения, которыми обмениваются узлы, хранятся в БД и в файле журнала для сбора статистики о производительности протокола. Каждый узел поддерживает следующие таблицы состояний: таблицу подключенных каналов для хранения информации о непосредственно подключенных каналах, таблицу соседей для хранения информации о ближайших соседях узла, таблицу изученных записей узла для поддержания информации об изученных маршрутах, таблицу новых записей обновлений, которые необходимо отправить соседним узлам. Для каждого соседа в таблице соседей имеются таблицы каналов, по которым происходит обмен сообщениями, и таблицы сообщенных расстояний от них. В каждой записи узла сохраняются стоимость и выполнимая стоимость маршрута. Кроме того, в модели настроено поддерживание таблицы для каждого маршрута с целью хранения выполнимых узлов, следующих переходов и сетей (записи информации о состоянии канала). Результаты моделирования ГПДМ
В результате анализа выявленных зависимостей установлено следующее: - модифицированный алгоритм распределенных последовательных номеров DSN функционирует устойчиво; - разработанный алгоритм расчета кратчайшего маршрута в условиях динамического изменения топологий выполняет вычисления в полном объеме; - полученные оценки масштабирования по параметру роста служебного трафика подтвердили, что разработанный ГПДМ обладает высокими показателями масштабируемости и позволяет после доработки пакета программ, реализующих ГПДМ, использовать его для крупных ЦОД.
Заключение Особенностью разработанного ГПДМ является отделение этапа пересылки от этапа маршрутизации. При расчете маршрутизации в ГПДМ вычисляется стоимость пути к узлу назначения, а при пересылке – стоимость пути до некоторой сети, подключенной к удаленному маршрутизатору. Поэтому в ГПДМ последовательно решаются две задачи: вычисление пути к узлам инфраструктуры, реализуемое модифицированным алгоритмом распределенных последовательных номеров DSN, и распределение информации о состоянии каналов между сетями и маршрутизаторами инфраструктуры, достигаемое с помощью алгоритма состояния канала. ГПДМ имеет гораздо меньшую БД, чем известные протоколы состояния канала. Прежде всего это связано с тем, что объявляются только префиксы подключенных сетей, а не сетевые каналы, к тому же сетевые префиксы могут быть дополнительно обобщены с помощью суммирования маршрутов. Кроме того, ГПДМ использует вектор расстояния только для узлов инфраструктуры, что ограничивает количество обновлений после изменения топологии. Следовательно, в ГПДМ параметры сети объявляются только один раз, а не при каждом изменении расстояния. Реализация алгоритма имитационной модели ГПДМ показала, что размер обмениваемой между узлами информации для конвергенции маршрута после изменения топологии является предельным по сравнению с тем, который был на начальной фазе расчета маршрута. Литература 1. Dutt D.G. BGP in the Data Center. O'Reilly Media Publ., 2017, 88 p. 2. Medhi D., Ramasamy K. Network Routing: Algorithms, Protocols, and Architectures. San Francisco, CA, Morgan Kaufmann Publ., 2007, 957 p. 3. Lapukhov P., Premji A. Use of BGP for routing in large-scale data centers. RFC, 2016, no. 7938, 35 p. DOI: 10.17487/RFC7938. 4. Abhashkumar A., Subramanian K., Andreyev A., et al. Running BGP in data centers at scale. Proc. XVIII USENIX Symposium on NSDI, 2021, pp. 65–81. 5. Garcia-Luna-Aceves J.J. Eliminating routing loops and oscillations in BGP using total ordering. Proc. XLVII IEEE Conf. LCN, 2022, pp. 9–17. 6. Fontugne R., Bautista E., Petrie C., Nomura Y., Abry P. et al. BGP zombies: An analysis of beacons stuck routes. Proc. Int. Conf. PAM, 2019, pp. 197–209. DOI: 10.1007/978-3-030-15986-3_13. 7. Patel K., Lindem A., Zandi S., Henderickx W. BGP link-state shortest path first (SPF) routing. Datatracker. URL: https://datatracker.ietf.org/doc/draft-ietf-lsvr-bgp-spf/ (дата обращения: 02.07.2022). 8. Savage D., Ng J., Moore S., Slice D., Paluch P., White R. Cisco’s enhanced interior gateway routing protocol (EIGRP). RFC, 2016, no. 7868, 80 p. DOI: 10.17487/RFC7868. 9. Fuzi M.F.M., Abdullah K., Halim I.H.A., Ruslan R. Network automation using ansible for EIGRP network. JCRINN, 2021, vol. 6, no. 4, pp. 59–69. DOI: 10.24191/jcrinn.v6i4.237. 10. Garcia-Luna-Aceves J.J. Safe, fast, and cycle-free multi-path routing using vouchers. Proc. XLVII IEEE Conf. LCN, 2022, pp. 367–370. DOI: 10.1109/LCN53696.2022.9843624. 11. Chroboczek J., Schinazi D. The babel routing protocol. RFC, 2021, no. 8966, 54 p. DOI: 10.17487/ rfc8966. 12. Khayou H., Rudenkova M.A., Abrosimov L.I. On the algebraic theory of loop free routing. Proc. Int. Conf. DCCN, 2020, pp. 161–175. DOI: 10.1007/978-3-030-66471-8_14. 13. Хаю Х., Орлова М.А., Абросимов Л.И. Алгебраическая методология моделирования бесцикловой маршрутизации // Вестн. ВГТУ. 2022. Т. 18. № 1. С. 47–61. DOI: 10.36622/VSTU.2022.18.1.006. 14. Khayou H., Orlova M.A., Abrosimov L.I. A Hybrid distance vector link state algorithm: distributed sequence number. IJCNA, 2021, vol. 8, no. 3, pp. 203–213. DOI: 10.22247/ijcna/2021/209188. References
|
Постоянный адрес статьи: http://swsys.ru/index.php?page=article&id=4975&lang= |
Версия для печати |
Статья опубликована в выпуске журнала № 1 за 2023 год. [ на стр. 071-082 ] |
Возможно, Вас заинтересуют следующие статьи схожих тематик:
- Метод повышения адекватности модели общекорабельных систем для тренажеров
- Концептуальная модель биллинговой системы. Структура подсистемы тарификации
- Способы реализации алгоритмов интегральных преобразований изображений по линиям
- Основы моделирования системы поддержки принятия решений по комплексному применению сил и средств ПВО надводных кораблей
- Постановка задачи исследования диффузионного перехода через границу шлак-металл в колонном реакторе и алгоритм ее решения
Назад, к списку статей