DOI 10.36622/VSTU.2022.18.1.006 УДК 004.7
АЛГЕБРАИЧЕСКАЯ МЕТОДОЛОГИЯ МОДЕЛИРОВАНИЯ БЕСЦИКЛОВОЙ
МАРШРУТИЗАЦИИ
Х. Хаю, М.А. Орлова, Л.И. Абросимов
Национальный исследовательский университет «Московский энергетический институт»,
г. Москва, Россия
Аннотация: задачу маршрутизации можно сформулировать следующим образом: учитывая сеть G, необходимо найти наилучший путь между узлами i и j из сети. Однако понятие «лучшее» расплывчато, и оно зависит от того, какие параметры в составной метрике сетевые операторы пытаются оптимизировать. Для разделения проблем была введена алгебра маршрутизации для моделирования того, что пытается решить протокол маршрутизации, сохраняя при этом общий алгоритм маршрутизации. Тем не менее все протоколы маршрутизации должны решать проблему свободы от циклов. Цель этой статьи - представить теорию бесцикловой маршрутизации с произвольной метрикой. Показано, что выбор базовой алгебры может повлиять на производительность самого алгоритма, как в представленном примере для протокола маршрутизации (EIGRP). Кроме того, модификация алгебры маршрутизации может помочь во внедрении новых алгоритмов маршрутизации. Примером может служить протокол DSN (Распределенный порядковый номер), который использует гибридный алгоритм состояния каналов и дистанционно-векторный. В метрику DSN добавлены новые компоненты, которые представляют собой порядковый номер и бит флага для запроса увеличения порядкового номера. Это помогло, как показано в этой статье, решить проблему бесцикловой маршрутизации с незначительными изменениями в исходном дистанционно-векторном алгоритме. В данной работе решены следующие задачи. Условия для бесцикловой маршрутизации и отношения между ними были представлены алгебраически и доказаны. Введена концепция монотонной маршрутизации. Была исследована бесцикловая маршрутизация при наличии и отсутствии монотонности. На основании сформулированных теорем разработана алгебраическая модель и валидация бесциклового алгоритма, используемого в протоколе DSN
Ключевые слова: полукольца, алгебра маршрутизации, бесцикловая маршрутизация, алгоритм Беллмана-Форда, ■ диффузионные вычисления
Введение
Маршрутная петля - это распространенная проблема в компьютерных сетях. Это происходит, когда вычисленный путь к определенному пункту назначения содержит петлю из-за неточных таблиц маршрутизации, поэтому пакеты данных, предназначенные для этого пункта назначения, будут бесконечно зацикливаться, пока в итоге не будут отброшены. Это особенно верно для ранних протоколов дистанционно-векторной маршрутизации, таких как протокол маршрутной информации (RIP), который склонен к зацикливанию. В протоколах, основанных на технологии отслеживания состояния канала, таких как протокол динамической маршрутизации (OSPF) и протокол маршрутизации промежуточных систем (IS-IS), петли маршрутизации все еще могут возникать [1], однако они недолговечны, поскольку исчезают, как только информация о новой топологии распространяется по сети и все маршрутизаторы синхронизируют свои базы данных состояния канала.
© Хаю Х., Орлова М.А., Абросимов Л.И., 2022
Новые протоколы дистанционно-векторной маршрутизации, такие как протокол пограничного шлюза (BGP) и улучшенный протокол маршрутизации внутреннего шлюза (EIGRP), разработаны для предотвращения петель до их возникновения. Протокол EIGRP -это собственный протокол компании Cisco, основанный на протоколе внутреннего шлюза (IGRP). EIGRP был преобразован в открытый стандарт в 2013 году и опубликован в Рабочем предложении RFC 7868 в 2016 году [2]. В EIGRP используется алгоритм диффузионного обновления (DUAL). Время сходимости или конвергенции при использовании DUAL превосходит время сходимости любого другого существующего протокола маршрутизации [3]. В EIGRP используется SNC (Source Node Condition - условие исходного узла), которое является одним из достаточных условий для отсутствия петель. Это условие выполняется, когда объявленное расстояние соседа для конкретного пункта назначения строго меньше, чем выполнимое расстояние для этого пункта назначения [1,4]. Другие подходящие условия включают DIC (Distance Increase Condition -условие увеличения расстояния) и CSC (Current
Successor Condition - условие текущего маршрутизатора).
Доказано, что DUAL не содержит циклов в каждый момент времени и сходится за конечное время после возникновения изменений стоимости соединения [1]. Однако EIGRP использует ту же составную метрику, что и IGRP, которая использует доступную пропускную способность, задержку, использование нагрузки и надежность соединения для вычисления метрики. В работе [5] составная метрика моделируется с помощью алгебраической конструкции, называемой функциональным продуктом, где авторы показали, что метрика EIGRP не является монотонной, в результате чего EIGRP решает локальное оптимальное решение в отличие от глобального оптимального решения, которое решается классической задачей о кратчайшем пути. Насколько нам известно, формального доказательства корректности DUAL с немонотонной метрикой пока не было.
В этой статье исследуется концепция бесцикловой маршрутизации с общей метрикой, используя матричную модель с полукольцами. Дано алгебраическое представление для условий достаточности бесцикловой маршрутизации в модели полукольцо. Также исследуется связь между ними и предоставляется алгебраическое доказательство их корректности. Более того, вводится понятие монотонной маршрутизации. Было замечено, что если маршрутизация уменьшалась (или увеличивалась) в одной итерации, то она будет продолжать это делать и в следующих итерациях, пока топология является фиксированной. Универсальность модели помогает показать некоторые теоретические основы и рекомендации по разработке новых протоколов бесцикловой маршрутизации при наличии и отсутствии монотонности.
В [6] был предложен простой гибридный протокол состояния каналов и дистанционно-векторного алгоритма. Дистанционно-векторный алгоритм сохраняется, и операции с циклической свободой передаются для вычисления метрики путем добавления порядкового номера (SN) к метрике. Дистанционно-векторный алгоритм используется для вычисления наилучших путей между узлами инфраструктуры. Проблема нехватки (когда у узла нет возможного маршрутизатора) решается с помощью алгоритма распределенного порядкового номера, который распределяет запрос на увеличение порядкового номера (RISN) в обновлениях до тех пор, пока он не достигнет владельца маршрута. После RISN достигает
владельца маршрута, владелец маршрута выдает обновление с увеличенным SN. Это действует как сброс для расчета для этого маршрута. Алгоритм состояния каналов используется для распределения сетей (префиксов) в пределах одной области и между разными областями вместо самих каналов.
В разделе «Алгоритм распределения порядковых номеров» предоставляется алгебраическая модель и валидация для DSN с использованием полумодулей. Полумодули были предложены в [7] и [8]для моделирования различных проблем интернет-маршрутизации.
1. Обзор смежных работ
В последнее время было предпринято несколько попыток применить формальные методы, в частности, алгебраические спецификации к существующим протоколам маршрутизации. В работах [9] и [10] автор Сорбиньо разработал алгебраическую схему для исследования свойств сходимости протоколов дистанционно-векторной маршрутизации и векторного пути. Показано, что "монотонность" (свойство, связанное с инфляционным свойством, представленным в разделе 2) подразумевает протокол сходимости в каждой сети, но не обязательно к "глобальному оптимуму" (понятие оптимальности определено в разделе 2). Однако "изото-ничность" (это свойство, связанное с дистрибутивностью, называется монотонностью в этой статье) гарантирует сходимость к глобальным оптимальным путям, когда протокол конвергирует. Для протоколов состояния каналов Со-бриньо представил более конкретную и менее общую алгебраическую схему [4]. Было замечено, что для моделирования протокола междоменной маршрутизации, такого как BGP, больше подходит локальная оптимальность, а не глобальная оптимальность [9-13].
Гриффин и Сорбиньо предложили мета-маршрутизацию как средство разработки протоколов маршрутизации на высоком уровне и в декларативной форме [14]. Метамаршрутиза-ция была основана на алгебре Собриньо. Модель Собриньо использует отношение частичного порядка для построения алгебры. Существует другой подход к моделированию проблем путей с помощью алгебраических структур, называемых полукольцами ([15], и [16] содержат современные обзоры этой области). Эти две модели могут быть связаны друг с другом [17]. Операции маршрутизации в модели полуколец становятся матричными операциями.
Диффузионная концепция вычислений была впервые предложена Дейкастрой и Шол-теном [18]. После этого большая часть работы по бесцикловой маршрутизации была проделана Гарсией, который представил DUAL [1,4] и доказал, что алгоритм не образовывает петли. Позже DUAL был принят в EIGRP [3]. DIC обсуждался в литературе до работы Яффе и Мосса, однако они были первыми, кто доказал, что DIC достаточно эффективен для отсутствия образования петель [19]. CSC и SNC были предложены и доказаны Гарсией [1,4]. Гауда и Шнайдер [20] с помощью теории графов показали, что протоколы IGRP и EIGRP ведут себя не так, как ожидалось, из-за составной метрики, которая в общем случае не является немонотонной. Алгебраическая теория маршрутизации также использовалась в более поздних исследованиях в [5,8,21,22]. В [23] автор разработал алгоритмы для оптимального решения задачи о кратчайшем пути для подобных метрик IGRP.
2. Полукольца и графы
В данном разделе кратко описаны вводимые обозначения и обосновано использование полуколец для решения задачи о кратчайшем пути. Данный подход подробно изложен в [24]. В данном разделе приведены доказательства известных теорем авторами с точки зрения поиска кратчайшего пути без циклов.
Рассмотрим множество (S,©,®, 0,1), S -непустое и нетривиальное множество, а аксиомы в таблице справедливы. Полукольца отличаются от колец тем, что аддитивные операции не обязательно должны допускать инверсии. То есть требуется, чтобы (S,©) был только моноидом, а не группой [15]. Это позволяет определить нетривиальное естественно упорядоченное множество на S:
а <© Ъ = а = а © Ъ.
Что определяет строгий вариант записи этого множества:
а <© Ь = а = а©ЬфЬ.
Нам нужно, чтобы операция © была идемпотентной (Va £ S: а © а = а), тогда, если существует отношение <©, такое множество становится частично упорядоченным множеством (рефлексивным, антисимметричным и переходным). Если операция © также является селективной (Va, b £ S: а © b £ (a, b}), то если существует отношение <©, то такое множество
становится линеино упорядоченным множеством. Кроме того, определяется канонически упорядоченное множество на полугруппе (5,©) следующим образом
а <© Ь = Зс е 5: а = Ь © с.
Если © коммутативна и идемпотентна, то
У а, Ъ е 5: а <© Ъ ^ а <© Ъ.
Монотонность слева и справа соответственно определяется следующим образом
а <© Ь ^ с ® а <© с®Ь а <© Ь ^ а ® с <© Ь ® с.
Аксиомы полукольца
Аксиома Пояснение
© Ассоциативность a©(b©c) = (a©b)©c
© Коммутативность а©Ь=Ь©а
® Нейтральный элемент a©0=0©a=a
® Ассоциативность а ® (b ® с) = (а ® b) ® с
® Нейтральный элемент a®l=l®a=a
® Поглощающий элемент а®0=0®а=0
Дистрибутивность слева a®(b©c)=(a®b) ©(а® с)
Дистрибутивность справа (а©Ь)®с = (а®с) ©(Ь®с)
Более того, определяется строгое инфляционное своИство слева и справа соответственно
Уа, Ъ е 5, а ф 0, Ъ ф 1 : а
У а, Ъ е 5, а ф 0, Ь ф 1 : а <8п®6.
Полукольцо (5,©,®, 0,1) можно использовать для определения множества (Мп(5),©,®,/,/) матриц пхп, где Матрицы J и I определяются как:
ЯУ) = 0
.. (1, если I = /
/(1,^) = )п .
10, иначе
Классическая задача поиска кратчайшего пути может быть смоделирована полукольцами [25]. Для данного полукольца (5,©,®, 0,1) и графа G = (V, Е) весовая функция - это отображение w: Е ^ S - {0}. Граф представляется с помощью взвешенной матрицы смежности.
Л(( ) = Ме), если е = (!,;) е Е , (.0, иначе
Путь р = р1,р2,---,ък+1 длины к представляет собой последовательность узлов, таких что (ут, Рт+1) е Е, Ут е {1, •••, к]. Его вес может быть задан как:
™(р) = М(Р1,Р2)®Ш(Р2,Р3) 0 ••■®ы(ук,ук+1).
Нулевые пути обозначаются е и имеют вес 1. Несуществующим путям присваивается вес О.
Степени матрицы А определяются индуктивно:
А° = Л(0) = I Ак+1=А0Ак А(к+1) =Ак+1®А(к).
Пусть Рк(1,]} - набор путей от узла г до _/, который имеет ровно к дуг. - это
набор путей от узла г до ] с не более чем к дугами. Р&,]') - это набор всех возможных путей от узла г до _/. Обозначим р простым путем, если в нем нет циклов. БР^^') обозначает множество всех возможных простых путей от узла г до _/. Кроме того, БР(к\1,]') - это набор всех простых путей от г до _/, имеющих не более к дуг длины.
Теорема 1.
Ак(Ц)= 0
рерк(1,])
А(к)а,])= 0 ™(р)
рер(к)(1,])
Если существует ц > О такое, что А(я+1) = А(я), то У к > д:А(к) = А(ч\ Тогда можно утверждать, что А является стабильным. Также можно сказать, что А(к) сходится к А* = А(ч\ и назовем А* матрицей замыкания А.
А*Ц,]) = ^А( к)= 0 ы(р)
к>0 рер(1,])
Последнее уравнение интерпретируется как: А* - это решение глобальной задачи об оптимальном пути. Определим, когда такое решение существует. Из Теоремы 2 следует, что инфляционного свойства достаточно для глобальной оптимальности в полукольцах, и решение достигается не более чем за п — 1 итераций. Теорема 3 гласит, что решение будет таким же, если оно будет построено с использованием только простых путей. Поскольку используются только простые пути, решение будет достигнуто после й < п — 1 итераций, где - диаметр графа. Для удобства представлено доказательство теоремы 2.
Теорема 2. Пусть (S,©,0, 0,1) - идемпо-тентное полукольцо, и пусть 1 - аннигилятор (поглощающий элемент) для ©. Тогда все взвешенные матрицы смежности в (Мn(S),©,0,J,I) являются (п — 1)-стабильными [24].
Доказательство
Пусть А £ Mn(S), где А - взвешенная матрица смежности графа G = (V,E). Достаточно показать, что А(п) = А(п~г\ Пусть (а,Ь) £ S2, тогда
a©(a0b) = (а0 1)_® (а0Ь) = а0 (1 © Ь) = а 0 1 = а.
Это означает, что У(а, b) £ S2 а <© а 0 Ь, что является левым инфляционным свойством. Аналогично, У(а, b) £ S2 а <© b 0 а - правое инфляционное свойство. Чтобы инфляционное свойство сохранялось в классической задаче о кратчайшем пути (полукольце (М U (от), min, +, от, 0)), необходимо ограничить набор М+, поэтому используются только положительные числа для весов пути.
Пусть р £ Pn(i,j), i Ф j. Так как все узлы в графе, отличные от i и j, равны п — 2. Тогда любой простой путь будет иметь не более п — 1 дуги. Это означает, что р - не является простым путем. Значит, он содержит по крайней мере одну петлю. Пусть петля находится в узле Vi,к - это часть пути от i до k, рк,к петля в узле к, pkj - часть пути от к до j, и, наконец, р' - путь после удаления петли, который можно получить от присоединения pi,k и pkj. Имеем:
w(p) = w(pik) 0 w(pkk) 0 w(pkJ)
w(p') = w(pik) 0 w(pkJ) w(p) © w(p') = (w(pik) 0 w(pkk) 0 w(pkJj)
© (w(Pi.k) 0 W(Pk,j)) = w(Pi,k)
0 ((4Pk,k) 0 w(Pfcj)) © w(Pkjj)
= w(Pi,k) 0 w(Pk,j) = w(p')
Таким образом, если p £ Pn(i,j), то существует путь р' £ Р(п_1)(г,у), такой что w(p) © w(p') = w(p'). Путем переупорядочения элементов суммы ©, поскольку © коммутативна, получим: A(n)(i,j)= 0 w(q)
q£P(n^(i,j)
= I Ш W(q) ) © © W(P)^
\q£P(n_(i.j).qФp.qФp j
= 0 w(q)
q£P(n>(i,j),q*p
Это означает, что р может быть исключено из предыдущей суммы без ущерба для результата. Поскольку это можно сделать для любого р е Рп(г,у), получаем:
л(п)0,;) = 0 *(ч)
чеР(п)(г,У),чеРп(г,7)
Так как Р(п)(г,;) - Р"(г,;) = Р(п_1)(г,;) тогда
л(п)(!,;) = 0 ™(ч) = А^а,])
чер(п-1)(1,у)
Таким образом, Мп(5), является (п — 1)-стабильным.
Теорема 3. Пусть (5,©,®, 0,1) - идемпо-тентное полукольцо и пусть 1 - аннигилятор для © . Тогда
А(к)а,]) = 0 *(ч)
че5Р(к)(;,у)
Доказательство
Пусть р е Р№)(г,;) — 5Р(к)(г,Д Это означает, что р содержит по крайней мере одну петлю. Следовательно, можно найти путь р' е р(к)(г,у) такой же, как и в теореме 2, который формируется путем исключения петли из пути р, такой что ю(р) © ж(р') = ж(р').
А(к)(Ц) = ®чер№)(;,;),ч*р w(í).
То же самое можно сделать для всех путей в Р(к)(г,у) — 5Р(к)(г,у). Поскольку множество Р№)(г,;) — 5Р№)(г,;) конечно. Тогда
А(к)а,]) = 0 п(ч).
Алгоритм Беллмана-Форда может быть смоделирован с помощью следующей итерации [8,17,21]
Л<0> = /.
А{к+1) = А ® А{к) © I. (1)
Эта итерация называется итерацией вектора расстояния. Если А - взвешенная матрица смежности графа G = (V, Е), то (1) можно записать как
A{k+1)(i,j) = I(iJ) © ®4£F A(i, q) ® A<k>(q,j). (2)
Если N(i) QV - множество соседей узла i, то можно свести сумму к множеству N(i), поскольку A(i, q) = 0, когда q g N(i)
A{k+1)(i,j) = I(i,j) © ®4£N(i) A(i, q) ® Д<*>Ы). (3)
Предположим, что левое строгое инфляционное свойство сохраняется и звенья не могут иметь вес 1, то маршрутизация не имеет петель для статической топологии, т.е. будут рассматриваться только простые пути. В этом легко убедиться из теоремы 3. Если ® сократима, а 1 является аннигилятором для ©, то левые и правые строгие инфляционные свойства сохраняются.
аф0,а®Ь = а®с^Ь = с сф0,а®с = Ь®с^а = Ь
В динамической топологии, если некоторые звенья выходят из строя, то могут возникнуть петли, вызывающие проблему сходимости или бесконечности счета. Это можно легко объяснить алгебраически [8]. Предположим, что итерация вектора расстояния начинается с произвольной матрицы М, а не с /. М представляет матрицу наилучших весов путей до изменения топологии, в то время как А - это новая взвешенная матрица смежности после изменения топологии.
<> = м
<+1>=Л®<>©/ (4)
Отсюда находим, что для k > 1
<> = (Ак®М)©А(к~1). (5)
Если A является ^-^-стабильным и для k > n имеем
А%> = (Ак®М)©А*. (6)
Хотя член А* может быть скоро найден, может оказаться, что член Ак ® М предпочтительнее. Таким образом, итерация будет продолжаться до тех пор, пока А* <© Ак ® М. Этого может не произойти, при отсутствии пути, соединяющего узлы i и j [8] - в этом случае счёт продлится до бесконечности. Решения этой проблемы включают ограничение числа переходов до 15, как в протоколе RIP [26]. В BGP транслируется весь путь, и алгоритм модифицируется для рассмотрения только простых путей [27]. Другое возможное решение -
использование алгоритма DUAL, который, как доказано, не содержит петель [1,4].
3. Достаточные условия отсутствия петель при дистанционно-векторной маршрутизации
В данном разделе сформулированы и доказаны условия «выполнимости» (т.е. отсутствия петель) при дистанционной-векторной маршрутизации. Пусть 0,1) является
левым строгим инфляционным, избирательным и идемпотентным полукольцом. При этом 1 не может быть использовано в качестве веса звена. Селективность (избирательность) нужна нам для того, чтобы иметь возможность определить узел-маршрутизатор, который является узлом следующего перехода, выбранным узлом г, который соответствует наилучшему пути к узлу назначения j.
Необходимо модифицировать модель дистанционно-векторной маршрутизации в (1) и учесть изменения топологии. Для случая изменения топологии принято изменение взвешенной матрицы смежности А. Пусть матрица, вычисленная путем итерации дистанционно-векторной маршрутизации "матрицей маршрутизации".
Узел q Ф i является нисходящим узлом для i в направлении j, если путь, выбранный г, проходит через q. Тогда q - восходящий узел для г, а i - нисходящий узел для q. Уравнение (7) описывает модель дистанционно-векторной маршрутизации в динамической топологии. Мк описывает матрицу маршрутизации (веса наилучших путей) на этапе к, а Ак+1 представляет собой новую взвешенную матрицу смежности, которая отражает новую топологию (она будет такой же, как Ак, если на этапе к + 1 не произойдет изменений топологии).
мк+1 = Ак+1 ®Mkei
(7)
Маршрутизатором г в пути к ] (г Ф _/) на этапе к + 1 является узел я, выбранный г так, что
Мк+1(Ч) = ®чеу Ак-иО, Ч) 0 Мк(Я,]) = Ак+1(1,з) 0
Мк(з,Л (8)
Это справедливо, поскольку © является выборочной операцией.
Важность бесцикловой маршрутизации заключается в том, что она гарантирует сходи-
мость в динамической топологии согласно Теореме 4.
Теорема 4. Если получена матрица М, и топология устанавливается на взвешенной матрице смежности А (без дальнейшего изменения топологии), и впоследствии маршрутизация не содержит петель (проверяются только простые пути), то маршрутизация будет сходиться к А*.
Доказательство
Пусть к>п, тогда Ак будет эквивалентно У, поскольку не существует простого пути с числом дуг больше п — 1 и предполагается, что алгоритм рассматривает только простые пути. Тогда А{к) = ] ®М®А* =А*.
Существует 3 достаточных условия бесцикловой маршрутизации [1]. Выразим их алгебраически следующим образом:
Условие 1 - увеличения расстояния DIC. Узел i может изменить маршрутизатор в направлении j на узел s, который удовлетворяет (8), если расстояние не увеличивается, т.е. Mk+1(i,j) <ф Mk(i,j). В противном случае узел i должен поддерживать текущий маршрутизатор в направлении к j.
Условие 2 текущего маршрутизатора CSC. Узел i может изменить маршрутизатор в направлении j на узел s, который удовлетворяет (8), если Mk(s,j) <ф Mk_1(s',j), где s' является маршрутизатором на предыдущем этапе (шаг к). В противном случае узел i должен поддерживать текущий маршрутизатор.
Условие 3 исходного узла SNC. Узел i может изменить маршрутизатор в направлении j на узел s, удовлетворяющий (8), если Mk(s,j) <ф Mk(i,j). В противном случае узел i должен поддерживать текущий маршрутизатор.
Далее доказана корректность перечисленных условий.
Теорема 5. Условие 3 является достаточным условием бесцикловой маршрутизации.
Доказательство
В (8) предположим, что получена матрица маршрутизации M. Пусть i выбирает маршрутизатор s-l на следующем шаге маршрутизации в направлении j, сформирован цикл (i,s1,s2,---,sk,i). Если учитывается условие 3 при выборе маршрутизатора, имеем
M(Sl,j) <е M(i,j) M(s2,j) <е M(s1,j)
M(sk,j) <@ M(sk_1,j) M(i,j) <@ M(sk,j).
То есть получаем:
МО,;) <© М(Бк,]) <© М(Бк_1,]) <© -- <© М(я1,7') <© М(!,;).
Но это приводит к противоречию М(г,у") <© М(г,у). Т.к. никакой цикл не может быть сформирован, что и требовалось доказать.
Теорема 6. При выполнении условия 1 выполняется условие 3.
Доказательство
В (8) предположим, что получена матрица маршрутизации М, а взвешенная матрица смежности равна А. Предположим, что узел г выбирает узел 5 в качестве маршрутизатора в направлении _/. Тогда новое расстояние до узла ] равно Ж^) ® М ($,_/), если узел г учитывает условие 1 при выборе маршрутизатора. Тогда имеем А(1, я) ® М(я,]) <© М(г,у). Соответственно М(5,у) <© А(1, я) ® М(5,у), так как А(1,я) ф 1. Следовательно, М(5,у) <© М(г,у) и условие 3 выполняется.
Теорема 7. При выполнении условия 2 выполняется условие 3.
Доказательство.
В (8) предположим, что узел г выбирает 5 в качестве маршрутизатора на шаге к + 1 в направлении узла назначения _/. Пусть я' был маршрутизатором на шаге к. Теперь, если условие 2 выполняется, то Мк(з,}>) <© Мк_1(8,,}~). Тогда М^г,;) = Ак(1,з') © М^^',;). Следовательно, Мк_1(з',]) <© М/с^у") и, следовательно, Мк(з,]) <© Mfe(г,;).
Следствие 1. Условие 1 и условие 2 являются достаточными условиями бесцикловой маршрутизации.
4. Монотонная маршрутизация
Теорема 8 гласит, что если матрица маршрутизации увеличивается (или уменьшается) при одной итерации вектора расстояния и топология фиксирована, то она будет продолжать увеличиваться (или уменьшаться) на следующих итерациях. Теорема 10 доказывает, что при уменьшении матрица маршрутизация сходится за конечное число итераций вектора расстояний.
Теорема 8. Пусть (5,©,®, 0,1) - идемпо-тентное полукольцо. В уравнении (4)
1. Если А($ <© М,
Лк+1) < й<к) пм — © пм
2. Если
л<fe) < л<fe+l) пм — © пм
М <© <,
то У к > 0 то У к > 0
Доказательство.
Уравнение 1 будет доказано методом индукции. Уравнение 2 может быть доказано аналогичным образом. Предположим, что неравенство в 1 справедливо для к, тогда
М = Лк+1)
'ЛМ _ ЛМ
Из дистрибутивности
(л
на © следует, что
<+1))©(л®<) = л®л
м ■
Тогда имеем
((л ® <+1>) © /) © ((л ® <>) © /) =
(А®А^)©1. Так как /©/ = /, тогда
/|<&+2) ,
М
Значит, неравенство справедливо для к + 1, тогда оно справедливо и для У к > 0.
В общем случае маршрутизация может уменьшаться для некоторых узлов назначения и увеличиваться для некоторых других, тем не менее маршрутизация к узлу не зависит от маршрутизации к другим узлам, что подтверждается наблюдением 9.
Наблюдение 9. Маршрутизация к узлу ] не зависит от маршрутизации к другим узлам.
Это справедливо, потому что значения столбца М/с+1(—,у) строятся с использованием только значений в столбце (—,_/). Поэтому можно ограничиться только узлом назначения
у.
Теорема 10. Пусть (5,©,®, 0,1) - левое инфляционное идемпотентное полукольцо. В
(1) I
(4), если А(м) <© М, то маршрутизация будет сходиться к А* ® (Ап ® М © /).
Доказательство
Из теоремы 2 известно, что А будет (п — 1)-стабильным. Из (6) для к > 0 имеем
Лк+п) 1М
Из теоремы 8 получаем
= (Ак+п ®М)©А*
Лк+п) Лк — 1+п)<^1
ЛМ — © ЛМ — ©
/,<1+п) Лк+п) —© лм — © лм
Таким образом
Лк+п) = .<п) © л<п+1) © — © .<к+п) М — м ^ м ^ ^ м в других формах
А<к+п) = ((Ап ® М) © А*)
© ((Ап+1 ® М) © А*) © © ((Ак+п ® М) © А*)
Следовательно А{„+п) = (Ап 0М)© (Ап+1 0М)©••■ © (Ак+п 0М)©А* = (/ © А © А2 © ••■© Ак) 0 (Ап 0 М) © А*
Тогда для к > п — 1 получаем А{к+п) = Л* 0 (Ап 0М)©А*
= Л* 0 (АпМ © I)
Следствие 2. Пусть (5,©,0,0,1) - левое строгое инфляционное, избирательное и идем-потентное полукольцо, и звенья не могут иметь
вес 1. В (4), если Ам' <© М, тогда процедура будет сходиться к А*.
Это справедливо, поскольку маршрутизация не будет иметь петель из-за условия 1. Это наводит на мысль, что для того, чтобы сделать бесцикловую маршрутизацию после изменения топологии, матрица маршрутизации М должна быть изменена таким образом, чтобы результирующая маршрутизация уменьшалась. С другой стороны, в полукольцах, если А стабильно, то А* является "наибольшим" решением (фиксированной точкой) уравнения X = (А 0 X) © I [24]. Это объясняется тем, что X = (.Ак+1 0 Х^ © Ак, что можно доказать индуктивно. Таким образом, после изменения топологии необходимо увеличить начальную матрицу М так, чтобы маршрутизация уменьшилась до А*. Отметим, что если в полукольцах выполняется свойство индуктивности, то увеличение маршрутизации может быть вызвано только петлями.
5. Бесцикловая маршрутизация в немонотонной алгебре
Монотонность не требуется для доказательства того, что условие 3 является достаточным условием для бесцикловой маршрутизации. Более того, корректность условия 1 и условия 2 может быть доказана без монотонности, где вместо этого предполагается строгое инфляционное свойство.
Уменьшение маршрутизации является фундаментом для бесцикловой маршрутизации. Однако, если базовая алгебра не является монотонной, то маршрутизация не обязательно будет уменьшаться даже в статической топологии. В качестве примера рассмотрим метрику протокола ЕЮЯР (см. уравнение (9) [2,5]). Используются значения К по умолчанию (Кг = К3 = 1,К2 = К4 = К5 = 0). Тогда метрика при-
мет вид (bw, d) где b - пропускная способность, а d - задержка. На простом графе, представленном на рис. 1, пусть расстояние от узла к до j равно (2 X 106,1).
f: Ш™ XN™ X N[1,255] X N[1,255] ^ Ж+
Î107 1П7
K-t X ——+ Кп X-^-- + K3X
1 bw 1 bwX(2S6-l) 3
( 1, если Ks = 0
d) X { ks . (9)
) —— , иначе v '
lKj+Г
Рис. 1. Простой граф
После применения функции стоимости на этом расстоянии получаются
}(2 х 106,1) = 256 х(5 + 1) = 1530.
Предположим также, что стоимость звена от г до к равна (2 х 106,1). Вычисленное расстояние в узле г до узла у в этом случае равно (тт(2 х 106,2 х 106) ,1 + 1) = (2х 106,2).
Применяя функцию стоимости на указанном выше расстоянии, получаются
[(2 х 106, 2) = 256 х(5 + 2) = 1792.
Теперь предположим, что узел к выбирает другой путь к _/. Пусть расстояние нового пути равно (5 х 106,3). Это расстояние предпочтительнее предыдущего расстояния узла к, так как
/(5 х 106,4) = 256 х (2 + 3) = 1280.
Вычисленное расстояние от г до ] становится
(тт(5 х 106,2 х 106) ,3 + 1) = (2х 106,4).
Применяя функцию стоимости на указанном выше расстоянии, получаем
/(2 х 106,4) = 256 х (5 + 4) = 2304.
Рис. 2. Простой граф 2
Из приведенного выше обсуждения следует, что расстояние в узле к уменьшилось, однако расстояние в узле г увеличилось. Таким образом, ясно, что маршрутизация в этом случае не уменьшается, даже если топология статична. Если используется условие 1 в качестве условия выполнимости при бесцикловой маршрутизации это приведет к диффузионным вычислени-
ям в узле г. Аналогичные сценарии можно найти для других достаточных условий при бесцикловой маршрутизации. Например, если используется условие 2, и есть узел u, который использует узел i в качестве маршрутизатора при маршрутизации в направлении j (см. рис. 2). Увеличение расстояния в узле i приведет к диффузионным вычислениям в и. Если используется условие 3 и расстояние в i после увеличения становится "больше", чем расстояние в и, то в и произойдет диффузионное вычисление. Обратите внимание, что, если используется оригинальный распределенный алгоритм Беллмана-Форда (вместо DUAL) в последнем случае, узел i выберет узел и в качестве маршрутизатора, что приведет к образованию петли маршрутизации. Это означает, что алгоритм DBF не обязательно свободен от циклов в статической топологии, если лежащая в основе алгебра не монотонна, что объясняет, почему не ограничено п — 1 итерацией для достижения сходимости в немонотонной алгебре.
При использовании DUAL затронутый узел после изменения топологии начинает диффузионные вычисления. Таким образом, все вышележащие узлы изменяют свое расстояние до нужного значения. В результате маршрутизация уменьшится до сходимости, когда не произойдет никаких других изменений топологии, и в будущем не произойдет никаких диффузионных вычислений [1]. Это справедливо, если имеет место монотонность, поскольку Гарсия использовал в своем обсуждении оригинальную проблему о кратчайшем пути. Однако в немонотонной алгебре, такой как метрика EIGRP, нет гарантии, что после завершения исходного диффузионного вычисления не произойдет никаких последующих диффузионных вычислений. Тем не менее если новое диффузионное вычисление произойдет, и если предположить, что новая топология не изменилась, то она затронет только подмножество узлов из исходных узлов восходящего потока, которые были затронуты при первом диффузионном вычислении. Это означает, что каждое последующее диффузионное вычисление будет влиять на меньший набор узлов. Затем через некоторое время никаких диффузионных вычислений никогда не произойдет, и протокол достигнет точки равновесия и сойдется. Единственное отличие состоит в том, что протокол будет сходиться к локальному оптимальному решению, а не к глобальному оптимальному решению из-за потери монотонности. Оптимальность заклю-
чается в том смысле, что узел не может переключить свой маршрутизатор на лучший путь, учитывая выбор соседних узлов. Алгебраически локальное оптимальное решение является фиксированной точкой для уравнения Ь = (А ® I) © I.
6. Алгоритм распределения порядковых номеров
Особенность данного алгоритма в использовании пересылок, которая позволяет использовать его в виртуальных сетях дата центров. Поэтому необходимо пояснить различие между пересылкой и маршрутизацией. При маршрутизации требуется определить стоимость пути до узла назначения, в то время как при пересылке требуется определить стоимость пути до некоторой сети на основании ее описания в удалённых маршрутизаторах. Для моделирования этого используется та же модель полукольца, которая использовалась ранее. Пусть V - множество узлов инфраструктуры п = |У|, а Я - множество узлов пересылки (сетей) d = |й|, где V П Я = ф. Матрица смежности А размерностью п X п, которая берет свои значения из полукольца (5,©,®, 0,1), представляет собой веса связей на графе б = (У, Е), в то время как существует другая матрица М размерности п X ё., называемая матрицей отображения, данная матрица моделирует, как узлы в Я прикреплены (или подключены) к узлам инфраструктуры в V. В простейшем случае предположим, что матрица М также принимает свои значения в Я. Если 1 - это аннигилятор для © (это подразумевает, что © идемпотентна а © а = (а ® 1) © (а ® 1) = а ® (1 © 1) = а ® 1 = а), то Л*существует и решает уравнение Ь = (А®Ь)©1.
Тогда А* ® М решает уравнение:
Р = (А ® Р) © М. (10)
Поэтому задача нахождения матрицы пересылки Р делится на две подзадачи: решение проблемы поиска маршрута к узлам инфраструктуры V и распределение матрицы отображения М по узлам инфраструктуры. Первая задача может быть решена с помощью алгоритма дистанционно-векторной маршрутизации с использованием порядковых номеров, а вторая задача решается с помощью алгоритма состояния каналов (см. рис. 3 в качестве примера [7]).
-- 3 -
4
dl
-у-
I
2
-- 1 -
d2
й1 й2 d1
0 ОТп 0 г5
1 3 от 3 7
2 от от 2 5 5
3 от 1 3 9 1
4 -2 3- 4 -2 3-
Рис. 3. Пример простой маршрутизации и пересылки
М =
Другая алгебраическая конструкция, называемая полумодулями, используется для моделирования порядкового номера. В более общем случае М принимает свои значения в другой алгебраической структуре (М,Ш,о), где ое Б х N ^ N. Операция Ш между матрицами определяется как АЩВ = С, где А, В и С одинаковой размерности и С(1,]} = А(1,]) Ш В(1,]). Более того, определяется о между матрицами как функцию А о В = С. Если А имеет размерность п х т и В размерность т х й, то С имеет размерность п х й.
Ш
С(Ц) = £ А(1,к)оВ(к,])
1<к<т
Пусть (Б,©,0,0,1) является полукольцом, структура (М,Ш,о,0К) называется полумодулем над 5, если выполняются следующие условия:
(Ы,Ш, 0N) коммутативная полугруппа ое(БхЫ)^Ы (а 0 Ь) о с = а о (Ь о с)
0 о т = 0п
5 о0 = 0п
1 о т = т
LD : 5>(т|л) = (5>т)|(5оп) RD : (з © Ь) о т = (з о т) Ш & о т)
Можно проверить, верны ли следующие утверждения о матрицах (размерности I, А, В равны п х п, а С,М равны п х й).
1) I о С = С
2) (А0 В) о С = Ао (В о С)
3) Ао (С ШМ) = (А о С) Ш (А о М)
4) (А ©В) о С_= (^оС)Ш(Во С) Если (М,Ш,о,0К) является полумодулем
полукольца (5,©,0,0,1), а 1 является аннигилятором для 0. Пусть А - матрица смежности, которая принимает свои значения в 5, а ? -матрица отображения, которая принимает свои значения в М, тогда А* о М является решением уравнения
Р = (АоР)ШМ.
(11)
Для решения проблемы пересылки необходимо решить уравнение Р = (А о р) Ш М. Однако это уравнение будет использоваться также для решения проблемы маршрутизации.
В данном алгоритме каждый узел выбирает порядковый номер. Тогда стоимость пути от узла i к самому себе имеет вид (я^ 15), например, если (5,©,0) = (Я+,тт,+), то 05 = от и = 0. Теперь определим коммутативные полугруппы (М, тах, 0). Пусть Ш определяется следующим образом (лексикографическое произведение тах х тьп):
% > Я2
(я2, й2) % < чО, тШ(Йг, й2У) Б = % = 52
Функция о^е (5х(Мх 5)) также определяется следующим образом:
о^ о, а2) ^ о, 0 а2),
отключённые узлы не сообщают никакой информации: 05 оГ51 (б, Л) = (0, 05).
И отношение о определяется следующим образом:
Ш
(I о М)(Ц) = ^ Щ, Ч) ом М(ц,]) чеу
Затем определяем матрицу М, которая имеет размерность пхп. М(ь,С) = (б^, 15) и М(1,]} = {0,Ъ5), где 1Ф ]. И затем алгоритм вычисляет решение уравнения Р = (А о Р) Ш М, где М и Р имеют одинаковую размерность, а расчет стоимости производится для узлов инфраструктуры. Идея состоит в том, что при изменении матрицы смежности А у некоторых узлов из узлов инфраструктуры не будут найдены маршрутизаторы для некоторых пунк-
2
3
3
6
тов назначения, если увеличить порядковый номер для таких пунктов назначения, это равносильно сбросу для маршрутизации до данных пунктов назначения. Рассмотрим пример на рис. 4 и сформируем матрицы:
Рис. 4. Иллюстрация алгоритма распределения порядковых номеров
0 1 2 3
0 да 2 1 да
A = 1 2 да 5 4
2 1 5 да 3
3 да 4 3 да-
0 1 2 3
0 0 2 1 4
A* 1 2 0 3 4
2 1 3 0 3
3 - 4 4 3 0-
0 1 2 3
0 "(so,0) (0, да) (0, да) (0, да)
1 (0, да) (si,0) (0, да) (0, да))
2 (0, да) (0, да) (s2,0) (0, да)
3 -(0, да) (0, да) (0, да) (s3,0)
0 1 2 3
0 "(so,0) (si,2) (s2,1) (s3,4)~
1 (so,2) (si,0) (s2,3) (s3,4)
2 (s0,1) (si, 3) (s2,0) (s3,3)
3 -(so,4) (si,4) (s2,3) (s3,0)-
Рассмотрим случай, если связь между 0 и 2 нарушена. Поэтому в соответствии с алгоритмом увеличим порядковый номер в матрице М. Новая матрица смежности представляет собой:
0 1 2 3
да 2 да да
2 да 5 4
да 5 да 3
да 4 3 да
0 1 2 3
0 K,0) (0, да) (0, да) (0, да)
=1 (0, да) И,0) (0, да) (0, да))
2 (0, да) (0, да) (*2,0) (0, да)
3 .(0, да) (0, да) (0, да) (*з,0)
S- = S + 1
F0=F~ 0 Шм' 0 "(so', 0) 1 (si,2) 2 (s2,1) 3 (s3,4)
=1 (so,2) (si',0) (s2, 3) (s3,4)
2 (s0,1) (si, 3) (V,0) (s3,3)
3 -(so,4) (si,4) (s2, 3) fe',0)
F, = (B 0 0 "(so', 0) M' 1 (si',2) 2 (s2, 5) 3 (s3,6)
=1 (V,2) (si',0) (S2',5) (s3',4)
2 (®o,7) (si',5) (s2',0) (s3',3)
3 -(so,4) (si',4) (s2',3) (s3',0)
F2=(B 0 >F1)EB 0 "(so', 0) M' 1 (si',2) 2 (V,7) 3 (s3',6)
=1 (V,2) (s/,0) (S2',5) (s3',4)
2 (V',7) (%',5) (s2',0) (s3',3)
3 ■(so', 6) (s/,4) (s2',3) (s3',0)
F2 = В* > М'
Переходные циклы могут образовываться, когда узлы используют маршруты со старыми порядковыми номерами. Чтобы решить данную проблему, необходимо добавить проверку условия «выполнимости», введём дополнительный бит запроса. Пусть В = [true, false], и определим операцию U над полугруппой В х М следующим образом
(b1,s1) U (ft2,s2) = (bi Vb2,max(s1,s2))
Ясно, что U ассоциативно, коммутативно и (false, 0) является нейтральным элементом. Далее операция Ш определяется следующим образом
(b1,s1,d1) Ш (b2,s2,d2)
Г (b1,s1,d1) s1>s2
= j (b2,s2,d2) s1<s2
V b2,s, min(d1,d2)) s = = s2 > (b, s, d2) d=' (b, s, di®d2) and 0S > (b, s, d) d=' (false, 0,0S)
Ш
(L>M)(t,;)=^i(t,q)>M(q,;)
q€V
Теперь необходимо вычислить Рк+1 = (Ак+1 > Рк) ЕВ Мк. Введём матрицу й, которая содержит расстояние выполнимости и вычисляется с использованием уравнения Dfe+1 = Рк+1 Ш Вк. Используем условие 3 для проверки выполнимость. Узел 5 является возможным маршрутизатором для узла г при маршрутизации в направлении _/, если Рк(з,]>) <щ Dfe(г,7), где Рк(5,]) - указанное расстояние узла 5 до его непосредственно подключенного соседа г, а ] - узел назначения. Если нет возможного маршрутизатора, запрос на увеличение порядкового номера устанавливается в Рк+1(1,]}. Если запрос на увеличение порядкового номера будет установлен для элемента в диагонали Рк+1 = (Ак+1 оРк) Ш Мк, порядковый номер элемента в матрице Мк вместо этого увеличивается, поэтому порядковый номер также будет увеличен в Рк+±, а бит останется неустановленным для диагонального элемента. Проиллюстрируем на примере рис. 4.
о0 = Р0
0 1 2 3
0 -(Т,*0,0) (Г.3,.2) (Г,з2,1) (/,з3,4)-
= 1 (Г,з0,2) (1^,0) (Г,з2,3) (/,з3,4)
2 (Г,з0,1) (Г,з1,3) (Г,з2,0) (/,з3,3)
3 -(Г,з0,4) (1.31.4) (Г,з2,3) (/,з3,0)-
0 01 ■ то 2 2 то 3 то
В = 1 2 то 5 4
2 то 5 то 3
3 - то 4 3 то-
м0 0 0 -(¡,5 0,0) 1 (Г,0,то) 2 (Г,0,то) 3 (Г,0,то)
= 1 (Г,0то) (Г.з^) (Г,0,то) (Г,0,то))
2 (Г,0то) (Г,0,то) (Г,з2,0) (Г,0,то)
3 -(1,0.то) (Г,0,то) (Г,0,то) (Г,з3,0)
Рг = (В 0 > Р0) Ш м0 0 -(Г,з0,0) 1 (1.4.2) 2 ({, 52,то) 3 (£, зз.то^)
= 1 (Г,з0,2) (Г,з1,0) (/,з2,3) (Г,з3,4)
2 з0,то) (Г,з1,5) (/,з2,0) (Г,з3,3)
3 -(Г,з0,4) (1.31.4) (/,з2,3) (Г,з3,0)
Л?! = 0 - ^,01=И1 Е 0 -(Г,30,0) Оо 1 (1.4.2) 2 (^з2,1) 3 (С,з3,4)-
= 1 (Г,з0,2) (Г,з1,0) (Г,з2,3) (Т.33.4)
2 (^„Д) (Г,з1,3) (Г,з2,0) (Г,з3,3)
3 -(Г,з0,4) (1.31.4) (Г,з2,3) (Г,з3,0)-
Р2 = 0 (в > Ш 0 -(Г,30,0) 1 (1.4.2) 2 ({, 52,то) 3 (£, ^3, то)'
= 1 (С,з0,2) (Г,з1,0) &,З2,5) (1,з3,4)
2 (С, з0,то) (Г,з1,5) (/,з2,0) (Г,з3,3)
3 .(1,30,6) (1.31.4) (/,з2,3) (Г,з3,0)-
02 = 0 Ш£>1 0 ХГ.з 0,0) 1 (1.4.2) 2 (¿.з 2,1) 3 (1,з3,4)-
= 1 (С,*о,2) (Г,з1,0) (г,з2,3) (1,з3,4)
2 (£,з0,1) (Г,з1,3) (Г,з2,0) (Г,з3,3)
3 -(¡.зо,4) (1.31.4) (Г,з2,3) (Г,з3,0)-
м2 0 0 (/,з0',0) 1 (Г,0,то) 2 (Г,0,то) 3 (Г,0,то)
= 1 (/,0,то) (Г,3г,0) (Г,0,то) (Г,0,то))
2 (/,0,то) (1,0, то) (Г,з2',0) (Г,0,то)
3 (/,0,то) (1,0, то) (Г,0,то) (Г,з3',0)
Рз = 0 (в > Р2) Ш м2 0 -(Г,*о',0) 1 (Г,3г,2) 2 ({, 52,то) 3 з3,то~)
= 1 (¿,з0,2) (Г,3г,0) &,З2,5) (1,з3,4)
2 (t,So,то) (Г,3г,5) (Г,з2',0) (1,з3,3)
3 -&,5о,6) (Г.3,,4) (г,з2,3) (Г,з3',0)
м3 = 0 м г,03=Р3 Ш 0 -(Г,*0',0) о2 1 (Г,3г,2) 2 (г,з2,1) 3 (1,Б3,4)
= 1 (¿,з0,2) (Г,3г,0) (г,з2,3) (1,з3,4)
2 (£,зо,1) (Г,з1,3) (Г,з2',0) (1,з3,3)
3 -(¡.зо,4) (Г.3,,4) (г,з2,3) (Г,з3',0)
р4 = 0 (В > Рз) Ш м3 0 -(Г,*о',0) 1 (Г,3г,2) 2 ({, 32,то) 3 з3,то~)
= 1 (Г,з0',2) (Г,3г,0) (Г,З2',5) (Г,з3',4)
2 (t,So,то) (Г,3г,5) (Г,з2',0) (Г.зз',3)
3 -&,5о,6) (Г.3,,4) (Г,з2',3) (Г.зз',0)
м4 = M3,D4 = F4
I D-i
0 C/,V ,0) C/,%,2) (t,s2,1) (t,s3,4)
= 1 C/,V ,2) C/,%,0) (/,V ,3) (/,V,4)
2 (t,s0,1) C/,%,3) (/,V ,0) (/,V,3)
3 -(t,s0,4) (f,si,4) (/,V ,3) (/,V,0)
Fs = (Bo F4) Ш M4 0
0 t/,V ,0) C/,%,2) (/,V ,7) (/,V,6)
=1 (/,V ,2) C/,%,0) (/,V ,5) (/,V,4)
2 (/,V ,7) C/,%,5) (/,V ,0) (/,V,3)
3 -(/,V ,6) (/,%,4) (/,V ,3) (/,V,0)
FS=B* >M4
Вышеуказанные вычисления выполняются распределено с помощью дистанционно-векторного алгоритма. Затем решение проблемы маршрутизации (В*) извлекается (путем удаления порядкового номера и бита запроса) из приведенного выше расчета и используется для решения проблемы пересылки в уравнении (10) или (11).
Заключение
Была использована матричная модель с полукольцами для исследования бесцикловой маршрутизации. Показано, что при соблюдении строгого инфляционного свойства, алгоритм Беллман-Форд вычисляет маршрутные пути без петель в статической топологии. Однако в динамической топологии могут возникать петли маршрутизации.
Условия бесцикловой маршрутизации были представлены алгебраически и доказаны. Также показана взаимосвязь между этими условиями. В разделе 4 было введено понятие монотонной маршрутизации. Показано, что если матрица маршрутизации уменьшается (или увеличивается) на одной итерации вектора расстояний, то она будет продолжать уменьшаться (или увеличиваться) на следующих итерациях до тех пор, пока топология является фиксированной. Таким образом, для бесцикловой маршрутизации необходимо управлять матрицей маршрутизации, чтобы уменьшить маршрутизацию так, чтобы условие 1 выполнялось.
Кроме того, обсуждался эффект потери монотонности. Показано, что DBF больше не будет бесцикловым даже в статической топологии и больше не ограничивается n-1 итерациями для достижения оптимальности (в данном случае локальной оптимальности). Также про-
демонстрировано, что при использовании DUAL даже в статической топологии могут происходить диффузионные вычисления, однако алгоритм будет сходиться к локальному оптимуму.
Наконец, представлена модель протокола DSN с использованием полумодулей. Модель помогает объяснить и проверить работу используемых алгоритмов гибридного состояния каналов и дистанционно-векторного.
Литература
1. Garcia-Lunes-Aceves J.J. Loop-free routing using diffusing computations // IEEE/ACM Trans. Netw. 1993. 1(1), Рр. 130-141.
2. RFC 7868: Cisco's Enhanced Interior Gateway Routing Protocol (EIGRP) / D. Savage et al. 2016.
3. Albrightson R., Garcia-Luna-Aceves J.J., Boyle J. EIGRP - a fast routing protocol based on distance vectors // Proc. Networld/Interop. 1994. 94.
4. Garcia-Luna-Aceves J.J. A unified approach to loopfree routing using distance vectors or link states // ACM SIGCOMM Comput. Commun. Rev. 1989. 19(4). Рр. 212223.
5. Khayou H., Sarakbi B. A validation model for non-lexical routing protocols // Netw. Comput. Appl. 2017. 98. Рр. 58-64.
6. Khayou H., Orlova M.A., and Abrosimov L.I. A Hybrid Distance Vector Link State Algorithm: Distributed Sequence Number // International Journal of Computer Networks and Applications. 2021. 8.3. Рр. 203-213.
7. Billings J.N., and Timothy G. Griffin. A model of internet routing using semi-modules // International Conference on Relational Methods in Computer Science. Berlin. Heidelberg: Springer, 2009.
8. Alim M.A., Griffin T.G. On the interaction of multiple routing algorithms // Proceedings of the Seventh COnference on Emerging Networking Experiments and Technologies. 2011.
9. Sobrinho J.L. Network routing with path vector protocols: theory and applications // Proceedings of the 2003 Confer-ence on Applications, Technologies, Architectures, and Protocols for Computer Communications. 2003.
10. Sobrinho J.L. An algebraic theory of dynamic network routing // IEEE/ACM Trans. Netw. 2005. 13(5). 11601173.
11. Sobrinho, J.L.: Algebra and algorithms for QoS path computation and hop-by-hop routing in the Internet. IEEE/ACM Trans. Netw. 10(4), 541-550 (2002)
12. Gurney A.J.T. Construction and verification of routing algebras. Diss. University of Cambridge. 2010.
13. Sobrinho J.L., Griffin T.G. Routing in equilibrium // Math. Theory Netw. Syst. 2010
14. Griffin T.G., Sobrinho J.L. Metarouting // Proceedings of the 2005 Conference on Applications, Technologies, Ar-chitectures, and Protocols for Computer Communications. 2005.
15. Gondran M., Minoux M. Graphs, Dioids and Semirings: New Models and Algorithms. 2008. Vol. 41. Springer, New York. https://doi.org/10.1007/978-0-387- 75450-5
16. Baras J.S., Theodorakopoulos G. Path problems in networks. Synth. Lect. Commun. Netw. 2010. 3(1). 1-77.
17. Griffin T.G., Gumey A.J.T. Increasing bisemigroups and algebraic routing // RelMiCS. LNCS. 2008. Vol. 4988. Pp. 123-137. https://doi.org/10.1007/978-3-540-78913-0_11
18. Dijkstra E.W., Scholten C.S. Termination detection for diusing computations // Inf. Process. Lett. 1980. 11(1). 14.
19. Jae J., Moss F. A responsive distributed routing algorithm for computer networks // IEEE Trans. Commun. 1982. 30(7). Pp. 1758-1762.
20. Gouda M.G., Schneider M. Maximizable routing metrics // IEEE/ACM Trans. Netw. 2003. 11(4). Pp. 663-675. https://doi.org/10.1109/TNET.2003.815294
21. Dynerowicz S., Griffin T.G. On the forwarding paths produced by internet routing algorithms // 21st IEEE International Conference on Network Protocols (ICNP). 2013
22. Sobrinho J.L. Correctness of routing vector protocols as a property of network cycles // IEEE/ACM Trans. Netw. 2017. 25(1). Pp. 150-163. https://doi.org/10.1109/ TNET.2016.2567600
23. Saad M. Non-isotonic routing metrics solvable to optimality via shortest path. // Comput. Netw. 2018. 145. Pp. 89-95.
24. Griffin T. An Algebraic approach to internet routing. University of Cambridge. Lecture Notes. 2010.
25. Mohri M. Semiring frameworks and algorithms for shortest-distance problems // J. Autom. Lang. Comb. 2002. 7(3). Pp. 321-350.
26. Malkin G. RFC 2453: RIP Version 2. 1998.
27. Rekhter Y., Li T., Hares S. RFC 4271: A Border Gateway Protocol 4 (BGP-4) 2006.
Поступила 10.01.2022; принята к публикации 16.02.2022 Информация об авторах
Хаю Хуссейн - аспирант кафедры вычислительных машин систем и сетей, Национальный исследовательский университет «Московский энергетический институт» (111250, Россия, г. Москва, ул. Красноказарменная, 14), e-mail: hussein.khayou@gmail.com, ORCID: https://orcid.org/0000-0002-9790-5871
Орлова Маргарита Андреевна - ассистент кафедры вычислительных машин систем и сетей, сетевой инженер Информационно-вычислительного центра, администратор академии Cisco, Национальный исследовательский университет «Московский энергетический институт» (111250, Россия, г. Москва, ул. Красноказарменная, 14), e-mail: RudenkovaMA@mpei.ru, ORCID: https://orcid.org/0000-0002-8214-4117
Абросимов Леонид Иванович - д-р техн. наук, профессор кафедры вычислительных машин систем и сетей, академик Международной академии информатизации, Национальный исследовательский университет «Московский энергетический институт» (111250, Россия, г. Москва, ул. Красноказарменная, 14), e-mail: AbrosimovLI@mpei.ru, ORCID: https://orcid.org/0000-0001-6171-8559
ALGEBRAIC METHODOLOGY FOR MODELING LOOP-FREE ROUTING
H. Khayou, M.A. Orlova, L.I. Abrosimov
National Research University "Moscow Power Engineering Institute", Moscow, Russia
Abstract: the routing problem can be formulated as follows: given a network G, it is necessary to find the best path between nodes i and j from the network G. However, the concept of "best" is obscure, and it depends on which parameters in the composite metric network operators are trying to optimize. For separation of concerns, routing algebras were introduced to model what the routing protocol is trying to solve while maintaining a generic routing algorithm. However, all routing protocols must address the problem of loop-freedom. The purpose of this article is to present a theory of loop-free routing with an arbitrary metric. It is shown that the choice of the basic algebra can affect the performance of the algorithm itself, as in the presented example for the routing protocol (EIGRP). In addition, the modification of the routing algebra can help in the introduction of new routing algorithms. An example is the DSN protocol (Distributed Sequence Number), which uses a hybrid linkstate and distance vector algorithm. New components are added to the DSN metric, which are the sequence number and a flag bit denoting a request to increase the sequence number. This helped, as shown in this article, to solve the problem of loop-free routing with minor changes in the original distance vector algorithm. In this paper, the following tasks have been solved. The conditions for loop-free routing and the relations between them were presented algebraically and proved. The concept of monotonous routing is introduced. Loop-free routing was investigated in the presence and absence of monotony. Based on the formulated theorems, an algebraic model and validation of a loop-free algorithm used in the DSN protocol have been developed
Key words: semicircles, routing algebra, loop-free routing, Bellman-Ford algorithm, diffusion computation
References
1. Garcia-Lunes-Aceves J.J. "Loop-free routing using diffusing computations", IEEE/ACM Trans. Netw., 1993, no. 1(1), pр. 130-141.
2. Savage D. et al. "RFC 7868: Cisco's enhanced interior gateway routing protocol (EIGRP)", 2016.
3. Albrightson R., Garcia-Luna-Aceves J.J., Boyle J. "EIGRP - a fast routing protocol based on distance vectors", Proc. Net-world/Interop., 1994, no. 94.
4. Garcia-Luna-Aceves J.J. "A unified approach to loop-free routing using distance vectors or link states", ACM SIGCOMM Comput. Commun. Rev., 1989, no. 19(4), pр. 212-223.
5. Khayou H., Sarakbi B. "A validation model for non-lexical routing protocols", Netw. Comput. Appl., 2017, no. 98, pp. 5864.
6. Khayou H., Orlova M.A., Abrosimov L.I. "A hybrid distance vector link state algorithm: distributed sequence number", International Journal of Computer Networks and Applications, 2021, no. 8.3, pp. 203-213.
7. Billings J.N., Griffin T.G. "A model of internet routing using semi-modules", Int. Conf. on Relational Methods in Computer Science, Berlin, Heidelberg: Springer, 2009.
8. Alim M.A., Griffin T.G. "On the interaction of multiple routing algorithms", Proc. of the Seventh Conf. on Emerging Networking Experiments and Technologies, 2011.
9. Sobrinho J.L. "Network routing with path vector protocols: theory and applications", Proc. of the 2003 Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications, 2003.
10. Sobrinho J.L. "An algebraic theory of dynamic network routing", IEEE/ACM Trans. Netw., 2005, no. 13(5), pp. 11601173.
11. Sobrinho, J.L. "Algebra and algorithms for QoS path computation and hop-by-hop routing on the Internet", IEEE/ACM Trans. Netw., 2002, no. 10(4), pp. 541-550
12. Gurney A.J.T. "Construction and verification of routing algebras", diss., University of Cambridge, 2010.
13. Sobrinho J.L., Griffin T.G. "Routing in equilibrium", Math. Theory Netw. Syst., 2010
14. Griffin T.G., Sobrinho J.L. Metarouting, Proc. of the 2005 Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications, 2005.
15. Gondran M., Minoux M. "Graphs, dioids and semirings: new models and algorithms", Springer, New York, 2008, vol. 41, https://doi.org/10.1007/978-0-387- 75450-5
16. Baras J.S., Theodorakopoulos G. "Path problems in networks", Synth. Lect. Commun. Netw., 2010, no. 3(1), pp. 1-77.
17. Griffin T.G., Gurney A.J.T. "Increasing bisemigroups and algebraic routing", RelMiCS. LNCS, 2008, vol. 4988, pp. 123-137. https://doi.org/10.1007/978-3-540-78913-0_11
18. Dijkstra E.W., Scholten C.S. "Termination detection for diusing computations", Inf. Process. Lett., 1980, no. 11(1), pp. 14.
19. Jae J., Moss F. "A responsive distributed routing algorithm for computer networks", IEEE Trans. Commun., 1982, no. 30(7), pp. 1758-1762.
20. Gouda M.G., Schneider M. "Maximizable routing metrics", IEEE/ACM Trans. Netw, 2003, no. 11(4), pp. 663-675. https://doi.org/10.1109/TNET.2003.815294
21. Dynerowicz S., Griffin T.G. "On the forwarding paths produced by internet routing algorithms", 21st IEEE Int. Conf. on Network Protocols (ICNP), 2013
22. Sobrinho J.L. "Correctness of routing vector protocols as a property of network cycles", IEEE/ACM Trans. Netw., 2017, no. 25(1), pp. 150-163. https://doi.org/10.1109/ TNET.2016.2567600
23. Saad M. "Non-isotonic routing metrics solvable to optimality via shortest path", Comput. Netw., 2018, no. 145, pp. 89-95.
24. Griffin T. "An Algebraic approach to internet routing", Lecture Notes, University of Cambridge, 2010.
25. Mohri M. "Semiring frameworks and algorithms for shortest-distance problems", J. Autom. Lang. Comb., 2002, no. 7(3), pp. 321-350.
26. Malkin G. "RFC 2453: RIP Version 2", 1998.
27. Rekhter Y., Li T., Hares S. "RFC 4271: A border gateway protocol 4 (BGP-4)", 2006.
Submitted 10.01.2022; revised 16.02.2022 Information about the authors
Khayou Hussein, graduate student, National Research University "Moscow Power Engineering Institute" (14 Krasnokazarmennaya str., Moscow 111250, Russia), e-mail: hussein.khayou@gmail.com, ORCID: https://orcid.org/0000-0002-9790-5871) Margarita A. Orlova, Assistant, Engineer, Administrator at Cisco Academy MPEI Training Centre, National Research University "Moscow Power Engineering Institute" (14 Krasnokazarmennaya str., Moscow 111250, Russia), e-mail: RudenkovaMA@mpei.ru, ORCID: https://orcid.org/0000-0002-8214-4117)
Leonid I Abrosimov, The corresponding member of the International Information Academy, Dr. Sc. (Technical), Professor, National Research University "Moscow Power Engineering Institute" (14 Krasnokazarmennaya str., Moscow 111250, Russia), e-mail: AbrosimovLI@mpei.ru, ORCID: https://orcid.org/0000-0001-6171-8559)