510 likes | 764 Views
"A review of current routing protocols for ad hoc mobile wireless networks". E. Royer and C.-K. Toh, IEEE Personal Communications, April 1999, vol. 6, no. 2, pp. 46~55 Presented by K.C. Lee 2003/07/15. Traditional routing algorithm(1/4). Distance Vector (DV)
E N D
"A review of current routing protocols for ad hoc mobile wireless networks" E. Royer and C.-K. Toh, IEEE Personal Communications, April 1999, vol. 6, no. 2, pp. 46~55 Presented by K.C. Lee 2003/07/15 CCL
Traditional routing algorithm(1/4) • Distance Vector (DV) • Each node maintains a table giving the distance from itself to all possible destination. • Periodically broadcasts update packets to each of the neighbors. • Bellman-Ford algorithm • Finding the shortest path to determine the correct next hop of its neighbors. • When presented a packet for forwarding to some destination, each router simply forwards the packet to the correct next hop router. • Problem: route looping 、count to infinity CCL
0 1 3 2 4 5 Traditional routing algorithm(2/4) • Example of DV: Routing table at node 5 : CCL
Traditional routing algorithm(3/4) • Link State (LS) • Each node maintains a view of the network topology with a cost for each link. • Each node periodically broadcasts the cost of its outing links to all other nodes. • Using a shortest-path algorithm to choose its next hop for each destination. CCL
0 {1} 1 {0,2,3} 3 {1,4,5} 2 4 5 {2,4} Traditional routing algorithm(4/4) • Example of LS: • At node 5, based on the link state packet, topology table is constructed: {1,4} {2,3,5} • Dijkstra’s Algorithm can then be used for the shortest path CCL
Problems of traditional routing algorithms • Dynamic of the topology • frequent changes of connections, connection quality, participants • Limited performance of mobile systems • periodic updates of routing tables need energy without contributing to the transmission of user data, sleep modes difficult to realize • limited bandwidth of the system is reduced even more due to the exchange of routing information • Asymmetric links • connection in wireless network may be not symmetric CCL
Table-driven vs. On-demand • Table-Driven Routing Protocol: • proactive!! • continuously evaluate the routes • attempt to maintain consistent, up-to-date routing information • when a route is needed, one may be ready immediately • when the network topology changes • the protocol responds by propagating updates throughout the network to maintain a consistent view CCL
Table-driven vs. On-demand (cont.) • Source-Initiated On-Demand Routing Protocol: • reactive!! • on-demand style: create routes only when it is desired by the source node • route discovery: invoke a route-determination procedure, the procedure is terminated when • a route has been found • no route is found after all route permutations are examined • route maintained by a route maintenance procedure until • inaccessible along every path from the source • no longer desired • longer delay: sometimes a route may not be ready for use immediately when data packets come CCL
Table-Driven Routing Protocols • Destination-Sequenced Distance-Vector Routing (DSDV) • C. E. Perkins and P. Bhagwat, “Highly Dynamic Destination-Sequenced Distance-Vector Routing (DSDV) for Mobile Computer,” Comp. Commun. Rev., Oct. 1994, pp. 234-244. • Clusterhead Gateway Switch Routing (CGSR) • C.-C. Chiang, “Routing in Clustered Multihop, Mobile Wireless Networks with Fading Channel,” Proc. IEEE SICON ’97, Apr. 1997, pp. 197-211. • Wireless Routing Protocol (WRP) • S. Murthy and J. J. Garcia-Luna-Aceves, “An Efficient Routing Protocol for Wireless Networks,” ACM Mobile Networks and App. J., Special Issue on Routing in Mobile Communication Networks, Oct. 1996, pp. 183-197. CCL
DSDV: Destination Sequence Distance Vector (1/4) • Expansion of distance vector based on Bellman-Ford routing mechanism include freedom from loops in routing tables. • Every node maintains a routing table in which the information of all possible destinations recorded. • Each entry of route is marked with a sequence number assigned by the destination. • distinguish stale routes from new ones • avoid the formation of routing loops • The route with the most recent sequence number is always used, when having the same sequence, the route with smaller metric is used. CCL
DSDV (2/4) • Routing table updates are periodically transmitted or as needed throughout the network in order to maintain consistency. • To reduce the routing update overhead, employ two types of packets. • full dump • This type of packet carries all available routing information and can require multiple network protocol data units (NPDUs). • During periods of occasional movement, these packets transmitted infrequently. • incremental • Fitted into a standard NPDU. • Being used to relay only that information which has changed since last full dump. CCL
DSDV(3/4) CCL
DSDV(4/4) CCL
CGSR: Cluster Head and Gateway Switching Routing(1/3) • The arrangement of cluster head is similar to dominating set in graph theory. • Definition: each node is either in the dominating set or is neighboring to a node in the dominating set. • disadvantage: (busy in cluster head selection rather than packet relaying.) • Least Cluster Change (LCC) clustering algorithm to reduce number of cluster head selections (only change when two cluster heads come into contact, or when a node moves out of contact of all other cluster heads) • Data forwarding steps: • from cluster head to cluster head • in a hierarchical manner • then from cluster head to cluster members • between two cluster heads, gateways are used to forward the packets CCL
CGSR (2/3) • Each node keep two table • Cluster member table • It stores the destination cluster head for each mobile node in the network. • Being broadcasted by each node periodically using DSDV manner. • Routing table • Being used to determine the next hop in order to reach the destination. • Advantage: less routing information to be kept • Disadvantage: longer route CCL
5 4 1 3 6 8 2 7 Gateway Cluster head Node CGSR (3/3) • Example: Routing from node 1 to node 8 CCL
CGSR(cont.) (5 hops) (3 hops) CCL
WRP: Wireless Routing Protocol • Belong to the class of path finding Algorithm; • uses the length and predecessor to destination in the shortest path. • Eliminates the “count to Infinity” Problem by forcing nodes to do consistency check of the predecessors. • Each node is responsible for keeping track of four tables: • distance, • routing, • link cost, • message retransmission list (MRL). • An Update message is sent after processing updates from neighbors or a change in link to a neighbor is detected. • After receiving an update message free of errors, a node is required to send a positive acknowledgment (ACK). • If a node is not sending messages, it must send a hello message within a specified time period to ensure connectivity. CCL
(10, I) (10, B) WRP (cont.) • Example: (0, J) J 10 (2, K) B X 5 10 I 1 1 (2, K) 1 K (1, K) (11, B) (, K) CCL
Comparisons of the characteristics of table-driven routing protocol CCL
Source-initiated on-demand • Ad-Hoc on-demand distance vector routing (AODV) • C. E. Perkins and E. M. Royer, “Ad-hoc On-Demand Distance Vector Routing,” Proc. 2nd IEEE Wksp. Mobile Comp. Sys. and Apps., Feb. 1999, pp. 90–100. • Dynamic Source Routing (DSR) • D. B. Johnson and D. A. Maltz, “Dynamic Source Routing in Ad-Hoc Wireless Networks,” Mobile Computing, T. Imielinski and H. Korth, Eds., Kluwer, 1996, pp. 153–81. • Temporally ordered routing algorithm (TORA) • V. D. Park and M. S. Corson, “A Highly Adaptive Distributed Routing Algorithm for Mobile Wireless Networks,” Proc. INFOCOM ’97, Apr. 1997. • Associativity-Based routing (ABR) • C-K. Toh, “A Novel Distributed Routing Protocol To Support Ad-Hoc Mobile Computing,” Proc. 1996 IEEE 15th Annual Int’l. Phoenix Conf.Comp. and Commun., Mar. 1996, pp. 480–86. • Signal stability routing (SSR) • R. Dube et al., “Signal Stability based Adaptive Routing (SSA) for Ad-Hoc Mobile Networks,” IEEE Pers. Commun., Feb. 1997, pp. 36–45. CCL
AODV: Ad-hoc On-Demand Distance Vector Routing (1/3) • Improved over DSDV algorithm (minimize the number of required broadcast by creating routes on a demand basis; maintain a complete list of routes as in the DSDV algorithm) • Nodes (not on a selected path) don’t maintain routing information or participate in routing table exchanges. • Instead of source routing, AODV relies on dynamically establishing route table entries at intermediate node. • AODV use the concept of destination sequence number from DSDV. • AODV only supports the use of symmetric links. CCL
AODV (2/3) • Path discovery procedure using RREQ/RREP query cycles. • Reverse Path setup • Forward path setup • Route table management • AODV maintains routes as long as they are active. • Path maintenance • The source moves: reinitiate the route discovery • Other node moves: a special RREP is sent to the affected source nodes • Local connectivity management • Broadcasts used to update local connectivity information • Inactive nodes in an active path required to send “hello” messages CCL
X X AODV (3/3) D • Example: S CCL
DSR: Dynamic Source Routing (1/6) • Each host maintains a route cache which contains all routes it has learnt. • Source Routing: • routes are denoted with complete information (each hop is registered) • Two major parts: • route discovery • route maintenance CCL
DSR (2/6) • When a host has a packet to send, it first consults its route cache. • If there is an unexpired route, then it will use it. • Otherwise, a route discovery will be performed. • Route Discovery: • There is a “route record” field in the packet. • The source node will add its address to the record. • On receipt of the packet, a host will add its address to the “route record” and rebroadcast the packet. • To limit the number of ROUTE_REQUEST packets: • Each node only rebroadcasts the packet at most once. • Each node will consult its route cache to see if a route is already known. CCL
DSR (3/6) • A ROUTE_REPLY packet is generated when • the route request packet reaches the destination • an intermediate host has an unexpired route to the destination • The ROUTE_REPLY packet will contain a route generated in following manner: • Use the route of destination route cache (if route cache has the route information) • the route that was traversed by the ROUTE_REQUEST packet (if symmetric) • route discovery and piggyback the route reply on the new request (if asymmetric) CCL
DSR (4/6) Routing discovery routing reply CCL
DSR (5/6) • Routing maintenance • Use acknowledgements or a layer-2 scheme to detect broken links. • Inform sender via route error packet. • Initiate route discovery. • All routes which contain the breakage hop have to be removed from the route cache. CCL
DSR (6/6) Route Error packet x CCL
B C A D G F E TORA: Temporally ordered routing (1/7) • During the route creation and maintenance phase, nodes establish a directed acyclic graph(DAG). • Alogical direction is imposed on the links towards the destination • Starting from any node in the graph, a destination can be reached by following the directed links • Highly adaptive, efficient, scalable, distributed algorithm • Multiple routes from source to destination • For highly dynamic mobile, multi-hop wireless network CCL
TORA (2/7) • Assigns a reference level (height) to each node • Timing is an important factor for TORA because the “height” metric is dependent on the logical time of a link failure. • metric: • 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 • Adjust reference level to restore routes on link failure • Query, Update, Clear packets used for creating, maintaining and erasing routes • A DAG is maintained for each destination CCL
TORA (3/7) • Three major tasks • Route creation: QRY and UPD packets • Route maintenance • Route erasure: Clear packet (CLR) is broadcasted • Using Unique node ID and unique reference ID • Route Creation: demand driven “query/reply” • A query packet (QRY) is flooded through network • An update packet (UPD) propagates back if routes exist • Route Maintenance: “link-reversal” algorithm • React only when necessary • Reaction to link failure is localized in scope • Route Erasure: • A clear packet (CLR) is flooded through network to erase invalid routes CCL
(-,-) (0,1) (-,-) (0,3) 7 7 2 2 5 5 (0,2) s (-,-) s 1 3 1 3 (0,3) (0,3) (-,-) (-,-) d d 8 8 (0,0) (0,0) 4 6 4 6 (-,-) (-,-) (0,2) (0,1) Propogation of QRY (reference level, height) Height of each node updated by UPD Route Creation in TORA TORA (4/7) • Route creation of TORA CCL
QRY UPD UPD QRY UPD UPD UPD QRY UPD QRY UPD TORA (5/7) • Creation of route A B QRY E C D G (DEST) F H CCL
TORA (6/7) • Route maintenance UPD A B UPD E C UPD D G (DEST) X F H CCL
TORA (7/7) CCL
ABR: Associativity-Based routing (1/6) • Source Initiated Routing, Query-Reply packets • Goal: Best route is selected based on stability and shortest path. The stability is measured using associativity ticks(initially set to zero) • Each node broadcasts beacons, the nodes increment associativity ticks when they receive beacons and sets zero if beacon is not received. High Associativity means high stability. • Route is long-lived and free from loops, deadlock, and packet duplicates • ABR provides the method of reconstructing when link fails • The protocol contains 3 phases: • Route discovery: BQ-REPLY cycle • Route reconstruction (RRC): • Route deletion (RD): Source-initiated CCL
ABR (2/6) • Route discovery: accomplished by a broadcast query and await-reply(BQ-REPLY) cycle. • A node desiring a route broadcasts a BQ message in search of mobiles a route broadcasts a BQ(Broadcast query) message in search of mobiles that have a route to the destination • All nodes receiving the BQ append their address and their associativity ticks with their neighbors along with QoS information to query packet. • A successor node erases its upstream node neighbor’s associativity ticks entries and retains only the entry concerned with itself and its upstream node. • The destination computes the total of the associativity ticks • The destination will know all the possible routes and their qualities. It then selects the best route based on stability and associativity ticks. • If multiple paths have the same overall degree of association stability, the route with minimum number of hops is selected. CCL
BQ FQ[1] A RN(erase notification) to erase the route entries associagted A new BQ-REPLY process ABR (3/6) • Route reconstruction (RRC): • Case1: source moves SRC’ DEST SRC CCL
LQ[H] FQ[0] FQ[0] ABR (4/6) • Route reconstruction (RRC): • Case2: destination moves DEST’ H=3 DEST SRC CCL
LQ[3] ABR (5/6) • Route reconstruction (RRC): • Case3: IN moves DEST H=3 SRC IN IN’ CCL
ABR (6/6) • Route deletion (RD): Source-initiated • The source initiate a route delete(RD) broadcast so that all nodes along the route update their routing table • New metric: degree of association stability • Beacons periodically sent to its neighbors • Updates the associativity table • Association stability means connection stability • Associativity ticks reset CCL
SSR • New metric: signal strength between nodes and a node’s location stability • SSR consists of 2 cooperative protocols: Dynamic Routing (DRP) & Static Routing (SRP) • The DRP is responsible for the maintenance of the signal stability table(SST) with the fields [host, signal strength, last, clicks, set] and routing table(RT) with the field [destination, next host]. • After updating all appropriate table entries, the DRP passes a received packet to the SRP • SRP: • Passing the packet up the stack if it is the intended receiver • If no entry is found in the RT for the destination, initiate a route-search process to find a route • Else forwarding the packet CCL
SSR (cont.) CCL
SSR (cont.) • Route discovery and route maintenance • By default, only route request packets from strong channels are forwarded • initiate a new route-search process; erase the old route • If there is no route-reply message received, the route changes to accept weak channel. B D B D F A F A C E C E CCL
ZRP: Zone routing protocol • Hybrid of table-driven and on-demand!! • From each node, there is a concept of “zone”. • Within each zone, the routing is performed in a table-driven manner (proactive), similar to DSDV. • However, a node does not try to keep global routing information. • For inter-zone routing, on-demand routing is used. • This is similar to DSR. CCL
Comparisons of the characteristics of source-initiated on demand routing protocol CCL
Comparisons of the characteristics of source-initiated on demand routing protocol CCL