УСТРОЙСТВО МОДЕЛИРОВАНИЯ ДОВЕРЕННОЙ СЕТЕВОЙ МАРШРУТИЗАЦИИ

Устройство относится к вычислительной технике, в частности к устройствам маршрутизации в транспортных сетях широкого назначения (ТСШН). Устройство представляет собой стенд для эмуляции маршрутизации реальной ТСШН. Данные, передаваемые по ТСШН, зависят от ее предназначения: так, в случае сетей связи - ими являются сетевые пакеты, в случае транспортных сетей - это автотранспорт, и т.п.
Обычно устройство маршрутизации содержит средство для нахождения маршрутов в ТСШН, средство для передачи данных, при этом устройство маршрутизации способно определять кратчайшей пути от узла-источника (S) к узлу-получателя (Т), используя модули маршрутизации. В данном эмуляторе маршрутизации предлагается только устройство маршрутизации без средств передачи.
Из существующего уровня техники известен алгоритм Е.В. Дейкстры (см. 1. «Заметка о двух проблемах связанных с графами» (A Note on Two Problems in Connexion with Graphs", Numerische Mathematik), опубл. 1959 г.), который представляет собой способ выбора кратчайшего пути от одного узла ко всем узлам сети. При этом учитываются веса связей между узлами сети, влияющие на итоговую длину маршрута.
Исходными данными в способе является топология сети, веса связей между узлами, а также начальная и конечная точка искомого кратчайшего маршрута.
Способ построен на последовательном обходе всех узлов сети из начального. При этом для каждого узла вычисляется (с учетом весов связей) минимальное расстояние, за которое в узел можно попасть из начального. Для этого, по мере обхода соседних узлов, значение текущего узла постепенно уточняется - минимизируется. Конечным результатом является вычисление расстояния до конечного узла искомого маршрута или определение его недостижимости.
Способ широко используется при разработке программного обеспечения устройств управления трафиком (в основном для маршрутизации сетевых пакетов).
Устройство для реализации данного способа содержит последовательно соединенные блок хранения данных, блок считывания данных - начальный/конечный узел, топология сети, блок проверки наличия данных, блок инициализации параметров узлов сети, блок обхода узлов сети от начального к конечному, блок назначения соседним узлам сети локальных минимальных расстояний и блок вывода найденного маршрута с минимальной длиной.
Однако в данном устройстве отсутствует учет доверия к узлам сети при выборе маршрута. Так, выбор маршрута через недоверенные узлы может привезти к угрозам безопасности передаваемых по нему данных. Кроме того, поскольку невозможно осуществить проверку уровня доверия узлов, к которым выбирается кратчайший путь, то надежность такого устройства невысока.
Скорость обработки данных также может быть недостаточной в случае обработки сетей с большим количеством узлов, поскольку в основу функционирования устройства заложено вычисление кратчайших расстояний до всех узлов, а не только до заданного конечного.
Известен способ (см. 2. https://dl.acm.org/citation.cfm?id=2627368.2674395 и 3. https://link.springer.com/chapter/10.1007/978-3-642-13193-6_3), который представляет собой упрощенную версию двунаправленного варианта алгоритма Дейкстры для выбора кратчайшего и локально оптимального маршрута в сети. Используемый алгоритм, в отличие от используемых для поиска кратчайшего маршрута (то есть абсолютно оптимального), определяет локально оптимальные маршруты для применения на сетях с большим протяжением.
Исходными данными в способе является аналогичные для способа с применением алгоритма Дейкстры: топология сети, веса связей между узлами, а также начальная и конечная точка искомого кратчайшего маршрута.
Способ построен на двух параллельно выполняемых обходах узлов сети из начального и конечного узлов. Для каждого узла вычисляется (с учетом весов связей) минимальное расстояние, за которое в узел можно попасть из первого в обходе. Для этого, по мере обхода соседних узлов, значение текущего узла постепенно уточняется - минимизируется. Способ завершается, когда оба обхода (из начального и конечного узлов) пересекутся в общей точке; или определена невозможность соединения обходов. Таким образом, будет найден локально оптимизированный маршрут при обходе значительно меньшего количества узлов сети, чем в алгоритме Дейкстры.
Основное применение способа относится к области сетевых и автономных навигационных систем для работы в сетях «континентального» размера с высокими требованиями к скорости.
Устройство для реализации данного способа содержит последовательно соединенные блок хранения данных, блок считывания данных - начальный/конечный узел, топология сети, блок проверки наличия данных, блок инициализации параметров узлов сети, блок двух параллельных обходов узлов сети от начального/конечного узла до пересечения путей, блок назначения соседним узлам сети локальных минимальных расстояний для каждого из обходов и блок вывода найденного маршрута с локально минимальной длиной.
Однако в данном устройстве при выборе маршрута не учитывается уровень доверия к узлам, что снижает надежность устройства.
Известно устройство доверенной маршрутизации в телекоммуникационных сетях (см. 4. патент РФ на полезную модель №150245, H04L /12/723, опубл. 10.02.2015 г.), содержащее последовательно соединенные блок хранения данных, блок проверки наличия данных, блок считывания данных, блок проверки уровня доверия узлов, блок контроля/управления узлов и преобразования недоверенных узлов в доверенные узлы и блок выбора доверительного маршрута.
В данном устройстве предложен модифицированный алгоритм Дейкстры для выбора кратчайшего маршрута в сети, однако, проходящего через доверенные узлы. При этом также как и в базовом алгоритме, учитываются веса связей между узлами сети, влияющие на итоговую длину маршрута, топология сети, а также начальная и конечная точки искомого кратчайшего маршрута.
Принцип работы устройства построен на последовательном обходе всех узлов сети из начального. Узлы, которые определены как недоверенные, преобразовываются в доверенные или исключаются из построения маршрута. При этом для каждого узла вычисляется (с учетом весов связей) минимальное расстояние, за которое в узел можно попасть из начального. Для этого, по мере обхода соседних узлов, значение текущего узла постепенно уточняется - минимизируется. Работа устройства завершается, когда вычислено расстояние до конечного узла искомого маршрута или определена его недостижимость.
Устройство не имеет широкого применения в сетях. Однако способ, положенный в основу работы устройства, может применяться при разработке программного обеспечения устройств управления трафиком в условиях повышенных требований к безопасности передаваемых данных (в основном для маршрутизации сетевых пакетов).
Однако данное устройство, как и устройство, реализующее алгоритм Дейстры, не обеспечивает высокой скорости работы в случае обработки сетей с большим количеством узлов.
Известно также (4. см. патент США №7984294, МПК H04L 29/06, опубл. 19.07.2011), техническое решение, раскрывающее способ и устройство, в которых предлагается устанавливать уровень доверия маршрута, используя множество маршрутизаторов Интернета и маршрутизатор отправителя, с помощью информации об уровнях доверия маршрутов, полученных в виде дополнительной информации от каждого маршрутизатора на этом маршруте через Интернет; а также оценки пояснительной информации об уровнях доверия для определения достаточности уровня доверия того или иного маршрута, полученного через Интернет. Когда маршрут получен маршрутизатором отправителя, он определяет, является ли уровень доверия этого маршрута приемлемым, используя информацию из специализированной базы данных. Если маршрут приемлемый, то он посылает сообщение о подтверждения этого маршрута в виде кода RSVP-TPACT всем узлам этого маршрута. В противном случае, маршрутизатор отправителя передает сообщение RSVP-РАЗРЫВ всем узлам этого маршрута, т.е. что этот маршрут не заслуживает доверия. Далее маршрутизатор отправителя продолжает выбирать маршрут к маршрутизатору получателя, пока не будет найден приемлемый маршрут или когда наличие маршрутов исчерпано.
Таким образом, осуществляется выбор маршрута в сети с учетом доверия к каждому из ее узлов. Уровень доверия в способе предоставляется каждым узлом по запросу.
Исходными данными является выбранный маршрут для отправки трафика.
В случае, если выбор маршрутов исчерпан, то делается отказ от передачи трафика. Информация об промежуточных узлах передается в узел отправителя (инициатора) с помощью ее добавления к служебному пакету в процессе построения возможных маршрутов. Информацией могут служить сертификаты, географическое положение (на основании IP-адресов), DNS-имена и др.
Способ не имеет широкого применения в сетях. Однако он может применяться при разработке программного обеспечения устройств управления трафиком в условиях повышенных требований к безопасности передаваемых данных (в основном для маршрутизации сетевых пакетов в телекоммуникационных сетях).
Устройство маршрутизации для реализация этого способа содержит последовательно соединенные блок хранения данных, блок считывания данных - начальный/конечный узел, блок проверки наличия данных, блок перебора возможных маршрутов трафика, блок получения информации об узлах маршрута, блок определения уровня доверия текущего маршрута, а также блок вывода найденного маршрута с подходящим уровнем доверия. В устройстве для осуществления доверенной маршрутизации по патенту США №7984294, маршрутизатор отправителя продолжает выбирать маршрут к маршрутизатору получателя, пока не будет найден приемлемый маршрут или наличие маршрутов исчерпано.
Однако выбор доверенных маршрутов далеко не велик и не очень надежен, поскольку, хотя количество маршрутов определяется алгоритмом маршрутизации, маршрут выбирается среди всех узлов ТКС, не исключая недоверенных узлов. Это приводит к снижению надежности выбора доверенного маршрута, поскольку в нем может оказаться узел, не внушающий доверия, а также к невысокой скорости обработки данных в устройстве.
В качестве прототипа выбрано устройство для реализации способа (2. и 3.), который представляет собой упрощенную версию двунаправленного варианта алгоритма Дейкстры для выбора кратчайшего и локально оптимального маршрута в сети и в котором определяются локально оптимальные маршруты для применения в сетях с большим протяжением.
Техническим результатом предлагаемого устройства является повышение надежности выбора маршрута при одновременном обеспечении высокой скорости обработки данных, путем осуществления при двух параллельных обходах сети от начального/конечного узла до пересечения путей определения доверенности узлов и выбора оптимального сетевого маршрута среди доверенных узлов.
Достижение технического результата обеспечивается в предлагаемом устройстве моделирования доверенной сетевой маршрутизации, содержащем последовательно соединенные блок хранения данных о сети, блок считывания данных - начальный/конечный узел, топология сети, блок проверки наличия данных, блок инициализации параметров узлов сети, блок двух параллельных обходов сети от начального/конечного узла до пересечения путей, блок назначения соседним узлам сети локальных минимальных расстояний для каждого из обходов, а также блок вывода найденного маршрута с локально-минимальной длиной, отличающемся тем, что оно дополнительно содержит последовательно соединенные блок хранения данных о доверенности узлов и блок определения доверия узлу, при этом вход блока определения доверия узлу связан двунаправленной шиной с блоком двух параллельных обходов сети от начального/конечного узла до пересечения путей.
Повышение надежности выбора доверенного маршрута и обеспечение высокой скорости обработки данных достигается тем, что в процессе поиска кратчайшего пути от источника к месту назначения путем двух параллельных обходов сети от начального узла к конечному узлу используются только те узлы, которые одновременно с двумя упомянутыми обходами определены как доверенные в блоке определения доверия узлу с использованием блока хранения данных о доверенности узлов. Это исключает возможность подделки данных любым способом, повышая надежность выбора маршрута, и уменьшает количество узлов, которые используются для выбора доверенного маршрута, что увеличивает скорость обработки данных. Способ преобразования узлов в доверенные зависит от предназначения ТСШН: так, в случае сетей связи - это может быть преобразование программного обеспечения узлов в изначально протестированное, в случае транспортных сетей - оперативное регулирование перекрестков, и т.п.
Предлагаемая полезная модель поясняется чертежами, где на фиг. 1 представлена структурная схема предлагаемого устройства моделирования доверенной сетевой маршрутизации, на фиг. 2 - пример реализации предлагаемого устройства, на фиг. 3 - блок-схема алгоритма работы устройства.
В соответствии с фиг. 1 устройство содержит последовательно соединенные блок 1 хранения данных о сети, блок 2 считывания данных - начальный/конечный узел, топология сети, блок 3 проверки наличия данных, блок 4 инициализации параметров узлов сети, блок 5 двух параллельных обходов сети от начального/конечного узла до пересечения путей, включающий блок 6 обхода от начального узла, блок 7 обхода от конечного узла, выходами подключенные к соответствующим входам блока 8 прекращения выполнения при пересечении текущих узлов обходов, двунаправленной шиной блок 5 двух параллельных обходов сети от начального/конечного узла до пересечения путей соединен с блоком 9 определения доверия узлу, выходом соединенного со входом блока 10 хранения данных о доверенности узлов, а выход блока 5 двух параллельных обходов сети от начального/конечного узла до пересечения узлов подключен ко входу блока 11 назначения соседним узлам сети локальных минимальных расстояний для каждого из обходов, выход которого соединен со входом блока 12 вывода найденного доверенного маршрута с локально минимальной длиной.
Работа предлагаемого устройства осуществляется следующим образом.
Данные о заданных начальном и конечном узлах, между которыми необходимо найти кратчайших маршрут, а также топология сети, хранятся в блоке 1 хранения данных о сети, из которого затем считываются с помощью блока 2 считывания данных - начальный/конечный узел, топология сети и проверяются на наличие всех необходимых элементов в блоке 3 проверки наличия данных. Затем производится инициализация узлов сети с начальным локальными минимальными расстояниями от начального узла (максимально большим значением) в блоке 4 инициализации параметров узлов сети. После этого, все узлы последовательно обходятся в два потока с помощью блока 5 двух параллельных обходов сети от начального/конечного узла до пересечения путей. Данный блок производит обход одновременно с начального и конечного узлов, для чего предназначены входящие в него блоки 6 обхода от начального узла и 7 обхода от конечного узла. Работа блока 5 прекращается, когда блоки 6 и 7 обработали одинаковый узел - то есть обходы пересеклись, что обеспечивается блоком 8 прекращения выполнения при пересечении текущих узлов обходов, также входящим в блок 5. В процессе обходов одновременно производится определение доверия к узлу в блоке 9 определения доверия узлу. Для этого используется информация о доверенности узлов из блока 10 хранения данных о доверенности узлов. В случае, если узел считается недоверенным, то он исключается из обработки обходами. При обходе доверенных узлов блоки 6 и 7 выбирают для соседних узлов минимальное расстояние от каждого первого узла в обходе (начального или конечного соответственно) с помощью блока 11 назначения соседним узлам сети локальных минимальных расстояний для каждого из обходов. Момент пересечения обходов будет означать, что найден локально оптимальный маршрут и обходы необходимо завершить. Маршрут с локально минимальной длиной подготавливается и выводится блоком 12.
На фиг. 2 пример реализации предлагаемого устройства представляет собой пример устройства эмуляции доверенной сетевой маршрутизации с аппаратно-программными средствами для осуществления настоящей полезной модели.
Для выполнения программы алгоритма используются:
13 - основная память;
14 - процессор;
15 - дисплей;
16 - порт;
17 - жесткий диск;
18 - порт;
19 - контроллер платформы;
20 - порт;
21 - визуализатор оператора;
22 - контроллер оператора;
23 - порт;
24 - клавиатура;
25 - мышь;
26 - порт;
27 - USB-привод.
Основная память 13 и процессор 14, подключены к контроллеру 19 платформы (КП). Код программы и настроечные файлы хранятся на жестком диске 17, подключенном к КП 19 через порт 18. Для настройки, запуска и отображения временной информации программы предназначен дисплей 15, подключенный к КП 19 через порт 16. Для выполнения пользовательских действий по настройке и запуску программы предназначены устройства ввода - мышь 25 и клавиатура 24, подключенные к КП 19 через порт 23. Также, для загрузки программы, ее основных данных (топологии сети и информации о доверенности к узлам) и выгрузки информации предназначен USB привод 27, подключенный к КП 19 через порт 26. Оператор, использующий предлагаемый алгоритм, производит ввод начальных данных (начальной и конечной точки для расчета маршрута) с помощью контроллера 22 оператора, представляющего собой стенд с кнопками задания необходимых узлов. Программа выводит итоговый проложенный маршрут на визуализаторе 21 оператора, представляющем собой табло со световыми индикаторами. Для связи контроллера 22 оператора и визуализатора 21 оператора с КП 19 используется порт 20.
Поясним блок-схему алгоритма, представленную на фиг. 3.
В качестве обозначений на фиг. 3 указаны:
V(N) - длина маршрута в обходе до узла (N) от начального (F)
P(N) - узел найденного маршрута
{P(N}) - множество узлов маршрута
INVERT {…} - инвертирование порядка маршрута
Вначале производится инициализация всех узлов максимальным значением длины пути V(N). Далее осуществляется ввод начального S и конечного Т узлов. Затем осуществляются два параллельных обхода от начального и конечного узлов согласно классическому алгоритму Дейкстры, однако с проверкой на доверие к узлу (С) при выборе маршрута. Для каждого доверенного соседнего узла N с длиной связи D задается наименьшая длина пути к соседнему узлу от первого. Обходы завершают выполнение, когда каждый обход обработает один и тот же узел. После завершения, сохраненные узлы каждого из обходов {P(N)} инвертируются и объединяются. Полученный таким образом маршрут считается итоговым и выводится.
Поясним выполнение блоков предлагаемого устройства:
блок 1 хранения данных о сети может быть реализован на жестком диске 17, данные в который загружаются через USB привод 27;
блок 2 считывания данных - начальный/конечный узел, топология сети производит считывание данных с жесткого диска 17 и помещает их в оперативную память блока 13 основной памяти. Также, непосредственный выбор начальной и конечной точек маршрута делается с помощью контроллера 22 оператора;
блок 3 проверки наличия данных реализуется в соответствии с блок-схемой алгоритма работы устройства (алгоритма вычисления маршрута), представленной на фиг. 3, путем проверки на достаточность и корректность всех загруженных данных;
блок 4 реализуется в соответствии с блок-схемой алгоритма работы устройства (алгоритма вычисления маршрута) (фиг. 3) и инициализирует базовое состояние узлов сети, отображаемое на визуализаторе 21 оператора;
блок 5 двух параллельных обходов сети от начального/конечного узла до пересечения узлов (включая его подблоки - 6 - обхода от начального узла, 7 - обхода от конечного узла и 8 - прекращения выполнения при пересечении текущих узлов обходов), а также блок 11 назначения соседним узлам локальных минимальных расстояний для каждого из обходов и блок 12 вывода найденного доверенного маршрута с локально минимальной длиной реализуются в соответствии с блок-схемой алгоритма работы устройства (алгоритма вычисления маршрута) (фиг. 3);
блок 9 определения доверия узлу реализуется в соответствии с блок-схемой алгоритма работы устройства (алгоритма вычисления маршрута) (фиг. 3), а используемые им данные из блока 10 хранения данных о доверенности узлов считывается с жесткого диска 17 и помещаются в оперативную память блока 13 основной памяти. Данные загружаются на жесткий диск 17 через USB-привод 27;
блок 13 - основная память представляет собой, энергозависимое оперативное запоминающее устройство (ОЗУ) для хранения выполняемого кода, а также его входных/выходных и промежуточных данных (например, DRAM);
блок 14 - процессор, выполненный на 32-битной или 64-битной архитектура (например, Intel CoreTM серии, Intel Xeon серии, AtomTM серии, Pentium серии и Celeron серии или AMD PhenomTM серии, TurionTM серии, AthlonTM серии и SempronTM);
блок 15 представляет собой дисплей, привод для чтения лазерных дисков (CD, DVD или Blu-Ray);
в качестве порта 16 для подключения дисплея могут быть использованы, например, VGA или HDMI;
жесткий диск 17 - это устройство хранения информации произвольного доступа, основанное на принципе магнитной записи, например, фирм Western Digital или Seagate объемом более 500 МБ);
в качестве порта 18 для подключения жесткого диска могут быть использованы, например, IDE или SATA;
контроллер 19 платформы - это типовая материнская плата персональной ЭМВ, поддерживающая установленные основную память 13, процессор 14, жесткий диск 17 и все вспомогательные устройства, например, фирмы ASUS или MicroStar;
в качестве порта 20 для подключения устройств ввода/вывода оператора может быть использован, например, USB;
визуализатор 21 оператора, может быть выполнен в виде панели с отображением статической схемы узлов сети и маршрутов между ними, а также со световыми индикаторами различных цветов: для обозначения начальной и конечной точки, а также найденного предлагаемым способом доверенного маршрута;
контроллер 22 оператора может быть выполнен в виде набора электрических коммутационных аппаратов, сопоставленных с индикаторами на табло визуализатора 21 оператора для каждого узла сети (например, фиксирующихся кнопок); нажатое состояние каждого коммутационного аппарата соответствует выбору начального/конечного узла для поиска доверенного маршрута;
в качестве порта 23 для подключения типовых устройств ввода информации может быть использован, например, USB;
клавиатура 24 представляет собой устройство ввода информации с помощью набора клавиш, например, фирмы A4Tech или Microsoft;
мышь 25 представляет собой устройство ввода информации с помощью координатного управления курсором и отдачи команд, например, фирмы A4Tech или Logirech);
в качестве порта 26 для подключения приводов для оптических дисков может быть использован, например, USB;
USB-привод 27 - это привод для чтения оптических дисков, например, CD, DVD или Blu-Ray).
Предлагаемое устройство моделирования доверенной сетевой маршрутизации обеспечивает надежный выбор оптимального маршрута с высокой скоростью обработки данных и может быть применимо для сетей, содержащих большое количество узлов, в частности, транспортных сетей.