# A Co-Design-Based Reliable Low-Latency and Energy-Efficient Transmission Protocol for UWSNs
## 4 Problem Statement
### The Proposed Protocol  
In this paper, the distance between any node and the sink is described as the number of layers to the sink (the hop-count from sink). Thus, each node would choose the neighbor that has a lower layer number as its next-hop. CDTP is an approach in which both receiver and sender will participate in the decision making. As shown in Figure 2, a sender first chooses a set of neighbors as its next-hop and puts the selection in a RTS. When selected neighbors receive the RTS, they will return a CTS after a short holding time. Then the sender replies with an RCTS to confirm the receiver and the corresponding data transmission time. These control packets have independent channels and therefore do not conflict with data packets. After screening by the sender and receiver, the best next-hop and transmission time will be selected. It retains the advantages of the two types of routing protocols, which guaranteed the efficiency and reliability of the network.  
CDTP consists of two phases: the layering phase and the forwarding phase. In the layering phase, the sink initializes the network by using a layered approach to assign a layer number to each node (e.g., Figure 1). The sink node is considered as a layer 0 node. The sink will initiate the layering process by sending a probe packet. After that, the probe packet will flood to all sensor nodes. Finally, all nodes in the network will obtain their distance from the sink. During this phase, each node records its neighbors'  
Figure 2: Handshake Process.  
information in the neighbor table and classifies the neighbors into LN and HN based on this information.  
In the forwarding phase, when a node attempts to deliver or forward a data packet to the sink node, it will select a forwarding set from its LN. This node then adds the selection to the RTS and completes the reservation. Only the selected nodes have the priority to reply CTS, other receivers will simply drop the transmission. When a selected node successfully receives the RTS, it will not reply CTS immediately but hold the information for a while to avoid multiple control packets. After this process a RCTs will be the reply from the sender, and the best forwarded will be selected successfully.  
In this process, nodes will inevitably receive control packets intended for another node (xRTS, xCTS, xRCTS). In order to prevent conflicts, nodes will have different actions when these are received. \(T_{hold}\) denotes the maximum holding time and \(T_{round}\) denotes the maximum round-trip time of the control packets. When xRTS is received, the maximum backoff time is set to \(T_{hold}+2T_{round}\). If the corresponding RCTS is heard during this time, the backoff is complete. Otherwise the node will wait until the maximum backoff time. The backoff time when xCTS is received is \(T_{round}\) until the corresponding RCTS is heard. After xRCTS is received, a successful handshake is completed and the control channel can be occupied again. However, according to the information in the xRCTS, nodes can only start data transmission when the data channel is idle.  
During these two phases, there are several challenges that need to be resolved.  
1. It is essential to guarantee the neighbor information is available in the case of node movement after network initializing.
2. It is challenging for a node to define the optimal forwarding set from its LN. The optimal subset ought to cut down multi-copies and collision and minimize end-to-end delay simultaneously.
3. It is necessary to determine the calculation of holding time. Scilicet, how long the selected node should hold the CTS to avoid multiple control packets.  
We will describe these challenges in detail in next sections.