# Cross-Layer Methods for Ad Hoc Networks--Review and Classification
## 3 Cross-Layer Method Publications Review
### One Layer
#### 3.1.5 Application Layer  
Cross-layer methods concentrated on the application layer consist of overlay network methods and applications. _Application layer (overlay network)_  
An overlay network is a collection of nodes and the services they provide (e.g., file sharing). An overlay network is implemented by applications. The overlay network has its own routing and neighbor discovery. However, the problem is that the overlay network topology and routes in it may not correspond to the physical network: neighboring nodes in the overlay network may be very far away from each other, and short routes in the overlay network may be very long in the underlying physical network. Therefore, cross-layer overlay networks use routing protocols to collect information about the overlay network. As a result, information about both the physical network and the overlay network is collected simultaneously, hence minimizing the amount of service information sent out by the overlay network (Table 9). [PERSON] et al. [90] use network layer interaction for peer-to-peer application layer protocol \"Gnutella\" from conventional networks, as the peer discovery task is the same as the route discovery task. As a result, application layer service data are added to the network layer service data of the routing protocol. Routing protocol route discovery success is higher than using the peer node discovery protocol of the \"Gnutella\" application protocol. In the works [91; 93], interaction with the OLSR routing protocol is suggested without the specification of an overlay network protocol. [PERSON] et al. [92] propose the adaptation of the \"Pastry\" protocol to ad hoc networks. [PERSON] et al. [94] propose an adaptation of the peer-to-peer (P2P) network \"Gnutella\" to ad hoc networks by utilizing node location information and information from the network layer. [PERSON] et al. [95] propose a P2P overlay network that interacts with the network and physical layer. To know about the link disconnections with virtual nodes, the network layer sends route disconnection messages, and the physical layer sends signal-to-noise ratio values to the application layer. With a gradual decrease in the signal-to-noise ratio, one can assume that the virtual node of the P2P network is about to disconnect, and then P2P nodes update the virtual network topology. Furthermore, all P2P nodes can be connected to each other through routes with common nodes. The virtual network will look fully connected, but the routes will redundantly pass through the physical nodes of the virtual nodes. By using route information from the network layer, the problem of false full connectivity can be avoided. _Application layer (applications)_  
There are not a lot of cross-layer applications that adapt to other layers because data from the application layer is usually treated as input data for other layers (Table 10). In transport ad hoc networks, a moving vehicle information dissemination application, depending on the rate of ad hoc network state change (information from the other four layers), which reflects the trajectories and vehicle distribution density, can disseminate information more or less frequently, thus avoiding network congestion and delivering only the most critical information. [PERSON] et al. [96] propose a congestion control mechanism for transport ad hoc networks, where, depending on the congestion level estimate, the application layer determines the number of messages to be sent and the size of the sliding window for congestion detection. The application layer also performs the task of the transport layer. The information from multiple layers about channel occupancy, queue occupancy, number of neighboring nodes, and transmission speed is used to estimate the congestion level. \begin{table}
\begin{tabular}{c c c c c} \hline \hline
**Publication** & **Year** & **Citations** & **Layers** & **Goal** \\ \hline
[96] & 2013 & 44 & 1, 2, 3, 4, 5 & route throughput \\ \hline \hline \end{tabular}
\end{table}