WO2018157644A1 - 无线网络中的数据传输方法及装置 - Google Patents

无线网络中的数据传输方法及装置 Download PDF

Info

Publication number
WO2018157644A1
WO2018157644A1 PCT/CN2017/115305 CN2017115305W WO2018157644A1 WO 2018157644 A1 WO2018157644 A1 WO 2018157644A1 CN 2017115305 W CN2017115305 W CN 2017115305W WO 2018157644 A1 WO2018157644 A1 WO 2018157644A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
sent
frame
sequence
rts
Prior art date
Application number
PCT/CN2017/115305
Other languages
English (en)
French (fr)
Inventor
王旭东
虞梦昕
刘劲楠
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2018157644A1 publication Critical patent/WO2018157644A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W74/00Wireless channel access
    • H04W74/08Non-scheduled access, e.g. ALOHA
    • H04W74/0808Non-scheduled access, e.g. ALOHA using carrier sensing, e.g. carrier sense multiple access [CSMA]
    • H04W74/0816Non-scheduled access, e.g. ALOHA using carrier sensing, e.g. carrier sense multiple access [CSMA] with collision avoidance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/04Error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W74/00Wireless channel access
    • H04W74/08Non-scheduled access, e.g. ALOHA

Definitions

  • the present application relates to the field of wireless communication technologies, and in particular, to a data transmission method and apparatus in a wireless network.
  • Distributing a plurality of wireless devices in a wireless mesh network (Mesh) network the plurality of wireless devices being nodes in a wireless mesh network. Since there is no central control node in the mesh network, data transmission between two nodes may be performed. The interference of the signals sent by other nodes causes the two nodes to fail data transmission.
  • Mesh wireless mesh network
  • RTS-CTS Request to Send-Clear to Send
  • the hidden node will not send any information to other nodes.
  • the first node receives the same RA and its own address carried in the CTS, the first node sends a data frame to the second node to implement data transmission.
  • node 103 determines that it is an exposed node, node 103 will not send any information, but node 103 is outside the receiving range of node 101, so node 103 can send a data frame to node 105, but In the above RTS-CTS mechanism, since the node 103 cannot send any information, the node 103 will not be able to complete the RTS-CTS handshake process with the node 105, that is, the exposed node cannot complete the RTS-CTS handshake process with other nodes to implement data transmission.
  • the hidden node will not send any information, as shown in Figure 1, when node 101 replies to CTS to node 102, node 104 is receiving CTS, it is determined as a hidden node itself, the data transmission 102 does not interfere with the transmission node 104 reception node 106 since node 102 is outside the reception range of the node 104, the node Frame, but in the above RTS/CTS mechanism, since the node 104 will not send any information, the node 104 will not be able to reply the CTS to the node 106 for data transmission, that is, to avoid interference with the second node receiving the data frame, The hidden node cannot reply to the CTS to other nodes for data transmission. Therefore, the above RTS/CTS mechanism severely reduces the network throughput in the wireless network.
  • the present application provides a polarization-independent optical device.
  • the structure of the polarization-independent optical device is as follows:
  • the RTS is sent to the second node, where the second node sends the RTS to the second node.
  • the RA carried in the RTS is an address of the second node;
  • the node when receiving the RTS sent by the first node and determining that the RA carried in the RTS sent by the first node is inconsistent with the address of the R1, it is determined that the node is an exposed node, because the first node will pass the rateless coding.
  • Transmitting data frames while data frames transmitted by rateless encoding allow controlled frames such as RTS or CTS interference or control frames to be allowed to be interfered with by data frames transmitted by rateless encoding, thus, when exposed nodes have data frames sent to the second node
  • the RTS may be sent to the second node, and the CTS sent by the second node is received by the first node under the interference of the data frame sent by the rateless coding.
  • the sending the RTS to the second node includes:
  • the control frame such as the RTS or the CTS
  • the control frame is still encoded by the fixed code rate. Therefore, the control frame cannot be interfered by the control frame, because the exposed node is within the network coverage of the first node, Avoiding the RTS sent by the exposed node affects the first node to receive the CTS. Therefore, the exposed node needs to send the RTS to the second node after determining that the first node receives the CTS.
  • the method further includes:
  • ACK Acknowledgement
  • the second node determines that the data frame is correctly received, sends an ACK to the exposed node, and when the exposed node receives the ACK, determines that the second node has correctly received the data frame, and terminates sending the data frame to the second node.
  • the conflicting frame includes an RTS, a CTS, an ACK, and a blocking frame
  • a data frame of the frame in which the collision exists is decoded according to the start position and the end position of the conflicting frame.
  • the determining whether there is a conflicting frame in the data frame sent by the first node includes:
  • the second sequence is a sequence added to the tail of the conflicting frame when the physical layer encapsulates the conflicting frame.
  • the start position of the conflicting frame is determined by the preamble sequence
  • the end position of the conflicting frame may be determined by the second sequence or the physical packet header to process the data frame of the conflicting frame.
  • the determining whether there is a conflicting frame in the data frame sent by the first node includes:
  • the first sequence When the first sequence is detected in the data frame sent by the first node, determining that the conflicting frame exists in the data frame sent by the first node, where the first sequence is used to indicate the conflicting frame. a starting position, where the first sequence is a sequence of adding a header of the conflicting frame when the physical layer encapsulates the conflicting frame;
  • the determining a start position and an end position of the conflicting frame includes:
  • the receiving, by the first node, a data frame that is sent by using a rateless encoding includes:
  • the blocking frame is configured to prohibit the third node from transmitting the data frame, and the third node is a node that does not receive the RTS sent by the first node but listens to the current media being in a busy state;
  • the data frame sent by the first node is re-received.
  • the conflicting frame is an RTS
  • the conflicting frame is an RTS
  • the method further includes:
  • the method further includes:
  • the fourth node When the CTS sent by the fourth node is received, it is determined whether the RA carried in the CTS sent by the fourth node is consistent with its own address, and the fourth node is a node to receive a data frame sent by rateless coding;
  • the CTS is sent to the fifth node when receiving the RTS sent by the fifth node and listening to the current media being in an idle state;
  • the hidden node when receiving the CTS sent by the fourth node and determining that the RA carried in the CTS sent by the fourth node is inconsistent with the address of the CTS, it determines that it is a hidden node, because the data frame received by the fourth node The data frame is sent by the rateless encoding, so the hidden node can reply to the RTS of the other node without affecting the fourth node to receive the data frame, that is, the hidden node can receive the data frame sent by the fifth node, and the hidden node cannot be solved.
  • the problem of completing the RTS-CTS handshake process with other nodes thereby improving the network throughput during data transmission based on the RTS/CTS mechanism.
  • the method further includes:
  • an ACK is sent to the fifth node.
  • the ACK is sent to the fifth node, and when the fifth node receives the ACK, the data frame is sent by the rateless encoding.
  • the RTS, CTS, and ACK may further include a third sequence, because the third sequence is used to indicate The carried RA, therefore, does not need to demodulate the MAC (Medium Access Control) header in the RTS, CTS, and ACK, and the RA can be determined by the third sequence.
  • MAC Medium Access Control
  • the first sequence includes at least one fourth sequence, when the number of the at least one fourth sequence is a first preset number, the conflicting frame is an RTS, when the at least one When the number of four sequences is the second preset number, the conflicting frame is not an RTS, or
  • the conflicting frame is an RTS
  • the type of the fourth sequence is a second pre-
  • the conflicting frame is not an RTS
  • the first sequence may further include a fourth sequence, and whether the conflicting frame is an RTS may be determined by the number of the fourth sequence or the type of the fourth sequence, without demodulating the MAC packet in the conflicting frame. To determine the type of conflicting frame.
  • the rateless encoding is Spinal encoding.
  • the rateless coding is a Spinal coding, which facilitates processing a data frame including a conflicting frame.
  • a data transmission apparatus in a wireless network having a function of implementing the behavior of a data transmission method in the wireless network in the above first aspect.
  • the data transmission device in the wireless network includes at least one module for implementing the data transmission method in the wireless network provided by the above first aspect.
  • an embodiment of the present invention provides a computer storage medium for storing computer software instructions used by a data transmission device in a wireless network provided by the foregoing second aspect, or stored for performing the third aspect described above.
  • the first node when receiving the RTS sent by the first node and determining that the RA carried in the RTS sent by the first node is inconsistent with its own address, it determines that it is an exposed node, because the first node will send by rateless coding.
  • Data frames while data frames transmitted by rateless encoding allow controlled frames such as RTS or CTS interference or control frames to be allowed to be interfered with by data frames transmitted by rateless encoding, thus when exposed nodes have data frames sent to the second node
  • the RTS may be sent to the second node, and the CTS sent by the second node is received by the first node by the interference of the data frame sent by the rateless encoding, to complete the RTS-CTS handshake process with the second node, if it is determined When no blocking frame is received, the data frame is sent to the second node, which solves the problem that the exposed node cannot complete the RTS-CTS handshake process with other nodes and performs data transmission, thereby improving the data transmission process based on the RTS/CTS mechanism.
  • FIG. 1 is a schematic diagram of a data transmission system in a wireless network according to an embodiment of the present invention
  • FIG. 2 is a schematic structural diagram of a network device according to an embodiment of the present invention.
  • 3A is a flowchart of a data transmission method in a wireless network according to an embodiment of the present invention.
  • FIG. 3B is a schematic diagram of a format of a control frame according to an embodiment of the present disclosure.
  • 3C is a comparison diagram of simulation results provided by an embodiment of the present invention.
  • FIG. 4 is a block diagram of a data transmission apparatus in a wireless network according to an embodiment of the present invention.
  • the data transmission system in the wireless network includes a node 101, a node 102, a node 103, a node 104, and a node 105.
  • the node 106 sends an RTS to the node 101 when the node 102 has a data frame.
  • the node carries the RTS to the node 101.
  • the RA carried in the RTS is the address of the node 101.
  • the node 101 receives the RTS, it carries the RTS.
  • the node 101 replies to the node 102 with the CTS carrying the RA as the address of the node 102.
  • the node 102 receives the CTS, it determines that the node 101 can receive the same.
  • the transmitted data frame completes the RTS-CTS handshake process with the node 101 and transmits the data frame to the node 101 by rateless coding.
  • the node 102 sends the other nodes of the range, for example, the node 103 will also receive the RTS sent by the node 102. Since the RA and the self address in the RTS are inconsistent, it is determined that it is an exposed node, and when the node 103 has a data frame to the node 105. Upon transmission, node 103 can send an RTS to node 105 to complete the RTS-CTS handshake process between node 103 and node 105 and perform data transmission.
  • the node 101 sends the other nodes in the range. For example, the node 104 will also receive the CTS sent by the node 101.
  • the hidden node 104 receives other nodes, such as the node 106.
  • the RTS can reply to the CTS to complete the RTS-CTS handshake process between the node 104 and the node 106 and perform data transmission.
  • the data transmission system in the wireless network includes multiple nodes.
  • the node 101, the node 102, the node 103, the node 104, the node 105, and the node 106 are taken as an example.
  • each node in the data transmission system in the wireless network is a network device, and in the Mesh network, the network devices constituting each node have a routing function, and the network device can be a mobile phone, a computer, or a router, etc., the present invention
  • the embodiment is not limited herein.
  • FIG. 1 only the node 101, the node 102, the node 103, the node 104, the node 105, and the node 106 are taken as an example. Description.
  • each node in the data transmission system in the wireless network is a network device, and in the Mesh network, the network devices constituting each node have a routing function, and the network device can be a mobile phone, a computer, or a router, etc.
  • node 102 and node 103 are computers, node 101, node 105 and node 106 are routers, and node 104 is a mobile phone as an example.
  • the node 103, the node 104, the node 105, and the node 106 may each be a plurality of nodes. In the figure, only two nodes 103, two nodes 104, two nodes 105, and two nodes 106 are taken as an example for description.
  • the transmitter 201 can be used to transmit data and/or signaling and the like.
  • Receiver 202 can be used to receive data and/or signaling, and the like.
  • the memory 203 can be used to store one or more software programs and/or modules.
  • the memory 203 may be a read-only memory (ROM), a random access memory (RAM), an electrically erasable programmable read-only memory (EEPROM), or a read-only memory.
  • ROM read-only memory
  • RAM random access memory
  • EEPROM electrically erasable programmable read-only memory
  • CD-ROM Compact Disc Read-Only Memory
  • magnetic disk storage medium or any other medium that can be used to carry or store desired program code in the form of an instruction or data structure and accessible by the integrated circuit, but not Limited to this.
  • the processor 204 can be a general-purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more programs for controlling the program of the present application. Execution of the integrated circuit.
  • the processor 204 can implement the data transmission method in the wireless network provided by the embodiment of FIG. 3A described below by running a software program and/or module stored in the memory 203 and calling data stored in the memory 203.
  • FIG. 3A is a flowchart of a data transmission method in a wireless network according to an embodiment of the present invention.
  • the data transmission method in the wireless network is applied to any node in a wireless network, and nodes in the wireless network are sent by using no rate coding.
  • the data frame, as shown in FIG. 3A, the data transmission method in the wireless network includes the following steps:
  • the first node when the first node has a data frame transmission, the first node sends an RTS, where the RTS carries an RA, where the RA is the address of the node of the data frame to be received by the first node.
  • the node of the data frame to be received by the first node is referred to as a target node, and since the target node may have other nodes in the transmission range of the first node, when the node in the wireless network receives To determine whether to reply to the RTS sent by the first node, it is necessary to determine whether the address of the first node is consistent with the RA carried in the RTS sent by the first node.
  • step 302 When it is determined that the RA carried in the RTS sent by the first node is inconsistent with its own address, it is determined that it is an exposed node, and step 302 is performed; when it is determined that the RA carried in the RTS sent by the first node is consistent with its own address, determining itself The target node of the data frame is sent for the first node, and step 306 is performed.
  • the node 102 transmits an RTS to the node 101 to complete the RTS-CTS between the node 102 and the node 101.
  • Handshake process The RTS sent by the node 102 carries the RA, and the RA is the address of the node 101.
  • the node 103 receives the RTS sent by the node 102, the node 103 determines that it is an exposed node, and performs step 302 because the address of the RA and the node 103 carried in the RTS sent by the node 102 is inconsistent.
  • the node 101 receives the RTS sent by the node 102, it determines that it is the target node that the node 101 sends the data frame, and performs step 306.
  • the first node will send the data frame by using rateless coding.
  • rateless coding is briefly introduced here.
  • the first node When the first node sends a data frame by rateless coding, the first node does not set a fixed code rate, but continuously generates the encoded data frame in a specified manner, and the encoded data frame is generated. Send it out.
  • the target node After receiving the data frames, the target node attempts to decode. If the decoding fails, the target node will continue to receive the data frame and then continue to try decoding until the decoding is successful.
  • the target node When the decoding is successful, the target node only needs to go to the first node.
  • the ACK is sent, and the ACK sent by the target node is used to prompt the first node to send the data frame successfully.
  • the first node When the first node receives the ACK sent by the target node, it stops sending the data frame by rateless coding, and completes the data transmission process. At this time, the code rate at which the first node actually performs data transmission depends on the length of the data frame actually transmitted, and the length of the data frame to be transmitted depends on the current channel condition, and thus the coding method is called rateless coding.
  • the target signal-to-noise requirement of the transmission control frame satisfies the case where the signal-to-noise ratio is particularly low, and the transmission by the rate-free coding is more suitable for the case where the signal-to-noise ratio is relatively high, and therefore, the present invention is implemented.
  • the control frame is still encoded at a fixed rate. When there is a serious interference in the control frame coded by the fixed rate, the control frame will be decoded. Therefore, in the embodiment of the present invention, interference of other control frames is not allowed in the control frame coded by the fixed rate. That is, in the embodiment of the present invention, a data frame may form a collision with the control frame, but no collision may occur between the data frame and the data frame, and between the control frame and the control frame.
  • the control frame may include an RTS, a CTS, an ACK, a blocking frame, and the like.
  • the blocking frame is used to prohibit the third node from transmitting the data frame, and the third node is the node that does not receive the RTS sent by the first node but listens to the current media being busy.
  • the blocking frame is different from other control frames, and the blocking frame does not carry the duration information of the data frame, and only carries the RA.
  • the control frame since the data frame may form a collision with the control frame, that is, the node in the wireless network may receive the control frame while receiving the data frame, because the control frame conflicts with the data frame. Therefore, the control frame is also referred to as a conflicting frame.
  • the control frame in order to facilitate the node in the wireless network to quickly detect the control frame, when the node that sends the control frame sends the control frame, the control frame may be processed to obtain a control frame with an enhanced format. Among them, a control frame with an enhanced format can be implemented by adding a sequence in the control frame.
  • the second sequence is used to indicate the end position of the control frame, and the second sequence is a sequence added to the tail of the control frame when the physical layer encapsulates the control frame, when the control frame is
  • the node that receives the control frame does not need to demodulate the MAC packet of the control frame to determine the length of the control frame
  • the third sequence is used to indicate the carried RA.
  • the control frame includes the third sequence, the node that receives the control frame can determine the RA of the control frame by using the third sequence without demodulating the MAC packet of the control frame.
  • the third sequence is a sequence that can be mapped by RA generated by a hash function.
  • the first sequence may be a Pseudorandom Noise (PN) sequence, a Golay complementary sequence, or a ZC (Zadoff–Chu) sequence.
  • PN Pseudorandom Noise
  • Golay complementary sequence a Golay complementary sequence
  • ZC Zadoff–Chu sequence
  • the first sequence may also be used to indicate the type of the control frame, that is, the first sequence may indicate the type of the control frame by the number of the fourth sequence or the type of the fourth sequence that it includes. Specifically, the first sequence indicates that the type of the control frame can be classified into the following two cases.
  • the first sequence includes at least one fourth sequence.
  • the control frame is an RTS
  • the number of the at least one fourth sequence is When the second preset number is used, the control frame is not an RTS.
  • the first preset number and the second preset number are preset numbers, and the first preset number and the second preset number may be 1, 2, or 3, and the like.
  • the control frame is an RTS
  • the control frame is not an RTS.
  • the length of the control frame may be determined by demodulating the MAC packet of the control frame, and then determining the end position of the control frame according to the preamble sequence of the control frame and the length of the control frame.
  • the MAC packet of the control frame may be demodulated to determine the RA of the control frame.
  • the type of the control frame may be obtained by demodulating the MAC packet of the control frame.
  • the original control frame may include a preamble sequence, a physical access control protocol data unit (MPDU), where the MPDU may include a MAC (Media access control) header and one or more MSDUs (MAC Service). Data unit).
  • Step 302 After determining that the RA carried in the RTS sent by the first node is inconsistent with its own address, when there is a data frame sent to the second node, sending an RTS to the second node, where the RTS is sent to the second node.
  • the carried RA is the address of the second node.
  • the exposed node when the exposed node receives the RTS sent by the first node and the data frame is sent to the second node, in order to prevent the RTS sent by the exposed node from affecting the first node to receive the CTS, the exposed node should be delayed to the second.
  • the node sends the RTS, that is, the exposed node determines the time for sending the RTS to the second node according to the first preset duration and the second preset duration; when the time for sending the RTS to the second node is reached, the RTS is sent to the second node.
  • the first preset duration is the duration of the RTS
  • the second preset duration is the duration of the CTS
  • the first preset duration and the second preset duration are preset durations
  • the first preset duration and the first duration apply to all nodes in the wireless network.
  • T round-trip T RTS +SIFS+T CTS formula (3-1)
  • the third node is a node that does not receive the RTS sent by the first node but listens to the current media being busy, the third node can freely send the RTS, that is, in the embodiment of the present invention.
  • the third node sends the RTS, there is no problem that the time for transmitting the RTS is determined according to the first preset duration and the second preset duration.
  • Step 303 Receive a CTS sent by the second node, and determine whether a blocking frame is received to complete an RTS-CTS handshake process with the second node.
  • the second node When the second node receives the RTS sent by the exposed node, it monitors whether the current media is in an idle state, and when the current media is in the idle state, sends a CTS to the exposed node, and the CTS sent by the second node is used to indicate the exposed node.
  • the two nodes can receive the data frame sent by the second node.
  • the exposed node receives the CTS sent by the second node, it is determined that the second node can receive the data frame sent by the second node to complete the RTS-CTS handshake process with the second node.
  • the second node when the second node receives the RTS sent by the exposed node, if the second node has received the CTS of the other node and determines that the target address carried in the CTS is inconsistent with its own address, that is, the second node Currently, it is a hidden node, and the second node also needs to send a CTS to the exposed node. That is, in the embodiment of the present invention, when the second node receives the RTS sent by the exposed node, when determining that the current media is in an idle state, the second node needs to expose the node regardless of whether the second node is currently a hidden node. Send CTS.
  • the interfered node may send a blocking frame, that is, the blocking frame is sent when any node in the wireless network receives the RTS while receiving the data frame, and the blocking frame is used to indicate that the sending of data to the second node is prohibited.
  • the frame that is, in the embodiment of the present invention, the blocking frame may form a collision with the CTS sent by the second node, and if the blocking frame and the CTS collide, that is, when receiving the CTS sent by the second node, it is determined that other nodes are received. If the blocked frame is sent, then in order to avoid interference with other nodes receiving data, the data will not be sent to the second node.
  • the blocking frame when receiving the CTS sent by the second node, it is first determined whether a blocked frame is received, and if the blocked frame has been received, and the RA of the blocked frame is detected to be the same as the own address, the prohibition is prohibited.
  • the second node sends data; if it is determined that the blocking frame is not currently received, the RTS-CTS handshake process with the second node is completed, and step 304 is performed.
  • the sequence may be used to indicate the carried RA.
  • the blocking frame includes a first sequence, a second sequence, the third sequence indicating the beginning, end, and RA of the frame, respectively, such that the blocking frame includes only a pure sequence.
  • Step 304 When it is determined that no blocking frame is currently received, the data frame is sent to the second node by rateless encoding.
  • Each The size is k bit; then each is generated by the hash function
  • the state parameter s i and the encoding symbol x i,j , and the state parameter s i and the encoding symbol x i,j are sent to a random generator (RNG) for encoding to obtain a corresponding pass, and the pass is punctured (puncture) Processing, obtaining a data frame encoded by Spinal. After the data frame is encoded by the Spinal encoding, the data frame after the Spinal encoding is mapped to the time-frequency resource, and the mapped data frame is sent to the second node.
  • RNG random generator
  • Step 305 Receive an ACK sent by the second node, where the ACK sent by the second node is sent by the second node when determining that the data frame is received.
  • the second node When the second node receives the data frame transmitted by the rateless encoding, the second node will start to attempt decoding. When the decoding is successful, the second node will send an ACK, and when receiving the ACK sent by the second node, determine the second. The node has correctly received the data frame it sent, and will stop sending data frames to the second node to complete the data transmission process.
  • the current first node may still send the data frame, and therefore receiving the ACK sent by the second node is received under the interference of the data frame sent by the first node, That is, the received ACK sent by the second node conflicts with the data frame sent by the first node.
  • the ACK sent by the second node may adopt an ACK in an enhanced format, that is, the ACK may carry the first sequence, the second sequence, or the third. At least one of the sequences.
  • the ACK sent by the second node may also not include any one of the first sequence, the second sequence, and the third sequence.
  • the embodiments of the present invention are not specifically limited herein.
  • Step 306 When it is determined that the RA carried in the RTS sent by the first node is consistent with its own address, and the current media is in the idle state, the CTS is sent to the first node, where the CTS is carried in the CTS sent to the first node.
  • RA is the address of the first node.
  • the RA carried in the RTS sent by the first node when it is determined that the RA carried in the RTS sent by the first node is consistent with its own address, it indicates that it is the target node that sends the data frame to the first node, and the CTS needs to be replied to the first node.
  • the CTS Before replying to the CTS, it is necessary to determine whether the current media is in an idle state, so as to prevent the data frame from being transmitted by the node in the network coverage and affecting the data frame currently received by the first node. For example, in the data transmission system in the wireless network shown in FIG. 1, when the node 101 receives the RTS sent by the node 102, it determines that its address is consistent with the RA carried in the RTS sent by the node 102, and listens to the current media. When in the idle state, the CTS is sent to the node 102 to complete the RTS-CTS handshake process between the node 101 and the node 102.
  • Step 307 Receive a data frame sent by the first node by using rateless coding.
  • the embodiment in which the rateless encoding is the spin code, the first node sends the data frame through the spin code, and the embodiment in which the exposed node sends the data frame through the spin code in step 304 is basically the same, and is not described in detail herein.
  • the first node that is, the node 102 receives the CTS sent by the node 101
  • transmitting data frames to node 101 by rateless coding when the first node, that is, the node 102 receives the CTS sent by the node 101, it is determined that the node 101 can receive the data frame it transmits, and completes the RTS-CTS handshake process between the node 101 and the node 102. And transmitting data frames to node 101 by rateless coding.
  • Step 308 Determine whether there is a conflicting frame in the data frame sent by the first node, where the conflicting frame includes an RTS, a CTS, an ACK, and a blocking frame.
  • a collision may be formed between the data frame and the control frame. Therefore, in receiving the data frame sent by the first node, the control frame sent by other nodes may also be received, that is, in the first There may be conflicting frames in the data frame sent by a node. Since the control frame includes RTS, CTS, ACK, and blocking frames, the conflicting frames also include RTS, CTS, ACK, and blocking frames.
  • determining whether there is a conflicting frame in the data frame sent by the first node may be implemented in the following two possible implementation manners.
  • a preamble sequence when a preamble sequence is detected in a data frame sent by the first node, it is determined that there is a conflicting frame in the data frame sent by the first node.
  • the node that sends the conflicting frame does not perform any processing on the conflicting frame in the process of sending the conflicting frame, that is, only when the conflicting frame is encapsulated.
  • the header of the frame is added to the preamble sequence, which is used to identify the collided frame. Therefore, when the preamble sequence is detected in the data frame sent by the first node, it is determined that there is a conflicting frame in the data frame sent by the first node.
  • the second possible implementation manner is: when the first sequence is detected in the data frame sent by the first node, determining that there is a conflicting frame in the data frame sent by the first node.
  • the node that sends the conflicting frame when transmitting the conflicting frame, is in the conflicting frame when the physical layer encapsulates the conflicting frame. Adding a first sequence to the header, the first sequence is used to indicate a start position of the conflicting frame, and when the first sequence is detected in the data frame sent by the first node, determining that there is a conflict in the data frame sent by the first node frame.
  • Step 309 When it is determined that there is a conflicting frame in the data frame sent by the first node, determining a start position and an end position of the conflicting frame;
  • the start position and the end position of the conflicting frame need to be determined first. Since there are two possible implementations for determining whether there is a conflicting frame in the data frame sent by the first node in step 308, correspondingly, there are two possible implementations for determining the start position and the end position of the conflicting frame.
  • the first possible implementation manner is: when a preamble sequence is detected in a data frame sent by the first node, and a conflicting frame exists in the data frame sent by the first node, and the physical frame is detected from the data frame sent by the first node. a packet header, determining a start position and an end position of the conflicting frame according to the detected preamble sequence and the physical packet header; or detecting a second sequence from the data frame sent by the first node, according to the detected preamble sequence and the second sequence, Determine the start and end of the conflicting frame.
  • the preamble sequence may indicate the start of the conflicting frame. position.
  • the physical packet header of the conflicting frame includes information such as a transmission rate and a transmission duration. Therefore, the length of the conflicting frame can be indirectly determined by the transmission rate and the transmission duration of the conflicting frame, and according to the preamble sequence of the conflicting frame. And the length of the conflicting frame, determining the end position of the conflicting frame.
  • the node that sends the conflicting frame may add a second sequence at the end of the conflicting frame when the physical layer encapsulates the conflicting frame, and the second sequence may indicate The end position of the conflicting frame, when the second sequence is detected, directly determines the end position of the conflicting frame, and does not need to indirectly determine the end position of the conflicting frame through the physical packet header.
  • the second possible implementation manner is: when the first sequence is detected in the data frame sent by the first node, and the conflicting frame is determined in the data frame sent by the first node, the data frame sent by the first node is detected. a physical packet header, determining a start position and an end position of the conflicting frame according to the detected first sequence and the physical packet header; or detecting a second sequence from the data frame sent by the first node, according to the detected first sequence and The second sequence determines the start position and end position of the conflicting frame.
  • the second sequence is used to indicate the conflict.
  • the end position of the frame therefore, the start position and the end position of the conflicting frame can be determined by the first sequence and the physical packet header, and the start position and the end position of the conflicting frame can also be determined by the first sequence and the second sequence.
  • the first sequence of the conflicting frame may include at least one fourth sequence.
  • the type of the conflicting frame may be determined according to the number and type of the fourth sequence; correspondingly, when the first sequence of the conflicting frame is not included for indicating
  • the fourth sequence of the type of the conflicting frame is demodulated, the MAC packet of the conflicting frame is demodulated to determine the type of the conflicting frame.
  • the implementation manner of determining the type of the conflicting frame according to the number and type of the fourth sequence is substantially the same as the implementation manner of determining the type of the control frame by using the first sequence in step 301, and is not described in detail herein.
  • the conflicting frame when it is detected that there is a conflicting frame in the data frame sent by the first node and the conflicting frame is an RTS, it indicates that the node in the network coverage area wants to send the data frame, in order to avoid the data sent by the node.
  • the frame conflicts with the data frame currently received by the first node.
  • the data frame sent by the first node is stopped, and the sending is blocked.
  • the frame re-receives the data frame sent by the first node after sending the blocking frame.
  • the node within the coverage of the network receives the blocked frame, if the node has a data frame to be sent, that is, the node is a node that has sent the RTS and is waiting to reply to the CTS, the data frame is stopped.
  • Step 310 Decode the data frame of the conflicting frame.
  • the conflicting frame in order to correctly decode the received data frame, when there is a conflicting frame in the received data frame, the conflicting frame needs to be processed, specifically, if it is in the received data frame. And detecting the conflicting frame, removing the conflicting frame from the data frame according to the start position and the ending position of the conflicting frame, combining to remove the data frame after the conflicting frame, and decoding the conflicting frame And removing the data frame after the conflicting frame.
  • Step 311 When it is determined that the data frame sent by the first node by the rateless encoding is correctly received, the ACK is sent to the first node.
  • the node in the wireless network may also receive the CTS sent by other nodes in the receiving range, and when receiving the CTS, determine whether to send and send the CTS according to the RA carried in the CTS.
  • the nodes of the CTS perform data transmission. That is, when receiving the CTS sent by the fourth node, it is determined whether the RA carried in the CTS sent by the fourth node is consistent with its own address, wherein the fourth node is a node to receive the data frame sent by the rateless encoding. . After determining that the RA carried in the CTS sent by the fourth node is inconsistent with its own address, it is determined to be a hidden node at this time.
  • the hidden node determines that the data frame sent by the fifth node is correctly received, the ACK is sent to the fifth node, and the fifth node is prevented from continuously sending the data frame to the hidden node, and the data transmission between the hidden node and the fifth node is completed.
  • the rate-free encoding is the spin code.
  • the implementation of the fifth node through the spin code is basically the same as the implementation of the exposed node through the spin code in step 304, and is not described in detail herein.
  • the node 104 will also receive the CTS sent by the node 101, and the node 104 determines that it is hidden according to the CTS sent by the node 101.
  • a node when the node 104 receives the RTS sent by the node 106, may send a CTS to the node 106.
  • the RTS-CTS handshake process between the node 104 and the node 106 is completed without affecting the node 101 receiving the data frame transmitted by the node 102.
  • the embodiment of the present invention performs a simulation experiment on the data transmission method in the wireless network shown in FIG. 3A. It is marked as experiment one; at the same time, the data transmission method based on 802.11 Distributed Coordination Function (DCF) protocol is also simulated, and it is marked as experiment 2.
  • Experiment 1 and Experiment 2 have the same topology and parameters, that is, the simulation environment of Experiment 1 and Experiment 2 is the same. The same simulation environment is: 50 nodes are randomly generated in the range of 500m ⁇ 500m, and the horizontal and vertical coordinates are uniformly distributed.
  • the node transmitting the signal transmits a fixed frame length data frame with a fixed power, and the data frame generation time obeys Poisson. Distribution, channel fading of the physical layer is expressed by the following formula (1):
  • PL(d) is the channel fading value
  • [dB] represents the unit of formula (1)
  • PL F (d 0 ) is the free space fading of the reference distance d 0
  • d is the node transmitting the data frame and receiving the data frame
  • G t is the transmit antenna gain
  • G r is the receive antenna gain
  • L is the propagation environment-independent system loss factor.
  • Packet length 1536 Byte Length of RTS 20 Byte Length of CTS 14 Byte Length of ACK 14 Byte Length of the Physical Layer Convergence Procedure (PLCP) 20 ⁇ s Power (Power) 0.1 W Receive sensitivity -88dBm Carrier sensing threshold -90.1dBm Distributed inter-frame space (DIFS) 34 ⁇ s Short inter-frame space (SIFS) 16 ⁇ s Slot time 9 ⁇ s Length of PN sequence (PN length) 6.35 ⁇ s Bandwidth 20MHz Noise floor -93dBm
  • DIFS Distributed inter-frame space
  • SIFS Short inter-frame space
  • Experiments 1 and 2 are performed according to the above simulation environment, and the simulation results of Experiment 1 and Experiment 2 are compared. The comparison results are shown in Figure 3C.
  • the network reaches saturation, the network swallowing metric ratio in the simulation result of Experiment 1
  • the network throughput of the experiment 2 is increased by 175.89%, wherein the improvement includes the gain of the physical layer transmission rate by using the spinal code, and the data transmission method in the wireless network provided by the embodiment of the present invention enables the exposed node to send data and hide The node can receive the gain from the data.
  • the node when the RTS sent by the first node is received and it is determined that the RA carried in the RTS sent by the first node is inconsistent with the address of the R1, it is determined that the node is an exposed node, because the first node will pass the no rate.
  • Encoding to send data frames while data frames transmitted by rateless encoding allow controlled frames such as RTS or CTS interference or control frames to be allowed to be interfered by data frames transmitted by rateless encoding, thus, when exposed nodes have data frames to the second node
  • the RTS may be sent to the second node, and the CTS sent by the second node is received by the first node under the interference of the data frame sent by the rateless encoding to complete the RTS-CTS handshake process with the second node.
  • the problem that the exposed node cannot complete the RTS-CTS handshake process with other nodes is solved, thereby improving the network throughput in the data transmission process based on the RTS/CTS mechanism.
  • the apparatus includes a processing module 401, a transmitting module 402, and a receiving module 403.
  • the processing module 401 is configured to perform step 301 in the embodiment of FIG. 3A, where the receiving module 403 is configured to receive the RTS sent by the first node;
  • the sending module 402 is configured to perform step 302 in the embodiment of FIG. 3A;
  • the receiving module 403 is configured to perform step 303 in the embodiment of FIG. 3A, where the blocking frame is used to indicate that the sending of the data frame to the second node is prohibited, and the blocking frame is received by any node in the wireless network while receiving the data frame. Sent when RTS.
  • the sending module 402 is further configured to perform step 304 in the embodiment of FIG. 3A.
  • the processing module 401 is further configured to determine, according to the first preset duration and the second preset duration, a time for sending the RTS to the second node, where the first preset duration is a duration for sending the RTS, and the second preset duration is The length of time the CTS is sent;
  • the sending module 402 is further configured to send the RTS to the second node when the time for sending the RTS to the second node is reached.
  • the receiving module 403 is further configured to perform step 305 in the embodiment of FIG. 3A.
  • processing module 401 and the sending module 402 are further configured to perform step 306 in the embodiment of FIG. 3A
  • the receiving module 403 is further configured to perform step 307 in the embodiment of FIG. 3A.
  • processing module 401 is further configured to:
  • Detecting a second sequence from a data frame sent by the first node determining a start position and an end position of the conflicting frame according to the detected preamble sequence and the second sequence, where the second sequence is used to indicate an end position of the conflicting frame,
  • the second sequence is a sequence of edges added at the end of the conflicting frame when the physical layer encapsulates the conflicting frames.
  • processing module 401 is further configured to:
  • the first sequence When the first sequence is detected in the data frame sent by the first node, determining that there is a conflicting frame in the data frame sent by the first node, the first sequence is used to indicate the start position of the conflicting frame, and the first sequence is a physical layer. Adding a sequence of headers at the conflicting frame to the conflicting frame;
  • a second sequence is detected from a data frame transmitted by the first node, and a start position and an end position of the conflicting frame are determined according to the detected first sequence and the second sequence.
  • the receiving module 403 is further configured to: when the processing module 401 detects that there is a conflicting frame in the data frame sent by the first node, and the conflicting frame is an RTS, stop receiving the data frame sent by the first node;
  • the sending module 402 is further configured to send a blocking frame, where the blocking frame is used to prohibit the third node from transmitting the data frame, and the third node is a node that does not receive the RTS sent by the first node but listens to the current media being in a busy state;
  • the receiving module 403 is further configured to: after the sending module 402 sends the blocking frame, re-receive the data frame sent by the first node.
  • the sending module 402 is further configured to perform step 311 in the embodiment of FIG. 3A.
  • the processing module 401 is further configured to: when the receiving module 403 receives the CTS sent by the fourth node, determine whether the RA and the address carried in the CTS sent by the fourth node are consistent, and the fourth node sends the data to be received through the rateless encoding.
  • the sending module 402 is further configured to: after the processing module 401 determines that the RA carried in the CTS sent by the fourth node is inconsistent with the address of the user, the receiving module 403 receives the RTS sent by the fifth node, and the processing module 401 monitors that the current media is in the In the idle state, sending a CTS to the fifth node;
  • the sending module 402 is further configured to: when the processing module 401 determines that the receiving module 403 correctly receives the data frame sent by the fifth node, send an ACK to the fifth node.
  • the first sequence includes at least one fourth sequence.
  • the conflicting frame is an RTS
  • the number of the at least one fourth sequence is the second.
  • the conflicting frame is not RTS, or,
  • the rateless encoding is a Spinal encoding.
  • the hidden node can reply to the RTS sent by the fifth node without causing a collision with the fourth node receiving the data frame, that is, the hidden node can complete the RTS-CTS handshake process with the fifth node and receive the fifth node to send by the rateless encoding.
  • the data frame solves the problem that the hidden node cannot complete the RTS-CTS handshake process with other nodes, and further improves the network throughput during the data transmission process based on the RTS/CTS mechanism.
  • the data transmission device in the wireless network provided by the foregoing embodiment establishes a wireless link
  • only the division of each functional module described above is used for example.
  • the foregoing function may be allocated differently according to requirements.
  • the functional module is completed, that is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above.
  • the data transmission device in the wireless network provided by the foregoing embodiment is the same as the data transmission method in the wireless network provided by the embodiment of FIG. 3A, and the specific implementation process is shown in FIG. 3A, and details are not described herein again.
  • the computer program product includes one or more computer instructions.
  • the computer can be a general purpose computer, a special purpose computer, a computer network, or other programmable device.
  • the usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, a magnetic tape), an optical medium (for example, a digital versatile disc (DVD)), or a semiconductor medium (for example, a solid state disk (SSD)). )Wait.
  • a magnetic medium for example, a floppy disk, a hard disk, a magnetic tape
  • an optical medium for example, a digital versatile disc (DVD)
  • DVD digital versatile disc
  • SSD solid state disk

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本申请公开了一种无线网络中的数据传输方法及装置,属于无线通信技术领域。该方法包括:当接收到第一节点发送的RTS并确定第一节点发送的RTS中携带的RA和自身的地址不一致,且存在数据帧向第二节点发送时,向第二节点发送RTS并接收第二节点发送的CTS,由于第一节点将通过无速率编码发送数据帧,而通过无速率编码发送的数据帧允许被控制帧干扰,因此,当存在数据帧向第二节点发送时,可以向第二节点发送RTS,并在第一节点发送的数据帧的干扰下接收第二节点发送的CTS,解决了暴露节点不能与其他节点完成RTS-CTS握手过程并进行数据传输的问题,从而提高了基于RTS/CTS机制进行数据传输过程中的网络吞吐量。

