Разработка методики тестирования сетевых коммутаторов SpaceWire

Обложка

Цитировать

Полный текст

Аннотация

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

Полный текст

Введение

Сетевой коммутатор предназначен для объединения различных устройств в единый сегмент сети, позволяя данным устройствам осуществлять информационное взаимодействие. Коммутатор при помощи таблицы маршрутизации определяет, какому именно устройству адресованы данные, и посылает их непосредственно адресату [1].

Коммутаторы активно используются при построении сетевых структур в космической отрасли. В рамках данной статьи рассматриваются коммутаторы на основе сетевой технологии SpaceWire.

SpaceWire – технология обеспечивающая высокоскоростную передачу больших объемов информации, создание единой инфраструктуры высокоскоростной обработки данных для соединения датчиков, элементов системы обработки данных и блоков массовой памяти [2]. В актуальной версии стандарта ECSS-E-ST-50-12C Rev.1 [3] предъявляются требования к коммутаторам SpaceWire, такие как поддержка различных видов адресации, принципа удаления заголовка пакета, червячной маршрутизации и т. д.

Методика тестирования

В связи с предъявляемыми требованиями была разработана методика тестирования сетевых коммутаторов SpaceWire. В рамках разработки данной методики объектом испытаний являлся неблокирующий сетевой 12-портовый коммутатор SpaceWire (объектом также может быть коммутатор SpaceWire с произвольным количеством портов, возможностью задания таблицы маршрутизации, неблокирующей архитектурой).

Целью проведения тестирования является проверка следующих возможностей коммутатора SpaceWire:

  • корректность обработки поступающих пакетов в соответствии с принципом удаления заголовка для всех портов;
  • отбрасывание коммутатором принимаемых пакетов данных, не содержащих в своем путевом адресе номера порта для отправки на другое устройство, т. е. не уходящих с коммутатора;
  • корректность работы коммутатора при загрузке приёмного буфера в результате отправки на него пакета, создающего очередь;
  • запись данных в таблицу маршрутизации [4];
  • проверка возможности широковещательной передачи пакетов данных [5];
  • проверка поддержки адаптивной групповой маршрутизации (АГМ) [6].

Были использованы технические средства, представленные в табл. 1.

 

Таблица 1. Список оборудования

Оборудование

Кол-во

Описание

1

ПК

1

Управляющее устройство

2

Мост Ethernet-SpaceWire [7]

1

Устройство для связи интерфейсов Ethernet и SpaceWire

3

12-портовый коммутатор SpaceWire

1

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

4

Адаптер питания моста

1

Адаптер питания (АП-1) на 12 В

5

Адаптер питания коммутатора

1

Адаптер питания (АП-2) на 5 В

6

Кабель Ethernet

1

Кабель для соединения ПК с мостом

7

Кабель SpaceWire

2

Кабели для соединения моста с коммутатором

8

Loopback кабель SpaceWire [8]

10

Кабели, замыкающие порты коммутатора петлей

 

Структурная схема данного рабочего места приведена на рис. 1.

 

Рис 1. Рабочее место тестирования коммутатора SpaceWire

Fig. 1. SpaceWire switch testing workplace

 

Мост Ethernet-SpaceWire, используемый при создании тестов, является разработкой коллектива ООО НПЦ «МиТ» [9] – отечественной компании, занимающейся производством и разработкой оборудования и ПО для проектирования и тестирования авиационных и космических вычислительных систем на стандартах SpaceWire и SpaceFibre.

Коммутатор SpaceWire, используемый в испытаниях, является радиационно-стойкой отказоустойчивой сверхбольшой интегральной схемой (СБИС) [10] программируемого мастер-коммутатора 3-го уровня [11].

Алгоритмы тестирования

Для тестирования коммутатора было разработано специальное программное обеспечение (СПО). Для взаимодействия оператора с данным СПО используется консольное пользовательское приложение, работа с которым подробно описана в методике тестирования [12]. Работа с приложением может быть разделена на 3 основные части:

  • подготовка к тестированию (без взаимодействия с коммутатором);
  • базовое тестирование коммутатора;
  • расширенное тестирование коммутатора.

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

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

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

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

