Presentation is loading. Please wait.

Presentation is loading. Please wait.

DART Dynamic Address RouTing A network layer routing protocol, Jakob Eriksson, Michalis Faloutsos and Srikanth Krishnamurthy Department of Computer Science.

Similar presentations


Presentation on theme: "DART Dynamic Address RouTing A network layer routing protocol, Jakob Eriksson, Michalis Faloutsos and Srikanth Krishnamurthy Department of Computer Science."— Presentation transcript:

1 DART Dynamic Address RouTing A network layer routing protocol, Jakob Eriksson, Michalis Faloutsos and Srikanth Krishnamurthy Department of Computer Science and Engineering Dynamic Address RouTing A network layer routing protocol, Jakob Eriksson, Michalis Faloutsos and Srikanth Krishnamurthy Department of Computer Science and Engineering

2 Routing in networks of millions of strangers. Be able to route packets even through handheld, low power, devices. Support wires, as well as directional and omnidirectional antennae. No central ownership / administration. Plug-n-play operation, zero-configuration. Routing in networks of millions of strangers. Be able to route packets even through handheld, low power, devices. Support wires, as well as directional and omnidirectional antennae. No central ownership / administration. Plug-n-play operation, zero-configuration. The Problem

3 Replace node address with two numbers: Node identifier - static. Routing address - dynamic. Dynamic routing address indicates current location in network topology. Distributed lookup table maps identifier to current routing address. Replace node address with two numbers: Node identifier - static. Routing address - dynamic. Dynamic routing address indicates current location in network topology. Distributed lookup table maps identifier to current routing address. DART basics

4 Why on Earth...? Rural networks Consumer owned networking Theater-wide military networks Internet 2.0? Civil disobedience Protecting civil liberties Free speech Ubiquitous and free connectivity? Networked society Who knew what Internet would become? Who knew what Internet would become? Circumventing copyrights? Because we can! Developing countries

5 Related work DART Address allocation Routing Node Lookup Simulations Future work Conclusion Related work DART Address allocation Routing Node Lookup Simulations Future work Conclusion Roadmap

6 Hierarchical routing (Kleinrock, Kamoun ‘77) Flat ad hoc routing protocols: AODV, DSR, DSDV. Numerous derivatives. Clustering based routing: Landmark, LANMAR, Clusterhead, Hierarchical State Routing, MMWN, etc. Georouting: LAR, DREAM, Grid, etc. Distributed Hashtables: Chord, Plaxton routing etc. Hierarchical routing (Kleinrock, Kamoun ‘77) Flat ad hoc routing protocols: AODV, DSR, DSDV. Numerous derivatives. Clustering based routing: Landmark, LANMAR, Clusterhead, Hierarchical State Routing, MMWN, etc. Georouting: LAR, DREAM, Grid, etc. Distributed Hashtables: Chord, Plaxton routing etc. Related Work

7 Routing address - a fixed length binary string. Address Prefix - a sequence of bits taken from the most significant end of a routing address. Prefix Subgraph - The graph induced from a network graph by the set of nodes with a given prefix. Routing address - a fixed length binary string. Address Prefix - a sequence of bits taken from the most significant end of a routing address. Prefix Subgraph - The graph induced from a network graph by the set of nodes with a given prefix. Some Terminology

8 Address Space as Binary Tree Routing addresses form a virtual binary tree. All nodes within any given subtree are able to communicate using only nodes in that subtree. Routing addresses form a virtual binary tree. All nodes within any given subtree are able to communicate using only nodes in that subtree.

9 Dynamically maintain a unique address for every node. Ensure that all prefix subgraphs are connected. Minimize communication overhead and require no centralized resources/infrastructure. Minimize required address size (in bits). Dynamically maintain a unique address for every node. Ensure that all prefix subgraphs are connected. Minimize communication overhead and require no centralized resources/infrastructure. Minimize required address size (in bits). The Addressing Problem

10 Joining node picks an address with a prefix common with one of its neighbors. The routing table is consulted to ensure that each prefix only induces a single, connected, network subgraph. To minimize address size, shorter prefixes are preferred. When changing address, a smaller change is preferred, to improve stability. Joining node picks an address with a prefix common with one of its neighbors. The routing table is consulted to ensure that each prefix only induces a single, connected, network subgraph. To minimize address size, shorter prefixes are preferred. When changing address, a smaller change is preferred, to improve stability. Basic Solution

11 Address Allocation example When a node joins, it picks an address that shares a prefix one of its neighbors.

12 Thanks to the invariant, routing is scalable. Each node keeps log N routing entries. Thanks to the invariant, routing is scalable. Each node keeps log N routing entries. The Routing Table

