Способ передачи данных

Изобретение относится к способам передачи данных. Технический результат заключается в повышении надежности передачи информационных данных по сети SpaceWire. Способ заключается в использовании сетевого транспортного протокола (СТП), реализованного программно и аппаратно в виде IP-блока, в обеспечении передачи команд управления, пакетов данных, маркеров времени SpaceWire, кодов прерываний SpaceWire и их подтверждения на все узлы сети, при этом передачу информационных сообщений и команд управления обеспечивают в соответствии с настраиваемыми в зависимости от требований качествами сервиса и перед отправкой каждый информационный пакет записывают в соответствующий по приоритетности логический буфер на передатчике, в обеспечении гарантированной доставки данных каждый пакет хранят в соответствующем буфере на передатчике в течение времени жизни, определяемом таймером, который отсчитывает время, пока пакет с данной информацией актуален для передачи по сети SpaceWire, в случае гарантированной доставки данных обеспечивают подтверждение корректной доставки данных посредством отправки пакетов подтверждения, а также повторную пересылку данных источником в случае отсутствия подтверждения, в случае негарантированной доставки данных не обеспечивают подтверждение корректной доставки данных, при приеме информационного пакета, не требующего подтверждения, данные проверяют, и в случае обнаружения ошибки в принятом информационном пакете данные пакета передают на прикладной уровень с уведомлением об ошибке, на приемной стороне СТП все типы информационных пакетов записывают в единый буфер, обеспечивают настройку СТП при помощи конфигурационных параметров, обеспечивают сброс всех настроек СТП, очистку всех буферов СТП и сброс таймеров по специальным командам, обеспечивают обнаружение дублированных пакетов и отброску дублированного пакета, обеспечивают сервис с планированием для передачи коммутируемых пакетов по сети в соответствии с заданным расписанием, передачу данных с установкой или без установки соединения, управление потоком передаваемых данных посредством отправки информации об оставшемся свободном пространстве в буфере.

 

Изобретение относится к способам передачи данных, в частности к протоколам, используемым при передаче и приеме информационных данных.

В настоящее время активно развивается сетевая технология SpaceWire, специально разработанная для космических аппаратов и совмещающая в себе простоту и низкую цену реализации наравне с высокой производительностью и гибкостью архитектуры. Длительное время основной технологией, применяемой в космическом и авиационном электронном оборудовании, была коммуникационная шина MIL-STD 1553. Однако в условиях растущих требований MIL-STD 1553 уже не справляется с поставленными задачами, поскольку ее средняя скорость передачи данных в 1 Мбит/с и шинная топология накладывают серьезные ограничения. Передача данных в бортовых сетях в настоящее время всё больше осуществляется по технологии, приведенной в стандарте SpaceWire.

Стандарт SpaceWire охватывает три нижних уровня модели OSI и не включает в себя транспортный уровень. Для обмена данными на транспортном уровне разрабатываются транспортные протоколы, исходя из тех задач, которые должны быть решены разрабатываемым протоколом. На данный момент существует целый ряд транспортных протоколов, ориентированных на работу в сетях SpaceWire.

Remote Memory Access Protocol (RMAP)

RMAP – протокол удаленного доступа к памяти. Он служит для поддержки широкого ряда приложений SpaceWire, может функционировать параллельно с другими протоколами передачи данных, запущенными поверх SpaceWire.

RMAP может быть использован: для конфигурирования коммутаторов SpaceWire и контроля их состояния (установки их рабочих параметров и записи информации в таблицу маршрутизации); для конфигурирования и считывания состояния узлов сети SpaceWire; для простых модулей SpaceWire без встроенного процессора — установка конфигурационных регистров приложений, чтения статусной информации или записи данных в память устройства; для интеллектуальных модулей SpaceWire — конфигурирование, сбор информации о состоянии, передача данных из памяти и в память или почтовый ящик. Почтовые ящики – это косвенные области памяти, на которые ссылаются с использованием адреса памяти.

Протокол RMAP оперирует понятиями команда, а не пакет, и определяет 3 вида команд: команда записи (команда записи считывает ноль или более байт данных из памяти другого устройства, могут подтверждаться или не подтверждаться узлом назначения при корректном получении), команды чтения (команда чтения считывает один или более байтов данных из указанной области памяти в узле адресата, прочитанные данные возвращаются в ответном пакете), команда чтение-модификация-запись (команда чтения-модификации-записи читает регистр (или память), возвращает его значение и затем записывает новое значение, определенное в команде, в регистр).

Протокол RMAP предоставляет качество сервиса негарантированная доставка в режиме без подтверждений и гарантированную доставку данных в режиме передачи данных с подтверждениями.

