Область техники
Изобретение относится к области построения систем маршрутизации или нахождения пути пакетов в сетях коммутации данных, а именно к способам и протоколам динамической маршрутизации через выделенную сеть.
Уровень техники
Известен способ проверки связанности узлов сети сессий («ARP packet processing method, communication system and device» патент US 8542684 B2, H04L 45/745, опуб. 24.09.2013), его недостатком является невозможность построения защищенной сети по причинам: отсутствия проверки подлинности пакетов с информацией, необходимой для построения и обеспечения функционирования сети; возможности подмены записей в ARP-таблицах сторонним подключенным в сеть устройством; осуществления проверки связанности узлов в том же канале, в котором осуществляется передача данных.
Известна автономная система OSPF с магистральной сетью, разделенной на две подобласти «OSPF autonomous system with a backbone divided into two sub-areas» патент ЕР 1185041 B1, H04L 45/02, опуб. 10.10.2007, в которой множество смежных сетей передачи образуют автономную систему, которая использует протокол открытого кратчайшего пути для обмена информацией, причем система разделена на несколько областей, включая область или магистраль, которая отвечает за распределение маршрутной информации между другими областями. Магистральная сеть разделена на две подобласти и содержит, по меньшей мере, пару первого и второго соседних разделительных маршрутизаторов. Первый разделяющий маршрутизатор включен в одну подобласть, а второй разделяющий маршрутизатор включен в другую подобласть. База данных топологии каждого разделяющего маршрутизатора настроена для определения метрики для канала между разделяющими маршрутизаторами, чтобы предотвратить передачу любого типа трафика данных, кроме сообщений о состоянии канала, между разделяющими маршрутизаторами.
Недостатком является невозможность построения надежной защищенной сети по причинам: отсутствия проверки связанности и подлинности пакетов с информацией, необходимой для построения и обеспечения функционирования сети, внесение изменений в базу данных известных маршрутизатору сетей и передачи информации о подсетях и маршрутах через выделенные защищенные каналы связи.
Техническим результатом предложенного изобретения является обеспечение защищенной динамической маршрутизации через выделенную сеть на основе состояний соседства, в котором передача маршрутной информации между маршрутизаторами осуществляется через выделенные каналы связи.
Поставленный технический результат достигается тем, что предложен способ установления соседства при динамической маршрутизации с использованием выделенного канала связи, заключающийся в использовании маршрутизаторов, поддерживающих управление через выделенный канал связи - физически отдельный канал или виртуальный канал совместно с устройствами, обеспечивающими защиту передаваемой информации по выделенному каналу, в качестве которых применяются защищенные шлюзы, при этом все маршрутизаторы начально находятся в состоянии ожидания соединения «down», и осуществляют:
направление по выделенному каналу связи маршрутизаторами всем своим соседям запросов Hello-пакетов, где соседи после получения первого Hello-пакета до отправки ответа инициализируются как опрошенные «init», выполнение ожидания получения Hello-пакета от соседа, после получения Hello-пакета от соседа, из принятого Hello-пакета извлекается информация о соседе: список IP-интерфейсов, список соседей, информация о Network DataBase (NDB) в составе ID, Size и Checksum и на основе полученной информации выполняется проверка наличия общих подсетей между подсетями подключения маршрутизатора и соседа, при этом если общих подсетей нет, то соседу присваивается состояние «found», если есть общие подсети, то выполняется проверка в ARP-таблице наличие ARP-записи, соответствующей IP-интерфейсу соседа в общей подсети, если ARP-запись не найдена, то соседу присваивается состояние «connected» и выполняется ожидание в течение Hello-интервала с последующей отправкой Hello-пакета, а если ARP-запись найдена, то выполняется проверка наличия Router ID маршрутизатора в списке соседей опрошенного маршрутизатора, если маршрутизатор отсутствует в списке соседей опрошенного маршрутизатора, то ему присваивается состояние «resolved», если маршрутизатор присутствует в списке соседей, то осуществляется сравнение NDB ID, Size и Checksum отправителя и соседа, содержащихся в Hello-пакете, если записи NDB ID, Size и Checksum равны, то соседу присваивается состояние «synced», если ID NDB не равны, то выполняется проверка внесения изменений в NDB соседа, после последнего обмена NDB, если в NDB ID маршрутизатора и соседа не равны, то сосед переводится в состояние ожидания соединения «down», если в NDB ID равны, то маршрутизатор выполняет отправку соседу локальную NDB путем отправки пакета NDB Info, при этом подтверждением доставки пакета NDB Info служит получение пакета NDB Аск,, если локальный NDB ID соседа меньше текущего значения NDB ID, полученного из Hello-пакета, значит были внесены изменения в NDB ID соседа, и выполняется запрос получения NDB соседа, посредством отправки пакета NDB Req;
в ответ на запрос сосед отправляет пакет NDB Info, содержащий NDB ID, Size и Checksum, после его получения выполняется обновление локальной NDB маршрутизатора и выполняется проверка соответствия NDB соседа с NDB маршрутизатора путем сравнения значений NDB ID, Size и Checksum, если значения NDB ID, Size и Checksum равны- (NDB одинаковые), то соседу отправляется пакет NDB Аск и присваивается состояние «synced» - соседство установлено, если NDB ID, Size и Checksum не равны, то отправка пакета NDB Req повторяется.
В предпочтительном варианте изобретения состоянием соседства являются: down - маршрутизатор ожидает установку соединения, init - маршрутизатор опрошен и отправлен Hello-пакет, found - найден маршрутизатор, общие подсети с которым отсутствуют в локальной NDB, connected в ARP-таблице отсутствует ARP-запись для общих с найденным маршрутизатором подсетей, resolved найденный маршрутизатор не найден в списке соседей, synced - NDB найденного маршрутизатора соответствует локальной NDB. Когда состояния определены как found - найден маршрутизатор, общие подсети с которым отсутствуют в локальной NDB, и resolved найденный маршрутизатор не найден в списке соседей, осуществляют повторную отправку всем своим соседям запросов Hello-пакетов.
В предпочтительном варианте изобретения в случае разрыва соединения через выделенный канал связи через линейный порт между соседними маршрутизаторами выполняются действия: из ARP-таблицы удаляется запись об IP-интерфейсах соседнего маршрутизатора; маршрутизатор сосед переводится в состояние «down»; удаляется транзитная сеть между маршрутизаторами; выполняется обновление NDB; выполняется перестроение маршрутов; рассылается оповещение об изменении NDB соседним маршрутизаторам в пакетах NDB Update.
Проведенный анализ уровня техники позволяет определить, что предложенное техническое решение является новым и имеет изобретательский уровень, а возможность его использования в промышленности определяет его как промышленно применимое.
Эти и другие аспекты станут очевидными и будут объяснены со ссылками на чертежи и вариант осуществления, описанный в дальнейшем.
Изобретение поясняется следующими графическими материалами:
Фиг. 1 - блок-схема алгоритма осуществления способа установления соседства между маршрутизаторами.
Осуществление изобретения
Предложенное изобретение направлено на обеспечение функции безопасности сетей связи и может быть применено для построения локальных и широковещательных телекоммуникационных сетей. Протокол динамической маршрутизации через выделенную сеть на основе состояний каналов (ENDP - External Network Dynamic Protocol) предназначен для использования в защищенных сетях связи, в которых интерфейсы управления узлов связи маршрутизаторов, подключены к выделенной сети управления, обеспечивающей обмен служебной и маршрутной информацией между соседними узлами сети. Сеть управления может быть отделена от сети передачи данных с использованием выделенных физических каналов связи или логически отделенных (виртуальных) каналов в составе каналов связи. Линейные интерфейсы мультипротокольного оборудования используются только для проверки связности соседних узлов сети при помощи протокола определения адреса (ARP) и выполнения ARP-запросов, позволяющих определить интерфейс подключения - MAC и IP-адреса соседнего маршрутизатора. Соседство может задаваться в маршрутизаторе вручную. Протокол ENDP не предусматривает возможность прямой маршрутизации и не требует какой-либо модификации передаваемых сетевых пакетов.
Каждый маршрутизатор сети (Area), в которой работает протокол ENDP, сообщает своим соседям о всех известных ему сетях в пакетах NDB Info. В ответных сообщениях маршрутизатор получает информацию о сетях, известных его соседям, в пакетах NDB Info или NDB Update. На основе полученных данных формируется база сетей, известных маршрутизатору NDB. Обмен информацией о сетях продолжается до тех пор, пока все маршрутизаторы Area не сформируют одинаковые базы сетей.
Area - логически выделенный сегмент сети, в рамках которого строится граф связности и рассчитываются маршруты передачи данных. Network DataBase Info (NDB Info) - пакет протокола ENDP, в котором передается база сетей маршрутизатора. Network DataBase Update (NDB Update) - пакет протокола ENDP, в котором передается информация об изменениях в NDB.
Ниже показаны примеры структур полей пакетов Hello, NDB Info, NDB Update, но не ограничивающие вариант реализации изобретения.
Источником изменения NDB может являться сам маршрутизатор или его сосед. Изменения в NDB вносятся самим маршрутизатором в следующих случаях: администратором добавлена/удалена сеть прямого подключения; администратором добавлен/удален статический маршрут; администратор изменил настройки ENDP; в ARP-таблицы была добавлена/удалена ARP-запись IP-интерфейса соседнего маршрутизатора (произойдет добавление/удаление транзитной сети до соседа). Изменения в NDB вносятся соседним маршрутизатором в случае, если от соседа получен пакет NDB Update или NDB Info или, если произошло изменение состояния соседства маршрутизаторов.
На Фиг. 1 показана подробная блок-схема алгоритма осуществления способа установления соседства между маршрутизаторами.
Администратор выполняет первоначальную настройку следующих параметров, используемых в протоколе ENDP: Router ID уникальный идентификатор маршрутизатора; Hello-интервал - период отправки Hello-пакета, задаваемый в секундах; Dead-интервал - интервал времени в секундах, по истечении которого сосед будет считаться недоступным; Area и правила передачи маршрутов между Area; IP-интерфейсы и статические подсети, которые передаются ENDP; IP-интерфейсы соседних маршрутизаторов, через которые разрешена маршрутизация трафика.
Все маршрутизаторы узлы связи, изначально на этапе (1) находятся в состоянии ожидания соединения «down». На этапе (2) после начала работы протокола ENDP всем маршрутизаторам-соседям отправляются Hello-пакеты. На этапе (3) соседи, после отправки им первого Hello-пакета до получения ответа, инициализируются как опрошенные «init». На этапе (4) выполняется получение Hello-пакета от соседа. На этапе (5) после получения Hello-пакета от соседа, из принятого Hello-пакета извлекается информация о маршрутизаторе-соседе: список IP-интерфейсов, список соседей, информация о NDB в составе ID, Size и Checksum. На основе полученной информации выполняется проверка наличия общих подсетей между подсетями прямого подключения маршрутизатора и соседа. Так, на этапе (6) соседу присваивается состояние «found», если общих подсетей нет. На этапе (7), если есть общие подсети, то выполняется проверка в ARP-таблице наличие ARP-записи, соответствующей IP-интерфейсу соседа в общей подсети. На этапе (8), если ARP-запись не найдена, то соседу присваивается состояние «connected» и выполняется ожидание в течение Hello-интервала с последующей отправкой Hello-пакета. На этапе (9), если ARP-запись найдена, то выполняется проверка наличия Router ID отправителя в списке соседей опрошенного маршрутизатора. На этапе (10), если маршрутизатор отсутствует в списке соседей опрошенного маршрутизатора, то ему присваивается состояние «resolved», в противном случае далее на этапе (11) осуществляется сравнение NDB ID, Size и Checksum отправителя и соседа, содержащихся в Hello-пакете. На этапе (12), если записи NDB ID, Size и Checksum совпадают (равны), то соседу присваивается состояние «synced».
На этапе (13), если NDB ID не равны (локальный NDB ID соседа меньше текущего значения NDB ID, полученного из Hello-пакета), то выполняется проверка внесения изменений в NDB соседа после последнего обмена NDB.
На этапе (14), если в NDB ID маршрутизатора и соседа не равны, то сосед переводится в состояние ожидания соединения «down».
На этапе (15), если в NDB ID равны, то маршрутизатор отправляет соседу локальную NDB путем отправки пакета NDB Info.
На этапе (16) подтверждением доставки пакета NDB Info служит получение пакета NDB Аск.
На этапе (17), если локальный NDB ID соседа меньше текущего значения NDB ID, полученного из Hello-пакета, значит были внесены изменения в NDB ID соседа. Выполняется запрос получения NDB соседа посредством отправки пакета NDB Req.
На этапе (18) в ответ на запрос сосед отправляет пакет NDB Info, содержащий NDB ID, Size и Checksum, после его получения выполняется обновление локальной NDB маршрутизатора.
На этапе (19) выполняется проверка соответствия NDB соседа с NDB маршрутизатора путем сравнения значений NDB ID, Size и Checksum.
На этапе (20), если значения NDB ID, Size и Checksum равны (NDB одинаковые), то соседу отправляется пакет NDB Аск и присваивается состояние «synced». Состояние «synced» означает, что маршрутная информация в обоих маршрутизаторах синхронизирована - соседство установлено. После этого выполняется построение таблицы активных маршрутов при помощи алгоритма Дейкстры.
На этапе (21), если NDB ID, Size и Checksum не равны, то отправка пакета NDB Req повторяется.
При этом в случае разрыва соединения через выделенный канал связи между соседними маршрутизаторами, осуществляют через линейный порт между соседними маршрутизаторами выполнение действий: из ARP-таблицы удаляется запись об IP-интерфейсах соседнего маршрутизатора; маршрутизатор сосед переводится в состояние ожидания соединения «down»; удаляется транзитная сеть между маршрутизаторами; выполняется обновление NDB; выполняется перестроение маршрутов; рассылается оповещение об изменении NDB соседним маршрутизаторам в пакетах NDB Update.
Возможные состояния соседства в соответствии с протоколом ENDP (типы пакетов): down маршрутизатор ожидает установку соединения, init маршрутизатор опрошен (ему отправлен Hello-пакет), found найден маршрутизатор, общие подсети с которым отсутствуют в локальной NDB, connected - в ARP-таблице отсутствует ARP-запись для общих с найденным маршрутизатором подсетей, resolved - найденный маршрутизатор не найден в списке соседей, synced - NDB найденного маршрутизатора соответствует локальной NDB.
Протокол ARP описан в спецификации RFC 826 «User Datagram Protocol», ноябрь 1982 и включает в себя следующую последовательность шагов: узел, которому нужно выполнить отображение IP-адреса на аппаратный адрес (МАС-адрес), формирует ARP-запрос с IP-адресом получателя, вкладывает его в кадр протокола канального уровня и рассылает всем узлам локальной сети. Все узлы сегмента локальной сети получают ARP-запрос и сравнивают указанный в нем IP-адрес с собственным. В случае совпадения собственного IP-адреса с полученным в ARP-запросе, узел формирует ARP-ответ, в котором указывает свой IP и MAC адреса, после чего отправляет ARP-ответ в адрес отправителя ARP-запроса. Преобразование адресов выполняется путем поиска в таблице ARP соответствия IP и MAC адресов. ARP-таблица хранится в памяти операционной системы и содержит записи для каждого известного ей узла сети. В двух столбцах содержатся адреса IP и Ethernet (MAC), и если требуется преобразовать адрес IP в MAC, то в ARP-таблице ищется запись с соответствующим IP-адресом.
В предпочтительном варианте осуществления изобретения вышеуказанные маршрутизаторы узлы связи могут быть реализованы или выполнены с использованием маршрутизаторов на интегральных микросхемах коммутационной фабрики с поддержкой вышеописанных функций, а защищенные шлюзы на базе программно-аппаратных средств. Специалисту очевидно, что вышеуказанные элементы сети могут быть выполнены с помощью аппаратно-программных расширений (дополнений) маршрутизаторов, одной или нескольких компьютерных программ для ЭВМ, реализующих функции выделенного канала связи, чтобы выполнять описанные выше функции и могут быть выполнены на базе перепрограммируемой логической интегральной схемы или сверхбольшой интегральной схемы. Такие элементы могут быть реализованы конечным автоматом и несколькими регистрами с соответствующей внутренней логикой и реализуется автоматически, например, из представленного XML-описания сетевого протокола, они управляются микрокодом, хранящимся в памяти.
Предложенный способ установления соседства между маршрутизаторами при динамической маршрутизации может выполняться посредством одной или нескольких компьютерных программ, содержащих код компьютерной программы или порции программного обеспечения, исполняющиеся на компьютере или процессоре. Компьютерная программа или машиночитаемый носитель содержит элементы кода компьютерной программы или порции программного кода, которые побуждают компьютер выполнять способ используя алгоритмы, данные, хранимые значения и вычисления, описанные выше.
Предложенный по изобретению способ ориентирован на применение в устройствах на базе перепрограммируемой логической интегральной схемы или сверхбольшой интегральной схемы, например, управляемых коммутаторах и может использоваться в локальных вычислительных сетях и в широковещательных, таких как Ethernet и т.д, а также позволяет реализовать протокол динамической маршрутизации через выделенную сеть управления для обеспечения информационной безопасности организации, защиты ее информационных сетей от вторжения со стороны сетей передачи данных, обеспечения конфиденциальности при передаче информации, а также организации безопасного доступа пользователей к ресурсам сетей общего пользования.
Варианты осуществления изобретения не являются исчерпывающими и приведены только с целью пояснения и подтверждения промышленной применимости, и специалисты в данной области техники способны создавать альтернативные варианты его осуществления без отрыва от объема формулы, но в пределах сущности изобретения, отраженной в описании.
Изобретение относится к области систем маршрутизации. Технический результат заключается в обеспечении защищенной динамической маршрутизации через выделенную сеть на основе состояний соседства, в котором передача маршрутной информации между маршрутизаторами осуществляется через выделенные каналы связи. Такой результат достигается тем, что маршрутизаторы всем своим соседям направляют по выделенному каналу связи запросы Hello-пакеты, после получения Hello-пакета от соседа из принятого Hello-пакета извлекается информация о соседе: список IP-интерфейсов, список соседей, информация о NDB в составе ID, Size и Checksum и на основе полученной информации выполняется проверка наличия общих подсетей между подсетями подключения маршрутизатора и соседа, осуществляется сравнение NDB ID, Size и Checksum NDB отправителя и соседа, содержащихся в Hello-пакете, если NDB ID, Size и Checksum равны, то соседу присваивается состояние «synced» – соседство установлено. Состояниям соседства являются: «down» - маршрутизатор ожидает установку соединения, «init» – маршрутизатор опрошен и отправлен Hello-пакет, «found» – найден маршрутизатор, общие подсети с которым отсутствуют в локальной NDB, «connected» – в ARP-таблице отсутствует ARP-запись для общих с найденным маршрутизатором подсетей, «resolved» – найденный маршрутизатор не найден в списке соседей, «synced» – NDB найденного маршрутизатора соответствует локальной NDB и маршрутная информация в обоих маршрутизаторах синхронизирована соседство установлено. 2 з.п. ф-лы, 1 ил.
1. Способ установления соседства при динамической маршрутизации с использованием выделенного канала связи, заключающийся в использовании маршрутизаторов, поддерживающих управление через выделенный физически отдельный канал или виртуальный канал, при этом все маршрутизаторы начально находятся в состоянии ожидания соединения «down», и осуществляют:
направление по выделенному каналу связи маршрутизаторами всем своим соседям Hello-пакетов, где соседи после получения первого Hello-пакета до отправки ответа инициализируются как опрошенные «init»,
выполнение ожидания получения Hello-пакета от соседа, после получения Hello-пакета от соседа из принятого Hello-пакета извлекается информация о соседе: список IP-интерфейсов, список соседей, информация о Network DataBase (NDB) в составе ID, Size и Checksum, на основе полученной информации выполняется проверка наличия общих подсетей между подсетями подключения маршрутизатора и соседа, при этом:
если общих подсетей нет, то соседу присваивается состояние «found»,
если есть общие подсети, то выполняется проверка в ARP-таблице наличие ARP-записи, соответствующей IP-интерфейсу соседа в общей подсети, если ARP-запись не найдена, то соседу присваивается состояние «connected» и выполняется ожидание в течение Hello-интервала с последующей отправкой Hello-пакета,
если ARP-запись найдена, то выполняется проверка наличия Router ID маршрутизатора в списке соседей опрошенного маршрутизатора, если маршрутизатор отсутствует в списке соседей опрошенного маршрутизатора, то ему присваивается состояние «resolved»,
если маршрутизатор присутствует в списке соседей, то осуществляется сравнение NDB ID, Size и Checksum отправителя и соседа, содержащихся в Hello-пакете, если записи NDB ID, Size и Checksum равны, то соседу присваивается состояние «synced»,
если NDB ID не равны, то выполняется проверка внесения изменений в NDB соседа, после последнего обмена NDB, если в NDB ID маршрутизатора и соседа не равны, то сосед переводится в состояние ожидания соединения «down»,
если в NDB ID равны, то маршрутизатор выполняет отправку соседу локальную NDB путем отправки пакета NDB Info, при этом подтверждением доставки пакета NDB Info служит получение пакета NDB Ack, если локальный NDB ID соседа меньше текущего значения NDB ID, полученного из Hello-пакета, значит были внесены изменения в NDB ID соседа, и выполняется запрос получения NDB соседа посредством отправки пакета NDB Req,
в ответ на запрос сосед отправляет пакет NDB Info, содержащий NDB ID, Size и Checksum, после его получения выполняется обновление локальной NDB маршрутизатора и выполняется проверка соответствия NDB соседа с NDB маршрутизатора путём сравнения значений NDB ID, Size и Checksum, если значения NDB ID, Size и Checksum равны, то соседу отправляется пакет NDB Ack и присваивается состояние «synced» – соседство установлено, если NDB ID, Size и Checksum не равны, то отправка пакета NDB Req повторяется.
2. Способ по п. 1, отличающейся тем, что состоянием соседства являются: «down» – маршрутизатор ожидает установку соединения, «init» – маршрутизатор опрошен и отправлен Hello-пакет, «found» – найден маршрутизатор, общие подсети с которым отсутствуют в локальной NDB, «connected» – в ARP-таблице отсутствует ARP-запись для общих с найденным маршрутизатором подсетей, «resolved» – найденный маршрутизатор не найден в списке соседей, «synсed» – NDB найденного маршрутизатора соответствует локальной NDB, при этом когда состояния определены как «found» и «resolved», осуществляют повторную отправку всем своим соседям запросов Hello-пакетов.
3. Способ по п. 1, отличающейся тем, что при разрыве соединения через выделенный канал связи между соседними маршрутизаторами осуществляют через линейный порт между соседними маршрутизаторами выполнение действий: из ARP-таблицы удаляется запись об IP-интерфейсах соседнего маршрутизатора; маршрутизатор сосед переводится в состояние ожидания соединения «down»; удаляется транзитная сеть между маршрутизаторами; выполняется обновление NDB; выполняется перестроение маршрутов; рассылается оповещение об изменении NDB соседним маршрутизаторам в пакетах NDB Update.
Многоступенчатая активно-реактивная турбина | 1924 |
|
SU2013A1 |
Устройство для уплотнения зазора между вращающейся печью и неподвижной камерой | 1983 |
|
SU1185041A1 |
US 6738814 B1, 18.05.2004 | |||
CN112350988 A, 09.02.2021 | |||
СПОСОБ ДИНАМИЧЕСКОЙ РЕКОНФИГУРАЦИИ СЕТЕЙ СВЯЗИ С МНОГОМЕРНЫМИ МАРШРУТАМИ ПЕРЕДАЧИ СООБЩЕНИЙ | 2012 |
|
RU2522851C2 |
Авторы
Даты
2024-09-23—Публикация
2024-03-26—Подача