RU2610697C1 - Method and device for retransmitting data via user datagram protocol - Google Patents
Method and device for retransmitting data via user datagram protocol Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/18—Automatic repetition systems, e.g. Van Duuren systems
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/04—Arrangements 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
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
В блоке приема первый вход блока 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
Предлагаемое устройство работает следующим образом.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
В блоке UDP обработки 22 осуществляется упаковка приходящего пакета, пакет упаковывается в начале в UDP дейтаграмму, потом в IP пакет и Ethernet кадр. После процесса упаковки данные передаются в среду передачи и достигают блока приема 1.In the
Поступившие на блок 1 приема данные передаются на блок UDP обработки 3. В блоке UDP обработки 3 осуществляется считывание идентификатора, который сигнализирует о том, что данное устройство относится к устройствам, позволяющим осуществить повторную передачу, после чего считывается значение 4 бита служебной информации для определение класса информации, если дейтаграмма относится к служебной информации, то отправляется на блок обработки управляющих команд 4, если к данным, то на блок обработки полезной нагрузки 5. Блок обработки полезной нагрузки 5 предназначен для осуществления упорядочивания пакетов, проверки на наличие потерянных дейтаграмм, поиска потерянных дейтаграмм, осуществления запроса повторной передачи. После передачи на блок обработки полезной нагрузки 5 данные поступают на блок приема данных полезной нагрузки 14. В данном блоке осуществляется чтение 24-битного номера пакета и выделение из пакета полезных данных. Полезные данные и номер пакета передаются на блок записи полезных данных в блок хранения полезных данных 15, номер пакета кроме этого также передается на блок записи служебной информации 16.The data received at
Блок приема данных полезной нагрузки 14 осуществляет считывание по адресу номера пакета содержимое блока хранения служебной информации 7. Данные (CONI) из блока хранения служебной информации 7 передаются на блок приема данных полезной нагрузки 14. Размер хранимых данных CONI по адресу в блоке хранения служебной информации 7 составляет 2 бита. CONI[0] определяет наличие данных в памяти по данному адресу, 1 устанавливается в случае, если данные были ранее записаны, 0 соответственно в противном случае, CONI[1] определяет новизну записанных данных, 1 - пакет новый, 0 - старый.The payload
Условие записи полезных данных можно сформировать следующим образом:The condition for recording useful data can be formed as follows:
Если на блок приема данных полезной нагрузки 14 подается новый пакет, то независимо от содержимого в поле по данному адресу, производят операцию записи пакета, в случае если в блоке хранения служебной информации 7 по данному адресу отсутствует пакет, запись осуществляется независимо от служебной информации в принятом пакете, также если пришел пакет с битом CI[1] равным 0, то пакет записывается только в том случае, если в блоке хранения служебной информации 7 бит CONI[1] установлен в 0.If a new packet is supplied to the payload
При возникновении операции записи в блок хранения полезных данных поступают номер пакета 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
Автомат состояния (фиг. 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
Во время чтения служебной информации, блок чтения 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
В случае если при чтении из блока хранения служебной информации 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
Если верхняя граница записи была достигнута раньше чем таймер перезапроса 13 достиг максимального значение, автомат состояний из состояния LOOKFOR переходит в состояние READ, если блок чтения полезных данных 19 все равно сигнализирует об отсутствии пакета, автомат переходит в состояние WAIT, где ожидает достижения максимального значения таймера, в противном случает автомат продолжает находится в состоянии READ, а значение таймера сбрасывается. Если автомат находится в состоянии WAIT, то автомат ожидает достижения максимального значения счетчика, переходит в состояние READ и осуществляет сброс таймера перезапроса 13. При достижении счетчика записанных/прочитанных дейтаграмм в состоянии READ нулевого значения, автомат переходит в состояние IDLE.If the upper limit of the recording was reached before the flashing
Как было рассмотрено выше, на блок обработки управляющих команд 4 поступают управляющие сигналы с блока обработки полезной нагрузки 5. Управляющие сигналы с блока обработки полезной нагрузки 5 поступают на блок мультиплексирования передаваемых пакетов 11. Сигнал с блока прикладного уровня 6 поступает на блок мультиплексирования передаваемых пакетов 11. Этот сигнал управления предназначен для отправки управляющих пакетов на блок прикладного уровня 6.As discussed above, control signals from the
Блок мультиплексирования управляющих пакетов 11 предназначен для объединения параллельных управляющих сигналов и разнесения их во времени. Блок мультиплексирования управляющих пакетов 11 после объединения параллельных управляющих сигналов и разнесения их во времени передает полученные сигналы на блок формирования пакета 9. При передаче служебной информации возможно 3 типа управляющих команд:The control
- команды очистки блока хранения полезных данных 26;- cleaning command storage unit
- команда формирования перезапроса на повторную передачу;- a command for generating a retransmission request for retransmission;
- команда для блока прикладного уровня 24.- command for the
В таблице 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
- 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
- 011 - команда для блока прикладного уровня передачи 24, для 64-битной архитектуры.- 011 - command for the block of the application layer of the
Для команд 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
Поступив с блока демультиплексирования 28 на блок обработки полезной нагрузки 25, данные передаются на блок управления системой перезапроса 37. Если управляющая команда 000, то значение номера в пакете записывается в счетчик обработанных данных 31. Если приходит управляющая команда 001, то команда поступает на блок мультиплексирования 36 и блок чтения полезных данных 35. После этого начинается процесс считывания по указанному адресу, который определяется, исходя из номера пакета. Чтение осуществляется по интерфейсу Avalon-MM, данные приходят из блока хранения полезных данных 26 на блок чтения полезных данных 35. При приходе управляющего сигнала на блок мультиплексирования полезных данных 36 осуществляется его переключение на работу с блоком чтения полезных данных 35. Блок мультиплексирования полезных данных 36 осуществляет мультиплексирование и формирование дейтаграммы, дейтаграмма формируется аналогично новой, за исключением поля CI[5], в которое устанавливается значение 0, что сигнализирует о том, что дейтаграмма повторяется.Having arrived from the
В случае, когда разница между счетчиком обработанных данных и счетчиком переданных данных больше значения коэффициента латентности формируется управляющий сигнал на блок управления системой перезапроса 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
Для взаимодействия блоков прикладного уровня блока передачи и блока приема имеется определенный механизм. В блоке передачи имеется интерфейс между блоком обработки управляющих команд 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
Таким образом, достигнут положительный эффект, заключающийся в практически полном исключении потери данных, при сохранении высоких скоростных характеристик.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
Способ и устройство повторной передачи данных по протоколу пользовательских дейтаграмм, по сравнению с прототипом, позволяет практически исключить потерю данных, так как устройство при невыполнении перезапроса, возникающего при ненулевом значении коэффициента потерь в сети, повторяет его до переполнения блока хранения полезных данных, в качестве которого выступает оперативное запоминающее устройство (ОЗУ). Например, объем ОЗУ 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
Claims (3)
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)
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)
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 |
-
2015
- 2015-12-24 RU RU2015155801A patent/RU2610697C1/en not_active IP Right Cessation
Patent Citations (7)
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)
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 |