Недостатками протокола RMAP являются невозможность контроля информационного потока, проверки данных и повторной отправки данных, отсутствие качества сервиса «с приоритетом», невозможность гибкой конфигурации и передачи данных с установкой соединения.

CCSDS Packet Transfer Protocol (PTP)

CCSDS PTP – протокол передачи пакетов, который служит для инкапсуляции космических пакетов в SpaceWire пакеты, передачи их от устройства источника к устройству назначения через SpaceWire сеть, извлечения CCSDS пакетов и передачи их приложению. Протокол разработан Международным Консультативным Комитетом по космическим системам передачи данных (Consultative Committee for Space Data Systems, CCSDS).

PTP обеспечивает однонаправленный сервис передачи данных от пользовательского приложения источника к приложению назначения через SpaceWire сеть.

Протокол PTP обладает следующими особенностями: протокол без установки соединения; пользователь может запрашивать передачу данных в любой момент времени; переменная или фиксированная длина пакетов (минимальный размер пакета 7 байт, максимальный – 65542 байт); односторонняя передача данных, без подтверждений; отсутствует повторная пересылка в случае потери данных; не поддерживает периодичность отправки данных; не отвечает за сборку пакета и его проверку на корректность (за это отвечает пользовательское приложение).

Недостатком протокола CCSDS PTP является то, что он предназначен для инкапсуляции космических пакетов в SpaceWire-пакеты для их передачи в сеть и их извлечения для передачи приложению, но не предоставляет каких-либо механизмов, гарантирующих качество сервиса.

Serial Transfer Universal Protocol (STUP)

STUP – универсальный протокол последовательной передачи данных, который служит для организации передачи данных в сети SpaceWire. Ключевой особенностью STUP является его простота реализации.

Протокол STUP обладает следующими особенностями: протокол без установки соединения; определяет всего 2 вида команд: запись и чтение.

В командах протокола STUP предусмотрены поля для контрольной суммы, которые можно использовать для проверки корректности пришедшей команды.

Недостатком протокола STUP является то, что он не предоставляет каких-либо механизмов, гарантирующих качество сервиса.

Joint Architecture Standard Reliable Data Delivery Protocol (JRDDP)

JRDDP – протокол надежной доставки данных, который служит для обеспечения сервиса надежной доставки данных к одному или многим высокоуровневым хост приложениям, используя для этого канальный уровень SpaceWire.

Протокол JRDDP обладает следующими особенностями: протокол с установлением соединения; поддерживает множественные логические соединения; обеспечивает надежную доставку данных; обнаруживает потерянные, повторяющиеся пакеты; упорядочивает пакеты, пришедшие не по порядку; выполняет фрагментацию и повторную сборку пакетов.

Протокол JRDDP определяет следующие типы пакетов: данные приложения; подтверждение; открытие и реинициализация соединения; закрытие соединения; срочный пакет данных.

JRDDP протокол поддерживает качество сервиса с приоритетами и негарантированная доставка данных.

В спецификации протокола JRDDP определены следующие приоритеты отправки пакетов:

• пакеты подтверждения (отправляются в первую очередь);

• управляющие пакеты;

• срочные пакеты;

• повторно передаваемые пакеты;

• пакеты данных (отправляются последними).

Качество сервиса «Негарантированная доставка данных» используется (опционально) для доставки срочных сообщений, таких как широковещательные, сообщения с исключениями/контролем ошибок, мета-сообщения и др.

Для обнаружения ошибок и отказоустойчивости в пакетах протокола JRDDP предусмотрено CRC поле, а также поле с порядковым номером пакета (размер поля 8 бит), отправка подтверждений об успешном получении пакетов. Более того, протокол JRDDP использует таймауты для обнаружения потерянных или повторяющихся пакетов.

Недостатком протокола JRDDP является отсутствие гибкости при конфигурировании.

Streaming Transport Protocol (STP)

STP – транспортный протокол потоковой передачи данных в сетях SpaceWire, в котором предусматривается также поддержка одновременной передачи множества когерентных информационных потоков.

Протокол STP ориентирован на асимметричную организацию транспортного соединения, с одной стороны которого находится ведущее устройство (хост, мастер) транспортного соединения, а с другой стороны – ведомое устройство. Инициатором организации сеанса обмена является ведущее устройство, которое осуществляет управление установкой соединения, настройкой его параметров и потоком пакетов-данных.

Протокол STP обладает следующими особенностями:

• протокол с установлением соединения;

• безопасное соединение (трехэтапное квитирование);

• асимметричность (передача данных идет от ведомого устройства к ведущему);

• поддержка многопоточности (до 65535 отдельных соединений);

• порции данных фиксированной длины;

• периодическая через заданный интервал передача данных (по установленным параметрам на протяжении всего соединения);

