# Cross-Layer Methods for Ad Hoc Networks--Review and Classification
## 3 Cross-Layer Method Publications Review
### One Layer
#### 3.1.4 Transport Layer  
The transport layer is responsible for the congestion control. The transport layer protocol estimates overload by measuring the interarrival time between delivery confirmation packets or by the lack of confirmation packets. When congestion is detected, the transport layer starts transmitting packets with a lower frequency. Congestion estimation takes into account only the line buffer overload. However, packets in ad hoc networks can be lost due to line noises and packet collisions. Then, the slowdown of packet transmission by the transport layer will not affect the probability of packet loss; the transport layer will slow down to the minimum speed, underutilizing the network capacity. To avoid this problem, cross-layer transport protocols use data from the channel and network layers to find out the cause of packet loss (Table 8). \begin{table}
\begin{tabular}{c c c c c} \hline \hline
**Publication** & **Year** & **Citations** & **Layers** & **Goal** \\ \hline
[84] & 2004 & 135 & 2, 4 & route throughput \\
[85] & 2006 & 148 & 2, 4 & route throughput \\
[86] & 2008 & 58 & 2, 3, 4 & route throughput \\
[87] & 2012 & 34 & 2, 3, 4 & route throughput \\
[88] & 2017 & 6 & 2, 3, 4 & route throughput \\
[89] & 2019 & 30 & 2, 4 & route throughput \\ \hline \hline \end{tabular}
\end{table} 
Table 8: Cross-layer methods concentrated on transport layer protocols. [PERSON] et al. [84] propose an adaptation of the TCP protocol to ad hoc networks. When delivery confirmation packets do not arrive, TCP believes that packets have been dropped due to line congestion rather than due to radio line noise or route disruption due to node movement, resulting in TCP slowing down the transmission speed by underutilizing the network's free capacity. To avoid this, the channel layer reports the packet loss to TCP so that the packet is retransmitted from the TCP cache of adjacent nodes. This allows TCP to avoid congestion control and use full available line capacity. [PERSON] et al. [85] modify the TCP protocol to take into account the channel layer data: the delay and the capacity of the line. More data allows for more accurate congestion estimates than using only inter-arrival time of delivery confirmation packets. [PERSON] et al. [86] propose the TCP protocol modification to address the problem of network cascading overload. The cascading overload begins with the transport protocol overloading one of the route lines; the channel layer detects line overload and reports the routing protocol about line break; the routing protocol starts the procedure of finding a new route, overloading the network with route request messages. Therefore, the authors proposed a mechanism for controlling congestion at the transport layer that reduces the likelihood of network congestion due to the search for new routes. To achieve that, a new method of fractional increase in the TCP window size with explicit notification of the network layer that the route is not broken is proposed. [PERSON] et al. [87] offer transport and network layer protocols that use network event information. Network events are route and connection failure, network packet reception errors, line buffer overflow at the channel layer, and long channel access time. The transport protocol behaves in the following manner. When a connection is severed, the transport protocol continues to transmit data packets and sends a request to the network layer to find a new route. If a line packet transmission fails, the transport protocol retransmits the packet without waiting for a delivery confirmation packet, which will never be sent. When the packet is discarded due to the line buffer overflow, the transport protocol triggers the congestion control mechanism. In the case of long channel access time, the transport protocol also triggers the congestion control mechanism. Each node uses an overload metric counter, which increases when a buffer overflow event or a long access channel time event occurs and decreases when the event disappears.