ACO Agent Based Routing in AOMDV Environment

. Mobile Ad-hoc Network (MANET) is a group of moving nodes which can communicate with each other without the help of any central stationary node. All the nodes in the MANET act as router for forwarding data packets. The nodes in the network also move randomly and there exists no fixed infrastructure. So, path breaks are the frequent problem in MANET. The routing protocol faces a lot of problem due these path breaks. Therefore, the routing protocol which is multipath in nature is more reliable than a unipath routing protocol. Ant colony optimization is a relatively new technique which is suitable for the optimization problems. AOMDV is a multipath routing protocol. Thus, if there happens to be path break, the packets can start following the new path which has already been selected. In this paper, we are trying to add ant’s agents into AOMDV behavior. In this way, the new protocol will be benefited by the dual properties i.e. of ant’s nature and multipath nature of AOMDV. The modif ied concept is simulated and the outcomes are compared with AOMDV, AODV and DSR routing protocols for few performance parameters. Results obtained are encouraging; the new algorithm performs better than traditional unipath and multipath routing protocols.


Introduction
Mobile Ad-hoc Networks are wireless networks consisting of entirely mobile nodes that communicate on the move without using centralised base stations.Infrastructure based systems that use as WiFi technology utilizes a central device to deliver high speed connectivity and high quality of service to the user.Infrastructure wireless networks where each user directly communicates with base station or access point [1].A Mobile Ad-hoc Network system is a group of mobile devices which provides the ability to stream voice, data and video between capricious pairs of devices utilizing the others as relays to avoid the need for infrastructure.There are many techniques which provide robust MANET capability, including MESH networking Technology.The communication in MANET is take place by using multi hop path.When a Mobile node wants to communicate with another node then a source node communicate with node in its transmission range it can transmit data to the destination node [6].On the other hand, if the destination node is not in the range of the source node, then intermediate nodes acts as both routers that enable the source node to communicate with the destination node.The network may keep changing randomly, because of the mobility of nodes.Many routing protocols are designed to find out a path from source node to destination node.In MANET Routing Protocols are divided in mainly two parts-1) Table-Driven Routing Protocol 2) On Demand Routing protocols.Table-Driven Routing protocols use the old manners of acquiring routing in mobile ad-hoc networks [21].These protocols maintain the consistent overview of the network.Each node in the network uses routing tables to store the location information of other nodes.This information is used to transfer data between various nodes of the network.In On-Demand routing protocols, if a source node requires a route to the destination node for which it does not have route information, it starts a route discovery process which goes from one node to the another node until it reaches to the destination node or an intermediate node has a route to the destination [27].
ACO-Ant Colony Optimization is a technique for optimization.The inspiration of ant Colony Optimization is the foraging behaviour of real ant colonies [5].This behaviour of ant is exploited in artificial ant colonies for the search of appropriate solutions to distinct optimization problems, to continuous optimization problems and main problems comes in telecommunications, such as routing and load balancing.ACO uses pheromone communication between ants regarding a best path between the colony and a food source in an environment [12].This mechanism is called stigmergy.Ants roam randomly around in surroundings for search of food.Ants lay down pheromone over the path on which they travel.Enormous trips between the food and the colony are performed.If the same route is followed again and again that directs the path with additional pheromone decomposition, so that older paths are less likely to be followed [20].Other ants may discover the same path to the food and start follows it and also lay down pheromone on the same path.A positive ICAET 2016 feedback process routes more and more ants to productive paths.

Figure 1: Shortest Path Discovery by Ants
Multipath routing allows building and use of multiple paths for routing between the pair of source and destination [3].Multipath routing is the routing technique of using multiple alternative paths in a network, which can afford a variety of benefits such as improved security, fault tolerance, or increased bandwidth [4].The multiple paths computed might be overlapped, edge-disjointed or node-disjointed with each other in the network.Multipath routing offers many advantages.Multipath routing creates several routes for a source-destination pairs.If one route fails a backup route will be available for transmission [9].Multipath routing can handle mobility of nodes in the network efficiently by tracking intermediate nodes and destinations.This combine approach reduces route recovery time when a main route fails.In network infrastructure, classical multipath routing allows load balancing among multiple routes, reducing network traffic congestion and improving the overall quality of service (QoS) [10].

