Routing Protocol Design in Ad-Hoc networks


Introduction

As more and more systems around the globe are networked, more systems become dependent upon the network to perform their tasks. Take away the network, and chaos is likely to rapidly ensue in the absence of alternative channels for gathering and distributing information. Opponents of networking have seized upon this idea, yet an emerging technology will very soon change much of the vulnerability inherent in current networking technologies. This emerging technology is the AD HOC NETWORK.

In Latin, ad hoc literally means “for this,” meaning “for this special purpose” and also, by extension, improvised or impromptu. An ad-hoc network is a local area network (LAN) that is built spontaneously as devices connect. Instead of relying on a base station to coordinate the flow of messages to each node in the network, the individual network nodes forward packets to and from each other. AD HOC NETWORKS mean that one can quickly set up a temporary network anywhere. Using an AD-HOC NETWORK saves setup time and cost.

Routine in Ad-Hoc Networks

Wireless Ad-hoc Networks operates without a fixed infrastructure. Multi-hop, mobility, large network size combined with device heterogeneity and bandwidth and battery power limitations, all these factors make the design of routing protocols a major challenge.  Lots of researchers have done tremendous work on the Wireless Ad-hoc Routing Protocols. An ad-hoc routing protocol is a standard which controls how nodes decide which way to route packets between computing devices in a wireless ad hoc network. In ad-hoc networks, nodes are not familiar with the topology of their networks. Instead, they have to discover it. The basic idea is that a new node may announce its presence and should listen for announcements broadcast by its neighbours. Each node learns about nodes nearby and how to reach them, and may announce that it, too, can reach them.

Dynamic source routine protocol

The Dynamic Source Routing protocol (DSR) is a simple and efficient routing protocol designed specifically for use in multi-hop wireless ad hoc networks of mobile nodes. DSR allows the network to be completely self-organizing and self-configuring, without the need for any existing network infrastructure or administration. The protocol is composed of the two mechanisms, namely

  • Route Discovery: Route Discovery is the mechanism by which a node S wishing to send a packet to a destination node D obtains a source route to D. Route Discovery is used only when S attempts to send a packet to D and does not already know a route to D.
  • Route Maintenance: Route Maintenance is the mechanism by which node S is able to detect, while using a source route to D, if the network topology has changed such that it can no longer use its route to D because a link along the route no longer works. When Route Maintenance indicates a source route is broken, S can attempt to use any other route it happens to know to D, or can invoke Route Discovery again to find a new route. Route Maintenance is used only when S is actually sending packets to D.

 Mechanism of DSR

 When some node S originates a new packet destined to some other node D, it places in the header of the packet a source route giving the sequence of hops that the packet should follow on its way to D. Normally, S will obtain a suitable source route by searching its Route Cache of routes previously learned, but if no route is found in its cache, it will initiate the Route Discovery protocol to dynamically find a new route to D. In this case, we call S the initiator and D the target of the Route Discovery. Let us suppose a node S is attempting to discover a route to node D. To initiate the Route Discovery, S transmits a ROUTE REQUEST message as a single local broadcast packet, which is received by (approximately) all nodes currently within wireless transmission range of S. Each ROUTE REQUEST message identifies the initiator and target of the Route Discovery, and also contains a unique request id, determined by the initiator of the REQUEST. Each ROUTE REQUEST also contains a record listing the address of each intermediate node through which this particular copy of the ROUTE REQUEST message has been forwarded. This route record is initialized to an empty list by the initiator of the Route Discovery.

When another node receives a ROUTE REQUEST, if it is the target of the Route Discovery, it returns a ROUTE REPLY message to the initiator of the Route Discovery, giving a copy of the accumulated route record from the ROUTE REQUEST; when the initiator receives this ROUTE REPLY, it caches this route in its Route Cache for use in sending subsequent packets to this destination. Otherwise, if this node receiving the ROUTE REQUEST has recently seen another ROUTE REQUEST message from this initiator bearing this same request id, or if it finds that its own address is already listed in the route record in the ROUTE REQUEST message, it discards the REQUEST. Otherwise, this node appends its own address to the route record in the ROUTE REQUEST message and propagates it by transmitting it as a local broadcast packet (with the same request id). In returning the ROUTE REPLY to the initiator of the Route Discovery, such as node D replying back to S. D will typically examine its own Route Cache for a route back to S, and if found, will use it for the source route for delivery of the packet containing the ROUTE REPLY. Otherwise, D may perform its own Route Discovery for target node S, but to avoid possible infinite recursion of Route Discoveries, it must piggyback this ROUTE REPLY on its own ROUTE REQUEST message for S.

 When originating or forwarding a packet using a source route, each node transmitting the packet is responsible for confirming that the packet has been received by the next hop along the source route; the packet is retransmitted (up to a maximum number of attempts) until this confirmation of receipt is received. If the packet is retransmitted by some hop the maximum number of times and no receipt confirmation is received, this node returns a ROUTE ERROR message to the original sender of the packet, identifying the link over which the packet could not be forwarded. For example, if a node B is unable to deliver the packet to the next hop C, then B returns a ROUTE ERROR to S, stating that the link from B to C is currently “broken.” Node S then removes this broken link from its cache. For sending a retransmission or other packets to the same destination D, if A has in its Route Cache another route to E, it can send the packet using the new route immediately. Otherwise, it may perform a new Route Discovery for this target.

Salient features of DSR

  • Route Discovery and Route Maintenance each operate entirely on demand.
  • DSR does not use any periodic routing advertisement, link status sensing, or neighbour detection packets, and does not rely on these functions from any underlying protocols in the network.
  • As nodes begin to move more or as communication patterns change, the routing packet overhead of DSR automatically scales to only that needed to track the routes currently in use.
  • Caching of multiple routes in DSR also avoids the overhead of needing to perform a new Route Discovery each time a route in use breaks in the network.
  • The operation of Route Discovery and Route Maintenance in DSR are designed to allow unidirectional links and asymmetric routes to be easily supported.
  • DSR supports internetworking between different types of wireless networks, allowing a source route to be composed of hops over a combination of any types of networks available.

Future work

The project paves the way for more future work incorporating possibly more nodes and more optimized features of the DSR protocol. In addition, other optimized features can be implemented and their performances can be evaluated, such as reducing route discovery reply packets for route discoveries performed, packet salvaging, replying route request using cached routes, and so on. Our small-scale network can be extended to a large-scale deployment with more mobile devices included using Bluetooth or IEEE 802.11 technology in the future.

Conclusion

The Dynamic Source Routing protocol (DSR) provides excellent performance for routing in multi-hop wireless ad hoc networks. DSR has very low routing overhead and is able to correctly deliver almost all originated data packets, even with continuous, rapid motion of all nodes in the network.