Способ безопасной маршрутизации в одноранговых самоорганизующихся сетях
Иллюстрации
Показать всеИзобретение относится к технике беспроводной связи, в частности, может использоваться при построении одноранговых самоорганизующихся сетей, и предназначено для выявления и предотвращения перехвата и уничтожения сетевого трафика сетевыми узлами-нарушителями при использовании сетевых протоколов динамической маршрутизации. В состав сети вводят сетевой узел безопасности, который позволяет исключать узлы-нарушители из маршрутов в сети, тем самым предотвращая нарушения маршрутизации: несимметричные связи в сети, разрывы связи в сети, внесение задержек узлами сети, ошибки маршрутизации, уничтожение и блокировку сетевого трафика. 4 ил.
Реферат
Изобретение относится к технике беспроводной связи и может использоваться при построении одноранговых самоорганизующихся сетей с возможностью выявления и предотвращения перехвата и уничтожения сетевого трафика сетевыми узлами-нарушителями при использовании сетевых протоколов динамической маршрутизации.
Известен способ централизованного управления одноранговой сетью, который описывает управление мощностью приемо-передающих терминалов, между которыми поддерживается канал связи, и включает в себя следующие этапы: сервер управления топологией получает информацию об активных терминалах одноранговой сети; при передаче сетевых пакетов сервер управления топологией посылает запрос терминалу для получения информации о мощности сетевого соединения; после получения данной информации от терминала сервер посылает следующий запрос к соседнему терминалу, подключенному по каналу связи к первому терминалу, и получает от соседнего терминала информацию о его мощности сетевого соединения. За счет сбора информации о мощности сетевого соединения с самого терминала и с подключенного к нему терминала-соседа способ позволяет серверу управления топологией выбрать маршрут передачи данных между терминалами, в котором беспроводное соединение между терминалами образует маршрут передачи данных с наибольшей мощностью сетевого соединения в сравнении с альтернативными маршрутами в сети (CN101621450, H04L12/56). Недостатком данного способа является то, что в нем не осуществляется обнаружение некорректной маршрутизации сетевых пакетов между узлами одноранговой самоорганизующейся сети, в результате которой терминалы могут, получив сетевые пакеты, блокировать трафик, не пересылая пакеты далее; кроме того сбор информации ведется последовательно только по парам соседних терминалов, образующих предпочтительный маршрут, что не позволяет определять и контролировать все маршруты в сети в целом, определять более оптимальные и безопасные маршруты между терминалами, устанавливать новые маршруты передачи сетевых пакетов в обход некорректно функционирующих терминалов, что приводит к снижению устойчивости и безопасности такой сети.
Известен способ управления сетевым трафиком в одноранговых самоорганизующихся сетях, включающий определение пороговых значений времени, определение узлов концентрации трафика, контроль статистических параметров узлов о поддерживаемых соединениях путем мониторинга сетевых связей между узлами сети после посылки на них контрольных сетевых пакетов и усреднения времени, затраченного на их передачу (GB2517844, H04L29/06; H04W84/18) (прототип). Собранная статистика о времени передачи контрольных сетевых пакетов используется для формирования профиля активности узлов сети и установления узлов концентрации трафика, через которые с целью уменьшения сетевых задержек перенаправляются вновь поступающие сетевые пакеты. Недостатком этого способа является использование средних значений полученных данных о времени прохождения контрольных пакетов и составление профиля активности сетевых узлов, что не позволяет обеспечить безопасность динамической маршрутизации, выявляя ошибки и нарушения маршрутизации сетевых пакетов и, следовательно, – некорректно функционирующие узлы (узлы-нарушители) в одноранговой самоорганизующейся сети.
Технической проблемой является разработка способа безопасной маршрутизации в одноранговых самоорганизующихся сетях, который обеспечивает обнаружение узлов-нарушителей и позволяет исключать их из маршрутов в сети, тем самым предотвращая ошибки и нарушения маршрутизации сетевых пакетов в одноранговых самоорганизующихся сетях.
Решение поставленной технической проблемы обеспечивается тем, что в способе безопасной маршрутизации в одноранговых самоорганизующихся сетях, включающем определение пороговых значений времени, определение узлов концентрации трафика, контроль статистических параметров узлов о поддерживаемых соединениях, в сеть дополнительно вводят узел безопасности, который собирает параметры по каждому узлу сети, при этом для каждого узла сети формируют набор статистических параметров по соединениям узла с каждым из своих ближайших узлов-соседей, размещенных на расстоянии одного перехода (одного сетевого хопа), в виде набора , где
j – условный идентификатор соединения данного узла с ближайшим узлом;
k – тип соединения (имеет значение 1, если соединение установлено с узлом сети, осуществляющим маршрутизацию сетевых пакетов, 0 – если данное соединение установлено с узлом-хостом, не осуществляющим маршрутизацию сетевых пакетов);
i – идентификатор соседнего узла сети, представленный сетевым MAC-адресом этого узла;
c – пропускная способность канала (для одноранговых самоорганизующихся сетей передачи данных изменяется в пределах от 0 до 1024 Мбит/с);
p – мощность сигнала (в %, от 0 до 100);
rx – количество входящих пакетов (целое число от 0 до бесконечности);
tx – количество исходящих пакетов (целое число от 0 до бесконечности);
ex – количество потерянных пакетов (целое число от 0 до бесконечности);
затем на каждом узле сети производят сбор наборов данных о всех соединениях узла по всем N соединениям узла и затем дополняют их общими параметрами узла сети, формируя общий набор параметров узла , где
x – идентификатор узла;
t – временная метка;
– собранные наборы данных о соединениях узла с его соседними узлами;
затем проверяют, присланы ли от узлов наборы данных с одинаковой временной меткой, извлекая ее из набора: , и, если это не так, то узлам, у которых не выполняется это правило, посылают команду синхронизации времени;
затем выполняют стандартным образом поиск компонент связности сети , где
L – целое число, показывающее количество компонент связности сети, при этом если число L, полученное на данном этапе, увеличилось по сравнению с числом, полученным при предыдущей проверке, то фиксируют нарушение «Сеть разорвана», если значение сохранилось или уменьшилось, то это является признаком того, что сеть связана;
после получения наборов данных о соединениях узлов в первый раз в составе сети помечают узлы концентрации трафика;
затем вычисляют метрики соединений, используя установленный для данной сети порядок вычисления метрик соединений и статистические данные о соединениях, получаемые из наборов , при этом определение метрик ведут отдельно для каждой группы узлов в составе компонент связности , и строят набор квадратных матриц , имеющих размерность, равную числу элементов в соответствующей группе и заполненных вычисленными метриками соединений между узлами сети;
затем на основе полученных данных о соединениях вычисляют метрики и строят деревья маршрута от узла концентрации трафика до всех остальных узлов сети для данной группы узлов в рамках компонент связности, для этого, используя метрики соединений, из дерева маршрута удаляют связи с худшими метриками, через которые не передается трафик к узлу концентрации трафика, при этом на одном уровне дерева маршрута находятся узлы, соединенные с одним верхним узлом, и уровни в дереве маршрута обозначаются от 0 до Q, где 0 – уровень, на котором находится узел концентрации трафика, а Q – уровень, на котором находится узел, до которого требуется пройти Q ребер дерева;
затем полученное дерево маршрута сохраняют в виде матрицы , которая отличается от тем, что в ячейках, которые показывают соединения, которые не используются в данный момент, проставлено нулевое значение;
затем для каждого дерева маршрута строят матрицы полученных пакетов и отправленных пакетов , для чего извлекают значения rx и tx из векторов , которые заносят в матрицы полученных и отправленных пакетов, имеющие число строк такое же, как у соответствующей матрицы , а число столбцов соответствует числу узлов сети и числу хостов (для каждого существующего хоста добавляют отдельный столбец, при этом, если узел получает большее число пакетов от узлов, с которыми он не соединен в построенном дереве, то делают вывод, что в сети существует проблема с маршрутизацией и фиксируют нарушение «Ошибка маршрутизации»);
если узел находится на уровне R в дереве маршрута, то его обозначают как , где
i – идентификатор узла,
R – уровень в дереве маршрутов, на котором находится узел, который не является нулевым уровнем;
и проверяют, что количество пакетов, которые пришли с узлов, подключенных к этому узлу с уровней R+1, не меньше, чем число пакетов, которое получил узел, находящийся на уровне R-1, то есть , где обозначает индексы узлов, соединенных с узлом ;
в случае, если число пакетов, полученных на уровне R-1, меньше, чем сумма предполагаемых, проверяют, не является ли узел промежуточным для другого дерева маршрутов; если является, то тогда корректируют число пакетов, вычтя из ранее предполагаемого числа число пакетов, поступивших на уровень R-1 другого дерева маршрута, то есть , где E – число узлов концентрации трафика и построенных деревьев маршрутов;
в случае, если число пакетов не совпадает, проверяют, не является ли данный узел узлом концентрации трафика; если является, то вычитают из предполагаемой получаемой суммы пакетов сумму пакетов, отправленных с уровня 1 дерева маршрутов, где данный узел является узлом концентрации трафика, то есть
,
где g – номер дерева маршрута, в котором данный узел является узлом концентрации трафика;
если после всех проверок сумма пришедших и ожидаемых пакетов не совпадает, то фиксируют нарушение «Узел не передает трафик»,
если узел и узлы, которые находятся ниже него в дереве маршрута, прислали информацию узлу концентрации трафика, что не получают ответ, то узел, находящийся на уровне R-1 в дереве, к которому присоединен узел , то есть узел , является узлом, нарушающим маршрутизацию в данной сети, и фиксируется нарушение «Узел не передает трафик»;
после того как получена информация о небезопасном поведении узла, узел исключают из маршрутов передачи данных.
Повышение безопасности при маршрутизации сетевых пактов в одноранговой самоорганизующейся сети обеспечивается тем, что в состав сети дополнительно вводится узел безопасности, который динамически определяет наилучший маршрут до узлов концентрации трафика по метрикам соединений для всей сети в целом, обнаруживает в составе сети соединенные узлы, не пропускающие через себя трафик, и единовременно за счет проверки симметричности соединений определяет отсутствие соединений между узлами, и за счет проверки связности сети определяет, не распалась ли сеть, которая должна быть цельной.
Изобретение поясняется фиг. 1-4, на которых показано:
фиг. 1 – схема способа безопасной маршрутизации в одноранговых самоорганизующихся сетях;
фиг. 2 – размещение узла безопасности,
фиг. 3 – пример построенной сети с двумя точками концентрации трафика,
фиг. 4 – деревья, построенные для фиг. 3.
Традиционные беспроводные сети передачи данных обычно используется для подключения и поддержки связи для любого числа мобильных устройств. Такие сети обычно реализованы с множественными базовыми станциями фиксированного местоположения. В отличие от традиционных беспроводных сетей передачи данных одноранговые самоорганизующиеся сети являются динамическими. Одноранговая самоорганизующаяся сеть образуется, когда множество равноправных устройств беспроводной связи, называемых узлами сети, решают объединиться в сеть. Узлы такой сети работают и как хосты, и как маршрутизаторы, поэтому сеть является динамической и может быть легко реконфигурирована для передачи трафика между узлами сети наиболее эффективным образом. Кроме того, самоорганизующиеся одноранговые сети не требуют инфраструктуры, требуемой традиционными сетями.
Полностью самоорганизующаяся одноранговая топология, состоящая из соединений равноправных узлов в пределах сети, приводит к неустойчивым и небезопасным коммуникациям. Одной из основных проблем безопасности такой сети является угроза перехвата и уничтожения передаваемых по сети данных в узлах, ведущих вредоносную активность. Это связано с тем, что среда передачи информации является открытой, а сетевые протоколы маршрутизации обеспечивают динамическую маршрутизацию сетевых пакетов, при которой маршруты пакетов могут постоянно меняться в зависимости от динамики изменений в топологии сети и, соответственно, реконфигурации связей между узлами сети. Динамические маршруты в такой сети стандартно строятся на основе выбора лучших метрик маршрутов, которые в свою очередь вычисляют на основе различных параметров передачи данных между узлами сети, которые характеризуют узлы и каналы связи между узлами: число переданных и полученных пактов, пропускная способность канала; мощность сигнала; значения параметров качества обслуживания; число недоставленных пакетов. Предоставляя узлам-соседям ложные сведения о параметрах передачи данных, узлы-нарушители могут преднамеренно вызывать нарушения маршрутизации, при которых сетевые пакеты направляются по предпочтительным, определенным по фальсифицированным метрикам, но небезопасным, маршрутам и не доходят до узла-адресата.
В способе безопасной маршрутизации в одноранговых самоорганизующихся сетях (фиг.1): 1 - выполняют сбор параметров узлов сети, 2 - определяют компоненты связности и узлы концентрации трафика, 3 - строят дерево маршрута, 4 - выявляют нарушения маршрутизации и 5 - исключают узлы-нарушители из маршрутов сети. Для этого в одноранговую самоорганизующуюся сеть вводят узел, который контролирует безопасность маршрутизации в сети – узел безопасности.
Узел безопасности размещают так, чтобы он был доступен из разных рабочих сегментов сети, то есть за сетевым шлюзом (фиг. 2). Узел безопасности собирает статистические данные о параметрах передачи данных по каждому узлу и соединению одноранговой самоорганизующейся сети. Для передачи собранных статистических данных используется сетевой канал управления узлами сети, если он присутствует в сети, или данные передаются по открытым каналам передачи данных самой сети. В случае передачи информации по открытым каналам информация кодируется.
Сбор статистических данных об узлах и соединениях осуществляется не только с узла, а с каждого соединения, которое поддерживается узлом с его узлами-соседями. Собираемая информация о соединении включает в себя следующие данные:
- тип соединения – данное соединение с другим маршрутизатором или с хостом (1 – другой маршрутизатор, 0 – хост);
- идентификатор соседнего узла – сетевой MAC-адрес узла;
- пропускная способность канала – наибольшая возможная в данном канале скорость передачи данных по сети;
- мощность сигнала – уровень сигнала, принимаемого с соседнего узла;
- количество входящих пакетов – число сетевых пакетов, которое поступило от соседнего узла за время между отправкой предыдущей информации и данной статистики;
- количество исходящих пакетов – число сетевых пакетов, которое было отправлено соседнему узлу за время между отправкой предыдущей статистики и данной статистики;
- количество потерянных пакетов – число сетевых пакетов, не дошедших до соседнего узла.
Таким образом, каждый узел сети представлен набором векторов статистических данных по соединениям с каждым из своих ближайших соседей, размещенных на расстоянии одного перехода (одного сетевого хопа), в виде набора , где j – условный идентификатор соединения данного узла с ближайшим узлом, k – тип соединения (имеет значение 1, если соединение установлено с узлом сети, осуществляющим маршрутизацию сетевых пакетов, 0 – если данное соединение установлено с узлом-хостом, не осуществляющим маршрутизацию сетевых пакетов), i – идентификатор соседнего узла сети, представленный сетевым MAC-адресом этого узла; c – пропускная способность канала (для одноранговых самоорганизующихся сетей передачи данных изменяется в пределах от 0 до 1024 Мбит/с), p – мощность сигнала (в %, от 0 до 100), rx – количество входящих пакетов (целое число от 0 до бесконечности), tx – количество исходящих пакетов (целое число от 0 до бесконечности), ex – количество потерянных пакетов (целое число от 0 до бесконечности). Также для узла фиксируют общие параметры узла, которые относятся ко всей собранной статистике в целом:
- идентификатор узла – показатель, по которому можно однозначно идентифицировать узел;
- временная метка – время, когда был произведен сбор информации.
Для узла формируют общий набор параметров данного узла , где x – идентификатор узла, t – временная метка, – собранные наборы данных о соединениях узла с его соседними узлами.
Общий набор параметров узла пересылается на узел безопасности.
На узле безопасности периодически производится получение общих векторов параметров узлов от всех узлов одноранговой самоорганизующейся сети. Для сети задан момент времени , когда должна быть отправлена каждая новая группа векторов от узлов сети. На узле проверяют, присланы ли от узлов наборы данных с одинаковой временной меткой, извлекая ее из набора: , и, если это не так, то узлам, у которых не выполняется это правило, посылают команду синхронизации времени.
Затем на узле безопасности выполняют стандартным образом поиск компонент связности сети , где L – целое число, показывающее количество компонент связности сети. Если число L, полученное на данном этапе, увеличилось по сравнению с числом, полученным при предыдущей проверке, то фиксируют нарушение «Сеть разорвана». Если значение сохранилось или уменьшилось, то это является признаком того, что сеть связана.
После получения наборов данных о соединениях узлов в первый раз в составе сети помечают узлы концентрации трафика – узлы сети, которые являются конечными для сетевого трафика. При этом отличают направление трафика, так как для трафика от шлюза к узлу любой узел может быть точкой концентрации трафика, в то время как от узла к шлюзу точкой концентрации трафика может быть только шлюз. Поэтому в сетевой конфигурации выделяют несколько узлов-адресатов, к которым направлен трафик, и которые являются точками концентрации трафика. В сети точками концентрации трафика могут быть несколько узлов, поэтому указывают все узлы, которые являются точками концентрации трафика.
Далее на основе собранной статистической информации строят дерево маршрута от узла концентрации трафика до всех остальных узлов сети. Для этого определяют метрики, которые сопоставлены маршрутам в сети. Значение метрик получают от узлов как один из параметров набора , если протокол маршрутизации, используемый в сети, предполагает хранение значений метрик на узле. Если это не так, то значения метрик вычисляют, используя статистические данные из набора , так как выставление метрик стандартно основано на этих же данных.
Построение метрик ведут отдельно для каждой группы узлов в составе компонент связности , и строят набор квадратных матриц , имеющих размерность, равную числу элементов в соответствующей группе и заполненных вычисленными метриками соединений между узлами сети.
Во всех сетевых протоколах маршрутизации метрики соединений являются симметричными, следовательно, матрицы также должны быть симметричными относительно главной диагонали, при этом на главной диагонали находятся нули.
Если матрица симметричная, для построения дерева маршрута от любого узла до точки концентрации трафика строят маршрут от точки концентрации до всех узлов (только в данной компоненте связности). Построение данных деревьев производится для всех узлов концентрации трафика.
Дерево представляется в виде, в котором на одном уровне определены узлы, соединенные с одним верхним узлом. Уровни нумеруют от 0 до Q, где 0 – уровень, на котором находится узел концентрации трафика, а Q – уровень, на котором находится узел, до которого требуется пройти Q ребер дерева. Полученное дерево маршрута сохраняют в виде соответствующей матрицы , которая отличается от тем, что в ячейках, которые показывают соединения, которые не используются в данный момент, проставлено нулевое значение. На фиг. 4 приведены деревья маршрутов, построенные для фиг. 3.
Затем для каждого дерева маршрута строят матрицы полученных пакетов и отправленных пакетов , для чего извлекают значения rx и tx из векторов , которые заносят в матрицы полученных и отправленных пакетов, имеющие число строк такое же, как у соответствующей матрицы , а число столбцов соответствует числу узлов сети и числу хостов (для каждого существующего хоста добавляют отдельный столбец).
Узел не может получать большое число пакетов от узлов, с которыми он не соединен в построенном дереве. Узел может получать незначительное число пакетов от таких узлов при широковещательной рассылке в сети. Если узел получает большое число пакетов от таких узлов, то это означает, что в сети обнаружена ошибка маршрутизации, и фиксируют нарушение «Ошибка маршрутизации».
В способе учитывается информация с конкретного узла сети, а также информация от узлов, смежных с данным узлом. Это позволяет гарантированно найти узел, уничтожающий трафик, идущий к точке концентрации трафика.
Если узел находится на уровне R в дереве маршрута, то его обозначают как , где i – идентификатор узла, а R – уровень в дереве маршрутов, на котором находится узел, который не является нулевым уровнем, то количество пакетов, которые пришли с узлов, подключенных к этому узлу с уровней R+1, должно быть не меньше, чем число пакетов, которое получил узел, находящийся на уровне R-1, то есть , где обозначает индексы узлов, соединенных с узлом .
В случае, если число пакетов, полученных на уровне R-1, меньше, чем сумма предполагаемых, проверяют, не является ли узел промежуточным для другого дерева маршрутов; если является, то тогда корректируют число пакетов, вычтя из ранее предполагаемого числа число пакетов, поступивших на уровень R-1 другого дерева маршрута, то есть , где E – число узлов концентрации трафика и построенных деревьев маршрутов.
Если число пакетов не совпадает, проверяют, не является ли данный узел узлом концентрации трафика; если является, то вычитают из предполагаемой получаемой суммы пакетов сумму пакетов, отправленных с уровня 1 дерева маршрутов, где данный узел является узлом концентрации трафика, то есть
,
где g – номер дерева маршрута, в котором данный узел является узлом концентрации трафика.
Если после всех проверок сумма пришедших и ожидаемых пакетов не совпадает, то фиксируют нарушение «Узел не передает трафик».
В случае передачи информации от узла концентрации трафика к другим узлам любой промежуточный узел является конечным, поэтому поиск на основе полученных и отправленных пакетов неприменим. Но поскольку все узлы имеют канал отправки сообщений к узлам концентрации трафика, они могут послать ему сообщение, что они не получают информацию от него. В данном случае узел, нарушающий передачу информации, определяют по дереву маршрута. Если узел и узлы, которые находятся ниже него в дереве маршрута, прислали информацию узлу концентрации трафика, что не получают ответ, то узел, находящийся на уровне R-1 в дереве, к которому присоединен узел , то есть узел , является узлом, нарушающим маршрутизацию в данной сети, и фиксируется нарушение «Узел не передает трафик».
После того как получена информация о нежелательном поведении узла, данный выявленный узел исключают из маршрута передачи данных по сети, тем самым обеспечивая безопасность маршрутизации в одноранговой самоорганизующейся сети.
Примеры нарушений маршрутизации, которые позволяет избежать способ динамической безопасной маршрутизации в одноранговых самоорганизующихся сетях.
В качестве примера используется одноранговая самоорганизующаяся сеть, представленная на фиг.3. Узлы концентрации трафика отмечены квадратами, другие узлы отмечены кругами. Данная сеть имеет 2 узла концентрации трафика – A1 и A5. На каждой дуге, соединяющей узлы сети, цифрами указана метрика данного соединения между узлами. Это состояние примем за исходное состояние сети.
Каждый узел сети собирает и отправляет актуальную информацию о своих соединениях. В сети существует широковещательная рассылка, и каждый узел за секунду может получить 20 пакетов. Узлы могут отправить данные, но они могут быть не учтены в статистики получателя, число таких пакетов также не должно превышать 20. Все узлы сети должны присылать статистическую информацию. Наборы параметров узлов собирают с узлов в одно и то же время. Если узел (например, A8) не прислал статистику, то фиксируется нарушение, что узел A8 не прислал статистику.
На узле безопасности строится матрица смежности, по которой оценивается количество компонент связности. В нормальных условиях матрица смежности для данной сети имеет вид:
У рассматриваемой сети одна компонента связности. Далее способ осуществляется в рамках каждой компоненты связности сети (в данном случае в одной). Выделим узлы концентрации трафика. В данном примере два узла концентрации трафика, деревья маршрута для этих узлов представлены на фиг. 4.
Проверяем, что для всех узлов выполняется правило, что пересылка и получение пакетов происходит только в рамках дерева маршрутов.
Значения метрик для полученных и отправленных пакетов в некоторый момент времени представлены в матрицах Rx и Tx:
В данных матрицах, представлены значения для сети, в которой маршрутизация функционирует корректно. Но если по какой-то причине узел A8 начнет отправлять данные узлу A5 напрямую (ни в одном из построенных деревьев эти узлы не взаимодействуют), то имеет место нарушение маршрутизации, при котором узел A8 некорректно отправляет трафик, используя узел A5, а матрицы Rx и Tx для этого случая имеют вид:
В матрице Tx в 8 строке появилось дополнительные 200 пакетов в 5 колонке, которые были получены (матрица Rx) на узле 5.
Угроза уничтожения и блокировки трафика является одной из самых опасных для одноранговых самоорганизующихся сетей. При традиционной работе сети сообщения об уничтожении трафика не приходят. Но если узел A4 получает от узла A8 400 пакетов, а передает узлу A2 только 100 пакетов, и узел A2 только 100 пакетов получает, то присутствует в сети нарушение маршрутизации, когда узел A4 уничтожает трафик. Матрицы Rx и Tx для этого случая имеют вид:
Если рассмотреть маршрут к узлу A1 (первое дерево маршрута на фиг. 4), то узел A4 получил 840 пакетов от узлов, находящихся ниже его в дереве маршрута (узлы А6, А7, А8), а на узел А2 отправлено только 100 пакетов, прежде чем сообщать об ошибке, необходимо проверить, не участвует ли этот узел в другом дереве маршрута. Узел А4 участвует в дереве к узлу A5, в этом дереве он также получил 840 пакетов от узлов, находящихся ниже его в дереве маршрута (узлы А6, А7, А8), и передал на следующий узел 440 пакетов. Узел А4 не является узлом концентрации трафика, следовательно, сумма полученных пакетов и сумма отправленных по всем деревьям должна совпадать, но 100+440<840, следовательно, узел А4 не передает трафик, и фиксируется нарушение маршрутизации, что узел А4 уничтожает трафик.
Технический результат заключается в том, что разработанный способ безопасной маршрутизации в одноранговых самоорганизующихся сетях позволяет выявлять и предотвращать специфические нарушения безопасности, связанные с динамической маршрутизацией в одноранговых самоорганизующихся сетях: несимметричные связи в сети; разрывы связи в сети; внесение задержек узлами сети; ошибки маршрутизации; а также уничтожение и блокировку сетевого трафика.
Способ безопасной маршрутизации в одноранговых самоорганизующихся сетях, включающий определение пороговых значений времени, определение узлов концентрации трафика, контроль статистических параметров узлов о поддерживаемых соединениях, отличающийся тем, что в сеть дополнительно вводят узел безопасности, в котором осуществляют сбор параметров по каждому узлу сети, при этом на каждом узле сети формируют набор статистических параметров по соединениям узла с каждым из своих ближайших узлов-соседей, размещенных на расстоянии одного перехода (одного сетевого хопа), в виде набора , где
j – условный идентификатор соединения данного узла с ближайшим узлом;
k – тип соединения (имеет значение 1, если соединение установлено с узлом сети, осуществляющим маршрутизацию сетевых пакетов, 0 – если данное соединение установлено с узлом-хостом, не осуществляющим маршрутизацию сетевых пакетов);
i – идентификатор соседнего узла сети, представленный сетевым MAC-адресом этого узла;
c – пропускная способность канала (для одноранговых самоорганизующихся сетей передачи данных изменяется в пределах от 0 до 1024 Мбит/с);
p – мощность сигнала (в %, от 0 до 100);
rx – количество входящих пакетов (целое число от 0 до бесконечности);
tx – количество исходящих пакетов (целое число от 0 до бесконечности);
ex – количество потерянных пакетов (целое число от 0 до бесконечности);
затем на каждом узле сети производят сбор наборов данных о всех соединениях узла по всем N соединениям узла и затем дополняют их общими параметрами узла сети, формируя общий набор параметров узла , где
x – идентификатор узла;
t – временная метка;
– собранные наборы данных о соединениях узла с его соседними узлами;
затем проверяют, присланы ли от узлов наборы данных с одинаковой временной меткой, извлекая ее из набора: , и, если это не так, то узлам, у которых не выполняется это правило, посылают команду синхронизации времени;
затем выполняют стандартным образом поиск компонент связности сети , где
L – целое число, показывающее количество компонент связности сети, при этом если число L, полученное на данном этапе, увеличилось по сравнению с числом, полученным при предыдущей проверке, то фиксируют нарушение «Сеть разорвана», если значение сохранилось или уменьшилось, то это является признаком того, что сеть связана;
после получения наборов данных о соединениях узлов в первый раз в составе сети помечают узлы концентрации трафика;
затем вычисляют метрики соединений, используя установленный для данной сети порядок вычисления метрик соединений и статистические данные о соединениях, получаемые из наборов , при этом определение метрик ведут отдельно для каждой группы узлов в составе компонент связности , и строят набор квадратных матриц , имеющих размерность, равную числу элементов в соответствующей группе и заполненных вычисленными метриками соединений между узлами сети;
затем на основе полученных данных о соединениях вычисляют метрики и строят деревья маршрута от узла концентрации трафика до всех остальных узлов сети для данной группы узлов в рамках компонент связности, для этого, используя метрики соединений, из дерева маршрута удаляют связи с худшими метриками, через которые не передается трафик к узлу концентрации трафика, при этом на одном уровне дерева маршрута находятся узлы, соединенные с одним верхним узлом, и уровни в дереве маршрута обозначаются от 0 до Q, где 0 – уровень, на котором находится узел концентрации трафика, а Q – уровень, на котором находится узел, до которого требуется пройти Q ребер дерева;
затем полученное дерево маршрута сохраняют в виде матрицы , которая отличается от тем, что в ячейках, которые показывают соединения, которые не используются в данный момент, проставлено нулевое значение;
затем для каждого дерева маршрута строят матрицы полученных пакетов и отправленных пакетов , для чего извлекают значения rx и tx из векторов , которые заносят в матрицы полученных и отправленных пакетов, имеющие число строк такое же, как у соответствующей матрицы , а число столбцов соответствует числу узлов сети и числ