DSR
Dynamic Source Routing (DSR) is a reactive multihop routing protocol and establishes a route when a transmitting mobile node requests for data communication [11].It uses source routing instead of using a routing table at the intermediate nodes.DSR allows the network to be completely self-organizing and self-configuring without the help of any fixed node or any central administration.The protocol is composed of two mechanisms namely "Route Discovery" and "Route Maintenance" that operate on demand [13].Route Discovery is the mechanism with the help of which a source node sends a packet to a destination node for obtaining the route.Route Maintenance is the technique by which source node is able to maintain a route to destination on change in network topology.Route maintenance is used when source node is no longer able to use the already discovered route to destination [17].Route Maintenance ensures that the communication path remains optimum and loop-free according the change in network conditions, even if this requires altering the route during a transmission.DSR being a reactive beaconless routing protocol that does not need to periodically flood the network for updating the routing tables like tabledriven routing protocols do [18].All aspects of the protocol operate entirely on-demand, allowing the routing packet overhead of DSR to scale automatically to only that needed to react to changes in the routes currently in use.Intermediate nodes are able to utilize the route cache information efficiently to reduce the control overhead.If the route is in the route cache of target node, the route would be used.Otherwise, the node will reverse the route based on the route record in the Route Reply message header (symmetric links) [26].In the event of fatal transmission, the Route Maintenance Phase is initiated whereby the Route Error packets are generated at a node.The incorrect hop will be detached from the node's route cache; all routes containing the hop are reduced at that point.

AODV
Ad hoc On-Demand Distance Vector Routing Protocol (AODV) is a reactive routing protocol, in which the routes are constructed only when needed [1].AODV maintains a routing table where routing information about the active paths is stored.AODV protocol uses four control packets: Hello messages, Route Requests (RREQs), Route Replies (RREPs), and Route Errors (RERRs).Each node in the network maintains a routing table which includes: Destination, Next Hop, Number of hops, Sequence number for the destination, Active neighbours for this route, and Expiration time for the route table entry.Each time a route entry is used [19].The sequence number is used to ensure loop freedom in distance vector routing protocols.The sequence number is sent with RREQ and RREP and stored in the routing table.The highest sequence number indicates the newer route information.If a new route is extended, the sequence numbers of the new route and the existing route are compared.The route with the highest sequence number is used.If the sequence numbers are the same, then the new route is selected only if it has fewer numbers of hops [22].AODV is compiled of two mechanisms:1) Route Discovery and 2) Route Maintenance.
A) Route Discovery:-Whenever a node needs to send data to a destination, firstly it checks its routing table if it has a valid route to the destination.If a route is found, the node starts to send the data to the next hop.Otherwise, it begins a route discovery process.In the route discovery process, a route request (RREQ) and route reply (RREP) packets are used to demonstrate a route to the destination.RREQ is broadcast throughout the entire network.Upon receipt of RREQ, the node creates a reverse routing entry towards the source, which can be used to forward replies later [24].The destination or an intermediate node, which has a valid route towards the destination, answers with a RREP packet.When a node receives RREP, a reverse routing entry towards the conceiver of RREP is created, ICAET 2016 - the same as with the processing of RREQ.The precursor list is created at the same time and associated with each routing entry.The precursor list includes the upstream nodes which use the node itself towards the same destinations.
B) Route Maintenance:-Each node with an active route sporadically broadcasts HELLO messages to its neighbors.If the node does not receive a HELLO message or a data packet from a neighbor for a certain amount of time, they started to rebuild the route towards the destination [25].Otherwise, a Route Error packet is sent to the neighbor, which in turn propagates the RERR packet towards nodes whose routes may be affected by the broken link.Then, the affected source can reinsert a route discovery process if the route is still needed.

AOMDV
Ad-hoc On-demand Multipath Distance Vector Routing Protocol (AOMDV) for computing multiple loop-free and link disjoint paths [8].AOMDV is a extension of AODV.AOMDV computes multiple paths during route discovery procedure for contending link failure.When AOMDV builds multiple paths, it will select the best path for data transmission which is based on the time of route establishment.The routing entries for each destination contain a list of the next-hops along with the corresponding hop counts [15].All the next hops in the network have the same sequence number.This sequence number helps in keeping track of a route.For destination, a node maintains the advertised hop-count, which is delimited as the maximum hop count for all the paths and used for sending route advertisements of the destination in the network.Each duplicate route advertisement received by a node, which defines an alternate path to the destination [16].In AOMDV environment, Loop freedom is insured for a node by accepting alternate paths to the destination if it has a less hop count than the advertisement.When a route advertisement is received for a destination with a greater sequence number, the next-hop list and the advertised hop count are reinspected.AOMDV can be used to find link-disjoint or node-disjoint routes.In the link-disjoint paths, the destination node adopts a looser reply policy.It replies up to k copies of RREQ arriving via singular neighbours, discounting the first hops of these RREQs [23].Singular neighbor who presents in the network guarantees link disjointness in the first hop of the RREP.Outside the first hop, the RREP follows the reverse route that have been set up already which are node disjoint.Each RREP arriving at an intermediate node takes a different reverse route when multiple routes are already available.