• доставка данных без подтверждений, без повторной посылки;

• управление потоком данных.

Протокол STP оперирует понятиями пакет данных и команды.

Протокол STP разработан для передачи потоковых данных в сети SpaceWire. Устройство-получатель согласно спецификации STP не отправляет подтверждений о получении данных, тем самым, обеспечивая качество сервиса с негарантированной доставкой данных.

В протоколе STP также предусмотрен механизм остановки/разрешения передачи данных по конкретному соединению, частоту отправки пакетов данных, что позволяет управлять потоком.

Недостатками протокола STP являются отсутствие гибкости при конфигурировании, отсутствие качества сервиса «с приоритетом», отсутствие подтверждений о получении данных, невозможность проверки и повторной отправки данных.

В качестве прототипа взят способ передачи данных (RU №2651242), заключающийся в использовании сетевого транспортного протокола (СТП) потоковой передачи данных в сетях SpaceWire.

Заявляемый СТП («СТП-ИСС-14») является развитием протокола, описанного в прототипе, обеспечивая поддержку обратной совместимости. Редакции этих протоколов отличаются разными наборами механизмов и сложностью их реализации.

Механизм СТП-прототип Заявляемый СТП
Приоритеты
Гарантированная доставка данных
Негарантированная доставка данных
Планирование
Передача данных без установки соединения
Транспортные соединения
Проверка контрольной суммы CRC-16
Reset и Flush
Таймер времени жизни пакета
Гибкость конфигурации
Максимальный размер сообщения 2 Кбайта 64 Кбайта
Управление потоком ТС
Обнаружение дублированных команд управления

Редакция заявляемого СТП содержит такие новые механизмы, как качество сервиса с планированием, транспортные соединения (в том числе, управление потоком передаваемых данных) и обнаружение дублированных команд управления.

Недостатками изобретения является недостаточно высокая надежность доставки и гибкости при конфигурировании.

Технической проблемой при передаче информации является недостаточно высокая надежность доставки и гибкости при конфигурировании.

Данная техническая проблема решается за счет того, что создают способ передачи данных с использованием сетевого транспортного протокола (СТП), реализованного программно и аппаратно в виде IP-блока; обеспечивают передачу команд управления, пакетов данных, маркеров времени SpaceWire, кодов прерываний SpaceWire и их подтверждения на все узлы сети; при этом передачу информационных сообщений и команд управления обеспечивают в соответствии с настраиваемыми в зависимости от требований качествами сервиса и перед отправкой каждый информационный пакет записывают в соответствующий по приоритетности логический буфер на передатчике; в обеспечение гарантированной доставки данных каждый пакет хранят в соответствующем буфере на передатчике в течение времени жизни, определяемом таймером, который отсчитывает время, пока пакет с данной информацией актуален для передачи по сети SpaceWire; в случае гарантированной доставки данных обеспечивают подтверждение корректной доставки данных посредством отправки пакетов подтверждения, а также повторную пересылку данных источником в случае отсутствия подтверждения; обнаружение дублированных пакетов и отброску дублированного пакета, обеспечение сервиса с планированием для передачи коммутируемых пакетов по сети в соответствии с заданным расписанием, передача данных с установкой или без установки соединения, в случае негарантированной доставки данных не обеспечивают подтверждение корректной доставки данных; при приеме информационного пакета, не требующего подтверждения, данные проверяют, и в случае обнаружения ошибки в принятом информационном пакете, данные пакета передают на прикладной уровень с уведомлением об ошибке; на приемной стороне СТП все типы информационных пакетов записывают в единый буфер; обеспечивают настройку СТП при помощи конфигурационных параметров, обеспечивают сброс всех настроек СТП, очистку всех буферов СТП и сброс таймеров по специальным командам, управление потоком передаваемых данных посредством отправки информации об оставшемся свободном пространстве в буфере.

СТП выполняет функции транспортного уровня, функционирующего поверх стека протоколов SpaceWire (стандарт ECSS-E-ST-50-12С), и определяет транспортное взаимодействие узлов в сети, регламентирует форматы передаваемых данных и правила передачи сообщений между абонентами бортовой сети SpaceWire.

В сетевом транспортном протоколе для взаимодействия с прикладными процессами предусмотрены три интерфейса: интерфейс данных, конфигурационный интерфейс и интерфейс системных кодов. Через вышеописанные интерфейсы СТП обеспечивает передачу следующих основных типов данных:

• команды управления;

• пакеты данных;

• маркеры времени SpaceWire;

• коды прерываний SpaceWire и их подтверждения.

