**4. Altered ad-hoc on-demand distance vector (A-AODV)**

Analyzing previous protocols, we can say that most of on-demand routing protocols, except multipath routing, uses single route reply along the first reverse path to establish routing path. In high mobility, pre-decided reverse path can be disconnected and route reply message from destination to source can be missed. In this case, source node needs to retransmit route request message. Purpose of this study is to increase possibility of establishing routing path with less RREQ messages than other protocols have on topology change by nodes mobility. Specifically, the proposed A-AODV protocol discovers routes ondemand using a reverse route discovery procedure. During route discovery procedure, source node and destination node plays same role from the point of sending control messages. Thus after receiving RREQ message, destination node floods reverse request (R-RREQ), to find source node. When source node receives an R-RREQ message, data packet transmission is started immediately.

#### **4.1 Route discovery**

Since A-AODV is reactive routing protocol, no permanent routes are stored in nodes. The source node initiates route discovery procedure by broadcasting. The RREQ message contains information such as: message type, source address, destination address, broadcast ID, hop count, source sequence number destination sequence number, request time (timestamp). Whenever the source node issues a new RREQ, the broadcast ID is incremented by one. Thus, the source and destination addresses, together with the broadcast ID, uniquely identify this RREQ packet. The source node broadcasts the RREQ to all nodes within its transmission range. These neighboring nodes will then pass on the RREQ to other nodes in the same manner. As the RREQ is broadcasted in the whole network, some nodes may receive several copies of the same RREQ. When an intermediate node receives a RREQ, the node checks if already received a RREQ with the same broadcast id and source address. The node cashes broadcast id and source address for first time and drops redundant RREQ messages. The procedure is the same with the RREQ of AODV. When the destination node receives first route request message, it generates so called reverse request (R-RREQ) message and broadcasts it to neighbor nodes within transmission range like the RREQ of source node does. R-RREQ message contains the information such as: reply source id, reply destination id, reply broadcast id, hop count, destination sequence number, reply time (timestamp). When broadcasted R-RREQ message arrives to intermediate node, it will check for redundancy. If it already received the same message, the message is dropped, otherwise forwards to next nodes. Furthermore, node stores or updates following information of routing table:


And whenever the original source node receives first R-RREQ message it starts packet transmission, and late arrived R-RREQs are saved for future use. The alternative paths can be used when the primary path fails communications.

### **4.2 Route update and maintenance**

When control packets are received, the source node chooses the best path to update, i.e. first the node compares sequence numbers, and higher sequence numbers mean recent routes. If sequence numbers are same, then compares number of hops up to destination, routing path with fewer hops is selected. Since the wireless channel quality is time varying, the best path varies over time. The feedback from the MAC layer can be used to detect the connectivity of the link. When a node notifies that its downstream node is out of its transmission range, the node generates a route error (RERR) to its upstream node. If fail occurs closer to destination node, RRER received nodes can try local-repair, otherwise the nodes forward RRER until it reaches the source node. The source node can select alternative route or trigger a new route discovery procedure. There will be at least a single path for route reply so throughput will be increased although there is high mobility.