Блок-схема базового теста коммутатора приведена на рис. 2.

 

Рис. 2. Блок-схема базового теста коммутатора

Fig. 2. Block diagram of the basic test of the switch

 

Главной задачей нагрузочного теста является проверка реакции коммутатора на принимаемые пакеты данных, не содержащие в своем путевом адресе номера порта для отправки на другое устройство, т. е. не уходящих с коммутатора.

На тестирующем устройстве формируются и отправляются пакеты двух видов. Пакеты первого вида должны отправляться с первого порта тестирующего устройства, успешно проходить по путевым адресам коммутатора и затем приходить обратно на мост, после чего отображаться в приемном буфере. Пакеты второго вида, которые отправляются со второго порта тестирующего устройства, не содержат в своем путевом адресе номер порта коммутатора для возвращения на мост, следовательно, они циркулируют внутри коммутатора до полного прохождения путевой адресации, что приводит к загрузке коммутирующей матрицы [13]. Путевые адреса пакетов каждого вида увеличиваются с каждым вторым пакетом до тех пор, пока не будет достигнуто предельное значение числа пакетов, заданного в конфигурационном файле перед началом тестирования.

Путевые адреса пакетов, поступающих с каждого порта тестирующего устройства, не пересекаются.

Тест считается пройденным, если мост получает все пакеты первого вида. В противном случае выводится сообщение о завершении теста с ошибкой.

Блок-схема нагрузочного теста коммутатора приведена на рис. 3.

 

Рис. 3. Блок-схема нагрузочного теста коммутатора

Fig. 3. Block diagram of the switch load test

 

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

На тестирующем устройстве формируется и отправляется пакет данных, содержащий в своем путевом адресе номер порта (физически замкнутого на loopback кабель), повторяющийся 2 или более раза подряд. Такие пакеты отправляются для каждого порта коммутатора. Тест проверяет обработку ситуации, когда порт занят передачей пакета и на него поступают ещё данные, тем самым создавая очередь. Пока порт не освободится, поступающие новые данные помещаются в приёмный буфер коммутатора. Исключительная ситуация достигается, когда приёмный буфер переполняется [14].

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

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

Блок-схема теста исключительной ситуации приведена на рис. 4.

 

Рис. 4. Блок-схема теста исключительной ситуации

Fig. 4. Block diagram of the exceptional situation test

 

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

Для коммутатора записываются строки таблицы маршрутизации, соответствующие табл. 2.

 

Таблица 2. Строки таблицы маршрутизации

Логический адрес (hex)

Физический порт коммутатора

Примечание

20

1

-

21

2

-

22

3

-

23

4

-

24

5

-

25

6

-

26

7

-

27

8

-

28

9

-

29

10

-

2A

11

-

2B

12

-

2C

1, 2

Широковещательно

2D

3–12

Широковещательно

2E

1, 2

АГМ

2F

3–7

АГМ

30

8–12

АГМ

 

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

Блок-схема теста таблицы маршрутизации коммутатора приведена на рис. 5.

 

Рис. 5. Блок-схема теста таблицы маршрутизации

Fig. 5. Block diagram of the routing table test

 

Главной задачей теста широковещания является проверка способности коммутатора отправлять один пакет данных с нескольких портов одновременно (широковещательно).

На тестирующем устройстве формируется пакет данных с двумя адресами в заголовке: 2d и 2c. Данный пакет после отправки должен достичь коммутатора, затем по первому адресу 2d отправиться на 10 различных портов коммутатора (с 3-го по 12-й). В связи с тем, что эти порты замкнуты на loopback кабели, на коммутатор после этого придет 10 пакетов с адресом 2c в заголовке. Каждый из них отправляется широковещательно в 1-й и 2-й порты коммутатора, которые соединены с тестирующим устройством. Как итог на интерфейсный мост отправляется уже 20 пакетов данных. Если все пакеты были получены, то выводится сообщение об успешном завершении теста, в противном случае выводится сообщение о завершении теста с ошибкой.

 

