1 / 42

Network Kernel Architectures and Implementation (01204423) Routing

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

bmendoza
Download Presentation

Network Kernel Architectures and Implementation (01204423) Routing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. Overview • Unicast routing in MANETs • Energy efficiency & unicast routing • Multi-/broadcast routing • Geographical routing

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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?

  9. 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

  10. 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)

  11. 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

  12. [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

  13. 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

  14. 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 ?

  15. Overview • Unicast routing in MANETs • Energy efficiency & unicast routing • Multi-/broadcast routing • Geographical routing

  16. 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

  17. 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

  18. Overview • Unicast routing in MANETs • Energy efficiency & unicast routing • Multicast/broadcast routing • Geographical routing

  19. 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

  20. 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

  21. 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

  22. 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

  23. 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

  24. 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

  25. 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

  26. 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

  27. 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

  28. 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

  29. Overview • Unicast routing in MANETs • Energy efficiency & unicast routing • Multi-/broadcast routing • Geographical routing • Position-based routing • Geocasting

  30. 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

  31. Overview • Unicast routing in MANETs • Energy efficiency & unicast routing • Multi-/broadcast routing • Geographical routing • Position-based routing • Geocasting

  32. 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!

  33. Problem: Dead Ends • Simple strategies might send a packet into a dead end

  34. 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

  35. 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)

  36. Face Routing Example

  37. 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

  38. Overview • Unicast routing in MANETs • Energy efficiency & unicast routing • Multi-/broadcast routing • Geographical routing • Position-based routing • Geocasting

  39. 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

  40. Determining Next Hops • Use Voronoi diagram DestinationZone B C S D A

  41. Determining Next Hops • Use convex hulls DestinationZone C B D S E A

  42. 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

More Related