RU2610697C1 - Method and device for retransmitting data via user datagram protocol - Google Patents

Method and device for retransmitting data via user datagram protocol Download PDF

Info

Publication number
RU2610697C1
RU2610697C1 RU2015155801A RU2015155801A RU2610697C1 RU 2610697 C1 RU2610697 C1 RU 2610697C1 RU 2015155801 A RU2015155801 A RU 2015155801A RU 2015155801 A RU2015155801 A RU 2015155801A RU 2610697 C1 RU2610697 C1 RU 2610697C1
Authority
RU
Russia
Prior art keywords
unit
block
payload
data
datagram
Prior art date
Application number
RU2015155801A
Other languages
Russian (ru)
Inventor
Евгений Владимирович Талдыкин
Евгений Викторович Непочатых
Максим Викторович Телегин
Константин Сергеевич Воробьев
Руслан Сергеевич Слободин
Original Assignee
Федеральное государственное унитарное предприятие "18 Центральный научно-исследовательский институт" Министерства обороны Российской Федерации
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Федеральное государственное унитарное предприятие "18 Центральный научно-исследовательский институт" Министерства обороны Российской Федерации filed Critical Федеральное государственное унитарное предприятие "18 Центральный научно-исследовательский институт" Министерства обороны Российской Федерации
Priority to RU2015155801A priority Critical patent/RU2610697C1/en
Application granted granted Critical
Publication of RU2610697C1 publication Critical patent/RU2610697C1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/04Arrangements for selecting an address in a digital store using a sequential addressing device, e.g. shift register, counter

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Communication Control (AREA)

Abstract

FIELD: physics, communications.
SUBSTANCE: invention relates to digital communication systems, and specifically to methods of retransmitting data via a user datagram protocol (UDP). Method comprises comparing a current user datagram with a previous datagram. In case of detecting a loss, a mechanism for re-requesting the lost datagram is launched, which is executed until the lost datagram is obtained. In the device, a payload processing unit includes a lost datagram read and search control unit, a re-request timer, a lost datagram search unit, a unit for reading useful data from a useful data storage unit, a recorded/read datagram counter, an overhead information recording unit, a payload data receiving unit, a useful data recording unit, a FIFO unit, a datagram read and search multiplexer, and the payload processing unit of the transmission unit includes an error packet forming unit, a re-request system control unit, a processed data counter, a transmitted data counter, a useful data recording unit, a useful data multiplexing unit, a useful data read unit.
EFFECT: invention reduces data loss while maintaining high speed characteristics.
3 cl, 8 dwg, 2 tbl

Description

Область техники, к которой относится изобретениеFIELD OF THE INVENTION

Данное изобретение относится к области систем связи, а именно к методам повторной передачи данных по протоколу пользовательских дейтаграмм (UDP).This invention relates to the field of communication systems, and in particular to methods for retransmitting data using the user datagram protocol (UDP).

Уровень техникиState of the art

Известно устройство и способ для передачи/приема битового потока в сети (патент RU 2224377 С2), которое осуществляет стабильную передачу битового потока видеоданных посредством использования двух логических каналов.A device and method for transmitting / receiving a bit stream in a network (patent RU 2224377 C2) is known, which provides stable transmission of a video bit stream by using two logical channels.

Недостатком изобретения является то, что при использовании одного из логических каналов для передачи сообщений посредством протокола управления передачей (TCP), при отправке сообщений в канале, подверженном влиянию помех и приводящем к большому количеству ошибок или потерь пакетов, приведет к зависанию канала, так как отправка других сообщений обрабатывается с более низким приоритетом. Кроме этого потеря служебной информации передающейся по UDP каналу о пакете с полезной нагрузкой, приведет к дублированию этого пакета с полезной нагрузкой.The disadvantage of the invention is that when using one of the logical channels for transmitting messages using the Transmission Control Protocol (TCP), when sending messages on a channel subject to interference and leading to a large number of errors or packet losses, the channel will freeze, since sending other messages are processed with lower priority. In addition, the loss of overhead information transmitted over the UDP channel about the packet with the payload will lead to duplication of this packet with the payload.

Также известны способ и устройство для уменьшения влияний импульсного шума на передачу пакетов данных (патент RU 2449479 С2). Данное изобретение предназначено для уменьшения влияния импульсного шума на передачу пакетов данных по линии связи. Данное изобретение состоит из: блока повторной передачи пакетов данных по линии связи, блока запоминания недавно переданных пакетов данных, блока приема запроса повторной передачи для потерянного пакета данных, блока формирования таймаутов. Количество повторно запрашиваемых пакетов зависит от максимальной длительности задержки перемежения физического уровня линии связи, от битовой скорости передачи данных и размера передаваемого пакета.Also known is a method and apparatus for reducing the effects of impulse noise on the transmission of data packets (patent RU 2449479 C2). The present invention is intended to reduce the effect of impulse noise on the transmission of data packets over a communication line. This invention consists of: a block for retransmission of data packets over a communication line, a block for storing recently transmitted data packets, a block for receiving a request for retransmission for a lost data packet, a block for generating timeouts. The number of re-requested packets depends on the maximum duration of the interleaving delay of the physical layer of the communication line, on the bit rate of the data transfer and the size of the transmitted packet.

Недостатком данного изобретения является отсутствие механизма обеспечения процесса упорядочивания пакетов, что при передаче информации мультимедийного характера будет приводить к видимым помехам. Кроме этого, устройство не осуществляет управление памятью для переданных пакетов, что снижает достоверность перезапрашиваемых данных при полном заполнении средства запоминания переданных пакетов.The disadvantage of this invention is the lack of a mechanism for ensuring the process of packet ordering, which, when transmitting multimedia information, will lead to visible interference. In addition, the device does not carry out memory management for the transmitted packets, which reduces the reliability of the requested data when the storage means of the transmitted packets are full.

Наиболее близким по сущности к заявленному способу повторной передачи данных, является известный способ, изложенный в описании к патенту на изобретение «Устройство и способ для компенсации потери пакетов в режиме передачи данных по протоколу пользовательских дейтаграмм» (патент RU 2501172 С2). Способ компенсации потери пакетов в режиме передачи данных по протоколу UDP состоит из следующих шагов: запуск процесса компенсации потери пакета при обнаружении утраты пакета в группе полученных пакетов данных; запуск первого счетчика времени ожидания; если по истечении времени ожидания первого счетчика потерянный пакет так и не был получен, то информация о потерянном пакете отсылается отправителю, после чего выполняется запуск второго счетчика времени ожидания и, если потерянный пакет будет получен прежде, чем истечет время ожидания по второму счетчику, то потерянный пакет будет вставлен на соответствующую позицию в группе полученных пакетов данных и на этом данный процесс компенсации потери пакета завершается, вместе с тем при обнаружении потери еще одного пакета процесс компенсации потери пакета запускается заново.The closest in essence to the claimed method of data retransmission, is the known method described in the description of the patent for the invention "Device and method for compensating for packet loss in data transfer mode according to the protocol of user datagrams" (patent RU 2501172 C2). The method of compensating for packet loss in the UDP data transfer mode consists of the following steps: starting the process of compensating for packet loss when packet loss is detected in the group of received data packets; start of the first timeout counter; if after the waiting time of the first counter the lost packet was not received, then information about the lost packet is sent to the sender, after which the second counter of the waiting time is launched and if the lost packet is received before the waiting time on the second counter expires, then the lost the packet will be inserted at the appropriate position in the group of received data packets and this process of compensation for packet loss is completed, however, upon detection of the loss of another packet, the compensation process and packet loss starts again.

Недостатком данного способа является то, что при ненулевом значении коэффициента потерь и истечении второго счетчика процесс компенсации потерянного пакета прекращается. Это приводит к потере информации, что является неприемлемым для многих систем связи.The disadvantage of this method is that with a non-zero value of the loss coefficient and the expiration of the second counter, the process of compensating for the lost packet stops. This leads to loss of information, which is unacceptable for many communication systems.

Наиболее близким по сущности к заявленному устройству передачи данных является устройство, изложенное в описании к патенту на изобретение «Устройство и способ для компенсации потери пакетов в режиме передачи данных по протоколу пользовательских дейтаграмм» (патент RU 2501172 С2). Устройство для компенсации потери пакетов в режиме передачи данных по протоколу UDP (патент RU 2501172 С2) состоит из блока обнаружения и блока компенсации потерь пакетов, при этом: блок обнаружения при обнаружении потери пакета в полученной группе пакетов данных приводит в действие первый модуль блока компенсации потерь пакетов, который служит для запуска счетчика ожидания; блок компенсации потерь пакетов включает в себя следующее: первый модуль запуска счетчика ожидания, предназначенный для запуска первого счетчика времени ожидания; первый модуль определения приема потерянного пакета, который определяет, был ли получен потерянный пакет во время действия первого счетчика ожидания, и при неполучении пакета запускает отчетный модуль для предоставления информации о потерянном пакете; отчетный модуль для предоставления информации о потерянном пакете, предназначенный для предоставления отправителю отчета о потерянном пакете и для запуска второго модуля запуска счетчика ожидания; второй модуль запуска счетчика ожидания, предназначенный для запуска второго счетчика времени ожидания; второй модуль определения приема потерянного пакета, который определяет, был ли получен потерянный пакет во время действия второго счетчика ожидания, и при обнаружении полученного пакета запускает модуль для вставки потерянного пакета, в противном случае он запускает блок обнаружения; а также модуль для вставки потерянного пакета, который используется для вставки потерянного пакета на соответствующее место в группе полученных пакетов данных.The closest in essence to the claimed data transmission device is the device described in the description of the patent for the invention "Device and method for compensating for packet loss in the data transfer mode according to the user datagram protocol" (patent RU 2501172 C2). A device for compensating packet loss in a data transmission mode over UDP protocol (patent RU 2501172 C2) consists of a detection unit and a packet loss compensation unit, wherein: the detection unit, upon detecting packet loss in the received group of data packets, activates the first module of the loss compensation unit packets, which serves to start the standby counter; the packet loss compensation unit includes the following: a first standby counter start module for starting a first standby counter; the first module for determining the reception of the lost packet, which determines whether the lost packet was received during the first standby counter, and if the packet is not received, it starts the reporting module to provide information about the lost packet; a reporting module for providing information about the lost packet, intended to provide the sender with a report on the lost packet and to start the second module for starting the wait counter; a second standby counter start module for starting a second standby counter; the second module for determining the reception of the lost packet, which determines whether the lost packet was received during the action of the second standby counter, and upon detection of the received packet starts the module to insert the lost packet, otherwise it starts the detection unit; and also a module for inserting a lost packet, which is used to insert a lost packet at an appropriate place in the group of received data packets.

Недостатком данного устройства является отсутствие механизма обработки ошибок при невыполнении компенсации, возникающих при ненулевом значении коэффициента потерь и истечении второго счетчика ожидания, это приводит к потере информации, что является неприемлемым для ряда систем связи.The disadvantage of this device is the lack of a mechanism for processing errors in case of failure to compensate for non-zero loss factors and the expiration of the second wait counter, this leads to loss of information, which is unacceptable for a number of communication systems.

Сведения, раскрывающие сущность изобретенияSummary of the invention

Целью изобретения является максимальное уменьшение потерь данных при сохранении высоких скоростных характеристик.The aim of the invention is to minimize data loss while maintaining high speed characteristics.