Description

无线网络中的数据传输方法及装置
本申请要求于2017年02月28日提交国家知识产权局、申请号为201710114043.6、申请名称为“无线网络中的数据传输方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及无线通信技术领域,特别涉及一种无线网络中的数据传输方法及装置。
背景技术
在无线网状(Mesh)网络中分布多个无线设备,该多个无线设备为无线Mesh网络中的节点,由于在Mesh网络中没有中心控制节点,因此其中两个节点之间进行数据传输时可能受到其他节点发送的信号的干扰,导致该两个节点进行数据传输失败。
目前,普遍通过请求发送-允许发送(Request to Send-Clear to Send,RTS-CTS)机制来避免上述情况。也即,在第一节点向第二节点发送数据帧之前,第一节点发送RTS,该RTS中携带发射机地址(Transmitter Address,TA)和接收机地址(Receiver Address,RA),TA为第一节点的地址,RA为第二节点的地址,Mesh网络中的节点在接收到该RTS时,判断自身的地址与该RTS中携带的RA是否相同,当自身的地址和该RTS中携带的RA不同时,确定自身为暴露节点(Exposed Node),为了保证其接收到的信号不被第一节点发送的信号所干扰,暴露节点将不再向其他节点发送任何信息。当自身的地址和该RTS中携带的RA相同时,确定自身为第二节点,并在监听到媒体处于空闲状态时,向第一节点发送CTS,该CTS携带TA和RA,TA为第二节点的地址,RA为第一节点的地址。Mesh网络中的节点在接收到该CTS时,判断自身的地址是否和该CTS中携带的RA相同。当自身的地址和该CTS中携带的RA不同时,确定自身为隐藏节点(Hidden Node),为了保证第二节点接收的信号不被干扰,隐藏节点将不再向其他节点发送任何信息。当第一节点接收到CTS中携带的RA和自身的地址相同时,向第二节点发送数据帧以实现数据传输。
由于上述RTS-CTS机制中,当Mesh网络中的节点确定自身的地址和第一节点发送的RTS中携带的RA不同时,确定自身为暴露节点,将不发送任何信息,如图1所示,当节点102向节点101发送RTS时,节点103确定自身为暴露节点,节点103将不发送任何信息,但是节点103在节点101的接收范围之外,因此节点103可以向节点105发送数据帧,但是在上述RTS-CTS机制中,由于节点103不能发送任何信息,因此节点103将不能与节点105完成RTS-CTS握手过程,也即暴露节点无法与其他节点完成RTS-CTS握手过程,以实现数据传输,降低了无线网络的网络吞吐量;并且当Mesh网络中的节点确定自身的地址和第二节点发送的CTS中携带的RA不同时,确定自身为隐藏节点,为了避免对第二节点接收数据帧造成干扰,隐藏节点将不发送任何信息,如图1所示,当节点101向节点102回复CTS时,节点104在接收到该CTS时,确定自身为隐藏节点,由于节点102在节点104的接收范围之外,因此节点102发送的数据帧不会干扰节点104接收节点106发送的数据 帧,但是在上述RTS/CTS机制中,由于节点104将不发送任何信息,因此节点104将无法向节点106回复CTS,以进行数据传输,也即为了避免对第二节点接收数据帧造成干扰,隐藏节点无法向其他节点回复CTS,以实现数据传输。因此,上述RTS/CTS机制严重降低了无线网络中的网络吞吐量。
发明内容
为了解决相关技术中的光器件不能同时用于汇合不同波长的光信号和分离WDM信号的问题,本申请提供了一种偏振无关的光器件。所述偏振无关的光器件的结构如下:
为了解决无线网络中基于RTS/CTS机制进行数据传输过程中的网络吞吐量低的问题,本申请提供了一种无线网络中的数据传输方法及装置。所述技术方案如下:
第一方面,提供了一种无线网络中的数据传输方法,所述无线网络中的节点通过无速率编码发送数据帧,所述方法包括:
当接收到第一节点发送的RTS时,判断所述第一节点发送的RTS中携带的RA和自身的地址是否一致;
当确定所述第一节点发送的RTS中携带的RA和自身的地址不一致之后,当存在数据向第二节点发送时,向所述第二节点发送RTS,其中,向所述第二节点发送的RTS中携带的RA为所述第二节点的地址;
接收所述第二节点发送的CTS,且确定当前没有接收到阻塞帧(Jamming)时,通过无速率编码向所述第二节点发送数据帧,所述阻塞帧用于禁止向第二节点发送数据帧,所述阻塞帧为所述无线网络中的任一节点在接收数据帧的同时接收到RTS时发送。
在本发明实施例中当接收到第一节点发送的RTS并确定该第一节点发送的RTS中携带的RA和自身的地址不一致时,确定自身为暴露节点,由于第一节点将通过无速率编码发送数据帧,而通过无速率编码发送的数据帧允许被控制帧如RTS或CTS干扰或控制帧允许被通过无速率编码发送的数据帧干扰,因此,当暴露节点存在数据帧向第二节点发送时,可以向第二节点发送RTS,并在第一节点通过无速率编码发送的数据帧的干扰下接收第二节点发送的CTS,如果确定当前没有接收到阻塞帧时,表明当前即将发送数据帧不会对对其他节点接收数据帧造成干扰,此时通过无速率编码向第二节点发送数据帧,解决了暴露节点不能与其他节点完成RTS-CTS握手过程的问题,从而提高了基于RTS/CTS机制进行数据传输过程中的网络吞吐量。
可选地,所述向所述第二节点发送RTS,包括:
根据第一预设时长和第二预设时长确定向所述第二节点发送RTS的时间,所述第一预设时长为发送RTS的时长,所述第二预设时长为发送CTS的时长;
当向所述第二节点发送RTS的时间达到时,向所述第二节点发送RTS。
需要说明的是,在本发明实施例中,控制帧如RTS或CTS仍通过固定码率编码,因此,控制帧不能被控制帧干扰,由于暴露节点在第一节点的网络覆盖范围之内,为了避免暴露节点发送的RTS影响第一节点接收CTS,因此,暴露节点需在确定第一节点接收到CTS之后,再向第二节点发送RTS。
可选地,所述通过无速率编码向所述第二节点发送数据帧之后,还包括:
接收所述第二节点发送的正确接收确认(Acknowledgement,ACK),所述第二节点发 送的ACK为所述第二节点在确定接收到数据帧时发送。
当第二节点确定正确接收到数据帧时,向该暴露节点发送ACK,当该暴露节点接收到该ACK时,确定第二节点已正确接收到该数据帧,并终止向第二节点发送数据帧。
可选地,所述当接收到第一节点发送的RTS时,判断所述第一节点发送的RTS中携带的RA和自身的地址是否一致之后,还包括:
当确定所述第一节点发送的RTS中携带的RA和自身的地址一致,且监听到当前媒体处于空闲状态时,向所述第一节点发送CTS,其中,向所述第一节点发送的CTS中携带的RA为所述第一节点的地址;
接收所述第一节点通过无速率编码发送的数据帧。
在本发明实施例中,当接收到第一节点发送的RTS并确定该第一节点发送的RTS中携带的RA和自身的地址一致时,确定自身为第一节点发送数据帧的目标节点,并向第一节点发送CTS,以完成与第一节点之间的RTS-CTS握手过程。
可选地,所述接收所述第一节点通过无速率编码发送的数据帧之后,还包括:
判断所述第一节点发送的数据帧中是否存在冲突的帧,所述冲突的帧包括RTS、CTS、ACK和阻塞帧;
当确定所述第一节点发送的数据帧中存在所述冲突的帧时,确定所述冲突的帧的开始位置和结束位置;
根据所述冲突的帧的开始位置和结束位置,解码存在冲突的帧的数据帧。
由于第一节点通过无速率编码发送数据帧,因此,接收到的第一节点发送的数据帧中可能还存在冲突的帧,为了得到解码正确的数据帧,在将数据帧解码之前,需要先将包括冲突的帧的数据帧进行处理,以获取不包括冲突的帧的数据帧。
可选地,所述判断所述第一节点发送的数据帧中是否存在冲突的帧,包括:
当在所述第一节点发送的数据帧中检测到前导序列时,确定所述第一节点发送的数据帧中存在所述冲突的帧;
相应地,所述确定所述冲突的帧的开始位置和结束位置,包括:
从所述第一节点发送的数据帧中检测物理包头,根据检测到的前导序列和物理包头,确定所述冲突的帧的开始位置和结束位置;或者,
从所述第一节点发送的数据帧中检测第二序列,根据检测到的前导序列和第二序列,确定所述冲突的帧的开始位置和结束位置,所述第二序列用于指示所述冲突的帧的结束位置,所述第二序列为物理层对所述冲突的帧封装时添加在所述冲突的帧的尾部的序列。
在本发明实施例中,通过前导序列确定冲突的帧的开始位置,通过第二序列或物理包头可以确定冲突的帧的结束位置,以便对存在冲突的帧的数据帧进行处理。
可选地,所述判断所述第一节点发送的数据帧中是否存在冲突的帧,包括:
当在所述第一节点发送的数据帧中检测到第一序列时,确定所述第一节点发送的数据帧中存在所述冲突的帧,所述第一序列用于指示所述冲突的帧的开始位置,所述第一序列为物理层对所述冲突的帧封装时添加在所述冲突的帧的头部的序列;
相应地,所述确定所述冲突的帧的开始位置和结束位置,包括:
从所述第一节点发送的数据帧中检测物理包头,根据检测到的第一序列和物理包头,确定所述冲突的帧的开始位置和结束位置;或者,
从所述第一节点发送的数据帧中检测第二序列,根据检测到的第一序列和第二序列,确定所述冲突的帧的开始位置和结束位置。
在本发明实施例中,通过第一序列可以确定冲突的帧的开始位置,无需通过前导序列来确定冲突的帧的开始位置,由于第一序列为物理层对冲突的帧封装时添加在冲突的帧的头部的序列,增强了检测数据帧中是否存在冲突的帧的准确性。
可选地,所述接收所述第一节点通过无速率编码发送的数据帧,包括:
当检测到所述第一节点发送的数据帧中存在冲突的帧且所述冲突的帧为RTS时,停止接收所述第一节点发送的数据帧;
发送阻塞帧,所述阻塞帧用于禁止第三节点发送数据帧,所述第三节点为没有接收到所述第一节点发送的RTS但监听到当前媒体处于忙碌状态的节点;
在发送所述阻塞帧之后,重新接收所述第一节点发送的数据帧。
当检测到第一节点发送的数据帧中存在冲突的帧且所述冲突的帧为RTS时,表明当前网络覆盖范围内存在第三节点欲向其他节点发送数据帧,为了避免当前接收第一节点发送的数据帧被干扰,通过发送阻塞帧来禁止第三节点向其他节点发送数据帧。
可选地,所述接收所述第一节点通过无速率编码发送的数据帧之后,还包括:
当确定正确接收到所述第一节点通过无速率编码发送的数据帧时,向所述第一节点发送ACK。
当确定正确接收到第一节点发送的数据帧时,向第一节点发送ACK,当第一节点接收到该ACK时,终止通过无速率编码发送数据帧。
可选地,所述方法还包括:
当接收到第四节点发送的CTS时,判断所述第四节点发送的CTS中携带的RA和自身的地址是否一致,所述第四节点为待接收通过无速率编码发送的数据帧的节点;
当确定所述第四节点发送的CTS中携带的RA和自身的地址不一致之后,当接收到第五节点发送的RTS且监听到当前媒体处于空闲状态时,向所述第五节点发送CTS;
接收所述第五节点通过无速率编码发送的数据帧。
在本发明实施例中,当接收到第四节点发送的CTS并确定该第四节点发送的CTS中携带的RA和自身的地址不一致时,确定自身为隐藏节点,由于第四节点接收的数据帧是通过无速率编码发送的数据帧,因此隐藏节点可以回复其他节点的RTS而不影响第四节点接收数据帧,也即,隐藏节点可以接收第五节点发送的数据帧,,解决了隐藏节点不能与其他节点完成RTS-CTS握手过程的问题,从而提高了基于RTS/CTS机制进行数据传输过程中的网络吞吐量。
可选地,所述接收所述第五节点通过无速率编码发送的数据帧之后,还包括:
当确定正确接收到所述第五节点发送的数据帧时,向所述第五节点发送ACK。
当确定正确接收到第五节点发送的数据帧时,向第五节点发送ACK,当第五节点接收到ACK时,终止通过无速率编码发送数据帧。
可选地,所述RTS、CTS、阻塞帧和ACK中的每一个均包括所述第一序列和所述第二序列中的至少一个,所述RTS、CTS和ACK中还包括第三序列,所述第三序列用于指示携带的RA。
在本发明实施例中,RTS、CTS和ACK还可以包括第三序列,由于第三序列用于指示 携带的RA,因此,无需解调RTS、CTS和ACK中的MAC(Medium Access Control,媒体接入控制)头,通过该第三序列即可确定RA。
可选地,所述第一序列包括至少一个第四序列,当所述至少一个第四序列的个数为第一预设个数时,所述冲突的帧为RTS,当所述至少一个第四序列的个数为第二预设个数时,所述冲突的帧不是RTS,或者,
当所述第一序列包括一个第四序列,当所述一个第四序列的类型为第一预设类型时,所述冲突的帧为RTS,当所述一个第四序列的类型为第二预设类型时,所述冲突的帧不是RTS。
在本发明实施例中,第一序列还可包括第四序列,可以通过第四序列的个数或第四序列的类型确定冲突的帧是否为RTS,无需通过解调冲突的帧中的MAC包来确定冲突的帧的类型。
可选地,所述无速率编码为Spinal编码。
在本发明实施例中,无速率编码为Spinal编码,便于对包括冲突的帧的数据帧进行处理。
第二方面,提供了一种无线网络中的数据传输装置,所述无线网络中的数据传输装置具有实现上述第一方面中无线网络中的数据传输方法行为的功能。该无线网络中的数据传输装置包括至少一个模块,该至少一个模块用于实现上述第一方面所提供的无线网络中的数据传输方法。
第三方面,提供了一种无线网络中的数据传输装置,所述无线网络中的数据传输装置的结构中包括处理器和存储器,所述存储器用于存储支持无线网络中的数据传输装置执行上述第一方面所提供的无线网络中的数据传输方法的程序,以及存储用于实现上述第一方面所提供的无线网络中的数据传输方法所涉及的数据。所述处理器被配置为用于执行所述存储器中存储的程序。
第四方面,本发明实施例提供了一种计算机存储介质,用于储存为上述第二方面所提供的无线网络中的数据传输装置所用的计算机软件指令,或存储用于执行上述第三方面为无线网络中的数据传输装置所设计的程序。
在本申请中,当接收到第一节点发送的RTS并确定该第一节点发送的RTS中携带的RA和自身的地址不一致时,确定自身为暴露节点,由于第一节点将通过无速率编码发送数据帧,而通过无速率编码发送的数据帧允许被控制帧如RTS或CTS干扰或控制帧允许被通过无速率编码发送的数据帧干扰,因此,当暴露节点存在数据帧向第二节点发送时,可以向第二节点发送RTS,并在第一节点通过无速率编码发送的数据帧的干扰下接收第二节点发送的CTS,以完成与第二节点之间的RTS-CTS握手过程,若确定当前没有接收到阻塞帧时,则向第二节点发送数据帧,解决了暴露节点不能与其他节点完成RTS-CTS握手过程并进行数据传输的问题,从而提高了基于RTS/CTS机制进行数据传输过程中的网络吞吐量。
附图说明
图1是本发明实施例提供的一种无线网络中的数据传输系统示意图;
图2是本发明实施例提供的一种网络设备的结构示意图;
图3A是本发明实施例提供的一种无线网络中的数据传输方法流程图;
图3B是本发明实施例提供的一种控制帧的格式示意图;
图3C是本发明实施例提供的一种仿真结果对比图;
图4是本发明实施例提供的一种无线网络中的数据传输装置框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
下面将结合附图对本发明实施方式作进一步地详细描述。
图1是本发明实施例提供的一种无线网络中的数据传输系统示意图,如图1所示,该无线网络中的数据传输系统包括节点101、节点102、节点103、节点104、节点105和节点106,当节点102存在数据帧向节点101发送时,节点102向节点101发送RTS,该RTS中携带的RA为节点101的地址,当节点101接收到该RTS时,在确定该RTS中携带的RA和自身的地址一致且监听到当前媒体处于空闲状态时,节点101向节点102回复CTS,该CTS携带RA为节点102的地址,当节点102接收到该CTS时,确定节点101可以接收其发送的数据帧,完成与节点101之间的RTS-CTS握手过程,并通过无速率编码向节点101发送数据帧。
另外,节点102发送范围的其他节点,如节点103也将接收到节点102发送的RTS,由于该RTS中携带的RA和自身地址不一致,确定自身为暴露节点,当节点103存在数据帧向节点105发送时,节点103可以向节点105发送RTS,以完成暴露节点103和节点105之间的RTS-CTS握手过程,并进行数据传输。节点101发送范围内的其他节点,如节点104也将接收到节点101发送的CTS,由于该CTS中携带的RA和自身地址不一致,确定自身为隐藏节点,隐藏节点104接收其他节点如节点106发送的RTS,可以回复CTS,以完成节点104和节点106之间的RTS-CTS握手过程,并进行数据传输。
需要说明的是,本发明实施例提供的无线网络中的数据传输系统包括多个节点,在图1中,仅以节点101、节点102、节点103、节点104、节点105和节点106为例进行说明。并且,该无线网络中的数据传输系统中各个节点均为网络设备,且在Mesh网络中,构成各个的节点的网络设备均具有路由功能,该网络设备可以为手机、电脑或路由器等,本发明实施例在此不做具体限定,在图1中,仅以节点102和节点103为电脑,节点101、节点105和节点106为路由器,节点104为手机为例进行说明。另外,节点103、节点104、节点105和节点106均可能为多个节点,在图中仅以两个节点103、两个节点104、两个节点105和两个节点106为例进行说明。
图2是本发明实施例提供的一种网络设备的结构示意图,该网络设备可以为图1所示路由器、手机或电脑等设备,也即图1所示的节点101、节点102、节点103、节点104、节点105和节点106均具备图2所示的网络设备的结构。如图2所示,该网络设备包括: 发射机201、接收机202、存储器203和处理器204。
其中,发射机201可以用于发送数据和/或信令等。接收机202可以用于接收数据和/或信令等。
其中,存储器203可以用于存储一个或多个软件程序和/或模块。存储器203可以是只读存储器(Read-only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)、磁盘存储介质,或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由集成电路存取的任何其它介质,但不限于此。
其中,处理器204可以是一个通用中央处理器(Central Processing Unit,CPU)、微处理器、特定应用集成电路(Application-Specific Integrated Circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。处理器204可以通过运行存储在存储器203内的软件程序和/或模块,以及调用存储在存储器203内的数据,来实现下述图3A实施例所提供的无线网络中的数据传输方法。
图3A是本发明实施例提供的一种无线网络中的数据传输方法流程图,该无线网络中的数据传输方法应用于无线网络中的任一节点,且无线网络中的节点通过无速率编码发送数据帧,如图3A所示,该无线网络中的数据传输方法包括以下几个步骤:
步骤301:当接收到第一节点发送的RTS时,判断第一节点发送的RTS中携带的RA和自身的地址是否一致。
在无线网络中,当第一节点存在数据帧发送时,第一节点将发送RTS,该RTS中携带RA,该RA为待接收第一节点发送的数据帧的节点的地址。为了便于说明,将待接收第一节点发送的数据帧的节点称为目标节点,由于在第一节点的发送范围内,除了目标节点,可能还存在其他节点,因此,当无线网络中的节点接收到第一节点发送的RTS时,为了确定是否回复第一节点发送的RTS,需要判断自身的地址和第一节点发送的RTS中携带的RA是否一致。当确定第一节点发送的RTS中携带的RA和自身的地址不一致时,确定自身为暴露节点,执行步骤302;当确定第一节点发送的RTS中携带的RA和自身的地址一致时,确定自身为第一节点发送数据帧的目标节点,并执行步骤306。
例如,在图1所示的无线网络中的数据传输系统中,当节点102存在数据帧向节点101发送时,节点102向节点101发送RTS,以完成节点102和节点101之间的RTS-CTS握手过程。其中,节点102发送的RTS中携带RA,RA为节点101的地址。当节点103接收到节点102发送的RTS时,由于节点102发送的RTS中携带的RA和节点103的地址不一致,节点103确定自身为暴露节点,并执行步骤302。当节点101接收到节点102发送的RTS时,确定自身为节点101发送数据帧的目标节点,执行步骤306。
其中,第一节点将通过无速率编码发送数据帧,为了后续便于说明,在此对无速率编码进行简单介绍。当第一节点通过无速率编码发送数据帧时,第一节点不设定固定码率,而是将待发送的信息以指定方式源源不断的产生编码后的数据帧,并将编码后的数据帧发送出去。目标节点在接收到这些数据帧后,尝试解码,如果解码失败,目标节点将继续接收数据帧,然后继续尝试解码,直至解码成功。当解码成功时,目标节点只需向第一节点 发送ACK,目标节点发送的ACK用于提示第一节点数据帧发送成功。当第一节点接收到目标节点发送的ACK时,停止通过无速率编码发送数据帧,完成数据传输过程。此时,第一节点实际进行数据传输的码率取决于实际发送的数据帧长度,而需要发送的数据帧长度则取决于当前的信道状况,因此该编码方法称为无速率编码。
由此可知,目标节点在解码第一节点发送的数据帧的过程中,如果解码失败,目标节点可以尝试继续接收第一节点发送的数据帧,直至解码成功,因此目标节点接收的通过无速率编码发送的数据帧中允许存在短而严重的干扰。而在无线网络中,各个节点之间除了进行数据帧的传输,还可以进行控制帧的传输,并且控制帧的长度较短,因此,第一节点发送的数据帧可以被其他节点发送的控制帧干扰。另外,由于控制帧通常用于发送指令,发送控制帧的目标信噪要求满足信噪比特别低的情况,而通过无速率编码发送比较适合信噪比较高的情况,因此,在本发明实施例中,控制帧仍采用固定码率编码。当采用固定码率编码的控制帧中存在严重干扰时,将导致解码该控制帧失败,因此,本发明实施例中采用固定码率编码的控制帧中不允许存在其他控制帧的干扰。也即,在本发明实施例中,数据帧可以和控制帧之间形成冲突,但是数据帧和数据帧之间,以及控制帧和控制帧之间不能形成冲突。
其中,控制帧可以包括RTS、CTS、ACK和阻塞帧等。其中阻塞帧用于禁止第三节点发送数据帧,第三节点为没有接收到第一节点发送的RTS但监听到当前媒体处于忙碌状态的节点。另外,需要说明的是,阻塞帧和其他几种控制帧不同,阻塞帧不携带数据帧占用时长(Duration)信息,仅携带RA。
另外,在本发明实施例中,由于数据帧可以和控制帧形成冲突,也即无线网络中的节点在接收数据帧的同时,可能还接收到控制帧,由于该控制帧对该数据帧造成冲突,因此,该控制帧也称为冲突的帧。在本发明实施例中,为了便于无线网络中的节点快速检测出该控制帧,发送控制帧的节点在发送控制帧时,可以对该控制帧进行处理,得到具有增强格式的控制帧。其中,具有增强格式的控制帧可以通过在该控制帧中添加序列实现。
在一种可能的实现方式中,具有增强格式的控制帧包括第一序列、第二序列和第三序列。其中,第一序列用于指示该控制帧的开始位置,第一序列为物理层对控制帧封装时添加在控制帧的头部的序列,当Mesh网络中的节点在接收到的数据帧中检测到第一序列时,确定存在冲突的帧;第二序列用于指示该控制帧的结束位置,第二序列为物理层对该控制帧封装时添加在该控制帧的尾部的序列,当控制帧中包括第二序列时,接收到该控制帧的节点无需对该控制帧的MAC包解调,即可确定该控制帧的长度;第三序列用于指示携带的RA。当控制帧包括第三序列时,接收到该控制帧的节点无需对该控制帧的MAC包解调,即可通过第三序列确定该控制帧的RA。另外,第三序列为通过hash函数产生的可以映射RA的序列。另外,第一序列可以为伪随机(Pseudorandom Noise,PN)序列,格雷互补(Golay complementary sequence)序列,或者ZC(Zadoff–Chu)序列等。值得注意的是,由于阻塞帧仅携带RA,因此,在本发明实施例中,为了进一步减少开销,可以采用序列来指示携带的RA。
可选地,第一序列还可以用于指示该控制帧的类型,也即第一序列可以通过其包括的第四序列的个数或第四序列的类型来指示该控制帧的类型。具体地,第一序列指示该控制帧的类型可以分为以下两种情况。
第一种情况,第一序列包括至少一个第四序列,当至少一个第四序列的个数为第一预设个数时,该控制帧为RTS,当该至少一个第四序列的个数为第二预设个数时,该控制帧不是RTS。
其中,第一预设个数和第二预设个数为预先设置的个数,该第一预设个数和第二预设个数可以为1、2或3等。例如,当第一序列包括2个第四序列时,该控制帧为RTS,当第一序列包括1个第四序列时,该控制帧不是RTS。
第二种情况,当第一序列包括一个第四序列,当该一个第四序列的类型为第一预设类型时,该控制帧为RTS,当该一个第四序列的类型为第二预设类型时,该控制帧不是RTS。其中,第一预设类型的第四序列和第二预设类型的第四序列的互相关性较小。
值得注意的是,控制帧可以同时包括第一序列、第二序列和第三序列,还可以仅包括第二序列、或者仅包括第二序列和第三序列,也可以仅包括第一序列。也即,在本发明实施例中,控制帧可以包括第一序列、第二序列和第三序列中的一个或多个,本发明实施例在此不做具体限定。
另外,现有的控制帧的传输格式本可以承受一定的程度的干扰,因此,为了减轻系统开销,控制帧也可以不包括第一序列、第二序列和第三序列中的任一个。当控制帧中不包括第一序列、第二序列和第三序列中的任一个时,由控制帧中的其他部分代替序列的功能,也即,当控制帧中不包括第一序列时,由控制帧中的前导序列代替第一序列的功能,也即,当Mesh网络中的节点在接收到的数据帧中检测到前导序列时,确定其接收到的数据帧中存在冲突的帧,并且该前导序列还可以指示该冲突的帧的开始位置。当控制帧中不包括第二序列时,可以通过解调该控制帧的MAC包确定该控制帧的长度,然后根据该控制帧的前导序列和该控制帧的长度,确定该控制帧的结束位置。当控制帧中不包括第三序列时,可以解调该控制帧的MAC包来确定该控制帧的RA。另外,当控制帧中不包括第一序列时,可以通过解调该控制帧的MAC包获取该控制帧的类型。
例如,图3B是本发明实施例提供的一种具有增强格式的控制帧的格式示意图,如图3B所示,该具有增强格式的控制帧包括第一序列Ω、第二序列P(t)、第三序列θ和原始控制帧(Control frame)。其中,第一序列Ω用于指示该控制帧的开始位置,且第一序列Ω为物理层在对该控制帧进行封装时添加在该控制帧的头部,第一序列Ω还可通过包括的第四序列的个数和类型来指示该控制帧的类型;第二序列P(t)用于指示该控制帧携带的RA;第三序列θ用于指示该控制帧的结束位置,且第三序列θ为物理层在对该控制帧进行封装时添加在该控制帧的尾部。其中原始控制帧可以包括前导序列,物理头,媒体接入控制协议数据单元MPDU(Media access control protocol data unit),其中,MPDU可以包括MAC(Media access control)头和一个或多个MSDU(MAC Service data unit)。
步骤302:当确定第一节点发送的RTS中携带的RA和自身的地址不一致之后,当存在数据帧向第二节点发送时,向第二节点发送RTS,其中,向第二节点发送的RTS中携带的RA为第二节点的地址。
当确定第一节点发送的RTS中携带的RA和自身地址不一致之后,确定自身为暴露节点,由于暴露节点接收数据帧时将受到第一节点发送的数据帧的干扰,因此在本发明实施例中,暴露节点不能接收其他节点发送的数据帧,但是暴露节点可以向其他节点发送数据帧,也即,当暴露节点存在数据帧向第二节点发送时,暴露节点向第二节点发送RTS,以 完成与第二节点之间的RTS-CTS握手过程。如图1所示无线网络中的数据传输系统,当节点103接收到节点102发送的RTS时,由于节点102发送的RTS中携带的RA为节点101的地址,因此节点103确定自身为暴露节点,当节点103存在数据帧向节点105发送时,节点103可以向节点105发送RTS,以完成节点103和节点105之间的RTS-CTS握手过程。
在本发明实施例中,当暴露节点接收到第一节点发送的RTS且存在数据帧向第二节点发送时,为了避免暴露节点发送的RTS影响第一节点接收CTS,暴露节点应延迟向第二节点发送RTS,也即,暴露节点根据第一预设时长和第二预设时长确定向第二节点发送RTS的时间;当向第二节点发送RTS的时间达到时,向第二节点发送RTS。
其中,第一预设时长为发送RTS的时长,第二预设时长为发送CTS的时长,且第一预设时长和第二预设时长为预先设置的时长,且第一预设时长和第二预设时长适用于无线网络中的所有节点。
在一种可能的实现方式中,根据第一预设时长和第二预设时长确定向第二节点发送RTS的时间可以通过预设公式实现。例如,公式(3-1)是本发明实施例提供的一种预设公式:
Tround-trip=TRTS+SIFS+TCTS            公式(3-1)
其中,Tround-trip为暴露节点向第二节点发送RTS的时间,TRTS为第一预设时长,TCTS为第二预设时长,帧间隔时长(Short Interframe Space,SIFS)为预先设置的帧间隔时长,且在无线网络中,SIFS通常为该无线网络的系统预设的时长。
值得注意的是,由于第三节点为没有接收到第一节点发送的RTS但监听到当前媒体处于忙碌状态的节点,因此,第三节点可以自由地发送RTS,也即,在本发明实施例中,第三节点发送RTS时不存在上述根据第一预设时长和第二预设时长确定发送RTS的时间的问题。
步骤303:接收第二节点发送的CTS,并且判断是否接收到阻塞帧,以完成与第二节点之间的RTS-CTS握手过程。
当第二节点接收到暴露节点发送的RTS时,监听到当前媒体是否处于空闲状态,当监听到当前媒体处于空闲状态时,向暴露节点发送CTS,第二节点发送的CTS用于指示暴露节点第二节点可以接收其发送的数据帧,当暴露节点接收到第二节点发送的CTS时,确定第二节点可以接收其发送的数据帧,以完成与第二节点之间的RTS-CTS握手过程。
其中,第二节点监听当前媒体是否处于空闲状态,也即判断当前其接收范围内是否存在节点正在发送数据帧,当当前第二节点的接收范围内存在节点正在发送数据帧时,第二节点接收的数据帧将与该节点发送的数据帧形成冲突,导致第二节点无法正确接收暴露节点发送的数据帧,因此,第二节点在发送CTS之前,需要先确定当前媒体处于空闲状态,也即确定其接收范围内没有节点正在发送数据帧。另外,当第二节点接收到暴露节点发送的RTS时,如果第二节点在当前已接收到其他节点的发送CTS且确定该CTS中携带的目标地址和自身的地址不一致时,也即第二节点当前为隐藏节点,此时第二节点也需要向暴露节点发送CTS。也即,在本发明实施例中,当第二节点接收到暴露节点发送的RTS时,在确定当前媒体处于空闲状态时,无论第二节点当前是否为隐藏节点,第二节点都需要向暴露节点发送CTS。
需要说明的是,由于当前第一节点正在发送数据帧,因此接收第二节点发送的CTS是在第一节点发送的数据帧的干扰下接收的,也即接收到的第二节点发送的CTS和第一节点 发送的数据帧形成冲突。为了能够快速从第一节点发送的数据帧中检测出第二节点发送的CTS,第二节点发送的CTS可以采用增强格式的CTS,也即第二节点发送的CTS可以携带第一序列、第二序列或第三序列中的至少一个。当然,第二节点发送的CTS也可以不包括第一序列、第二序列和第三序列中的任一个。
另外由于暴露节点发送RTS,也可能干扰到其他节点的通信。因此,被干扰的节点可能会发送阻塞帧,也即该阻塞帧为无线网络中的任一节点在接收数据帧的同时接收到RTS时发送,该阻塞帧用于指示禁止向第二节点发送数据帧,也即,在本发明实施例中,阻塞帧可以和第二节点发送的CTS形成冲突,如果阻塞帧和CTS冲突,也即在接收到第二节点发送的CTS时,确定接收到其他节点发送的阻塞帧,那么此时为了避免对其他节点接收数据造成干扰,则不会向第二节点发送数据。因此,在本发明实施例中,当接收到第二节点发送的CTS时,先判断是否接收到阻塞帧,如果已经接收到阻塞帧,并检测到阻塞帧的RA和自身地址相同,则禁止向第二节点发送数据;如果确定当前没有接收到阻塞帧,则完成与第二节点之间的RTS-CTS握手过程,执行步骤304。值得注意的是,由于阻塞帧仅携带RA,因此,在本发明实施例中,为了进一步减少开销,可以采用序列来指示携带的RA。这样,阻塞帧中包括第一序列,第二序列,第三序列分别表示帧的开始,结束,以及RA,使得阻塞帧仅包括纯粹的序列。
步骤304:确定当前没有接收到阻塞帧时,通过无速率编码向第二节点发送数据帧。
当完成与第二节点之间的RTS-CTS握手过程之后,将待发送的数据加入循环冗余校验(Cyclic Redundancy Check,CRC),并将加入CRC之后的数据通过无速率编码进行编码。在本发明实施例中,为了充分利用无速率编码在传输数据时码率的自适应的优点,无速率编码可以为Spinal编码。具体为将待发送的数据分成a组原始消息(Message,M),a通常为48,每一组M的长度为n bit;将长度为n bit的M分成一组消息片
Figure PCTCN2017115305-appb-000001
每个
Figure PCTCN2017115305-appb-000002
的大小为k bit;然后通过hash函数生成每个
Figure PCTCN2017115305-appb-000003
的状态参数si和编码符号xi,j,并将状态参数si和编码符号xi,j送入随机产生机(RNG)进行编码得到对应的pass,将该pass进行打孔(puncture)处理,得到通过Spinal编码后的数据帧。在通过Spinal编码对数据帧进行编码之后,将经过Spinal编码后的数据帧映射到时频资源上,并向第二节点发送经过映射后的数据帧。
步骤305:接收第二节点发送的ACK,第二节点发送的ACK为第二节点在确定接收到数据帧时发送。
第二节点在接收到通过无速率编码发送的数据帧时,第二节点将开始尝试解码,当解码成功时,第二节点将发送ACK,当接收到第二节点发送的ACK时,确定第二节点已正确接收到其发送的数据帧,将停止向第二节点发送数据帧,完成数据传输过程。
需要说明的是,暴露节点进行无速率编码过程中使用的hash函数、RNG和初始状态参数s0对于第二节点而言是已知的,因此当第二节点接收到暴露节点发送的信号也即接收到通过无速率编码发送的数据帧时,可以通过hash函数、RNG和初始状态参数s0产生所有可能的编码符号
Figure PCTCN2017115305-appb-000004
并遍历该所有可能的编码符号
Figure PCTCN2017115305-appb-000005
查找与接收到的信号之间差异最小的编码符号
Figure PCTCN2017115305-appb-000006
并将差异最小的编码符号
Figure PCTCN2017115305-appb-000007
作为接收到的信号对应的编码信息,以完成对接收的数据帧的解码。
同样需要说明的是,当接收第二节点发送的ACK时,当前第一节点可能还在发送数据帧,因此接收第二节点发送的ACK是在第一节点发送的数据帧的干扰下接收的,也即接收到的第二节点发送的ACK和第一节点发送的数据帧形成冲突。为了能够快速从第一节点发送的数据帧中检测出第二节点发送的ACK,第二节点发送的ACK可以采用增强格式的ACK,也即该ACK可以携带第一序列、第二序列或第三序列中的至少一个。当然,第二节点发送的ACK也可以不包括第一序列、第二序列和第三序列中的任一个。本发明实施例在此不做具体限定。
步骤306:当确定第一节点发送的RTS中携带的RA和自身的地址一致,且监听到当前媒体处于空闲状态时,向第一节点发送CTS,其中,向第一节点发送的CTS中携带的RA为第一节点的地址。
在本发明实施例中,当确定第一节点发送的RTS中携带的RA和自身的地址一致时,表明自身为第一节点发送数据帧的目标节点,此时需要向第一节点回复CTS,同样在回复CTS之前,需要先判断当前媒体是否处于空闲状态,以免其网络覆盖范围内存在节点正在发送数据帧而影响当前接收第一节点发送的数据帧。例如,在图1所示的无线网络中的数据传输系统中,当节点101接收到节点102发送的RTS时,确定自身的地址和节点102发送的RTS中携带的RA一致,在监听到当前媒体处于空闲状态时,向节点102发送CTS,以完成节点101和节点102之间的RTS-CTS握手过程。
步骤307:接收第一节点通过无速率编码发送的数据帧。
其中,无速率编码为spinal编码,第一节点通过spinal编码发送数据帧的实施方式和步骤304中暴露节点通过spinal编码发送数据帧的实施方式基本相同,在此不做详细阐述。如图1所示,当第一节点也即节点102接收到节点101发送的CTS时,确定节点101可以接收其发送的数据帧,并完成节点101和节点102之间的RTS-CTS握手过程,并通过无速率编码向节点101发送数据帧。
步骤308:判断第一节点发送的数据帧中是否存在冲突的帧,该冲突的帧包括RTS、CTS、ACK和阻塞帧;
由于在本发明实施例中,数据帧和控制帧之间可以形成冲突,因此,在接收第一节点发送的数据帧的过程中,还可以接收到其他节点发送的控制帧,也即,在第一节点发送的数据帧中可能存在冲突的帧。由于控制帧包括RTS、CTS、ACK和阻塞帧,因此,该冲突的帧也包括RTS、CTS、ACK和阻塞帧。
具体的,判断第一节点发送的数据帧中是否存在冲突的帧可以通过如下两种可能的实现方式。
第一种可能的实现方式,当在第一节点发送的数据帧中检测到前导序列时,确定第一节点发送的数据帧中存在冲突的帧。
在第一种可能的实现方式中,发送冲突的帧的节点在发送冲突的帧的过程中,没有对该冲突的帧做任何处理,也即在将该冲突的帧进行封装时只在该冲突的帧的头部加入前导序列,该前导序列用于识别该冲突的帧。因此,当在第一节点发送的数据帧中检测到前导序列时,确定该第一节点发送的数据帧中存在冲突的帧。
第二种可能的实现方式,当在第一节点发送的数据帧中检测到第一序列时,确定第一节点发送的数据帧中存在冲突的帧。
在第二种可能的实现方式中,为了使该冲突的帧容易被检测到,发送该冲突的帧的节点在发送该冲突的帧时,在物理层对冲突的帧封装时在冲突的帧的头部添加第一序列,第一序列用于指示该冲突的帧的开始位置,当在第一节点发送的数据帧中检测到第一序列时,确定第一节点发送的数据帧中存在冲突的帧。
步骤309:当确定第一节点发送的数据帧中存在冲突的帧时,确定冲突的帧的开始位置和结束位置;
当确定第一节点发送的数据帧中存在冲突的帧时,为了便于后续解码过程中对该冲突的帧进行处理,需要先确定该冲突的帧的开始位置和结束位置。由于在步骤308中,判断第一节点发送的数据帧中是否存在冲突的帧有两种可能的实现方式,相应地,确定该冲突的帧的开始位置和结束位置也有两种可能的实现方式。
第一种可能的实现方式,当在第一节点发送的数据帧中检测到前导序列,且确定第一节点发送的数据帧中存在冲突的帧时,从第一节点发送的数据帧中检测物理包头,根据检测到的前导序列和物理包头,确定冲突的帧的开始位置和结束位置;或者,从第一节点发送的数据帧中检测第二序列,根据检测到的前导序列和第二序列,确定冲突的帧的开始位置和结束位置。
针对步骤308中判断第一节点发送的数据帧中是否存在冲突的帧的第一种可能的实现方式,由于前导序列位于该冲突的帧的头部,因此前导序列可以指示该冲突的帧的开始位置。而该冲突的帧的物理包头包括传输速率和传输时长等信息,因此,通过该冲突的帧的传输速率和传输时长,可以间接确定该冲突的帧的长度,并根据该冲突的帧的前导序列和该冲突的帧的长度,确定该冲突的帧的结束位置。另外,由于该冲突的帧为控制帧的一种,发送该冲突的帧的节点在物理层对该冲突的帧封装时可以在该冲突的帧的尾部添加第二序列,该第二序列可以指示该冲突的帧的结束位置,当检测到第二序列时,直接确定该冲突的帧的结束位置,无需通过物理包头间接确定该冲突的帧的结束位置。
第二种可能的实现方式,当在第一节点发送的数据帧中检测到第一序列,且确定第一节点发送的数据帧中存在冲突的帧时,从第一节点发送的数据帧中检测物理包头,根据检测到的第一序列和物理包头,确定该冲突的帧的开始位置和结束位置;或者,从第一节点发送的数据帧中检测第二序列,根据检测到的第一序列和第二序列,确定该冲突的帧的开始位置和结束位置。
针对步骤308中判断第一节点发送的数据帧中是否存在冲突的帧的第二种可能的实现方式,由于第一序列用于指示该冲突的帧的开始位置,第二序列用于指示该冲突的帧的结束位置,因此,通过第一序列和物理包头可以确定该冲突的帧的开始位置和结束位置,通过第一序列和第二序列同样可以确定该冲突的帧的开始位置和结束位置。
可选地,当检测到第一节点发送的数据帧中存在冲突的帧时,由于该冲突的帧为一种控制帧,因此该冲突的帧的第一序列中可能包括至少一个第四序列。当该冲突的帧包括至少一个第四序列时,可以根据该第四序列的个数和类型确定该冲突的帧的类型;相应地,当该冲突的帧的第一序列中不包括用于指示该冲突的帧的类型的第四序列时,解调该冲突的帧的MAC包,确定该冲突的帧的类型。其中,根据该第四序列的个数和类型确定该冲突的帧的类型的实现方式和步骤301中通过第一序列确定控制帧的类型的实现方式基本相同,在此不做详细说明。
值得注意的是,当检测到第一节点发送的数据帧中存在冲突的帧且该冲突的帧为RTS时,表明在其网络覆盖范围内存在节点欲发送数据帧,为了避免该节点发送的数据帧对当前接收第一节点发送的数据帧形成冲突,当检测到第一节点发送的数据帧中存在冲突的帧且该冲突的帧为RTS时,停止接收第一节点发送的数据帧,发送阻塞帧,在发送阻塞帧之后,重新接收第一节点发送的数据帧。当网络覆盖范围的内的节点接收到该阻塞帧时,若该节点存在数据帧待发送也即该节点为已发送RTS且正等待回复CTS的节点,则停止发送该数据帧。
步骤310:解码存在冲突的帧的数据帧。
在本发明实施例中,为了能够正确解码接收到的数据帧,当接收到的数据帧中存在冲突的帧时,需要将该冲突的帧进行处理,具体的,如果在接收到的数据帧中,检测到该冲突的帧,根据该冲突的帧的开始位置和结束位置,将该冲突的帧从数据帧中移除,合并移除该冲突的帧后的数据帧,并解码该冲突的帧和移除该冲突的帧后的数据帧。
另外,解码该冲突的帧的实现方式可以为:当确定存在冲突的帧时,确定该冲突的帧的开始位置和结束位置,根据该冲突的帧的第一序列或MAC包确定该冲突的帧的类型,根据该冲突的帧的第三序列或MAC包确定该冲突的帧的RA。值得注意的是,当该冲突的帧为RTS或CTS时,解码该冲突的帧还包括解调该冲突的帧的MAC包以确定该冲突的帧的对应的数据帧占用时长。
步骤311:当确定正确接收到第一节点通过无速率编码发送的数据帧时,向第一节点发送ACK。
当对第一节点发送的数据帧解码成功时,向第一节点发送ACK,该ACK中携带的RA为第一节点的地址,当第一节点接收到该ACK时,确定数据帧发送成功,则停止通过无速率编码发送数据帧。
可选地,在本发明实施例中,无线网络中的节点也可能接收到其接收范围内其他节点发送的CTS,当接收到该CTS时,需要根据该CTS中携带的RA确定是否和发送该CTS的节点进行数据传输。也即,当接收到第四节点发送的CTS时,判断第四节点发送的CTS中携带的RA和自身的地址是否一致,其中,第四节点为待接收通过无速率编码发送的数据帧的节点。当确定第四节点发送的CTS中携带的RA和自身的地址不一致之后,此时确定自身为隐藏节点,为了避免隐藏节点发送的数据帧对第四节点接收的数据帧造成冲突,隐藏节点将不能向其他节点发送数据帧,但是隐藏节点可以接收其他节点发送的数据帧,也即,隐藏节点可以接收潜在的通信节点发送的数据帧。具体地,当接收到第五节点发送的RTS且监听到当前媒体处于空闲状态时,向第五节点发送CTS,当第五节点接收到该CTS时,确定与隐藏节点完成RTS-CTS握手过程,并通过无速率编码向隐藏节点发送数据帧,隐藏节点接收第五节点通过无速率编码发送的数据帧。当隐藏节点确定正确接收到第五节点发送的数据帧时,向第五节点发送ACK,避免了第五节点持续向隐藏节点发送数据帧,完成隐藏节点和第五节点之间的数据传输。其中,无速率编码为spinal编码,第五节点通过spinal编码的实现方式和步骤304中暴露节点通过spinal编码的实现方式基本相同,在此不做详细说明。如图1所示的无线网络中的数据传输系统,当节点101向节点102发送CTS时,节点104也将接收到节点101发送的CTS,此时节点104根据节点101发送的CTS确定自身为隐藏节点,当节点104接收到节点106发送的RTS时,可以向节点106发送CTS, 以完成节点104和节点106之间的RTS-CTS握手过程,而不影响节点101接收节点102发送的数据帧。
需要说明的是,隐藏节点向第五节点发送的CTS和ACK将对第四节点接收的数据帧造成冲突,为了使第四节点能够从接收的数据帧中检测出该冲突的帧CTS和ACK,隐藏节点向第五节点发送的CTS和ACK为增强格式的控制帧,也即,隐藏节点向第五节点发送的CTS和ACK包括第一序列、第二序列或第三序列中的至少一个。当然,隐藏节点向第五节点发送的CTS和ACK也可以不包括第一序列、第二序列和第三序列中的任一个。
在本发明实施例中,为了更好地说明本发明实施例提供的无线网络中的数据传输方法的有益效果,本发明实施例对图3A所示的无线网络中的数据传输方法进行了仿真实验,标记为实验一;同时对基于802.11分布式协调功能(Distributed Coordination Function,DCF)协议的数据传输方法也进行了仿真实验,标记为实验二。其中实验一和实验二具有相同的拓扑和参数,也即实验一和实验二的仿真环境相同。该相同的仿真环境为:在500m×500m的范围内随机生成50个节点,其横纵坐标服从均匀分布,发送信号的节点以固定功率发送帧长固定的数据帧,数据帧产生时间服从泊松分布,物理层的信道衰落采用如下公式(1)表示:
Figure PCTCN2017115305-appb-000008
其中,PL(d)为信道衰落值,[dB]表示公式(1)的单位,PLF(d0)为参考距离d0的自由空间衰落,d为发送数据帧的节点和接收数据帧的节点之间的距离,n为路径损耗指数,该n会随着环境中障碍物的增多而增大,n=2对应于自由空间的情况。
另外,PLF(d0)可以通过下述公式(2)确定:
Figure PCTCN2017115305-appb-000009
其中,Gt为发射天线增益,Gr为接收天线增益,L为传播环境无关的系统损耗系数,此处假设系统硬件无损耗,也即L=1,λ为传输波长,λ=c/f,其中c为光速,f为频率。
关于上述公式(1)和公式(2)中的各个参数的取值可以参考表1。
表1
参数 取值
f 5 GHz
Gt 1 dB
L 1
c 3×108m/s
d0 1 m
Gr 1 dB
n 3
另外,该共同的仿真环境还包括的其他参数,该其他参数及该其他参数的取值可以参考表2。
表2
参数 取值
数据帧长度(Packet length) 1536 Byte
RTS的长度 20 Byte
CTS的长度 14 Byte
ACK的长度 14 Byte
物理汇聚层(Physical Layer Convergence Procedure,PLCP)的长度 20μs
功率(Power) 0.1 W
接收灵敏度(Receive sensitivity) -88dBm
载波侦听门限(Carrier sensing threshold) -90.1dBm
分布式帧间间隔(distributed inter-frame space,DIFS) 34μs
短帧间隔(short inter-frame space,SIFS) 16μs
时隙(Slot time) 9μs
PN序列的长度(PN length) 6.35μs
带宽(Bandwidth) 20MHz
噪声水平(Noise floor) -93dBm
根据以上仿真环境分别进行实验一和实验二,并对实验一和实验二的仿真结果进行对比,对比结果如图3C所示,当网络达到饱和时,实验一的仿真结果中的网络吞度量比实验二的网络吞吐量提高了175.89%,其中该提升包括使用spinal code所带来的物理层发送速率的增益以及利用本发明实施例提供的无线网络中数据传输方法实现暴露节点可以发送数据、隐藏节点可以接收数据带来的增益。
在本发明实施例中,当接收到第一节点发送的RTS并确定该第一节点发送的RTS中携带的RA和自身的地址不一致时,确定自身为暴露节点,由于第一节点将通过无速率编码发送数据帧,而通过无速率编码发送的数据帧允许被控制帧如RTS或CTS干扰或控制帧允许被通过无速率编码发送的数据帧干扰,因此,当暴露节点存在数据帧向第二节点发送时,可以向第二节点发送RTS,并在第一节点通过无速率编码发送的数据帧的干扰下接收第二节点发送的CTS,以完成与第二节点之间的RTS-CTS握手过程,解决了暴露节点不能与其他节点完成RTS-CTS握手过程的问题,从而提高了基于RTS/CTS机制进行数据传输过程中的网络吞吐量。当接收到第四节点发送的CTS并确定该第四节点发送的CTS中携带的RA和自身地址不一致时,确定自身为隐藏节点,由于第四节点接收的是通过无速率编码发送的数据帧,因此隐藏节点可以回复第五节点发送的RTS而不会对第四节点接收数据帧造成冲突,也即,隐藏节点可以和第五节点完成RTS-CTS握手过程并接收第五节点通过无速率编码发送的数据帧,解决了隐藏节点不能与其他节点完成RTS-CTS握手过程的问题,进一步提高了基于RTS/CTS机制进行数据传输过程中的网络吞吐量。
图4是本发明实施例提供的一种无线网络中的数据传输装置400,该无线网络中的数据传输装置可以由软件、硬件或者两者的结合实现成为网络设备的部分或者全部,该网络设备可以为图2所示的网络设备。参见图4,该装置包括处理模块401、发送模块402和接收模块403。
处理模块401,用于执行图3A实施例中的步骤301,其中,接收模块403用于接收第一节点发送的RTS;
发送模块402,用于执行图3A实施例中的步骤302;
接收模块403,用于执行图3A实施例中的步骤303,其中,阻塞帧用于指示禁止向第二节点发送数据帧,且阻塞帧为无线网络中任一节点在接收数据帧的同时接收到RTS时发送。
发送模块402,还用于执行图3A实施例中的步骤304。
可选地,处理模块401,还用于根据第一预设时长和第二预设时长确定向第二节点发送RTS的时间,第一预设时长为发送RTS的时长,第二预设时长为发送CTS的时长;
发送模块402,还用于当向第二节点发送RTS的时间达到时,向第二节点发送RTS。
可选地,接收模块403,还用于执行图3A实施例中的步骤305。
可选地,处理模块401和发送模块402,还用于执行图3A实施例中的步骤306;接收模块403,还用于执行图3A实施例中的步骤307。
可选地,处理模块401,还用于执行图3A实施例中的步骤308、步骤309和步骤310。
可选地,该处理模块401还用于:
当在第一节点发送的数据帧中检测到前导序列时,确定第一节点发送的数据帧中存在冲突的帧;
相应地,该处理模块401还用于:
从第一节点发送的数据帧中检测物理包头,根据检测到的前导序列和物理包头,确定冲突的帧的开始位置和结束位置;或者,
从第一节点发送的数据帧中检测第二序列,根据检测到的前导序列和第二序列,确定冲突的帧的开始位置和结束位置,第二序列用于指示冲突的帧的结束位置,第二序列为物理层对冲突的帧封装时添加在冲突的帧的尾部的序列。
可选地,该处理模块401还用于:
当在第一节点发送的数据帧中检测到第一序列时,确定第一节点发送的数据帧中存在冲突的帧,第一序列用于指示冲突的帧的开始位置,第一序列为物理层对冲突的帧封装时添加在冲突的帧的头部的序列;
相应地,该处理模块401还用于:
从第一节点发送的数据帧中检测物理包头,根据检测到的第一序列和物理包头,确定冲突的帧的开始位置和结束位置;或者,
从第一节点发送的数据帧中检测第二序列,根据检测到的第一序列和第二序列,确定冲突的帧的开始位置和结束位置。
可选地,该接收模块403,还用于当处理模块401检测到第一节点发送的数据帧中存在冲突的帧且冲突的帧为RTS时,停止接收第一节点发送的数据帧;
发送模块402,还用于发送阻塞帧,阻塞帧用于禁止第三节点发送数据帧,第三节点为没有接收到第一节点发送的RTS但监听到当前媒体处于忙碌状态的节点;
接收模块403,还用于在发送模块402发送所述阻塞帧之后,重新接收第一节点发送的数据帧。
可选地,该装置400还包括:
发送模块402,还用于执行图3A实施例中的步骤311。
可选地,在该装置400中:
处理模块401,还用于当接收模块403接收到第四节点发送的CTS时,判断第四节点发送的CTS中携带的RA和自身的地址是否一致,第四节点为待接收通过无速率编码发送的数据帧的节点;
发送模块402,还用于当处理模块401确定第四节点发送的CTS中携带的RA和自身的地址不一致之后,当接收模块403接收到第五节点发送的RTS且处理模块401监听到当前媒体处于空闲状态时,向第五节点发送CTS;
接收模块403,还用于接收第五节点通过无速率编码发送的数据帧。
可选地,发送模块402,还用于当处理模块401确定接收模块403正确接收到第五节点发送的数据帧时,向第五节点发送ACK。
可选地,RTS、CTS、阻塞帧和ACK中的每一个均包括第一序列和第二序列中的至少一个,RTS、CTS和ACK中还包括第三序列,第三序列用于指示携带的RA。
可选地,第一序列包括至少一个第四序列,当至少一个第四序列的个数为第一预设个数时,冲突的帧为RTS,当至少一个第四序列的个数为第二预设个数时,冲突的帧不是RTS,或者,
当第一序列包括一个第四序列,当一个第四序列的类型为第一预设类型时,冲突的帧为RTS,当一个第四序列的类型为第二预设类型时,冲突的帧不是RTS。
可选地,无速率编码为Spinal编码。
在本发明实施例中,当接收到第一节点发送的RTS并确定该第一节点发送的RTS中携带的RA和自身的地址不一致时,确定自身为暴露节点,由于第一节点将通过无速率编码发送数据帧,而通过无速率编码发送的数据帧允许被控制帧如RTS或CTS干扰或控制帧允许被通过无速率编码发送的数据帧干扰,因此,当暴露节点存在数据帧向第二节点发送时,可以向第二节点发送RTS,并在第一节点通过无速率编码发送的数据帧的干扰下接收第二节点发送的CTS,以完成与第二节点之间的RTS-CTS握手过程,解决了暴露节点不能与其他节点完成RTS-CTS握手过程的问题,从而提高了基于RTS/CTS机制进行数据传输过程中的网络吞吐量。当接收到第四节点发送的CTS并确定该第四节点发送的CTS中携带的RA和自身地址不一致时,确定自身为隐藏节点,由于第四节点接收的是通过无速率编码发送的数据帧,因此隐藏节点可以回复第五节点发送的RTS而不会对第四节点接收数据帧造成冲突,也即,隐藏节点可以和第五节点完成RTS-CTS握手过程并接收第五节点通过无速率编码发送的数据帧,解决了隐藏节点不能与其他节点完成RTS-CTS握手过程的问题,进一步提高了基于RTS/CTS机制进行数据传输过程中的网络吞吐量。
需要说明的是:上述实施例提供的无线网络中的数据传输装置在建立无线链路时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的无线网络中的数据传输装置与图3A实施例提供的无线网络中的数据传输方法属于同一构思,其具体实现过程详见图3A实施例,这里不再赘述。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意结合来实现。 当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如:同轴电缆、光纤、数据用户线(Digital Subscriber Line,DSL))或无线(例如:红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如:软盘、硬盘、磁带)、光介质(例如:数字通用光盘(Digital Versatile Disc,DVD))、或者半导体介质(例如:固态硬盘(Solid State Disk,SSD))等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述为本申请提供的实施例,并不用以限制本申请,凡在本申请原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (29)

  1. 一种无线网络中的数据传输装置,其特征在于,所述无线网络中的节点通过无速率编码发送数据帧,所述装置包括:
    接收模块,用于接收第一节点发送的请求发送RTS;
    处理模块,用于判断所述第一节点发送的RTS中携带的接收机地址RA和自身的地址是否一致;
    发送模块,用于当确定所述第一节点发送的RTS中携带的RA和自身的地址不一致之后,当存在数据帧向第二节点发送时,向所述第二节点发送RTS,其中,向所述第二节点发送的RTS中携带的RA为所述第二节点的地址;
    所述接收模块,还用于接收所述第二节点发送的允许发送CTS;
    所述发送模块,还用于当所述处理模块确定当前没有接收到阻塞帧时,通过无速率编码向所述第二节点发送数据帧,所述阻塞帧用于指示禁止向所述第二节点发送数据帧,所述阻塞帧为所述无线网络中任一节点在接收数据帧的同时接收到RTS时发送。
  2. 如权利要求1所述的装置,其特征在于:
    所述处理模块,还用于根据第一预设时长和第二预设时长确定向所述第二节点发送RTS的时间,所述第一预设时长为发送RTS的时长,所述第二预设时长为发送CTS的时长;
    所述发送模块,还用于当向所述第二节点发送RTS的时间达到时,向所述第二节点发送RTS。
  3. 如权利要求1所述的装置,其特征在于:
    所述接收模块,还用于接收所述第二节点发送的正确接收确认ACK,所述第二节点发送的ACK为所述第二节点在确定接收到数据帧时发送。
  4. 如权利要求1所述的装置,其特征在于:
    所述发送模块,还用于当所述处理模块确定所述第一节点发送的RTS中携带的RA和自身的地址一致,且监听到当前媒体处于空闲状态时,向所述第一节点发送CTS,其中,向所述第一节点发送的CTS中携带的RA为所述第一节点的地址;
    所述接收模块,还用于接收所述第一节点通过无速率编码发送的数据帧。
  5. 如权利要求4所述的装置,其特征在于:
    所述处理模块,还用于判断所述第一节点发送的数据帧中是否存在冲突的帧,所述冲突的帧包括RTS、CTS、ACK和阻塞帧;
    所述处理模块,还用于当确定所述第一节点发送的数据帧中存在所述冲突的帧时,确定所述冲突的帧的开始位置和结束位置;
    所述处理模块,还用于根据所述冲突的帧的开始位置和结束位置,解码存在冲突的帧的数据帧。
  6. 如权利要求5所述的装置,其特征在于,所述处理模块还用于:
    当在所述第一节点发送的数据帧中检测到前导序列时,确定所述第一节点发送的数据帧中存在所述冲突的帧;
    相应地,所述处理模块还用于:
    从所述第一节点发送的数据帧中检测物理包头,根据检测到的前导序列和物理包头,确定所述冲突的帧的开始位置和结束位置;或者,
    从所述第一节点发送的数据帧中检测第二序列,根据检测到的前导序列和第二序列,确定所述冲突的帧的开始位置和结束位置,所述第二序列用于指示所述冲突的帧的结束位置,所述第二序列为物理层对所述冲突的帧封装时添加在所述冲突的帧的尾部的序列。
  7. 如权利要求5所述的装置,其特征在于,所述处理模块还用于:
    当在所述第一节点发送的数据帧中检测到第一序列时,确定所述第一节点发送的数据帧中存在所述冲突的帧,所述第一序列用于指示所述冲突的帧的开始位置,所述第一序列为物理层对所述冲突的帧封装时添加在所述冲突的帧的头部的序列;
    相应地,所述处理模块还用于:
    从所述第一节点发送的数据帧中检测物理包头,根据检测到的第一序列和物理包头,确定所述冲突的帧的开始位置和结束位置;或者,
    从所述第一节点发送的数据帧中检测第二序列,根据检测到的第一序列和第二序列,确定所述冲突的帧的开始位置和结束位置。
  8. 如权利要求4所述的装置,其特征在于:
    所述接收模块,还用于当所述处理模块检测到所述第一节点发送的数据帧中存在冲突的帧且所述冲突的帧为RTS时,停止接收所述第一节点发送的数据帧;
    所述发送模块,还用于发送阻塞帧,所述阻塞帧用于禁止第三节点发送数据帧,所述第三节点为没有接收到所述第一节点发送的RTS但监听到当前媒体处于忙碌状态的节点;
    所述接收模块,还用于在所述发送模块发送所述阻塞帧之后,重新接收所述第一节点发送的数据帧。
  9. 如权利要求4所述的装置,其特征在于:
    所述发送模块,还用于当所述处理模块确定所述接收模块正确接收到所述第一节点通过无速率编码发送的数据帧时,向所述第一节点发送ACK。
  10. 如权利要求1所述的装置,其特征在于:
    所述处理模块,还用于当所述接收模块接收到第四节点发送的CTS时,判断所述第四节点发送的CTS中携带的RA和自身的地址是否一致,所述第四节点为待接收通过无速率编码发送的数据帧的节点;
    所述发送模块,还用于在所述处理模块确定所述第四节点发送的CTS中携带的RA和自身的地址不一致之后,当所述接收模块接收到第五节点发送的RTS且所述处理模块监听到当前媒体处于空闲状态时,向所述第五节点发送CTS;
    所述接收模块,还用于接收所述第五节点通过无速率编码发送的数据帧。
  11. 如权利要求10所述的装置,其特征在于:
    所述发送模块,还用于当所述处理模块确定所述接收模块正确接收到所述第五节点发送的数据帧时,向所述第五节点发送ACK。
  12. 如权利要求1至11任一所述的装置,其特征在于,所述RTS、CTS、阻塞帧和ACK中的每一个均包括所述第一序列和所述第二序列中的至少一个,所述RTS、CTS和ACK中还包括第三序列,所述第三序列用于指示携带的RA。
  13. 如权利要求12所述的装置,其特征在于,所述第一序列包括至少一个第四序列,当所述至少一个第四序列的个数为第一预设个数时,所述冲突的帧为RTS,当所述至少一个第四序列的个数为第二预设个数时,所述冲突的帧不是RTS,或者,
    当所述第一序列包括一个第四序列,当所述一个第四序列的类型为第一预设类型时,所述冲突的帧为RTS,当所述一个第四序列的类型为第二预设类型时,所述冲突的帧不是RTS。
  14. 如权利要求1所述的装置,其特征在于,所述无速率编码为Spinal编码。
  15. 一种无线网络中的数据传输方法,其特征在于,所述无线网络中的节点通过无速率编码发送数据帧,所述方法包括:
    当接收到第一节点发送的请求发送RTS时,判断所述第一节点发送的RTS中携带的接收机地址RA和自身的地址是否一致;
    当确定所述第一节点发送的RTS中携带的RA和自身的地址不一致之后,当存在数据帧向第二节点发送时,向所述第二节点发送RTS,其中,向所述第二节点发送的RTS中携带的RA为所述第二节点的地址;
    接收所述第二节点发送的允许发送CTS后,且确定当前没有接收到阻塞帧时,通过无速率编码向所述第二节点发送数据帧,所述阻塞帧用于指示禁止向所述第二节点发送数据帧,所述阻塞帧为所述无线网络中任一节点在接收数据帧的同时接收到RTS时发送。
  16. 如权利要求15所述的方法,其特征在于,所述向所述第二节点发送RTS,包括:
    根据第一预设时长和第二预设时长确定向所述第二节点发送RTS的时间,所述第一预设时长为发送RTS的时长,所述第二预设时长为发送CTS的时长;
    当向所述第二节点发送RTS的时间达到时,向所述第二节点发送RTS。
  17. 如权利要求15所述的方法,其特征在于,所述通过无速率编码向所述第二节点发送数据帧之后,还包括:
    接收所述第二节点发送的正确接收确认ACK,所述第二节点发送的ACK为所述第二节点在确定接收到数据帧时发送。
  18. 如权利要求15所述的方法,其特征在于,所述当接收到第一节点发送的RTS时,判断所述第一节点发送的RTS中携带的RA和自身的地址是否一致之后,还包括:
    当确定所述第一节点发送的RTS中携带的RA和自身的地址一致,且监听到当前媒体处于空闲状态时,向所述第一节点发送CTS,其中,向所述第一节点发送的CTS中携带的RA为所述第一节点的地址;
    接收所述第一节点通过无速率编码发送的数据帧。
  19. 如权利要求18所述的方法,其特征在于,所述接收所述第一节点通过无速率编码发送的数据帧之后,还包括:
    判断所述第一节点发送的数据帧中是否存在冲突的帧,所述冲突的帧包括RTS、CTS、ACK和阻塞帧;
    当确定所述第一节点发送的数据帧中存在所述冲突的帧时,确定所述冲突的帧的开始位置和结束位置;
    根据所述冲突的帧的开始位置和结束位置,解码存在冲突的帧的数据帧。
  20. 如权利要求19所述的方法,其特征在于,所述判断所述第一节点发送的数据帧中是否存在冲突的帧,包括:
    当在所述第一节点发送的数据帧中检测到前导序列时,确定所述第一节点发送的数据帧中存在所述冲突的帧;
    相应地,所述确定所述冲突的帧的开始位置和结束位置,包括:
    从所述第一节点发送的数据帧中检测物理包头,根据检测到的前导序列和物理包头,确定所述冲突的帧的开始位置和结束位置;或者,
    从所述第一节点发送的数据帧中检测第二序列,根据检测到的前导序列和第二序列,确定所述冲突的帧的开始位置和结束位置,所述第二序列用于指示所述冲突的帧的结束位置,所述第二序列为物理层对所述冲突的帧封装时添加在所述冲突的帧的尾部的序列。
  21. 如权利要求19所述的方法,其特征在于,所述判断所述第一节点发送的数据帧中是否存在冲突的帧,包括:
    当在所述第一节点发送的数据帧中检测到第一序列时,确定所述第一节点发送的数据帧中存在所述冲突的帧,所述第一序列用于指示所述冲突的帧的开始位置,所述第一序列为物理层对所述冲突的帧封装时添加在所述冲突的帧的头部的序列;
    相应地,所述确定所述冲突的帧的开始位置和结束位置,包括:
    从所述第一节点发送的数据帧中检测物理包头,根据检测到的第一序列和物理包头,确定所述冲突的帧的开始位置和结束位置;或者,
    从所述第一节点发送的数据帧中检测第二序列,根据检测到的第一序列和第二序列,确定所述冲突的帧的开始位置和结束位置。
  22. 如权利要求18所述的方法,其特征在于,所述接收所述第一节点通过无速率编码发送的数据帧,包括:
    当检测到所述第一节点发送的数据帧中存在冲突的帧且所述冲突的帧为RTS时,停止接收所述第一节点发送的数据帧;
    发送阻塞帧,所述阻塞帧用于禁止第三节点发送数据帧,所述第三节点为没有接收到所述第一节点发送的RTS但监听到当前媒体处于忙碌状态的节点;
    在发送所述阻塞帧之后,重新接收所述第一节点发送的数据帧。
  23. 如权利要求18所述的方法,其特征在于,所述接收所述第一节点通过无速率编码发送的数据帧之后,还包括:
    当确定正确接收到所述第一节点通过无速率编码发送的数据帧时,向所述第一节点发送ACK。
  24. 如权利要求15所述的方法,其特征在于,所述方法还包括:
    当接收到第四节点发送的CTS时,判断所述第四节点发送的CTS中携带的RA和自身的地址是否一致,所述第四节点为待接收通过无速率编码发送的数据帧的节点;
    在确定所述第四节点发送的CTS中携带的RA和自身的地址不一致之后,当接收到第五节点发送的RTS且监听到当前媒体处于空闲状态时,向所述第五节点发送CTS;
    接收所述第五节点通过无速率编码发送的数据帧。
  25. 如权利要求24所述的方法,其特征在于,所述接收所述第五节点通过无速率编码发送的数据帧之后,还包括:
    当确定正确接收到所述第五节点发送的数据帧时,向所述第五节点发送ACK。
  26. 如权利要求15至25任一所述的方法,其特征在于,所述RTS、CTS、阻塞帧和ACK中的每一个均包括所述第一序列和所述第二序列中的至少一个,所述RTS、CTS和ACK中还包括第三序列,所述第三序列用于指示携带的RA。
  27. 如权利要求26所述的方法,其特征在于,所述第一序列包括至少一个第四序列,当所述至少一个第四序列的个数为第一预设个数时,所述冲突的帧为RTS,当所述至少一个第四序列的个数为第二预设个数时,所述冲突的帧不是RTS,或者,
    当所述第一序列包括一个第四序列,当所述一个第四序列的类型为第一预设类型时,所述冲突的帧为RTS,当所述一个第四序列的类型为第二预设类型时,所述冲突的帧不是RTS。
  28. 如权利要求15所述的方法,其特征在于,所述无速率编码为Spinal编码。
  29. 一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求15-28任意一项所述的方法。
