СПОСОБ ОБМЕНА ДАННЫМИ И УСТРОЙСТВО УПРАВЛЯЮЩЕГО УЗЛА СЕТИ
METHOD OF DATA EXCHANGE AND NETWORK NODE CONTROL DEVICE

ОБЛАСТЬ ТЕХНИКИ
[0001] Настоящее изобретение относится к технологиям связи и, в частности к обмену данными в форме IP-пакетов в сети.
УРОВЕНЬ ТЕХНИКИ
[0002] В ряде случаев при построении сети на каком-либо объекте есть необходимость адаптировать широко используемые технические решения под выполнение особых требований к надежности и работе некоторых важных программ и приложений. Например, на некоторых промышленных объектах, имеющих систему автоматизации, происходит непрерывная оценка, запись и передача измерительной и контрольной информации, и перебои или задержки в передаче и обработке такой информации могут нести опасность.
[0003] Как правило, в сетях на подобных объектах используют специальные технологии, позволяющие гарантировать повышенную надежность и отказоустойчивость построенной промышленной сети.
[0004] В подобных сетях обмен информации на канальном уровне может быть организован за счет использования семейства протоколов STP (Spanning Tree Protocol). В отечественной технической литературе это словосочетание обычно переводится как "протокол связующего дерева" [Михлевич Д., Синицын А. Повышение надежности и производительности Ethernet-сети с помощью семейства протоколов STP. – Технологии и средства связи, 2015, №6].
[0005] Один из самых существенных недостатков семейства протоколов STP – наличие принципиально отличного от нуля времени восстановления сети после отказа, необходимого для перестроения маршрутов доставки пакетов. Минимизация этого времени возможна только за счет повышения скорости обмена тестовыми сообщениями, что влечет за собой существенные непроизводительные расходы полосы пропускания и вычислительных ресурсов. Кроме того, указанное время восстановления не является детерминированным и может быть оценено только в вероятностном смысле. Все это не позволяет применять протоколы семейства STP на объектах, в сетях которых циркулируют критически важные данные, относящиеся к приложениям, перерывы обслуживания для которых принципиально недопустимы по ряду соображений [International Telecommunication Union. Recommendation F.746.1: Requirements for low-latency interactive multimedia streaming. – Geneva, 2014; International Telecommunication Union. The Tactile Internet. ITU-T Technology Watch Report. – Geneva, 2014].
[0006] Для обеспечения детерминированного и минимального времени восстановления сети также может применяться протокол PRP (Parallel Redundancy Protocol), который изначально был разработан для сетей с топологией «кольцо», но может быть реализован в сетях произвольной топологии и описан в стандарте IEC 62439-3. Реализация обмена данными в соответствии с протоколом PRP описана, например, в патенте RU 2573753.
[0007] Однако в сущности протокол PRP представляет собой резервирование сети путем ее дублирования, для реализации которого требуются значительные затраты на оборудование, инфраструктуру и сетевые ресурсы. С этой точки зрения более выгодным оказывается протокол HSR, который разработан для топологии «кольцо» и, как и PRP, описан в стандарте IEC 62439-3. Описание реализации обмена данными с использованием протокола HSR можно найти во всемирной сети Интернет, например, на сайте компании Flexibilis (http://www.flexibilis.com/technology/high-availability-seamless-redundancy-hsr/). Способ обмена данными в сети с топологией «кольцо» согласно протоколу HSR описан, в частности, в патенте EP 2282452.
[0008] Тем не менее, алгоритм протокола HSR реализуется только в топологиях, основанных на кольцевой и ячеистой структурах, и не применим для многих других топологий. Кроме того, оборудование, поддерживающее протокол HSR, не обеспечивает те высокие скорости обмена данных, которые необходимы для перспективных приложений, включая новые виды услуг для рассматриваемого класса объектов. При этом использование для оборудования с поддержкой протокола HSR кондуктивного охлаждения нецелесообразно, так как для реализации протокола необходимы передача и обработка больших массивов служебных данных узлами сети, что существенно изменяет требования к устройствам таких узлов. В частности, для таких устройств использование кондуктивного охлаждения оказывается недостаточным.
[0009] Однако на практике при проектировании и реализации современных промышленных сетей зачастую ставится задача обеспечения максимальных надежности и скорости при передаче определенного типа трафика, что связано с выполнением высоких требований к сети, включающих отказоустойчивость, максимально возможный уровень живучести сети, минимальное время восстановления, минимальную задержку доставки информации, информационно-защищенное исполнение.
[00010] Таким образом, исходя из известного уровня техники, существует необходимость обеспечении такого технического решения, которое позволило бы организовать отказоустойчивую сеть с нулевым временем восстановления и по меньшей мере частично реализовать проблемы известных технических решений.
РАСКРЫТИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ
[00011] Согласно первому аспекту настоящего изобретения предложен способ обмена данными в сети, согласно которому обеспечивают наличие сети, часть узлов которой поддерживает режим многонаправленного распространения пакетов (МРП) данных; задают классы приоритета данных в сети; задают таблицу маршрутизации для каждого из указанной части узлов сети для передачи пакетов данных остальным узлам сети; в заголовке каждого пакета данных, предназначенного для передачи между указанной частью узлов сети, обеспечивают наличие метки, включающей следующие поля: идентификатор узла назначения пакета, идентификатор класса приоритета данных пакета, идентификатор узла-отправителя пакета, идентификатор порядкового номера пакета в соответствующем классе приоритета данных; обеспечивают распространение пакетов данных между указанной частью узлов сети путем направления каждого пакета данных по одному или большему количеству маршрутов между узлом-отправителем и узлом-получателем, причём количество маршрутов определяют в зависимости от идентификатора класса приоритета; создают на каждом из указанной части узлов сети таблицу принятых пакетов, содержащую записи с информацией о каждом уникальном принятом этим узлом пакете данных; сравнивают информацию из заголовка каждого пакета данных, предназначенного для передачи между указанной частью узлов сети, с записями таблицы принятых пакетов узла сети из указанной части узлов сети и предотвращают передачу пакета этим узлом сети, если информация из указанного заголовка совпадает с записью таблицы принятых пакетов.
00012] Согласно второму аспекту настоящего изобретения предложено устройство управляющего узла сети, выполненное с возможностью кондуктивного охлаждения, имеющее блок портов магистрального назначения, выполненных с возможностью многонаправленного распространения пакетов, и блок портов локального назначения, и выполненное с возможностью: добавления в заголовок каждого пакета данных, предназначенного для передачи портами магистрального назначения, метки, содержащей по меньшей мере следующие поля: идентификатор узла назначения пакета; идентификатор класса приоритета данных; идентификатор узла-отправителя пакета; идентификатор порядкового номера пакета в соответствующем классе приоритета данных; создания таблицы принятых пакетов, содержащей записи с информацией о каждом уникальном принятом этим узлом пакете данных; сравнения информации из заголовка каждого пакета данных, предназначенного для передачи портами магистрального назначения, с записями таблицы принятых пакетов, а также предотвращения передачи пакета при совпадении информации из указанного заголовка с записью таблицы принятых пакетов; передачи пакетов данных через один или большее количество портов магистрального назначения с определением указанного количества на основании идентификатора класса приоритета данных пакета.
[00013] Предлагаемое изобретение обеспечивает выборочную приоритизацию трафика в соответствии с заданными классами приоритета циркулирующих в сети данных, минимизацию служебной информации, необходимой для непрерывного функционирования сети, и минимизацию циркулирующего в сети трафика. Кроме того, предлагаемое изобретение реализуемо в сетях произвольной топологии, обеспечивает возможность физической защиты устройств управляющих узлов сети от несанкционированного доступа, обеспечивает уменьшение времени восстановления по сравнению с известными из уровня техники решениями, не требует существенных затрат на оборудование сети, а также позволяет реализовать обмен данными на скоростях выше 100 Гбит/с.
[00014] Используемый здесь и далее термин «многонаправленное распространение пакетов» в рамках сети означает возможность одновременного распространения пакета по нескольким маршрутам, имеющимся между узлом-отправителем и узлом-получателем. В рамках способа обмена данными в сети указанный термин означает возможность распространения пакетов данных между узлами сети, поддерживающими режим многонаправленного распространения пакетов, путем направления каждого пакета данных по нескольким маршрутам, в частности по максимально возможному количеству маршрутов между узлом-отправителем и узлом-получателем. В рамках устройства управляющего узла сети поддержка режима многонаправленного распространения пакетов обеспечивается за счет наличия у устройства управляющего узла сети возможности ставить пакет в очередь на передачу в один или большее количество портов в зависимости от идентификатора класса приоритета данных пакета, либо, согласно одному из вариантов реализации, в максимально возможное количество портов.
[00015] Благодаря обеспечению многонаправленного распространения пакетов данных между частью узлов сети повышается вероятность доставки пакета, даже если некоторое количество узлов сети находится в состоянии отказа, повышается надежность сети, обеспечивается минимальное время восстановления за счет реализации так называемого бесшовного резервирования сети.
[00016] Благодаря заданию классов приоритета данных в сети, обеспечению наличия в заголовке каждого пакета данных, предназначенного для передачи между указанной частью узлов сети, метки, включающей следующие поля: идентификатор узла назначения пакета, идентификатор класса приоритета данных пакета, идентификатор узла-отправителя пакета, идентификатор порядкового номера пакета в соответствующем классе приоритета данных,а также благодаря распространению пакетов данных между указанной частью узлов сети путем направления каждого пакета данных по одному или большему количеству маршрутов между узлом-отправителем и узлом-получателем, в зависимости от идентификатора класса приоритета обеспечивается однозначная идентификация пакетов данных, а также избыточность сети, оптимизированная с использованием принципа выборочной приоритизации трафика.
[00017] Кроме того, обеспечивается оптимизация избыточности сети и минимизация циркулирующего в сети трафика благодаря тому, что, согласно предлагаемому способу, создают на каждом из указанной части узлов сети таблицу принятых пакетов, содержащую записи с информацией о каждом уникальном принятом этим узлом пакете данных, сравнивают информацию из заголовка каждого предназначенного для передачи пакета данных с записями таблицы принятых пакетов и предотвращают дальнейшую передачу пакета этим узлом сети, если информация из заголовка совпадает с записью таблицы.
[00018] Согласно предлагаемому изобретению устройства узлов сети, поддерживающие режим многонаправленного распространения пакетов, выполняют с кондуктивным охлаждением. Такое исполнение обеспечивает возможность реализации предлагаемого способа в условиях недостаточного количества или полного отсутствия воздуха, в условиях расширенного температурного диапазона и при повышенных требованиях к надежности и защищенности устройств сети от несанкционированного доступа. При этом возможность кондуктивного исполнения устройств узла сети обеспечена благодаря заданию для каждого узла сети идентификатора, имеющего минимально возможный размер при условиях его уникальности в указанной сети. Такое задание идентификаторов узлам сети также обеспечивает наиболее оптимальную конфигурацию сети, в которой возможно достичь минимизации циркулирующего трафика, в том числе – существенно снизить объем служебной информации, за счет чего, в свою очередь, обеспечивается повышение скорости обработки и передачи данных в сети. Так, в сети сложной топологии с 256 узлами (размер идентификатора узла в этом случае  8 бит) авторам удалось реализовать предлагаемое техническое решение с обеспечением скорости передачи данных 100 Гбит/с и выше.
[00019] Согласно различным вариантам реализации предлагаемого изобретения, выборочную приоритизацию трафика осуществляют различными вариациями исполнения, которые могут быть скомбинированы с получением приоритизации за счет нескольких операций способа и/или за счет нескольких функциональных особенностей устройства узла сети.
[00020] Согласно некоторым вариантам реализации предлагаемого изобретения указанное используемое количество маршрутов между узлом-отправителем и узлом-получателем определяют в зависимости от идентификатора класса приоритета данных пакета. Благодаря такой особенности предлагаемого способа и аналогичным особенностям предлагаемого устройства обеспечивают возможность передачи наиболее приоритетных данных с более высокой скоростью за счет реализации передачи пакетов с более высоким приоритетом по большему количеству маршрутов.
[00021] Согласно некоторым вариантам реализации предлагаемого изобретения таблицу маршрутизации для каждого из указанной части узлов сети задают на основе по меньшей мере трех из следующих полей указанной метки: идентификатора узла назначения пакета, идентификатора класса приоритета данных пакета, идентификатора узла-отправителя пакета, идентификатора порядкового номера пакета в соответствующем классе приоритета данных. Согласно некоторым вариантам реализации предлагаемого способа при задании класса приоритета данных в зависимости от состояния элементов сети и их загрузки задают также некоторое количество абсолютных и некоторое количество относительных уровней приоритета данных. Благодаря указанным особенностям предлагаемого способа обмена данными в сети и аналогичным функциональным особенностям предлагаемого устройства управляющего узла сети обеспечивается однозначная идентификация пакетов, эффективная обработка и передача пакетов данных, возможность передачи высокоприоритетных данных по максимальному количеству маршрутов, а значит, более надежный и отказоустойчивый обмен данными в сети. Указанные особенности предлагаемого способа и аналогичные особенности предлагаемого устройства обеспечивают реализацию так называемого принципа тяготения трафика, согласно которому обеспечивается выборочная приоритизация трафика исходя из идентификатора класса приоритета, присваиваемого тому или иному пакету данных. Так, для пакетов данных, имеющих высокий класс приоритета, возможно предусмотреть большее количество маршрутов, чем для пакетов данных с низким классом приоритета.
[00022] Согласно некоторым вариантам реализации предлагаемого изобретения перед передачей пакета данных от узла, поддерживающего режим многонаправленного распространения пакетов данных, на узел, не поддерживающий такой режим, указанную метку удаляют. Благодаря указанной операции способа и аналогичным функциональным особенностям устройства управляющего узла согласно настоящему изобретению обеспечивают прозрачность сети для уровней модели взаимодействия открытых систем, основанных на стеке протоколов TCP/IP. Таким образом, для устройств узлов сети, не поддерживающих многонаправленное распространение пакетов, обеспечены беспрепятственные чтение, обработка и передача пакетов данных так, как если бы в сети отсутствовал режим многонаправленного распространения пакетов.
[00023] Согласно некоторым вариантам реализации предлагаемого изобретения при задании классов приоритета данных задают также некоторое количество абсолютных уровней приоритета данных и некоторое количество относительных уровней приоритета данных внутри класса зависимости от состояния элементов сети и их загрузки. Указанная особенность предлагаемого способа обеспечивает более выгодное использование ресурсов сети при их загрузке низкоприоритетным трафиком, как и обеспечение возможности прерывания передачи пакетов данных с относительным уровнем приоритета для ускорения передачи пакетов данных с абсолютным классом приоритета согласно ещё одному варианту реализации предлагаемого способа.
[00024] Согласно некоторым вариантам реализации предлагаемого изобретения очередь передачи пакетов данных формируют на основании по меньшей мере одного из следующих полей указанной метки: идентификатора узла назначения пакета, идентификатора класса приоритета данных пакета. Указанные особенности предлагаемого способа передачи данных и аналогичные особенности предлагаемого устройства управляющего узла обеспечивают приоритизацию передачи пакетов по соответствующим параметрам.
[00025] Согласно некоторым вариантам реализации предлагаемого изобретения метка также содержит поле резерва для дополнительных нужд. Указанная особенность предлагаемого способа обеспечивает возможность реализации дополнительного функционала в рамках предложенной концепции. Согласно некоторым вариантам реализации логическая единица в поле резерва используется для приостановки обслуживания всех видов трафика кроме жизненно важных для того объекта, в границах которого создана сеть обмена данными. В таких примерах реализации логический ноль в поле резерва указывает на возобновление обслуживания всех видов трафика.
[00026] Варианты осуществления настоящего изобретения предусматривают способ обмена данными и устройство узла для сети с произвольной топологией, обеспечивающие технический результат в виде выборочной приоритизации трафика, высоких надежности и пропускной способности сети, её низкой латентности, нулевого времени восстановления, а также прозрачности для стека протоколов TCP/IP на сетевом и канальном уровнях модели взаимодействия открытых систем.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[00027] Ниже представлено более подробное описание предлагаемых технических решений в виде вариантов осуществления настоящего изобретения со ссылками на прилагаемые чертежи, необходимые для описания вариантов осуществления. Необходимо отметить, что фигуры далее демонстрируют лишь некоторые варианты осуществления настоящего изобретения.
[00028] Фиг. 1 - сеть связи с топологией «закольцованная n-мерная решетка» в штатном состоянии согласно одному из вариантов реализации изобретения;
[00029] Фиг. 2 – сеть связи с топологией «закольцованная n-мерная решетка» с потерей общности согласно одному из вариантов реализации изобретения;
[00030] Фиг. 3 – структура заголовка пакета согласно одному из вариантов предлагаемого способа обмена данными;
[00031] Фиг. 4 - структурная блок-схема устройства узла коммутации согласно одному из вариантов осуществления настоящего изобретения;
[00032] Фиг. 5 - блок-схема работы предлагаемого устройства управляющего узла сети согласно одному из вариантов реализации изобретения, когда пакет приходит с узла сети, поддерживающего режим МРП;
[00033] Фиг. 6 - блок-схема работы предлагаемого устройства управляющего узла сети согласно одному из вариантов реализации изобретения, когда пакет приходит с узла сети, не поддерживающего режим МРП.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
[00034] Для лучшего понимания по меньшей мере некоторых из решаемых настоящим изобретением задач они далее объяснены на примере сети с топологией "закольцованная n-мерная решетка", модель которой показана на Фиг. 1. Сеть состоит из N узлов коммутации (далее - УК). В каждый УК включается несколько терминалов (оконечных устройств). Их количество для УК под номерами "1", "4" и "N" составляет K, L и M соответственно. Нумерация терминалов (оконечных устройств) основана на двух числах, разделенных запятой. Первое число соответствует порядковому номеру терминала (оконечного устройства). Второе число определяет номер того УК, в который включен терминал (оконечное устройство). Общее количество УК, равное N, в штатном режиме функционирования объекта, без потери общности, считается неизменным. В составе сети, в дополнение к набору естественно существующей совокупности колец, образуется два "крупных" кольца, пронумерованных римскими цифрами.
[00035] Предлагаемое техническое решение, помимо построения отказоустойчивой сети для объектов, в которых применение сложной топологии обусловлено их стереометрическими параметрами (1-я задача), в различных вариантах реализации обеспечивает также решение других задач: обеспечение максимально возможного уровня живучести сети при характерных (для объекта) разрушающих воздействиях (2); отсутствие затрат времени на восстановление сети при повреждениях (3); минимизация избыточных объемов информации (количества IP-пакетов), циркулирующей в сети (4); прозрачность для уровней модели взаимодействия открытых систем, основанных на стеке протоколов TCP/IP (5); отсутствие недокументированных возможностей и защита от несанкционированного доступа (6).
[00036] Первая задача, поставленная перед настоящим изобретением, решается за счет организации по меньшей мере двух независимых (в базовых понятиях теории надежности) маршрутов между каждой парой узлов в границах одного кольца, которое на фигуре 1 изображено в виде квадрата с номерами УК, различающимися не более чем на 3. Для рассматриваемой модели показаны маршруты I и II, определяющие независимые пути обмена информацией между УК1 и УК4. Обозначив через pi вероятность нахождения i-го УК в работоспособном состоянии, а через qij – вероятность нахождения тракта обмена информацией между УК под номерами i и j в работоспособном состоянии, получаем значение коэффициента готовности КГ:
[00037]    (1)
[00038] Коэффициент готовности КГ определяет вероятность связности УК1 иУК4. Для реальных значений pi (не менее 0,99999) и qij (не хуже 0,9999) величина КГ оценивается на уровне примерно 0,9999999. Используя принцип "практической уверенности", можно полагать, что задача обеспечения отказоустойчивости сети, построенной на базе топологии "закольцованная n-мерная решетка", решена.
[00039] Фактически реализуется принцип параллельного бесшовного резервирования сети, который основан на одновременном использовании дополнительных маршрутов.
[00040] Вторую задачу, поставленную перед настоящим изобретением, решают с учетом характерных видов разрушающих воздействий. В качестве примера такого вида разрушающих воздействий ниже рассматривается разрушение фрагмента сети по одной из сторон "закольцованной n-мерной решетки". Пример использующегося маршрута между УК1 и УКN при нарушении практически максимального (по размеру) фрагмента сети показан на фигуре 2. Предполагается, что в состоянии "отказ" находятся УК с четными номерами от "2" до "N2", а также тракты обмена информацией между ними.
[00041] На основании известных соотношений из теории вероятностей кольцевая структура может быть заменена топологией, изображенной на фигуре 2, но с повышенной связностью вершин графа. Этот факт подчеркивает утолщение соответствующих элементов рассматриваемой модели.
[00042] Для типичных значений N по формуле (1) несложно оценить вероятность работоспособного состояния самого "длинного" маршрута обмена информацией. Для всех других пар УК полученное значение КГ представляет собой нижнюю оценку вероятности наличия связности. При меньшем количестве отказавших элементов (по сравнению с ситуацией, показанной для рассматриваемой модели) величина КГ будет выше.
[00043] Поставленные перед изобретением задачи 3-5 решают за счет разработки специализированного протокола канального уровня. Протокол в контексте настоящего изобретения также указан как режим многонаправленного распространения пакетов и далее обозначен аббревиатурой МРП. Протокол МРП является модификацией (дополнением функционала) стандарта Ethernet на канальном уровне. Предлагаемая модификация позволяет снизить непроизводительную загрузку каждого транзитного УК и сети в целом, свойственную классическому стандарту Ethernet. Схожим с протоколом МРП является упомянутый в уровне техники алгоритм HSR [Tien N.X, Nsaif S.A., Rhee J.M. A Comparison of Techniques for Reducing Unicast Traffic in HSR Networks. – Energies, 2015, №8; Kirrmann H. HSR – High Availability Seamless Redundancy. – Presentation of IEC, 2012]. Однако по сравнению с протоколом МРП применение протокола HSR ограничено сетями с кольцевой топологией, а также не обеспечивает высоких скоростей передачи данных.
[00044] Пятая задача, кроме того, решается за счет реализации такого интерфейса между вторым и третьим уровнями модели взаимодействия открытых систем, который обеспечивает прозрачность для стека протоколов TCP/IP. В данном контексте согласно предлагаемому протоколу предлагается коммутация по меткам, которые при этом имеют малый размер и фиксированную длину, что позволяет обеспечить быструю обработку и передачу пакетов и легкое удаление метки для передачи на канальный уровень. При этом устройства канального уровня получают пакет без каких-либо модификаций.
[00045] Суммируя вышесказанное, преимущества протокола МРП по сравнению с известным протоколом HSR обусловлены следующими аргументами:
•протокол HSR разрабатывался для кольцевой структуры, его применение для сетей с иной топологией неэффективно;
• протокол HSR не предусматривает обмен информацией на высоких скоростях, необходимых для рассматриваемого класса объектов;
•при большом количестве УК в составе сети со сложной топологией процесс обмена кадрами Ethernet по протоколу HSR зачастую становится похож на режим "вещание" (broadcasting), что повышает задержку доставки информации;
•использование протокола МРП позволяет снизить объем передаваемой информации в сети с любым значением количества УК, но при условии, что топология сети заранее задана. Таким образом существенно сокращается задержка доставки информации.
[00046] Таким образом, концепция настоящего изобретения предполагает реализацию протокола МРП в сети с произвольной топологией и заданными классами приоритета данных, циркулирующих в сети.
[00047] Согласно предлагаемому изобретению реализуют так называемое многонаправленное распространение пакетов, которое обеспечивает рассылку пакетов данных по множеству маршрутов в сети без необходимости физической реализации резервных частей инфраструктуры сети. Таким образом, предлагаемые способ и устройство позволяют минимизировать затраты на дополнительное оборудование, инфраструктуру и сетевые ресурсы по сравнению с известным из уровня техники способом обмена данными по протоколу PRP.
[00048] В сети, где реализовано предлагаемое изобретение, возможно реализовать не только классификацию различных типов трафика по приоритету, но и существенно снизить нагрузку на полосу пропускания и в целом уменьшить объем передаваемой служебной информации, предназначенной для обработки и управления трафиком. Те же преимущества реализованы и благодаря тому, что предлагаемое устройство узла сети выполнено с возможностью добавления в заголовок каждого пакета данных, предназначенного для передачи портами магистрального назначения, метки, содержащей по меньшей мере следующие поля: идентификатор узла назначения пакета; идентификатор класса приоритета данных; идентификатор узла-отправителя пакета; идентификатор порядкового номера пакета в соответствующем классе приоритета данных.
[00049] Сравнивая предлагаемое изобретение с известным из уровня техники решением для обмена данными по протоколу HSR, можно также говорить о возможностях более высокой скорости передачи информации, обеспечиваемой предлагаемыми способом и устройством. Согласно известному из уровня техники способу обмена данными по протоколу HSR, для определения и удаления дублей используются по меньшей мере идентификатор отправителя и идентификатор порядкового номера пакета в последовательности, причем поле идентификатора отправителя содержит MAC-адрес отправителя и имеет размер 48 бит (6 байтов), а поле идентификатора последовательности имеет размер 16 бит. Таким образом, для определения дубля необходимо накопить довольно большой объем данных и иметь большую по размеру таблицу MAC-адресов, а для внесения информации из заголовка пакета в таблицу дублей требуется большой объем памяти. Соответственно увеличивается и время обработки такого объема данных, и в таких обстоятельствах достижимую скорость передачи данных можно оценить примерно в 100 Мбит/с. В отличие от этого, в предлагаемых способе и устройстве фактически предлагается определение дублей пакета данных посредством сравнения идентификатора отправителя, содержащего идентификатор коммутатора назначения, имеющего, согласно некоторым вариантам реализации, минимально возможный размер при условии его уникальности в рамках данной сети, идентификатора порядкового номера пакета в соответствующем классе приоритета данных и идентификатора класса приоритета трафика. Это позволяет на несколько порядков увеличить скорость работы устройства узла коммутации и сети в целом, а также, что немаловажно, снизить стоимость такого устройства узла сети и другого оборудования, необходимого для реализации предлагаемого способа обмена данными. Дополнительно, за счет реализованного в предлагаемом способе и устройстве узла сети механизма классификации трафика по приоритету обеспечивается возможность передачи наиболее приоритетных данных на максимальной скорости. При этом по оценкам, основанным на реализованных авторами вариантах осуществления предлагаемого способа обмена данными и устройства узла сети (содержащей 256 узлов), предлагаемое изобретение позволяет реализовать обмен данными на сетевом уровне на скорости 100 Гбит/с и выше.
[00050] Концепция предлагаемого изобретения основана на формировании и добавлении так называемой метки (части заголовка пакета) в заголовок пакета, при этом метка существует только на магистральном уровне узла коммутации, а при передаче на локальный уровень сети метку удаляют из заголовка пакета. Благодаря вышеуказанному механизму обработки данных на локальном уровне нет никаких следов метки в заголовке пакета: метка удаляется на устройстве коммутационного узла назначения, и конечное устройство не замечает никаких следов этих манипуляций, а значит, в качестве оконечного устройства не требуется использовать какое-либо специальное устройство, способное читать заголовок с метками. За счет того, что метка имеет фиксированную длину, а модификация заголовка пакета производится только внутри ядра сети, в рамках предлагаемого изобретения обеспечивается прозрачность для стека протоколов TCP/IP. Таким образом, предлагаемый способ обмена данными в сети с произвольной топологией обеспечивает надежность и не требует затрат времени на восстановление, минимизирует объем циркулирующей в сети информации и обеспечивает простоту конфигурирования сети на базе широко распространенного стека протоколов TCP/IP.
[00051] В рамках предлагаемого изобретения можно выделить два принципа – принцип многонаправленного распространения пакетов, обеспечивающий отказоустойчивость и надежность сети, и принцип тяготения трафика, обеспечивающий приоритизацию трафика. Оба указанных принципа реализованы в рамках настоящего изобретения совместно за счет общей совокупности существенных признаков изобретения. Согласно предпочтительному варианту реализации оба принципа используются совместно, однако возможны применения настоящего изобретения, реализующие только принцип многонаправленного распространения пакетов.
[00052] Вышеуказанное также справедливо и для предлагаемого согласно изобретению устройства узла сети в силу наличия у него общих со способом технических признаков.
[00053] Предлагаемое изобретение применимо в сетях практически с любой топологией с произвольной связностью, при этом за любым узлом коммутации сети может находиться сеть с произвольной топологией, которая принимает пакеты без указанной части заголовка пакета и на работу которой эта часть никак не влияет.
[00054] Указанные в отношении предлагаемого изобретения преимущества тем существеннее, чем более чувствительные к скорости доставки информации задачи решает сеть.
[00055] Структура заголовка пакета, в котором предусмотрены перечисленные выше возможности, приведена на Фиг. 3 и имеет место в одном из вариантов реализации настоящего изобретения. Перед отправкой пакета в порт УК формируется заголовок пакета. Согласно одному из вариантов реализации изобретения заголовок состоит из полей DIL, TC, "Резерв", SIL, "Протокол", Seq, END и TTL.
[00056] DIL (destination ID label) – идентификатор назначения, номер коммутатора назначения.
[00057] TC (traffic class) – идентификатор приоритета пакета данных, класс и/или уровень трафика, определяющий приоритет передачи и обработки.
[00058] Резерв – резервное поле, один бит, который может понадобиться в будущем для введения дополнительных функциональных возможностей.
[00059] SIL (source ID label) – идентификатор отправителя пакета, номер УК, задаваемый статически. Такая возможность чаще всего обусловлена спецификой объекта, для которого создается промышленная сеть.
[00060] Seq – идентификатор порядкового номера пакета данных в соответствующем классе приоритета данных, порядковый номер пакета. Согласно рассматриваемому варианту реализации счетчики пакетов ведутся для каждого из TC. Поле Seq формируется для каждого пакета согласно его TC.
[00061] Протокол – идентификатор управляющего пакета, типа данных или вида протокола.
[00062] END – идентификатор последней метки. Ее значение указывает на тот факт, что вложенных меток больше нет.
[00063] TTL (time to live) – идентификатор "времени жизни пакета". Согласно одному из вариантов реализации изобретения по этому полю подсчитывается количество коммутаторов на маршруте между УК SIL и DIL. Каждый УК, поучивший пакет, уменьшает значение поля на 1. Коммутатор, через который пакет попадает в магистральную сеть, выставляет максимально возможное значение.
[00064] Согласно одному из вариантов реализации изобретения для стандартного IP-пакета, если идентификатор назначения пакета не находится в рассматриваемом сегменте сети (пакет предназначен для передачи на сетевой порт рассматриваемого узла сети), формируется часть заголовка (МРП-метка): по заранее заданным данным определяют, какому узлу сети принадлежит адрес назначения в заголовке пакета и формируют поле DIL. Идентификатор SIL отправителя пакета в этом случае заранее известен самому узлу сети (заранее задан). В некоторых вариантах реализации предлагаемого технического решения узлам сети задают идентификаторы, имеющие минимально возможный размер при условии их уникальности в рамках данной сети. В рассматриваемом варианте реализации размер идентификатора сети предусмотрен для обмена данными в сети, имеющей не более 256 узлов. Однако специалисту в области техники понятно, что приведенный пример метки МРП является лишь иллюстративным и может быть изменен и оптимизирован для нужд конкретной сети. Идентификатор TC класса приоритета данных генерируется на основе оригинального заголовка пакета. Для корректной работы сети предварительно определяются приоритетные данные и классы трафика (правила интерпретации приоритета) – согласно предпочтительному варианту реализации, конфигурация и уровни приоритетов задаются предварительно с учетом специфики объекта. После определения класса трафика определяется, в какое количество и какие из магистральных портов необходимо поставить в очередь пакет.
[00065] Поля, используемые в заголовке пакета, существенно расширяют функциональные возможности протоколов, применяемых в настоящее время в сетях обмена данными. В частности, поддерживается механизм, позволяющий учитывать тяготение трафика различной природы: приоритетные данные направляются в несколько портов, более приоритетный класс трафика имеет больше направлений распространения. Согласно некоторым вариантам реализации изобретения для низкоприоритетного трафика может не быть резервного маршрута. Согласно одному из вариантов реализации для каждого класса приоритета задается некоторое количество альтернативных маршрутов. В этом смысле возможны различные варианты реализации изобретения, в которых могут вводиться абсолютные уровни приоритета и относительные уровни приоритета  в дополнение к классам приоритета. В таких вариантах реализации абсолютный приоритет пакета означает, что передача и обработка менее приоритетного пакета прерывается для освобождения ресурсов под обработку и передачи пакета с абсолютным приоритетом. Менее приоритетный пакет при этом может быть отброшен (система с потерями низкоприоритетных данных), дообслужен или обслужен заново (системы без потерь низкоприоритетных данных). Согласно одному из вариантов осуществления изобретения, реализованных авторами, вводятся 4 уровня абсолютного приоритета и 4 уровня относительного приоритета трафика: пакеты с абсолютным приоритетом не задерживаются и подаются в очередь на передачу в соответствии с заданными 4 уровнями, а пакеты относительного приоритета передаются в соответствии с заданными согласно уровням весовыми коэффициентами. Например, у TC (классов приоритета) 3..0 заданы коэффициенты 16, 8, 4, 2. Это значит, что на 16 пакетов приоритета «3» будут переданы только 2 пакета приоритета «0». В таких вариантах реализации обозначение полей предпочтительно соответствует символам, принятым, в основном, для протоколов Ethernet и им подобных спецификаций. Таким образом, согласно предпочтительному варианту реализации изобретения приоритетные данные направляются в несколько портов, причем более приоритетный класс имеет больше направлений распространения, а в некоторых других вариантах реализации для низкоприоритетного трафика может не быть резервного маршрута. Для каждого класса приоритета данных путем задания количества копий для пакетов, относящихся к этому классу приоритета данных, определяется количество альтернативных маршрутов - чем выше класс приоритета, тем больше альтернативных маршрутов. Согласно одному из вариантов реализации устройства узла сети предлагаемого изобретения все порты магистрального уровня сконфигурированы в режим МРП, то есть на указанных портах осуществляется чтение МРП-метки заголовка пакета.
[00066] Общая концепция изобретения заключается в многонаправленной передаче данных в зависимости от приоритета, причем более приоритетные данные таким образом дублируются (в различных направлениях) большее количество раз и соответственно передаются по большему, например максимальному, количеству направлений. Дополнительно передача менее приоритетных данных может быть реализована с возможностью прерывания и/или прекращения с обеспечением возможности передачи более приоритетных данных.
[00067] На Фиг. 4 показана структурная блок-схема устройства управляющего узла согласно одному из вариантов предлагаемого изобретения. Необходимо отметить, что некоторые не показанные на данном изображении элементы предлагаемого устройства (например, блок памяти) являются типичными для таких устройств управляющего узла, а некоторые являются дополнительными с точки зрения функционала, характерными именно для предлагаемого изобретения, и могут способствовать достижению каких-либо дополнительных преимуществ. Как показано на Фиг. 4, устройство (1) управляющего узла сети имеет блок (2) портов магистрального назначения, соединенный с магистральным уровнем (3) сети, и может иметь блок (4) портов локального назначения, посредством портов которого к устройству управляющего узла сети подключают различные устройства (5) локального уровня (6) сети. Как правило, устройства (5) локального уровня сети не обладают возможностью обрабатывать пакеты данных, имеющие различные нестандартные заголовки, в частности  имеющие МРП-метку в заголовке.
[00068] Блок-схема работы устройства управляющего узла сети, согласно одному из вариантов реализации настоящего изобретения, показана на Фиг. 4 и 5 и основана на двух сценариях работы узла коммутации сети.
[00069] Рассмотрим подробнее Фиг. 5, на которой описана работа предлагаемого устройства узла сети в соответствии с предлагаемым способом обмена данными согласно одному из вариантов реализации изобретения, когда пакет данных поступает с узла сети, поддерживающего режим МРП.
[00070] При начале работы сеть проходит этап конфигурации, на котором устройства узлов получают идентификаторы узла (этап 100) и параметры по классам приоритета в сети (этап 110) и получают таблицы маршрутизации на основании идентификаторов класса приоритета, идентификаторов узла-отправителя и идентификаторов узла назначения (этап 120). Когда пакет приходит от управляющего узла, работающего в режиме МРП (этап 130), на другой такой узел сети, в заголовке пакета уже есть метка МРП. Согласно рассматриваемому варианту реализации данная метка содержит следующие поля: идентификатор узла назначения пакета; идентификатор класса приоритета данных; идентификатор узла-отправителя пакета; идентификатор порядкового номера пакета в соответствующем классе приоритета данных. Согласно некоторым другим вариантам реализации метка также может включать и другие поля. После получения пакета устройство сохраняет его в памяти, читает его метку (этап 140) и определяет, принадлежит ли идентификатор узла назначения данному управляющему узлу (этап 150). Например, к управляющему узлу сети могут быть подключены несколько узлов локального уровня, которые не поддерживают режим МРП и не читают МРП-метку, если идентификатор узла назначения пакета совпадает с идентификатором одного из таких узлов, то устройство управляющего узла сети удаляет из заголовка пакета данных МРП-метку и ставит ссылку на сохраненный пакет данных в очередь на передачу через соответствующий узел локального назначения, который устройство определяет из таблицы маршрутизации. Согласно некоторым вариантам реализации предлагаемого технического решения в сети задаются относительные и абсолютные уровни приоритета, и устройство также может прерывать передачу пакетов данных, имеющих относительный уровень приоритета для передачи пакетов данных, имеющих абсолютный уровень приоритета. В случае если идентификатор назначения пакета не принадлежит данному управляющему узлу, это означает, что для доставки пакета узлу назначения пакет данных требуется передать другому управляющему узлу сети (поддерживающему режим МРП). Поскольку между управляющими узлами сети, поддерживающими режим МРП, возможно многонаправленное распространение пакетов, существует возможность, что один и тот же пакет данных может прийти к одному узлу различными маршрутами и быть принят узлом повторно. Для исключения повторной передачи таких пакетов устройство управляющего узла перед передачей пакета другому управляющему узлу сравнивает информацию из полей заголовка каждого принятого им пакета данных, предназначающегося другому управляющему узлу сети, с соответствующими полями таблицы принятых пакетов (этап 160). В случае если информация указанных полей совпадает, это означает, что данное устройство управляющего узла уже получило этот пакет данных ранее, а рассматриваемый пакет данных является его "дублем". Для предотвращения многократного распространения дублей (которое перегружает сеть и не несет пользы) передачу таких пакетов устройство управляющего узла не производит, а сам пакет удаляет из памяти (этап 180). В случае, когда принятый устройством управляющего узла пакет оказывается уникальным (информация из полей его заголовка не совпадает с соответствующими полями ни одной из записей таблицы принятых пакетов), информацию из полей заголовка такого пакета устройство вносит в таблицу принятых пакетов (этап 170). После этого на основании информации из заголовка пакета и таблицы маршрутизации, которая была получена устройством на этапе 120, устройство управляющего узла сети определяет порты, в очередь которых необходимо поставить ссылку на сохраненный пакет для его дальнейшей передачи, и ставит их в соответствующие очереди (этап 171). Затем согласно некоторым вариантам реализации осуществляется передача пакета согласно очереди, однако в рассматриваемом варианте реализации предусмотрен механизм дополнительной приоритизации трафика за счет прерывания передачи пакетов данных с более низким идентификатором класса приоритета (этап 172). Как правило, устройство одновременно выполняет этапы 171 и 172 при построении очереди на передачу пакетов на каждом из портов магистрального назначения.
[00071] В случае, если принятый пакет имеет идентификатор узла назначения, который относится к данному управляющему узлу, его предстоит передать на локальный уровень через порт локального назначения. Таким образом, пакет покидает магистральный уровень сети («ядро» сети) и переходит к устройствам локального уровня, которые необязательно выполнены с возможностью чтения заголовков пакетов, содержащих дополнительные метки. Для дальнейшей успешной передачи и обработки пакета данных в этом случае устройство управляющего узла сети удаляет из заголовка пакета МРП-метку (этап 190), а затем ставит ссылку на сохраненный пакет данных в соответствующий порт локального назначения (этап 191) и передает указанный пакет данных в соответствии с очередью порта локального назначения (этап 192).
[00072] Перейдём к рассмотрению Фиг. 6, где показана работа предлагаемого устройства узла сети в соответствии с предлагаемым способом обмена данными согласно одному из вариантов реализации изобретения, когда пакет данных поступает из узла сети, не поддерживающего режим МРП.
[00073] Как видно на Фиг. 6, для такого случая практически не отличается этап конфигурации сети (этапы 100-120) согласно рассматриваемому варианту реализации настоящего изобретения. На этапе 130 устройство управляющего узла получает пакет данных не от устройства, также поддерживающего режим МРП, а от устройства, не способного обеспечивать многонаправленное распространение пакетов данных, а также читать, обрабатывать и генерировать МРП-метки,  то есть не поддерживающего такой режим. Понятно, что пакет, пришедший с такого устройства, может иметь разнообразные виды заголовка в зависимости от общего используемого в сети стека протоколов. Однако МРП-метки такой пакет не имеет. При получении такого пакета устройство управляющего узла сети прежде всего сохраняет его в памяти и читает его заголовок. В заголовке такого пакета, который устройство читает (этап 140), несмотря на отсутствие МРП-метки, есть информация об узле-получателе этого пакета данных. Устройство определяет, относится ли идентификатор узла назначения пакета к данному узлу (этап 150). В случае, если данный пакет предназначен для передачи к другому управляющему узлу сети и подключенного к нему узла локального уровня, пакет предстоит передать другому управляющему узлу сети через некоторое количество портов магистрального назначения (портов устройства управляющего узла сети, посредством которых осуществлено соединение этого управляющего узла сети и другими управляющими узлами сети (узлами магистрального уровня)). В случае, если пакет предстоит передать другому управляющему узлу сети, устройство управляющего узла сети формирует и добавляет в заголовок такого пакета МРП-метку (этап 160). Указанный этап производится именно при получении управляющим узлом сети пакета данных от узла локального уровня, поскольку в таком случае МРП-метка в заголовке этого пакета данных отсутствует, а для реализации режима МРП и соответствующих преимуществ согласно настоящему изобретению указанная метка должна иметься в заголовке пакета, передаваемого на магистральном уровне сети. Однако, как было пояснено выше, за счет обеспечения многонаправленного распространения пакетов между узлами магистрального назначения возможна передача копий одного и того же пакета. В контексте настоящего изобретения копиями (дублями) считаются те пакеты, которые приходят позже одного уже пришедшего на узел уникального пакета, а уникальными в терминологии настоящего изобретения названы пакеты, имеющие уникальные в рамках рассматриваемого управляющего узла заголовки. Для предотвращения загрузки ресурсов сети такими «дублями» устройство управляющего узла сети производит сравнение информации из полей заголовка каждого принятого им пакета данных, предназначающегося другому управляющему узлу сети, с соответствующими полями таблицы принятых пакетов (этап 170). По результатам этого сравнения устройство либо удаляет пакет из памяти (этап 190) – в случае, если информация из полей заголовка такого пакета совпала с полями одной из записей таблицы принятых пакетов, либо вносит в таблицу принятых пакетов информацию из соответствующих полей принятого пакета, если совпадающей с ними полей записи в таблице не найдено (этап 180). Здесь следует отметить, что совокупность полей, информация из которых вносится в таблицу принятых пакетов на каждом поддерживающем многонаправленное распространение пакетов узле, может, согласно различным вариантам реализации, быть разной, но предпочтительно её выбирают минимальной с обеспечением однозначной идентификации пакетов данных в рамках рассматриваемой сети. После того, как информация из заголовка пакета внесена в таблицу принятых пакетов устройства управляющего узла сети, устройство выполняет этапы 181 и 182, которые аналогичны этапам 171 и 172 на Фиг.5.
[00074] В случае, если идентификатор узла назначения пакета относится к данному управляющему узлу сети, его не требуется передавать другим управляющим узлам сети, реализующим многонаправленное распространение пакетов, а значит, пакет уже находится в виде, который будет способно обработать следующее принимающее устройство. Устройство управляющего узла сети в этом случае ставит ссылку на такой пакет данных в очередь порта локального назначения согласно таблице маршрутизации (этап 200) и передает его в соответствии с очередью (этап 201).
[00075] Согласно различным вариантам реализации предлагаемого изобретения приоритизация трафика осуществляется за счет задания уровней (абсолютного или относительного) и классов приоритета статически – например, по расписанию, составляемому администратором сети. Согласно другому варианту реализации предлагаемого изобретения эта процедура может осуществляться динамически, например, в зависимости от работоспособности элементов сети и показателей их загрузки. Согласно одному из вариантов реализации предлагаемого технического решения устройство управляющего узла сети выполнено с возможностью определять предпочтительные порты для постановки в них ссылок на пакеты данных на основании по меньшей мере загруженности узлов сети, например, на основании длины очереди на передачу. Согласно некоторым вариантам реализации выбор предпочтительного порта осуществляется на основании совместного анализа длины очереди из ожидающих пакетов и уровня загрузки узла.
[00076] Таким образом, все приведенные примеры реализации объединены общей концепцией, сущность которой определена приведенной формулой изобретения.
[00077] Приведенные в описании примеры, а также их альтернативные признаки являются иллюстративными вариантами реализации настоящего изобретения и не призваны ограничивать объем защиты настоящего изобретения. Любые изменения или замены, очевидные специалисту в данной области техники, в объеме, определенном формулой настоящего изобретения, считаются включенными в объем защиты настоящего изобретения, определенный формулой изобретения.