Поставленная цель достигается тем, что в способ повторной передачи данных по протоколу пользовательских дейтаграмм (UDP) согласно изобретению введены следующие дополнительные шаги: данные пришедшие от передатчика записывают в блок хранения полезных данных последовательно по мере прихода, параллельно осуществляют чтение и детектируют факт пропуска пакета, формируют команду перезапроса, отправляют команду на формирование дейтаграммы повторной передачи блоку обработки управляющих команд, отправляют сформированную команду перезапроса блоку передачи на повторную отправку соответствующей дейтаграммы, при приеме блоком передачи дейтаграммы осуществляют повторную передачу запрашиваемой дейтаграммы, при получении соответствующей дейтаграммы продолжают осуществлять чтение из памяти при помощи блока чтения полезных данных и детектирование потерянных дейтаграмм. Согласно изобретению факт потери дейтаграммы определяют по отсутствию метки о приходе следующей дейтаграммы в блоке хранения служебной информации на момент его чтения и отправляют команду блоку управления чтением и поиском потерянных дейтаграмм, при получении данной команды и ненулевом значении таймера запускают таймер перезапроса и осуществляют поиск потерянных дейтаграмм, при приходе потерянной дейтаграммы, сбрасывают таймер и продолжают чтение памяти и детектирование отсутствия следующей дейтаграммы, в ином случае при достижении таймером максимального значения осуществляют поиск потерянных дейтаграмм, перезапускают таймер перезапроса и формируют перезапрос.This goal is achieved by the fact that the following additional steps are introduced into the method of retransmitting data using the user datagram protocol (UDP) according to the invention: the data received from the transmitter is written to the storage block of useful data sequentially as it arrives, it is read in parallel and the packet is missed, form re-request command, send a command to form a retransmission datagram to the control unit processing unit, send the generated re-request command to the transmission unit for re-sending the corresponding datagram, upon receipt of the datagram by the transmission unit, the requested datagram is retransmitted, upon receipt of the corresponding datagram, they continue to read from memory using the read data block and the detection of lost datagrams. According to the invention, the fact of losing a datagram is determined by the absence of a label about the arrival of the next datagram in the service information storage unit at the time of its reading and sending a command to the control unit for reading and searching for lost datagrams, upon receipt of this command and a non-zero value of the timer, a restart timer is performed and a search for lost datagrams is performed, when a lost datagram arrives, reset the timer and continue reading memory and detecting the absence of the next datagram, otherwise, if and a timer maximum value is searched lost datagrams restart timer requery and form retries.

Для поиска потерянных дейтаграмм формируют блок хранения полезных данных и блок хранения служебной информации. Данные записывают в блок хранения полезных данных по адресу, являющимся производным от номера дейтаграммы. При записи устанавливают 1 в блоке хранения служебной информации по адресу, являющимся производным от номера дейтаграммы. При чтении устанавливают 0 в блоке хранения служебной информации по адресу, являющимся производным от номера дейтаграммы. При записи счетчик записанных/прочитанных дейтаграмм увеличивают на 1, а при чтении уменьшают на 1. Поиск потерянных дейтаграмм осуществляют в интервале от индекса последней прочитанной дейтаграммы до индекса последней записанной дейтаграммы в блоке хранения служебной информации. Индексы найденных потерянных дейтаграмм помещают в промежуточный буфер FIFO. При наличии данных в буфере FIFO считывают индекс и формируют команду перезапроса с соответствующим индексом. При отправке данных получателю, значение верхней границы равняется номеру отправленной дейтаграммы. Отправляемые данные параллельно записывают в память перезапроса. При приеме пакета перезапроса сравнивают значение полученного индекса с нижней границей принятых дейтаграмм, если значение больше, то отправляют запрашиваемый пакет, в противном случае действия не осуществляют. Данные из блока хранения полезных данных считываются по адресу, являющимся производным от индекса дейтаграммы. Каждый раз при прочтении N дейтаграмм блок приема отправляет блоку передачи пакет увеличения нижней границы, значение нижней границы равняется предыдущее значение индекса +N.To search for lost datagrams, a payload storage unit and an overhead information storage unit are formed. Data is written to the storage block of useful data at an address that is derived from the datagram number. When recording, set 1 in the service information storage unit at an address that is derived from the datagram number. When reading, set 0 in the service information storage unit at the address that is derived from the datagram number. When writing, the counter of recorded / read datagrams is increased by 1, and when reading is reduced by 1. The search for lost datagrams is carried out in the interval from the index of the last read datagram to the index of the last recorded datagram in the service information storage unit. The indices of the found lost datagrams are placed in the intermediate FIFO buffer. If there is data in the FIFO buffer, the index is read and a reboot command is generated with the corresponding index. When sending data to the recipient, the upper bound value is equal to the number of the sent datagram. Sent data is written in parallel to the flash memory. Upon receipt of the re-request packet, the value of the obtained index is compared with the lower bound of the received datagrams; if the value is greater, the requested packet is sent, otherwise, no action is taken. Data from the payload storage unit is read at an address derived from the datagram index. Each time when reading N datagrams, the receiving unit sends a transmission packet to increase the lower bound to the transmitting block, the lower bound value is equal to the previous index value + N.

Поставленная цель достигается тем, что в устройство повторной передачи данных по протоколу пользовательских дейтаграмм согласно изобретению введены блок приема управляющих команд, блок формирования пакета, блок мультиплексирования передаваемых пакетов, блок передачи содержит блок UDP обработки, блок обработки управляющих команд, блок прикладного уровня, блок обработки полезной нагрузки, блок хранения полезных данных, блок обработки управляющих команд содержит блок отправки управляющих команд, блок приема управляющих команд, блок мультиплексирования управляющих пакетов, блок демультиплексирования управляющих пакетов, при этом первый вход блока UDP обработки соединен со вторым выходом блока обработки управляющих команд, второй выход блока UDP обработки соединен с первым входом блока обработки управляющих команд, третий выход соединен с третьим входом блока обработки полезной нагрузки, третий выход блока обработки управляющих команд соединен с первым входом блока прикладного уровня, четвертый вход блока обработки управляющих команд соединен со вторым выходом блока прикладного уровня, пятый вход блока обработки управляющих команд соединен с шестым выходом блока обработки полезной нагрузки, шестой вход блока обработки управляющих команд соединен с седьмым выходом блока обработки полезной нагрузки, третий выход блока прикладного уровня соединен с первым входом блока обработки полезной нагрузки, четвертый вход блока прикладного уровня соединен со вторым выходом блока обработки полезной нагрузки, второй выход блока хранения служебной информации соединен с четвертым входом блока обработки полезной нагрузки, третий выход блока хранения служебной информации соединен с десятым входом блока обработки полезной нагрузки, первый вход блока хранения служебной информации соединен с пятым выходом блока обработки полезной нагрузки, первый вход блока хранения полезных данных соединен с восьмым выходом блока обработки полезной нагрузки, второй выход блока хранения полезных данных соединен с девятым входом блока обработки полезной нагрузки, в блоке обработки управляющих команд блока приема первый выход блока обработки управляющих команд соединен с первым входом блока приема управляющих команд, второй выход блока приема управляющих команд соединен с третьим входом блока обработки управляющих команд, второй вход блока обработки управляющих команд соединен со вторым выходом блока формирования пакета, первый вход блока формирования пакета соединен с первым выходом блока мультиплексирования передаваемых пакетов, второй, третий и четвертый входы блока мультиплексирования передаваемых пакетов соединены с четвертым, пятым и шестым выходами блока обработки управляющих команд соответственно, в блоке передачи первый вход блока UDP обработки соединен с первым выходом блока обработки управляющих команд, второй выход блока UDP обработки соединен со вторым входом блока обработки управляющих команд, третий вход блока UDP обработки соединен с третьим выходом блока обработки полезной нагрузки, шестой выход блока обработки управляющих команд соединен с первым входом блока прикладного уровня, пятый вход блока обработки управляющих команд соединен со вторым выходом блока прикладного уровня, третий выход блока обработки управляющих команд соединен с первым входом блока обработки полезной нагрузки, четвертый вход блока обработки управляющих команд соединен со вторым выходом блока обработки полезной нагрузки, третий выход блока прикладного уровня соединен с шестым входом блока обработки полезной нагрузки, первый выход блока хранения полезных данных соединен с четвертым входом блока обработки полезной нагрузки, второй вход блока хранения полезных данных соединен с пятым выходом блока обработки полезной нагрузки, в блоке обработки управляющих команд блока передачи первый выход блока отправки управляющих команд соединен с первым входом блока обработки управляющих команд, второй вход блока отправки управляющих команд соединен с первым выходом блока мультиплексирования управляющих пакетов, второй и третий входы соединены с четвертым и пятым выходами блока обработки управляющих команд соответственно, первый вход блока приема управляющих команд соединен со вторым выходом блока обработки управляющих команд, второй выход блока приема управляющих команд соединен с первым входом блока демультиплексирования управляющих пакетов, второй и третий выходы блока приема управляющих команд соединены с шестым и третьим входами блока обработки управляющих команд соответственно.This goal is achieved by the fact that in the data retransmission device according to the user datagram protocol according to the invention, a control command receiving unit, a packet forming unit, a transmitted packet multiplexing unit, a transmission unit include a UDP processing unit, a control unit processing unit, an application layer unit, a processing unit payload, payload storage unit, control command processing unit contains a control command sending unit, control command receiving unit, mule block control packet typing, control packet demultiplexing unit, wherein the first input of the UDP processing unit is connected to the second output of the control command processing unit, the second output of the UDP processing unit is connected to the first input of the control command processing unit, the third output is connected to the third input of the payload processing unit, the third output of the control command processing unit is connected to the first input of the application level unit, the fourth input of the control command processing unit is connected to the second output of the unit level, the fifth input of the control command processing unit is connected to the sixth output of the payload processing unit, the sixth input of the control command processing unit is connected to the seventh output of the payload processing unit, the third output of the application level unit is connected to the first input of the payload processing unit, the fourth input of the block the application layer is connected to the second output of the payload processing unit, the second output of the service information storage unit is connected to the fourth input of the payload processing unit load, the third output of the service information storage unit is connected to the tenth input of the payload processing unit, the first input of the service information storage unit is connected to the fifth output of the payload processing unit, the first input of the payload storage unit is connected to the eighth output of the payload processing unit, the second output of the block payload storage is connected to the ninth input of the payload processing unit, in the control unit processing unit of the receiving unit, the first output of the control unit processing unit is is single with the first input of the control command receiving unit, the second output of the control command receiving unit is connected to the third input of the control command processing unit, the second input of the control command processing unit is connected to the second output of the packet forming unit, the first input of the packet forming unit is connected to the first output of the transmit multiplexing unit packets, the second, third and fourth inputs of the transmitted packet multiplexing unit are connected to the fourth, fifth and sixth outputs of the control command processing unit e, respectively, in the transmission block, the first input of the UDP processing unit is connected to the first output of the control command processing unit, the second output of the UDP processing unit is connected to the second input of the control command processing unit, the third input of the UDP processing unit is connected to the third output of the payload processing unit, sixth output the control command processing unit is connected to the first input of the application level unit, the fifth input of the control command processing unit is connected to the second output of the application level unit, the third output of the processing unit control commands is connected to the first input of the payload processing unit, the fourth input of the control processing unit is connected to the second output of the payload processing unit, the third output of the application layer unit is connected to the sixth input of the payload processing unit, the first output of the payload storage unit is connected to the fourth input the payload processing unit, the second input of the payload storage unit is connected to the fifth output of the payload processing unit, in the control command processing unit b transmission lock, the first output of the control command sending unit is connected to the first input of the control command processing unit, the second input of the control command sending unit is connected to the first output of the control packet multiplexing unit, the second and third inputs are connected to the fourth and fifth outputs of the control command processing unit, respectively, the first input the control command receiving unit is connected to the second output of the control command processing unit, the second output of the control command receiving unit is connected to the first input of the control unit emultiplexing control packets, the second and third outputs of the control command receiving unit are connected to the sixth and third inputs of the control command processing unit, respectively.