Через интерфейс данных передаются пакеты данных и команды управления. Сообщения прикладных процессов и команды управления на удаленные узлы передаются в пакетах SpaceWire. Конфигурационный интерфейс служит для смены значений конфигурационных параметров СТП, передачи статусной информации и команд сброса. В свою очередь, интерфейс системных кодов отвечает за распространение маркеров системного времени и системных прерываний во все узлы сети посредством технологии SpaceWire. Для взаимодействия со SpaceWire – два интерфейса: интерфейс пакетов SpaceWire и интерфейс системных кодов.

Одна из основных задач сетевого транспортного протокола (СТП) – это обеспечение транспортировки сообщений прикладных процессов на удаленные узлы сети. Сообщение прикладного процесса – это блок данных, поступающий в СТП от протокола прикладного уровня. Они разделяются по типу в соответствии с их приоритетом:

• срочные сообщения – высокоприоритетные;

• обычные сообщения – низкоприоритетные.

Блок данных СТП имеет ограниченную длину. Размер каждого сообщения прикладного процесса не должен превышать 2048 байт без установки соединения и 65535 байт с установкой соединения.

СТП может работать как в режиме с установкой, так и в режиме без установки соединения. Под работой в режиме с установкой соединения подразумевается организация передачи данных большого объема по установленному транспортному соединению. Транспортное соединение – это виртуальное однонаправленное соединение между двумя удаленными узлами сети, отвечающее за передачу информации между ними на транспортном уровне.

Установка соединения может быть инициирована приложением, которому необходимо передать или принять большой объем данных. Закрытие соединения может быть инициировано по запросу от приложения, которое являлось инициатором установки данного соединения.

После успешной установки соединения узел-передатчик данного соединения должен инициировать передачу данных.

Для каждого установленного транспортного соединения должен быть задан таймер времени простоя.

Транспортное соединение может быть организовано для передачи следующих типов данных:

• срочные сообщения;

• обычные сообщения.

СТП позволяет передавать данные по 16 транспортным соединениям одновременно.

СТП, реализующий режим транспортных соединений, должен содержать «менеджер транспортных соединений» - управляющий блок, который ведет учет активных и неактивных ТС, а также выполняет служебные функции при установке нового ТС.

Транспортные соединения являются однонаправленными, т.е. соединяют передатчик и приемник удаленных узлов сети. Для установки двунаправленного транспортного соединения необходимо открыть два соединения, направленных в противоположные стороны.

Для данных, передаваемых по транспортному соединению с качеством сервиса «Гарантированная доставка данных», возможно осуществлять управление потоком передаваемых данных посредством отправки информации об оставшемся свободном пространстве в буфере. Для данных, передаваемых по транспортному соединению с качеством сервиса «Негарантированная доставка данных», управление потоком не выполняется.

Функция сегментации сообщений выполняется прикладным уровнем. Для этих целей вводится вторичный заголовок пакета СТП, в котором прикладной процесс может передавать информацию, необходимую для сборки сообщений из сегментов.

СТП обеспечивает надежную передачу данных посредством защиты передаваемых данных и заголовка пакета контрольной суммой CRC-16, проверяемой на приемнике. CRC-16 покрывает поле заголовка пакета и поле данных, начиная с первого байта пакета и заканчивая последним байтом данных, не включая символ конца пакета EOP.

В СТП предусмотрен механизм таймера времени жизни пакетов, который отсчитывает время, пока пакет с данной информацией актуален для передачи по сети SpaceWire. Каждый пакет хранится в соответствующем буфере на передатчике в течение времени жизни, которое для него определено. Величина таймера времени жизни пакета является конфигурационным параметром протокола СТП и может задаваться на этапе конфигурации. При этом каждому типу пакетов (пакет команды управления, срочного сообщения, обычного сообщения) соответствует отдельная величина таймера времени жизни. Таймер времени жизни взводится в момент записи пакета в буфер, а по истечении времени таймера соответствующий ему пакет из буфера удаляется.

На передающей стороне транспортного протокола предусмотрен отдельный логический буфер на каждый из приоритетов передаваемых данных:

• буфер команд управления;

• буфер срочных сообщений;

• буфер обычных сообщений.

Размеры этих буферов задаются в соответствии с размером сообщения, которое будет использовать сетевой узел для обмена с другими узлами, а также в соответствии с типом устройства, работающего по протоколу СТП. Однако, для каждого из буферов (на приемной или передающей части) рекомендуется задавать размер таким образом, чтобы он вмещал как минимум два пакета данных. Поле данных в пакете не должно быть пустым. Если такое происходит, то СТП должен отправить приложению уведомление о том, что пакет не отправлен. Пакет в буфере должен храниться до возникновения одного из следующих событий:

• получение пакета подтверждения на пакет, отправленный с гарантированным качеством сервиса;

• отправка пакета в сеть при негарантированной доставке данных;

