Transcript Talk slides
DART
Dynamic Address RouTing
A network layer routing protocol,
Jakob Eriksson, Michalis Faloutsos and
Srikanth Krishnamurthy
Department of Computer Science and
Engineering
The Problem
• 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.
DART basics
• 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.
Why on Earth...?
Who knew what Internet
Rural networks
would become?
Theater-wide military networks
Developing countries
Protecting civil liberties
Civil disobedience
Networked society
Ubiquitous and free connectivity?
Internet 2.0?
Free speech
Consumer owned
networking
Circumventing copyrights?
Because we can!
Roadmap
• Related work
• DART
• Address allocation
• Routing
• Node Lookup
• Simulations
• Future work
• Conclusion
Related Work
• 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.
Some Terminology
• 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.
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.
The Addressing Problem
• 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).
Basic Solution
• 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.
Address Allocation example
When a node joins, it picks an address that
shares a prefix one of its neighbors.
The Routing Table
• Thanks to the invariant, routing is scalable.
• Each node keeps log N routing entries.
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.
Lookup Table Basics
Node 3 (011)
Node 7 (111)
“Node 3 has address 001”
??
“Node 7 has address 000”
Every ID->Address mapping is stored at the node
whose address most closely matches the ID!
Prefix Conflict Resolution
• 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)?
Solution: Use Node IDs
• 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.
Simulations
• Performed using two simulators:
• Home-grown for speed and scalability.
• ns-2 for comparisons and accuracy.
• Wireless nodes, with omnidirectional
antennae.
Routing Table Size
Routing Table Size (entries)
30
20
10
0
10
100
1000
10000
Network Size (nodes)
Extremely small average routing table
size < 2*log N.
About 15 entries for 4000 nodes!
Experimental Results
Path Stretch (fractional increase)
0.6
0.5
0.4
0.3
0.2
0.1
0
125
250
375
500
625
750
875
1000
Network Size (nodes)
• Low average path stretch, 30-35%, so route
aggregation is not hurting us much.
Simulating large
networks
• 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.
Overhead vs. CEF
12000
Overhead (packets/s)
10000
8000
6000
4000
2000
0
0.1
1
10
100
Connection Establishment Frequency (conn/s)
•
•
DART overhead is not affected by CEF.
Reactive protocols suffer when CEF increases.
Throughput vs. CEF
30
Throughput (packets/s)
25
20
15
10
5
0
0.1
1
10
100
Connection Establishment Frequency (conn/s)
•
•
DART reliably outperforms AODV/DSR when
connection establishment frequency > 3.
CEF == 3 means one connection/node every 2
mins.
Future Work
• Finalize addressing, routing and lookup
• Sabotage resistance
• Fairness and incentive mechanism to
encourage sharing
• Linux kernel implementation
Finalize things...
• 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.
Sabotage Resistance
• Any large, open network will have a nonzero 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.
Routing Layer Fairness
• 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.
Real-world implementation
• 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.
Academic Accomplishments
• 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!
Conclusions
• 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 !
ALMA
Application Layer Multicast Algorithm
A Multicast Protocol for Ad Hoc Networks,
Min Ge, Michalis Faloutsos and Srikanth
Krishnamurthy
Department of Computer Science and
Engineering
Why Application Layer?
• 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 not Application Layer ?
• 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.
Objectives and Strategy
• 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.
ALMA
• 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.
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
Self-configuration
Search three virtual hops
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.
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.
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.
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.
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.
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.
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.
Sample Results
• ALMA provides lower cost, lower stress than
PAST-DM
• Local adaptability and reconfiguration help.
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.
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.
Thank you.