Согласно изобретению в устройстве повторной передачи данных по протоколу пользовательских дейтаграмм блок обработки полезной нагрузки блока приема состоит из блока FIFO, таймера перезапроса, блока приема данных полезной нагрузки, блока записи полезных данных, блока записи служебной информации, блока управления чтением и поиском потерянных дейтаграмм, блока поиска потерянных дейтаграмм, блока чтения полезных данных, мультиплексора чтения и поиска дейтаграмм, счетчика записанных/прочитанных дейтаграмм, блок обработки полезной нагрузки блока передачи включает в себя счетчик обработанных данных, счетчик переданных данных, блок формирования пакета ошибки, блок записи полезных данных, блок чтения полезных данных, блок мультиплексирования полезных данных, блок управления системой перезапроса, при этом третий выход блока обработки полезной нагрузки блока приема соединен с первым входом блока приема данных полезной нагрузки, второй выход блока приема данных полезной нагрузки соединен с первым входом блока записи служебной информации, третий выход блока приема данных полезной нагрузки соединен с первым входом блока записи полезных данных, четвертый вход блока приема полезной нагрузки соединен с десятым выходом блока обработки полезной нагрузки блока приема, второй выход блока записи полезных данных соединен с восьмым входом блока обработки полезной нагрузки, второй выход блока записи служебной информации соединен с первым входом счетчика записанных/прочитанных дейтаграмм, третий выход блока записи служебной информации в блоке хранения служебной информации соединен с пятым входом блока обработки полезной нагрузки, второй выход счетчика записанных/прочитанных дейтаграмм соединен с девятым входом блока управления чтением и поиском потерянных дейтаграмм, третий вход счетчика записанных/прочитанных дейтаграмм соединен с первым выходом блока чтения полезных данных, второй выход блока чтения полезных данных соединен с восьмым входом блока управления чтением и поиском потерянных дейтаграмм, третий вход блока чтения полезных данных соединен с седьмым выходом блока управления чтением и поиском потерянных дейтаграмм, четвертый вход блока чтения полезных данных соединен с первым выходом мультиплексора чтения и поиска дейтаграмм, пятый выход блока чтения полезных данных из блока хранения полезных данных соединен с седьмым входом блока обработки полезной нагрузки, шестой выход блока чтения полезных данных соединен с девятым входом блока обработки полезной нагрузки, первый выход блока поиска потерянных дейтаграмм соединен с пятым входом блока управления чтением и поиском потерянных дейтаграмм, второй вход блока поиска потерянных дейтаграмм соединен с четвертым выходом блока управления чтением и поиском потерянных дейтаграмм, третий вход блока поиска потерянных дейтаграмм соединен с третьим выходом мультиплексора чтения и поиска дейтаграмм, второй вход мультиплексора чтения и поиска дейтаграмм соединен с шестым выходом блока управления чтением и поиском потерянных дейтаграмм, четвертый вход мультиплексора чтения и поиска дейтаграмм соединен с четвертым выходом блока обработки полезной нагрузки, первый выход блока управления чтением и поиском потерянных дейтаграмм соединен со вторым входом блока обработки полезной нагрузки, второй выход блока управления чтением и поиском потерянных дейтаграмм соединен с первым входом блока FIFO, третий вход блока управления чтением и поиском потерянных дейтаграмм соединен с первым выходом блока обработки полезной нагрузки, десятый вход блока управления чтением и поиском потерянных дейтаграмм соединен с первым входом таймера перезапроса, одиннадцатый выход блока управления чтением и поиском потерянных дейтаграмм соединен со вторым входом таймера перезапроса, второй выход блока FIFO соединен с шестым выходом блока обработки полезной нагрузки, при этом первый вход блока управления системой перезапроса соединен с первым входом блока обработки полезной нагрузки блока отправки, второй вход блока управления системой перезапроса соединен с первым выходом счетчика обработанных данных, третий выход блока управления системой перезапроса соединен со вторым входом счетчика обработанных данных, четвертый выход блока управления системой перезапроса соединен с первым входом блока формирования пакета ошибки, пятый вход блока управления системой перезапроса соединен с первым выходом счетчика переданных данных, шестой выход блока управления системой перезапроса соединен с первым входом блока мультиплексирования полезных данных, седьмой выход блока управления системой перезапроса соединен с первым входом блока чтения полезных данных, второй выход блока формирования пакета ошибки соединен со вторым входом блока обработки полезной нагрузки блока отправки, второй вход счетчика переданных данных соединен с первым выходом блока записи полезных данных, второй вход блока записи полезных данных соединен с шестым входом блока обработки полезной нагрузки блока отправки, третий выход блока записи полезных данных соединен с пятым входом блока обработки полезной нагрузки блока отправки, четвертый выход блока записи полезных данных соединен со вторым входом блока мультиплексирования полезных данных, третий выход блока мультиплексирования полезных данных соединен с третьим входом блока обработки полезной нагрузки, четвертый вход блока мультиплексирования полезных данных соединен со вторым выходом блока чтения полезных данных, третий вход блока чтения полезных данных соединен с четвертым выходом блока обработки полезной нагрузки блока передачи.According to the invention, in a device for retransmitting data using the user datagram protocol, the payload processing unit of the receiving unit consists of a FIFO unit, a re-timer, a payload data receiving unit, a payload recording unit, an overhead information recording unit, a reading and searching for lost datagram search unit, a block search for lost datagrams, payload reading unit, datagram reading and searching multiplexer, recorded / read datagram counter, payload processing unit the transmission unit includes a processed data counter, a transmitted data counter, an error packet generating unit, a useful data recording unit, a useful data reading unit, a useful data multiplexing unit, a re-request system control unit, and a third output of the payload processing unit of the receiving unit is connected to the first input of the payload data receiving unit, the second output of the payload data receiving unit is connected to the first input of the service information recording unit, the third output of the data receiving unit is the payload receiving unit is connected to the first input of the payload recording unit, the fourth input of the payload receiving unit is connected to the tenth output of the payload processing unit of the receiving unit, the second output of the payload recording unit is connected to the eighth input of the payload processing unit, the second output of the service information recording unit is connected with the first input of the counter of recorded / read datagrams, the third output of the service information recording unit in the service information storage unit is connected to the fifth input of the processing unit knowing the load, the second output of the counter of recorded / read datagrams is connected to the ninth input of the control unit for reading and searching for lost datagrams, the third input of the counter of written / read datagrams is connected to the first output of the reading unit of useful data, the second output of the reading unit of useful data is connected to the eighth input of the control unit reading and searching for lost datagrams, the third input of the payload reading unit is connected to the seventh output of the reading and searching for lost datagram control unit, the fourth input is block and the payload reading is connected to the first output of the datagram reader and searching multiplexer, the fifth output of the payload reading unit from the payload storage unit is connected to the seventh input of the payload processing unit, the sixth output of the payload reading unit is connected to the ninth input of the payload processing unit, the first the output of the lost datagram search unit is connected to the fifth input of the reading and searching for lost datagram control unit, the second input of the lost datagram search unit is connected to the fourth output of the control unit for reading and searching for lost datagrams, the third input of the block for searching for lost datagrams is connected to the third output of the datagram reader and searching multiplexer, the second input of the multiplexer for reading and searching for datagrams is connected to the sixth output of the control unit for reading and searching for lost datagrams, the fourth input of the multiplexer for reading and searching for datagrams connected to the fourth output of the payload processing unit, the first output of the control unit for reading and searching for lost datagrams is connected to the second input of the block payload processing, the second output of the control unit for reading and searching for lost datagrams is connected to the first input of the FIFO block, the third input of the control unit for reading and searching for lost datagrams is connected to the first output of the processing unit of the payload, the tenth input of the control unit for reading and searching for lost datagrams is connected to the first the reset timer input, the eleventh output of the reading and searching for lost datagram control unit is connected to the second input of the reset timer, the second output of the FIFO block is connected to the output of the payload processing unit, while the first input of the re-request system control unit is connected to the first input of the payload processing unit of the sending unit, the second input of the re-request system control unit is connected to the first output of the processed data counter, the third output of the re-request system control unit is connected to the second input processed data counter, the fourth output of the control unit of the re-request system is connected to the first input of the error packet generating unit, the fifth input of the control unit the system of the flashing is connected to the first output of the counter of the transmitted data, the sixth output of the control unit of the flashing system is connected to the first input of the block of multiplexing useful data, the seventh output of the control unit of the flashing system is connected to the first input of the reading unit of useful data, the second output of the block generating the error packet is connected to the second input the payload processing unit of the sending unit, the second input of the transmitted data counter is connected to the first output of the payload recording unit, the second input of the payload recording is connected to the sixth input of the payload processing unit of the send unit, the third output of the payload recording unit is connected to the fifth input of the payload processing unit of the send unit, the fourth output of the payload recording unit is connected to the second input of the payload multiplexing unit, the third output of the multiplexing unit payload is connected to the third input of the payload processing unit, the fourth input of the payload multiplexing unit is connected to the second output of the read block Ia payload third input payload data reading unit is connected to the fourth output of the processing unit payload transmission block.

Технический результат, достигаемый при реализации изобретения, позволяет практически исключить потерю данных, при сохранении высоких скоростных характеристик.The technical result achieved by the implementation of the invention allows to virtually eliminate data loss, while maintaining high speed characteristics.

Сопоставительный анализ технического решения с устройством, выбранным в качестве прототипа, показывает, что новизна технического решения заключается в введении в заявленное устройство новых схемных элементов: блока хранения служебной информации, блока FIFO, таймера перезапроса, блока приема данных полезной нагрузки, блока записи полезных данных, блока записи служебной информации, блока управления чтением и поиском потерянных дейтаграмм, блока чтения полезных данных, мультиплексора чтения и поиска дейтаграмм, счетчика записанных/прочитанных дейтаграмм, счетчика обработанных данных, счетчика переданных данных, блока формирования пакета ошибки, блока записи полезных данных, блока чтения полезных данных, блока мультиплексирования полезных данных, блока управления системой перезапроса.A comparative analysis of the technical solution with the device selected as a prototype shows that the novelty of the technical solution consists in introducing new circuit elements into the claimed device: service information storage unit, FIFO unit, re-timer, payload data reception unit, payload data recording unit, service information recording unit, control unit for reading and searching for lost datagrams, payload reading unit, reading and searching datagram search multiplexer, recorded / read counter data datagrams, processed data counter, transmitted data counter, error packet generation unit, payload data recording unit, payload data reading unit, payload data multiplexing unit, re-request system control unit.

Сопоставительный анализ технического решения со способом, выбранным в качестве прототипа, показывает, что новизна технического решения заключается в том, что факт потери дейтаграммы определяется по отсутствию метки о приходе следующей дейтаграммы в блок хранения служебной информации на момент его чтения, запуск таймера перезапроса осуществляется при переходе в режим поиска, а также адреса в блоке хранения служебной информации блока приема, блоке хранения служебной информации блока передачи, блоке хранения полезных данных блока приема и блоке хранения полезных данных блока передачи формируются в соответствии с номером дейтаграммы, а также команда на освобождение памяти формируется от блока приема в блок передачи.A comparative analysis of the technical solution with the method chosen as a prototype shows that the novelty of the technical solution is that the fact of the loss of the datagram is determined by the absence of a mark about the arrival of the next datagram in the service information storage unit at the time of its reading, the restart timer is started upon transition into the search mode, as well as the addresses in the storage unit of the service information of the reception unit, the storage unit of service information of the transmission unit, the storage unit of useful data of the reception unit and a storage unit useful data transmission unit formed in accordance with the number of the datagram, and the command to release the memory is formed from the reception unit in the transmission unit.

Таким образом, заявляемое изобретение соответствует критерию «новизна».Thus, the claimed invention meets the criterion of "novelty."