• срабатывание таймера времени жизни данного пакета;

• команда reset или flush.

Если происходит переполнение буфера, то приложение должно ждать, пока появится свободное место для очередного сообщения.

На приемной стороне транспортного протокола предусмотрен единый буфер на все типы информационных потоков. Буфер должен иметь возможность хранить минимум два пакета.

Если приемный буфер переполнен, то СТП должен сгенерировать сообщение для уровня приложений.

Одним из преимуществ передачи данных предлагаемым способом является обеспечение передачи сообщений и команд управления со следующими типами качества сервиса:

• Качество сервиса «С приоритетом»;

• Качество сервиса «Гарантированная доставка данных»;

• Качество сервиса «Негарантированная доставка данных».

• Качество сервиса «С планированием».

Тип качества сервиса «С приоритетом» является основным и должен поддерживаться всеми устройствами, на которых реализован СТП. Согласно данному типу качества сервиса данные с более высоким приоритетом должны быть переданы первыми. СТП поддерживает 9 уровней приоритетов:

• Пакеты подтверждения, пакеты подтверждения транспортного соединения;

• Пакеты команд управления (КУ);

• Повторные пакеты команд управления;

• Служебные пакеты режима с установкой соединения;

• Служебные пакеты синхронизации кредитов;

• Пакеты срочных сообщений;

• Повторные пакеты срочных сообщений;

• Повторные пакеты обычных сообщений;

• Пакеты обычных сообщений.

СТП анализирует передачу пакетов во время арбитрирования. Пакет содержит специальный флаг «Типа Пакета» и признак повторной отправки пакета. В зависимости от этого, СТП делает вывод, какой пакет должен быть отправлен первым. Арбитрирование следующего пакета происходит только после отправки текущего.

Тип качества сервиса «Гарантированная доставка данных» обеспечивает подтверждение корректной доставки данных посредством отправки пакетов подтверждения, а также повторную пересылку данных источником в случае отсутствия подтверждения. Повторная отправка осуществляется на основе нумерации пакетов, которая осуществляется на прикладном уровне. Таким образом, комбинация идентификатора приложения и номера передаваемого сообщения однозначно идентифицирует каждый пакет. Для реализации качества сервиса «Гарантированная доставка данных», при отправке данных на сетевой уровень должен быть взведен таймер повтора. Он определяет временной интервал, по истечению которого считается, что пакет не был доставлен до адресата корректно, либо был потерян пакет подтверждения. По истечению таймера повтора пакет, соответствующий данному таймеру, повторно отправляется адресату. Для того чтобы уведомить отправителя о корректном приеме пакета используются пакеты подтверждения. Они отправляются, если:

• отсутствует ошибка CRC,

• длина поля данных корректна,

• в заголовке пакета выставлен флаг «Требование подтверждения приема», определяющий для данного пакета качество сервиса «Гарантированная доставка данных».

При приеме пакета подтверждения, пакет, соответствующий принятому номеру, должен быть удален из буфера повтора передатчика. Все таймеры, ассоциированные с номером этого пакета, должны быть остановлены и удалены. СТП обеспечивает обнаружение дублированных пакетов КУ на приемнике. Дублированный пакет может быть принят в случае, если был потерян пакет подтверждения на уже принятый пакет. При обнаружении дублированного пакета, дубликат должен быть отброшен. Приемник СТП должен вести историю принятых ранее пакетов КУ.

Тип качества сервиса «Негарантированная доставка данных» обеспечивает передачу данных без подтверждений приема. Такие пакеты содержат в заголовке бит ‘Требование подтверждения приема’, установленный в 0 и для них не взводится таймер повтора. При приеме информационного пакета, не требующего подтверждения, приемник также проверяет CRC и корректность длины поля данных, но в случае обнаружения ошибки в принятом информационном пакете, и в случае, если пакет был завершен символом EEP, данные пакета все равно должны быть переданы на прикладной уровень с уведомлением об ошибке. Передатчик не хранит такой пакет в буфере, не ждет подтверждения и не пересылает пакет.

Тип качества сервиса «С планированием» обеспечивает передачу коммутируемых пакетов по сети в соответствии с заданным расписанием.

Для реализации качества сервиса с планированием СТП для корректировки работы локальных счетчиков времени узлов использует метки времени, получаемые из сети в time-кодах SpaceWire. При приходе метки времени важен лишь сам факт ее прихода, тогда как значение принятой метки времени не учитывается.

Для узла сети, который является мастером времени, работа качества сервиса с планированием опирается на метки времени, которые отправляются в сеть, а не принимаются из нее.

Качество сервиса с планированием не распространяется на служебные пакеты СТП. Служебные пакеты должны отправляться вне расписания в соответствии со своим приоритетом.

