time [s] 1002003004005001.20.20.410...
TRANSCRIPT
WING
The Web and
InterNetworking
Group
PreDA: Predicate Routing for DTN Architectures over MANET
Flavio [email protected]
Ibrahim [email protected]
Abstract
We consider a Delay Tolerant Network (DTN) whose users (nodes) are connected by an underlying Mobile
Ad hoc Network (MANET) substrate. Users can declaratively express high-level policy constraints on how
“content” should be routed. For example, content can be directed through an intermediary DTN node
for the purposes of preprocessing, authentication, etc., or content from a malicious MANET node can be
dropped. To support such content routing at the DTN level, we implement Predicate Routing [1] where
high-level constraints of DTN nodes are mapped into low-level routing predicates within the MANET
nodes. Our testbed uses a Linux system architecture with User Mode Linux to emulate every DTN node
with a DTN Reference Implementation code. In our initial architecture prototype, we use the On De-
mand Distance Vector (AODV) routing protocol at the MANET level. We use the network simulator ns-2
(ns-emulation version) to simulate the wireless connectivity of both DTN and MANET nodes. Preliminary
results show the efficient and correct operation of propagating routing predicates. For the application of
content re-routing through an intermediary, as a side effect, results demonstrate the performance benefit of
content re-routing that dynamically (on-demand) breaks the underlying end-to-end TCP connections into
shorter-length TCP connections.
Overall PreDA Architecture
DTN Reference Implementation
Predicate Routing API DTN API
User Space
Predicate Routing Support Code
Kernel Modules
Convergence Layer
TCP
MANET
node
DTNnode
Figure 1: Architecture of a PreDA enabled DTN node running
over a MANET substrate. In the stack our modified and added
components are marked by “stars.”
Server LibrariesApplications
Bundle Daemon (dtnd)
Application Library (API)
dtnsend dtnsecrecv ...Convergence Layers
UDP ... TCP
Bundle Router
Figure 2: Architecture of the DTN reference implementation.
The modules enabling PreDA are marked with a “star”.
Declarative approaches have been widely discussed as clean-slate alternative to routing or transport protocols [1, 2]. Our work is
the first to enable declarative routing into a DTN architecture overlayed over a MANET substrate.
Predicate Routing Design and Examples
A depicted PreDA packet together with the DTN neighbor discovery extension packet are attached with
the HELLO message. Predicate info are disseminated together with DTN EID of newly discovered nodes,
their MANET address, and their distance in hops to every other node in the network.
Type = 15
IP address
0 87 15 16 32
LengthPredicateType
23 24
Flags
Figure 3: Proposed PreDA packet ex-
tension, to propagate with DTN discov-
ery, piggybacked in HELLO messages.
e.g., direct all images captured by the camera on node Sto DTN node I for pre-processing and authorization beforesending them to the user at node D.
From the network point of view, the predicate is a set ofrules that each MANET packet has to satisfy. Our systemmaps declarative user policies to such network-level routingpredicates. Predicates get propagated and installed as MANET-level forwarding rules. Any DTN node can inject, from theapplication level, a routing rule that gets seamlessly translatedinto a MANET-level rule, enabling new MANET routinginstructions.
We next show two examples (Tables I and II) of routingpredicates.
A. Predicate Examples
Consider the injection of two predicates as in Table I. Theobjective of these two rules is to re-direct the traffic destined toa node D to an intermediate DTN node I for authentication orpre-processing. The first rule directs all data destined to nodeD but not yet pre-screened at node I to node I . Notice that ifthe destination node D is in the path to reach the intermediatenode I , then node D forwards the MANET packets matchingthis rule without reassembling the associated data message forpre-screening.
The second predicate ensures that pre-screened data comingfrom the intermediate DTN node I , reach the original destina-tion D. Note that if nodes (S, I and D) are DTN nodes, then,predicate overrides the normal DTN routing process. In partic-ular, node I , not recognizing itself as the destination, wouldhave directed received bundles to D without preprocessing.Thus, our PreDA architecture supports predicate routing at theDTN level as well.
Predicate Actionsrc = ¬I ! dest= D to I
src = I ! dest= D to D
TABLE IDIRECT ALL D-TRAFFIC TO AN INTERMEDIATE DTN NODE I FOR
CONTENT AUTHENTICATION.
Predicate Actionsrc = ¬W ! dest= D drop
TABLE IIDROP TRAFFIC NOT ORIGINATED BY A White list W OF MANET NODES
AND DIRECTED TO A PRIVATE NODE.
Consider now the injection of the predicate in Table II. Inthis second use case, a predicate drops all the unsafe MANETtraffic coming from a black list of IP addresses directed toa private node D. In both cases, nodes not yet aware of theinjected predicate follow the normal routing behavior.
!"#$%&'&(&)*&$+,-.&,&)/0/12)
!!!"#$%&'()$!*+,)&-.!/"0 !"#$34+
$56&($7-0*&$
!!!!!!!"#$%&'()$!*+,)&-.!1,22+#)!3+%$!!!!
8&()&.$92:;.&6
3+-4$#.$-'$!5(6$#
"<4
93#="
)2:&
!"#)2:&
Fig. 1. Architecture of a DTN node running over a MANET substrate. Thenode is Predicate Routing (PR) enabled.
B. PreDA Advantages
Our PreDA architecture enables cooperation between theDTN overlay and the underlying network. This cooperationincludes (i) gathering information from the MANET level,(ii) applying data mining techniques at the DTN level, and(iii) declaratively generating rules from the DTN overlay,thus facilitating general-purpose network applications. Forexample, a DTN network could use trust-based approaches tocollect trust information and generate rules as in Table II, or asensed signal coming from a node can trigger the generationof new routing predicates (rules) for the purpose of energysaving, load balancing or packet processing.
III. OVERALL ARCHITECTURE
Figure 1 shows the DTN-MANET stack—our modified andadded components are marked by “stars.”
The block named Application Programming Interface (API)of the DTN reference implementation is extended to allowapplications to inject high-level requirements or constraints.We refer to this modification as Predicate Routing API (PR-API).
The Predicate Routing Support Code (PRSC) component,implemented in the routing protocol user space, mainly imple-ments two functionalities: (1) it uses the iptables Linux facility[9] to install predicate MANET routing rules, so that MANETpackets carrying content —IP packets or DTN bundle(s)—are routed based on DTN-level routing constraints, and (2) itcreates and manages new routing extensions to discover otherDTN nodes and propagate MANET routing predicates.
The Convergence Layer (CL) interfaces DTN and MANETby maintaining the mapping between DTN node names andIP/MANET addresses. The mappings are used to translaterouting predicates on DTN node names to routing predicateson corresponding IP/MANET node addresses.
A. Predicate Routing Support Code (PRSC)
Dissecting the main architecture components we have mod-ified and integrated together, in a bottom up approach, we startby describing in detail the PRSC.
Example 1: Drop traffic not origi-
nated by a White List W of nodes and
directed to a node D.
From the network point of view, the predicate is a set ofrules that each MANET packet has to satisfy. Our systemmaps declarative user policies to such network-level routingpredicates. Predicates get propagated and installed as MANET-level forwarding rules. Any DTN node can inject, from theapplication level, a routing rule that gets seamlessly translatedinto a MANET-level rule, enabling new MANET routinginstructions.
We next show two examples (Tables I and II) of routingpredicates.
A. Predicate Examples
Consider the injection of two predicates as in Table I. Theobjective of these two rules is to re-direct traffic destined to anode D to an intermediate DTN node I for authentication orpre-processing. The first rule directs all data destined to nodeD but not yet pre-screened at node I to node I . Notice that ifthe destination node D is in the path to reach the intermediatenode I , then node D forwards the MANET packets matchingthis rule without reassembling the associated data message forpre-screening.
The second predicate ensures that pre-screened data com-ing from the intermediate DTN node I , reach the originaldestination D. Note that if nodes (S, I and D) are DTNnodes, then these predicates override the normal DTN routingprocess. In particular, under normal DTN routing, node I ,not recognizing itself as the destination, would have directedreceived bundles to D without preprocessing. Thus, our PreDAarchitecture supports predicate routing at the DTN level aswell.
Predicate Actionsrc = ¬I ! dest= D to Isrc = I ! dest= D to D
TABLE IDIRECT ALL D-TRAFFIC TO AN INTERMEDIATE DTN NODE I FOR
CONTENT AUTHENTICATION.
Predicate Actionsrc = ¬W ! dest= D drop
TABLE IIDROP TRAFFIC NOT ORIGINATED BY A White list W OF MANET NODES
AND DIRECTED TO A PRIVATE NODE.
Consider now the injection of the predicate in Table II. Inthis second use case, a predicate drops all the unsafe MANETtraffic coming from a black list of IP addresses directed toa private node D. In both cases, nodes not yet aware of theinjected predicate follow the normal routing behavior.
B. PreDA Advantages
Our PreDA architecture enables cooperation between theDTN overlay and the underlying MANET network. This co-operation includes (i) gathering information from the MANETlevel, (ii) applying data mining techniques at the DTN level,
!"#$%&'&(&)*&$+,-.&,&)/0/12)
!!!"#$%&'()$!*+,)&-.!/"0 !"#$34+
$56&($7-0*&$
!!!!!!!"#$%&'()$!*+,)&-.!1,22+#)!3+%$!!!!
8&()&.$92:;.&6
3+-4$#.$-'$!5(6$#
"<4
93#="
)2:&
!"#)2:&
Fig. 1. Architecture of a DTN node running over a MANET substrate. Thenode is Predicate Routing (PR) enabled.
and (iii) declaratively generating routing rules from the DTNoverlay, thus facilitating general-purpose network applications.For example, a DTN network could use trust-based approachesto collect trust information and generate routing rules as inTable II, or a sensed signal coming from a node can triggerthe generation of new routing predicates (rules) for the purposeof energy saving, load balancing or data processing.
III. OVERALL ARCHITECTURE
Figure 1 shows the DTN-MANET stack—our modifiedand added components are marked by “stars.”
The block named Application Programming Interface(API) of the DTN reference implementation is extended toallow applications to inject high-level routing requirements orconstraints. We refer to this modification as Predicate RoutingAPI (PR-API).
The Predicate Routing Support Code (PRSC) component,implemented in the routing protocol user space, mainly imple-ments two functionalities: (1) it uses the iptables Linux facility[9] to install predicate MANET routing rules, so that MANETpackets carrying content —IP packets or DTN bundles— arerouted based on DTN-level routing constraints, and (2) itcreates and manages new routing extensions to discover otherDTN nodes and propagate MANET routing predicates.
The Convergence Layer (CL) interfaces DTN andMANET by maintaining the mapping between DTN nodenames and IP/MANET addresses. The mappings are used totranslate routing predicates on DTN node names to routingpredicates on corresponding IP/MANET node addresses.
A. Predicate Routing Support Code (PRSC)
Dissecting the main architecture components we havemodified and integrated together, in a bottom up approach,we start by describing in detail the PRSC.
Our PreDA architecture allows every node to behave asa pure MANET node or, when needed, to use the DTN prop-erties. This flexibility is achieved by configuring on demandthe properties that the user or application wants to embed insuch nodes. Listing 1 lists the options that the routing protocoldeamon of PreDA supports for the case of the AODV protocol.
Example 2: Direct all D traffic to an
intermediate DTN node I for content au-
thentication.
Predicate Routing in Action on Our UML Testbed
1000 200 300 400
0.2
0
0.4
1
1.2
Time [s] 500
Dat
a [M
B]
0.6
0.8
1.4
Figure 4: Data delivered at the destination vs.
time for 2% packet loss probability.
0.030.020.01 0.04 0.05 0.06 0.07 0.08
35
30
40
45
50
Packet Loss Probability260 270 280 290 300 310 320 3300
0.5
1
1.5
2
2.5
Time (s)
Data
(M
B)
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 22
2.2
2.4
2.6
2.8
3
3.2
3.4
3.6
3.8
4
Drop if source is DTN #4
Drop if source is DTN #6
Drop Predicate #1 Inserted
Drop Predicate #2 Inserted
Drop Predicate #1 Removed
Drop Predicate #2 Removed
260 270 280 290 300 310 320 3300
0.5
1
1.5
2
2.5
Time (s)
Data
(M
B)
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 22
2.2
2.4
2.6
2.8
3
3.2
3.4
3.6
3.8
4
Drop if source is DTN #4
Drop if source is DTN #6
Drop Predicate #1 Inserted
Drop Predicate #2 Inserted
Drop Predicate #1 Removed
Drop Predicate #2 Removed
260 270 280 290 300 310 320 3300
0.5
1
1.5
2
2.5
Time (s)
Data
(M
B)
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 22
2.2
2.4
2.6
2.8
3
3.2
3.4
3.6
3.8
4
Drop if source is DTN #4
Drop if source is DTN #6
Drop Predicate #1 Inserted
Drop Predicate #2 Inserted
Drop Predicate #1 Removed
Drop Predicate #2 Removed
260 270 280 290 300 310 320 3300
0.5
1
1.5
2
2.5
Time (s)
Data
(M
B)
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 22
2.2
2.4
2.6
2.8
3
3.2
3.4
3.6
3.8
4
Drop if source is DTN #4
Drop if source is DTN #6
Drop Predicate #1 Inserted
Drop Predicate #2 Inserted
Drop Predicate #1 Removed
Drop Predicate #2 Removed
0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.130
35
40
45
50
55
Packet loss probability
Per
cent
impro
vem
ent
in d
eliv
ery t
ime
0.09 0.1
% Im
prov
emen
t in
Del
iver
y Ti
me
Figure 5: Percentage improvement in data delivery
time vs. packet loss probability with 95% confidence
interval when an authentication predicate is injected.
Dat
a [M
B]
260 270 280 290 300 310 320 3300
0.5
1
1.5
2
2.5
Time (s)
Data
(M
B)
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 22
2.2
2.4
2.6
2.8
3
3.2
3.4
3.6
3.8
4
Drop if source is DTN #4
Drop if source is DTN #6
280270260 290 300 310 320 330
0.5
0
1
1.5
2
2.5
Time [s]260 270 280 290 300 310 320 3300
0.5
1
1.5
2
2.5
Time (s)
Data
(M
B)
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 22
2.2
2.4
2.6
2.8
3
3.2
3.4
3.6
3.8
4
Drop if source is DTN #4
Drop if source is DTN #6
Drop Predicate #1 Inserted
Drop Predicate #2 Inserted
Drop Predicate #1 Removed
Drop Predicate #2 Removed
260 270 280 290 300 310 320 3300
0.5
1
1.5
2
2.5
Time (s)
Data
(M
B)
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 22
2.2
2.4
2.6
2.8
3
3.2
3.4
3.6
3.8
4
Drop if source is DTN #4
Drop if source is DTN #6
Drop Predicate #1 Inserted
Drop Predicate #2 Inserted
Drop Predicate #1 Removed
Drop Predicate #2 Removed
260 270 280 290 300 310 320 3300
0.5
1
1.5
2
2.5
Time (s)
Data
(M
B)
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 22
2.2
2.4
2.6
2.8
3
3.2
3.4
3.6
3.8
4
Drop if source is DTN #4
Drop if source is DTN #6
Drop Predicate #1 Inserted
Drop Predicate #2 Inserted
Drop Predicate #1 Removed
Drop Predicate #2 Removed
260 270 280 290 300 310 320 3300
0.5
1
1.5
2
2.5
Time (s)
Data
(M
B)
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 22
2.2
2.4
2.6
2.8
3
3.2
3.4
3.6
3.8
4
Drop if source is DTN #4
Drop if source is DTN #6
Drop Predicate #1 Inserted
Drop Predicate #2 Inserted
Drop Predicate #1 Removed
Drop Predicate #2 Removed
260 270 280 290 300 310 320 3300
0.5
1
1.5
2
2.5
Time (s)
Data
(M
B)
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 22
2.2
2.4
2.6
2.8
3
3.2
3.4
3.6
3.8
4
Drop if source is DTN #4
Drop if source is DTN #6
Drop Predicate #1 Inserted
Drop Predicate #2 Inserted
Drop Predicate #1 Removed
Drop Predicate #2 Removed
Figure 6: Throughput drops and resumes after the
“dropping” predicates propagate and are removed.
Summary of Contributions
• We provide a reliable DTN neighbor discovery
mechanism that leverages AODV’s HELLO mes-
sages to propagate DTN node names. The conver-
gence layer of the DTN stack then maintains the
mappings from DTN node names to IP (MANET)
node addresses (Figure 1 and 2).
• In addition to DTN node names, AODV’s HELLO
messages are also used to propagate low-level
MANET routing predicates (Figure 3). These
latter predicates are mapped by the convergence
layer from given DTN-level requirements on rout-
ing content.
• As a proof of concept, we implemented our architec-
ture on our UML based testbed [3] that simulates a
network of emulated DTN-MANET nodes as well
as MANET-only nodes. The wireless connectivity
and mobility of nodes are simulated using the ns
simulator (ns-emulation version). The emulation
uses UML (User Mode Linux) to run real DTN
(reference implementation) and MANET (AODV
routing) code.
• We present throughput results showing the efficient
and correct operation of propagating routing pred-
icates. We demonstrate two applications. The first
application re-directs content to an intermediary
node for pre-processing (Example 2, Figure 4
and 5). We also demonstrate the correct opera-
tion of a second application where a malicious node
is isolated by dropping all its packets (Example
1, Figure 6).
References[1] Timothy Roscoe, Steven Hand, Rebecca Isaacs, Richard Mortier, and Paul W. Jardetzky. Predicate Routing: Enabling Controlled
Networking. Computer Communication Review, 33(1):65–70, 2003.
[2] Eiko Yoneki and Jon Crowcroft. Towards Data-Driven Declarative Networking in Delay Tolerant Networks. In DEBS 08 Inter-
national Conference on Distributed Event-Based Systems. ACM, 2008.
[3] Gabriele Ferrari Aggradi, Flavio Esposito, and Ibrahim Matta. Supporting Predicate Routing in DTN over MANET. In CHANTS
’08: Proceedings of the third ACM Workshop on Challenged Networks at MOBICOM, pages 125–128, San Francisco, Cali-
fornia, USA, 2008. ACM.