Анализ известных технических решений в исследуемой и смежных областях позволяет сделать вывод, что введенные функциональные блоки известны. Однако введение их в известное устройство с указанными связями придает ему новые свойства. Введенные функциональные блоки взаимодействуют таким образом, что позволяют практически исключить потерю данных при сохранении высоких скоростных характеристик.An analysis of the known technical solutions in the studied and related fields allows us to conclude that the introduced functional blocks are known. However, their introduction into a known device with the indicated bonds gives it new properties. The introduced functional blocks interact in such a way that practically eliminates data loss while maintaining high speed characteristics.

Таким образом, изобретение соответствует критерию «изобретательский уровень».Thus, the invention meets the criterion of "inventive step".

Изобретение может быть использовано в системах связи, требующих максимальную пропускную способность канала и исключающих потерю данных, что характерно при обмене информацией в корпоративных сетях.The invention can be used in communication systems requiring maximum channel bandwidth and eliminating data loss, which is typical when exchanging information in corporate networks.

Таким образом, изобретение соответствует критерию «промышленная применимость».Thus, the invention meets the criterion of "industrial applicability".

Краткое описание чертежейBrief Description of the Drawings

Фиг. 1 - общая схема устройства приема/передачи.FIG. 1 is a general diagram of a transmit / receive device.

Фиг. 2 - структурная блок-схема блока приема.FIG. 2 is a structural block diagram of a reception unit.

Фиг. 3 - структурная блок-схема блока обработки управляющих команд блока приема.FIG. 3 is a structural block diagram of a control unit processing unit of a receiving unit.

Фиг. 4 - структурная блок-схема блока обработки полезной нагрузки блока приема.FIG. 4 is a structural block diagram of a payload processing unit of a reception unit.

Фиг. 5 - структурная блок-схема блока передачи.FIG. 5 is a structural block diagram of a transmission unit.

Фиг. 6 - структурная блок-схема блока обработки управляющих команд блока передачи.FIG. 6 is a structural block diagram of a control unit for processing control commands of a transmission unit.

Фиг. 7 - структурная блок-схема блока обработки полезной нагрузки блока передачи.FIG. 7 is a structural block diagram of a payload processing unit of a transmission unit.

Фиг. 8 - автомат состояний блока управления чтением и поиском потерянных дейтаграмм.FIG. 8 - state machine of the control unit for reading and searching for lost datagrams.

Описание вариантов осуществления изобретенияDescription of Embodiments

Устройство повторной передачи данных по протоколу пользовательских дейтаграмм (фиг. 1) содержит блок приема 1 и блок передачи 2. Блок приема 1 (фиг. 2) состоит из блока UDP обработки 3, блока обработки управляющих команд 4, блока прикладного уровня 6, блока обработки полезной нагрузки 5, блока хранения служебной информации 7, блока хранения полезных данных 8. Блок обработки управляющих команд 4 (фиг. 3) включает в себя блок приема управляющих команд 10, блок формирования пакета 9, блок мультиплексирования передаваемых пакетов 11. Блок обработки полезной нагрузки 5 (фиг. 4) блока приема состоит из блока FIFO 12, таймера перезапроса 13, блока приема данных полезной нагрузки 14, блока записи полезных данных 15, блока записи служебной информации 16, блока управления чтением и поиском потерянных дейтаграмм 17, блока поиска потерянных дейтаграмм 18, блока чтения полезных данных 19, мультиплексора чтения и поиска дейтаграмм 20, счетчика записанных/прочитанных дейтаграмм 21. Блок передачи 2 (фиг. 5) содержит блок UDP обработки 22, блок обработки управляющих команд 23, блок прикладного уровня 24, блок обработки полезной нагрузки 25, блок хранения полезных данных 26. Блок обработки управляющих команд 23 (фиг. 6) состоит из блока отправки управляющих команд 29, блока приема управляющих команд 30, блока мультиплексирования управляющих пакетов 27, блока демультиплексирования управляющих пакетов 28. Блок обработки полезной нагрузки 25 (фиг. 7) состоит из счетчика обработанных данных 31, счетчика переданных данных 32, блока формирования пакета ошибки 33, блока записи полезных данных 34, блока чтения полезных данных 35, блока мультиплексирования полезных данных 36, блока управления системой перезапроса 37.The data retransmission device according to the user datagram protocol (Fig. 1) contains a receiving unit 1 and a transmitting unit 2. A receiving unit 1 (Fig. 2) consists of a UDP processing unit 3, a control command processing unit 4, an application layer 6 unit, a processing unit payload 5, service information storage unit 7, payload storage unit 8. Control command processing unit 4 (Fig. 3) includes a control command receiving unit 10, a packet forming unit 9, a transmit packet multiplexing unit 11. Useful processing unit load 5 (Fig. 4) of the reception unit consists of a FIFO block 12, a re-request timer 13, a payload data reception unit 14, a payload recording unit 15, an overhead recording unit 16, a control unit for reading and searching for lost datagrams 17, a lost search unit datagram 18, payload reading unit 19, datagram reading and searching multiplexer 20, written / read counter for datagram 21. Transmission unit 2 (FIG. 5) contains a UDP processing unit 22, a control command processing unit 23, an application layer 24, a payload processing unit 25, a payload storage unit 26. The control command processing unit 23 (Fig. 6) consists of a sending command control unit 29, a block receiving control commands 30, a multiplexing block of control packets 27, a demultiplexing block of control packets 28. The payload processing block 25 (Fig. 7) consists of a processed data counter 31, a transmitted data counter 32, an error packet generating block 33, bl Single entry payload data 34, reading payload unit 35, the multiplexing unit payload data 36, the system control unit 37 requery.

В блоке приема первый вход блока 3 соединен со вторым выходом блока 4, второй выход блока 3 соединен с первым входом блока 4, третий выход блока 3 соединен с третьим входом блока 5, третий выход блока 4 соединен с первым входом блока 6, четвертый вход блока 4 соединен со вторым выходом блока 6, пятый вход блока 4 соединен с шестым выходом блока 5, шестой вход блока 4 соединен с седьмым выходом блока 5, третий выход блока 6 соединен с первым входом блока 5, четвертый вход блока 6 соединен со вторым выходом блока 5, второй выход блока 7 соединен с четвертым входом блока 5, первый вход блока 7 соединен с пятым выходом блока 5, третий выход блока 7 соединен с десятым входом блока 5, первый вход блока 8 соединен с восьмым выходом блока 5, второй выход блока 8 соединен с девятым входом блока 5. В блоке 4 первый выход блока 4 соединен с первым входом блока 10, второй выход блока 10 соединен третьим входом блока 4, второй вход блока 4 соединен со вторым выходом блока 9, первый вход блока 9 соединен с первым выходом блока 11, второй, третий и четвертый входы блока 11 соединены с четвертым, пятым и шестым выходами блока 4. В блоке 5 третий выход блока 5 соединен с первым входом блока 14, второй выход блока 14 соединен с первым входом блока 16, третий выход блок 14 соединен с первым входом блока 15, четвертый вход блока 14 соединен с десятым выходом блока 5, второй выход блока 15 соединен с восьмым входом блока 5, второй выход блока 16 соединен с первым входом счетчика 21, третий выход блока 16 соединен с пятым входом блока 5, второй выход счетчика 21 соединен с девятым входом блока 17, третий вход счетчика 21 соединен с первым выходом блока 19, второй выход блока 19 соединен с восьмым входом блока 17, третий вход блока 19 соединен с седьмым выходом блока 17, четвертый вход блока 19 соединен с первым выходом мультиплексора 20, пятый выход блока 19 соединен с седьмым входом блока 5, шестой вход блока 19 соединен с девятым выходом блока 5, первый выход блока 18 соединен с пятым входом блока 17, второй вход блока 18 соединен с четвертым выходом блока 17, третий вход блока 18 соединен с третьим выходом мультиплексора 20, второй вход мультиплексора 20 соединен с шестым выходом блока 17, четвертый вход мультиплексора 20 соединен с четвертым выходом блока 5, первый выход блока 17 соединен со вторым входом блока 5, второй выход блока 17 соединен с первым входом блока 12, третий вход блока 17 соединен с первым выходом блоком 5, десятый вход блока 17 соединен с первым входом таймера 13, одиннадцатый выход блока 17 соединен со вторым входом таймера 13, второй выход блока 12 соединен с шестым входом блока 5. В блоке 2 первый вход блока 22 соединен с первым выходом блока 23, второй выход блока 22 соединен со вторым входом блока 23, третий вход блока 22 соединен с третьим выходом блока 25, шестой выход блока 23 соединен с первым входом блока 24, пятый вход блока 23 соединен со вторым выходом блока 24, третий выход блока 23 соединен с первым входом блока 25, четвертый вход блока 23 соединен со вторым выходом блока 25, третий выход блока 24 соединен с шестым входом блока 25, первый выход блока 26 соединен с четвертым входом блока 25, второй вход блока 26 соединен с пятым выходом блока 25. В блоке 23 первый выход блока 29 соединен с первым входом блока 23, второй вход блока 29 соединен с первым выходом блока 27, второй и третий входы блока 27 соединены с четвертым и пятым выходами блока 23 соответственно, первый вход блока 30 соединен со вторым выходом блока 23, второй выход блока 30 соединен с первым входом блока 28, второй и третий выходы блока 28 соединены с шестым и третьим входами блока 23 соответственно. В блоке 25 первый вход блока 37 соединен с первым выходом блока 25, второй вход блока 37 соединен с первым выходом счетчика 31, третий выход блока 37 соединен со вторым входом 31, четвертый выход блока 37 соединен с первым входом блока 33, пятый вход блока 37 соединен с первым выходом счетчика 32, шестой выход блока 37 соединен с первым входом блока 36, седьмой выход блока 37 соединен с первым входом блока 35, второй выход блока 33 соединен со вторым входом блока 25, второй вход счетчика 32 соединен с первым выходом блока 34, второй вход блока 34 соединен с шестым выходом блока 25, третий выход блока 34 соединен с пятым входом блока 25, четвертый выход блока 34 соединен со вторым входом блока 36, третий выход блока 36 соединен с третьим входом блока 25, четвертый вход блока 36 соединен со вторым выходом блока 35, третий вход блока 35 соединен с четвертым выходом блока 25.In the receiving block, the first input of block 3 is connected to the second output of block 4, the second output of block 3 is connected to the first input of block 4, the third output of block 3 is connected to the third input of block 5, the third output of block 4 is connected to the first input of block 6, the fourth input of block 4 is connected to the second output of block 6, the fifth input of block 4 is connected to the sixth output of block 5, the sixth input of block 4 is connected to the seventh output of block 5, the third output of block 6 is connected to the first input of block 5, the fourth input of block 6 is connected to the second output of block 5, the second output of block 7 is connected to the fourth input block 5, the first input of block 7 is connected to the fifth output of block 5, the third output of block 7 is connected to the tenth input of block 5, the first input of block 8 is connected to the eighth output of block 5, the second output of block 8 is connected to the ninth input of block 5. In block 4, the first output of block 4 is connected to the first input of block 10, the second output of block 10 is connected to the third input of block 4, the second input of block 4 is connected to the second output of block 9, the first input of block 9 is connected to the first output of block 11, the second, third, and fourth inputs block 11 are connected to the fourth, fifth and sixth outputs of block 4. In 5, the third output of block 5 is connected to the first input of block 14, the second output of block 14 is connected to the first input of block 16, the third output of block 14 is connected to the first input of block 15, the fourth input of block 14 is connected to the tenth output of block 5, the second output of block 15 connected to the eighth input of block 5, the second output of block 16 is connected to the first input of counter 21, the third output of block 16 is connected to the fifth input of block 5, the second output of counter 21 is connected to the ninth input of block 17, the third input of counter 21 is connected to the first output of block 19 , the second output of block 19 is connected to the eighth block 17, the third input of block 19 is connected to the seventh output of block 17, the fourth input of block 19 is connected to the first output of multiplexer 20, the fifth output of block 19 is connected to the seventh input of block 5, the sixth input of block 19 is connected to the ninth output of block 5, the first output block 18 is connected to the fifth input of block 17, the second input of block 18 is connected to the fourth output of block 17, the third input of block 18 is connected to the third output of multiplexer 20, the second input of multiplexer 20 is connected to the sixth output of block 17, the fourth input of multiplexer 20 is connected to the fourth output of block 5, the first output of block 17 is connected to the second input of block 5, the second output of block 17 is connected to the first input of block 12, the third input of block 17 is connected to the first output of block 5, the tenth input of block 17 is connected to the first input of timer 13, the eleventh output of the block 17 is connected to the second input of timer 13, the second output of block 12 is connected to the sixth input of block 5. In block 2, the first input of block 22 is connected to the first output of block 23, the second output of block 22 is connected to the second input of block 23, the third input of block 22 is connected to the third output of block 25, the sixth output of block 23 is connected n with the first input of block 24, the fifth input of block 23 is connected to the second output of block 24, the third output of block 23 is connected to the first input of block 25, the fourth input of block 23 is connected to the second output of block 25, the third output of block 24 is connected to the sixth input of block 25 , the first output of block 26 is connected to the fourth input of block 25, the second input of block 26 is connected to the fifth output of block 25. In block 23, the first output of block 29 is connected to the first input of block 23, the second input of block 29 is connected to the first output of block 27, the second and the third inputs of block 27 are connected to the fourth and fifth outputs of the bl Single 23, respectively, the first input unit 30 is connected to the second output unit 23, the second output unit 30 is connected to the first input unit 28, second and third outputs of block 28 are connected to sixth and third inputs of the block 23, respectively. In block 25, the first input of block 37 is connected to the first output of block 25, the second input of block 37 is connected to the first output of counter 31, the third output of block 37 is connected to the second input 31, the fourth output of block 37 is connected to the first input of block 33, the fifth input of block 37 connected to the first output of the counter 32, the sixth output of the block 37 is connected to the first input of the block 36, the seventh output of the block 37 is connected to the first input of the block 35, the second output of the block 33 is connected to the second input of the block 25, the second input of the counter 32 is connected to the first output of the block 34 , the second input of block 34 is connected to the sixth output block 25, the third output of block 34 is connected to the fifth input of block 25, the fourth output of block 34 is connected to the second input of block 36, the third output of block 36 is connected to the third input of block 25, the fourth input of block 36 is connected to the second output of block 35, the third input block 35 is connected to the fourth output of block 25.