OANTALG
Orientation based ANT Algorithm (OANTALG) has been proposed recently for Routing in MANETs [2].This algorithm considered the orientation factor for guiding the packets to travel in appropriate direction for reaching to destination.This algorithm proposes the new way of random selection of both the end nodes i.e. the source as well as the destination nodes.During the movement of ants, various data structures including the routing tables (pheromone tables) are made for various purposes like for storing ant's trip time and etc.This algorithm uses two types of ants; Forward Ant (FANT) and Backward Ant (BANT) [7].Forward ant is originated at the source node and sent towards the destination node to explore the path.When FANT arrive at the destination, it is translated to backward ant (BANT) and sends to source node in the reverse path as followed by the FANT.The new algorithm can be explained as follows [14].

Step 1:
At fixed time of intervals FANTs are send from randomly selected source nodes to a randomly selected destination nodes within the network.This will help in covering the larger view of the topology.The FANT while travelling from intermediate nodes choose the next node by calculating probability [2].The FANT which is currently located at node i and leading towards the destination node d chooses next node j by probability ) ( ijd : that is calculated as follows: ) Step 2: If the chosen node i.e. next node has not selected previously for this path search, then the chosen node is added to the memory of ant.If this node has already been selected, then this may lead to the loop or the cycle [14].So, this node is erased from the current path.

Step 3:
When FANT reach the destination node, it carries with it the traversed path stored in the ant's memory [14].The new algorithm OANTALG uses time of this trip time along with the local statistical model factors in finding the strength of the new path.After successful enumeration of the new path, BANT is created at the destination node.ICAET 2016 - Step 4: BANT pass through the same path as traversed by the relative FANT in reverse direction.

BANT deposits pheromone (i)
U on the backward path to increase the strength of the chosen path source node [2].Pheromone being a chemical substance evaporates from the other paths where pheromone is not deposited.The amount of pheromone deposited or evaporated depends on the pheromone update equations given as below: If (node is in the way of the ant) then Where high U represents the highest value of the pheromone obtained till then in the present iteration.

| Ni |
counts for the total nodes present in the neighbouring area of the node i .C is a constant value dependent on the experimental time in code.For simulation in this paper, we have assumed the value of C as 1000 to counterpart the calculations in done milliseconds in experiment.r is the reinforcement factor and is a dimensionless constant whose value ranges between (0,1].

Few Issues to be addressed while using multipath routing in AOMDV by using ACO (i) Few Multipath routing protocols in MANETs use
route cache.There is not any mechanism used by most algorithms to purge stale routes related to multipath routing.As, algorithms send the data packets through multiple paths, so the packets often trapped into problem of using stale routes.This is because of the reason that route information in route cache over some paths may be obsolete.
Proposed Solution-We shall be using a uniform timeout policy to expire the stale routes belonging to same destination.If none of the available path to destination is used until time expire.Then all the paths are invalidated.
(ii) Whether an algorithm should use node disjoint path or link disjoint paths.Proposed Solution-We shall be using the inherent feature of AOMDV for using link disjoint paths.
(iii) AOMDV uses static route change policy ie.When there happens to be a route error then AOMDV chooses an available route regardless of dynamic nature of the MANETs.
Proposed Solution-As ants continuously change the pheromone value, so alternative routes are chosen with better pheromone quantity without any extra burden.