13 Node Lookup Table Efficient distributed hashtable (DHT) that maps Node ID -> Routing Address. Similar to overlay DHT research, but uses existing routing layer state for efficiency. Nodes periodically send their current address to one other node, their lookup peer. Upon connection establishment, the routing address of the destination retrieved from the destination’s lookup peer. Efficient distributed hashtable (DHT) that maps Node ID -> Routing Address. Similar to overlay DHT research, but uses existing routing layer state for efficiency. Nodes periodically send their current address to one other node, their lookup peer. Upon connection establishment, the routing address of the destination retrieved from the destination’s lookup peer.

14 Lookup Table Basics Node 3 (011) “Node 3 has address 001” Node 7 (111) “Node 7 has address 000” ?? Every ID->Address mapping is stored at the node whose address most closely matches the ID!

15 Two nodes may select the same address prefix independently, possibly yielding a disconnected prefix subgraph. Similarly, a single prefix subgraph may be partitioned due to link failure. How do we detect the problem and determine who gets to keep their address(es)? Two nodes may select the same address prefix independently, possibly yielding a disconnected prefix subgraph. Similarly, a single prefix subgraph may be partitioned due to link failure. How do we detect the problem and determine who gets to keep their address(es)? Prefix Conflict Resolution

16 For every routing entry, keep track of the minimum Node ID within that prefix subgraph. If two routes are discovered to the same prefix, but with different minimum Node IDs, discard the one with the higher ID. If a node receives a route to its own prefix, but with a lower ID, it immediately computes a new, valid address. For every routing entry, keep track of the minimum Node ID within that prefix subgraph. If two routes are discovered to the same prefix, but with different minimum Node IDs, discard the one with the higher ID. If a node receives a route to its own prefix, but with a lower ID, it immediately computes a new, valid address. Solution: Use Node IDs

17 Performed using two simulators: Home-grown for speed and scalability. ns-2 for comparisons and accuracy. Wireless nodes, with omnidirectional antennae. Performed using two simulators: Home-grown for speed and scalability. ns-2 for comparisons and accuracy. Wireless nodes, with omnidirectional antennae. Simulations

18 Extremely small average routing table size < 2*log N. About 15 entries for 4000 nodes! Extremely small average routing table size < 2*log N. About 15 entries for 4000 nodes! Routing Table Size

19 Low average path stretch, 30-35%, so route aggregation is not hurting us much. Experimental Results

20 Ns-2 doesn’t scale to large wireless simulations. Simulated 400-node networks. Varied connection establishment frequency (CEF). Arguably, CEF increases in larger networks. Also, CEF depends on traffic patterns. Ns-2 doesn’t scale to large wireless simulations. Simulated 400-node networks. Varied connection establishment frequency (CEF). Arguably, CEF increases in larger networks. Also, CEF depends on traffic patterns. Simulating large networks

21 Overhead vs. CEF DART overhead is not affected by CEF. Reactive protocols suffer when CEF increases. DART overhead is not affected by CEF. Reactive protocols suffer when CEF increases.

22 Throughput vs. CEF DART reliably outperforms AODV/DSR when connection establishment frequency > 3. CEF == 3 means one connection/node every 2 mins. DART reliably outperforms AODV/DSR when connection establishment frequency > 3. CEF == 3 means one connection/node every 2 mins.

23 Finalize addressing, routing and lookup Sabotage resistance Fairness and incentive mechanism to encourage sharing Linux kernel implementation Finalize addressing, routing and lookup Sabotage resistance Fairness and incentive mechanism to encourage sharing Linux kernel implementation Future Work

24 Addressing still needs more work to get improved clustering of nodes. Routing still suffers from route instability, a’la Distance Vector protocols. Lookup service should support multiple levels for larger networks, for better scalability. Addressing still needs more work to get improved clustering of nodes. Routing still suffers from route instability, a’la Distance Vector protocols. Lookup service should support multiple levels for larger networks, for better scalability. Finalize things...

25 Any large, open network will have a non- zero number of malicious nodes. Currently, a single node could cause significant damage to the network. Goal: to minimize the damage a small fraction of malicious nodes can cause. Plan: use all routes, and load balance away from those that do not perform. Any large, open network will have a non- zero number of malicious nodes. Currently, a single node could cause significant damage to the network. Goal: to minimize the damage a small fraction of malicious nodes can cause. Plan: use all routes, and load balance away from those that do not perform. Sabotage Resistance