Предлагаемое устройство работает следующим образом.The proposed device operates as follows.

Процесс отправки разнородных данных на блок приема 1 заключается в следующем: с блока прикладного уровня 24 на блок обработки полезной нагрузки 25 подаются полезные данных (DN), при этом связь между блоками может быть реализована в устройстве в виде шины Avalon-ST[1]. С блока обработки полезной нагрузки 25 данные DN поступают на блок записи полезных данных 34. Блок записи полезных данных 34 предназначен для записи полезных данных DN в блок хранения полезных данных 26 и отправки полезных данных DN в блок мультиплексирования полезных данных 36. При передаче полезных данных DN в блок мультиплексирования 36, в счетчик переданных данных 32 блок записи полезных данных 34 записывает новое значение счетчика N, при достижении счетчиком 32 максимального значения (определяется объемом оперативной памяти блока хранения полезных данных 26), счетчик сбрасывается. Данные DN и значение счетчика (N) блока записи полезных данных 32 подаются на блок мультиплексирования полезных данных 36. В случае если блок мультиплексора 36 переключен на взаимодействие с блоком записи полезных данных 34, то сигналы с блока чтения полезных данных 35 блокируются. Полезные данные на блок мультиплексора 36 приходят с блока записи полезных данных 34. Если блок мультиплексора 36 переключен на взаимодействие с блоком записи полезных данных 34, данные DN передаются на блок мультиплексирования и параллельно передаются на блок записи полезных данных 34, который осуществляет запись данных в блок хранения полезных данных 26. Интерфейс взаимодействия с блоком хранения полезных данных осуществляется по протоколу Avalon-MM [1]. Разрядность счетчика 32 переданных данных составляет 24 разряда. Адрес в блоке хранения полезных данных 26 соответствует значению счетчика 32 для данного пакета. После поступления полезных данных DN и значения счетчика N на блок мультиплексирования полезных данных 36, осуществляется упаковка полезных данных с добавлением дополнительной служебной информации (CI). После проведения данной операции сформированный пакет подается на блок UDP обработки 22. Процесс упаковки пакета представлен в таблице 1. Поле служебная информация CI[3:0] идентифицируют устройство, CI[4] содержит информацию о том, какой передается пакет, управляющий или пакет данных (дейтаграмма), для пакета с данными бит CI[5] отвечает за то, что данная дейтаграмма новая или перезапрашиваемая, CI[7:6] зарезервированы.The process of sending heterogeneous data to the receiving unit 1 is as follows: from the application layer unit 24 to the payload processing unit 25, useful data (DN) are supplied, and communication between the units can be implemented in the device in the form of an Avalon-ST bus [1]. From the payload processing unit 25, the DN data is supplied to the payload data recording unit 34. The payload data recording unit 34 is used to record the payload DN data to the payload storage unit 26 and send the payload data DN to the payload multiplexing unit 36. When transmitting payload data DN in the multiplexing unit 36, in the counter of the transmitted data 32, the payload recording unit 34 records the new value of the counter N, when the counter 32 reaches the maximum value (determined by the amount of RAM in the storage unit s data 26), the counter is reset. The DN data and the counter value (N) of the payload recording unit 32 are supplied to the payload multiplexing unit 36. If the multiplexer 36 is switched to interact with the payload recording unit 34, the signals from the payload reading unit 35 are blocked. The payload data to the multiplexer unit 36 comes from the payload recording unit 34. If the multiplexer unit 36 is switched to interact with the payload recording unit 34, the DN data is transmitted to the multiplexing unit and transmitted in parallel to the payload recording unit 34, which writes data to the unit storage of useful data 26. The interaction interface with the storage unit of useful data is carried out according to the Avalon-MM protocol [1]. The capacity of the counter 32 of the transmitted data is 24 bits. The address in the payload storage unit 26 corresponds to the counter value 32 for this packet. After the payload DN has arrived and the value of the counter N is sent to the payload multiplexing unit 36, the payload is packed with the addition of additional service information (CI). After this operation, the generated packet is sent to the UDP processing unit 22. The packet packing process is presented in Table 1. The service information field CI [3: 0] identifies the device, CI [4] contains information about which packet, control or data packet is transmitted (datagram), for a data packet, the CI [5] bit is responsible for the fact that this datagram is new or flashed, CI [7: 6] are reserved.

Figure 00000001
Figure 00000001

В блоке UDP обработки 22 осуществляется упаковка приходящего пакета, пакет упаковывается в начале в UDP дейтаграмму, потом в IP пакет и Ethernet кадр. После процесса упаковки данные передаются в среду передачи и достигают блока приема 1.In the UDP processing unit 22, the incoming packet is packaged, the packet is packed at the beginning into a UDP datagram, then into an IP packet and an Ethernet frame. After the packaging process, the data is transmitted to the transmission medium and reaches the receiving unit 1.

Поступившие на блок 1 приема данные передаются на блок UDP обработки 3. В блоке UDP обработки 3 осуществляется считывание идентификатора, который сигнализирует о том, что данное устройство относится к устройствам, позволяющим осуществить повторную передачу, после чего считывается значение 4 бита служебной информации для определение класса информации, если дейтаграмма относится к служебной информации, то отправляется на блок обработки управляющих команд 4, если к данным, то на блок обработки полезной нагрузки 5. Блок обработки полезной нагрузки 5 предназначен для осуществления упорядочивания пакетов, проверки на наличие потерянных дейтаграмм, поиска потерянных дейтаграмм, осуществления запроса повторной передачи. После передачи на блок обработки полезной нагрузки 5 данные поступают на блок приема данных полезной нагрузки 14. В данном блоке осуществляется чтение 24-битного номера пакета и выделение из пакета полезных данных. Полезные данные и номер пакета передаются на блок записи полезных данных в блок хранения полезных данных 15, номер пакета кроме этого также передается на блок записи служебной информации 16.The data received at reception unit 1 is transmitted to UDP processing unit 3. In UDP processing unit 3, an identifier is read which signals that this device is a device that allows retransmission, after which a value of 4 bits of service information is read to determine the class information, if the datagram relates to service information, it is sent to the processing unit for control commands 4, if for data, then to the processing unit payload 5. Processing unit payload and 5 is intended for ordering a package, checking for lost datagrams find lost datagrams of the retransmission request. After transmission to the processing unit of the payload 5, the data is transmitted to the data receiving unit of the payload 14. In this block, the 24-bit packet number is read and the payload is extracted from the packet. The payload data and the packet number are transmitted to the payload recording unit to the payload storage unit 15, the packet number is also transmitted to the service information recording unit 16.

Блок приема данных полезной нагрузки 14 осуществляет считывание по адресу номера пакета содержимое блока хранения служебной информации 7. Данные (CONI) из блока хранения служебной информации 7 передаются на блок приема данных полезной нагрузки 14. Размер хранимых данных CONI по адресу в блоке хранения служебной информации 7 составляет 2 бита. CONI[0] определяет наличие данных в памяти по данному адресу, 1 устанавливается в случае, если данные были ранее записаны, 0 соответственно в противном случае, CONI[1] определяет новизну записанных данных, 1 - пакет новый, 0 - старый.The payload data receiving unit 14 reads at the packet number address the contents of the service information storage unit 7. Data (CONI) from the service information storage unit 7 is transmitted to the payload data receiving unit 14. The size of the stored CONI data at the address in the service information storage unit 7 is 2 bits. CONI [0] determines the availability of data in memory at this address, 1 is set if the data was previously recorded, 0 otherwise, CONI [1] determines the novelty of the recorded data, 1 - the packet is new, 0 - the old.

Условие записи полезных данных можно сформировать следующим образом:The condition for recording useful data can be formed as follows:

Figure 00000002
Figure 00000002

Если на блок приема данных полезной нагрузки 14 подается новый пакет, то независимо от содержимого в поле по данному адресу, производят операцию записи пакета, в случае если в блоке хранения служебной информации 7 по данному адресу отсутствует пакет, запись осуществляется независимо от служебной информации в принятом пакете, также если пришел пакет с битом CI[1] равным 0, то пакет записывается только в том случае, если в блоке хранения служебной информации 7 бит CONI[1] установлен в 0.If a new packet is supplied to the payload data receiving unit 14, then regardless of the contents in the field at the given address, the packet is recorded, if there is no packet in the service information storage unit 7 at this address, recording is performed regardless of the service information in the received a packet, also if a packet with a CI [1] bit equal to 0 arrives, then the packet is recorded only if the CONI [1] bit is set to 0 in the service information storage unit.

При возникновении операции записи в блок хранения полезных данных поступают номер пакета N и непосредственно полезные данные DN и также на блок записи служебной информации 16 поступают номер пакета N и служебная информация пакета CI. После чего блок записи полезных данных 15 в блок хранения полезных данных по интерфейсу Avalon-MM записывает данные DN по адресу N. А блок записи служебной информации 16 по интерфейсу Avalon-MM записывает по адресу N значение {1, CI[5]}. Каждый раз при записи блок записи служебной информации 16 подает команду на счетчик записанных/прочитанных дейтаграмм 21 для увеличения значения счетчика на 1.When a write operation occurs, the packet number N and direct payload data DN are received in the payload storage unit and the packet number N and the overhead information of the CI packet are also sent to the service information recording unit 16. After that, the payload data recording unit 15 writes the DN data to the address N. to the payload storage unit via the Avalon-MM interface. And the service information recording unit 16 writes the value {1, CI [5]} to the address N at the Avalon-MM interface. Each time when recording, the overhead recording unit 16 sends a command to the counter of recorded / read datagrams 21 to increase the counter value by 1.