Рис. 6. Блок-схема теста широковещания

Fig. 6. Block diagram of the broadcast test

 

Блок-схема теста широковещания приведена на рис. 6.

Главной задачей теста АГМ является проверка способности коммутатора при выборе множества портов для передачи данных (широковещательно)  отправлять эти пакеты с порта с наивысшим приоритетом.

Тест включает в себя дополнительную конфигурацию коммутатора в виде задания уровней приоритета для портов. Коммутатор, используемый при тестировании поддерживает 8 уровней приоритета, в связи с чем нет возможности задать свой собственный уровень приоритета для каждого порта (12). Для портов задаются следующие уровни приоритета: для портов 1 и 2 – 1 и 2, соответственно; для портов 3–7 – от 1 до 5, соответственно; для портов 8–12 – от 1 до 5, соответственно.

С интерфейсного моста отправляется тестовый пакет данных с тремя адресами: 2f, 30 и 2e. Пакет данных должен достичь коммутатора, затем по первому адресу отправиться на 5 различных портов коммутатора (с 3-го по 7-й). Однако, так как задана АГМ, то выбирается порт с наивысшим приоритетом, т. е. 7-й. В связи с тем, что данный порт замкнут на loopback кабель, на коммутатор после этого придет 1 пакет, с адресом 30, 2e в заголовке. Аналогично пакет отправляется на 7–12-й порты. Благодаря АГМ выбирается только порт с наивысшим приоритетом. После этого пакет отправляется по адресу 2e на 1-й и 2-й порт, из которых будет выбран 2-й из-за более высокого приоритета. В результате на интерфейсный мост должен прийти единственный пакет данных. В таком случае выводится сообщение об успешном завершении теста. Если пакет не получен или получено несколько пакетов, то выводится сообщение о завершении теста с ошибкой.

Блок-схема теста АГМ приведена на рис. 7.

 

Рис. 7. Блок-схема теста адаптивной групповой маршрутизации

Fig. 7. Block diagram of adaptive group routing test

 

Заключение

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

В дальнейшем методика тестирования будет дополняться новыми проверками, среди которых сейчас можно выделить проверку возможности зеркалирования поступающего и исходящего с устройства трафика [15].

×

Об авторах

Андрей Сергеевич Максютин

АО «Информационные спутниковые системы» имени академика М. Ф. Решетнева»; Сибирский государственный университет науки и технологий имени академика М. Ф. Решетнева

Автор, ответственный за переписку.
Email: ellis1998@yandex.ru

инженер, аспирант кафедры информационно-управляющих систем

Россия, 662972, Железногорск Красноярского края, ул. Ленина, 52; 660037, Красноярск, проспект имени газеты «Красноярский Рабочий», 31

Дмитрий Семенович Казайкин

АО «Информационные спутниковые системы» имени академика М. Ф. Решетнева»

Email: s6202@iss-reshetnev.ru

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

Россия, 662972, Железногорск Красноярского края, ул. Ленина, 52

Дмитрий Валерьевич Дымов

АО «Информационные спутниковые системы» имени академика М. Ф. Решетнева»

Email: dymov@iss-reshetnev.ru

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

Россия, 662972, Железногорск Красноярского края, ул. Ленина, 52

Денис Викторович Ивленков

АО «Информационные спутниковые системы» имени академика М. Ф. Решетнева»

Email: ivlenkovdv@iss-reshetnev.ru

инженер

Россия, 662972, Железногорск Красноярского края, ул. Ленина, 52