PCT/CN2017/115305 2017-02-28 2017-12-08 无线网络中的数据传输方法及装置 WO2018157644A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710114043.6 2017-02-28
CN201710114043.6A CN108513319A (zh) 2017-02-28 2017-02-28 无线网络中的数据传输方法及装置

Publications (1)

Publication Number Publication Date
WO2018157644A1 true WO2018157644A1 (zh) 2018-09-07

Family

ID=63370662

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/115305 WO2018157644A1 (zh) 2017-02-28 2017-12-08 无线网络中的数据传输方法及装置

Country Status (2)

Country Link
CN (1) CN108513319A (zh)
WO (1) WO2018157644A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112333127A (zh) * 2020-10-30 2021-02-05 中北大学 一种基于Spinal码的无比率安全编码方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111385904B (zh) * 2018-12-27 2022-01-11 河马互联网信息科技(深圳)有限公司 一种基于载波侦听多址接入协议的信息传输方法
CN111385907B (zh) * 2018-12-27 2021-12-17 重庆航天信息有限公司 一种基于随机接入协议的数据收发设备
CN111385908B (zh) * 2018-12-27 2022-05-17 北京国联视讯信息技术股份有限公司 降低csma网络协议冲突概率的方法
CN110784244B (zh) * 2019-09-24 2021-08-31 厦门蓝斯通信股份有限公司 一种数据传输方法及全双工Ad Hoc网络系统
CN113543142A (zh) * 2020-04-21 2021-10-22 维沃移动通信有限公司 信息传输方法和设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102006649A (zh) * 2009-08-28 2011-04-06 财团法人工业技术研究院 基于邻近觉察的同时传输的媒介存取控制协议装置与方法
WO2016036081A1 (ko) * 2014-09-05 2016-03-10 엘지전자 주식회사 비면허 대역 상에서 데이터를 전송하기 위한 방법 및 그 기지국
CN105493608A (zh) * 2013-08-14 2016-04-13 Lg电子株式会社 在无线局域网中发送数据的方法和设备
CN105824236A (zh) * 2016-03-08 2016-08-03 哈尔滨工程大学 一种水下机器人的自适应组网通信方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014110806A1 (en) * 2013-01-18 2014-07-24 Broadcom Corporation Channel reservation and synchronous transmission

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102006649A (zh) * 2009-08-28 2011-04-06 财团法人工业技术研究院 基于邻近觉察的同时传输的媒介存取控制协议装置与方法
CN105493608A (zh) * 2013-08-14 2016-04-13 Lg电子株式会社 在无线局域网中发送数据的方法和设备
WO2016036081A1 (ko) * 2014-09-05 2016-03-10 엘지전자 주식회사 비면허 대역 상에서 데이터를 전송하기 위한 방법 및 그 기지국
CN105824236A (zh) * 2016-03-08 2016-08-03 哈尔滨工程大学 一种水下机器人的自适应组网通信方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112333127A (zh) * 2020-10-30 2021-02-05 中北大学 一种基于Spinal码的无比率安全编码方法
CN112333127B (zh) * 2020-10-30 2023-09-08 中北大学 一种基于Spinal码的无比率安全编码方法