Важной особенностью данного способа передачи является гибкость применяемого СТП. Протокол имеет ряд конфигурационных параметров, которые позволяют настраивать протокол в зависимости от требований к качеству предоставляемого сервиса и типа используемой аппаратуры. Конфигурация СТП производится через конфигурационный интерфейс и выполняется в следующих случаях:

• включение устройства;

• перезагрузка устройства;

• переключение комплектов;

• восстановление из аварийного состояния.

В СТП определено 14 конфигурационных параметров:

• Время жизни пакета команды управления;

• Время жизни пакета срочного сообщения;

• Время жизни пакета обычного сообщения;

• Время жизни пакета срочного сообщения транспортного соединения;

• Время жизни пакета обычного сообщения транспортного соединения;

• Таймаут повтора (длительность таймера повтора);

• Таймаут повтора для сообщений транспортных соединений;

• Гарантированная или негарантированная доставка данных;

• Планирование;

• Количество временных интервалов;

• Длительность временного интервала;

• Расписание;

• Окно ожидания метки времени;

• Таймаут времени простоя ТС.

Через конфигурационный интерфейс могут подаваться сигналы Reset и Flush. Команда Reset соответствует горячему сбросу, в то время как команда Flush используется для очищения буферов приемника и передатчика протокола СТП. По приходу сигнала Reset буферы на передатчике и приемнике транспортного протокола очищаются, все таймеры, связанные с данными в буферах, должны быть сброшены, счетчик порядковых номеров сбрасывается, и конфигурационные параметры устанавливаются в значения по умолчанию. Если же в СТП подается команда Flush, то также очищаются буферы и сбрасываются таймеры, но счетчик порядковых номеров и конфигурационные параметры остаются прежними.

Таким образом, реализация способа передачи данных с помощью сетевого транспортного протокола СТП позволит передавать информационные потоки данных, обеспечивая надежность передачи данных, использовать различные типы качества сервиса, гарантированно доставлять данные и обеспечивать гибкость конфигурирования.

Способ осуществляют следующим образом

Сетевой транспортный протокол реализован программно, например, на языках С++ и С и аппаратно в виде IP-блока СТП.

Программная реализация представляет собой программный код, наиболее точно соответствующий спецификации протокола. Он описывает логическую структуру протокола, его интерфейсы и внутренние механизмы протокола. Референс-код содержит подробные комментарии, позволяющие лучше понять алгоритм функционирования СТП. Кроме того, программный код описывает тестовое окружение, которое позволяет запускать определенный набор тестовых сценариев работы протокола, что проверяет функционирование (конфигурация протокола, отправка данных, прием данных) протокола в различных условиях. В результате запуска сценариев генерируются файлы отчетов, содержащие информацию о возникающих в процессе работы протокола событиях. Параллельно в ходе работы тестового сценария ведется сбор статистической информации и фиксирование возникающих событий в системе, результатом которого является файл отчетов. Программный код используется для трансляции в другие языки программирования для создания бортового программного обеспечения, а также для тестирования программных моделей и аппаратных реализаций протокола.

Референс-код протокола СТП состоит из следующих компонент:

• компонент stp_testengine – приложение (тестовое окружение), предназначенное для генерации, приема и проверки тестовых данных;

• компонент stp_reference – протокол СТП, состоящий из передатчика, приемника и менеджера и выполняющий обработку тестовых данных;

• компонент spw_channel – канал SpaceWire, эмулирующий сетевой уровень SpaceWire, предназначенный для передачи поступающих данных на удаленную сторону.

Система состоит из заданного количества узлов. Каждый узел состоит из модели приложения и реализации СТП. Узлы соединены моделью канала SpaceWire. Система функционирует следующим образом: При запуске модель приложения начинает генерировать данные, которые поступают в СТП. Затем данные в виде пакетов SpaceWire поступают в канал SpaceWire, который передает их на удаленную сторону. Удаленная сторона принимает данные и выполняет их обработку с последующей передачей приложению. В случае использования гарантированной доставки данных удаленная сторона отправляет пакеты подтверждения об успешном приеме данных.

После инициализации внутренних механизмов (буферы, списки параметров, обработчики событий) выполняется конфигурация протокола. Затем передатчик начинает получать данные от модели приложения: сообщения, команды управления, time-коды. Далее передатчик обрабатывает полученные данные, создает пакеты СТП и выполняет их буферирование. В момент записи очередного пакета СТП в буфер передатчик взводит таймер времени жизни и далее специальный поток выполняет его мониторинг. В процессе арбитража на основе приоритетов передатчик определяет пакет, который должен быть отправлен первым. В случае использования гарантированной доставки данных после отправки пакета в SpaceWire канал выполняется установка таймера повтора с дальнейшим его мониторингом, который выполняет отдельный поток. В процессе функционирования передатчик также принимает запросы о подтверждении и удаляет данные из буферов. По специальному служебному сигналу передатчик завершает свою работу, останавливая потоки мониторинга всех таймеров. После завершения процесса передачи всех данных передатчик выдает накопленную статистику.

