# A Family of ACO Routing Protocols for Mobile Ad Hoc Networks
## 3 AntOR-Based Protocol
### AntOR Phases  
#### 3.2.1 Route Setup  
Initially, the nodes do not have routing information to send the data, but they have applications to start: traffic generator, ftp, ping,..., the network interfaces, the protocol stack (IP, UDP/TCP, and so on). The application generates data in the node, but having no available route, cannot send them. The node needs, therefore, to send reactive agents (reactive ants) to discover the routes to the destination. Reactive Forward Process  
At the beginning of the route setup process, the node \(s\), the source of the session data, creates an Reactive Forward Ant (RFA). This ant is a control packet, which aims to find a path from \(s\) to a given destination \(d\). This ant goes from the source node to the destination node, being sent by \(s\) in broadcast mode. The intermediate nodes that receive this ant forward it in the route searching process until reaching the destination. This type of ant has a list \(P\) of visited nodes so that intermediate nodes are not repeated. The forwarding mode of the RFA at the intermediate nodes may be unicast or broadcast, depending on if the current node has available routing information from the destination \(d\). In general, the RFA is sent in broadcast mode, because it aims to discover the first route. Unicast mode is \begin{table}
\begin{tabular}{c c c c c c} \hline \hline
**Entries** & **Destination** & **Next Hop** & \begin{tabular}{c} **Regular Pheromone** \\ **Value (\(\tau\))** \\ \end{tabular} & \begin{tabular}{c} **Virtual Pheromone** \\ **Value (\(\omega\))** \\ \end{tabular} & \begin{tabular}{c} **Average Number** \\ **of Hops (h)** \\ \end{tabular} \\ \hline \(Entry_{1}\) & \(Destination_{1}\) & \
\begin{tabular}{c} Next \\ \(Hop_{1}\) \\ \end{tabular} & \(\tau_{1}\) & \(\omega_{1}\) & \(h_{1}\) \\ \(Entry_{2}\) & \(Destination_{2}\) &
\begin{tabular}{c} Next \\ \(Hop_{2}\) \\ \end{tabular} & \(\tau_{2}\) & \(\omega_{2}\) & \(h_{2}\) \\ \(\ldots\) & \(\ldots\) & \(\ldots\) & \(\ldots\) & \(\ldots\) \\ \(Entry_{i}\) & \(Destination_{i}\) & Next \(Hop_{i}\) & \(\tau_{i}\) & \(\omega_{i}\) & \(h_{i}\) \\ \(\ldots\) & \(\ldots\) & \(\ldots\) & \(\ldots\) & \(\ldots\) \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Routing table (AntOR). \begin{table}
\begin{tabular}{c c c c c c c} \hline \hline \multirow{2}{*}{Local node} & Id \(Neigh_{1}\) & Id \(Neigh_{2}\) & \(\ldots\) & Id \(Neigh_{k}\) & \(\ldots\) & Id \(Neigh_{N}\) \\ \cline{2-7}  & Time \(Neigh_{1}\) & Time \(Neigh_{2}\) & \multicolumn{3}{c}{Time \(Neigh_{k}\)} & Time \(Neigh_{N}\) \\ \hline \hline \end{tabular}
\end{table} 
Table 3: Neighbor table (AntOR). utilized whenever the current node has information of a neighboring router that serves to relay the correspondent RFA to the next hop. In other words, a node has routing information whenever the route setup is done, utilizing the first setup in broadcast mode for the sending of RFAs and in the subsequent ones (because of link failures at source nodes), this mode or unicast, due to the remaining routes belonging to other previous setups. Unicast forwarding is performed utilizing Equation (1) probabilistically, where \(t_{in}^{d}\) is the regular pheromone value of the link that goes from node \(i\) to the next hop \(n\) in route to the destination \(d\); \(N_{i}^{d}\) is the set of neighbors of node \(i\) with a available route to \(d\); and \(\beta_{1}\) is a setting parameter influencing the exploratory behavior of ants. \[P_{in}^{d}=\frac{(\tau_{in}^{d})^{\beta_{1}}}{\sum_{j\in N_{i}^{d}}(\tau_{ij} ^{d})^{\beta_{1}}}\qquad\qquad\beta_{1}\geq 1 \tag{1}\]  
The value \(\beta_{1}\) is determined experimentally. If we utilize a high value of \(\beta_{1}\), the routes with a higher pheromone regular concentration are the candidates to relay the RFAs, obtaining the initial route quickly. If, on the contrary, we set to a lower value, routes tend to be chosen with similar probability.