Also Published As

Publication number Publication date
CN108513319A (zh) 2018-09-07

Similar Documents

Publication Publication Date Title
WO2018157644A1 (zh) 无线网络中的数据传输方法及装置
US11019662B2 (en) Multiple network allocation vector operation
JP4474468B2 (ja) 集中化されていない媒体アクセス制御を有するネットワーク用の受信機および送信機
KR102026957B1 (ko) 랜덤 액세스 성능 개선을 돕는 기지국
JP5497189B2 (ja) 無線ネットワークにおける再送信技術
KR100713378B1 (ko) 무선 통신 네트워크에서 숨은 스테이션 검출 방법
US11102714B2 (en) Method and apparatus for obtaining system information
JP6177437B2 (ja) チャネルアクセス方法、装置及びシステム
TW200926691A (en) Method and apparatus for resolving blinded-node problems in wireless networks
JP2018515020A (ja) ワイヤレスネットワークにおける衝突を低減するためのシステムおよび方法
JP2013219687A (ja) 無線通信装置、無線通信方法
JP6968059B2 (ja) 第1の無線局、通信方法、および集積回路
US20130163576A1 (en) Communication Devices and Methods for Sending a Message
US11751244B2 (en) Method and entity for transmitting in a communications system
US20130235796A1 (en) System and Method for Uplink Transmission in a Wireless Network
KR20170126879A (ko) 믹싱된 무선 통신 시스템에서의 선택적 경합을 위한 방법들 및 장치
WO2023197782A1 (zh) 信道接入方法、装置、设备及存储介质
JP5757631B2 (ja) 無線通信システム、無線通信装置及び無線通信制御方法
WO2022047048A1 (en) Systems and methods for low latency traffic in next generation wlan networks
JP2017512413A (ja) 拡張フレーム間スペースを回避すること
KR102136327B1 (ko) 통신 네트워크 시스템 및 통신 네트워크 시스템에서 데이터를 송수신하는 방법
WO2016049886A1 (zh) 一种信道共享的方法、装置和系统
Jeon et al. Fast retransmission scheme for overcoming hidden node problem in IEEE 802.11 networks
US10893441B2 (en) RTS/CTS handshaking method for improving efficiency of communication resources
EP4205496A1 (en) Systems and methods for low latency traffic in next generation wlan networks

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17898551

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17898551

Country of ref document: EP

Kind code of ref document: A1