# A Survey on Underwater Acoustic Sensor Network Routing Protocols
## 2 The Background of Routing Protocol Design
### The Principle of Cross-Layer Design  
In non-cross-layer routing protocol design, the network is divided into five layers and every layer can be designed and operated independently to achieve specific functions. The interfaces between different layers are static. The protocols for each layer can manage the issues in that layer based on the services provided by the lower layer, and can provide services to the upper layer. In this kind of modularized protocol stack, communication only occurs between adjacent layers. Different protocols are independent, and only need to describe the interfaces between different layers. Moreover, this kind of architecture has clear logic, good expansibility, high robustness, and is easy to implement [6; 7]. Different from non-cross-layer design, cross-layer design is a method that shares the information with other layers. However, the cross-layer design does not abandon the layered structure completely; it just weakens the bounds and increases the interfaces between different layers. At present, there are many papers introducing the principles of cross-layer design, but there is still no uniform definition for cross-layer design. In this paper, we will reference the definition in [8] as the cross-layer design definition:  
Definition 1 The goal of cross-layer design is to achieve better network performance. The cross-layer design method should have the ability to preserve the layered architecture, break the communication limitations between different layers, and provide necessary QoS services for the network. Figure 1: The classification of UASN routing protocols. The cross-layer design can adjust the parameter configuration in different layers [9]. The principle of cross-layer design is shown in Figure 2. The main object of cross-layer design is to increase the information sharing in different layers and decrease the cost of communication and signal processing [9], _i.e._, to meet the QoS requirements of wireless sensor networks. Since the wireless channel is time-varying, during the routing protocol design, the abilities that allow the changing of wireless channels and meeting the QoS requirements must be taken into consideration, which are also the main objectives of cross-layer design. The term self-adaptive means that the protocol can adapt to changing environments and parameters to meet the requirements of energy consumption, network load, delivery ratio, _etc._ In traditional networks, these adjustments are processed in different layers independently; however, in cross-layer design, the different layers can exchange information with each other. The architecture of cross-layer design is shown in Figure 3.  
The common theories and methods of cross-layer design include the optimal control, the intelligent algorithm based method, the dynamic programming, _etc._ At present, the technologies used in cross-layer design are as follows:  
1. The scheduling technology. The scheduling technologies include node access scheduling, link utilization scheduling, network application scheduling, resource reserve, and data transmission priority allocation. The scheduling technology can relax the burstiness of network flow and make the system more appropriate for changing networks [10; 11]. 2. The diversified technology. The diversified technologies include link characteristic diversity, routing chosen diversity, application requirement diversity, and access technology diversity, _etc._ The diversity can enhance the system capability to adapt the network dynamics and improve the network reliability [12; 13; 14]. Figure 3: The architecture of cross-layer design. Figure 2: The principle of cross-layer design. The self-adaptive mechanism. The term self-adaptive means the protocols and the applications have the ability to adapt to changing channel conditions and network topologies. The self-adaptive mechanisms include link layer adaptive, network layer adaptive, and application layer adaptive.