Simulation and Results
In order to carry out practical work, we simulated the new algorithm using network simulator NS-2.Topology of 90 nodes was simulated for the four algorithms DSR, AODV, AOMDV and Ant based AOMDV (A-AOMDV).DSR and AODV belong to unipath environment with reactive approach.AOMDV and A-AOMDV are two multipath algorithms that are also using reactive approach.Similar topology configuration was made to execute for all the four algorithms i.e.DSR, AODV, AOMDV and A-AOMDV.All the four algorithms were executed for an equal time of 150 seconds on a flat bed of 1800 x 1800 axis.The nodes were made to run randomly with the minimum speed of 10.0 m/s and the maximum speed of 50.0 m/s.The pause time was set equivalent to 1.0 m/s.The topology was simulated with the following characteristics shown in table 1.Although all the protocols were executed in an environment with similar configurations as shown in table 1.However, Snapshots of the executed topology for A-AOMDV were taken at four moments i.e. approximately at beginning, two times at middle and at end.This is shown by four figures 2(i), 2(ii), 2(iii) and 2(iv).The above figures represent the random snapshots of the executed topology for A-AOMDV.The topologies were also created for DSR, AODV and AOMDV with the similar parameters.The traffic of TCP packets was generated for all topologies at same moment of time with exactly same time interval.The trace files for network animation and traffic were created as a result of execution for all protocols.The trace file of network animation can be used to generate the video simulation as shown in figure 2(i) -2(iv).The traffic can be analyzed by writing the extra script for reading the network trace file.These scripts can either be written in AWK, Perl, C/C++ or in any HLL who support the file handling issues.We wrote the scripts in Perl language to extract the useful network parameters like throughput, packet drop, total number of packets send, average end to end delay, and average jitter.These parameters were obtained and a comparison table if made from the values as shown in Table 2.This table can further be used to create the graphical comparison between different algorithms.

Number of TCP Packets Send
This parameter helps in measuring the overall capacity of the algorithm to forward the data packets in given interval of time.As already stared above that all the protocols were made to forward the data packets for ICAET 2016 equal amount of time from similar nodes.So, this will evaluate in determining the ability of a protocol to send maximum data in given amount of time.

Average Throughput
Throughput is measured as the amount of data send in a unit of time.Throughput can be measured in bits/second, bytes/second or number of packets/second.We have evaluated this parameter in bytes per second.To calculate the average throughput, we counted the amount of data send in bytes and then divided it with the overall time.

Average End to End Delay
End to end delay measures the time taken by a packet to reach the destination.This factor sometimes is also called as simply delay.This factor should be minimized, so that a packet takes less time to reach its destination.

Average Jitter
Jitter is calculated as the drift in the time of end to end delay for the consecutive data packets.Jitter is the undesired deviation from actual packet delay time.This parameter should also be minimized in order to get better delivery.A higher delay generally indicates congestion of some sort or breaking of the communication link.The above figure 7 shows the value of average jitter for different protocols.A-AOMDV also outperforms other protocols in this parameters by achieving least value.

Conclusion
Routing is the one of the major challenge in MANETs due to the moving nature of nodes leads to frequent breakage of path.The routing protocols have to reconfigure the paths again in order to send the data packets.Multipath routing uses multiple paths in order to ICAET 2016 send the packets instead of single path.If there happens to be a path break in multipath routing, the data packets can still be sent through the alternative paths.In the meantime, the path reconfiguration can be achieved.Ant Colony is relatively the branch of swarm intelligence to help solving optimization problems.In this paper, we have tried to add agents of ants with AOMDV protocol to enhance its performance.The performance was measured using the metrics like throughput, packet lost, number of packets send, end to end delay and jitter.The modified protocol outperforms other protocols in most of the parameters.However, the AOMDV performs better than A-AOMDV protocol in packet drop parameters.But, in all other parameters, A-AOMDV outperforms the other three protocols i.e. throughput, number of packets send, end to end delay and jitter.

Figure 2 (
Figure 2(i) -2(iv): Snapshot of Running Topology at different instance of times This network parameter measures the number of packets dropped in the middle of path.The packets are dropped due to many reasons like when the queues at the intermediate nodes get full or when the time to live value of packet get expired or etc.We measured the packet drop due to the reason of fullness of queues.

Figure 3 :
Figure 3: Packet drop for different protocols Figure 3 represents the packet drop values for the different parameters.It can be observed that the AOMDV has minimum packet drop whereas A-AOMDV holds second place during the comparison.

Figure 4 :
Figure 4: Number of packets forwarded in given timeFigure 4 represents the result to measure the superiority of an algorithm to distribute the larger amount of data in fixed time.The given graph revels that A-AOMDV can help distributing the larger amount of data within same time.

Figure 5 :
Figure 5: Average Throughput for different protocols

Figure 6 :
Figure 6: Average end to end delay for different protocols The data represented by the graph of figure 6 signify the values of end to end delay for various protocols.The values obtained justify that the A-AOMDV has least value of end to end delay as compared to other algorithms.

Figure 7 :
Figure 7: Average Jitter for different protocols

Table 2 :
Network parameters and their values for different protocols.