Способ передачи информации в реальном времени с повышенной помехозащищенностью по локальной сети aRTnet
METHOD OF INFORMATION TRANSMISSION IN REAL TIME WITH INCREASED INTERFERENCE IMMUNITY ON LOCAL NETWORK ARTNET

Изобретение относится к области средств передачи информации в виде пакетов и может быть использовано в различных областях науки и техники для передачи информационных сообщений между электронными устройствами различной степени интеллекта для обеспечения гарантированного времени доставки и повышенной надежности в условиях заблаговременно известного трафика. Особенностью настоящего способа является ориентированность его на работу в условиях неблагоприятной электромагнитной обстановки, как например, в условиях космического пространства.
Сеть aRTnet (A Real Time Network) представляет собой локальную сеть, реализующую описываемый способ передачи информации.
В дальнейшем при характеристике разработанного технического решения будет использован термин «виртуальный канал», означающий программно-аппаратную конструкцию, которая обеспечивает передачу потока сообщений, называемого потоком виртуального канала, - некоторой последовательности одинаково маркированных кадров сообщений aRTnet, проходящих в одном направлении по одному и тому и тому же статически заданному древовидному маршруту с одним источником и одним или несколькими приемниками.
Термин «конфигурация» используется в дальнейшем в двух смыслах: (1) конфигурация виртуальных каналов - это набор виртуальных каналов, задаваемых своими параметрами в каждом из узлов сети, и (2) конфигурация сервера единого времени, описывающая древовидный граф рассылки единого времени, покрывающий всю сеть и также характеризуемый локальными параметрами в каждом узле сети. Динамическая смена конфигурации 1-го типа не предусматривается, но динамическая смена конфигурации 2-го типа возможна.
Известен (RU, патент 2236092, опубл. 10.09.2004) способ передачи и приема мультимедийной информации между устройствами сетевого окончания и промежуточными узлами коммутации. Известный способ совместим с существующими сетями передачи информации в широком диапазоне скоростей, обеспечивает возможность передачи коротких сообщений с малыми накладными расходами и необходимое качество обслуживания трафика разных классов (QoS) и их автоматический контроль, а также обеспечивает уменьшение вероятности локальных перегрузок и джиттера (вариации задержки передачи) за счет осуществления мультиплексирования в пределах ограниченного временного интервала и уменьшение накладных расходов путем минимизации длины заголовков.
Как видно из сущности известного способа, используемый в нем интервал мультиплексирования выбирают кратным некоторому интервалу фиксированной длительности, который в определенном смысле эквивалентен интервалу мультиплексирования (циклу) при способе коммутации каналов. Этот способ ориентирован на передачу мультимедийной информации, т.е. передаваемой с более или менее одинаковой частотой по глобальным сетям, и как таковой предназначен только для поддержания небольших значений джиттера (вариации задержки) и не обеспечивает возможности гарантированно ограничить собственно время доставки сообщений, передаваемых с разной частотой.
Известен (RU, патент 2294601, опубл. 27.02.2007) способ статистического мультиплексирования при передаче информации между устройствами сетевого окончания и узлами коммутации. При реализации способа при передаче от устройств сетевого окончания к узлу коммутации или от одного узла коммутации к другому узлу коммутации принимают и запоминают блоки данных каналов, сортируют принимаемые блоки данных в соответствии с заданными направлениями передачи, группируют блоки данных постоянной и/или блоки данных переменной длины, которые размещают в интервалах мультиплексирования с заголовком-идентификатором блоков данных и содержащим информацию для их последующей маршрутизации и/или коммутации, и передают в соответствии с направлениями передачи по каналу связи сети, а при приеме в устройствах сетевого окончания и на каждом узле коммутации разгруппировывают блоки данных, принятые из канала связи, в соответствии с заданными направлениями передачи. При этом сортируют принимаемые блоки данных в соответствии с заданными направлениями передачи и приоритетами для разного вида трафика, отсортированные блоки данных в зависимости от наличия свободных интервалов мультиплексирования накапливают в буфере передачи и в буфере трафика для формирования очереди для передачи блоков данных, блоки данных, накопленные в буфере трафика, анализируют, по результатам анализа накопленных блоков данных осуществляют вычисление и формирование интервалов мультиплексирования переменной длительности, группируют накопленные блоки данных в сформированные интервалы мультиплексирования переменной длительности и передают в соответствии с направлениями передачи по каналу связи сети, при этом интервалы мультиплексирования переменной длительности формируют таким образом, чтобы средняя длительность интервала мультиплексирования, называемая базовой длиной интервала мультиплексирования, сохранялась постоянной, причем длительность базового интервала мультиплексирования выбирают не менее времени передачи блока данных максимальной длительности.
Недостатком известного способа следует признать именно статистический подход к решению задачи, что противоречит детерминистским требованиям гарантированного времени доставки.
Достаточно широко используемым в настоящее время способом передачи реального времени в локальной сети является протокол AFDX [ARINC Specification 664 Р7-1 Aircraft Data Network Part 7 Avionics Full-Duplex Switched Ethernet Network], где для передачи относительно равномерного потока кадров выделяется сугубо дискретный набор периодов отсылки - 1, 2, 4, … 128 ms с некоторым джиттером. Борьба за помехоустойчивость осуществляется удвоением комплекта коммутаторов и кабельной системы.
Недостатками данного способа является, во-первых, строгая привязанность к низкоскоростному протоколу Ethernet (100 Мбит/сек), во-вторых, привязка отсылки к периоду, в то время, как описываемая сеть aRTnet ограничивает лишь вариативность потока, но не обязывает сообщения отсылать периодически, в-третьих, скудный набор допустимых периодов заставляет резервировать излишнюю полосу передачи: например, при фактической периодичности в 1.5 мс придется использовать период в 1 мс, т.е. завышать предъявляемые требования к интенсивности виртуального канала на одну треть, в-четвертых, согласно п. 5.2.4.3 стандарта AFDX ограничивается поток на оконечной станции как минимум в 50% от теоретической., в-пятых, он понижает гибкость приложений, делая равномерным поток кадров, а не сообщений, вообще говоря, многокадровых, ну, и наконец, в-шестых, завышение веса аппаратуры из-за удвоения числа коммутаторов и кабелей.
Еще одним способом передачи в локальной сети, претендующим на широкое использование на борту космических аппаратов является протокол SpaceWire [ECSS-E-ST-50-12C "SpaceWire - Links, nodes, routers and networks", ECSS Secretariat ESA-ESTEC, Requirements & Standards Division, Noordwijk, The Netherlands, 31 July 2008]. Этот протокол использует червячную маршрутизацию при неограниченной длине сообщений, а также защиту от сбоев по четности отдельных байтов, как в адресной части, так и в части полезной нагрузки.
Недостатком данного способа является сам факт использования червячной маршрутизации, приводящий к многочисленным блокировкам сообщений при эксплуатации, способным повести к deadlock'aм и livelock'aм в различных ситуациях, как нештатных, так и штатных, а также чрезвычайно слабую защиту от сбоев, неприемлемую в условиях сильных электромагнитных помех.
Наиболее близким аналогом разработанного технического решения можно признать (RU, патент 2536659, опубл. 27.12.2014) способ передачи информации в реальном времени с использованием локальных сетей ограниченного размера на базе модификации протокола FC-AE-ASM. Известный способ характеризуется предварительным определением количества необходимых оконечных станций и коммутаторов с определением необходимой топологии связи между ними в классе ациклических графов, с заблаговременным определением количества и приоритетов виртуальных каналов и их топологии, накладываемых на физическую топологию сети, с относительно равномерным потоком сообщений по каждому виртуальному каналу, причем интенсивность и равномерность передачи по каждому виртуальному каналу задают в терминах максимального размера сообщения, идущего по каналу, и длительности скользящего интервала времени, в течение которого допускается либо одно, что соответствует минимальному интервалу времени между сообщениями, либо два сообщения, с предвычислением времени доставки сообщений по различным виртуальным каналам, сформированным с возможностью удовлетворять заданным требованиям по своей величине, конфигурируют сеть, сообщая узлам номенклатуру и характеристики затрагивающих их виртуальных каналов, а коммутаторам дополнительно таблицы маршрутизации, при штатном функционировании сети на оконечных станциях исходящие по каждому виртуальному каналу сообщения выравнивают по времени предоставления устройству планировщика оконечной станции индивидуальным регулятором виртуального канала, задерживающим отдельные сообщения для выполнения требования минимального интервала между сообщениями, после чего кадры сообщений, передаваемые регулятором, помещаются планировщиком в передатчик оконечной станции в очередности, определяемой приоритетом виртуального канала, а для одноприоритетных виртуальных каналов в очередности времени предоставления сообщения соответствующим регулятором, при этом сообщения, получаемые каждым входным портом коммутатора по каждому виртуальному каналу, прореживают в случае, если по причине неисправности оконечная станция превысит выделенную виртуальному каналу квоту по интенсивности или вариативности потока кадров сообщений, далее с входного порта коммутатора кадры поступают в распоряжение планировщика выходного порта коммутатора, на который этот кадр маршрутизирован, при этом алгоритм работы планировщика выходного порта отличается от алгоритма работы планировщика оконечной станции тем, что вместо очередей сообщений виртуальных каналов используют очереди кадров от входных портов. Предпочтительно для повышения надежности передачи информации используют физическое удвоение числа коммутаторов и линий связи и синхронизацию при приеме на оконечных станциях дубликатов сообщений, приходящих по дублирующим физическим каналам за счет нумерации сообщений/кадров индивидуально на каждом виртуальном канале.
Недостатками известного способа следует признать использование удвоенного комплекта коммутаторов и кабельной системы для повышения надежности, что может оказаться неприемлемым, когда весовые параметры аппаратуры критичны, как это имеет место в условиях работы в космическом пространстве, когда высока стоимость доставки на орбиту каждого килограмма полезной нагрузки.
Технический результат, достигаемый при реализации разработанного способа, состоит в создании локальной сети передачи информации, сочетающей повышенную помехозащищенность и свойства сети реального времени.
Для достижения указанного технического результата предложено использовать разработанный способ передачи информации в реальном времени с использованием локальных сетей ограниченного размера. При реализации способа используют сеть передачи информации aRTnet, содержащую множество оконечных станций, каждая из которых соединена физической двунаправленной линией связи со своим коммутатором, коммутаторы соединены между собой также физическими двунаправленными линиями связи с образованием связного графа, при этом каждый коммутатор содержит внутреннюю оконечную станцию, выполненную с возможностью конфигурирования, сбора статистики, диагностики, протоколирования и службы времени своего коммутатора, внутренняя оконечная станция подключена только к собственному коммутатору по внутреннему каналу связи, причем используемая сеть aRTnet выполнена с возможностью передачи отдельных многокадровых сообщений по статически проложенным виртуальным каналам, сформированным с возможностью наличия нескольких получателей при числе уровней приоритета равном 16 с ограничением по любому достаточно большому интервалу интенсивности и вариативности потока передаваемой информации, что обеспечивается задержкой при необходимости отправки информационных сообщений на исходной оконечной станции и прореживанием при необходимости кадров индивидуально для виртуальных каналов на входных портах коммутаторов, причем и то, и другое производят с использованием общеизвестного алгоритма маркерного ведра, и обеспечивает возможность произвести математически доказательную оценку как задержки передачи сообщения, так и размеров очередей на выходных портах узлов по пути сообщения, при этом передача по физическим каналам сети проходит без управления потоком за счет гарантированного наличия буферного пространства на приемном конце каждой линии связи, указанная сеть выполнена с возможностью работы как в штатном режиме, когда маршрутизацию осуществляют только по идентификаторам виртуальных каналов в условиях действия конфигурации сети, параметры которой, относящиеся к различным узлам, заблаговременно размещены в узлах сети и активизированы там, так и в технологическом режиме посредством широковещательных сообщений с адресацией по географическим адресам оконечных станций, при этом сообщения передают по сети aRTnet в виде последовательности кадров, ограниченных по размеру, состоящих из 32-битных слов, и передаваемых по сети как неделимая единица с межкадровыми промежутками в 6 32-битных слов, причем в технологическом режиме допускаются только однокадровые сообщения.
В основном варианте реализации разработанного способа при передаче кадр состоит из следующих компонентов SOF (32-битное слово начала кадра), обязательный заголовок кадра длиной 4 слова, включающий 2 слова БЧХ, защищающие заголовок кадра, полезная нагрузка - опциональный заголовок технологического режима, данные кадра, представляющая собой непрерывную подпоследовательность слов сообщения и 4 слова проверочных битов БЧХ, защищающие полезную нагрузку общим объемом не более 512 32-битных слов, а также 32-битное слово EOF конца кадра.
Сеть aRTnet представляет собой сеть реального времени общего назначения, позволяющую подключать оконечные станции, работающие по иным протоколам, таким, например, как SpaceWire, через конвертеры (мосты).
Идеологически сеть aRTnet наследует сеть реального времени FC-RT (сеть на базе протоколов Fibre Channel и FC-AE-ASM). Основная идея обеспечения своевременности доставки сообщений в FC-RT и aRTnet состоит в использовании виртуальных каналов с относительно равномерными потоками сообщений по ним и представляющейся на этой основе возможностью математической оценки гарантированного времени доставки.
Отличительная особенность aRTnet от таких сетей реального времени, как AFDX и FC-RT, состоит в том, что адресация в штатном режиме в aRTnet ограничена идентификатором виртуального канала и не содержит географических адресов. Возможность использования шлюзов в legacy-сети в aRTnet обеспечена на более высоком уровне протокола, а не на более низком, как в указанных сетях. Обеспечением возможности использования шлюза в SpaceWire обусловлено отсутствие поля длины сообщения в заголовке кадра aRTnet.
В aRTnet предприняты меры по защите заголовка кадра от помех для обеспечения правильной маршрутизации в условиях агрессивной среды. Раздельная защита заголовка и полезной нагрузки кодами БЧХ преследует цель, во-первых, сокращения времени на маршрутизацию, которая становится возможной сразу после получения заголовка кадра до получения всего кадра и, во-вторых, усиленной защиты заголовка кадра от помех (по сравнению с защитой полезной нагрузки) для исключения взаимовлияния виртуальных каналов.
Как указано ранее, сеть aRTnet состоит из оконечных станций и коммутаторов, соединенных физическими двунаправленными линиями связи, называемых далее линками. Коммутаторы объединены в связный граф, где ребрами служат линки. Каждая оконечная станция связана линком с одним коммутатором. Каждый коммутатор должен иметь в своем составе внутреннюю оконечную станцию, используемую для конфигурирования, сбора статистики, диагностики, протоколирования и службы времени коммутатора. Внутренняя оконечная станция подключена только к собственному коммутатору по внутреннему каналу связи (линку).
Оконечные станции aRTnet помимо того, что бывают внешними и внутренними, разделяют на два типа - обычные оконечные станции и мосты к оконечным станциям, работающим по другим протоколам, в частности, SpaceWire, имеющий принципиально отличную от обычных протоколов структуру сообщения, не содержащего в заголовке значения длины сообщения.
Сеть aRTnet выполнена с возможностью работы в двух режимах - штатном и технологическом.
Штатный режим представляет собой работу с виртуальными каналами, где маршрутизацию осуществляют по идентификаторам виртуальных каналов в условиях действия некоторой конфигурации сети, параметры которой, относящиеся к различным узлам, заблаговременно размещены в узлах сети и активизированы там. В штатном режиме также осуществляют рассылку синхронизирующих значений времени.
Технологический режим представляет собой работу без маршрутизации, посредством широковещательных сообщений с адресацией по географическим адресам оконечных станций, указанным в опциональном заголовке, содержащемся в поле полезной нагрузки. Этот режим используют для конфигурации и тестирования коммутаторов, выкачивания протоколов и т.д., смены программного обеспечения и т.д.
Переключение между режимами осуществляют несетевыми средствами (например, тумблерами на каждом узле или широковещательным дискретным сигналом, не связанным с линками).
Сообщение - это единица обмена информацией в сети aRTnet, представляющая собой логически связанную последовательность байтов данных. Сообщение передают по сети aRTnet в виде последовательности кадров. Каждый кадр состоит из 32-битных слов и передается по сети как неделимая единица. При передаче по линку он состоит из следующих компонентов:
SOF (32-битное слово начала кадра),
- обязательный заголовок кадра длиной 4 слова,
- опциональный заголовок технологического режима,
- полезная нагрузка - данные кадра (непрерывная подпоследовательность слов сообщения),
- 4 слова (из которых задействованы 113 бит) проверочных битов БЧХ, защищающие полезную нагрузку в 2048 байт, включая это поле. В случае, если фактический размер полезной нагрузки меньше, то при расчете предполагается, что кадр дополняется необходимым числом нулевых слов, перед настоящим полем, Это позволяет исправить до 8 ошибок, возникших в полезной нагрузке,
- EOF (32-битное слово конца кадра). Специальное значение EOF позволяет, в частности, сделать недействительным соответствующий кадр, а значит, и сообщение. Эта возможность полезна при построении шлюза в сеть SpaceWire для реализации признака конца ошибочного пакета.
Суммарный размер опционального заголовка, полезной нагрузки (включая проверочные биты БЧХ) составляет не более 2 Кбайт. Все кадры, составляющие сообщение, за исключением последнего, обязаны иметь максимальный размер. Размер последнего кадра определяется по факту получения слова EOF или IDLE в случае потери EOF.
Передачу двух последовательных кадров разделяют передачей 6 слов IDLE. Порядок байтов - сетевой, т.е. сначала в линию передают старший байт 32-битного слова (т.е. биты 31-24), затем следующий байт (23-16), и т.д. Последним передают младший байт слова (биты 7-0).
Как показано ранее, виртуальный канал представляет собой программно-аппаратную конструкцию, которая обеспечивает передачу потока сообщений, называемого потоком виртуального канала, - некоторой последовательности одинаково маркированных кадров сообщений aRTnet, проходящих в одном направлении по одной и той же статически заданной последовательности узлов (точнее говорить о дереве узлов). Кадры маркированы идентификатором. При этом виртуальный канал не идентифицируют последовательностью проходимых узлов - по одной и той же последовательности узлов может проходить несколько каналов. Используют и ветвящиеся виртуальные каналы, т.е. такие, по которым передача сообщений идет в несколько адресов (multicast). Кадры каждого виртуального канала «правильной» оконечной станцией иерархически нумеруют парой (номер сообщения, номер кадра в сообщении).
Интуитивно можно представлять себе, что сообщения ограниченного размера (т.е. ≤ L слов) с исходного узла отправляют по виртуальному каналу периодически с некоторым отклонением от периода Т, не превышающим заранее заданной величины J, называемой джиттером. В действительности важным является не столько периодичность отправки, сколько ограничение на сгущение потока. Поток по виртуальному каналу в исходной точке должен подчиняться условию: R(f)-R(s)≤b+r*t, где R(t) - число слов, прошедшее через данную точку от начала работы системы до момента t включительно, b - некоторое число, называемое вариативностью потока, а r - средняя интенсивность потока. Такое условие на поток удобно тем, что оно никак не связано с фазой отправки сообщения. Удобным механизмом, гарантирующим выполнение такого условия, является алгоритм маркерного ведра.
Маркерным ведром называют некоторую величину v(t) (число маркеров), которая, пока остается меньше b, линейно растет со скоростью r, а достигнув значения b, замораживается. Сообщение длины l, сформированное оконечной станцией, ставится в очередь на отправку, если в данный момент t число маркеров v(t) в ведре не меньше, чем l, в противном случае сообщение задерживается до момента, когда число маркеров достигнет значения l. Маркер можно трактовать как право на отправку одного слова. В случае, если все же сообщения отправляются почти периодически с периодом Т и джиттером J, то имеют место соотношения, связывающие ограничения на поток в исходной точке с его характеристиками:
r=L/T
b=(1+J/T)*L
Станция или коммутатор, вышедшие из строя, могут породить поток по виртуальному каналу большей интенсивности, чем для него предусмотрено, например, ретранслируя многократно один и тот же кадр, чем может помешать прохождению потоков по другим виртуальным каналам. Во избежание этого на каждом входном порту коммутатора предусмотрен прореживатель входного потока, отсекающий кадры, которые не могли бы возникнуть при нормальном функционировании сети. В случае, когда поток по каждому виртуальному каналу на исходном узле подчинен указанному условию равномерности, а планирование отправки осуществляется в штатном режиме, характер потока сохраняется, т.е. число слов в каждой точке тчк маршрута, прошедшее за время от момента s до момента t ограничено линейной функции:
тчк
R(t)-R(s)≤b+r*t,
тчк
При этом надо учитывать, что по мере прохождения потока по маршруту его вариативность b, возрастает. Расчет вариативности осуществляют заблаговременно по математическому алгоритму. Контроль выполнения вышеприведенного условия на входном порту коммутатора осуществляют, как и на исходном узле, по методу маркерного ведра, за тем отличием, что не имея возможности задержать преждевременно полученный кадр, коммутатор должен его отвергнуть. Подобная процедура, обеспечивающая, при нарушении на одном виртуальном канале предусмотренной интенсивности/вариативности потока по нему, соблюдение ограничений на времена доставки сообщений по всем другим виртуальным каналам, называется логической изоляцией канала.
Каждому виртуальному каналу приписан статический приоритет от 0 до N (чем больше значение приоритета, тем приоритетнее канал). Значение приоритета в заголовок кадра сообщений не помещается. Оно содержится в описании виртуального канала в узлах, через которые этот виртуальный канал проходит. Некоторые виртуальные каналы должны обеспечивать доставку сообщений, несмотря на возможную потерю кадров из-за помех. Такие каналы называются виртуальными каналами особой важности и передача кадров по ним троируется внутри каждого сообщения. Избыточные кадры на приеме должны удаляться.
При приеме заголовка кадра коммутатор должен декодировать заголовок с исправлением ошибок, после чего подвергнуть кадр фильтрации по формальным признакам (допустимость номера виртуального канала) и по непревышению допустимого сгущения потока.
После этого выполняют маршрутизацию (т.е. постановку в очередь к нужному выходному порту (или портам в случае multicast). При этом в качестве заголовка кадра в очереди сохраняют заново (после исправления ошибок) кодированный заголовок. Далее выполняют планирование. Внутренняя оконечная станция коммутатора, получая кадры обновления времени, выполняет исправление ошибок в полезной нагрузке, прежде, чем использовать значение времени для синхронизации. Хранение данных в промежуточных буферах и в управляющих структурах очередей осуществляется в коде Хэмминга.
Планирование, т.е. выбор кадра для передачи на оконечной станции, осуществляют по сообщениям: передачу сообщения может прервать на границе кадра только более приоритетное сообщение, после завершения передачи всех высокоприоритетных сообщений продолжается прерванная передача сообщения. Среди одноприоритетных сообщений для передачи выбирают сообщение, которое было поставлено в очередь раньше. Планирование на выходном порту коммутатора осуществляют по кадрам: при освобождении передатчика для передачи выбирают кадр из самых высокоприоритетных кадров, пришедших на данный порт раньше всех.
Схема синхронизции времени осуществляется следующим образом: каждый узел за исключением сервера единого времени (т.е. корневого узла древовидного графа рассылки) периодически (например, с периодом 1 сек) получает корректирующее значение времени с единственно допустимого для данной конфигурации входного порта узла. Определяется рассогласование текущего времени узла и пришедшего корректирующего значения. Частота обновления текущего времени узла изменяется с тем, чтобы обнулить величину рассогласования к моменту получения следующего корректирующего значения. С заданным периодом каждый коммутатор рассылает значение собственного текущего времени некоторым своим соседям (нижележащим по дереву для данной конфигурации службы единого времени) в качестве корректирующего значения времени.
При необходимости смены сервера единого времени инициатором такой смены осуществляется широковещательная рассылка команды смены конфигурации службы единого времени. Широковещательная рассылка производится следующим образом: пришедший кадр рассылается во все выходные порты коммутатора, при этом для предотвращения зацикливания осуществляется проверка признака повторно полученного кадра - номера пришедшей конфигурации и номера действующей конфигурации службы единого времени. Повторно пришедший экземпляр команды смены конфигурации гасится.
Широковещательная рассылка кадра в технологическом режиме осуществляется подобным же образом, за тем отличием, что в качестве проверки на повторный приход кадра служит проверка совпадения пары (географический адрес отправителя, отметка времени с часов отправителя).