Аналогично передатчику в приемнике выполняется инициализация внутренних механизмов (буферы, списки параметров, обработчики событий). Затем приемник начинает принимать данные, проверять их корректность и буферировать. При этом возможно обнаружение дублированных пакетов КУ. Дублированный пакет принимается в случае, если был потерян пакет подтверждения на уже принятый пакет. При обнаружении дублированного пакета, дубликат отбрасывается.

В случае корректности данных выполняется их отправка приложению. В случае необходимости отправки подтверждений приемник отправляет запрос на отправку подтверждения в передатчик. После завершения процесса передачи всех данных, приемник выдает накопленную статистику.

Менеджер принимает запросы на конфигурацию протокола, и перенаправляет их в передатчик. Также в процессе работы, менеджер принимает запросы на сброс протокола и на очистку буферов и перенаправляет их в передатчик и приемник. В случае переполнения буфера на приемной стороне менеджер принимает специальный примитив, который затем передается приложению.

СТП работает как в режиме с установкой (передача данных большого объема по установленному транспортному соединению), так и в режиме без установки соединения.

При передаче данных по транспортному соединению с качеством сервиса «Гарантированная доставка данных» осуществляют управление потоком передаваемых данных посредством отправки информации об оставшемся свободном пространстве в буфере.

Одним из преимуществ передачи данных заявляемым способом является обеспечение передачи сообщений и команд управления с качеством сервиса «С планированием», при котором коммутируемые пакеты передаются по сети в соответствии с заданным расписанием. Качество сервиса с планированием не распространяется на служебные пакеты СТП. При этом Служебные пакеты отправляются вне расписания в соответствии со своим приоритетом.

В случае аппаратной реализации IP-блок СТП – контроллер СТП состоит из следующих основных блоков:

Контроллер передачи пакетов преобразует транзакции, которые приходят с уровня приложений в пакетах СТП и отправляет их в порт SpaceWire. Каждый типа пакетов СТП хранится в отдельном буферном блоке.

Контроллер приема пакетов принимает пакеты, приходящие из SpaceWire порта и проверяет их корректность. Пакеты подтверждения хранятся в Received ACK FIFO. Корректные обычные пакеты, срочные пакеты и команды управления хранятся в буфере.

Контроллер транзакций отправленных пакетов получает транзакции из уровня приложений, преобразует и передает в контроллер передачи пакетов.

Контроллер транзакций входящих пакетов преобразует корректные входящие обычные пакеты, срочные пакеты и команды отправления в транзакции для уровня приложений. Текущая реализация поддерживает только один формат транзакций, который соответствует команде записи.

Блок арбитрирования запросов выполняет арбитрирование запросов к АНВ контроллеру (master) из контроллера транзакций отправленных пакетов. Арбитрирование производится в соответствии со схемой с динамическими циклическими приоритетами.

Блок регистров режима/статуса состоит из массива регистров режима/статуса, контроллера регистра чтения и контроллера регистра записи. Чтение и запись выполняются из АНВ через АНВ контроллер (slave) и из функциональных блоков контроллера СТП.

IP-ядро является конфигурируемым, обеспечивая возможность исключать разные его компоненты.

При реализации сетевого транспортного протокола обеспечивается высоконадежная транспортировка передаваемых данных по линиям связи сети SpaceWire для авиационной и космической отрасли.

Реализация заявляемого способа передачи данных позволяет передавать данные по 16 транспортным соединениям одновременно, поддерживать 9 уровней приоритетов, протоколом определено 14 конфигурационных параметров, которые позволяют настраивать протокол в зависимости от требований к качеству предоставляемого сервиса и типа используемой аппаратуры. Данные показатели значительно превышают показатели известных аналогов, что является подтверждением достижения технического результата – повышение надежности доставки данных и гибкости при конфигурировании.

