820 likes | 940 Views
Mobile Ad Hoc Routing (IV) Uses material from tutorial by Nitin Vaidya. Last Time. Finished Cache optimization for reactive protocols Preemptive Routing Discussion: optimizing reactive protocols Link Reversal algorithms and TORA Try to localize updates when a link breaks Proactive protocols
E N D
Mobile Ad Hoc Routing (IV) Uses material from tutorial by Nitin Vaidya
Last Time • Finished Cache optimization for reactive protocols • Preemptive Routing • Discussion: optimizing reactive protocols • Link Reversal algorithms and TORA • Try to localize updates when a link breaks • Proactive protocols • Like Internet routing protocols; exchange state continuously • Covered OLSR (Optimized Link State Routing) • Today: wrap up ad hoc routing • Coming 2 classes: TCP over wireless
Destination-Sequenced Distance-Vector (DSDV) [Perkins94Sigcomm] • Each node maintains a routing table which stores • next hop towards each destination • a cost metric for the path to each destination • a destination sequence number that is created by the destination itself • Sequence numbers used to avoid formation of loops • Each node periodically forwards the routing table to its neighbors • Each node increments and appends its sequence number when sending its local routing table • This sequence number will be attached to route entries created for this node
Destination-Sequenced Distance-Vector (DSDV) • Assume that node X receives routing information from Y about a route to node Z • Let S(X) and S(Y) denote the destination sequence number for node Z as stored at node X, and as sent by node Y with its routing table to node X, respectively Z X Y
Destination-Sequenced Distance-Vector (DSDV) • Node X takes the following steps: • If S(X) > S(Y), then X ignores the routing information received from Y • If S(X) = S(Y), and cost of going through Y is smaller than the route known to X, then X sets Y as the next hop to Z • If S(X) < S(Y), then X sets Y as the next hop to Z, and S(X) is updated to equal S(Y) Z X Y
Zone Routing Protocol (ZRP) [Haas98] Zone routing protocol combines • Proactive protocol: which pro-actively updates network state and maintains route regardless of whether any data traffic exists or not • Reactive protocol: which only determines route to a destination if there is some data to be sent to the destination
ZRP • 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
ZRP • Intra-zone routing: Pro-actively maintain state information for links within a short distance from any given node • Routes to nodes within short distance are thus maintained proactively (using, say, link state or distance vector protocol) • Inter-zone routing: Use a route discovery protocol for determining routes to far away nodes. Route discovery is similar to DSR with the exception that route requests are propagated via peripheral nodes.
C A E B ZRP: Example withZone Radius = d = 2 S performs route discovery for D S D F Denotes route request
C A E B ZRP: Example with d = 2 S performs route discovery for D S D F E knows route from E to D, so route request need not be forwarded to D from E Denotes route reply
C A E B ZRP: Example with d = 2 S performs route discovery for D S D F Denotes route taken by Data
Fisheye Routing Protocol [Pei00] • Similar idea to ZRP, but fully proactive protocol • Frequency of updates varies with distance between nodes (we saw this before in DREAM) • Accomplished by changing scope of update Frequency of update Inversely proportional To scope
Routing • Protocols discussed so far find/maintain a route provided it exists • Some protocols attempt to ensure that a route exists by • Power Control [Ramanathan00Infocom] • Limiting movement of hosts or forcing them to take detours [Reuben98thesis]
Power Control • Protocols discussed so far find a route, on a given network topology • Some researchers propose controlling network topology by transmission power control to yield network properties which may be desirable [Ramanathan00Infocom] • Such approaches can significantly impact performance at several layers of protocol stack • [Wattenhofer00Infocom] provides a distributed mechanism for power control which allows for local decisions, but guarantees global connectivity • Each node uses a power level that ensures that the node has at least one neighbor in each cone with angle 2p/3
Other Routing Protocols • Plenty of other routing protocols • Discussion here is far from exhaustive • Many of the existing protocols could potentially be adapted for MANET (some have already been adapted as discussed earlier)
Power-Aware Routing [Singh98Mobicom,Chang00Infocom] Define optimization criteria as a function of energy consumption. Examples: • Minimize energy consumed per packet • Minimize time to network partition due to energy depletion • Maximize duration before a node fails due to energy depletion
Power-Aware Routing [Singh98Mobicom] • Assign a weigh to each link • Weight of a link may be a function of energy consumed when transmitting a packet on that link, as well as the residual energy level • low residual energy level may correspond to a high cost • Prefer a route with the smallest aggregate weight
Power-Aware Routing Possible modification to DSR to make it power aware (for simplicity, assume no route caching): • Route Requests aggregate the weights of all traversed links • Destination responds with a Route Reply to a Route Request if • it is the first RREQ with a given (“current”) sequence number, or • its weight is smaller than all other RREQs received with the current sequence number
Signal Stability Based Adaptive Routing (SSA) [Dube97] • Similar to DSR • A node X re-broadcasts a Route Request received from Y only if the (X,Y) link is deemed to have 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 • An alternative approach would be to assign a cost as a function of signal stability
Associativity-Based Routing (ABR)[Toh97] • Only links that have been stable for some minimum duration are utilized • motivation: If a link has been stable beyond some minimum threshold, it is likely to be stable for a longer interval. If it has not been stable longer than the threshold, then it may soon break (could be a transient link) • Association stability determined for each link • measures duration for which the link has been stable • Prefer paths with high aggregate association stability
Geography Adaptive Fidelity [Xu01MobiCom] • Each node associates itself with a square in a virtual grid • Node in each grid square coordinate to determine who will sleep and how long
Quality-of-Service • Several proposals for reserving bandwidth for a flow in MANET – we do not have time to discuss in detail • Example: QoS routing – prefer paths that meet QoS requirement specified in search • Example: INSIGNIA and SWAN out of Cornell • INSIGNIA: Application specify their need as Base QOS (minimum) to Extended QOS (maximum) • Admission control is applied to find out if the flow can be accommodated at each hop • Solutions needed to adapt to mobility, non-uniform interference, and dynamic traffic
Multicasting • A multicast group is defined with a unique group identifier • Nodes may join or leave the multicast group anytime • In traditional networks, the physical network topology does not change often • In MANET, the physical topology can change often
Multicasting in MANET • Need to take topology change into account when designing a multicast protocol • Several new protocols have been proposed for multicasting in MANET
AODV Multicasting [Royer00Mobicom] • Each multicast group has a group leader • Group leader is responsible for maintaining group sequence number (which is used to ensure freshness of routing information) • Similar to sequence numbers for AODV unicast • First node joining a group becomes group leader • A node on becoming a group leader, broadcasts a Group Hello message
AODV Multicast Tree Multicast tree links E Group leader L C J G H D K A B N Group and multicast tree member Tree (but not group) member
Joining the Multicast Tree: AODV E Group leader L C J G H D K A B N wishes to join the group: it floods RREQ N Route Request (RREQ)
Joining the Multicast Tree: AODV E Group leader L C J G H D K A B N N wishes to join the group Route Reply (RREP)
Joining the Multicast Tree: AODV E Group leader L C J G H D K A B N N wishes to join the group Multicast Activation (MACT)
Joining the Multicast Tree: AODV Multicast tree links E Group leader L C J G H D K A B N N has joined the group Group member Tree (but not group) member
Sending Data on the Multicast Tree • Data is delivered along the tree edges maintained by the Multicast AODV algorithm • If a node which does not belong to the multicast group wishes to multicast a packet • It sends a non-join RREQ which is treated similar in many ways to RREQ for joining the group • As a result, the sender finds a route to a multicast group member • Once data is delivered to this group member, the data is delivered to remaining members along multicast tree edges
Leaving a Multicast Tree: AODV Multicast tree links E Group leader L J wishes to leave the group C J G H D K A B N
Leaving a Multicast Tree: AODV Since J is not a leaf node, it must remain a tree member E Group leader L J has left the group C J G H D K A B N
Leaving a Multicast Tree: AODV E Group leader L C J G H D K A MACT (prune) B N N wishes to leave the multicast group
Leaving a Multicast Tree: AODV E Group leader L C J G H D K MACT (prune) A B N Node N has removed itself from the multicast group. Now node K has become a leaf, and K is not in the group. So node K removes itself from the tree as well.
Leaving a Multicast Tree: AODV E Group leader L C J G H D K A B N Nodes N and K are no more in the multicast tree.
Handling a Link Failure: AODV Multicasting • When a link (X,Y) on the multicast tree breaks, the node that is further away from the leader is responsible to reconstruct the tree, say node X • Node X, which is further downstream, transmits a Route Request (RREQ) • Only nodes which are closer to the leader than node X’s last known distance are allowed to send RREP in response to the RREQ, to prevent nodes that are further downstream from node X from responding
Handling Partitions: AODV • When failure of link (X,Y) results in a partition, the downstream node, say X, initiates Route Request • If a Route Reply is not received in response, then node X assumes that it is partitioned from the group leader • A new group leader is chosen in the partition containing node X • If node X is a multicast group member, it becomes the group leader, else a group member downstream from X is chosen as the group leader
Merging Partitions: AODV • If the network is partitioned, then each partition has its own group leader • When two partitions merge, group leader from one of the two partitions is chosen as the leader for the merged network • The leader with the larger identifier remains group leader
Merging Partitions: AODV • Each group leader periodically sends Group Hello • Assume that two partitions exist with nodes P and Q as group leaders, and let P < Q • Assume that node A is in the same partition as node P, and that node B is in the same partition as node Q • Assume that a link forms between nodes A and B P A B Q
Merging Partitions: AODV • Assume that node A receives Group Hello originated by node Q through its new neighbor B • Node A asks exclusive permission from its leader P to merge the two trees using a special Route Request • Node A sends a special Route Request to node Q • Node Q then sends a Group Hello message (with a special flag) • All tree nodes receiving this Group Hello record Q as the leader
Merging Partitions: AODV P A B Hello (Q) Q
Merging Partitions: AODV RREQ (can I repair partition) P A RREP (Yes) B Q
Merging Partitions: AODV P A B RREQ (repair) Q
Merging Partitions: AODV P A Group Hello (update) B Q Q becomes leader of the merged multicast tree New group sequence number is larger than most recent ones known to P and Q both
Summary: Multicast AODV • Similar to unicast AODV • Uses leaders to maintain group sequence numbers, and to help in tree maintenance
On-Demand Multicast Routing Protocol (ODMRP) • ODMRP requires cooperation of nodes wishing to send data to the multicast group • To construct the multicast mesh • A sender node wishing to send multicast packets periodically floods a Join Data packet throughput the network • Periodic transmissions are used to update the routes