A Review of Current Ad Hoc Routing Protocols: Assumptions Algorithm Description Advantages/Disadvantages References By Olasubomi Awe 1: Definition of Ad Hoc network An ad hoc network is a (possibly mobile) collection of communications devices (nodes) that wish to communicate, but have no fixed infrastructure available, and have no pre-determined organization of available links [1]. A mobile ad hoc network (MANET) is a self-organizing and selfconfiguring multihop wireless network, where the network structure changes dynamically due to member mobility [2]. Ad hoc networks consist of wireless hosts that communicate with each other in the absence of a fixed infrastructure [3]. An ad hoc network is a set of wireless mobile nodes (MNs) that cooperatively form a network without specific user administration or configuration [4]. An ad hoc network is a group of wireless mobile devices (nodes) that communicate with each other in a collaborative way, over multi-hop wireless links, without any stationary infrastructure or centralized management [5]. 2: Applications of Ad hoc networks 1 Military-use communication in a battlefield where a centralized configuration is difficult. 2 Emergency communication in disaster areas. 3 Several people having meetings with computers that are equipped with wireless interfaces can use ad hoc networks. 4 Ad hoc networks can be an interesting research for supporting intelligent transport systems and sensor networks. 3: Unicast Routing Protocols Routing Protocols generally use two types of algorithms: Distance-Vector routing (DV), a vector containing the cost (e.g. hop distance) and path (next hop) to all the destinations is kept and exchanged at each node [2]. Link-State routing (LS), which maintains global network topology information at each router through periodical flooding of link information about its neighbors [2]. DV protocols usually suffer from slow route convergence and a tendency to create loops in mobile environments than LS protocols while LS protocols advertisement scheme generates larger routing control overhead than DV [2]. Routing Protocols for ad hoc networks can be into three broad categories (Fig 1): Flat routing, which adopts a flat addressing scheme. Each node participating in routing plays an equal role. Hierarchical routing, which assigns different roles to network nodes. Geographic position assisted routing, which requires each node to be equipped with the Global Positioning System (GPS). 3.1: Flat routing protocols can be further classified as: 1. Proactive or Table-driven routing protocols 2. Source-initiated or Reactive or On-Demand routing protocols 3.1.1: Table-Driven Routing Protocols These protocols require each node to maintain one or more tables containing routing information such as the position of the other nodes in the network. The objective is to maintain consistent, up-to-date routing information amongst every node in the network [6]. The nodes respond to changes in the network’s topology by propagating updates throughout the network thereby maintaining a consistent network view. As a result, background routing information is shared regardless of communication requests. 3.1.1.1: Fisheye State Routing (FSR) – This is a simple and efficient LS type routing protocol that maintains a topology map at each node and propagates link state updates [2]. A major difference between FSR and other LS protocols is that FSR exchanges the entire link state information only with neighbors instead of flooding it over the network. Another difference is that the link state exchange is periodical instead of event-triggered, which avoids frequent link state updates caused by link breaks in an environment with unreliable wireless links and mobility. Entries corresponding to faraway destination are propagated with lower frequency than those corresponding to nearby destinations. Advantages: The protocol achieves potential scalability by limiting the scope of link state update dissemination in space and over time. FSR also produces accurate distance and path information about the immediate neighborhood of a node. Disadvantages: The protocol provides imprecise knowledge of the best path to a distant destination but this is compensated by the fact that the route on which the packet travels becomes more accurate as the packet approaches the destination. 3.1.1.2: Fuzzy Sighted Link State routing (FSLS) – FSLS includes an optimal algorithm called Hazy Sighted Link State (HSLS), which sends a link state update (LSU) every 2^k * T to a scope of 2^k, where k is hop distance and T is the minimum LSU transmission period. FSLS has the same advantages as FSR. 3.1.1.3: Destination-Sequenced Distance-Vector Routing (DSDV) – DSDV is a table-driven algorithm based on the classical Bellman-Ford routing mechanism. Every mobile node in the network consists of a routing table in which all the possible destinations within the network and the number of hops to each destination is recorded. Each entry is marked with a sequence number assigned by the destination node [6]. These sequence numbers allow stale routes to be differentiated from new ones by mobile nodes, thereby eliminating the formation of loops. Routing updates care periodically broadcasted throughout the network in order to maintain table consistency. Route updates can either employ full dump or incremental packets. The full dump packet carries all available information while the incremental packet is used to relay only information that changed after the last full dump. The mobile nodes maintain an additional table where data sent in the incremental routing information is stored. Broadcasts consist of: Address of the destination Number of hops to reach the destination Sequence number of the information received regarding the destination New sequence number unique to broadcast The route with the most recent sequence number is always used. Mobile nodes also store settling time of routes, which is the weighted average time that routes to a destination will fluctuate before receiving the route with the best metric. Advantages: Due to the fact that the broadcast of a routing update is delayed by the length of the settling time, DSDV reduces network traffic and optimizes routes by eliminating broadcasts that would occur if a better route was discovered later in the future. 3.1.1.4: Wireless Routing Protocol (WRP) – The goal of WRP is to maintain routing information among all nodes in the network. Each maintains a total of four tables: Distance table Routing table Link-cost table Message Re-transmission list (MRL) table The MRL consists of: Sequence number of the update message Retransmission counter Acknowledgement-required flag vector with one entry per neighbor List of updates (destination, distance of destination, and predecessor of destination) sent in update message Nodes inform each other of changes in the network using update messages. An update message, which contains the list of updates as well as a list of responses indicating which mobiles should acknowledge (ACK) the update, is sent only between neighboring nodes. If a node is not sending messages, it must send a hello message within the specified time period to ensure its connectivity. Otherwise the lack of messages from the node may cause a false alarm. Once a mobile node receives a hello message from a new node, the new node is added to the mobile node’s routing table and the mobile node sends the new node a copy of its routing table information. Advantages: WRP achieves loop freedom by avoiding the “count-toinfinity” problem. It forces each node to perform consistency checks of predecessor information reported by all its neighbors. This also leads to a faster-route convergence when a link failure event occurs [6]. 3.1.1.5: Optimized Link State Routing Protocol (OLSR) – OLSR, a LS protocol periodically exchanges topology information with other nodes in the network. The protocol’s use of multipoint relays (MPRS) to reduce the number of excessive broadcast retransmissions and also the size of the LS update packets, leads to an efficient flooding of control messages in the network. A node periodically broadcasts hello messages to immediate neighbors in order to exchange neighborhood information and to compute the MPR set. From the neighbor lists, a node can figure out nodes that are two hops away and compute the minimum set of one-hop relay points required to reach the two-hop neighbors [6]. Each node informs its neighbors about its MPR set in the hello message. Upon receiving a hello message each nodes records the nodes that select it as one of their MPRs. OLSR differs from other LS protocols in that only the MPR nodes of a particular node need to forward the link state updates issued by that node and the link state update of a node is reduced in size because it includes only neighbors that select that node as one of their MPR nodes. As a result, a specific node can be reached only from its MPR selectors. Advantages: OLSR is well suited for dense networks. OLSR reduces the size of control packets. It also minimizes flooding of this control traffic by using only the selected nodes, which are the only nodes responsible for retransmitting broadcast messages. 3.1.1.6: Topology Broadcast Based on Reverse Path Forwarding (TBRPF) – TBRPF is a LS protocol. It consists of two separate modules: the neighbor discovery module (TND) and the routing module. TND is performed through periodical hello messages that report only changes of neighbors. The routing module operates based on partial topology information obtained from both periodic and differential topology updates [2]. TBRPF works as follows: Assume node S is the source of update messages. Every node j in the network chooses its next hop (say p) on the minimum-hop path toward S as its parent with respect to node S. Node j only accepts topology updates originated at node S from parent p, and then forwards them to the children pertaining to S. Also, only the links that will result in changes to j’s source tree are includes in updates. This allows for the propagation of a smaller subset of source tree. Advantages: TBRPF adapts to topology change faster, generates less routing overhead and uses a smaller topology update packet [2]. 3.1.2: On-Demand Routing Protocols With on-demand routing protocols, each node tries to reduce overhead by only sending routing packets when a communication is waiting. A route discovery process within the network is only initiated when a node requires a route to a destination. Once a route has been established, it is maintained by a route maintenance procedure until either the destination becomes inaccessible along every path from the source or until the route is no longer desired. FSR OLSR TBRPF Routing metric Shortest path Shortest path Shortest path Frequency of updates Periodically Periodically Use sequence Yes Yes Periodically, as needed (link changes) Yes (HELLO) Loop-free Yes Yes Yes Worst case exists No Yes (pure LS) No Multiple paths Yes No No numbers Table 1. Characteristics of Table-driven protocols. 3.1.2.1: Ad Hoc On-Demand Vector Routing (AODV) – The AODV protocol is a an improvement on the DSDV algorithm described above because it tends to minimize the number of required broadcasts by creating routes on a demand basis instead of maintaining a complete list of routes as observed in the DSDV algorithm. A path discovery process is initiated when a source node wishes to send a message to a destination node and does not have a valid route to that destination. The source node broadcasts a route request (RREQ) packet to its neighbors, which in turn forward the request to their neighbors. The forwarding continues until either the destination or an intermediate node with a “fresh enough” route to the destination is located. AODV makes use of destination sequence numbers to ensure all routes are loop-free and contain the most recent route information [6]. Each node maintains its own sequence number and a broadcast ID. The broadcast ID is incremented for every RREQ the node initiates, and together with the node’s IP address, uniquely identifies and RREQ. The source node, along with its sequence number and broadcast ID includes the most recent sequence number it has for the destination in the RREQ. Intermediate nodes reply to the RREQ only if they have a route to the destination whose corresponding destination sequence number is equal or greater than that contained in the RREQ. When forwarding the RREQ, intermediate nodes record in their routing tables the address of the neighbor from which the first copy of the broadcast packet is received, thereby establishing a reverse path. If additional copies of the same RREQ are later received, these packets are discarded. Associated with each route entry is a route timer which will cause the deletion of the entry if it is not used within the specified lifetime [6]. As a result, AODV only supports the use of symmetric links. Route maintenance is as follows: If a source node moves, it is able to reinitiate the route discovery protocol to find a new route to the destination. If a node along the route moves, its upstream neighbor notices the move and propagates a link failure notification message to each of its active upstream neighbors to inform them of the erasure of the part of the route [6]. These nodes then propagate the link failure notification to their upstream neighbors, and so on until the source node is reached. 3.1.2.2: Dynamic Source Routing (DSR) – With DSR, the source determines the complete route from itself to the destination, and includes the route in the packet. Assumptions made by DSR are that the network diameter is relatively small and that the mobile nodes can enable a promiscuous receive mode, whereby every received packet is delivered to the network driver software without filtering by destination address. Mobile nodes are required to maintain route caches that contain the source routes of which the mobile node is aware. Entries in the route cache are continually updated as new routes are learned. The protocol consists of two main phases: route discovery and route maintenance. When a mobile node has a packet to send to some destination, it first consults its route cache to determine whether it already has a route to the destination. If it has an unexpired route to the destination, it will use this route to send the packet. Otherwise, if the node does not have such a route, it initiates route discovery by broadcasting a route request packet. This route request contains the address of the destination, along with the source node’s address and a unique identification number. Each node receiving the packet checks whether it knows of a route to the destination. If it does not, it adds its own address to the route record of the packet and then forwards the packet along its ongoing links [6]. A route reply is generated when the route request reaches either the destination itself, or an intermediate node, which contains in its route cache an unexpired route to the destination. If the node generating the route reply is the destination, it places the route record contained in the route request into the route reply. If the responding node is an intermediate node, it will append its cached route to the route record and then generate the route reply. Route maintenance is accomplished through the use of route error packets and acknowledgements. Route error packets are generated at a node when the data link layer encounters a fatal transmission problem. When a route error packet is received, the hop in error is removed from the node’s route cache and all routes containing the hop are truncated at that point. In addition to route error messages, acknowledgements are used to verify the correct operation of the route links. Advantages: DSR does not make use of periodic routing advertisements, thereby saving bandwidth and reducing power consumption. Therefore, the protocol does not incur any overhead when there is no change to the network topology. DSR also enables nodes to keep multiple routes to a destination in their cache. Hence, route recovery is faster. DSR can quickly adapt to topological change caused by node movement. Also, DSR is able to compute correct routes in the presence of asymmetric (uni-directional) links. Disadvantages: DSR is not scalable to large networks due to the small diameter assumption and the source routing requirement. The need to place the entire route in both route replies and data packets creates a greater control overhead than in AODV. 3.1.2.3: Temporally Ordered Routing Algorithm (TORA) – TORA is a highly adaptive loop-free distributed routing algorithm based on the concept of link reversal. TORA is proposed to operate in a highly dynamic mobile networking environment. In addition to being source-initiated, it provides multiple routes for any desired source/destination pair. The main aspect of TORA is the localization of control messages to a small set of nodes near the occurrence of a topological change. As a result, nodes need to maintain routing information about adjacent (one-hop) nodes. TORA performs three basic functions: Route creation Route maintenance Route erasure During the route creation and maintenance phases, nodes use a “height” metric to establish a directed acyclic graph (DAG) rooted at the destination. Thereafter, links are assigned a direction (upstream or downstream) based on the relative height metric of neighboring nodes. In times of node mobility the DAG route is broken, and route maintenance is necessary to reestablish a DAG rooted at the same destination. Time is an important factor for TORA because the “height” metric is dependent on the logical time of a link failure. TORA assumes that all nodes have synchronized clocks (accomplished via an external time source such as the Global Positioning System). TORA’s metric comprises of five elements: Logical time of a link failure The unique ID of the node that defined the new reference level A reflection indicator bit A propagation ordering parameter The unique ID of the node The first three elements collectively represent the reference level. TORA’s route erasure phase essentially involves flooding a broadcast clear packet (CLR) throughout the network to erase invalid routes. In TORA, there is a potential for oscillations to occur. Because it uses inter-nodal coordination, its instability problem is similar to the “count-to-infinity” problem in distance-vector routing protocol except that such oscillations are temporary and route convergence will ultimately occur. Advantages: TORA supports multiple routes. It retains multiple route possibilities for a single source/destination pair. Bandwidth is conserved because of the fewer route rebuilding. TORA also supports multicasts. Disadvantages: TORA’s reliance on synchronized clocks limits its applicability. If the external time source fails, the algorithm ceases to operate. Also, route rebuilding may not occur as quickly due to oscillations during this period. This can lead to lengthy delays while waiting for the new routes to be determined. 3.1.2.4: Associated-Based Routing (ABR) – ABR is free from loops, deadlock, and packet duplicates, and defines a new routing metric for ad hoc mobile networks. This metric is known as the degree of association stability. Each node periodically generates a beacon to signify its existence. For each beacon received, the associativity tick of the current node with respect to the beaconing node is incremented. Association stability is defined by connection stability of one node with respect to another node over time and space. A high degree of association stability may indicate a low state of node mobility, while a low degree may indicate a high state of node mobility. Associativity ticks are reset when the neighbors of a node or the node itself moves out of proximity. The fundamental objective of ABR is to derive long-lived routes for ad hoc mobile networks. The three phases of ABR are: Route discovery Route reconstruction (RRC) Route deletion The route discovery phase is accomplished by a broadcast query and awaitreply (BQ-REPLY) cycle. A node desiring a route broadcasts a BQ message in search of mobiles that have a route to the destination. All nodes (except the destination) receiving the query append their addresses and their associativity ticks with their neighbors along with QoS (Quality of Service) information to the query packet. A successor node erases its upstream node neighbor’s associativity tick entries and retains only the entry concerned with itself and its upstream node. Therefore, each resultant packet arriving at the destination will contain the associativity ticks of the nodes along the route to the destination. The destination is then able to select the best route by examining the associativity ticks along each of the paths. When multiple paths have the same overall degree of association stability, the route with the minimum number of hops is selected. The destination then sends a REPLY packet back to the source along with this path. RRC may consist of partial route discovery, invalid route erasure, valid route updates, and new route discovery, depending on which node(s) along the route move. Movement by the source results in a new BQ-REPLY process. When a discovered route is no longer desired, the source node initiates a route delete (RD) broadcast so that all nodes along the route update their routing tables. The RD message is propagated by a full broadcast, as opposed to a directed broadcast, because the source node may not be aware of any route node changes during RRCs. Advantages: The resulting path tends to be longer-lived than other routes. Longer-lived routes require fewer route constructions and therefore yields higher throughput. ABR is guaranteed to be free of packet duplicates: only the best route is marked valid while, all other possible routes remain passive. Disadvantages: ABR assumes that each node is beaconing periodically. The beaconing interval must be short enough to accurately reflect the spatial, temporal, and connectivity state of the mobile hosts. This requirement may result in additional power consumption although experimental results show that the periodic beaconing has a minute influence on the overall battery consumption. 3.1.2.5: Signal Stability Routing (SSR) - Unlike other algorithms, SSR selects routes based on the signal strength between nodes and a node’s location stability. This route selection criterion has the effect of choosing routes that have “stronger” connectivity. SSR can be divided into two cooperative protocols: the Dynamic Routing Protocol (DRP) and the Static Routing Protocol (SRP). The DRP is responsible for the maintenance of the Signal Stability Table (SST) and Routing Table (RT). The SST records the signal strength of neighboring nodes, which is obtained by periodic beacons from the link layer of each neighboring node. All transmissions are received by, and processed in, the DRP. After updating all appropriate table entries, the DRP passes a received packet to the SRP. The SRP processes packets by passing the packet up the stack if it is the intended receiver or looking up the destination in the RT and then forwarding the packet if it is not. If no entry is found in the RT of the destination, a route-search process is initiated to find a route. Route-search packets arriving at the destination have necessarily chosen the path of strongest signal stability, since the packets are dropped at a node if they have arrived over a weak channel. If there is no route-reply message received at the source within a specific timeout period, the source changes the PREF field in the header to indicate that weak channels are acceptable, since these may be the only links over which the packet can propagate. When a failed link is detected within the network, the intermediate nodes send an error message to the source indicating which channel has failed. The source then initiates another route-search process to find a new path to the destination. The source also sends an erase message to notify all nodes of the broken link. Advantages: The resulting paths tend to be more stable and longer-lived, resulting in fewer route reconstructions. Disadvantages: Unlike in AODV and DSR, intermediate nodes cannot reply to route requests sent toward a destination; this results in potentially long delays before a route can be discovered. 3.1.2.6: Load-Balanced Ad-hoc Routing (LBAR) – LBAR is an on-demand protocol intended for delay-sensitive applications where users are most concerned with packet transmission delay. LBAR is concerned with finding a path that would reflect least traffic load so that the data packets are routed with the least delay. It assumes that packets are of the same size and traffic is at a constant rate. The LBAR consists of four components: Route discovery – This is initiated when a source node needs to communicate with another node for which it does not have a known route. This process starts when the source broadcasts setup messages to its neighbors. A node receiving the setup message forwards it to its neighbors. The destination node collects arriving setup messages within a route-select waiting period. An ACK message is forwarded backward towards the source node from the destination node along the selected path, which is called the active path. When the source receives an ACK message, it starts transmission. Path maintenance – In the instant when the source node moves away from the active path, the source node would have to reinstate a new route discovery procedure to establish a route to the destination. If an intermediate or destination node moves away from the active path, the node upstream of the broken hop propagates an error message to the destination node. After receiving a notification of the broken link, the destination node picks up an alternative best-cost partial route passing through the node propagating the error message and then sends an ACK message to the initiator of the error message. Local Connectivity Management – Nodes can learn of neighboring nodes in two ways. When a node receives a broadcast from a neighbor, it updates its local connectivity information in its Neighborhood table to ensure the inclusion of its neighbor. If a node has not sent out a packet to any active neighboring node within a certain time, it broadcasts a hello message to its neighbors, containing its identity and activity. Neighbors receiving the hello message update their local connectivity information in their Neighborhood tables. Cost Computation – The cost function is used to find the path with the least traffic so that data packets can be transmitted to the destination as far as possible while achieving the goal of balancing load over the network. Advantages: LBAR provides quick response to link failure by patching up the broken routes in use, thus guaranteeing reliability of data transmission. The average time delay is lower than with AODV and DSR. 3.2: Hierarchical routing is one way to solve the problem of dealing with an increase in the wireless network size. It provides a scalable and efficient solution. Wireless hierarchical routing is based on the idea of organizing nodes in groups and then assigning nodes different functionalities inside and outside a group. Both routing table size and update packet size are reduced by including in them only part of the network; thus, control overhead is reduced. Hierarchical routing protocols have smaller routing tables compared to proactive routing protocols. The smaller message size greatly reduces routing overhead. However, Hierarchical routing induces additional overhead in order to maintain its hierarchical structure. Hierarchical routing also requires complex management for hierarchy ID (HID) registration and translation as discussed below. Performance Parameters Loop free Multicast capabilities Beaconing requirements Multiple route possibilities Routes maintained in Utilizes route cache/table expiration timer Route reconfiguration methodology Routing metric AODV DSR TORA ABR SSR Yes Yes Yes No Yes No Yes No Yes No No No No Yes Yes No Yes Yes No No Route table Route cache Route table Route table Route table Yes No No No No Erase route, notify source Erase route, notify source Link reversal, route repair Localized broadcast query Erase route, notify source Shortest path Associativity Associativity and shortest and stability path Freshest and Shortest shortest path path Table 2: Comparisons of the characteristics of on-demand ad hoc routing protocols. The most popular method of building hierarchy is to group nodes geographically close to each other into explicit clusters. Each cluster has a leading node (clusterhead) to communicate to other nodes on behalf of the cluster. An implicit way of forming a hierarchy is to allocate each node to a local scope. Parameters On-demand Table-driven Availability of routing information Periodic route updates Available when needed Always available regardless of need Not required Required Coping with mobility Use localized route discovery as in ABR and SSR Grows with increasing mobility of active routes as in ABR Few can support QoS, although most support shortest path Inform other nodes to achieve a consistent routing table Greater than that of ondemand routing Signaling traffic generated Quality of service support Mainly shortest path as the QoS metric Table 3. Comparisons of on-demand versus table-driven routing protocols 3.2.1: Clusterhead-Gateway Switch Routing (CGSR) – CGSR, an on-demand protocol uses a stable clustering algorithm, Least Clusterhead Change (LCC) to partition the whole network into clusters. A clusterhead is elected in each cluster. A mobile node that belongs to two or more clusters is a gateway connecting the clusters. CGSR is a distance vector routing algorithm. Each mobile node maintains two tables: A cluster member table which records the clusterhead for each node A distance vector (DV) routing table, which maintains one entry for each cluster recording the path to its clusterhead. The diameter of a cluster is only two hops and clusters overlap. The cluster head is just the node whose IP address is the smallest among its neighbors. To route a data packet, the current node first looks up the clusterhead of the destination node from the cluster member table. Then it consults its routing table to find the next hop to that destination cluster and routes the packet toward the destination clusterhead. The destination clusterhead will finally route the packet to the destination node, which is a member of it and can be directly reached [2]. Advantages: CGSR can greatly reduce the routing table size compared to DV protocols. Only one entry is needed for all nodes in the same cluster. Thus, the broadcast packet size of routing table is reduced. Disadvantages: The drawback of CGSR is the difficulty of maintaining the cluster structure in a mobile environment. The LCC clustering algorithm introduces additional overhead and complexity in the formation and maintenance of clusters. 3.2.2: Hierarchical State Routing (HSR) – HSR is a multilevel clusteringbased LS routing protocol. It maintains a logical hierarchical topology by using the clustering scheme recursively. Nodes at the same logical level are grouped as clusters. Elected clusterheads at the lower level become members of the next higher level. These new members in turn organize themselves in clusters and so on. The goal of clustering is to reduce routing overhead (routing table storage, processing, and transmission) at each level. A clusterhead acts as a local coordinator for transmissions within the cluster. At the first level of clustering, each node monitors the state of the link to each neighbor and broadcasts it within the cluster. The clusterhead summarizes link state information within its cluster and propagates it to the neighbor cluster heads (via gateways). In HSR, the hierarchical ID (HID) of a node is defined as the sequence of MAC addresses of the nodes on the path from the top hierarchy to the node itself. Advantages: Each node can dynamically and locally update its own HID on receiving the routing updates from the nodes higher up in the hierarchy. The hierarchical address is sufficient to deliver a packet to its destination from anywhere in the network using HSR tables [2]. Gateway nodes can communicate with multiple clusterheads and thus can be reached from the top hierarchy via multiple paths. Disadvantages: Longer hierarchical addresses, frequent updates of the cluster hierarchy and the hierarchical addresses as nodes move. A continuously changing hierarchical address makes it difficult to locate and keep track of nodes. 3.2.3: Zone Routing Protocol (ZRP) – ZRP combines both proactive and on-demand routing strategies. Each zone has a predefined zone centered at itself in terms of number of hops. For nodes within the zone, it uses proactive routing protocols to maintain routing information. For nodes outside its zone, it does not maintain routing information in a permanent base. On-demand routing strategy is adopted when interzone connections are required. ZRP is made up of three components: Proactive Intrazone Routing Protocol (IARP): This is used to maintain routing information. IARP provides a route to nodes within a node’s zone. Reactive Interzone Routing Protocol (IERP): IERP uses the route query (RREQ)/ route reply (RREP) packets to discover a route in a way similar to typical on-demand routing protocols. Bordercast Resolution Protocol (BRP): When the intended destination is not known at a node, that node must be outside its zone. Thus a RREQ packet is broadcast via the nodes on the border of the zone. Route queries are only broadcast from one node’s border nodes to other border nodes until one node knows the exact path to the destination node. ZRP limits the proactive overhead to only the size of the zone, and the reactive search overhead to only selected border nodes. However, potential inefficiency may occur when flooding of the RREQ packets goes through the entire network. 3.2.4: Landmark Ad Hoc Routing Protocol (LANMAR) – LANMAR, a proactive routing, is used for networks that exhibit group mobility. One can identify logical subsets in which the members have a commonality of interests and are likely to move as a group. LANMAR uses an IP-like address consisting of a group ID (or subset ID) and a host ID: < GroupID, HostID>. Each logical group has one dynamically elected node serving as a landmark. A global distance vector mechanism propagates the routing information about all the landmarks in the entire network. LANMAR works in a symbiosis with a local scope routing scheme such as FSR. When a node needs to relay a packet to a destination within its scope, it uses the FSR routing tables directly. Otherwise, the packet will be routed toward the landmark corresponding to the destination’s logical subnet, which is read from the logical address carried in the packet header. When the packet arrives within the scope of the destination, it is routed using local tables (that contain the destination), possibly without going through the landmark. Advantages: LANMAR reduces both routing table size and control overhead effectively through the truncated local routing table and “summarized” routing information for remote groups of nodes. LANMAR provides a flexible routing framework for scalable routing while still preserving the benefits introduced by the associated local scope routing scheme. Disadvantages: The main limitation of LANMAR is the assumption of group mobility. 3.3 Geographic Position Information Assisted Routing uses GPS to provide location information with a precision within a few meters and a universal timing. The location information is used for directional routing in distributed ad hoc systems while the universal clock provides global synchronizing among GPS equipped nodes. Research shows that geographical location information can improve routing performance in ad hoc networks. All protocols assume that the nodes know their position. 3.3.1: Geographical Addressing and Routing (GeoCast) – GeoCast allows messages to be sent to all nodes in specific geographical area using geographical information instead of logical node addresses. A geographic destination address is expressed in three ways: Point (latitude and longitude) Circle (center point and radius) Polygon (a list of points) When the destination of a message is a polygon or circle, every node within the geographic region of the polygon/circle receives the message. Data communications starts from a computer host capable of receiving and sending geographic messages (GeoHost). Data Packets are then sent to the local GeoNode, which is responsible for forwarding the packets to the local GeoRouter. CGSR HSR ZRP LANMAR Hierarchy Explicit two levels Implicit two levels Implicit two levels Routing philosophy Loop-free Proactive, distance vector Explicit multiple levels Proactive, link state Hybrid, DV and LS Proactive, DV and LS Yes Yes Yes Yes Routing metric Via critical nodes Yes (clusterhead) Via critical nodes Yes (clusterhead) Local shortest path No Local shortest path O(M*H) O(L) +O(e) O(L)+O(G) O(M*H) O(N) O(N) Critical nodes O(N/M) Storage Complexity Communication O(N) complexity Yes (landmark) Abbreviations: N (number of nodes in the network), M (the average number of nodes in a cluster) H (number of hierarchical levels of HSR), L (average number of nodes in a node’s local scope) G (number of logical groups in LANMAR), Table 4. Characteristics of hierarchical routing protocols. A GeoRouter checks whether its service area intersects the destination polygon. As long as a part of the destination area is not covered, the GeoRouter sends a copy of the packet to its parent router for further routing beyond its own service area. Then it checks the service area of its child routers for possible intersections. When a router’s service area falls within the target area, the router picks up the packet and forwards it to the GeoNodes attached to it. Advantages: GeoCast provides effective group communication to a geographic area. The hierarchy structure reduces the size of the routing tables 3.3.2: Location-Aided Routing (LAR) – This on-demand protocol uses location information to limit the area for discovering a new route to a smaller request zone. As a result, the number of route request messages is reduced. LAR performs route discovery through limited flooding (floods requests to a request zone). Only nodes in the request zone forward route requests. LAR uses two schemes to determine the request zone. Scheme 1: The source estimates a circular area in which the destination is expected to be found at the current time. The position and size of the circle is calculated based on the knowledge of the previous destination location, the time instant associated with the previous location record, and the average moving speed of the destination. The smallest rectangular zone that includes the expected zone and the source is the request zone. The coordinates of the four corners of the zone are attached to a route request by the source. Only nodes inside the request zone forward the request message. Scheme 2: The source calculates the distance to the destination based on the destination known to it. This distance as well as the destination distance is included in the route request message and sent to neighbors. When a node receives the request, it calculates its distance to the destination. A node will relay a request message only if its distance to the destination is less than or equal to the distance included in the request message. Advantages: LAR reduces DSR overhead by restricting the propagation of route request packets. Disadvantages: Control overhead increases when the network grows 3.3.3: Distance Routing Effect Algorithm for Mobility (DREAM) – DREAM, a proactive routing protocol provides distributed, loop-free, multipart routing and is able to adapt to mobility. It minimizes the routing overhead by using two new principles for the routing update frequency and message lifetime. These principles are distance effect and mobility rate. With the distance effect, the greater the distance separating two nodes, the slower they appear to be moving relative to each other. With the mobility rate, the faster a node moves, the more frequently it needs to advertise its new location. In DREAM, each node maintains allocation table (LT). Each node periodically broadcasts control packets to inform all other nodes of its location. The distance effect is realized by sending more frequently to nodes that are more closely positioned. Also, the frequency of sending a control packet is adjusted based on its moving speed. Data packets are partially flooded to nodes in direction of the destination. The source calculates the direction toward the destination and then selects a set of one-hop neighbors that are located in that direction. If the set is empty, the data is flooded to the entire network. Otherwise, the set is enclosed in the data header and transmitted within the data. Only nodes specified in the header are qualified to receive and process the data packet. When the destination receives the data, it propagates an ACK to the source in the same way. The destination does not generate an ACK when it receives the data through flooding. If the source does not receive an ACK, it retransmits by pure flooding. Advantages: The occurrence of multiple deliveries increases the probability of reception and protects DREAM from mobility. Disadvantages: Similar to LAR, control overhead increases when the network size increases. 3.3.4: Greedy Perimeter Stateless Routing (GPSR) – GPSR uses only neighbor location information in forwarding data packets. It requires only a small amount of per-node routing state, has low routing message complexity, and works best for dense wireless networks. Beacon messages are periodically broadcast at each node to inform its neighbors of its position, which results in minimized one-hop-only topology information at each node. GPSR assumes that sources can determine through separate means the location of destinations and include such location in the data packet header. The protocol uses two data forwarding schemes: greedy forwarding and perimeter forwarding. The former is the primary forwarding strategy, while the letter is used in regions where the primary fails. In greedy forwarding, when a node receives a packet with the destination’s location it chooses from its neighbors the node that is geographically closest to the destination and then forwards the data packet to it. Before performing the perimeter forwarding, the forwarding node needs to calculate a relative neighborhood graph (RNG). Perimeter forwarding traverses the RNG using the right hand rule hop by hop along the perimeter of the region. During perimeter forwarding, if the packet reaches a location that is closer to the destination than the position where the pervious greedy forwarding of the packet failed, the greedy process is resumed. In the worst case, GPSR will possibly generate a very long path before a loop is detected. Advantage: GPSR achieves its scalability by being insensitive to the number of nodes in the network. GeoCast LAR DREAM GRSR Yes Yes Yes No Yes No Yes Yes Proactive Ondemand Proactive Proactive No Yes No No Shortest path Yes Shortest path Yes Closest distance Loop-free Shortest path Yes Worst-case exists No No Multiple receivers Yes Yes (full flooding) No Yes (loops and longer paths) no Support location propagation Data forwarding by location Routing philosophy Sensitive to mobility Routing metric No No Table 4: Characteristics of GPS assisted routing protocols. 1.1.4 A comparison between AODV, DSR and CGSR shows that [16]: DSR and CGSR have very high throughput. AODV exhibits a very short eng-to-end delay of data packets. CBRP has a higher routing overhead than DSR. DSR has much smaller routing overhead than AODV and CGSR. AODV has the largest overhead. Table 6 4: Multicasting Routing Protocols A multicasting protocol is a set of standards and parameters that two ends of communication agree upon to route packets [13]. Multicasting involves efficiently sending copies of the same information to any subset of nodes in a network. Network utilization can be improved by sending one message to a relay node, which would send a copy to each of the downstream relay nodes eventually delivering the message to each of the destinations. Multicasting protocols can be classified into two categories based on how multicast trees are constructed: Source-based protocol, which tries to maintain a per-source multi-cast tree from each source host to every member in the multicast group. Core-based or group-shared, uses only one multicast tree rooted at a core host. The tree then spans from the core host to every member of the multicast group. Multicast protocols are more applicable for ad hoc networks than unicast protocols because, in a typical ad hoc environment, it is more likely that mobile nodes work as a group and are involved in collaborative computing [7]. 4.1: On-demand Multicast Routing Protocol (ODMRP) – ORMRP is a mesh based multicast protocol in which a mesh of nodes for forwarding packets is created between the senders and receivers. The mesh is created using the forwarding group concept. The source host’s periodical JOIN packets establish the multiple trees. The source node desiring to send data packets to multicast members floods a JOIN_DATA to the whole network. When a host receives a JOIN_DATA for the first time, it will rebroadcast the packet and establish a reverse path to the previous host. Then each host that is a multicast receiver and has received the JOIN_DATA will reply a JOIN_TABLE packet to its upstream host on the reverse path. Each host that receives the JOIN_TABLE for the first time will repeat the process until the source host is reached [7]. Disadvantages: ODMRP has excessive overhead that is incurred while keeping the forwarding group current and in the global flooding of the JOIN packets. 4.2: Multicast AODV - This protocol is extended from the unicast AODV protocol. When a host joins a multicast group, it has to be added to the corresponding multicast tree. A route request (RREQ) packet can be broadcast for this purpose. If a host receives a RREG for a multicast group of which it is not a member or to which it does not have a route, it will rebroadcast the RREQ to its neighbors. When a multicast group member receives the RREQ, it will unicast Route Reply (RREP) packet to the sending host. As hosts along the path to the sending host receive the RREP, they will add entries to their multicast routing tables for the hosts from which they received the RREP. Eventually, when one or more RREP reaches the source, the source can pick the host to which the RREP is returned with the minimum hop count as its next hop leading to the multicast tree. Then, the source unicasts a multicast activation (MACT) packet to its next hop [7]. The next hop, on receiving the MACT packet, will enable for the source host the route entry with the minimum hop count leading to the multicast tree and send the MACT. 4.3: Multicast Routing Protocol Based on Zone Routing (MZR) – MZR is a source-initiated on-demand protocol in which a multicast delivery tree is created using the mechanism of zone routing. MZR uses the zone routing mechanism in ZRP for creating and maintaining multicast trees. It assumes bi-directional links between mobile nodes. It is a source tree based protocol. For each multicast session, identified by a <source_id, group_id> pair, a multicast delivery tree rooted at the source is created. MZR consists of two parts: A proactive protocol, which runs inside each zone, maintaining an upto-date zone routing table at each table. A reactive multicast tree creation, which is initiated when a source needs to send multicast data to its group members. For each multicast session in the ad hoc network, a tree rooted at the source and identified by a <source, group> pair is created. Every node maintains a multicast routing table, which contains route entries corresponding to each active multicast session in the ad hoc network. A multicast route entry is identified by the multicast session id, a <source, group> pair, and contains the IP address of the upstream node and a list of downstream nodes on the corresponding multicast tree. A multicast data delivery table is initiated by a multicast source. This is achieved in two stages: The source initially forms the tree inside its zone and then tries to extend the tree to the entire network. The source sends a TREECREATE to each zone node, through unicast routes obtained from the zone routing table. When a zone node, interested in the multicast group session, receives the TREE-CREATE packet, it creates a multicast route entry and replies to the source with a TREE-CREATE-ACK packet. This packet travels back to the source through the reverse route created by the TREE-CREATE. Once the source is done with its zone, it tries to extend the multicast tree to the entire network. The source identifies all the border nodes in its zone and sends a TREE-PROPAGATE packet message to each of them. The packet is set to the zone radius and the packet is unicasted to these border nodes. The TREEPROPAGATE packet tells each node to extend the multicast tree inside its zone. When a border node receives a TREEPROPAGATE packet, it creates a multicast route entry for the session, and then sends a TREE-CREATE packet to all its zone nodes [7]. A node in the border node’s zone then replies with a TREE-CREATE-ACK packet if it is interested. To ensure maintenance of the multicast tree, each route entry has a timer associated with it. When the timer expires, the corresponding multicast route entry is removed. Advantages: MZR scales well for different group sizes. In terms of throughput, MZR delivers near 100 percent of the data traffic for low mobility speeds. Disadvantages: At high speeds, the tree links break down quite often, leading to constant branch reconstructions and therefore larger packet losses. 4.4: Robust Multicast Routing Protocol (RoMR) – The main aspect of this algorithm is to build multiple reliable multicast trees that adapt to topology changes in a dynamic fashion. Its main characteristics are robustness and mobility awareness in efficiently supporting multicast communication. RoMR is designed to be both proactive and reactive. It is proactive because it creates trees with all the information currently available in anticipation of future events [14]. It is reactive in the sense that it reacts to changes in network topology and group membership. 4.5: Multicast Core-Extraction Distributed Ad hoc Routing (MCEDAR) – MCEDAR addresses both the issue of robustness and efficiency in the network. In MCEDAR, the infrastructure of a multicast group resides entirely within a core and a core broadcast mechanism is used to perform data forwarding on the infrastructure. MCEDAR has the following salient characteristics: It uses a mesh-based routing infrastructure that attempts to provide increasing robustness with an increase in the network mobility. It uses a tree based forwarding protocol that approximates the optimal forwarding overhead in terms of the time taken to deliver each data packet [9]. It relies on the core broadcast mechanism for both control packer forwarding and data forwarding, and hence does not use the highly ineffective local broadcasts in its key mechanisms. It decouples the control infrastructure from the data forwarding infrastructure thus minimizing control overhead and maximizing data forwarding efficiency. 4.6: Core-Assisted Mesh Protocol (CAMP) – CAMP is designed to support multicast routing in very dynamic ad hoc network with broadcast links. A mapping service is assumed to exist that provides routers with the addresses of groups identified by their names [10]. CAMP assumes the availability of routing information from a unicast routing protocol. CAMP differs from other multicast protocols in that it builds and maintains a multicast mesh for information distribution within each multicast group. A multicast mesh is a subset of the network topology that provides at least one oath from each source to the each receiver in a multicast group. Packets are forwarded through the mesh along the paths that first reach the routers from the sources, i.e., the shortest paths from sources to receivers that can be defined within the mesh [10]. A router keeps a cache of the identifiers of those packets it has forwarded recently and forwards a multicast packet received from a neighbor if the packet identifier is not found in its cache. Advantages: CAMP reduces control traffic associated with the establishment and maintenance of multicast meshes. CAMP is more robust than shared tree structures and is more scalable than the flood-based mesh approach used in ODMRP. CAMP always loop less, forwards packets around failed links of a mesh, and is resilient to any core failure and network partitions. 4.7: Protocol Independent Multicast Routing (PIM) – PIM has the following characteristics: It maintains the traditional IP multicast service model of receiverinitiated membership [11]. It supports both shared and source-specific distribution trees [11]. It is not dependent on a specific unicast routing protocol [11]. The robustness, flexibility, and scaling properties of the protocol make it well suited for large heterogeneous networks. PIM differs from other multicast protocols in the following ways: Routers with local (or downstream) members join a PIM sparse mode distribution tree by sending explicit join messages. In other multicast protocols, membership is assumed. Dense mode IP multicast tree construction is all data-driven. Two versions of PIM exist: PIM-SM (sparse mode) and PIM-DM (dense mode). 4.8: Core Based Trees (CBT) – The main objective of CBT is keeping the routing state to a minimum. CBT is based on the idea of using only one routing tree per multicast group instead of having a routing tree for each source transmitting to a multicast group. In CBT, each multicast group has its own core router. A routing tree is formed from the core router to the members of the multicast group [12]. Sources send the multicast data packets by unicast routing to the core router. When a router on the routing tree receives one of the data packets and determines that it is addressed to the core system for this routing tree, it checks the multicast address carried in the packet. If the address is for the group serviced by this tree, the router’s child interfaces forward the packets to group members and are sent through the parent interface toward the core. Advantages: The algorithm is well suited for sparsely populated networks. Disadvantages: CBT places a burden on sources and routers during the forwarding process. The use of only one routing tree per multicast group causes some scalability problems. CBT is not very compatible with other multicast routing algorithms. 4.9: Distance Vector Multicast Routing Protocol (DVMRP) – A modified version of the DVRMP is the Group Membership near First-DVMRP (GMNF-DVMRP). The major difference between the two protocols is that if there is a member on the neighboring network, GMNF-DVMRP considers the router attached to this neighboring subnetwork first to become the designated multicast router of its subnetwork. By so doing, GMNFDVMRP decreases the network costs of the multicast tree formed by DVRMP. Each multicast router of a subnetwork sends the message of group membership to its neighboring multicast routers periodically [13]. After receiving the message, the receiving multicast router records these multicast group addresses in a table. Whenever multicast packets from a particular source arrive, this multicast router compares the multicast address in the packet header with those in the small table. If the multicast address of the incoming packets exists in the small table, the source address of the multicast router is set to be true. Protocol Tree Group Protocol State Scalability Type Distribution Independence Mechanism DVMRP Sourcebased dense NO Hard bad CBT Sharedbased Sparse NO Hard Good PIM-SM Mixed Sparse YES Soft Good PIM-DM Source- Dense YES Soft Bad based Table 5: A comparison of multicast routing protocols References [1] A brief overview of ad hoc networks: challenges and directions Ramanathan, R.; Redi, J. IEEE Communications Magazine , Volume: 40 Issue: 5 Part: Anniversary , May 2002 Page(s): 20 -22 [2] Scalable routing protocols for mobile ad hoc networks Xiaoyan Hong; Kaixin Xu; Gerla, M. IEEE Network , Volume: 16 Issue: 4 , July-Aug. 2002 Page(s): 11 -21 [ 3] Position-based routing in ad hoc networks Stojmenovic, I. IEEE Communications Magazine , Volume: 40 Issue: 7 , July 2002 Page(s): 128 –134 [4] Performance comparison of two location based routing protocols for ad hoc networks Camp, T.; Boleng, J.; Williams, B.; Wilcox, L.; Navidi, W. INFOCOM 2002. Twenty-First Annual Joint Conference of the IEEE Computer and Communications Societies. Proceedings. IEEE , Volume: 3 , 2002 Page(s): 1678 –1687 [5] Performance comparison of three routing protocols for ad hoc networks Hong Jiang; Garcia-Luna-Aceves, J.J. Computer Communications and Networks, 2001. Proceedings. Tenth International Conference on , 2001 Page(s): 547 -554 [6] A review of current routing protocols for ad hoc mobile wireless networks Royer, E.M.; Chai-Keong Toh IEEE Personal Communications , Volume: 6 Issue: 2 , April 1999 Page(s): 46 –55 [7] MZR: a multicast protocol for mobile ad hoc networks Devarapalli, V.; Sidhu, D. Communications, 2001. ICC 2001. IEEE International Conference on , Volume: 3 , 2001 Page(s): 886 -891 vol.3 [8] Handbook of wireless networks and mobile computing Stojmenovi´c I. New York: Wiley, 2002. [ 9] MCEDAR: multicast core-extraction distributed ad hoc routing Sinha, P.; Sivakumar, R.; Bharghavan, V. Wireless Communications and Networking Conference, 1999. WCNC. 1999 IEEE , 1999 Page(s): 1313 -1317 vol.3 [10] The core-assisted mesh protocol Garcia-Luna-Aceves, J.J.; Madruga, E.L. Selected Areas in Communications, IEEE Journal on , Volume: 17 Issue: 8 , Aug. 1999 Page(s): 1380 –1394 [11] The PIM architecture for wide-area multicast routing Deering, S.; Estrin, D.L.; Farinacci, D.; Jacobson, V.; Ching-Gung Liu; Liming Wei Networking, IEEE/ACM Transactions on , Volume: 4 Issue: 2 , April 1996 Page(s): 153 -162 [12] An evaluation of three multicast routing algorithms Plunkett, T.R.; McDearman, J.R.; Marlow, D.T. System Theory, 1994., Proceedings of the 26th Southeastern Symposium on , 1994 Page(s): 365 -370 [13] GMNF-DVMRP: a modified version of distance vector multicast routing protocol Yuan-Cheng Lai; Ying-Dar Lin; Wei-Che Yu; Yuh-Tay Lin Computer Communications and Networks, 1997. Proceedings., Sixth International Conference on , 1997 Page(s): 65 -68 [14] RoMR: a robust multicast routing protocol for ad-hoc networks Lynn, G.H.; Znati, T.F. Local Computer Networks, 2001. Proceedings. LCN 2001. 26th Annual IEEE Conference on , 2001 Page(s): 260 -268 [15] Optimized link state routing protocol for ad hoc networks Jacquet, P.; Muhlethaler, P.; Clausen, T.; Laoulti, A.; Qayyum, A.; Viennot, L. Multi Topic Conference, 2001. IEEE INMIC 2001. Technology for the 21st Century. Proceedings. IEEE International , 2001 Page(s): 62 –68 [16] Performance comparison and analysis of ad hoc routing algorithms Boukerche, A. Performance, Computing, and Communications, 2001. IEEE International Conference on. , 2001 Page(s): 171 -178 [17] A scalable multicast routing Changdong Liu; Lee, M.J.; Saadawi, T.N. MILCOM 97 Proceedings , Volume: 2 , 1997 Page(s): 983 -987 vol.2 [18] 22 A multicast routing protocol for ad-hoc networks Garcia-Luna-Aceves, J.J.; Madruga, E.L. INFOCOM '99. Eighteenth Annual Joint Conference of the IEEE Computer and Communications Societies. Proceedings. IEEE , Volume: 2 , 1999 Page(s): 784 -792 vol.2 [19] Performance comparison of two on-demand routing protocols for ad hoc networks Perkins, C.E.; Royer, E.M.; Das, S.R.; Marina, M.K. IEEE Personal Communications , Volume: 8 Issue: 1 , Feb. 2001 Page(s): 16 -28 [20] Comparing multicast protocols in mobile ad hoc networks Durst, R.C.; Scott, K.; Zukoski, M.J.; Raghavendra, C.S. Aerospace Conference, 2001, IEEE Proceedings. , Volume: 3 , 2001 Page(s): 3/1051 -3/1063 vol.3