420 likes | 439 Views
Network Kernel Architectures and Implementation (01204423) Routing. Chaiporn Jaikaeo chaiporn.j@ku.ac.th Department of Computer Engineering Kasetsart University. Materials taken from lecture slides by Karl and Willig. Overview. Unicast routing in MANETs Energy efficiency & unicast routing
E N D
Network Kernel Architectures and Implementation(01204423) Routing Chaiporn Jaikaeo chaiporn.j@ku.ac.th Department of Computer EngineeringKasetsart University Materials taken from lecture slides by Karl and Willig
Overview • Unicast routing in MANETs • Energy efficiency & unicast routing • Multi-/broadcast routing • Geographical routing
Unicast, ID-Centric Routing • Given: a network/a graph • Each node has a unique identifier (ID) • Goal: Send a packet from one node to another • The routing & forwarding problem • Routing: Construct a table telling how can reach a given destination • Forwarding: Consult this table to forward a given packet to its next hop • Challenges
Challenges in WSNs/MANETs • Nodes may move around, neighborhood relations change • Optimization metrics may be more complicated • Not just “smallest hop count” B C A
Ad hoc Routing Protocols • Because of challenges, standard routing approaches not really applicable • Too big an overhead, too slow in reacting to changes • Examples: Dijkstra, Bellman-Ford • Simple solution: Flooding • No routing table needed • Packets are usually delivered to destination • But: overhead is prohibitive • Usually not acceptable in most cases
Gossiping • Needs no routing table • Similar to flooding • Nodes forward packets with some probability • Haas et al. studies gossiping behavior and found that • There is a critical probability, x • p < x: gossip dies out very quickly • p > x: gossip reaches most nodes
Routing Protocol Classification • Main question: When does the routing protocol operate? • Option 1: Always tries to keep routing data up-to-date • Protocol is proactive / table-driven • Option 2: Route is only determined when actually needed • Protocol operateson demand • Option 3: Combine these behaviors • Hybridprotocols
Routing Protocol Classification • Which data is used to identify nodes? • An arbitrary identifier? • The position of a node? • Can be used to assist in geographic routing protocols • Identifiers that are not arbitrary, but carry some structure? • As in traditional routing • Structure akin to position, on a logical level?
Proactive Protocols – Example • Fisheye State Routing (FSR) • Basic observation: When destination is far away, details about path are not relevant • Look at the graph as if through a fisheye lens • Regions of different accuracy of routing information • LS information about closer nodes is exchanged more frequently
Reactive Protocols – Example • Recall reactive routing protocols • Initially, no information about next hop is available at all • One possibility: Send packet to everyone • Hope: At some point, packet will reach destination and an answer is sent pack – use this answer for backward learning the route from destination to source • Examples • Ad hoc On-demand Distance Vector (AODV) • Dynamic Source Routing (DSR)
DSR • Dynamic Source Routing protocol • Use separate route request/route reply packets to discover route • Data packets only sent once route has been established • Discovery packets smaller than data packets • Store routing information in the discovery packets
[1,7] 2 1 7 [1,7] 5 4 3 [1,7] 6 [1,4] 2 1 2 1 [1,7,2] [1,7,2] 7 7 [1,4,6] 5 5 4 3 4 3 6 6 [1,7,3] DSR Route Discovery Search for route from 1 to 5 [1] 2 1 [1] 7 5 4 3 6 [5,3,7,1] Node 5 uses route information recorded in RREQ to send back, via source routing, a route reply
AODV • Ad hoc On-demand Distance Vector • Very popular routing protocol • Same basic idea as DSR for discovery procedure • Nodes maintain routing tables instead of source routing
Alternative - Rumor Routing • Think of an “agent” wandering through the network, looking for data/events • Agent initially perform random walk • Leave “traces” in the network • Later agents can use these traces to find data ?
Overview • Unicast routing in MANETs • Energy efficiency & unicast routing • Multi-/broadcast routing • Geographical routing
4 4 4 1 2 2 2 3 B H D F A C G E Energy-Efficient Unicast: Goals • Minimize energy/bit • Eg., A-B-E-H • Maximize network "lifetime" • Time until first node failure • loss of coverage • partitioning 2 3 1 2 1 2 3 1 2 2 Example: Send data from node A to node H
4 4 4 1 2 2 2 3 E H G D C B F A Basic options for path metrics • Max total available battery capacity • Sum of batt. levels without needless detours • Example: A-C-F-H • Min battery cost • Sum of reciprocal battery levels • Example: A-D-H • Min-Max batt. cost • Largest reciprocal level of all nodes in path • Minimize variance in power levels 2 3 1 2 1 2 3 1 2 2
Overview • Unicast routing in MANETs • Energy efficiency & unicast routing • Multicast/broadcast routing • Geographical routing
Broadcast & Multicast • Distribute a packet to all reachable nodes (broadcast) or to a subgroup (multicast) • Basic options • Source-based tree: one tree per source • Minimize total cost • Minimize maximum cost to each destination • Shared, core-based trees • Mesh • Provides redundancy in data transfer
Goals for Source-Based Trees • For each source, minimize total cost • The Steiner tree problem • For each source, minimize maximum cost to each destination • Obtained by overlapping the individual shortest paths Steiner tree Src Dest 2 2 2 1 Dest 1 Shortest-path tree Src Dest 2 2 2 1 Dest 1
Broadcast Multicast One treeper source Shared tree(core-based tree) Mesh Single core Multiple core Minimizetotal cost(Steiner tree) Minimizecost to each node (e.g., Dijkstra) Broadcast/Multicast Classification
Wireless Multicast Advantage • Wires • Locally distributing a packet to n neighbors • n times the cost of a unicast packet • Wireless: sending to n neighbors can incur costs = tx to a single neighbor – if receive costs are ignored = One tx, n rx – if receives are correctly tuned = send n unicasts – if multicast not supported by MAC • If local multicast is cheaper, then wireless multicast advantage is present • Can be assumed realistically
Steiner Tree Approximations • Computing Steiner tree is NP complete • A simple approximation • Pick some arbitrary order of all destination nodes + source node • Successively add these nodes to the tree • For every next node, construct a shortest path to some other node already on the tree • Performs reasonably well in practice
Steiner Tree Approximations • Takahashi Matsuyama heuristic • Similar, but let algorithm decide which is the next node to be added • Start with source node, add that destination node to the tree which has shortest path • Iterate, picking that destination node which has the shortest path to some node already on the tree • Problem: Wireless multicast advantage not exploited! • And does not really fit to the Steiner tree formulation
Broadcast Incremental Power • Or BIP • Exploits multicast wireless advantage • Goal: use as little transmission power as possible • Based on Prim's MST algorithm • Once a node transmits and reaches some neighbors, it becomes cheaper to reach additional neighbors
Round 3: Round 1: Round 2: A A A 2 3 5 4 3 3 B S (3) B B S S (1) 1 7 10 9 7 3 2 7 7 1 D 1 1 D D C C C Round 4: Round 5: A A 2 3 3 B B S (3) S (5) 7 10 6 7 D D C (1) C (1) BIP – Example
Multicast Incremental Power • Or MIP • Start with broadcast tree construction, then prune unnecessary edges out of the tree A A 3 3 B B S S 10 10 7 7 D D C C
Sender Sender NextHop NextHop H H C H Sender NextHop H D Mesh-Based Multicast • Example – ODMRP (On-Demand Multicast Routing Protocol) C A H D E B G F I
Overview • Unicast routing in MANETs • Energy efficiency & unicast routing • Multi-/broadcast routing • Geographical routing • Position-based routing • Geocasting
Geographic Routing • Implicitly infer routing information from physical placement of nodes • E.g., position of current node, current neighbors, destination known • Send to a neighbor in the right direction as next hop • Geographic routing • Position-based routing Use position information to aid in routing • Geocasting Send to any node in a given area
Overview • Unicast routing in MANETs • Energy efficiency & unicast routing • Multi-/broadcast routing • Geographical routing • Position-based routing • Geocasting
Position-Based Routing • “Most forward within range r” strategy • Send to that neighbor that realizes the most forward progress towards destination • Nearest node with forward progress • Idea: Minimize transmission power • Directional routing • Choose next hop that is angularly closest to destination • Choose next hop that is closest to the connecting line to destination • Problem: Might result in loops!
Problem: Dead Ends • Simple strategies might send a packet into a dead end
Right Hand Rule • Basic idea to get out of a dead end: Put right hand to the wall, follow the wall • Does not work if on some inner wall – will walk in circles • Need some additional rules to detect such circles
Right Hand Rule – GPSR • Greedy Perimeter Stateless Routing • Use greedy, “most forward” routing as long as possible • If no progress possible: Switch to “face” routing • Face: largest possible region of the plane that is not cut by any edge of the graph • Send packet around the face using right-hand rule • Use position where face was entered and destination position to determine when face can be left again, switch back to greedy routing • Requires: planar graph! (topology control can ensure that)
GPSR – Example • Route packet from node A to node Z Enter next face I E B K H F Z D A Enter face routing J L G C
Overview • Unicast routing in MANETs • Energy efficiency & unicast routing • Multi-/broadcast routing • Geographical routing • Position-based routing • Geocasting
Location-based Multicast (LBM) • Geocasting by geographically restricted flooding • Define a “forwarding” zone – nodes in this zone will forward the packet to make it reach the destination zone • Packet is always forwarded by nodes within the destination zone itself
Determining Next Hops • Use Voronoi diagram DestinationZone B C S D A
Determining Next Hops • Use convex hulls DestinationZone C B D S E A
Conclusion • Routing exploit various sources of information to find destination of a packet • Routing can make some difference for network lifetime • Non-standard routing tasks (multicasting, geocasting) require adapted protocols