ТРЕХПОРТОВЫЙ УЗЕЛ СЕТЕВОГО ИНТЕРФЕЙСА
THREE-PORT NODE OF NETWORK INTERFACE

Изобретение относится к вычислительной технике, в частности к кольцевым сетям с последовательной передачей данных, и применяется при создании многокольцевых сетей для измерительно-управляющих систем.
По назначению сетевые интерфейсы (со многими узлами) разделяются на три основных класса: для построения вычислительных систем (Infiniband, Myrinet, SCI), для информационных систем (Ethernet, RPR) и для систем управления (САМАС, Fastbus, VME, SpiceWire). Изобретение относится к третьему классу, который предъявляет особенные требования к внутреннему устройству узлов сетевого интерфейса.
Для создания измерительно-управляющих систем в России применяются интерфейсы со звездообразной топологией (например, SpiceWire - ECSS-E-50-12C. SpaceWire - Links, nodes, routers and networks. - European Cooperation for Space Standardization (ECSS), 31.07.2008) и шинной (например, VME - Versabus Module Europe bus, Стандарт IEEE 1014-1987, МЭК 821), реже кольцевой (устаревший САМАС - САМАС, A modular instrumentation system for data handling. EUR 4100E, 1969). В структуре интерфейса сетей звездобразной топологии заложены дополнительные элементы - коммутаторы, обеспечивающие пересылку пакетов между узлами сети. В шинных и кольцевых интерфейсах присутствуют только узлы без дополнительных коммутаторов.
Наиболее сильное развитие кольцевая топология получила в 1992 году при создании стандарта Scalable Coherent Interface (SCI) (D.B.Gustavson. The Scalable Coherent Interface (SCI) and Related Standards Projects. IEEE Micro, Vol.12, No.1, pp.10-22, February 1992) с параллельной двухбайтовой передачей от узла к узлу. В интерфейсных узлах SCI используется один порт, имеющий вход и выход. Между входом и выходом порта расположен проходной буфер, который обеспечивает непрерывное перемещение пакетов по кольцу с возможностью задержки транзитных пакетов на время отправки собственных пакетов.
В 1998 году под руководством Д.Густавсона был создан проект нового стандарта SerialExpress (David V. James, David В. Gustavson, Balint Fleischer. SerialExpress - A High-Performance Workstation Interconnect. IEEE Micro Vol.18, No 3 (May. 1998), pp.54-65. DOI=http://dx.doi.org/10.1109/40.683105, P2100 SerialExpress - A Scalable Gigabit Serial Bus Draft 0.788, February 18, 1998 SCIzzL, ftp://ftp.SCIzzL.com/u/SCIzzL/P2100/SerExp (Сайт закодирован), К.Э.Эрглис. Интерфейсы открытых систем. Учебный курс. - М., Горячая линия - Телеком, 2000, стр.212). В интерфейсном узле Serial Express были применены два проходных буфера, что позволило отправлять пакеты из портов в двух направлениях по кольцу. Эта возможность привела к созданию живучих колец с передачей пакетов между узлами по двум кольцевым маршрутам - колечкам (в случае топологии кольцо) или одному колечку (топологии цепочка). На этом принципе в 2004 г. в США разработан стандарт RPR ("Resilient Packet Ring IEEE Standard 802.17-2004" June 2004, http://www.ieee802.org/17). Ни проект SerialExpress, ни стандарт Resilient Packet Ring не содержат подробного описания структуры узла с тремя портами.
Наиболее близким прототипом является двухпортовый узел, описанный в американском патенте (№6529518. Method and apparatus for providing a network interface).
Двухпортовый узел не обеспечивает соединение колец в сеть. Для этого необходим трехпортовый узел. С помощью трехпортовых узлов можно создать кольцевые коммутаторы, показанные на Фигуре 1. Такой коммутатор имеет гибридную звездно-кольцевую топологию. Кольцевые коммутаторные структуры могут применяться в системах управления, расположенных на больших площадях.
Изобретение предназначено для соединения узлов в кольцо и колец друг с другом для образования многокольцевой сети и передачи пакетов (Фигура 2).
В трехпортовом узле применяются блоки, предназначенные для работы в кольцевой топологии сети с последовательной передачей битов данных. Изобретение имеет три порта 101, 102, 103, два из которых 101 и 102 предназначены для соединения узлов в кольцо, а третий 103 предназначен для соединения колец связкой 201. Пакеты в кольце перемещаются от узла к узлу по встречным кольцевым маршрутам - колечкам А, 202, и Б, 203, проходя последовательно выход порта одного узла и вход порта другого узла.
Каждый порт трехпортового узла (Фигура 3) имеет один вход и выход. Первый порт 101 имеет вход 301 и выход 302. Второй порт 102 имеет вход 303 и выход 304. Третий порт 103 имеет вход 305 и выход 306.
Для передачи пакетов из прикладных схем узла 307 в трехпортовом узле применяются три однотипные припортовые схемы. В каждой припортовой схеме содержатся:
- индикатор потока битов 308;
- дешифратор адреса 309;
- входной буфер 310;
- генератор свобов 311;
- выходной буфер 312 для пакетов, выдаваемых из прикладных схем узла;
- переключатель между выходными буферами 313,
- ключ-закоротка 314, соединяющий вход с выходом припортовой схемы в случае разрыва связи.
Припортовые схемы первого порта 101 и второго порта 102 отличаются от припортовой схемы третьего порта наличием проходного буфера 315 и переходного буфера 316. Из проходных буферов 315 пакеты, следующие по колечкам 202 и 203, выводятся в первую очередь. Из переходных буферов 316 пакеты, следующие из третьего порта 103, выводятся во вторую очередь.
В припортовых схемах третьего порта 103 находится выходной буфер 317 для пакетов, следующих из первого порта 101, и выходной буфер 318 для пакетов, следующих из второго порта 102.
Очередность выдачи из буферов определяется аппаратным приоритетом буфера. В последнюю очередь выводятся пакеты из буфера 312, связанного с прикладными схемами узла.
В случае любого разрыва кольца пакеты через закоротку припортовых схем 314 направляются по резервному пути. Генератор свобов служит для заполнения свободными символами, состоящими из 32-х битов в кодировке 8/10, канала связи между узлами при последовательной передаче битов.
В случае активности всех трех портов пакеты могут перемещаться от входа в припортовые схемы на выход из узла по трем маршрутам: 1) от входа 301 к выходу 304 или 306, 2) от входа 303 к выходу 302 или 306, 3) от входа 305 к выходу 302 или 304. Например, попадая в узел через вход 301 первого порта 101 в соответствующую припортовую схему, пакет проходит через индикатор потока битов 308 в дешифратор адреса 309, где анализируется адреса пакета. Если пакет предназначен другому узлу в кольце, то он перемещается в проходной буфер 315, откуда через переключатель 313 выдается на выход 304 второго порта 102, либо в выходной буфер 317 для вывода через третий порт 103. Если же пакет адресован этому узлу, то через дешифратор адреса 309 пакет перемещается во входную буферную память узла 310, откуда поступает в прикладные схемы 307 для дальнейшей обработки. В качестве прикладных схем могут выступать датчики, с которых снимается информация об управляемом объекте, и актуаторы, исполнительные механизмы.
Аналогично при получении пакета на вход 303 второго порта 102 пакет может быть перемещен либо во входной буфер 310, либо на выход из узла через проходной буфер 315 первого порта 101, либо в выходной буфер 318 третьего порта 103.
При получении пакета на вход 305 третьего порта 103 пакет через дешифратор адреса 309 может быть перенаправлен на выход 302 первого порта 101 или на выход 304 второго порта 102 через переходные буфера 316, либо через входной буфер 310 в прикладные схемы 307.
В режиме разрыва соединения на любом из трех портов 101, 102 или 103, индикатор потока битов 308 указывает ключу-закоротке 314 соединить соответствующий выход порта со входом для замыкания пути передачи пакетов внутри узла.
При разрыве связи на первом порту 101 все пакеты, находящиеся в буферах 312, 315, 316 порта 101, выводятся в приоритетном порядке с помощью переключателя 313 через дешифратор адреса 309 в проходной буфер 315 второго порта 102. Аналогично при разрыве связи на втором порту 102 пакеты из буферов 312, 315, 316 выводятся в проходной буфер 315 первого порта 101.
При разрыве связи на третьем порту 103 ключ-закоротка 314 замыкается, и все пакеты, находящиеся в выходных буферах 312, 317, 318, перемещаются в приоритетном порядке в выходные буфера 316 первого 101 или второго 102 порта.
Во время работы узла прикладные схемы 307 имеют возможность получить или отправить пакеты информации из системы через три порта 101, 102 или 103. Для этого в каждом из трех портов предусмотрены по одному входному 310 и выходному буферу 312. Размер этих буферов должен быть достаточен для сохранения всех данных одного пакета максимального размера и необходимых полей заголовка этого пакета.
Третий порт 103 в трехпортовом узле предназначен для соединения соседних колец. Связки трехпортовых узлов (Фигура 4) позволяют построить многокольцевую сеть для измерительно-управляющей системы. Обмен данными в измерительно-управляющих системах характеризуется приоритетом пакетов, следующих по каналам сети, перед пакетами, которые подготовлены к отправке в узлах сети. Время передачи пакета с данными о команде или событии в таких сетях должно быть в несколько раз меньше минимально допустимого времени реакции измерительно управляющей системы. Поэтому пакеты, перемещаемые по кольцу через проходные буфера 315 и входящие в кольцо через переходные буфера 316, отправляются ранее пакетов, помещенных в выходной буфер 312 из прикладных схем узла 307.
Вывод пакета из третьего порта 103 в присоединенное кольцо осуществляется из выходных буферов 312, 317, 318. Отличие припортовых схем третьего порта от схем двух других портов заключается в ином порядке вывода пакетов из этих выходных буферов: сначала выдаются пакеты из буфера 317 или 318, а затем в случае отсутствия пакетов в 317 и 318 из буфера 312. Выдача пакетов, помещенных в выходные буфера 317 и 318, осуществляется поочередно.
Пакет, выданный через выход 306 одного узла связки, попадает в узел соседнего кольца и, пройдя проверку в дешифраторе адреса 309, передается либо во входной буфер 310, либо в один из переходных буферов 316.