METHOD FOR IMPLEMENTING MANY-TO-ONE CONCURRENT TRANSMISSION MEDIUM ACCESS CONTROL (MAC) PROTOCOL FOR UNDERWATER ACOUSTIC NETWORKS
20220368432 · 2022-11-17
Inventors
Cpc classification
H04B11/00
ELECTRICITY
Y02D30/70
GENERAL 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
H04L45/021
ELECTRICITY
International classification
H04B13/02
ELECTRICITY
H04B11/00
ELECTRICITY
Abstract
A method for implementing a many-to-one concurrent transmission medium access control (MAC) protocol for underwater acoustic networks, including: initializing a network; setting a timer; initiating, by a receiving node, a control frame to perform handshakes with multiple nodes; exchange ID, level and location of the receiving node and a sending node, and counting the number of nodes that generate a sending notification (SN) message before timeout; and planning, by the receiving node, a receiving scheduling time of data from different nodes according to the number of successful handshake nodes, distance from each sending node to the receiving node, and data packet size; and performing data transmission.
Claims
1. A method for implementing a many-to-one concurrent transmission medium access control (MAC) protocol for underwater acoustic networks (UWANs), comprising: (S1) initializing a network; (S2) setting a timer; initiating, by a receiving node, a control frame to perform handshakes with multiple nodes; performing information exchange between the receiving node and a sending node, wherein the information exchange comprises exchange of ID, level and location of the receiving node and the sending node; and counting the number of nodes that generate a sending notification (SN) message before timeout; and planning, by the receiving node, a receiving scheduling time of data from different nodes according to the number of successful handshake nodes, a distance from the sending node to the receiving node, and a data packet size; and (S3) transmitting the data according to a planned time.
2. The method of claim 1, wherein the step (S1) comprises: performing node layering such that a dynamic neighbor table is maintained for each node in the network, wherein the dynamic neighbor table is configured to record ID, level, aging time and location information of a one-hop neighbor node.
3. The method of claim 2, wherein the node layering is performed through steps of: broadcasting, by a sink node, a hello message to the network; allowing each node to obtain a corresponding level after receiving the hello message; and configuring the level of each node according to the number of hops from the sink node.
4. The method of claim 3, wherein the step (S2) is performed through steps of: (S2.1) setting the timer and broadcasting a ready-to-receive (RTR) message; wherein the timer is set to ensure that handshake control frames of all nodes that have data to be sent within a transmission range of the receiving node are received within a Timer period; and counting the number of nodes that send a response control frame to themselves before the timer times out; (S2.2) receiving, by a neighbor node, the RTR message from the receiving node; determining a relationship between a level L_s of the neighbor node and a level L_r of the receiving node; and determining whether an interference signal is detected; (S2.3) receiving, by the receiving node, SN frames from different sending nodes in a handshake process; allocating, by the receiving node, a receiving scheduling time respectively to each sending node that has data to send to the receiving node according to the number of sending nodes, a distance between the receiving node and each sending node, and a length of data of each sending node; and encapsulating the receiving scheduling time into an ORDER frame followed by broadcasting such that sending nodes that have completed the handshake process send data in an orderly manner.
5. The method of claim 4, wherein the Timer period is calculated as:
Timer=2T.sub.pd_max+2θ+Rand( ); wherein Rand( ) represents a random time interval between 0-1; θ represents a transmission delay of the control frame; and T.sub.pd_max represents a maximum propagation delay taken by a message from a sender to one of its neighbor nodes within a transmission range, calculated as follows:
T.sub.pd_max=d.sub.max/v; wherein d.sub.max represents a maximum transmission range of the receiving node; and v is an underwater propagation speed of acoustic waves.
6. The method of claim 5, wherein in step (S2.2), if L_r≥L_s, the neighbor node discards the RTR message and keeps silent; otherwise, the neighbor node performs channel sensing.
7. The method of claim 6, wherein in step (S2.2), if no interference signal is detected, the SN message containing an ID of a destination node, an ID, level, and location of a node is immediately sent to the receiving node; otherwise, transmission of the SN message is delayed.
8. The method of claim 7, wherein in step (S3), after the ORDER frame is broadcasted, the receiving node enters a data receiving stage; and after receiving the ORDER frame, each sending node calculates a time point for data sending according to the receiving scheduling time allocated by the receiving node to the receiving node, and sends corresponding data to the receiving node at a calculated time point, and then waits for an acknowledgement (ACK) confirmation frame, so as to enable concurrent transmission of multiple sending nodes to one receiving node.
9. The method of claim 8, wherein in step (S3), it is assumed that the receiving node has H neighbor nodes, H=K+Q; wherein K represents the number of neighbor nodes having a level less than the level of the receiving node; and Q represents the number of neighbor nodes having a level greater than or equal to the level of the receiving node, and the Q neighbor nodes are denoted as interference nodes; a time for the receiving node to receive a data packet of a first sending node from the K neighbor nodes is expressed as:
T.sub.r_1=θ+2T.sub.pd_1+δ; wherein δ represents a transmission delay of the data packet; and T.sub.pd_1 represents a propagation delay of the first sending node; a guard time T.sub.guard is set between receiving operations of two data packets to ensure that the two data packets do not collide at the receiving node, and a time for receiving a data packet of a second sending node is expressed as:
T.sub.r_2=T.sub.r_1+T.sub.guard+δ; a time for receiving a data packet of a third sending node is expressed as:
T.sub.r_3=T.sub.r_1+2(T.sub.guard+δ); and a time for receiving a data packet of a n.sup.th sending node is expressed as:
T.sub.r_n=T.sub.r_1+(n+1)×(T.sub.guard+δ),n∈1,K; after receiving the ORDER frame from the receiving node, individual sending nodes calculate a respective sending time according to a receiving time; a sending time of a first neighbor node is expressed as:
T.sub.s_1=T.sub.r_1−T.sub.pd_1; a sending time of a second neighbor node is expressed as:
T.sub.s_2=T.sub.r_2−T.sub.pd_2; and a sending time of a n.sup.th neighbor node is expressed as:
T.sub.s_n=T.sub.r_n−T.sub.pd_n,n∈[1,K].
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0047]
[0048]
[0049]
[0050]
[0051]
[0052]
[0053]
DETAILED DESCRIPTION OF EMBODIMENTS
[0054] The technical solutions of the present disclosure will be described completely and clearly below with reference to the accompanying drawings and embodiments. Obviously, the embodiments provided below are merely illustrative, which are not intended to limit the disclosure.
Embodiment 1
[0055] Provided herein is a method for implementing a many-to-one concurrent scheduling medium access control (CS-MAC) protocol for underwater acoustic networks (UWANs), which is performed through the following steps.
[0056] (S1) A network is initialized. Node layering is performed such that a dynamic neighbor table is maintained for each node in the network. The dynamic neighbor table is configured to record ID, level, aging time and location information of a one-hop neighbor node.
[0057] The node layering is performed through the following steps.
[0058] A hello message is broadcast to the network by a sink node. Each node is allowed to obtain a corresponding level after receiving the hello message. The level of each node is configured according to the number of hops from the sink node. In a hierarchical network, a level of the sink node is 0. The less the number of hops from the sink node, the smaller the level of the sensor node, and vice versa.
[0059] (S2) A timer is set.
[0060] A control frame is initiated by a receiving node to perform handshakes with multiple nodes. Information exchange is performed between the receiving node and a sending node. The information exchange includes exchange of ID, level and location of the receiving node and the sending node. The number of nodes that generate a sending notification (SN) message before timeout is counted.
[0061] A receiving scheduling time of data from different nodes is planned by the receiving node according to the number of successful handshake nodes, a distance from the sending node to the receiving node, and a data packet size, so as to concurrently transmit multiple sending nodes to one receiving node, thereby improving a communication efficiency. At the same time, the CS-MAC protocol effectively avoids data collision between nodes, solves the problems of hidden terminals and space-time uncertainty, and reduces a data packet retransmission.
[0062] The step (S2) is performed as follows.
[0063] (S2.1) The timer is set and a ready-to-receive (RTR) message is broadcast. The timer is set to ensure that handshake control frames of all nodes that have data to be sent within a transmission range of the receiving node are received within a Timer period. The number of nodes that sent a response control frame to themselves before timeout.
[0064] The Timer period is calculated as:
Timer=2T.sub.pd_max+2θ+Rand( );
[0065] where Rand( ) represents a random time interval between 0-1; θ represents the transmission delay of the control frame; and T.sub.pd_max represents a maximum propagation delay taken by a message from a sender to one of its neighbor node within the transmission range, calculated as follows:
T.sub.pd_max=d.sub.max/v;
[0066] where d.sub.max is a maximum transmission range of the receiving node; and v is an underwater propagation speed of acoustic waves.
[0067] (S2.2) When a neighbor node receives the RTR message from the receiving node, a relationship between a level L_s of the neighbor node and a level L_r of the receiving node is determined. If L_r≥L_s, the neighbor node discards the RTR message and keeps silent; otherwise, the neighbor node performs channel sensing.
[0068] Whether an interference signal is detected is determined. If no interference signal is detected, the SN message containing an ID of a destination node, an ID, level, and location of the neighbor node is immediately sent to the receiving node; otherwise, the transmission of the SN message is delayed.
[0069] (S2.3) After receiving SN frames from different sending nodes in a handshake process, the receiving node allocates different receiving scheduling time respectively to each sending node that has data to send to the receiving node according to the number of sending nodes, a distance between the receiving node and each sending node, and a length of data of each sending node, and encapsulates the receiving scheduling time into an ORDER frame and broadcasts such that sending nodes that have completed the handshake process send data in an orderly manner, which ensures that no collision occurs in a process of receiving data.
[0070] (S3) After the ORDER frame is broadcast, the receiving node enters a data receiving stage. After receiving the ORDER frame, each sending node calculates a time point for data sending according to the receiving scheduling time allocated by the receiving node to the receiving node, and sends corresponding data to the receiving node at a calculated time point, and then waits for an acknowledgement (ACK) confirmation frame, so as to enable concurrently transmission of multiple sending nodes to one receiving node.
[0071] As shown in
[0072] Suppose that the receiving node has H neighbor nodes, H=K+Q.
[0073] K represents the number of neighbor nodes having a level less than the level of the receiving node. Q represents the number of neighbor nodes having a level greater than or equal to the level of the receiving node, and the Q neighbor nodes are denoted as interference nodes.
[0074] A time for the receiving node to receive a data packet of a first sending node from the K neighbor nodes is expressed as:
T.sub.r_1=θ+2T.sub.pd_1+δ;
[0075] where δ represents a transmission delay of the data packet; and T.sub.pd_1 represents a propagation delay of the first sending node.
[0076] A guard time T.sub.guard is set between receiving operations of two data packets to ensure that the two data packets do not collide at the receiving node, and a time for receiving a data packet of a second sending node is expressed as:
T.sub.r_2=T.sub.r_1+T.sub.guard+δ.
[0077] A time for receiving a data packet of a third sending node is expressed as:
T.sub.r_3=T.sub.r_1+2(T.sub.guard+δ).
[0078] A time for receiving a data packet of a n.sup.th sending node is expressed as:
T.sub.r_n=T.sub.r_1+(n+1)×(T.sub.guard+δ),n∈1,K.
[0079] After receiving the ORDER frame from the receiving node, individual sending nodes calculate a respective sending time according to a receiving time.
[0080] A sending time of a first neighbor node is expressed as:
T.sub.s_1=T.sub.r_1−T.sub.pd_1.
[0081] A sending time of a second neighbor node is expressed as:
T.sub.s_2=T.sub.r_2−T.sub.pd_2;
[0082] A sending time of a n.sup.th neighbor node is expressed as:
T.sub.s_n=T.sub.r_n−T.sub.pd_n∈[1,K].
Simulation and Analysis
[0083] The performance of the CS-MAC protocol provided in the present disclosure is evaluated by simulating the underwater environment based on the NS-3 simulation platform. The simulation environment is a multi-hop hierarchical underwater acoustic network composed of a sink node and multiple underwater sensor nodes. The sink node is deployed on the water surface in a static form, and other nodes are randomly and uniformly deployed in the underwater three-dimensional area. The simulation parameters are set as shown in Table 1.
TABLE-US-00001 TABLE 1 Simulation parameters Parameters Value Three-dimensional area 1500m × 1500m × 2500m ACK confirmation frame, 56 bit Bandwidth 10 kbps Node initial energy 10000 J Simulation time 500 s
[0084] In this embodiment, data delivery rate, end-to-end delay, throughput, and energy consumption are used to evaluate the performance of the CS-MAC protocol.
[0085]
[0086]
[0087]
[0088]
[0089] This embodiment proposes a CS-MAC protocol suitable for the underwater acoustic network according to the characteristics and existing challenges of the underwater acoustic networks. In the CS-MAC protocol, the receiving node can shake hands with multiple sending nodes by broadcasting a RTR control frame to exchange a location and level information of the sending nodes and the receiving nodes and the scheduling time for receiving the data through the control frame, so as to concurrently transmit multiple sending nodes to one receiving node, and solve the problems of hidden terminal and space-time uncertainty. Simulation experiments show that the network throughput of CS-MAC protocol is better than that of ALOHA, R-MAC, slotted-FAMA and LSPB-MAC protocols; the data packet delivery rate of CS-MAC protocol is higher than that of ALOHA and LSPB-MAC protocols; and the end-to-end delay of the CS-MAC protocol is lower than that of the ALOHA and LSPB-MAC protocols.
[0090] Described above are only preferred embodiments of the present disclosure and are not intended to limit the present disclosure. It should be understood that any modifications, replacements and improvements made by those skilled in the art without departing from the spirit and scope of the present disclosure should fall within the scope of the present disclosure defined by the appended claims.