# A Study of MANET Routing Protocols in Heterogeneous Networks: A Review and Performance Comparison
## 2 MANET Routing Protocols: Background and a Review of the Literature
### MANET Routing Protocols Considered  
In this section, we provide an overview of the four selected MANET routing protocols, including AODV, OLSR, BATMAN, and DYMO. * AODV routing protocol: AODV is a reactive routing protocol that combines with the DSR (dynamic source routing) protocol and is a descendant of the proactive routing protocol DSDV (destination sequence distance vector) [16]. With this protocol, when an active node desires a route to a node that is not active, it broadcasts a route request (RREQ) packet across the network. This is known as the route discovery process--the source node creates a RREQ packet that contains the (i) source and destination IPaddresses; (ii) source and destination sequence numbers; and (iii) broadcast ID number (is initiated each time a source node uses a route request packet). These broadcasts flow across the network through flooding, sending control packets to every node connected except for the source node. This allows for the discovery of available routes. Once one node receives the RREQ packet, an intermediate node (that is not the destination node) may send a route reply (RREP) packet. This packet notifies the source node that they are not the destination node and that it has a route to the destination with the corresponding sequence number. The sequence number may be greater or equal to that contained in the RREQ packet. Once the source receives RREP packets, it forwards the data packets to their original destination. If any node moves, whether the destination node or the intermediate nodes, link failures may result in route error (RERR) messages being sent to other nodes. If a source node moves, then the route discovery process starts again, and we must send new RREQ packets. RERR messages are sent to all the nodes connected within the network and mark the destination route as an invalid route--the distance to destination then becomes infinity in the routing table. If the source node still needs to connect to the route, the route discovery process is re-initiated. * OLSR protocol: OLSR is a proactive routing protocol, and it reduces the overhead by using multipoint relay (MPRs) nodes that the protocol uses to retransmit the control message and is one of the main features of the OLSR routing protocol [14]. Due to its protective nature, one of the significant advantages of the OLSR protocol is that routes are immediately available when needed. This protocol can be split into three main modules: (i) neighbor/link sensing; (ii) optimized flooding/forwarding (multipoint relaying); and (iii) link-state messaging and route calculation. Using the pure link state protocol causes full flooding of the control packets among the nodes. All the nodes receive the HELLO message and flood it with all their neighbors, and this will lead to an increase in the overhead of the network. Packets are forwarded by hop-by-hop routing--meaning that each node can use the most recent information to route packets. Only nodes selected as MPRs can forward control traffic, thus reducing the size of the original control message [17; 18]. Topology control (TC) messages are used along with the forwarding of multipoint relays to disseminate neighbor information throughout the network. * Link-state routing often requires the topology database to be correctly synchronized across the network, whereas OLSR does not bother with reliability. Instead, it floods the topology data enough to ensure that the topology database does not go unsynchronized for long periods. The primary importance of the OLSR routing protocol is to reduce this flooding of the control packets in the network by application of the MPR technique. * DYMO routing protocol: The DYMO routing protocol has most recently been developed and is the successor to the AODV routing protocol. It was implemented as an application layer module in the INET framework. The protocol shares and inherits many of AODV's features, such as route discovery, sequence numbers for loop freedom and route error (RERR) messages [7; 16].