Значение счетчика записанных/прочитанных дейтаграмм 21 передается на блок управления чтением и поиском потерянных дейтаграмм 17. Работа блока управления чтением и поиском пропущенных пакетов 17 определяется автоматом изображенным на фигуре 8.The value of the counter of recorded / read datagrams 21 is transmitted to the control unit for reading and searching for lost datagrams 17. The operation of the control unit for reading and searching for missing packets 17 is determined by the automaton depicted in figure 8.

Автомат состояния (фиг. 8) состоит из четырех состояний: IDLE, READ, WAIT и LOOKFOR. Первоначально автомат находится в состоянии IDLE. Когда значение счетчика 21 превышает 1, автомат переходит в состояние READ. В состоянии READ блок управления чтением и поиском потерянных дейтаграмм 17 подает управляющие сигналы на блок поиска потерянных дейтаграмм 18, блок чтения полезных данных из блока хранения полезных данных 19 и мультиплексор чтения и поиска дейтаграмм 20. После чего мультиплексор 20 переключается в режим приема управляющих сигналов с блока чтения полезных данных 19 из блока хранения полезных данных 8. При поступлении управляющих команд блок поиска потерянных дейтаграмм отключается, а блок чтения полезных данных 19 в состоянии READ запускается. В состоянии READ блок чтения полезных данных 19 осуществляет чтение служебной информации из блока хранения служебной информации 7 по интерфейсу Avalon-MM через мультиплексор чтения и поиска 20.The state machine (Fig. 8) consists of four states: IDLE, READ, WAIT and LOOKFOR. Initially, the machine is in IDLE state. When the value of counter 21 exceeds 1, the machine goes into READ state. In the READ state, the block for reading and searching for lost datagrams 17 sends control signals to the block for searching for lost datagrams 18, the block for reading useful data from the block for storing useful data 19, and the multiplexer for reading and searching for datagrams 20. After that, the multiplexer 20 switches to the mode of receiving control signals from the payload reader 19 from the payload storage 8. When control commands are received, the lost datagram search block is disabled, and the payload reader 19 in the READ state is started. In the READ state, the payload reading unit 19 reads the service information from the service information storage unit 7 via the Avalon-MM interface through the read and search multiplexer 20.

Во время чтения служебной информации, блок чтения 19 считывает содержимое по адресу K, K в начальный момент считывания равняется 0, и по мере чтения пакетов увеличивается на 1, считав служебные данные CONI. После чтения блок чтения 19 анализирует бит CONI[0], если данный бит равен 0, то детектирована потеря дейтаграммы, в противном случае с адреса K блока хранения полезных данных 8 по интерфейсу Avalon-MM поступают соответствующие данные, после чего полученные данные передаются на блок чтения 19 и затем поступают на блок управления 17. После этого данные передаются по интерфейсу Avalon-ST на блок прикладного уровня 6. При удачном чтении управляющий сигнал блока чтения 19 поступает на счетчик записанных/прочитанных дейтаграмм 21 и уменьшает текущее значение счетчика на 1. Значение счетчика текущей прочитанной дейтаграммы в блоке чтения 19 каждый раз при увеличении анализируется, количество анализируемых младших бит определяется пользователем. При достижении значения младших бит максимального значения, значение счетчика передается на блок чтения полезных данных 19, после чего значение поступает на блок обработки управляющих команд 4. Данные действия необходимы для отправки управляющей команды на блок передачи 2, для высвобождения свободного места в блоке хранения полезных данных 26. Описание упаковки управляющих команд будет приведено ниже.While reading service information, the reading unit 19 reads the contents at address K, K at the initial moment of reading is 0, and as the packets are read, it increases by 1, having read the service data CONI. After reading, the reading unit 19 analyzes the CONI [0] bit, if this bit is 0, then the loss of the datagram is detected, otherwise the corresponding data is received from the address K of the payload storage block 8 via the Avalon-MM interface, after which the data is transmitted to the block readings 19 and then go to the control unit 17. After that, the data is transmitted via the Avalon-ST interface to the application layer 6. Upon successful reading, the control signal of the readout unit 19 goes to the counter of recorded / read datagrams 21 and reduces the current value of the count 1 by the counter. The value of the counter of the currently read datagram in the reading unit 19 is analyzed each time it is increased, the number of the least significant bits analyzed is determined by the user. When the value of the least significant bits of the maximum value is reached, the counter value is transmitted to the payload reading unit 19, after which the value is sent to the control command processing unit 4. These actions are necessary to send the control command to transmission unit 2, to free up free space in the payload storage unit 26. A description of the packaging of the control teams will be given below.

В случае если при чтении из блока хранения служебной информации 7 бит CONI[0] установлен в 0, то управляющий сигнал подается на блок чтения полезных данных 19, после чего подается управляющий сигнал на блок управления чтением и поиском 17. При поступлении данного сигнала автомат состояний переходит из состояния READ в состояние LOOKFOR, в котором подается управляющий сигнал на блок поиска потерянных дейтаграмм 18, мультиплексора 20 и блока чтения полезных данных 19, после чего блок чтения отключается и запускается блок поиска потерянных дейтаграмм, а также переключается мультиплексор 20 в режим работы с блоком поиска потерянных дейтаграмм. Также подается управляющий сигнал на блок управления чтением и поиском 17, после чего управляющий сигнал поступает на таймер перезапроса 13 и осуществляется запуск таймера перезапроса 13. В блок поиска пропущенных пакетов 18 поступает информация о последней прочитанной дейтаграмме и о последней записанной дейтаграмме. Блок поиска 18 потерянных дейтаграмм осуществляет доступ к блоку хранения служебной информации 7 через мультиплексор чтения и поиска дейтаграмм 20, данные с мультиплексора 20 поступают на блок поиска потерянных дейтаграмм 18. При обнаружении сброшенного бита CONI[0] в блок управления чтением и поиском 17 передается значение адреса по которому CONI[0] находится в сброшенном состоянии. Значение адреса передается на блок поиска потерянных дейтаграмм 18, после чего данное значение адреса поступает на блок управления чтением и поиском 17. После получения значения адреса, блок управления чтением и поиском 17 передает значение адреса в блок FIFO 12. Из блока FIFO 12 данные передаются на блок обработки управляющих команд 4, после чего данные упаковываются соответствующим образом и передаются через среду передачи на блок передачи 2, для формирования повторной передачи.If when reading from the service information storage unit 7 CONI bit [0] is set to 0, then the control signal is supplied to the payload reading unit 19, after which the control signal is supplied to the reading and search control unit 17. When this signal is received, the state machine goes from the READ state to the LOOKFOR state, in which a control signal is supplied to the block for searching for lost datagrams 18, the multiplexer 20 and the block for reading payload data 19, after which the reading block is turned off and the block for searching for lost datagrams is started, and that the multiplexer 20 switches to the search mode with the block lost datagrams. A control signal is also sent to the reading and search control unit 17, after which the control signal is sent to the re-timer 13 and the re-timer 13 is started. The information about the last read datagram and the last recorded datagram is received in the block search unit 18. The lost data retrieval unit 18 accesses the service information storage unit 7 through the datagram read and search multiplexer 20, data from the multiplexer 20 is sent to the lost datagram retrieval unit 18. When a reset bit CONI [0] is detected, a value is transmitted to the read and search control unit 17 the address at which CONI [0] is in the reset state. The address value is transmitted to the block for searching for lost datagrams 18, after which this address value is sent to the read and search control unit 17. After receiving the address value, the read and search control unit 17 transfers the address value to the FIFO block 12. From the FIFO 12 block, data is transmitted to the control command processing unit 4, after which the data is packaged accordingly and transmitted through the transmission medium to the transmission unit 2, to form a retransmission.

Если верхняя граница записи была достигнута раньше чем таймер перезапроса 13 достиг максимального значение, автомат состояний из состояния LOOKFOR переходит в состояние READ, если блок чтения полезных данных 19 все равно сигнализирует об отсутствии пакета, автомат переходит в состояние WAIT, где ожидает достижения максимального значения таймера, в противном случает автомат продолжает находится в состоянии READ, а значение таймера сбрасывается. Если автомат находится в состоянии WAIT, то автомат ожидает достижения максимального значения счетчика, переходит в состояние READ и осуществляет сброс таймера перезапроса 13. При достижении счетчика записанных/прочитанных дейтаграмм в состоянии READ нулевого значения, автомат переходит в состояние IDLE.If the upper limit of the recording was reached before the flashing timer 13 reached its maximum value, the state machine from the LOOKFOR state goes into READ state, if the payload reader 19 still signals that there is no packet, the machine goes into WAIT state, where it waits for the maximum timer value to be reached otherwise, the machine continues to be in the READ state, and the timer value is reset. If the machine is in the WAIT state, the machine waits for the counter to reach its maximum value, enters the READ state and resets the reset timer 13. When the read / write counter of the datagram is in the READ state of zero, the machine goes into the IDLE state.

Как было рассмотрено выше, на блок обработки управляющих команд 4 поступают управляющие сигналы с блока обработки полезной нагрузки 5. Управляющие сигналы с блока обработки полезной нагрузки 5 поступают на блок мультиплексирования передаваемых пакетов 11. Сигнал с блока прикладного уровня 6 поступает на блок мультиплексирования передаваемых пакетов 11. Этот сигнал управления предназначен для отправки управляющих пакетов на блок прикладного уровня 6.As discussed above, control signals from the processing unit 4 receive control signals from the payload processing unit 5. Control signals from the payload processing unit 5 are sent to the transmitted packet multiplexing unit 11. The signal from the application layer 6 is sent to the transmitted packet multiplexing unit 11 This control signal is designed to send control packets to the application layer 6 unit.

Блок мультиплексирования управляющих пакетов 11 предназначен для объединения параллельных управляющих сигналов и разнесения их во времени. Блок мультиплексирования управляющих пакетов 11 после объединения параллельных управляющих сигналов и разнесения их во времени передает полученные сигналы на блок формирования пакета 9. При передаче служебной информации возможно 3 типа управляющих команд:The control packet multiplexing unit 11 is intended for combining parallel control signals and spacing them in time. The control packet multiplexing unit 11 after combining the parallel control signals and spacing them in time transmits the received signals to the packet forming unit 9. When transmitting overhead information, 3 types of control commands are possible:

- команды очистки блока хранения полезных данных 26;- cleaning command storage unit useful data 26;

- команда формирования перезапроса на повторную передачу;- a command for generating a retransmission request for retransmission;

- команда для блока прикладного уровня 24.- command for the application layer block 24.

В таблице 2 приведен формат управляющего пакета.Table 2 shows the control packet format.

В управляющем пакете биты CI[3:0] представляют собой идентификатор устройства так же, как и в пакете при передаче полезных данных, бит CI[4] определяет назначение, в пакете содержатся полезные данные, значение установлено в 0, в пакете содержатся команды, значение установлено в 1. Если в поле CI[4] установлена 1, то в поле CI[7:5] содержится команда, соответственно:In the control packet, bits CI [3: 0] are the identifier of the device in the same way as in the packet when transmitting payloads, bit CI [4] determines the purpose, the packet contains payload data, the value is set to 0, the packet contains commands, the value is set to 1. If 1 is set in the CI [4] field, then a command is contained in the CI [7: 5] field, respectively:

- 000 - команда очистки блока хранения полезных данных 26;- 000 - a command to clear the payload storage unit 26;

- 001 - команда формирования перезапроса на повторную передачу;- 001 - a command for generating a retransmission request for retransmission;

- 010 - команда для блока прикладного уровня передачи 24, при 32-битной архитектуре;- 010 - a command for the block of the application layer of the transfer 24, with a 32-bit architecture;

- 011 - команда для блока прикладного уровня передачи 24, для 64-битной архитектуры.- 011 - command for the block of the application layer of the transfer 24, for 64-bit architecture.

Figure 00000003
Figure 00000003

Для команд 000 и 001 биты [31:8] в пакете соответствуют номеру пакета N[23:0], наличие других полей не предусмотрено.For the 000 and 001 commands, bits [31: 8] in the packet correspond to packet number N [23: 0]; other fields are not provided.

Для команды 010 биты в пакете [39:8] соответствуют полю адреса А[31:0]. Биты [71:39] в пакете соответствуют полю данных [31:0].For command 010, the bits in packet [39: 8] correspond to address field A [31: 0]. Bits [71:39] in the packet correspond to the data field [31: 0].

Для команды 011 биты [15:8] соответствуют полю количество бит адреса Na[7:0]. Биты [23:16] соответствуют полю количество бит данных Nd[7:0]. Биты [Na+23:24] соответствует полю адреса A[Na-1:0]. Биты [Nd+Na+23:Na+24] соответствует полю данных D[Nd-1:0].For command 011, bits [15: 8] correspond to the number of bits of address Na [7: 0] field. Bits [23:16] correspond to the field the number of data bits Nd [7: 0]. Bits [Na + 23: 24] corresponds to the address field A [Na-1: 0]. Bits [Nd + Na + 23: Na + 24] corresponds to the data field D [Nd-1: 0].

После формирования команды блок формирования пакета 9 передает на блок UDP обработки 3, где осуществляется упаковка управляющего пакета в UDP дейтаграмму, IP пакет и Ethernet кадр. После произведенных манипуляций полученный кадр передаются на блок передачи 2 через среду передачи. Поступив на блок передачи, данные поступают на блок UDP обработки 22, где осуществляется выделение полезных данных UDP дейтаграммы, в зависимости от значения идентификатора данные UDP дейтаграммы поступают на блок обработки управляющих команд 23. После этого данные передаются на блок приема управляющих команд 30, где происходит первоначальная обработка управляющей команды, а затем данные передаются на блок демультиплексирования управляющих пакетов 28, где происходит процесс демультиплексирования таким образом, что пакеты с командой 00Х передаются на блок обработки полезной нагрузки 25, а пакеты с командой 01Х передаются на блок прикладного уровня 24.After the formation of the command, the packet forming unit 9 transmits to the UDP processing unit 3, where the control packet is packed into a UDP datagram, IP packet, and Ethernet frame. After the manipulations, the received frame is transmitted to transmission unit 2 through the transmission medium. Having arrived at the transmission unit, the data arrives at the UDP processing unit 22, where the useful data of the UDP datagram is extracted, depending on the identifier value, the UDP data of the datagram is fed to the processing unit of the control commands 23. After that, the data is transmitted to the reception block of the control commands 30, where initial processing of the control command, and then the data is transmitted to the demultiplexing unit of the control packets 28, where the demultiplexing process takes place so that packets with the 00X command are transmitted tsya on payload processing unit 25, and packets with 01X command transmitted to the application layer unit 24.

Поступив с блока демультиплексирования 28 на блок обработки полезной нагрузки 25, данные передаются на блок управления системой перезапроса 37. Если управляющая команда 000, то значение номера в пакете записывается в счетчик обработанных данных 31. Если приходит управляющая команда 001, то команда поступает на блок мультиплексирования 36 и блок чтения полезных данных 35. После этого начинается процесс считывания по указанному адресу, который определяется, исходя из номера пакета. Чтение осуществляется по интерфейсу Avalon-MM, данные приходят из блока хранения полезных данных 26 на блок чтения полезных данных 35. При приходе управляющего сигнала на блок мультиплексирования полезных данных 36 осуществляется его переключение на работу с блоком чтения полезных данных 35. Блок мультиплексирования полезных данных 36 осуществляет мультиплексирование и формирование дейтаграммы, дейтаграмма формируется аналогично новой, за исключением поля CI[5], в которое устанавливается значение 0, что сигнализирует о том, что дейтаграмма повторяется.Having arrived from the demultiplexing unit 28 to the processing unit of the payload 25, the data is transmitted to the control unit of the reset system 37. If the control command is 000, then the number value in the packet is written to the processed data counter 31. If the control command 001 arrives, then the command is sent to the multiplexing unit 36 and the payload reading unit 35. After that, the reading process starts at the specified address, which is determined based on the packet number. Reading is performed via the Avalon-MM interface, data comes from the payload storage unit 26 to the payload reading unit 35. When a control signal arrives at the payload multiplexing unit 36, it switches to work with the payload reading unit 35. Payload data multiplexing unit 36 It performs multiplexing and formation of a datagram, a datagram is formed similarly to a new one, except for the CI field [5], which sets the value to 0, which indicates that the datagram is retried rushing.

В случае, когда разница между счетчиком обработанных данных и счетчиком переданных данных больше значения коэффициента латентности формируется управляющий сигнал на блок управления системой перезапроса 37, после чего управляющий сигнал подается на блок формирования пакета ошибки 33. В блоке формирования пакета ошибки 33, осуществляется формирование команды имеющей поле данных и поле адреса, после чего данная команда подается на блок формирования пакета ошибки 33, а затем передается на блок обработки управляющих команд 23.In the case where the difference between the processed data counter and the transmitted data counter is greater than the latency coefficient, a control signal is generated on the control unit of the re-request system 37, after which the control signal is supplied to the error packet generating unit 33. In the error packet generating unit 33, a command having a data field and an address field, after which this command is sent to the error packet generating unit 33, and then transmitted to the control command processing unit 23.

Для взаимодействия блоков прикладного уровня блока передачи и блока приема имеется определенный механизм. В блоке передачи имеется интерфейс между блоком обработки управляющих команд 23 и блоком прикладного уровня 24. Данный интерфейс функционирует в обоих направлениях, а именно, управляющий сигнал из 23 передается на блок 24, а сигналы с блока 24 передаются на блок 23. Аналогичный интерфейс имеется и в блоке приема 1. Управляющие сигналы с блока обработки управляющих команд 4 поступает на блок прикладного уровня 6. А управляющие сигналы с блока прикладного уровня 6 поступают на блок обработки управляющих команд 4. Управляющие команды с блока управляющих команд передаются на блок мультиплексирования управляющих пакетов 27, который осуществляет процесс мультиплексирования сигналов идущих от блока обработки полезных данных 25 и блока прикладного уровня 24. После мультиплексирования данные подаются на блок мультиплексирования 27, после этого управляющие сигналы поступают на блок отправки управляющих команд 29. В блоке отправки управляющих команд 29 осуществляется упаковка команд и добавление в пакет служебной информации. Из блока отправки управляющих команд 29 данные поступают на блок обработки управляющих команд. После этого данные поступают на блок UDP обработки 22. В блоке UDP обработки 22, осуществляется упаковка данных в пакеты транспортного, сетевого и канального уровней.There is a certain mechanism for the interaction of the application level blocks of the transmission unit and the reception unit. The transmission unit has an interface between the control command processing unit 23 and the application layer unit 24. This interface operates in both directions, namely, the control signal from 23 is transmitted to block 24, and the signals from block 24 are transmitted to block 23. A similar interface is also available. in the receiving unit 1. The control signals from the processing unit of the control commands 4 are supplied to the application unit 6. And the control signals from the application level 6 are sent to the processing unit of control commands 4. The control commands from the control unit their commands are transmitted to the control packet multiplexing unit 27, which carries out the process of multiplexing the signals coming from the payload processing unit 25 and the application layer unit 24. After multiplexing, the data are fed to the multiplexing unit 27, after which the control signals are sent to the control command sending unit 29. B the control command sending unit 29, the teams are packaged and service information is added to the packet. From the control command sending unit 29, the data is supplied to the control command processing unit. After that, the data arrives at the UDP processing unit 22. In the UDP processing unit 22, the data is packaged into packets of the transport, network and data link layers.

Таким образом, достигнут положительный эффект, заключающийся в практически полном исключении потери данных, при сохранении высоких скоростных характеристик.Thus, a positive effect was achieved, consisting in the almost complete elimination of data loss, while maintaining high speed characteristics.

Для технической реализации способа и устройства повторной передачи данных по протоколу пользовательских дейтаграмм использован модуль ввода/вывода в форм-факторе PCI Express х4 ВУКТ.467149.604, разработанный на базе ПЛИС фирмы Altera Cyclone V 5CGTFD7C5U19I7, имеющий в своем составе 256 МБ оперативной памяти DDR3, и два интерфейса Ethernet 1 Гбит/с.For the technical implementation of the method and device for retransmitting data using the user datagram protocol, an I / O module in the PCI Express x4 VUKT.467149.604 form factor developed on the basis of the Altera Cyclone V 5CGTFD7C5U19I7 FPGA with 256 MB of DDR3 RAM is used, and two Ethernet 1 Gb / s interfaces.

Способ и устройство повторной передачи данных по протоколу пользовательских дейтаграмм, по сравнению с прототипом, позволяет практически исключить потерю данных, так как устройство при невыполнении перезапроса, возникающего при ненулевом значении коэффициента потерь в сети, повторяет его до переполнения блока хранения полезных данных, в качестве которого выступает оперативное запоминающее устройство (ОЗУ). Например, объем ОЗУ 2 Гигабайта, обеспечивает хранение около 1369000 дейтаграмм стандартного размера (не более 1460 байт). Через сетевой интерфейс Ethernet со скоростью передачи 1 Гбит/с, за одну секунду передать 134217728 (байт в секунду) / (1460 байт полезные данные + 42 байта служебные данный) ≈ 89359 дейтаграмм в секунду. Перезапрос дейтаграммы при стандартной топологии сети будет выполнен менее чем за 1*10-3 секунды (среднее время прохождения команды Ping), за это время по интерфейсу Ethernet со скоростью передачи 1 Гбит/с передается около 90 дейтаграмм. Что обеспечивает около (1369000 дейтаграмм в ОЗУ / 90 дейтаграмм) ≈ 15211 возможностей выполнить запрос на дейтаграмму и получить ответ в течении (1369000 дейтаграмм в ОЗУ / 89 359 дейтаграмм в секунду) ≈ 15 секунд.The method and device for retransmitting data using the user datagram protocol, in comparison with the prototype, allows virtually eliminating data loss, since the device, when the re-request occurs when the loss factor in the network is nonzero, repeats it until the useful data storage unit is full, which stands for random access memory (RAM). For example, the amount of RAM 2 gigabytes, provides storage of about 1369000 datagrams of a standard size (not more than 1460 bytes). Through the Ethernet network interface with a transmission speed of 1 Gbit / s, transfer 134217728 (bytes per second) / (1460 bytes useful data + 42 bytes service data) in one second ≈ 89359 datagrams per second. Re-querying the datagram with the standard network topology will be performed in less than 1 * 10 -3 seconds (the average time it takes for the Ping command to pass), during which time about 90 datagrams are transmitted via the Ethernet interface with a transmission speed of 1 Gbit / s. That provides about (1369000 datagrams in RAM / 90 datagrams) ≈ 15211 possibilities to fulfill a request for a datagram and get a response within (1369000 datagrams in RAM / 89 359 datagrams per second) ≈ 15 seconds.

Claims (3)

