## 3 Methodology  
### BATMAN Algorithm  
The very first step will be to announce the presence of the self to every neighbor using a customized message OGM after the initialization of the BATMAN protocol. This message will be broadcasted with the parameter time-to-live (TTL) equal to 1, ensuring that it only reaches direct neighbors and is not forwarded to other nodes. This message will continue being broadcast with a delay of 1 s by default (originator interval) until the algorithm is taken offline or the node is powered off. Each OGM is marked with a sequence number (SN), which helps in eliminating any received obsolete information. The SN also helps prevent any routing loops from forming as any packet re-broadcasted to the originator node can verify that it is the same information it broadcasted earlier, eliminating some of the causes of routing loops. The metric used by the protocol is termed Transmission Quality (\(TQ\)), which is calculated for each link toward the destination between neighbor nodes by analyzing the OGMs received by the neighbors. A similar transmission quality metric was also utilized, but based on geolocation [32]. A basic flowchart for BATMAN general components is presented in Figure 2. \begin{table}
\begin{tabular}{p{113.8 pt} p{113.8 pt} p{113.8 pt} p{113.8 pt}} \hline \hline
**Title** & **Method** & **Application** & **Drawback** \\ \hline JOKER: A Novel Opportunistic Routing Protocol [26] & Uses link quality metrics based on distance penalty. & Multimedia and streaming. & Tradeoff between better energy consumption and quality of user experience exist. \\ \hline B.A.T.Mobile: Leveraging Mobility Control Knowledge for Efficient Routing in Mobile Robotic Networks [27] & Extension to BATMAN with a mobility prediction component which selects forward nodes based on the mobility prediction data. & Unmanned Autonomous Vehicles (UAVs) & No major drawbacks mentioned. \\ \hline Improving B.A.T.M.A.N. Routing Stability and Performance [28] & Enforces loop-freeness in BATMAN by removing the global window, fast OGM forwarding and only considering latest \(TQ\) values without taking averages. & Mobile ad hoc networks and all its derivatives. & Assigning zero \(TQ\) value for lost OGMs will lead to heavily decree \(TQ_{path}\) and decreased performance of the overall network. \\ \hline \hline \end{tabular}
\end{table} 
Table 1: BATMAN extensions or modifications in the literature. \(TQ\) is the performance measure between two neighbor nodes for sending and receiving information [33]. Two nodes communicating on a single wireless link will not exhibit similar performance measures towards each other, as in the case of wired links [31]. This behavior of wireless interfaces limits the ability of \(TQ\) to determine the performance of two neighbor nodes just by equating (sending only or receiving only) OGMs on one side. Therefore, \(TQ\) can be further classified into two parameters, receive quality (\(RQ\)) and echo quality (\(EQ\)), to measure the performance between two nodes, first by sending the OGM (\(RQ\)) and then after receiving the re-broadcasted OGM to compute the \(EQ\). The mentioned mechanism is only observed in BATMAN IV, which has its disadvantages, such as delay caused by the information collection procedure as OGM transmission and echo from the neighbor would take some time to transfer while data rate and packet losses in wireless channels vary over time. Therefore, a mechanism was required where local link quality can be detected with high frequency (default for OGMv1 vs. 1 s), and OGM advertisements would be separate from local link quality metric calculations for the stability of the network. Therefore, BATMAN V was introduced, which is still in the initial stages of development. In BATMAN V, Echo Location Protocol (ELP) is used to discover neighbors and announce their presence, while a modified variant of OGM, OGMv2, is used to calculate the transmit qualities of the links and flood this information onto the network.