Список литературы

  1. Коммутаторы как основа сети передачи данных [Электронный ресурс]. URL: https://www.sekventa.ru/service/sks/aktivnoe-setevoe-oborudovanie.html (дата обращения: 25.12.2021).
  2. Горбунов С. Ф., Гришин В. Ю., Еремеев П. М. Сетевые интерфейсы космических аппаратов: перспективы развития и проблемы внедрения // Наноиндустрия. 2019. № 89. С. 128–130.
  3. ECSS-E-ST-50-12C Rev.1. Space engineering. SpaceWire – Links, nodes, routers and networks. ECSS Secretariat. ESA-ESTEC Requirements & Standards. Division Noordwijk, The Netherlands.
  4. Маршрутизация – принцип работы и таблица маршрутизации [Электронный ресурс]. URL: https://zvondozvon.ru/tehnologii/kompyuternye-seti/marshrutizatsiya (дата обращения: 03.01.2022).
  5. Виды трафика в IP сетях: unicast, broadcast, multicast, anycast. Loopback адреса и интерфейсы [Электронный ресурс]. URL: https://zametkinapolyah.ru/kompyuternye-seti/4-8-vidy-trafika-v-ip-setyax-unicast-broadcast-multicast-anycast-loopback-adresa-i-interfejsy.html#484__broadcast (дата обращения: 03.01.2022).
  6. Калимолдаев М. Н., Тулемисова Е. Алгоритм адаптивной маршрутизации информационного потока сетей интегрального обслуживания // Институт проблем информатики и управления МОН РК. 2013. № 2.
  7. Мосты, интерфейсы и внешние накопители данных [Электронный ресурс]. URL: https://www.ixbt.com/storage/bridges.shtml (дата обращения: 04.01.2022).
  8. Введение петлевого кабеля [Электронный ресурс]. URL: http://ru.fibresplitter.com/ news/introduction-of-loopback-cable-24290794.html (дата обращения: 04.01.2021).
  9. МиТ. Официальный сайт [Электронный ресурс]. URL: http://www.spacewire.ru/mit (дата обращения: 05.01.2022).
  10. Чепрасова А. С., Мамелин Ю. В. Будущее и настоящее СБИС // Молодой ученый. 2016. № 17. С. 79–81.
  11. Бортовые сети космических аппаратов нового поколения [Электронный ресурс]. URL: https://docplayer.com/137755601-Bortovye-seti-kosmicheskih-apparatov-novogo-pokoleniya-na-osnove-setey-tehnologii-spacewire.html (дата обращения: 06.01.2022).
  12. Создание консольного приложения [Электронный ресурс]. URL: https://ci-builder.ru/07/ Index05.htm (дата обращения: 07.01.2022).
  13. Буферы, потоки и двоичные данные [Электронный ресурс]. URL: https://habr.com/ru/ company/ruvds/blog/348970/ (дата обращения: 17.01.2022).
  14. Объяснение зеркалирования портов [Электронный ресурс]. URL: https://community. fs.com/ru/blog/port-mirroring-explained-basis-configuration-and-fa-qs.html (дата обращения: 24.01.2022).
  15. Архитектура и реализация коммутационных матриц современными производителями элементной базы [Электронный ресурс]. URL: http://nano-e.ucoz.ru/publ/publikacii_studentov_ mifi/referaty/arkhitektura_i_realizacija_kommutacionnykh_matric_switch_fabrics_sovremennymi_proizvoditeljami_ehlementnoj_bazy_so/8-1-0-372 (дата обращения: 25.01.2022).

Дополнительные файлы

Доп. файлы
Действие
1. JATS XML
2. Рис 1. Рабочее место тестирования коммутатора SpaceWire

Скачать (76KB)
3. Рис. 2. Блок-схема базового теста коммутатора

Скачать (96KB)
4. Рис. 3. Блок-схема нагрузочного теста коммутатора

Скачать (92KB)
5. Рис. 4. Блок-схема теста исключительной ситуации

Скачать (116KB)
6. Рис. 5. Блок-схема теста таблицы маршрутизации

Скачать (70KB)
7. Рис. 6. Блок-схема теста широковещания

Скачать (79KB)
8. Рис. 7. Блок-схема теста адаптивной групповой маршрутизации

Скачать (79KB)

© Максютин А.С., Казайкин Д.С., Дымов Д.В., Ивленков Д.В., 2022

Creative Commons License
Эта статья доступна по лицензии Creative Commons Attribution 4.0 International License.

Данный сайт использует cookie-файлы

Продолжая использовать наш сайт, вы даете согласие на обработку файлов cookie, которые обеспечивают правильную работу сайта.

О куки-файлах