1. Способ повторной передачи данных по протоколу пользовательских дейтаграмм (UDP), состоящий из следующих шагов: данные, пришедшие от передатчика, записывают в блок хранения полезных данных последовательно по мере прихода, параллельно осуществляют чтение и детектируют факт потери дейтаграммы, формируют команду перезапроса, отправляют команду на формирование запроса повтора дейтаграммы блоку обработки управляющих команд, отправляют сформированный запрос повтора блоку передачи, при приеме запроса на повтор блоком передачи дейтаграмм выполняют повторную передачу запрашиваемой дейтаграммы, при получении соответствующей дейтаграммы продолжают осуществлять чтение при помощи блока чтения полезных данных из блока хранения полезных данных и детектирование пропущенных дейтаграмм, отличающийся тем, что факт детектирования потери дейтаграммы определяют при отсутствии метки о приходе следующей дейтаграммы в блоке хранения служебной информации на момент его чтения и отправляют команду блоку управления чтением и поиском потерянных дейтаграмм, при получении данной команды и ненулевом значении таймера запускают таймер перезапроса и осуществляют поиск потерянных дейтаграмм, поиск потерянных дейтаграмм осуществляют в интервале от индекса самого старшего прочитанного пакета до индекса самой старшей записанной дейтаграммы в блоке хранения служебной информации, индексы потерянных дейтаграмм помещают в промежуточный буфер FIFO, при наличии данных в буфере FIFO индексы считывают и формируют команду перезапроса с соответствующим индексом, при поступлении команды перезапроса в блок передачи сравнивают значение полученного индекса с нижней границей принятых дейтаграмм, если значение больше, то отправляют запрашиваемый пакет, в противном случае осуществляют формирование пакета ошибки, при приходе потерянных дейтаграмм сбрасывают таймер и продолжают чтение памяти и детектирование факта потери, в противном случае при достижении таймером максимального значения осуществляют поиск пропущенных пакетов, перезапускают таймер перезапроса и формируют перезапрос.1. A method of retransmitting data using the User Datagram Protocol (UDP), consisting of the following steps: the data received from the transmitter is recorded sequentially as it arrives into the storage block of useful data, it is read in parallel and the fact that the datagram is lost is generated, a reboot command is generated, and it is sent a command to generate a repeat request for the datagram to the control processing unit, send the generated repeat request to the transfer unit, when you receive a request for retry by the transfer unit of the datagram complete the retransmission of the requested datagram; upon receipt of the corresponding datagram, they continue to read using the payload reading unit from the payload storage unit and detecting the missed datagrams, characterized in that the fact of detecting the loss of the datagram is determined in the absence of a mark about the arrival of the next datagram in the service information storage unit at the time of its reading, and send a command to the control unit for reading and searching for lost datagrams, upon receipt of this command a nonzero value of the timer starts the re-timer and searches for lost datagrams, searches for lost datagrams in the interval from the index of the oldest read packet to the index of the oldest recorded datagram in the service information storage unit, the indices of lost datagrams are placed in the intermediate FIFO buffer, if there is data in the buffer FIFO indices read and form a re-request command with the corresponding index, when a re-request command is received in the transmission unit, the value p of the obtained index with the lower boundary of the received datagrams, if the value is greater, then the requested packet is sent, otherwise they generate an error packet, when the lost datagrams arrive, they reset the timer and continue reading memory and detecting the fact of loss, otherwise, when the timer reaches the maximum value, search missed packets, restart the re-timer and form a re-request. 2. Способ по п. 1, отличающийся тем, что каждый раз при прочтении N дейтаграмм приемник отправляет передатчику команду увеличения нижней границы, значение нижней границы равняется предыдущему значению индекса + N.2. The method according to p. 1, characterized in that each time when reading N datagrams, the receiver sends the transmitter a command to increase the lower boundary, the lower boundary value is equal to the previous index value + N. 3. Устройство повторной передачи информации по протоколу пользовательских дейтаграмм, содержащее блок приема и блок передачи, при этом блок приема состоит из блока обработки управляющих команд, включающего в себя блок приема управляющих команд, блок формирования пакета, блок мультиплексирования передаваемых пакетов, блока передачи содержащего блок UDP обработки, блок обработки управляющих команд, блок прикладного уровня, блок обработки полезной нагрузки, блок хранения полезных данных, блока обработки управляющих команд, состоящего из блока отправки управляющих команд, блока приема управляющих команд, блока мультиплексирования управляющих пакетов, блока демультиплексирования управляющих пакетов, отличающееся тем, что блок обработки полезной нагрузки блока приема состоит из блока FIFO, таймера перезапроса, блока приема данных полезной нагрузки, блока записи полезных данных в блок хранения полезных данных, блока записи служебной информации в блок хранения служебной информации, блока управления чтением и поиском потерянных дейтаграмм, блока поиска потерянных дейтаграмм, блока чтения полезных данных, мультиплексора чтения и поиска дейтаграмм, счетчика записанных/прочитанных дейтаграмм, блока обработки полезной нагрузки блока отправки, включающего в себя счетчик обработанных данных, счетчик переданных данных, блок формирования пакета ошибки, блок записи полезных данных, блок чтения полезных данных, блок мультиплексирования полезных данных, блок управления системой перезапроса.3. A device for retransmission of information according to the user datagram protocol, comprising a reception unit and a transmission unit, wherein the reception unit consists of a control command processing unit including a control command reception unit, a packet forming unit, a transmitted packet multiplexing unit, a transmission unit containing a unit UDP processing, control command processing block, application layer block, payload processing block, payload storage block, control command processing block, consisting of b sending control commands, control command receiving block, control packet multiplexing block, control packet demultiplexing block, characterized in that the payload processing block of the receiving block consists of a FIFO block, a re-timer, a payload data receiving block, a payload recording block to the block storage of useful data, a unit for recording service information in a unit for storing service information, a control unit for reading and searching for lost datagrams, a unit for searching for lost datagrams , a unit for reading useful data, a multiplexer for reading and searching for datagrams, a counter for recorded / read datagrams, a unit for processing a payload of a unit for sending, including a counter for processed data, a counter for transmitted data, an unit for generating an error packet, a unit for recording useful data, a unit for reading useful data , payload multiplexing unit, re-request control unit.
RU2015155801A 2015-12-24 2015-12-24 Method and device for retransmitting data via user datagram protocol RU2610697C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2015155801A RU2610697C1 (en) 2015-12-24 2015-12-24 Method and device for retransmitting data via user datagram protocol

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2015155801A RU2610697C1 (en) 2015-12-24 2015-12-24 Method and device for retransmitting data via user datagram protocol

Publications (1)

Publication Number Publication Date
RU2610697C1 true RU2610697C1 (en) 2017-02-14

Family

ID=58458567

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2015155801A RU2610697C1 (en) 2015-12-24 2015-12-24 Method and device for retransmitting data via user datagram protocol

Country Status (1)

Country Link
RU (1) RU2610697C1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2736332C1 (en) * 2019-12-30 2020-11-16 федеральное государственное автономное образовательное учреждение высшего образования "Санкт-Петербургский политехнический университет Петра Великого" (ФГАОУ ВО "СПбПУ") Method of organizing connection to network of reference sensors on information channel

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2224377C2 (en) * 2000-02-26 2004-02-20 Самсунг Электроникс Ко., Лтд. Device and method for transmitting/receiving network bit stream
RU2237373C1 (en) * 2003-02-18 2004-09-27 Федеральное государственное цнитарное предприятие Ленинградский отраслевой научно-исследовательский институт связи Method for organizing clocking system for digital signal transfer in network communication center
RU2298289C2 (en) * 2001-06-30 2007-04-27 Нокиа, Инк. Device and method for delivering packets in wireless networks with multiple retranslations
US20100304734A1 (en) * 2007-02-07 2010-12-02 Telefonaktiebolaget Lm Ericsson (Publ) Method and a Device for Improved Retransmissions
RU2449479C2 (en) * 2006-02-07 2012-04-27 Алькатель Люсент Device and method for reducing effects of impulse noise on data bursts transmission
RU2485700C2 (en) * 2007-09-14 2013-06-20 Нокиа Сименс Нетворкс Ой Method for cyclic distribution of band width with provision of possibility of hybrid automatic repeat request
RU2501172C2 (en) * 2009-02-09 2013-12-10 Зте Корпорейшн Method and apparatus for packet loss compensation in user datagram protocol transmission mode

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2224377C2 (en) * 2000-02-26 2004-02-20 Самсунг Электроникс Ко., Лтд. Device and method for transmitting/receiving network bit stream
RU2298289C2 (en) * 2001-06-30 2007-04-27 Нокиа, Инк. Device and method for delivering packets in wireless networks with multiple retranslations
RU2237373C1 (en) * 2003-02-18 2004-09-27 Федеральное государственное цнитарное предприятие Ленинградский отраслевой научно-исследовательский институт связи Method for organizing clocking system for digital signal transfer in network communication center
RU2449479C2 (en) * 2006-02-07 2012-04-27 Алькатель Люсент Device and method for reducing effects of impulse noise on data bursts transmission
US20100304734A1 (en) * 2007-02-07 2010-12-02 Telefonaktiebolaget Lm Ericsson (Publ) Method and a Device for Improved Retransmissions
RU2485700C2 (en) * 2007-09-14 2013-06-20 Нокиа Сименс Нетворкс Ой Method for cyclic distribution of band width with provision of possibility of hybrid automatic repeat request
RU2501172C2 (en) * 2009-02-09 2013-12-10 Зте Корпорейшн Method and apparatus for packet loss compensation in user datagram protocol transmission mode

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2736332C1 (en) * 2019-12-30 2020-11-16 федеральное государственное автономное образовательное учреждение высшего образования "Санкт-Петербургский политехнический университет Петра Великого" (ФГАОУ ВО "СПбПУ") Method of organizing connection to network of reference sensors on information channel

Similar Documents

Publication Publication Date Title
US9030936B2 (en) Flow control with reduced buffer usage for network devices
JP3682082B2 (en) Apparatus and method for packet processing in packet switching network and frame processing system for frame relay network
EP0525985B1 (en) High speed duplex data link interface
JP3682081B2 (en) Communication system and frame relay network for data transfer and method for transferring data packets
US20130114598A1 (en) Packet ordering based on delivery route changes in communication networks
WO2009021417A1 (en) A method, system and device for transmitting and receiving the network data
KR101913972B1 (en) Efficient link layer retry protocol utilizing implicit acknowledgements
JPH11187051A (en) Method and device for transmitting packet data from medium access controller
CN103141050B (en) Data packet retransmission method and node in quick path interconnect system
US20110286461A1 (en) Packet sorting device, receiving device and packet sorting method
US11681470B2 (en) High-speed replay of captured data packets
US20140108878A1 (en) Method, Apparatus, and System for Retransmitting Data Packet in Quick Path Interconnect System
JPH07321842A (en) Apparatus for interfacing packet switching network to plurality of data terminals,module for interfacing plurality of end points to system that switches frame relay packet,and method for interfacing terminal to system that switches data packet
WO2006107423A2 (en) Error recovery mechanism and network element comprising same
CN101026441A (en) Automatic erroneous data packet repeating method and retransmission buffer
CN118158487B (en) Video data transmission system and method
US8054847B2 (en) Buffer management in a network device
RU2610697C1 (en) Method and device for retransmitting data via user datagram protocol
JP2005018768A (en) Dual-port functionality for single-port cell memory device
CN111147175B (en) Time-triggered Ethernet data frame capturing and storing device and method
US6023472A (en) High speed FD/HD data translator and network
JP2004080226A (en) Proxy fc port, fc network, and fc transmission transfer method used for them
WO2011026508A1 (en) Method for distributing data traffic over radio links
US8050294B2 (en) Method and system for transmitting in TDM mode
JP2007259374A (en) Network transmitter/receiver

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20181225