26 In a collaborative system, things must be fair, or people won’t participate. This is crucial! You get back as much as you contribute to the whole? What about edge nodes? Weighted location dependent fairness ? How? but probably has to be on a next-hop basis. In a collaborative system, things must be fair, or people won’t participate. This is crucial! You get back as much as you contribute to the whole? What about edge nodes? Weighted location dependent fairness ? How? but probably has to be on a next-hop basis. Routing Layer Fairness

27 What: Make DART useful for general purpose wireless and wired networking today. Why: Why else are we doing this? How: Initially use IP address as identifier, put in a DART wedge between MAC and IP layer. Where: Linux kernel, potentially OS X and Palm OS if their models allow it. What: Make DART useful for general purpose wireless and wired networking today. Why: Why else are we doing this? How: Initially use IP address as identifier, put in a DART wedge between MAC and IP layer. Where: Linux kernel, potentially OS X and Palm OS if their models allow it. Real-world implementation

28 Position paper at IPTPS’03. Poster at ICNP’03, lots of interest! Paper accepted to INFOCOM’04. Established presence in research community, a lot of people know about DART already! Position paper at IPTPS’03. Poster at ICNP’03, lots of interest! Paper accepted to INFOCOM’04. Established presence in research community, a lot of people know about DART already! Academic Accomplishments

29 DART is a scalable alternative to current ad hoc routing protocols. Changing “address” to “ID + routing address” can result in increased scalability. Simulation results indicate significant performance improvement even for 400-node networks. There’s some left to do ! DART is a scalable alternative to current ad hoc routing protocols. Changing “address” to “ID + routing address” can result in increased scalability. Simulation results indicate significant performance improvement even for 400-node networks. There’s some left to do ! Conclusions

30 Application Layer Multicast Algorithm A Multicast Protocol for Ad Hoc Networks, Min Ge, Michalis Faloutsos and Srikanth Krishnamurthy Department of Computer Science and Engineering Application Layer Multicast Algorithm A Multicast Protocol for Ad Hoc Networks, Min Ge, Michalis Faloutsos and Srikanth Krishnamurthy Department of Computer Science and Engineering ALMA

31 Multicast Structure need not be reconfigured upon each link failure. Reliability, Congestion Control and Flow Control -- thanks to transport layer solutions. Independent of routing. Ease of Security. Multicast Structure need not be reconfigured upon each link failure. Reliability, Congestion Control and Flow Control -- thanks to transport layer solutions. Independent of routing. Ease of Security. Why Application Layer?

32 Use of application layer schemes do not exploit broadcast nature of the wireless medium. Degradation of performance under heavy loads -- much more traffic than network layer solutions. Use of application layer schemes do not exploit broadcast nature of the wireless medium. Degradation of performance under heavy loads -- much more traffic than network layer solutions. Why not Application Layer ?

33 Evaluate benefits and examine trade-offs of application layer multicast. Design a simple yet efficient application layer multicast protocol -- ALMA Compare with IP layer multicast competition -- ODMRP. Find regimes (if any) wherein application layer protocol is beneficial in terms of performance. Evaluate benefits and examine trade-offs of application layer multicast. Design a simple yet efficient application layer multicast protocol -- ALMA Compare with IP layer multicast competition -- ODMRP. Find regimes (if any) wherein application layer protocol is beneficial in terms of performance. Objectives and Strategy

34 Construct an application layer multicast tree. Scheme similar to Narada -- Overlay Multicast protocol designed for the Internet. Single source -- nodes join based on advertisements. Assumption : There exists a rendezvous point that supplies a list of group members. Construct an application layer multicast tree. Scheme similar to Narada -- Overlay Multicast protocol designed for the Internet. Single source -- nodes join based on advertisements. Assumption : There exists a rendezvous point that supplies a list of group members. ALMA

35 The ALMA Tree Evolves A node sends a “Hello” message to its parent and measures the RTT periodically Search for a new parent within a pre-specified range if RTT is large. If RTT < threshold1 stay with the current parent If threshold1<RTT<threshold2, search in one hop range If threshold2<RTT<threshold3, search in two hop range A node sends a “Hello” message to its parent and measures the RTT periodically Search for a new parent within a pre-specified range if RTT is large. If RTT < threshold1 stay with the current parent If threshold1<RTT<threshold2, search in one hop range If threshold2<RTT<threshold3, search in two hop range

36 Self-configuration S E A B D F G C C S E A B D F G C B S E A D F G Overlay TreeSearch one virtual hop Search three virtual hops

37 Avoiding loops in ALMA Each member maintains the path to the root ALMA precludes a member from becoming the child of of one of its descendants Each member checks its path to the root periodically. If a loop is detected, the member will disconnect from its parent and rejoin the group. Each member maintains the path to the root ALMA precludes a member from becoming the child of of one of its descendants Each member checks its path to the root periodically. If a loop is detected, the member will disconnect from its parent and rejoin the group.