Способ передачи данных, заключающийся в использовании сетевого транспортного протокола (СТП), реализованного программно и аппаратно в виде IP-блока, состоящего из контроллера передачи пакетов, преобразующего транзакции, которые приходят с уровня приложений в пакетах СТП и отправляющего их в порт SpaceWire, причем каждый тип пакетов СТП хранится в отдельном буферном блоке; контроллера приема пакетов, принимающего пакеты, приходящие из SpaceWire порта, и проверяющего их корректность, где пакеты подтверждения хранятся в Received ACK FIFO, а корректные обычные пакеты, срочные пакеты и команды управления хранятся в буфере; контроллера транзакций отправленных пакетов, получающего транзакции из уровня приложений, преобразующего и передающего в контроллер передачи пакетов; контроллера транзакций входящих пакетов, преобразующего корректные входящие обычные пакеты, срочные пакеты и команды отправления в транзакции для уровня приложений; блока арбитрирования запросов, выполняющего арбитрирование запросов к АНВ контроллеру (master) из контроллера транзакций отправленных пакетов, причем арбитрирование производится в соответствии со схемой с динамическими циклическими приоритетами; блока регистров режима/статуса, состоящего из массива регистров режима/статуса, контроллера регистра чтения и контроллера регистра записи; программная реализация заключается в обеспечении передачи команд управления, пакетов данных, маркеров времени SpaceWire, кодов прерываний SpaceWire и их подтверждения на все узлы сети; при этом передачу информационных сообщений и команд управления обеспечивают в соответствии с настраиваемыми в зависимости от требований качествами сервиса и перед отправкой каждый информационный пакет записывают в соответствующий по приоритетности логический буфер на передатчике; в обеспечение гарантированной доставки данных каждый пакет хранят в соответствующем буфере на передатчике в течение времени жизни, определяемом таймером, который отсчитывает время, пока пакет с данной информацией актуален для передачи по сети SpaceWire; в случае гарантированной доставки данных обеспечивают подтверждение корректной доставки данных посредством отправки пакетов подтверждения, а также повторную пересылку данных источником в случае отсутствия подтверждения; в случае негарантированной доставки данных не обеспечивают подтверждение корректной доставки данных; при приеме информационного пакета, не требующего подтверждения, данные проверяют, и в случае обнаружения ошибки в принятом информационном пакете данные пакета передают на прикладной уровень с уведомлением об ошибке; на приемной стороне СТП все типы информационных пакетов записывают в единый буфер; обеспечивают настройку СТП при помощи конфигурационных параметров, обеспечивают сброс всех настроек СТП, очистку всех буферов СТП и сброс таймеров по специальным командам, отличающийся тем, что обеспечивают обнаружение дублированных пакетов и отброску дублированного пакета, обеспечивают сервис с планированием для передачи коммутируемых пакетов по сети в соответствии с заданным расписанием, передачу данных с установкой или без установки соединения, управление потоком передаваемых данных посредством отправки информации об оставшемся свободном пространстве в буфере.



 

Похожие патенты:

Изобретение относится к области информационной безопасности. Технический результат заключается в обеспечении защиты информационной безопасности за счет того, что выполняется проверка наличия вредоносного кода в исполняемом файле, схожем по метаданным с доверенным файлом.

Изобретение относится к области обеспечения функционирования информационно-телекоммуникационных систем. Техническим результатом изобретения является повышение устойчивости передачи данных в виртуальной сети корпоративной системы управления за счет снижения вероятности решающего деструктивного воздействия и существенного влияния на ее функционирование со стороны любой другой виртуальной сети.

Группа изобретений относится к способу предоставления набора (28, 30) данных, способу приема набора (28, 30) данных, регулятору (21) ветропарка, блоку ветропарка и ветропарку. Ветропарк разделяют по меньшей мере на две группы и по меньшей мере с одной, несколькими или всеми группы в каждом случае соотносят по меньшей мере два блока.

Изобретение относится к области компьютерных сетей. Технический результат заключается в обеспечении сохранения разметки произвольных сетевых транспортных протоколов без снижения значения пропускной способности сетевого процессорного устройства.

Изобретение относится к вычислительной технике. Технический результат заключается в обеспечении безопасности хост-устройства от злонамеренных атак.

Изобретение относится к технике связи. Технический результат – повышение скорости передачи информации в условиях деструктивного воздействия злоумышленника.

Изобретение относится к области связи и, более конкретно, к обработке потока QoS. Технический результат состоит в надежной услуге QoS и обеспечении непрерывности пользовательской услуги.

Изобретение относится к области обработки и передачи дискретной информации. Техническим результатом является повышение достоверности передачи многоблочных сообщений и сокращение времени их передачи.

Изобретение относится к области маршрутизации пакетов данных в коммуникационной посылке в различные шлюзовые узлы в "облаке". Техническим результатом является обеспечение сокрытия содержимого связи между клиентским устройством, например мобильным телефоном или ноутбуком, и сетью или облаком медиаузлов.

Изобретение относится к способу идентификации сервиса. Технический результат заключается в упрощении процедуры идентификации сервиса.

Изобретение относится к области беспроводной связи. Технический результат заключается в повышении пропускной способности связи, повышении спектральной эффективности.
Наверх