Development of a methodology for testing SpaceWire network switches

Cover Page

Cite item

Full Text

Abstract

The paper presents the main points of the developed methodology for testing SpaceWire network switches. The main objectives of testing this equipment are outlined. A block diagram of the workplace is provided, as well as a list of equipment with its brief description for conducting tests. To conduct the tests, special software was developed, implemented in the form of a console user application. The methodology describes in detail each step of working with this application. This article describes the algorithms that are implemented when working with the application. These algorithms are presented in the form of flowcharts, as well as in the form of a text description. Two groups are distinguished among the algorithms: basic and advanced tests. For the first group, we can distinguish: a basic test - to check the principle of removing the header in accordance with the path addressing; a load test - to check the correct operation of the switch at high load of the switching matrix, as well as checking the deletion of incoming packets that do not contain addresses in their header to be sent to one of the switch ports; an exceptional situation test is used to check the correct operation of the switch when the receiving buffer is loaded with incoming data. For the second group, we can distinguish: the routing table test - to check the correctness of the processing by the switch of the rows recorded in the routing table; the broadcast test – to check the ability of the switch to send one data packet from several ports at the same time; the adaptive group routing test – to check the ability of the switch when selecting multiple ports for data transmission to send them from the port having the highest priority. All the indicated algorithms were tested on a radiation-resistant fault-tolerant ultra-large integrated circuit of a programmable master switch of the 3rd level. In conclusion, further plans for the development of the methodology are outlined.

Full Text

Введение

Сетевой коммутатор предназначен для объединения различных устройств в единый сегмент сети, позволяя данным устройствам осуществлять информационное взаимодействие. Коммутатор при помощи таблицы маршрутизации определяет, какому именно устройству адресованы данные, и посылает их непосредственно адресату [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].

×

About the authors

Andrey S. Maksyutin

JSC “Academician M. F. Reshetnev “Information Satellite Systems”; Reshetnev Siberian State University of Science and Technology

Author for correspondence.
Email: ellis1998@yandex.ru

Engineer, postgraduate student of the Department of Information and Control Systems

Russian Federation, 52, Lenin St., Zheleznogorsk, Krasnoyarsk region, 662972; 31, Krasnoyarskii rabochii prospekt, Krasnoyarsk, 660037

Dmitry S. Kazaykin

JSC “Academician M. F. Reshetnev “Information Satellite Systems”

Email: s6202@iss-reshetnev.ru

Head of the Group of the Basic Center for System Design of Onboard Spacecraft Equipment

Russian Federation, 52, Lenin St., Zheleznogorsk, Krasnoyarsk region, 662972

Dmitry V. Dymov

JSC “Academician M. F. Reshetnev “Information Satellite Systems”

Email: dymov@iss-reshetnev.ru

Head of the Basic System Design Center for Onboard Spacecraft Equipment

Russian Federation, 52, Lenin St., Zheleznogorsk, Krasnoyarsk region, 662972

Denis V. Ivlenkov

JSC “Academician M. F. Reshetnev “Information Satellite Systems”

Email: ivlenkovdv@iss-reshetnev.ru

Engineer

Russian Federation, 52, Lenin St., Zheleznogorsk, Krasnoyarsk region, 662972

References

  1. Kommutatory kak osnova seti peredachi dannyh [Switches as the basis of a data transmission network] (In Russ.). Available at: https://www.sekventa.ru/service/sks/aktivnoe-setevoe-oborudovanie.html (accessed: 25.12.2021).
  2. Gorbunov S. F., Grishin V. Yu., Eremeev P. M. [Network interfaces of spacecraft: prospects of development and problems of implementation]. Nanoindustriya. 2019, No. 89, P. 128–130 (In Russ.).
  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. Marshrutizaciya – princip raboty i tablica marshrutizacii [Routing - the principle of operation and the routing table] (In Russ.). Available at: https://zvondozvon.ru/tehnologii/kompyuternye-seti/marshrutizatsiya (accessed: 03.01.2022).
  5. Vidy trafika v IP setyah: unicast, broadcast, multicast, anycast. Loopback adresa i interfejsy [Types of traffic in IP networks: unicast, broadcast, multicast, unicast. Loopback addresses and interfaces] (In Russ). Available at: https://zametkinapolyah.ru/kompyuternye-seti/4-8-vidy-trafika-v-ip-setyax-unicast-broadcast-multicast-anycast-loopback-adresa-i-interfejsy.html#484__broadcast (accessed: 03.01.2022).
  6. Kalimoldaev M. N., Tulemisova G. E. [Algorithm of adaptive routing of information flow of integrated service networks]. Institut problem informatiki i upravleniya MON RK. Kazakhstan, 2013. No. 2. (In Russ.).
  7. Mosty, interfejsy i vneshnie nakopiteli dannyh [Bridges, interfaces and external data storage] (In Russ.). Available at: https://www.ixbt.com/storage/bridges.shtml (accessed: 04.01.2022).
  8. Vvedenie petlevogo kabelja [Introduction of loop cable] (In Russ.). Available at: http://ru. fibresplitter.com/news/introduction-of-loopback-cable-24290794.html (accessed: 04.01.2022).
  9. MiT. Oficial’nyj sajt [MiT. Official website] (In Russ.). Available at: http://www. spacewire.ru/mit (accessed: 05.01.2022).
  10. Cheprasova A. S., Mamelin Yu. V. [The future and present of FPGA]. Molodoy uchenyy. 2016, No. 17, P. 79–81 (In Russ.).
  11. Bortovye seti kosmicheskih apparatov novogo pokoleniya [Onboard networks of new generation spacecraft] (In Russ). Available at: https://docplayer.com/137755601-Bortovye-seti-kosmicheskih-apparatov-novogo-pokoleniya-na-osnove-setey-tehnologii-spacewire.html (accessed: 06.01.2022).
  12. Sozdanie konsol’nogo prilozheniya [Creating a console application] (In Russ.). Available at: https://ci-builder.ru/07/Index05.htm (accessed: 07.01.2022).
  13. Bufery, potoki i dvoichnye dannye [Buffers, streams, and binary data] (In Russ.). Available at: https://ci-builder.ru/07/Index05.htm (accessed: 17.01.2022).
  14. Ob”yasnenie zerkalirovaniya portov [Explanation of port mirroring] (In Russ.). Available at: https://ci-builder.ru/07/Index05.htm (accessed: 24.01.2022).
  15. Arhitektura i realizaciya kommutacionnyh matric sovremennymi proizvoditelyami elementnoj bazy [Architecture and implementation of switching matrices by modern manufacturers of the element base] (In Russ). Available at: https://ci-builder.ru/07/Index05.htm (accessed: 25.01.2022).

Supplementary files

Supplementary Files
Action
1. JATS XML

Copyright (c) 2022 Maksyutin A.S., Kazaykin D.S., Dymov D.V., Ivlenkov D.V.

Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License.

This website uses cookies

You consent to our cookies if you continue to use our website.

About Cookies