38 Other Details Reliability Each member caches the packets it forwarded recently When a node switches, it requests the new parent for the packets that it has yet to receive. If the new parent is able to provide the packets, it relinquishes the old connection; else continues to receive packets from the old parent until it catches up with new parent. Node failure If a node does not receive any message (including a response to its Hello Message) from its parent for a long time, it rejoins the group. Reliability Each member caches the packets it forwarded recently When a node switches, it requests the new parent for the packets that it has yet to receive. If the new parent is able to provide the packets, it relinquishes the old connection; else continues to receive packets from the old parent until it catches up with new parent. Node failure If a node does not receive any message (including a response to its Hello Message) from its parent for a long time, it rejoins the group.

39 Simulation Model Simulator : GloMoSim 2.03 Topology: 120 nodes in 1000m * 1000m, ; some nodes are fixed and arranged in a grid to avoid the network partition, other nodes are mobile. Radio Propagation Range: 120 m Channel Capacity: 2 Mb/sec Mobility Pattern: random-way-point model. IEEE 802.11 MAC with Distributed Coordination function (DCF). Routing Protocol: AODV. Member nodes join the multicast session at the beginning of the simulation and remain as members. Simulator : GloMoSim 2.03 Topology: 120 nodes in 1000m * 1000m, ; some nodes are fixed and arranged in a grid to avoid the network partition, other nodes are mobile. Radio Propagation Range: 120 m Channel Capacity: 2 Mb/sec Mobility Pattern: random-way-point model. IEEE 802.11 MAC with Distributed Coordination function (DCF). Routing Protocol: AODV. Member nodes join the multicast session at the beginning of the simulation and remain as members.

40 Metrics Packet Delivery Ratio the ratio of the number of packets delivered to the receivers to the number of data packets sent. Goodput The fraction of time that useful information is received. Packet Delivery Ratio the ratio of the number of packets delivered to the receivers to the number of data packets sent. Goodput The fraction of time that useful information is received.

41 Other Protocols Progressively Adapted Sub-Tree in Dynamic Mesh (PAST –DM) – Prior Application Layer Multicast Protocol (by Gui and Mohapatra, WCNC 03) – performs the best among existing application layer multicast schemes. On Demand Multicast Routing Protocol (ODMRP) – IP Layer Routing by S.J.Lee et al. Progressively Adapted Sub-Tree in Dynamic Mesh (PAST –DM) – Prior Application Layer Multicast Protocol (by Gui and Mohapatra, WCNC 03) – performs the best among existing application layer multicast schemes. On Demand Multicast Routing Protocol (ODMRP) – IP Layer Routing by S.J.Lee et al.

42 PAST-DM Link-State Information Exchanged – Each node has entire topology information. Construct Source Based Steiner Tree Periodically Refresh Tree Source is responsible for construction/ maintenance of tree. Link-State Information Exchanged – Each node has entire topology information. Construct Source Based Steiner Tree Periodically Refresh Tree Source is responsible for construction/ maintenance of tree.

43 ODMRP Construction of a mesh – called forwarding group. Data forwarded on shortest path on mesh. Sources establish and maintain tree on-demand. Sources broadcast Join Queries – Receivers respond by broadcasting Join Tables. Join Tables are relayed back to the source. The path is thus established between a source and a receiver. Construction of a mesh – called forwarding group. Data forwarded on shortest path on mesh. Sources establish and maintain tree on-demand. Sources broadcast Join Queries – Receivers respond by broadcasting Join Tables. Join Tables are relayed back to the source. The path is thus established between a source and a receiver.

44 Sample Results ALMA provides lower cost, lower stress than PAST-DM Local adaptability and reconfiguration help.

45 Comparisons with ODMRP ALMA better for smaller groups ODMRP better for larger groups. ALMA suffers when group size increases – a large number of redundant transmissions.

46 To Conclude Application Layer Multicasting is a viable promising approach for small multicast groups. Note that we have only looked at performance – other benefits include reliability, security, flow control and congestion control. Further studies needed to fine tune ALMA. Application Layer Multicasting is a viable promising approach for small multicast groups. Note that we have only looked at performance – other benefits include reliability, security, flow control and congestion control. Further studies needed to fine tune ALMA.

47 Thank you.


Download ppt "DART Dynamic Address RouTing A network layer routing protocol, Jakob Eriksson, Michalis Faloutsos and Srikanth Krishnamurthy Department of Computer Science."

Similar presentations


Ads by Google