CN114785464A - Automatic data retransmission method and application of wireless ad hoc network - Google Patents

Automatic data retransmission method and application of wireless ad hoc network Download PDF

Info

Publication number
CN114785464A
CN114785464A CN202210694224.1A CN202210694224A CN114785464A CN 114785464 A CN114785464 A CN 114785464A CN 202210694224 A CN202210694224 A CN 202210694224A CN 114785464 A CN114785464 A CN 114785464A
Authority
CN
China
Prior art keywords
window
receiving
sending
data
node
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CN202210694224.1A
Other languages
Chinese (zh)
Other versions
CN114785464B (en
Inventor
黄沛瑜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sinomatin Technology Shenzhen Co ltd
Original Assignee
Sinomatin Technology Shenzhen Co ltd
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 Sinomatin Technology Shenzhen Co ltd filed Critical Sinomatin Technology Shenzhen Co ltd
Priority to CN202210694224.1A priority Critical patent/CN114785464B/en
Publication of CN114785464A publication Critical patent/CN114785464A/en
Application granted granted Critical
Publication of CN114785464B publication Critical patent/CN114785464B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • H04L1/1806Go-back-N protocols
    • 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
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1835Buffer management
    • 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
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Abstract

The invention discloses a data automatic retransmission method of a wireless ad hoc network and application thereof, and relates to the technical field of data transmission of wireless communication. The method comprises the following steps: acquiring node IDs of nodes in a wireless ad hoc network needing data retransmission; configuring a corresponding node window queue for each node to display ARQ (automatic repeat request) transceiving window information of all nodes in one hop of the node, wherein the ARQ transceiving window information comprises a transmitting window and a receiving window which are aligned, and an Arq _ tx module and an Arq _ rx module are respectively arranged on the corresponding transmitting window and the corresponding receiving window; monitoring window alignment information of a sending window and a receiving window, triggering window resetting when the sending window is not aligned with the receiving window so as to align the windows, and configuring reset mark information for the reset windows. The invention improves the retransmission processing efficiency and reliability of automatic data retransmission under the condition that the transmission layer adopts UDP, and is suitable for the ad hoc network system with high reliability requirement on data transmission under the UDP scene.

Description

Automatic data retransmission method and application of wireless ad hoc network
Technical Field
The invention relates to the technical field of data transmission of wireless communication, in particular to a data automatic retransmission method and application of a wireless ad hoc network.
Background
A wireless Ad-Hoc Network (MANET) is a wireless Mobile communication Network consisting of a set of Mobile nodes with wireless transceivers, which transmits multimedia information streams with quality of service requirements through dynamic routing and mobility management techniques. The wireless ad hoc network is not temporarily built depending on preset infrastructure, mobile nodes of the network exchange information by using wireless transceiving equipment of the mobile nodes, and when the mobile nodes are not in a communication range, communication can be realized by other nodes. When the intermediate node assists other nodes to relay, the intermediate node receives the packet sent by the previous node and then forwards the packet to the next node to realize the relay, so the intermediate node is also called a packet radio network or a multi-hop network. The network form breaks through the geographical limitation of the traditional wireless cellular network, and can be deployed more quickly, conveniently and efficiently.
In a wireless ad hoc network scenario, due to the influence of flexible mobility of networking equipment and complexity of a wireless environment, data transmission has instability, which causes problems of data error code, packet loss and the like, for example, the quality of a received signal is poor due to shielding of other moving objects or buildings between the networking equipment, and meanwhile, the reliability of data transmission is also influenced due to the existence of other working same-frequency equipment in the wireless environment. In order to improve stability and reliability of data transmission, the conventional practice in the industry at present: physical layer channel coding and decoding algorithm optimization (QPSK), MAC (medium access Control layer) layer anti-interference algorithm (i.e., frequency hopping technique), and transport layer Protocol TCP (Transmission Control Protocol).
The transport layer TCP protocol is a connection-oriented data transmission protocol, and must establish a reliable connection with another party before data is transmitted and received, so as to provide reliable communication transmission. Generally, a TCP connection must be established through three sessions (i.e. TCP three-way handshake process), which is complicated and requires more system resources. Therefore, in some application scenarios, such as when system resources are tight, the transmission layer is not suitable for data transmission using TCP, but is suitable for using UDP (User Datagram Protocol) based connectionless. UDP is a non-connected protocol where the source and terminal do not establish a connection before transmitting data, and when it wants to transmit it simply grabs the data from the application and throws it on the network as soon as possible. At the sending end, the speed of data transmission by UDP is limited only by the speed of data generation by the application program, the capability of the computer and the transmission bandwidth; at the receiving end, UDP places each message segment in a queue, from which the application reads one message segment at a time. UDP uses a policy that makes best effort delivery, but does not guarantee reliable delivery, so that the host no longer needs to maintain a complex link state table. However, since UDP does not provide a logic control mechanism for data (which transfers the logic control mechanism to an application for processing), if problems such as packet loss and packet arrival sequence disorder occur during data transmission, the application using UDP is usually used for processing.
On the other hand, Automatic Repeat-Request (ARQ) of data is a currently used method for handling errors caused by channels (ARQ is one of error correction protocols of a data link layer in the OSI model, and recovers an erroneous data message by a receiver requesting a sender to retransmit the erroneous data message). Generally speaking, after a data packet is sent out, only after receiving a reply from the other party, the sender considers that the data packet is correctly received, and judges whether to retransmit the data according to the reply information, which is generally called ack (acknowledged) retransmission mechanism, which is an essential part of modern communication in order to ensure the reliability of data transmission. Currently, the conventional automatic repeat request is divided into three types: Stop-and-Wait ARQ (Stop-and-Wait ARQ), backoff N-frame ARQ (Go-Back-N ARQ), and selective Repeat ARQ (selective Repeat ARQ); the difference between the three is that the processing mechanism for the erroneous data packet is different. However, because there are many nodes in the wireless ad hoc network and the time frame is long, the above-mentioned existing data retransmission method may cause the node transmission efficiency to decrease and the data retransmission time to be prolonged, and is difficult to be used in the wireless ad hoc network system having a high reliability requirement for data transmission in a UDP scene.
In summary, according to the characteristics of multiple nodes and long time frames in the wireless ad hoc network, when the transport layer uses the UDP protocol for data transmission, how to configure an automatic retransmission policy under the wireless ad hoc network to improve the data retransmission efficiency and transmission reliability between the nodes is a technical problem that needs to be solved urgently at present.
Disclosure of Invention
The invention aims to: the method overcomes the defects of the prior art and provides the automatic data retransmission method and the application of the wireless ad hoc network. According to the networking characteristics in the wireless ad hoc network, the invention configures the corresponding node window queue aiming at the node needing data retransmission to display the ARQ transmitting and receiving window information of all nodes in one hop of the node, and configures the data in the transmitting window and the receiving window of the ARQ transmitting and receiving window through the Arq _ tx module and the Arq _ rx module of the ARQ receiving module, thereby improving the retransmission processing efficiency and reliability of automatic data retransmission under the condition that a transmission layer adopts UDP, and being suitable for the ad hoc network system with high reliability requirement on data transmission under the condition of UDP.
In order to achieve the above object, the present invention provides the following technical solutions.
A data automatic retransmission method of a wireless ad hoc network comprises the following steps:
acquiring node IDs of nodes in a wireless ad hoc network needing data retransmission;
configuring corresponding node window queues for each node, wherein one node ID corresponds to one node window queue, and ARQ transmitting and receiving window information of all nodes in one hop of the node is displayed in the node window queues, wherein the ARQ transmitting and receiving windows comprise aligned transmitting windows and receiving windows, and an ARQ transmitting module Arq _ tx module and an ARQ receiving module Arq _ rx module are respectively arranged corresponding to the transmitting windows and the receiving windows;
monitoring window alignment information of a sending window and a receiving window, triggering window resetting when the sending window is not aligned with the receiving window so as to align the windows, wherein the window resetting comprises sending window resetting and receiving window resetting, and resetting mark information is configured on the reset windows;
wherein the Arq _ tx module is configured to: when the data can be sent is judged, the protocol data unit LLC PDU of the logical link control layer LLC layer is received and then encapsulated into the protocol data unit MAC PDU of the medium access control layer MAC layer, the MAC PDU is sent to the sending window and sent to the physical layer, the overtime timer is started, and when the sending window is reset, the MAC PDU is sent with the reset mark; and displaying the MAC PDU through the sending window until after an acknowledgement message ACK replied by a receiving end is received or the MAC PDU reaches a preset maximum retransmission time, clearing the MAC PDU from the sending window to release the cache, and simultaneously executing window sliding forward operation to inquire the next data capable of being sent.
Further, the Arq _ rx module is configured to:
after receiving the MAC PDU of the node, analyzing a reset mark and a PDU serial number SN in an LLC PDU header in the MAC PDU; judging whether to discard the current LLC PDU or load the LLC PDU into a receiving window according to the reset mark, the PDU serial number SN and the reset information of the receiving window; when loading the LLC PDU into a receiving window, starting an overtime receiving timer of the LLC PDU, checking window bottom information of the receiving window, and when the window bottom has data, converting the LLC PDU into a service data unit LLC SDU of an LLC layer of a logical link control layer from the window bottom in sequence and then transmitting the service data unit LLC SDU to a network layer until the window bottom has no data.
Further, the step of determining whether to discard the current LLC PDU or load the LLC PDU into the receive window is as follows:
acquiring reset marks of a sending window and a receiving window, and judging whether the sending window and the receiving window are reset or not;
when the receiving window is judged to be reset but the sending window is not reset, sending a window reset signaling to the sending end, discarding the current LLC PDU and ending the current receiving processing flow; the sending end can trigger the sending window to reset after receiving the window resetting signaling;
when the receiving window is judged not to be reset, continuously judging whether the SN is in the receiving window or not; when the SN is judged to be in the receiving window and the data is loaded at the corresponding position, the current LLC PDU is discarded, and the current receiving processing flow is ended; and loading the LLC PDU into the receiving window when the SN is judged to be in the receiving window and no data exists in the corresponding position.
Further, monitoring an overtime receiving timer of each sub-window of the receiving window, and triggering window sliding operation to adjust window bottom data when the overtime receiving timer of one sub-window is overtime;
the window sliding operation is to sequentially send the data in each sub-window before the sub-window to the upper layer module and clear the corresponding timeout receiving timer until the first sub-window after the sub-window which does not receive the data is taken as the window bottom.
Further, when the window bottom of the receiving window changes once, an ACK frame is generated, and the window bottom is used as an ACK serial number; the ACK frame is a variable-length frame, and the length range information is configured in a frame header identifier of the ACK frame.
Furthermore, the LLC PDU is formed by combining multiple SDUs or SDU SEGs, and an information header is configured in front of each SDU or SDU SEG in an LLC PDU so that a receiving end can parse and restore the SDU, the information header including segment markers and data length; and configuring a frame header aiming at each LLC PDU, wherein the frame header comprises a service type and a PDU serial number SN, and executing SN + +, after the SN is added to the frame header every time.
Further, the Arq _ tx module is further configured to:
polling the sending windows, and judging whether the sending windows are reset or not for each sending window;
when the sending window is reset and a sent data frame waits for ACK, judging that no data is sent, and ending the current sending processing flow; otherwise, it is determined that there is transmittable data.
Further, the Arq _ tx module is further configured to:
after sending the MAC PDU to the air interface, starting a retransmission overtime timer, wherein the MAC PDU can not be retransmitted before the retransmission overtime timer is overtime; when receiving NACK confirmation or the retransmission overtime timer overtime triggers retransmission, when receiving ACK confirmation, clearing the retransmission overtime timer;
when receiving a sending request of the MAC layer, judging the waiting information of the MAC PDU in the sending window; when the MAC PDUs in the sending window are waiting for ACK and are not overtime, triggering new MAC PDU sending and selecting an unused buffer for the new MAC PDU; and when the MAC PDU in the sending window waits overtime, the retransmitted MAC PDU is sent preferentially, and the buffer memory of the retransmitted MAC PDU is unchanged.
The invention also provides a data automatic retransmission device of the wireless ad hoc network, which comprises the following structures:
the node information acquisition module is used for acquiring the node ID of each node in the wireless ad hoc network needing data retransmission;
a transmitting and receiving window configuration module, configured to configure corresponding node window queues for the nodes, where one node ID corresponds to one node window queue, and ARQ transmitting and receiving window information of all nodes in one hop of the node is displayed in the node window queue, where the ARQ transmitting and receiving window includes aligned transmitting windows and receiving windows, and an ARQ transmitting module ARQ _ tx module and an ARQ receiving module ARQ _ rx module are respectively arranged in the corresponding transmitting windows and receiving windows;
the window resetting processing module is used for monitoring window alignment information of the sending window and the receiving window, triggering window resetting to align the windows when the sending window and the receiving window are not aligned, wherein the window resetting comprises sending window resetting and receiving window resetting, and resetting mark information is configured for the reset windows;
wherein the Arq _ tx module is configured to: when the data can be sent is judged, the protocol data unit LLC PDU of the logical link control layer LLC layer is received and then encapsulated into the protocol data unit MAC PDU of the medium access control layer MAC layer, the MAC PDU is sent to the sending window and sent to the physical layer, the overtime timer is started, and when the sending window is reset, the MAC PDU carries a reset mark to be sent; and displaying the MAC PDU through the sending window until after an acknowledgement message ACK replied by a receiving end is received or the MAC PDU reaches a preset maximum retransmission time, clearing the MAC PDU from the sending window to release the cache, and simultaneously executing window sliding forward operation to inquire the next data capable of being sent.
The invention also provides a data automatic retransmission system of the wireless ad hoc network, which comprises a plurality of nodes, wherein an ARQ processing device is arranged corresponding to each node;
the ARQ processing device is configured to: acquiring node IDs of nodes in a wireless ad hoc network needing data retransmission; configuring corresponding node window queues for each node, wherein one node ID corresponds to one node window queue, and ARQ transmitting and receiving window information of all nodes in one hop of the node is displayed in the node window queues, wherein the ARQ transmitting and receiving windows comprise aligned transmitting windows and receiving windows, and an ARQ transmitting module Arq _ tx module and an ARQ receiving module Arq _ rx module are respectively arranged corresponding to the transmitting windows and the receiving windows; monitoring window alignment information of a sending window and a receiving window, triggering window resetting when the sending window is not aligned with the receiving window so as to align the windows, wherein the window resetting comprises sending window resetting and receiving window resetting, and resetting mark information is configured for the reset windows;
the Arq _ tx module is configured to: when the data can be sent is judged, the protocol data unit LLC PDU of the logical link control layer LLC layer is received and then encapsulated into the protocol data unit MAC PDU of the medium access control layer MAC layer, the MAC PDU is sent to the sending window and sent to the physical layer, the overtime timer is started, and when the sending window is reset, the MAC PDU is sent with the reset mark; and displaying the MAC PDU through the sending window until the ACK returned by the receiving end is received or the MAC PDU reaches the preset maximum retransmission times, clearing the MAC PDU from the sending window to release the cache, and simultaneously executing window sliding forward operation to inquire the next data capable of being sent.
Due to the adoption of the technical scheme, compared with the prior art, the invention has the following advantages and positive effects by way of example: according to networking characteristics in a wireless ad hoc network, a corresponding node window queue is configured for a node needing data retransmission to display ARQ (automatic repeat request) receiving and transmitting window information of all nodes in one hop of the node, and data in a transmitting window and a receiving window of the ARQ receiving and transmitting window are configured through an ARQ transmitting module Arq _ tx module and an ARQ receiving module Arq _ rx module, so that the retransmission processing efficiency and reliability of automatic data retransmission under the condition that a transmission layer adopts UDP (user datagram protocol) are improved, and the method is suitable for an ad hoc network system with high reliability requirement on data transmission under the condition of UDP (user datagram protocol) scene.
Drawings
Fig. 1 is an exemplary diagram of a node window queue in an ad hoc network system according to an embodiment of the present invention.
Fig. 2 is a block diagram of data processing of network layer, LLC and MAC layers according to an embodiment of the present invention.
Fig. 3 is a logic flow diagram of ARQ sending and ARQ receiving according to an embodiment of the present invention.
Fig. 4 is a diagram illustrating an example of data transmission processing of an ARQ transceiving window according to an embodiment of the present invention.
Fig. 5 is a diagram illustrating an example of data transmission processing after a window bottom of the ARQ transceiver window of fig. 4 is slid.
Detailed Description
The following describes the data automatic retransmission method and application of the wireless ad hoc network disclosed in the present invention in further detail with reference to the accompanying drawings and specific embodiments. It should be noted that technical features or combinations of technical features described in the following embodiments should not be considered in isolation, and they may be combined with each other to achieve better technical effects. In the drawings of the embodiments described below, the same reference numerals appearing in the respective drawings denote the same features or components, and may be applied to different embodiments. Thus, once an item is defined in one drawing, it need not be further discussed in subsequent drawings.
It should be noted that the structures, proportions, sizes, and other dimensions shown in the drawings and described in the specification are only for the purpose of understanding and reading the present disclosure, and are not intended to limit the scope of the invention, which is defined by the claims, and any modifications of the structures, changes in the proportions and adjustments of the sizes and other dimensions, should be construed as falling within the scope of the invention unless the function and objectives of the invention are affected. The scope of the preferred embodiments of the present invention includes additional implementations in which functions may be executed out of order from that described or discussed, including substantially concurrently or in reverse order, depending on the functionality involved, as would be understood by those reasonably skilled in the art of the embodiments of the present invention.
Techniques, methods, and apparatus known to those of ordinary skill in the relevant art may not be discussed in detail but are intended to be part of the specification where appropriate. In all examples shown and discussed herein, any particular value should be construed as merely illustrative, and not limiting. Thus, other examples of the exemplary embodiments may have different values.
The related technical terms are as follows:
ARQ, Automatic Repeat-reQuest.
LLC, Logical Link Control layer.
MAC, Medium Access Control layer, Medium Access Control.
PDU, Protocol Data Unit, Protocol Data Unit.
SDU, Service Data Unit, Service Data Unit.
ACK, acknowledgement message, Acknowledged.
NACK, Negative acknowledgement message, Negative acknowledgement.
RST, Reset message, Reset.
Examples
In a wireless ad hoc network, each node may send or receive data. For each data, the sender of the data is called a sending node, and the receiver of the data is called a receiving node. The receiving node is used for receiving data which is sent by other sending nodes and is directed to the receiving node (namely the receiving node is used as a target node).
The wireless ad hoc network system provided by the invention can automatically retransmit data under multiple nodes. When retransmission is carried out under multiple nodes, each node needs to maintain the transceiving windows of all other nodes in one hop. Referring to fig. 1, taking 3 nodes as an example, respective transceiving queues of each node 1, node 2, and node 3 are illustrated. The node in one hop of the node 1 comprises a node 2 and a node 3, and the receiving and transmitting window information of the node 2 and the node 3 is displayed in the node window queue of the node 1 and marked as Que 2 receiving and transmitting and Que 3 receiving and transmitting. The node 2 includes node 1 and node 3, the receiving and transmitting window information of node 1 and node 3 is displayed in the node window queue of node 2, and the mark is Que [1] receiving and transmitting and Que [3] receiving and transmitting. The node in one hop of the node 3 comprises a node 1 and a node 2, and the receiving and transmitting window information of the node 1 and the node 2 is displayed in the node window queue of the node 3 and marked as Que [1] receiving and transmitting and Que [2] receiving and transmitting.
And aiming at each online one-hop node, a corresponding data transmission module is configured, and the data transmission module comprises a sending module and a receiving module, wherein the sending module is used for sending data to a certain one-hop target node, and the receiving module is used for receiving the data from a certain sending node.
Referring to fig. 2, the MAC layer of the MAC layer is used to maintain the functions of time slot synchronization, time slot management, access control, etc. of the network, and completes the transceiving control of the service data in a scheduling manner combining static occupation and dynamic occupation with a time division multiple access manner as a basic access policy. The MAC layer defines the transmission, reception, verification, slot control, and access control of MAC frames. The logical link control layer LLC layer defines the operation processes of retransmission, sequencing and the like of the application data packet (Eth/IP packet). The data is defined in the network layer from the source node to the destination node, relay nodes and routing functions.
The scheme mainly relates to the improvement of retransmission and sequencing operation flows in an LLC layer, LLC SDU is formed in a logic link control layer, LLC PDU is further formed, MAC PDU is finally formed, and ARQ sending and ARQ receiving functions are configured in the logic link control layer.
The service data is stored in the first-in first-out queue, each node ID corresponds to one first-in first-out queue, after the service data is classified to form a network data frame, the data volume of the queue is accumulated when the data frame enters the corresponding queue, and the data volume of the queue is subtracted when the data frame is removed from the corresponding queue. After receiving the packet scheduling of the MAC, the LLC can quickly traverse the queues, and if there is data in any queue, it indicates the processing module corresponding to the queue to complete the framing processing, and if there is no data, it directly fills in the empty packet for transmission. The FIFO data processing method belongs to the prior art and is not described herein.
The method for automatically retransmitting data under the UDP of the wireless ad hoc network provided by the embodiment specifically comprises the following steps.
S100, acquiring the node ID of each node in the wireless ad hoc network needing data retransmission.
S200, configuring corresponding node window queues for each node, wherein one node ID corresponds to one node window queue, and displaying ARQ (automatic repeat request) receiving and transmitting window information of all nodes in one hop of the node in the node window queues, wherein the ARQ receiving and transmitting windows comprise aligned transmitting windows and receiving windows, and an ARQ transmitting module Arq _ tx module and an ARQ receiving module Arq _ rx module are respectively arranged corresponding to the transmitting windows and the receiving windows.
S300, monitoring window alignment information of a sending window and a receiving window, triggering window resetting when the sending window is not aligned with the receiving window so as to align the windows, wherein the window resetting comprises sending window resetting and receiving window resetting, and resetting mark information is configured for the reset windows.
In this embodiment, the ARQ process requires that the windows of the transmitting end and the receiving end are aligned. In some cases, window misalignment may occur, for example, when a node is turned on, restarted, and the like, windows of a transmitting end and a receiving end may not be aligned, so that window alignment information of the transmitting window and the receiving window needs to be monitored, and when the windows are found to be misaligned, window resetting needs to be performed to align the windows.
The window reset includes a transmission window reset and a reception window reset. In this embodiment, the sending window reset may be triggered in the following scenarios: a sending node (sending end) is started or restarted to cause window misalignment; the sending node receives reset signaling sent by a receiving node (receiving end) -the reset signaling is used for preventing the sending end from not receiving an ACK response of the receiving end. A receive window reset may be triggered under the following scenario: the receiving node boots up or reboots resulting in a window misalignment.
The Arq _ tx module is configured to: when the data can be sent is judged, the protocol data unit LLC PDU of the logical link control layer LLC layer is received and then encapsulated into the protocol data unit MAC PDU of the medium access control layer MAC layer, the MAC PDU is sent to the sending window and sent to the physical layer, the overtime timer is started, and when the sending window is reset, the MAC PDU carries a reset mark to be sent; and displaying the MAC PDU through the sending window until the ACK returned by the receiving end is received or the MAC PDU reaches the preset maximum retransmission times, clearing the MAC PDU from the sending window to release the cache, and simultaneously executing window sliding forward operation to inquire the next data capable of being sent.
The sending node is used as a sending end, and after receiving the MAC scheduling instruction, the sending node can obtain the load capacity of an MAC PDU (protocol data unit of a media access control layer MAC layer) according to the current MAC scheduling result, and obtain LLC SDUs (service data units of a logical link control layer LLC layer) in a corresponding queue according to the load capacity to form an LLC PDU (protocol data unit of the logical link control layer LLC layer). An LLC PDU may be composed of several SDUs or SDU SEGs (SDU SEGMENTs, i.e. parts of SDUs; SEG is short for SEGMENT, meaning SEGMENT).
In an LLC PDU, each SDU or SDU SEG is preceded by a header that contains segment markers (e.g., segment header, segment trailer, segment in-segment, whole segment marker) and data length for the receiving end to parse and recover the SDU. And configuring a frame header of each LLC PDU, wherein the frame header comprises a service type and a PDU serial number SN, and executing SN + +, after the SN is added to the frame header every time.
The LLC PDU generated by the above combination is transmitted to an ARQ transmitting module, i.e., an ARQ _ tx module, which may encapsulate the LLC PDU into a MAC PDU and send the MAC PDU into a transmission window region, and transmit the MAC PDU to a physical layer, and start a timeout timer. And when the sending window is reset, the MAC PDU carries a reset mark to be sent. MAC PDU entering the sending window area can not be cleared, the receiving end can be clear from the sending window after replying ACK or reaching the maximum retransmission times, the buffer (buffer) is released, and the window slides forwards.
The Arq _ tx module is further configured to: polling the sending windows, and judging whether each sending window is reset or not; when the sending window is reset and a sent data frame waits for ACK, judging that no data is sent, and ending the current sending processing flow; otherwise, it is determined that there is transmittable data.
Preferably, after the Arq _ tx module sends the MAC PDU to the air interface, a retransmission timeout timer is started. Before the retransmission timeout timer expires, the MAC PDU will not be retransmitted until a NACK acknowledgement is received or the retransmission timeout timer expires, which can not trigger a retransmission. If an ACK acknowledgment is received, the retransmission timeout timer is cleared.
When the MAC request is transmitted, the Arq _ tx module may receive a transmission request of the MAC layer and then determine waiting information of the MAC PDU in the transmission window. If all MAC PDUs in the transmission window are waiting for an ACK and have not timed out (indicating that a new MAC PDU transmission may be made), the new MAC PDU transmission may be triggered, selecting an unused buffer for the new MAC PDU. And if the MAC PDU is already in the sending window and waits for time out, the retransmitted MAC PDU is preferentially sent, and the buffer (buffer) position of the retransmitted MAC PDU is unchanged.
The receiving node is used as a receiving end, and after receiving the MAC PDU of the receiving node, the reset mark and the SN serial number in the LLC PDU header can be analyzed through the Arq _ rx module.
In particular, the Arq _ rx module is configured to: after receiving the MAC PDU of the node, analyzing a reset mark and a PDU serial number SN in an LLC PDU head in the MAC PDU; judging whether to discard the current LLC PDU or load the LLC PDU into a receiving window according to the reset mark, the PDU serial number SN and the reset information of the receiving window; when loading the LLC PDU into a receiving window, starting an overtime receiving timer of the LLC PDU, checking window bottom information of the receiving window, and when the window bottom has data, converting the LLC PDU into a service data unit LLC SDU of an LLC layer of a logical link control layer from the window bottom in sequence and then transmitting the service data unit LLC SDU to a network layer until the window bottom has no data.
Specifically, the step of determining whether to discard the current LLC PDU or load the LLC PDU into the receive window may be as follows: acquiring reset marks of a sending window and a receiving window, and judging whether the sending window and the receiving window are reset or not; when the receiving window is judged to be reset but the sending window is not reset, sending a window reset signaling to the sending end, discarding the current LLC PDU and ending the current receiving processing flow; the sending end can trigger the sending window to reset after receiving the window resetting signaling; when the receiving window is judged not to be reset, continuously judging whether the SN is in the receiving window or not; when the SN is judged to be in the receiving window and the data is loaded at the corresponding position, the current LLC PDU is discarded, and the current receiving processing flow is ended; and when the SN is judged to be in the receiving window and no data exists in the corresponding position, loading the LLC PDU into the receiving window.
That is, the judgment and selection are performed according to the reset flag, if the receiving window is reset but the sending window is not reset, the window reset signaling needs to be sent to the sending end (when the sending end receives the window reset signaling sent by the receiving end, the sending window reset operation is triggered), and the current LLC PDU data frame is discarded, and the current receiving processing flow is exited (the flow is ended). If the receiving window is reset, further judging whether the SN is in the receiving window, and if the SN is in the window, continuously judging whether the corresponding position has data; if the corresponding location already has data, then discard the current LLC PDU (filter duplicate packets); if the corresponding location has no data, the LLC PDU is buffered in the location, and a timeout receive timer is started. Then, checking the receiving window, if there is data at the bottom of the window, recovering LLC PDU from the bottom of the window to LLC SDU, sending to the network layer, until there is no data at the bottom of the window, and clearing the overtime receiving timer of all windows which have sent data.
In this embodiment, when the timeout receiving timer of a sub-window of a certain receiving window is overtime, regardless of whether the window before the window receives a data frame, the data in each window is sequentially sent to the upper module (the clearing timer) until the first window after the window which does not receive the data is used as the window bottom; each time a window sliding is involved, an ACK frame processing needs to be generated after the window bottom is changed.
Specifically, the following steps are performed: monitoring an overtime receiving timer of each sub-window of a receiving window; and when the overtime receiving timer of one sub-window is overtime, the window sliding operation is triggered to adjust the window bottom data. The window sliding operation is to sequentially send the data in each sub-window before the sub-window to the upper layer module and clear the corresponding timeout receiving timer until the first sub-window after the sub-window which does not receive the data is used as the window bottom.
Generating an ACK frame once when the window bottom of the receiving window changes once, and taking the window bottom as an ACK serial number; the ACK frame is a variable-length frame, and the length range information is configured in a frame header identifier of the ACK frame.
The processing procedure of ARQ transmission (tx) and ARQ reception (rx) is described in detail below with reference to the circuit blocks in fig. 3.
Business data enters the ARM processor through Ethernet, Skb packet business classification adaptation is carried out after the network port receives the business data, and the data is sent to a network packet sending module Net _ tx.
And the Net _ tx module is used for receiving data of the network port adaptation layer, searching a destination node number (by searching an arp table) and a next hop node (by searching a routing table) for the unicast service, and adding a network frame header according to the service type, wherein the frame header comprises a sequence number, a source node number and destination node number information. And then, putting the network packet into a corresponding queue to form a service sending queue [ max _ node _ num ].
And the Llc _ tx _ dump module is used for defining a sending queue, reading the corresponding queue according to a receiving node number and a transmission mode after receiving Frm _ tx module data request indication, and returning a reading node to the Frm _ tx module.
Frm _ tx module, for taking charge of group LLC PDU function, after receiving Arq _ tx module group frame indication, there are the following two cases.
In the first case, the Frm _ tx module holds the data segments that were left over from the last packet.
The first case can be further divided into the case of a1 and the case of a 2.
A1, the PDU may contain the current data segment.
At this point, the Frm _ tx module is configured to perform the following steps:
step (ii) of
Figure DEST_PATH_IMAGE001
Performing a framing operation, and packing (adding segment header information) the data segment into the PDU;
step (ii) of
Figure 740612DEST_PATH_IMAGE002
If the PDU has residual space, requesting data from the Llc _ tx _ dump module;
step (ii) of
Figure DEST_PATH_IMAGE003
And after the data reply, if the PDU can accommodate the data packet, returning to the execution step
Figure 720070DEST_PATH_IMAGE001
Step (ii) of
Figure 562124DEST_PATH_IMAGE004
If the PDU is full, the grouped PDU is fed back to the Arq _ tx module, the process is finished, otherwise the step is repeatedly executed
Figure 957333DEST_PATH_IMAGE002
And the step of
Figure 834022DEST_PATH_IMAGE003
Step (ii) of
Figure DEST_PATH_IMAGE005
And after the data reply, if the PDU can only accommodate a part of the data packet, returning to the execution step
Figure 718801DEST_PATH_IMAGE001
And storing the rest data segments, and feeding back the grouped PDU to the Arq _ tx module.
A2, the PDU can only accommodate a portion of the data segment.
At this point, the Frm _ tx module is configured to perform the following steps:
step (ii) of
Figure 985835DEST_PATH_IMAGE001
Performing a framing operation, packing a part of the data segments (adding segment header information) into the PDU, storing the remaining data segments, and feeding back the packed PDU to Arq _ txAnd (5) modules.
In the second case, the Frm _ tx module has no pending data segments.
At this point, the Frm _ tx module is configured to perform the following steps:
step (ii) of
Figure 247052DEST_PATH_IMAGE001
Requesting data from the Llc _ tx _ dump module;
step (ii) of
Figure 915930DEST_PATH_IMAGE002
After the data reply, if the PDU can accommodate the data packet, a framing operation is executed, and the data is segmented and packaged (segment header information is added) into the PDU;
step (ii) of
Figure 971611DEST_PATH_IMAGE003
If the PDU is full, feeding the grouped PDU back to the arq _ tx module, ending the process, otherwise, repeatedly executing the steps
Figure 725941DEST_PATH_IMAGE001
Figure 525269DEST_PATH_IMAGE002
And
Figure 48654DEST_PATH_IMAGE003
step (ii) of
Figure 540816DEST_PATH_IMAGE004
After the data reply, the PDU can only contain a part of the data packet, a framing operation is executed, and the data is segmented and packed (segment header information is added) into the PDU; and storing the rest data segments, feeding the grouped PDU back to the arq _ tx module, and ending the process.
And the Arq _ tx module is used for realizing the buffering and retransmission error correction functions of the MAC PDU.
Specifically, the Arq _ tx module may perform a series of operations as follows after receiving a transmission request from the Llc _ tx _ ctrl module.
Figure 782441DEST_PATH_IMAGE001
And judging whether the sending window is reset or not, if the sending window is reset and the sent data frame waits for ACK, feeding back no sending data and ending the current flow.
Figure 57565DEST_PATH_IMAGE002
When the polling sending window has data sending function, the following steps are executed:
if the sending window is reset, the MAC PDU sequence carries a reset mark to be sent, a retransmission timeout timer is started after the sending window is empty, a new data frame is not sent before the resetting is not responded, if the MAC PDU reaches the maximum retransmission times, the cached PDU is deleted, the window is reset, the new MAC PDU is sent again and needs to carry the reset mark, the flow is the same, and the window is reset and removed until the ACK response receiving end is reset successfully.
And after the window is reset, the retransmission is carried out preferentially, if the maximum transmission times of the MAC PDU is reached, the operation is carried out successfully as the transmission, the buffered PDU is deleted, the transmission window is slid, the next data which can be sent is inquired, the buffer of the retransmitted data is unchanged, the information of the MAC PDU is fed back to the Llc _ tx _ ctrl module, and the overtime retransmission timer is started at the same time.
Figure 763353DEST_PATH_IMAGE003
Poll the transmit window and request a group LLC PDU from the Frm _ tx module if no data is available.
Figure 98519DEST_PATH_IMAGE004
After the Frm _ tx module returns the grouped LLC PDU, the Arq _ tx module adds a PDU marking sequence number, hangs the MAC PDU in a sending window, assigns a buffer for the MAC PDU, feeds back the MAC PDU information to the Llc _ tx _ ctrl module, and starts a timeout timer; if Frm _ tx returns a result of no data, the Arq _ tx module sends Llc _ tx _ ctrl to the Arq _ tx moduleThe module feeds back no data.
Figure 889757DEST_PATH_IMAGE005
And receiving a reset signaling sent by a receiving end, resetting a sending window and clearing all data in the sending window.
Figure 968572DEST_PATH_IMAGE006
And receiving the ACK signaling, analyzing the ACK information, if a reset response exists, removing the reset, sliding the bottom of the sending window to the ACK serial number, setting the state of other frames in the window as successful receiving if the other frames are confirmed to be received, stopping the overtime timer to release the buffer, and setting the state of the other frames as to be sent if the other frames are not received and stopping the overtime timer.
Figure DEST_PATH_IMAGE007
And the timeout timer is configured to be the maximum timeout time (the limit time from the transmission of the empty port to the reception of the ACK) when the MAC PDU is started, preferably, 1ms is used as granularity, the counter information of all windows configured with the timeout timer is reduced by 1 in each millisecond interruption, a certain window counter is reduced to 0, the table is overtime, and the MAC PDU of the window is set to be in a transmittable state to wait for retransmission.
And the Llc _ tx _ ctrl module is used for forwarding the scheduling indication of the MAC to a corresponding module of the corresponding node, sending a group package request to the arq _ tx processing module corresponding to the node, and adding a corresponding MAC subheader after receiving the grouped LLC PDU.
And the Llc _ rx _ ctrl module is used for analyzing the received MAC PDU, analyzing the MAC sub-frame header, analyzing the LLC PDU frame header to acquire a receiving node, a sending node number and service type information in the LLC PDU frame header, and sending the data frame to the Arq _ rx module of the corresponding node for processing according to a preset processing rule.
If the data is the data of the node, sending the Arq _ rx module of the corresponding node; the traffic type is LLC signaling (ACK/RST), and the corresponding node Arq _ tx module is sent.
And the Arq _ rx module is used for caching, sequencing, ACK acknowledgement reply, filtering and sequentially sending the LLC PDU.
Specifically, after receiving the data reporting instruction from the lcc _ rx _ ctrl module, the Arq _ rx module may perform a series of operations as follows.
Figure 528866DEST_PATH_IMAGE001
Judging whether the receiving window is reset or not, if so, sending a reset signaling to a sending end, discarding the current frame and ending the flow; if the receiving window is not reset, if the LLC PDU serial number is not in the window range, directly discarding, ending the process, if the LLC PDU serial number is in the window and the window has no data, storing the LLC PDU in the window, and if the window has data, discarding to filter repeated information. Starting the time-out receiving timer of the PDU, checking whether the window bottom has data, if so, sending Frm _ rx AM module of the data frame, clearing the PDU and the time-out receiving timer, sliding the window bottom once, and checking the window bottom again to execute the above process until the window bottom has no data.
Figure 362830DEST_PATH_IMAGE002
And subtracting 1 from the timing of all the sub-windows starting timing in the receiving window in each 1ms interrupt, and if a certain sub-window is overtime, sequentially sending the data in each sub-window to an Frm _ rx module (simultaneously clearing a timer) no matter whether the window before the sub-window receives a data frame or not until the first sub-window after the sub-window which does not receive the data is used as a window bottom.
Figure 313469DEST_PATH_IMAGE003
When the window bottom changes once, an ACK frame is generated, the window bottom is used as an ACK sequence number, the receiving state between the window bottom and the maximum receiving sequence number is represented by 0/1, 1 represents correct receiving, and 0 represents no receiving or wrong receiving, so that the ACK frame is a variable-length frame, and the length range can be identified in the head of the ACK frame.
Frm _ rx module, interacting directly with the Arq _ rx module.
The Frm _ rx module has two processing cases after receiving the data message from the Llc _ rx _ ctrl module. The first case is Frm _ rx module holds the last un-grouped complete SDU fragment, and the second case is Frm _ rx module does not hold SDU fragments.
If the stored segment data exists, further judging whether the sequence number of the current PDU is continuous with the last sequence number, if not, discarding the SDU segment which is not stored last time (ensuring that the sequence number of the current PDU is continuous with the last sequence number).
The specific process of unpacking the grouped SDUs is the reverse process of the Frm _ tx module process. And sending the SDU recovered by the analysis to an Llc _ rx _ dump module.
And the Llc _ rx _ dump module is used for receiving Frm the network packet sent by the rx module and sending the network packet directly to the Net _ rx module.
And the Net _ rx module is used for receiving the network packet recovered from the bottom layer and is responsible for functions of filtering heavy objects, judging whether to relay or not and the like.
Specifically, after receiving the network packet reported by the Llc _ rx _ dump module, the Net _ rx module may perform the following operations.
Figure 195974DEST_PATH_IMAGE001
And judging whether the broadcast packet is required to be filtered, wherein the broadcast packet needs to filter the old and repeated network packets, and the new network frame needs to be relayed and reports one copy to the upper layer application.
Figure 610775DEST_PATH_IMAGE002
And judging whether the unicast packet is a unicast packet or not, wherein the unicast packet needs to filter old and repeated network packets, if the unicast packet is a data packet of the node, removing the network frame head and sending the network frame head to an upper layer application, and if the destination node is not the node, inquiring a route for the node and sending the node to a next hop node queue.
The window alignment and reset procedure of the ARQ transceiving window is described in detail below with reference to fig. 4 and 5.
Referring to fig. 4, the ARQ transceiving window includes a transmitting window and a receiving window, and the bottom and top of the transmitting window and the receiving window are aligned, where the bottom sequence number sn =0 and the top sequence number sn = 63. When the 4-frame data sequence numbers 1-4 are currently sent, the receiving end only receives 0, 2 and 3, and the frame with the sequence number of 1 is not received (Error occurs), so that ACK is returned, which carries the receiving conditions of sn =1 and the following frames.
Because the window bottom sn =0 received the data, the frame data is submitted Frm _ rx module, and the window bottom is slid to sn = 1; since no data frame is received at this time sn =1, the window top is also slid to sn = 64.
After receiving the ACK, the transmitting end knows that sn =0, 2, and 3 have been received, and triggers the sliding of the transmission window, where sn =1 at the bottom of the window and sn =64 at the top of the window, as shown in fig. 5.
In fig. 5, the transmitting end continues to transmit frames with sequence numbers 1, 4, 5, and 6, because the frames 2 and 3 have been fed back and transmitted successfully and are not retransmitted, the receiving end feeds back ACK after receiving the data frame; the receiving end continuously receives the data frames with sequence numbers 1-6, and then sequentially delivers the received data frames to Frm _ rx module, and the window bottom of the receiving window is slid to sn =7, and the window top is slid to sn = 70.
After receiving the ACK, the sending end knows that the data frames with sequence numbers 1-6 are all successfully sent, so that the sending window slides, the window bottom slides to sn =7, and the window top slides to sn = 70.
In case of ACK loss, the receive window at the receiving end has become 14-77, and the transmit window is still 9-72 due to no ACK received (ACK loss). At this time, the following operations are performed: after the frames with the sequence numbers of 9, 11, 12 and 13 are overtime, the frames are retransmitted; after receiving the several frames of data, the receiving end judges whether the several frames of data are fallen outside the receiving window, if it is judged that these several frames of data are fallen outside the receiving window, these several frames of data are discarded. If the receiving end receives the data frames after the sequence number 13, the receiving end performs normal sliding window processing on the data frames.
The invention further provides a data automatic retransmission device of the wireless ad hoc network.
The automatic data retransmission device of the wireless ad hoc network comprises a node information acquisition module, a transceiving window configuration module and a window resetting processing module.
And the node information acquisition module is used for acquiring the node ID of each node in the wireless ad hoc network needing data retransmission.
The transmitting and receiving window configuration module is configured to configure corresponding node window queues for each node, one node ID corresponds to one node window queue, ARQ transmitting and receiving window information of all nodes in one hop of the node is displayed in the node window queue, the ARQ transmitting and receiving window includes aligned transmitting windows and receiving windows, and an ARQ transmitting module ARQ _ tx module and an ARQ receiving module ARQ _ rx module are respectively arranged corresponding to the transmitting windows and the receiving windows.
The window resetting processing module is used for monitoring window alignment information of the sending window and the receiving window, triggering window resetting to align the windows when the sending window and the receiving window are not aligned, wherein the window resetting comprises sending window resetting and receiving window resetting, and resetting mark information is configured for the reset windows.
Wherein the Arq _ tx module is configured to: when the data can be sent is judged, the protocol data unit LLC PDU of the logical link control layer LLC layer is received and then encapsulated into the protocol data unit MAC PDU of the medium access control layer MAC layer, the MAC PDU is sent to the sending window and sent to the physical layer, the overtime timer is started, and when the sending window is reset, the MAC PDU carries a reset mark to be sent; and displaying the MAC PDU through the sending window until the ACK returned by the receiving end is received or the MAC PDU reaches the preset maximum retransmission times, clearing the MAC PDU from the sending window to release the cache, and simultaneously executing window sliding forward operation to inquire the next data capable of being sent.
Other technical features are referred to in the previous embodiments and will not be described herein.
Another embodiment of the present invention further provides a data automatic retransmission system for a wireless ad hoc network, which includes a plurality of nodes, and an ARQ processing apparatus is disposed corresponding to each node.
The ARQ processing device is configured to: acquiring node IDs of nodes in a wireless ad hoc network needing data retransmission; configuring corresponding node window queues for each node, wherein one node ID corresponds to one node window queue, and ARQ transmitting and receiving window information of all nodes in one hop of the node is displayed in the node window queues, wherein the ARQ transmitting and receiving windows comprise aligned transmitting windows and receiving windows, and an ARQ transmitting module Arq _ tx module and an ARQ receiving module Arq _ rx module are respectively arranged corresponding to the transmitting windows and the receiving windows; monitoring window alignment information of a sending window and a receiving window, triggering window resetting when the sending window is not aligned with the receiving window so as to align the windows, wherein the window resetting comprises sending window resetting and receiving window resetting, and resetting mark information is configured for the reset windows;
the Arq _ tx module is configured to: when the data can be sent is judged, the protocol data unit LLC PDU of the logical link control layer LLC layer is received and then encapsulated into the protocol data unit MAC PDU of the medium access control layer MAC layer, the MAC PDU is sent to the sending window and sent to the physical layer, the overtime timer is started, and when the sending window is reset, the MAC PDU is sent with the reset mark; and displaying the MAC PDU through the sending window until the ACK returned by the receiving end is received or the MAC PDU reaches the preset maximum retransmission times, clearing the MAC PDU from the sending window to release the cache, and simultaneously executing window sliding forward operation to inquire the next data capable of being sent.
Other technical features are referred to in the previous embodiments and will not be described herein.
In the foregoing description, the disclosure of the present invention is not intended to limit itself to these aspects. Rather, the various components may be selectively and operatively combined in any number within the intended scope of the present disclosure. The steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in Random Access Memory (RAM), memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. In addition, terms like "comprising," "including," and "having" should be interpreted as inclusive or open-ended, rather than exclusive or closed-ended, by default, unless explicitly defined to the contrary. All technical, scientific, or other terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs unless defined otherwise. Common terms found in dictionaries should not be interpreted too ideally or too realistically in the context of related art documents unless the present disclosure expressly limits them to that. Any changes and modifications of the present invention based on the above disclosure may be made by those of ordinary skill in the art and shall fall within the scope of the appended claims.

Claims (10)

1. A data automatic retransmission method of a wireless ad hoc network is characterized by comprising the following steps:
acquiring node IDs of nodes in a wireless ad hoc network needing data retransmission;
configuring corresponding node window queues for each node, wherein one node ID corresponds to one node window queue, and ARQ transmitting and receiving window information of all nodes in one hop of the node is displayed in the node window queues, wherein the ARQ transmitting and receiving windows comprise aligned transmitting windows and receiving windows, and an ARQ transmitting module Arq _ tx module and an ARQ receiving module Arq _ rx module are respectively arranged corresponding to the transmitting windows and the receiving windows;
monitoring window alignment information of a sending window and a receiving window, triggering window resetting when the sending window is not aligned with the receiving window so as to align the windows, wherein the window resetting comprises sending window resetting and receiving window resetting, and resetting mark information is configured for the reset windows;
wherein the Arq _ tx module is configured to: when the data can be sent is judged, the protocol data unit LLC PDU of the logical link control layer LLC layer is received and then encapsulated into the protocol data unit MAC PDU of the medium access control layer MAC layer, the MAC PDU is sent to the sending window and sent to the physical layer, the overtime timer is started, and when the sending window is reset, the MAC PDU is sent with the reset mark; and displaying the MAC PDU through the sending window until the ACK returned by the receiving end is received or the MAC PDU reaches the preset maximum retransmission times, clearing the MAC PDU from the sending window to release the cache, and simultaneously executing window sliding forward operation to inquire the next data capable of being sent.
2. The method according to claim 1, wherein the Arq _ rx module is configured to:
after receiving the MAC PDU of the node, analyzing a reset mark and a PDU serial number SN in an LLC PDU header in the MAC PDU; judging whether to discard the current LLC PDU or load the LLC PDU into a receiving window according to the reset mark, the PDU serial number SN and the reset information of the receiving window; when loading the LLC PDU into a receiving window, starting an overtime receiving timer of the LLC PDU, checking window bottom information of the receiving window, and when the window bottom has data, converting the LLC PDU into a service data unit LLC SDU of an LLC layer of a logical link control layer from the window bottom in sequence and then submitting the service data unit LLC SDU to a network layer until the window bottom has no data.
3. The method according to claim 2, wherein the step of determining whether to discard the current LLC PDU or to load the LLC PDU into the receive window is as follows:
acquiring reset marks of a sending window and a receiving window, and judging whether the sending window and the receiving window are reset or not;
when the receiving window is judged to be reset but the sending window is not reset, sending a window reset signaling to the sending end, discarding the current LLC PDU, and ending the current receiving processing flow; the sending end can trigger the sending window to reset after receiving the window resetting signaling;
when the receiving window is judged not to be reset, continuously judging whether the SN is in the receiving window or not; when the SN is judged to be in the receiving window and the data is loaded at the corresponding position, the current LLC PDU is discarded, and the current receiving processing flow is ended; and when the SN is judged to be in the receiving window and no data exists in the corresponding position, loading the LLC PDU into the receiving window.
4. The method of claim 3, wherein: monitoring an overtime receiving timer of each sub-window of the receiving window, and triggering window sliding operation to adjust window bottom data when the overtime receiving timer of one sub-window is overtime;
the window sliding operation is to deliver the data in each sub-window before the sub-window to the upper layer module in sequence and clear the corresponding overtime receiving timer until the first sub-window after the sub-window which does not receive the data is used as the window bottom.
5. The method of claim 4, wherein: generating an ACK frame once when the window bottom of the receiving window changes once, and taking the window bottom as an ACK serial number; the ACK frame is a variable-length frame, and the length range information is configured in a frame header identifier of the ACK frame.
6. The method of claim 1, wherein: the LLC PDU is formed by combining a plurality of SDUs or SDU SEGs, an information head is configured in front of each SDU or SDU SEG in the LLC PDU so that a receiving end can analyze and restore the SDU, and the information head comprises segment marks and data length; and configuring a frame header for each LLC PDU, wherein the frame header comprises a service type and a PDU serial number SN, and after the SN is added to the frame header each time, executing SN + +.
7. The method for automatic retransmission of data according to claim 1, wherein the Arq _ tx module is further configured to:
polling the sending windows, and judging whether each sending window is reset or not;
when the sending window is reset and a sent data frame waits for ACK, judging that no data is sent, and ending the current sending processing flow; otherwise, it is determined that there is transmittable data.
8. The method of claim 1, wherein the Arq _ tx module is further configured to:
after sending the MAC PDU to the empty port, starting a retransmission timeout timer, wherein the MAC PDU can not be retransmitted before the retransmission timeout timer is overtime; wherein, when receiving NACK confirmation or the retransmission overtime timer overtime triggers retransmission; clearing the retransmission timeout timer when receiving the ACK confirmation;
when receiving a sending request of the MAC layer, judging the waiting information of the MAC PDU in the sending window; when the MAC PDUs in the sending window are waiting for ACK and are not overtime, triggering new MAC PDU sending and selecting an unused buffer for the new MAC PDU; and when the MAC PDU in the sending window waits overtime, the retransmitted MAC PDU is sent preferentially, and the buffer memory of the retransmitted MAC PDU is unchanged.
9. A data automatic retransmission device of a wireless ad hoc network is characterized by comprising the following structures:
the node information acquisition module is used for acquiring the node ID of each node in the wireless ad hoc network needing data retransmission;
a transmitting and receiving window configuration module, configured to configure corresponding node window queues for the nodes, where one node ID corresponds to one node window queue, and ARQ transmitting and receiving window information of all nodes in one hop of the node is displayed in the node window queue, where the ARQ transmitting and receiving window includes aligned transmitting windows and receiving windows, and an ARQ transmitting module ARQ _ tx module and an ARQ receiving module ARQ _ rx module are respectively arranged in the corresponding transmitting windows and receiving windows;
the window resetting processing module is used for monitoring window alignment information of the sending window and the receiving window, triggering window resetting to align the windows when the sending window and the receiving window are not aligned, wherein the window resetting comprises sending window resetting and receiving window resetting, and resetting mark information is configured for the reset windows;
wherein the Arq _ tx module is configured to: when the data can be sent is judged, the protocol data unit LLC PDU of the logical link control layer LLC layer is received and then encapsulated into the protocol data unit MAC PDU of the medium access control layer MAC layer, the MAC PDU is sent to the sending window and sent to the physical layer, the overtime timer is started, and when the sending window is reset, the MAC PDU carries a reset mark to be sent; and displaying the MAC PDU through the sending window until the ACK returned by the receiving end is received or the MAC PDU reaches the preset maximum retransmission times, clearing the MAC PDU from the sending window to release the cache, and simultaneously executing window sliding forward operation to inquire the next data capable of being sent.
10. A data automatic retransmission system of a wireless ad hoc network comprises a plurality of nodes, and is characterized in that: an ARQ processing device is arranged corresponding to each node;
the ARQ processing device is configured to: acquiring node IDs of nodes in a wireless ad hoc network needing data retransmission; configuring corresponding node window queues for each node, wherein one node ID corresponds to one node window queue, and ARQ transmitting and receiving window information of all nodes in one hop of the node is displayed in the node window queues, wherein the ARQ transmitting and receiving windows comprise aligned transmitting windows and receiving windows, and an ARQ transmitting module Arq _ tx module and an ARQ receiving module Arq _ rx module are respectively arranged corresponding to the transmitting windows and the receiving windows; monitoring window alignment information of a sending window and a receiving window, triggering window resetting when the sending window is not aligned with the receiving window so as to align the windows, wherein the window resetting comprises sending window resetting and receiving window resetting, and resetting mark information is configured for the reset windows;
the Arq _ tx module is configured to: when the data can be sent is judged, the protocol data unit LLC PDU of the logical link control layer LLC layer is received and then encapsulated into the protocol data unit MAC PDU of the medium access control layer MAC layer, the MAC PDU is sent to the sending window and sent to the physical layer, the overtime timer is started, and when the sending window is reset, the MAC PDU carries a reset mark to be sent; and displaying the MAC PDU through the sending window until after an acknowledgement message ACK replied by a receiving end is received or the MAC PDU reaches a preset maximum retransmission time, clearing the MAC PDU from the sending window to release the cache, and simultaneously executing window sliding forward operation to inquire the next data capable of being sent.
CN202210694224.1A 2022-06-20 2022-06-20 Automatic data retransmission method and application of wireless ad hoc network Active CN114785464B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210694224.1A CN114785464B (en) 2022-06-20 2022-06-20 Automatic data retransmission method and application of wireless ad hoc network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210694224.1A CN114785464B (en) 2022-06-20 2022-06-20 Automatic data retransmission method and application of wireless ad hoc network

Publications (2)

Publication Number Publication Date
CN114785464A true CN114785464A (en) 2022-07-22
CN114785464B CN114785464B (en) 2022-09-02

Family

ID=82421504

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210694224.1A Active CN114785464B (en) 2022-06-20 2022-06-20 Automatic data retransmission method and application of wireless ad hoc network

Country Status (1)

Country Link
CN (1) CN114785464B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115942376A (en) * 2023-03-09 2023-04-07 中法渤海地质服务有限公司 Well site information remote transmission method and system

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101018176A (en) * 2007-03-09 2007-08-15 中国科学院软件研究所 Reliable transfer method of short message in the ad hoc network
CN101115002A (en) * 2007-03-19 2008-01-30 重庆邮电大学 Method for improving wireless self-organizing network performance using TCP Veno
US20120250629A1 (en) * 2010-04-26 2012-10-04 Bae Systems Information And Electronic Systems Integration, Inc. (Delaware Corp.) Multiuser detection enabled medium access control in mobile ad hoc networks
EP2706781A1 (en) * 2012-09-05 2014-03-12 Thales Transmission method in a multi-hop ad hoc IP network
CN104836646A (en) * 2014-02-12 2015-08-12 普天信息技术研究院有限公司 Method for enhancing transmission reliability of RLC AM mode
CN106535273A (en) * 2016-11-15 2017-03-22 希诺麦田技术(深圳)有限公司 Routing method of time division multiple access (TDMA) self-organizing network and device
CN112671517A (en) * 2020-12-14 2021-04-16 中国电子科技集团公司第五十四研究所 Data retransmission method based on time slot confirmation in mobile ad hoc network communication
CN112911638A (en) * 2021-02-20 2021-06-04 上海吉盛网络技术有限公司 Reliable communication method for optimizing wireless network load congestion by using UDP (user Datagram protocol)

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101018176A (en) * 2007-03-09 2007-08-15 中国科学院软件研究所 Reliable transfer method of short message in the ad hoc network
CN101115002A (en) * 2007-03-19 2008-01-30 重庆邮电大学 Method for improving wireless self-organizing network performance using TCP Veno
US20120250629A1 (en) * 2010-04-26 2012-10-04 Bae Systems Information And Electronic Systems Integration, Inc. (Delaware Corp.) Multiuser detection enabled medium access control in mobile ad hoc networks
EP2706781A1 (en) * 2012-09-05 2014-03-12 Thales Transmission method in a multi-hop ad hoc IP network
US20140071826A1 (en) * 2012-09-05 2014-03-13 Thales Transmission method in an ad hoc multi-hop ip network
CN104836646A (en) * 2014-02-12 2015-08-12 普天信息技术研究院有限公司 Method for enhancing transmission reliability of RLC AM mode
CN106535273A (en) * 2016-11-15 2017-03-22 希诺麦田技术(深圳)有限公司 Routing method of time division multiple access (TDMA) self-organizing network and device
CN112671517A (en) * 2020-12-14 2021-04-16 中国电子科技集团公司第五十四研究所 Data retransmission method based on time slot confirmation in mobile ad hoc network communication
CN112911638A (en) * 2021-02-20 2021-06-04 上海吉盛网络技术有限公司 Reliable communication method for optimizing wireless network load congestion by using UDP (user Datagram protocol)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王威: ""数据采集系统中TCP/IP硬件协议栈的研究与FPGA实现"", 《中国优秀硕士学位论文全文数据库》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115942376A (en) * 2023-03-09 2023-04-07 中法渤海地质服务有限公司 Well site information remote transmission method and system

Also Published As

Publication number Publication date
CN114785464B (en) 2022-09-02

Similar Documents

Publication Publication Date Title
EP2119085B1 (en) Enhanced error control communication systems and methods
JP4016032B2 (en) Reception window moving method in wireless mobile communication system
EP1166486B1 (en) Packet discard notification for semi reliable retransmission protocol
US8413002B2 (en) Method of performing ARQ procedure for transmitting high rate data
CN106559739B (en) Lightweight data transmission method suitable for Bluetooth low-power wireless communication system
US8588784B2 (en) Mobile communication system, wireless base station and hand over reconnection method for use therewith including an accumulation portion for holding data
EP2469750A1 (en) Method and apparatus for downlink data transmission control in multi-hop relay communication system
EP1300991A1 (en) A method for filtering redundant data packets
US20170099128A1 (en) Radio resource scheduling method and apparatus
US20110019756A1 (en) Method of transmitting rlc data
IL206247A (en) Status reporting for retransmission protocol
JP2008153778A (en) Packet transfer apparatus
CN108631959B (en) Communication method, data unit and control unit
US20220225163A1 (en) Communications device, infrastructure equipment and methods
CN114785464B (en) Automatic data retransmission method and application of wireless ad hoc network
KR20070048630A (en) Method and apparatus for rlc protocol error handling in a wireless communications system
US9306707B2 (en) Method and apparatus for processing control information included in data unit in a mobile communication system
KR100612654B1 (en) Apparatus and method for generating frame for automatic repeat request
CN115499108A (en) Closed-loop network communication method and system based on UDP protocol
CN116963175A (en) Data transmission method, device and system
GB2523151A (en) Method and device for data communication in a communication network

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant