UNIT-7 Mobile Ad hoc Networks
Contents MANET overview Properties of MANET MANET applications Routing and various routing algorithms Unicast routing protocols for MANET Broadcasting protocols for MANET Multicasting Protocols for MANET QOS Routing Security in MANETS. Syllabus from chapter 15, 17 in handbook of wireless networks and mobile computing. By Ivan Stojmenovic
Mobile Ad Hoc Networks Formed by wireless autonomous hosts Without (necessarily) using a pre-existing infrastructure Routes between hosts may potentially contain multiple hops Host mobility cause route changes Shared wireless channel
Why Ad Hoc Networks ? Ease of deployment Speed of deployment Decreased dependence on infrastructure User flexibility
Application areas Military environments Emergency operations Battle field: sensors, soldiers, vehicles Emergency operations search-and-rescue policing and fire fighting Civilian environments conference halls sports stadiums, Library, etc. Personal area networking laptop, PDA, cell phone, ear phone, wrist watch
Challenges Lack of centralized entity Shared unreliable wireless medium Low bandwidth Hidden/exposure node effect Ease of snooping on wireless transmissions Mobility-induced route changes/packet losses Battery constraints Asymmetric Capabilities transmission ranges battery life processing capacity Speed/pattern of movement
Why is Routing in MANET Different? Host mobility link failure/repair due to mobility different characteristics than those due to other causes Rate of link failure/repair may be high when nodes move fast Distributed Environment New performance criteria may be used Route stability despite mobility Packet delivery ratio Routing Overhead
Unicast Routing Protocols in MANET
Routing Routing protocols in ad hoc networks need to deal with the mobility of nodes and constraints in power and bandwidth Current transport protocols (e.g. TCP) are not designed for wireless ad hoc networks
Short control message (Low overhead) Less power consumption The properties of the ad-hoc network routing protocol Simple Less storage space Loop free Short control message (Low overhead) Less power consumption Multiple disjoint routes Fast rerouting mechanism
Unicast Routing Protocols for Ad Hoc Networks Many protocols have been proposed Some specifically invented for MANET Others adapted from protocols for wired networks No single protocol works well in all environments some attempts made to develop adaptive/hybrid protocols Standardization efforts in IETF MANET, MobileIP working groups http://www.ietf.org 32
AD-HOC MOBILE ROUTING PROTOCOLS ON-DEMAND-DRIVEN REACTIVE HYBRID DSDV WRP TABLE DRIVEN/ PROACTIVE DSR AODV TORA ZRP FLAT ROUTING ZRP
Ad Hoc Unicast Routing Protocols Proactive protocols Traditional distributed shortest-path protocols Maintain routes between every host pair at all times Based on periodic updates; High routing overhead Example: DSDV (destination sequenced distance vector) Reactive protocols Determine route if and when needed Source initiates route discovery Example: DSR (dynamic source routing) Hybrid protocols Adaptive; Combination of proactive and reactive Example : ZRP (zone routing protocol) 33
Proactive unicast routing protocols Continuously makes routing decisions so routes are available when packets need to be transmitted Traditional distributed shortest-path protocols Maintain routes between every host pair at all times They consume a great deal of radio resources to exchange routing information Based on periodic updates High routing overhead However, pre-determined routes may rapidly lose their validity in an ad hoc network because its topology changes rapidly These attempt to maintain the network topology always updated by periodically exchanging control packets Every node has a complete forwarding table i.e. for any destination it knows the right next-hop, and optimal routing (e.g. shortest path) is possible Their problem is that the amount of control traffic is huge and often disproportionate In highly dynamic networks, it is likely to happen that most of the bandwidth is wasted in vain because nodes’ reaction to topological changes is slower than the topological changes themselves Examples: DSDV (destination sequenced distance vector).
DSDV Destination-Sequenced Distance-Vector Routing Protocol
Introduction Routing Algorithm Link-State algorithm: Each node maintains a view of the network topology Distance-Vector algorithm: Every node maintains the distance of each destination
Link-State Like the shortest-path computation method Each node maintains a view of the network topology with a cost for each link Periodically broadcast link costs to its outgoing links to all other nodes such as flooding
Link-State A link costs F H B E C G D
Distance-Vector known also as Distributed Bellman-Ford or RIP (Routing Information Protocol) Every node maintains a routing table all available destinations the next node to reach to destination the number of hops to reach the destination Periodically send table to all neighbors to maintain topology
Distance Vector (Tables) 1 2 A B C Dest. Next Metric … A B 1 C 3 Dest. Next Metric … A 1 B C 2 Dest. Next Metric … A B 3 2 C
Distance Vector (Update) B broadcasts the new routing information to his neighbors Routing table is updated (A, 1) (B, 0) (C, 1) (A, 1) (B, 0) (C, 1) 1 1 A B C Dest. Next Metric … A B 1 C 3 2 Dest. Next Metric … A 1 B C Dest. Next Metric … A B 3 2 1 C
Distance Vector (New Node) broadcasts to update tables of C, B, A with new entry for D (A, 1) (B, 0) (C, 1) (D, 2) (A, 2) (B, 1) (C, 0) (D, 1) (D, 0) 1 1 1 A B C D Dest. Next Metric … A B 1 C 2 D 3 Dest. Next Metric … A 1 B C D 2 Dest. Next Metric … A B 2 1 C D
Distance Vector (Broken Link) 1 1 1 D A B C Dest. Next Metric … D B 3 Dest.c Next Metric … D C 2 Dest. Next Metric … D Dest. Next Metric … D B 1
Distance Vector (Loops) 1 1 1 D A B C Dest. Next Metric … D B 3 Dest. Next Metric … D C 2 Dest. Next Metric … D B 3
Distance Vector (Count to Infinity) 1 1 1 D A B C Dest. Next Metric … D B 3, 5, … Dest.c Next Metric … D C 2, 4, 6… Dest. Next Metric … D B 3, 5, …
Distance Vector DV not suited for ad-hoc networks! Loops Count to Infinity New Solution -> DSDV Protocol
DSDV Protocol DSDV is Destination Based No global view of topology
DSDV Protocol DSDV is Proactive (Table Driven) Each node maintains routing information for all known destinations Routing information must be updated periodically Traffic overhead even if there is no change in network topology Maintains routes which are never used
DSDV Protocol Keep the simplicity of Distance Vector Guarantee Loop Freeness New Table Entry for Destination Sequence Number Allow fast reaction to topology changes Make immediate route advertisement on significant changes in routing table but wait with advertising of unstable routes (damping fluctuations)
DSDV (Table Entries) Destination Next Metric Seq. Nr Install Time Stable Data A A-550 001000 Ptr_A B 1 B-102 001200 Ptr_B C 3 C-588 Ptr_C D 4 D-312 Ptr_D Sequence number originated from destination. Ensures loop freeness. Install Time when entry was made (used to delete stale entries from table) Stable Data Pointer to a table holding information on how stable a route is. Used to damp fluctuations in network.
DSDV (Route Advertisements) Advertise to each neighbor own routing information Destination Address Metric = Number of Hops to Destination Destination Sequence Number Rules to set sequence number information On each advertisement increase own destination sequence number (use only even numbers) If a node is no more reachable (timeout) increase sequence number of this node by 1 (odd sequence number) and set metric =
DSDV (Route Selection) Update information is compared to own routing table 1. Select route with higher destination sequence number (This ensure to use always newest information from destination) 2. Select the route with better metric when sequence numbers are equal.
DSDV (Tables) A B C 1 2 Dest. Next Metric Seq A A-550 B 1 B-100 C 3 A-550 B 1 B-100 C 3 C-586 Dest. Next Metric Seq A 1 A-550 B B-100 C 2 C-588 Dest. Next Metric Seq. A B 1 A-550 2 B-100 C C-588
DSDV (Route Advertisement) B increases Seq.Nr from 100 -> 102 B broadcasts routing information to Neighbors A, C including destination sequence numbers (A, 1, A-550) (B, 0, B-102) (C, 1, C-588) (A, 1, A-550) (B, 0, B-102) (C, 1, C-588) 1 1 A B C Dest. Next Metric Seq A A-550 B 1 B-102 C 2 C-588 Dest. Next Metric Seq A 1 A-550 B B-102 C C-588 Dest. Next Metric Seq. A B 2 A-550 1 B-102 C C-588
DSDV (Respond to Topology Changes) Immediate advertisements Information on new Routes, broken Links, metric change is immediately propagated to neighbors. Full/Incremental Update: Full Update: Send all routing information from own table. Incremental Update: Send only entries that has changed. (Make it fit into one single packet)
DSDV (New Node) 2. Insert entry for D with sequence number D-000 Then immediately broadcast own table 1. D broadcast for first time Send Sequence number D-000 (D, 0, D-000) A B C D Dest. Next Metric Seq. A A-550 B 1 B-104 C 2 C-590 Dest. Next Metric Seq. A 1 A-550 B B-104 C C-590 Dest. Next Metric Seq. A B 2 A-550 1 B-104 C C-590 D D-000
DSDV (New Node cont.) A B C D 3. C increases its sequence number to C-592 then broadcasts its new table. 4. B gets this new information and updates its table……. (A, 2, A-550) (B, 1, B-102) (C, 0, C-592) (D, 1, D-000) (A, 2, A-550) (B, 1, B-102) (C, 0, C-592) (D, 1, D-000) ……… A B C D Dest. Next Metric Seq. A A-550 B 1 B-104 C 2 C-590 Dest. Next Metric Seq. A 1 A-550 B B-102 C C-592 D 2 D-000 Dest. Next Metric Seq. A B 2 A-550 1 B-102 C C-592 D D-000
DSDV (no loops, no count to infinity) 2. B does its broadcast -> no affect on C (C knows that B has stale information because C has higher seq. number for destination D) -> no loop -> no count to infinity 1. Node C detects broken Link:-> Increase Seq. Nr. by 1 (only case where not the destination sets the sequence number -> odd number) (D, 2, D-100) (D, 2, D-100) D A B C Dest. Next Metric Seq. … D B 3 D-100 Dest.c Next Metric Seq. … D C 2 D-100 Dest. Next Metric Seq. … D D-101
DSDV (Immediate Advertisement) 3. Immediate propagation B to A: (update information has higher Seq. Nr. -> replace table entry) 2. Immediate propagation C to B: (update information has higher Seq. Nr. -> replace table entry) 1. Node C detects broken Link: -> Increase Seq. Nr. by 1 (only case where not the destination sets the sequence number -> odd number) (D, , D-101) (D, , D-101) D A B C Dest. Next Metric Seq. … ... D B 3 D-100 D-101 Dest. Next Metric Seq. … D B 4 D-100 Dest.c Next Metric Seq. … ... D C 2 D-100 D-101 Dest.c Next Metric Seq. … D C 3 D-100 Dest. Next Metric Seq. … D B 1 D-100 Dest. Next Metric Seq. … D 1 D-100 D-101
DSDV (Problem of Fluctuations) What are Fluctuations Entry for D in A: [D, Q, 14, D-100] D makes Broadcast with Seq. Nr. D-102 A receives from P Update (D, 15, D-102) -> Entry for D in A: [D, P, 15, D-102] A must propagate this route immediately. A receives from Q Update (D, 14, D-102) -> Entry for D in A: [D, Q, 14, D-102] A must propagate this route immediately. This can happen every time D or any other node does its broadcast and lead to unnecessary route advertisements in the network, so called fluctuations. A P Q 11 Hops 10 Hops (D,0,D-102) D
DSDV (Damping Fluctuations) How to damp fluctuations Record last and avg. Settling Time of every Route in a separate table. (Stable Data) Settling Time = Time between arrival of first route and the best route with a given seq. nr. A still must update his routing table on the first arrival of a route with a newer seq. nr., but he can wait to advertising it. Time to wait is proposed to be 2*(avg. Settling Time). Like this fluctuations in larger networks can be damped to avoid unececarry adverdisment, thus saving bandwith. A P Q 11 Hops 10 Hops 10 Hops D
Summery of DSDV Advantages Disadvantages Simple (almost like Distance Vector) Loop free through destination seq. numbers No latency caused by route discovery Disadvantages No sleeping nodes Overhead: most routing information never used
Reactive unicast routing protocols Determine routes on an as-needed basis: when a node has a packet to transmit, it queries the network for a route Source initiates route discovery They performed better than proactive protocols Reactive protocols are on-demand protocols: routes are discovered only if needed i.e. when the source does not know a route to the destination. Nodes do not make any effort to keep routing table updated Most of the routing protocols are reactive Examples: AODV DSR (dynamic source routing) TORA etc…
Dynamic Source Routing (DSR) [Johnson-96]
Source node S floods Route Request (RREQ) When node S wants to send a packet to node D, but does not know a route to D, node S initiates a route discovery Source node S floods Route Request (RREQ) Each node appends own identifier when forwarding RREQ 36
Route Discovery in DSR Y Z S E F B C M L J A G H D K I N Represents a node that has received RREQ for D from S 37
Broadcast transmission Route Discovery in DSR Y Broadcast transmission Z [S] S E F B C M L J A G H D K I N Represents transmission of RREQ [X,Y] Represents list of identifiers appended to RREQ 38
Route Discovery in DSR Y Z S [S,E] E F B C M L J A G [S,C] H D K I N Node H receives packet RREQ from two neighbors: potential for collision 39
Route Discovery in DSR Y Z S E F B [S,E,F] C M L J A G H D K [S,C,G] I Node C receives RREQ from G and H, but does not forward it again, because node C has already forwarded RREQ once 40
Route Discovery in DSR Y Z S E F [S,E,F,J] B C M L J A G H D K I N [S,C,G,K] Nodes J and K both broadcast RREQ to node D Since nodes J and K are hidden from each other, their transmissions may collide 41
Route Discovery in DSR Y Z S E [S,E,F,J,M] F B C M L J A G H D K I N Node D does not forward RREQ, because node D is the intended target of the route discovery 42
Route Discovery in DSR Destination D on receiving the first RREQ, sends a Route Reply (RREP) RREP is sent on a route obtained by reversing the route appended to received RREQ RREP includes the route from S to D on which RREQ was received by node D 43
Route Reply in DSR Y Z S RREP [S,E,F,J,D] E F B C M L J A G H D K I N Represents RREP control message 44
Dynamic Source Routing (DSR) Node S on receiving RREP, caches the route included in the RREP When node S sends a data packet to D, the entire route is included in the packet header hence the name source routing Intermediate nodes use the source route included in a packet to determine to whom a packet should be forwarded 45
Data Delivery in DSR Y Z DATA [S,E,F,J,D] S E F B C M L J A G H D K I Packet header size grows with route length 46
DSR Optimization: Route Caching Each node caches a new route it learns by any means When node S finds route [S,E,F,J,D] to node D, node S also learns route [S,E,F] to node F When node K receives Route Request [S,C,G] destined for node, node K learns route [K,G,C,S] to node S When node F forwards Route Reply RREP [S,E,F,J,D], node F learns route [F,J,D] to node D When node E forwards Data [S,E,F,J,D] it learns route [E,F,J,D] to node D A node may also learn a route when it overhears Data Problem: Stale caches may increase overheads 47
Dynamic Source Routing: Advantages Routes maintained only between nodes who need to communicate reduces overhead of route maintenance Route caching can further reduce route discovery overhead A single route discovery may yield many routes to the destination, due to intermediate nodes replying from local caches 48
Dynamic Source Routing: Disadvantages Packet header size grows with route length due to source routing Flood of route requests may potentially reach all nodes in the network Potential collisions between route requests propagated by neighboring nodes insertion of random delays before forwarding RREQ Increased contention if too many route replies come back due to nodes replying using their local cache Route Reply Storm problem Stale caches will lead to increased overhead 49
Location-Aided Routing (LAR) [Ko98Mobicom]
Location-Aided Routing (LAR) Exploits location information to limit scope of route request flood Location information may be obtained using GPS Expected Zone is determined as a region that is expected to hold the current location of the destination Expected region determined based on potentially old location information, and knowledge of the destination’s speed Route requests limited to a Request Zone that contains the Expected Zone and location of the sender node 50
Request Zone Define a Request Zone LAR is same as flooding, except that only nodes in request zone forward route request Smallest rectangle including S and expected zone for D Request Zone D Expected Zone x Y S 51
Location Aided Routing (LAR) Advantages reduces the scope of route request flood reduces overhead of route discovery Disadvantages Nodes need to know their physical locations Does not take into account possible existence of obstructions for radio transmissions 52
Distance Vector Routing (AODV) Ad Hoc On-Demand Distance Vector Routing (AODV) [Perkins-99]
DSR includes source routes in packet headers Resulting large headers can sometimes degrade performance particularly when data contents of a packet are small AODV attempts to improve on DSR by maintaining routing tables at the nodes, so that data packets do not have to contain routes AODV retains the desirable feature of DSR that routes are maintained only between nodes which need to communicate 53
AODV Route Requests (RREQ) are forwarded in a manner similar to DSR When a node re-broadcasts a Route Request, it sets up a reverse path pointing towards the source AODV assumes symmetric (bi-directional) links When the intended destination receives a Route Request, it replies by sending a Route Reply (RREP) Route Reply travels along the reverse path set-up when Route Request is forwarded 54
Route Requests in AODV Y Z S E F B C M L J A G H D K I N Represents a node that has received RREQ for D from S 55
Broadcast transmission Route Requests in AODV Y Broadcast transmission Z S E F B C M L J A G H D K I N Represents transmission of RREQ 56
Route Requests in AODV Y Z S E F B C M L J A G H D K I N Represents links on Reverse Path 57
Reverse Path Setup in AODV Y Z S E F B C M L J A G H D K I N Node C receives RREQ from G and H, but does not forward it again, because node C has already forwarded RREQ once 58
Reverse Path Setup in AODV Y Z S E F B C M L J A G H D K I N 59
Reverse Path Setup in AODV Y Z S E F B C M L J A G H D K I N Node D does not forward RREQ, because node D is the intended target of the RREQ 60
Forward Path Setup in AODV Y Z S E F B C M L J A G H D K I N Forward links are setup when RREP travels along the reverse path Represents a link on the forward path 61
Route Request and Route Reply Route Request (RREQ) includes the last known sequence number for the destination An intermediate node may also send a Route Reply (RREP) provided that it knows a more recent path than the one previously known to sender Intermediate nodes that forward the RREP, also record the next hop to destination A routing table entry maintaining a reverse path is purged after a timeout interval A routing table entry maintaining a forward path is purged if not used for a active_route_timeout interval 62
Link Failure A neighbor of node X is considered active for a routing table entry if the neighbor sent a packet within active_route_timeout interval which was forwarded using that entry Neighboring nodes periodically exchange hello message When the next hop link in a routing table entry breaks, all active neighbors are informed Link failures are propagated by means of Route Error (RERR) messages, which also update destination sequence numbers 63
Route Error When node X is unable to forward packet P (from node S to node D) on link (X,Y), it generates a RERR message Node X increments the destination sequence number for D cached at node X The incremented sequence number N is included in the RERR When node S receives the RERR, it initiates a new route discovery for D using destination sequence number at least as large as When node D receives the route request with destination sequence number N, node D will set its sequence number to N, unless it is already larger than N 64
AODV: Summary Routes are not needed to be included in packet headers Nodes maintain routing tables containing entries only for routes that are in active use At most one next-hop per destination maintained at each node DSR may maintain several routes for a single destination Sequence numbers are used to avoid old/broken routes Sequence numbers prevent formation of routing loops Unused routes expire even if topology does not change AODV: Summary 65
Temporally-Ordered Routing Algorithm (TORA)
Height captures number of hops and next hop Route optimality is considered of secondary importance; longer routes may be used At each node, a logically separate copy of TORA is run for each destination, that computes the height of the node with respect to the destination Height captures number of hops and next hop Route discovery is by using query and update packets TORA modifies the partial link reversal method to be able to detect partitions When a partition is detected, all nodes in the partition are informed, and link reversals in that partition cease 80
Other Protocols Many variations of using control packet flooding for route discovery Power-Aware Routing [Singh98Mobicom] Assign a weight to each link: function of energy consumed when transmitting a packet on that link, as well as the residual energy level Modify DSR to incorporate weights and prefer a route with the smallest aggregate weight Associativity-Based Routing (ABR) [Toh97] Only links that have been stable for some minimum duration are utilized Nodes increment the associativity ticks of neighbors by using periodic beacons Signal Stability Based Adaptive Routing (SSA) [Dube97] A node X re-broadcasts a Route Request received from Y only if the (X,Y) link has a strong signal stability Signal stability is evaluated as a moving average of the signal strength of packets received on the link in recent past 66
Hybrid Routing Protocols
Zone Routing Protocol (ZRP) [Haas98]
ZRP combines proactive and reactive approaches All nodes within hop distance at most d from a node X are said to be in the routing zone of node X All nodes at hop distance exactly d are said to be peripheral nodes of node X’s routing zone Intra-zone routing: Proactively maintain routes to all nodes within the source node’s own zone. Inter-zone routing: Use an on-demand protocol (similar to DSR or AODV) to determine routes to outside zone. 90
Zone Routing Protocol (ZRP) Radius of routing zone = 2 91
Ad Hoc Unicast Routing Summary Protocols Typically divided into proactive, reactive and hybrid Plenty of routing protocols. Discussion here is far from exhaustive Performance Studies Typically studied by simulations using NS, discrete event simulator Nodes (10-30) remains stationary for pause time seconds (0-900s) and then move to a random destination (1500m X300m space) at a uniform speed (0-20m/s). CBR traffic sources (4-30 packets/sec, 64-1024 bytes/packet) Attempt to estimate latency of route discovery, routing overhead … Actual trade-off depends a lot on traffic and mobility patterns Higher traffic diversity (more source-destination pairs) increases overhead in on-demand protocols Higher mobility will always increase overhead in all protocols 92
Multicasting Protocols for MANETS
Recap Multicasting Group communication One-to-many In Battle field Many-to-many Rescue team communication Why not using existing multicast protocol Resource constraints Frequent tree reorganization signaling overhead loss of datagram Protocol design robustness vs. efficiency
Multicasting in MANET Structure Tree-based Mesh-based Shared multicast tree Vulnerable to high mobility, load and large group Mesh-based Quick reconfigurable Excessive message overhead
MAODV (Royer and Perkins, 1999) Each multicast group has a group leader 1st node joining a group becomes Group Leader Responsible for maintaining group SN (sequence number) SN ensures freshness of routing information A node on becoming a group leader Broadcasts a Group Hello message
MAODV Group Join Process Broadcast Group Hello Multicast Activation Group member Multicast Tree member Ordinary node Potential Group member Multicast link Communication link Group Join Process Broadcast Group Hello Multicast Activation Broadcast - RREQ Only GM Responds L
Must remain as a Tree member MAODV Group member Multicast Tree member Ordinary node Departing Multicast group Multicast link Communication link Leaving a Multicast Group Non leaf Node Must remain as a Tree member L Leaf Node Send a Prune Again Leaf Node Remove himself from MT
MAODV Observation Similar to unicast AODV Leader helps in tree maintenance No alternate path as it forms a tree Excessive use of RREQ lead to multicast tree instability
ODMRP (Bae, Lee, Su, Gerla, 2000) Join Reply Join Request Forwarding Group Broadcast Multicast RT b s Y, Z s b, c X Z Y W c s s X s a, W Forwarding group is a set of nodes which are in charge of forwarding Multicast packets. Join Reply is actually a Broadcast. s d, e Sender e a d
ODMRP Robustness Forwarding group is a set of nodes which is in charge of forwarding Multicast packets.
ODMRP Observation Sender Forms and Maintains the multicast group Don’t need to be built on top of a unicast routing protocol Richer connectivity May have multiple routes for one particular destination Helps in case of topology changes and node failures soft state Member nodes are refreshed as needed by source Do not send explicit leave message Periodic Broadcast of Join Request Control overhead of route refreshes => Scalability issue.