Академический Документы
Профессиональный Документы
Культура Документы
Acknowledgements: Most materials presented in the slides are based on the tutorial
slides made by Dr. Ling-Jyh Chen, Dr. Kevin Fall and Dr. Thrasyvoulos Spyropoulos.
Legacy Networks
A SUCCESS STORY!
Wired
Backbone
802.11, wimax
Higher bandwidth
than cellular:
54Mbps
Much cheaper/KB
Wireless Networks:
Ad-hoc and Sensor Networks
Target Tracking
Wireless Networks
Ad Hoc and Sensor Networks (2)
node
link
Wireless Networks
Ad Hoc and Sensor Networks (3)
NOT REALLY!
End-to-end principle
Routers are flakier than end hosts
Non-Internet-Like Networks
Challenged Networks
Intermittend/scheduled/opportunistic links
High error rates/low usable capacity
Very large delays
Different network architectures
Disconnection
Non-faulty disconnections
Motion
Low-duty-cycle operation
Interoperability considerations
Networks may use application-specific framing
formats, data packet size restrictions, limited node
addressing and naming etc.
Security
End-to-end approach not attractive
Require end-to-end exchanges of keys
Undesirable to carry traffic to destination before
authentication/access control check
Limited longevity
Round-trip time may exceed nodes lifetime making
ACK-based policies useless
Limited resources
Affects ability to store and retransmit data due to
limited memory
TCP chatiness
Idea: Bundles
Optional ACKs
Depending on class service
Intermittent Connectivity
Contact 1:
Dish A sees earth Sat B from 12:30h to 12h:45h
Contact 2:
Sat B sees rover C on mars from 17:30h to 18:30h
Idea: Store-Carry-and-Forward
Store-Carry-and-Forward (2)
1
12
13
S
14
2
3
4
16
11
15
5
8
10
Store-Carry-and-Forward (3)
Store-Carry-and-Forward (4)
Networking in Space
Heterogeneity
Examples:
Earths Internet: short delays, low error rate, TCP reliability
Sensor network at Mars: short delays, high error rate, data
aggregation at sink(s)
Satellite backbone: long delays, high error rate, LTP
(lightweight transport protocol)
DTN gateways
Perform reliable message routing & security checks
Store messages for reliable delivery
Resolve globally-significant name tuples to locally-resolvable names
for internal destined traffic
Naming
Intermittent Connectivity:
The Technical Argument
node
link
Intermittent Connectivity:
The Technical Argument
X
A
B
B
Intermittent Connectivity:
The Technical Argument(2)
C
B
Intermittent Connectivity:
The Technical Argument(2)
Save power
(e.g. sensor)
A
Intermittent Connectivity
The Economical Argument
X
S
node
link
path
X
path
disruption!
disruption!
ZebraNet (Princeton)
Biologists want to learn animal habits
Size of herds
Mobility patterns (running, sleeping, grazing)
Daily habits (watering)
Herd of zebras
(range of few meters)
Z
Z
Z
Z
Z
Z
base station
Vehicular Networks
Drive-Thru Internet
Vehicular Networks
Drive-Thru Internet (2)
Internet
email reply
email reply
send email
send email
write email
Accident Prevention
Traffic Reports
Can be combined with Vehicle-to-Roadside
An example
Why?
Hotspots
Now we have to look for the hotspot
Mobile computing = the user moves until he can
compute!!
Extend Access Point (WiFi) connectivity with ad-hoc
subnetworks
Summarizing:
Delay Tolerant Architecture for Wireless
A necessity:
Deep space communications, underwater
networks
Remote, underdeveloped areas
A choice:
Sensor networks
Vehicular networks
Extension:
Peer-to-peer wireless
Problems:
Bootstrap
New user communicates w/PKG over secure
channel to get initial key pair
Can also used tamper-resistant device
Reversal of accumulated source route used for PKG
to reach new node
Use of Time
Add datastamp to public key IDs helps to minimize
compromise time if device is lost
Time-based keys instead of CRLs (Certificate
Revocation List)
Fail-safe vs fail-insecure (CRLs)
Routing
Legacy Routing
Graph: G = {V,E}
V: set of nodes
E: set of links
w(e): E
cost function (capacity, energy, queue size)
Routing (S,D):
path
PSD = {v0,,vi,,vN: vi V, v0 = S, vN = D}
such that
and
eii+1E
Legacy Routing
Proactive Protocols (table-driven)
Dijkstras algorithm
Shortest paths from A to V-{A}
Initialization: cost C(A)=0, C(v) = ; set Q = {empty}
Loop:
Terminate: when Q = V
Step 2
L(B)=4
L(B)=4
B
4
L(A)=0
B
2
4
D
L(D)=
L(A)=0
2
1
C
L(C)=6
Step 3
L(C)=5
Step 4
L(B)=4
L(B)=4
B
4
L(A)=0
B
2
1
C
L(C)=5
4
D
L(D)=6
L(D)=6
L(A)=0
2
1
D
3
6
C
L(C)=5
L(D)=6
Legacy Routing
Reactive Protocols
DSR, AODV
If path breaks
Repeat route discovery
Or fix locally if other subpaths available are known (route
maintenance)
UPD
UPD UPD
REQ
(DSR, AODV)
REQ
REQ
REQ
UPD
UPD
DTN Routing
ci = {vi,vj,tstart,tfinish,bandwidth,prop. delay,}
Types of Contacts
Scheduled contacts
E.g. satellite links, message ferry
All info known
Probabilistic contacts
Statistics about contacts known
E.g. mobility model, or past observation+prediction
Bus relay, sensors with random wake-up schedule
Opportunistic contacts
Not known before it occurs
E.g. a tourist car that happens to drive by the village
Set of contacts ci
Evaluation Metrics
Messages Delivered
Knowledge Oracles
Problem 1) Assume we know data about (oracle)
Contacts (Oracle)
Specific info about all contacts;
e.g. contact cij(t1), cij(t2), cij(tn)
Queuing (Oracle)
Info about all queue sizes Q(nij,t) (all nodes and all times)
Zero Knowledge
No oracles used; only current/local view available
Worst-case performance (baseline)
Complete Knowledge
All oracles used + buffer (resource) information
Optimal performance (for comparison only)
Partial Knowledge
Explore tradeoffs of using only some of the
available oracles
Delay:
Transmission
Propagation
Queuing = Waiting for contact + waiting for queue
to drain
Downsides:
No reaction to congestion
Ignores a good link even if it is available
Time = 0
L(B)=5
B
cAB=(5,7),(13,16),(20,22)
cBD=(3,4),(11,15),(26,28)
wAB(0) = 5
L(A)=0
A
cBC=(7,10),(14,15),(26,30) D
L(D)=
wAC(0) = 9
cAC(9,10),(14,17),(25,26),
cCD=(6,7),(13,15),(23,25)
C
L(C)=9
Time = 5
L(B)=5
B
cBD=(3,4),(11,15),(26,28)
cAB=(5,7),(13,16),(20,22)
wBC(5) = 2
L(A)=0
A
wAC(5) = 6
cBC=(7,10),(14,15),(26,30) D
cAC=(9,10),(14,17),(25,26),
L(D)=
L(D)=11
cCD=(6,7),(13,15),(23,25)
C
L(C)=9
L(C)=7
Q(e,t,s) = 0
ED is optimal if:
1. Low traffic rates (e.g. 1 msg)
2. Or infinite bandwidth and buffer
Problems
Problems:
Buffer overflow
Potential loops (not consistent topology view between
nodes when running Dijkstra)
Message/Path splitting
Message fragmentation
Multi-path routing (e.g. for MED algorithm)
Performance Comparison
MEED Algorithm
(Minimum Estimated Expected Delay)
Message vector i
Table with topology updates from nodes NSi
Extensions?
1)
2)
average queuing
average traffic requirements
EDLQ
EDAQ
LP?
Message Ferrying
Message Ferrying
1. Enforce Ferry Trajectory
Li al 03,
Zhao et al 04
DataMule
DataMule
DataMule
DataMule
Message Ferrying
2. Use Existing Trajectories
Ferry mobility
1. Designed for non messaging reasons (buses)
2. Optimized for message transfer (robots)
Number of ferries
Ferry relaying:
Yes/No
Node Relaying
dL
L
b
d
ij ij
i, j
ij
i, j
min d
L
L
ij
(Delay Problem)
(Bandwidth Problem)
Delay Problem
min d ijL
L
Bandwidth Problem
(x i 2r)W
si
| L | x j
Traffic demand
of i (per cycle)
subject to Wx i s j x j si | L | 2rW,
j
xi 0
Receiver
(condition 1)
Shortcomings of NIMF
Ferries
Algorithm:
Step 1: assume n ferries assign one to each
node
Step 2: estimate ED (expected delay) and
reassign until m ferries and ED minimum
Step 3: refine assignment for end-to-end
feasibility
Step 4: calculate optimal route for each ferry
independently
E* = excess capacity
E = expected delay if capacity is met
a = total data rate
= service rate of route = 0.5 k W
L(1 a ), if a
E
if a
0,
*
0,
if a
1
a
E
L(1 )(1
), if a
k
-a
'
For each S-D pair nij: geographic routing => path of cells (e.g.
C2,C3,C4)
Overlap operation between Cx,Cy => shared node is relay
Assign ferries: 1 to each cell -> add extra ferry to highest EWD
Performance Analysis
with Multiple Ferries
Some simulation results show that MURA (nonrelaying) has the best performance
Routing: Opportunistic
Networks
D
A
C (C,D) = {8,10},{15,17}
Tx Range
Tx Range
WHERE IS D?
D
A
WHERE IS D?
C (C,D) = ??
Tx Range
WHERE IS D?
Epidemic Routing
E
D
A
C
Message Vector of A
Message Vector of B
Dest ID
Seq. Num.
Dest ID
Seq. Num.
(G,1)
(E,0),(F,1)
Message Vector of A
Message Vector of B
Dest ID
Seq. Num.
Dest ID
Seq. Num.
Encounters
Implications:
1.
2.
1 M K
Ti
ED
M 1 K 1 i 1
D
M nodes
I.I.D. mobility
increasing traffic
increasing traffic
Plagued by contention
D
D
E
D
K-neighbor Epidemic
G
D
D
E
F
K=2
Flooding-based Schemes
Single-copy
Multi-copy
+ higher robustness
Destination
Direct transmission
E
D
B
D
D
S
C
D
S
Randomized routing
E
D
A
C
Randomized
Why Transmitting is Faster Than Not!
F
D
D
EB TD
EATD = ET(d)
ETD
ET(d 1) ET(d 1)
2
PBA =
PAB =
Utility-based Routing
Utility UX(Y) = f(tX(Y))
t(D) = 26
tB(D) = 100
tA(D) = 138
t(D) = 68
t(D) = 218
D
A
t(D) = 0
EB TD
EATD = ET(d)
ETD
ET(d 1) ET(d 1)
2
Utility-based
PBA >
=
PAB <
=
tA(D) = 20
tA(D) = 20
tA(D) = 20
A
tA(D) = 200
Transitivity Idea
Transitivity
Oracle-based optimal
algorithm
Effect of Connectivity
Random Walk (local model)
utility
randomized
utility
randomized
optimal
seek&focus
Increasing connectivity
X-axis: Tx Range
(Connectivity)
seek&focus
Increasing connectivity
Effect of Connectivity
Random Waypoint (non-local)
randomized
randomized
utility
utility
Single-copy Strategies:
Lessons Learned
2-hop Scheme
E
Relay C cannot FWD to B
B
Dst
Src
(M-1)/2
Delay?
T1 = time until source meets any node (M-1)
T2 = time until source meets any node (M-2)
ED(n) ETn 1
Rem. Delay
after n copies
M n 1
ED(n 1)
M n
Prob{next node
not DST)
Controlled Replication
(Spraying)
Source Spraying
Tree-based Spraying
L=1
L=1
B
L=4
D
Src
L=2
L=2
L=1
D
D
Dst
n1
L-n1
nj
j-nj
(analysis)
increasing traffic
Transmissions
Delay
Low traffic
>10x epidemic
3-4x other multi-copy
same as epidemic
1.4-2.2x other schemes
High traffic
1.8-3.3x
same as above
1
12
13
S
14
2
3
16
11
15
7
8
10
4
9
6
Covered by Relay 1
13
S
14
2
3
16
11
15
Node S community
Node Ds community
10
4
9
6
Advantages:
still: few transmission + redundant copies
plus: take advantage of good transmission
opportunities
copies dont get stuck in local neighborhood
Delivery Delay
slow!
fastest
ut
fl
yt
i
il
d
oo
d
oo
l
f
m
o
nd
ra
r
sp
ay
&
ai
t
ra
sp
&
cu
fo
id
ep
ic
m
e
i
ut
-fl
y
t
li
d
oo
ra
m
o
nd
od
flo
s
ay
pr
&
ai
a
pr
&
c
fo
us
Heterogeneous Scenarios
Effect of Connectivity:
Community-based Mobility
(contd)
Scenario 1: Homogenous
Improvements
Smart Replication
Who should get the copies?
Energy
Mobility
Trustworthiness
GPS location
Queue Size
Hybrid
An Analytical Framework
Why do we need it?
Performance Analysis
An Analytical Framework
Assumptions
Network area:
Random walk: grid (torus) discrete movement
Waypoint-based models: square (torus) continuous movement
Notation:
M: number of nodes
N: network area
K: transmission range (small enough to have partial
connectivity )
EATB: expected hitting time from A to B
ET: expected hitting time starting from stationary distribution
EM: expected meeting time between two nodes starting from
stationary distribution
Random Walk
Hitting Time (Tx Range K 0)
2)
p = 0.25
K=3
X
EXTY = cNLogN
2K 1 K 2
N
E A TY
K
2 1
3)
2K 1 K 2
ET N cLogN
K
2 1
Method:
1.
2.
3.
Phit 2KL
Multiply by the expected
duration of each epoch Te
ET
N
Te
2KL
K
epoch
start S
4.
epoch
finish
ET
EM
vr
E[|
v
S v D |]
vr
]
E[| v S |]
EM
M -1
2
1
2
S
EM
2(M - 2)
EDopt
M nodes
Tx Range = K
HM-1
EM
(M - 1)
where HM-1 is the
harmonicM1
sum
1
HM1
i
i1
Prob(ii+1,t) = (N-i)*i*t
N+1: nodes
1/: meeting time
state i: i copies
state A: DST found
Epidemic Routing
2-hop Routing
I (t) (N I) I
'
(1)
(2)
P (t) I (1 P)
'
N
I(t)
1 (N 1)e Nt
N
P(t)
(N 1) e Nt
lnN
Expected Delay ETd (1 P(t))dt
(N 1)
0
f(K)
q = p P(at least one node within range)
D = 1 q + q f(K)
EDrnd
Message
movement
2 ED dt
D 1
Destination
movement
Utility-based algorithms
(no transitivity)
p
t
x
D
0
r-K
p
p
r-2
p
p
r-1
p
p
p
p
r+1
p
p
p
r+2
r+K
p tx
Prob{node with higher utility within range AND node is farther than D}
Let ED(i) denote the expected remaining delay after i copies are
spread
Clearly EDsw(src) = ED(1)
ED(1) can be calculated through a system of recursive equations
If not destination,
add extra term
EDdt
Expected remaining
i(M - i)
ED(i)
delay after i copies
Time until a new
are spread
node is found
If destination, stop
M i 1
Mi
P(not destination)
i 1
ED(i)
i
If found by relay,
do nothing
Spray Phase
EDsw ES
M L 1
EW
M1
EM
EW
L
L 1
EM
ES
i1 M i
Bound is tight for L<<M
= EM
M 1
L
(M - 1)
i1 M i
L 1
EDopt
Lmin
1.5
10
21
13
T1
EM
M 1
1
1
T2 EM
M 1 M 2
Estimator:
2T2 3T1
M
T2 2T1
1.
2.
Full Erase
F
D
dst
IMMUNE
F
D
C
No new copy to
recovered nodes
X
B
Delete
Recovered
local Node
copy
msg: (S,D,0)
IMMUNE-TX
Avoided this Tx
F
D
C
Norecovered!
new copy to
C
recovered
nodes
msg:
(S,D,0)
B
Delete
local Node
copy
Recovered
msg: (S,D,0)
dst
VACCINE
F
D
dst
C
Norecovered!
new copy to
C
recovered
nodes
msg:
(S,D,0)
SIR Model
Epidemiology
I: infected nodes
Nodes with a copy, and no anti-packet
R: recovered nodes
Nodes with an anti-packet
S: susceptible nodes (S = N I R)
Havent ever received a copy or anti-packet
Immune:
I (t) (N - I - R) I - I
'
R' (t) I
I (t) (N - I - R) I - I(R 1)
R' (t) I(R 1)
'
Immune-TX
Immune
I ' (t) (N - I - R) I - I
R' (t) I
dI
N - I - R - 1, I(0) 1
dR
I(R) ( N 1)e R R N
lim I(t) 0 lim R(t) lim [( N 1)e R N]
t
lim R(t) N
N 10 t
E[Tx] N - 1
IMMUNE-TX
I ' (t) (N - I - R) I - I(R 1)
R' (t) I(R 1)
R 2 (N - 1)R 1
I(R)
R 1
N - 3 N 2 2N 5
E[Tx]
2
Performance of Buffer
Management
Queuing Policies
Drophead
drop the oldest packet in buffer (most hops or least
time to TTL expiration)
rational(?): large time in the network => little chance
to be delivered before TTL expires
Drophead-sp (source-prioritized)
Dont drop a source packet for an arriving relay
packet
buffer
droptail
drophead
drophead
(sp)
0.97
0.22
0.05
10
0.95
0.03
0.0
20
0.90
0.002
0.0
QoS Provision
x2
x3
x2
x1
Outgoing links
x3
Store-and-forward
x3
x2
x1
Incoming links
x3
x2
x1
Outgoing links
Network Coding
f(x1,x2,x3)
msg x1:
f(x1 , x 2 ) x1 x 2
msg x2:
f(x1,x2):
msg x1:
f(x1,x2):
msg x2:
x1
x2
S2
x2
x1
x2
x1
x1
x2
x2
x1
4 units:
received x1,x2
R1
R2
Time 1
Time 2
Time 3
Time 4
3 units:
received x1,x2
S1
x1
x2
x2
x1
S2
Time 1
Time 2
Time 3
x1 x 2
x1 x 2
x2
x1 x 2
x1
3 units:
received x1,x2
R1
R2
3 units:
received x1,x2
x2
Bx
1
A
x2
Bx
1
A
No coding: delay = 4
x1
Ax
2
B
x1 x 2
Bx
1
A
x2
x11 x 2
Bx
A
Coding: delay = 3
x1 x 2
Ax
2
B
m packets
n linear combinations
b1 = a11x1+ a12x2++ a1mxm
b2 = a21x1+ a22x2++ a2mxm
.
bn = an1x1+ an2x2++ anmxm
independent linear combinations m
Centralized choice of coefficients => Decode!
Set of nodes V
N(u): {i V: i neighbor of u}
Set of sources S V (m = |S|)
Messages: xi, i=1,,m
xi = [xi1, xi2,, xiM], M symbols F2k = (0,2k-1)
K > 8 to ensure independence for random coding
Encoding matrix G:
m
m
m
g ij x jM
g ij x j1 g ij x j2
row i = (gi1,,,gim |
,
,,
)
j 1
j 1
j 1
Encoding
vector
m = 3 messages in total
g1=[1,0,0]
g2=[1,1,0]
m = 3 messages in total
g1=[1,0,0]
g2=[1,1,0]
g2=[0,1,1]
m = 3 messages in total
g1=[1,0,0]
g2=[1,1,0]
g2=[1,0,1]
Generation Management:
Which messages to code
together?
Types of traffic
2)
x3
x2
x1
x
f(x
1 1,x2,x3)
x3
x2
Erasure Coding
Erasure Coding
(r=2, n=4)
A
A-1
A-2
A-3
A-4
B-1
B-2
C
B-3
B-4
C-1
C-2
D
C-3
C-4
D-1
D-2
Lossy Channel
A-1
A-3
A-2
A
A-4
B-1
B-3
C-1
B-2
B
D-1
C-4
D-3
D-4
Layered coding
LMDC Examples
Video
Web Document
Sequencing
Still there, but for bundles
Connection
Impossible in most DTN cases
Reliability
Late ACKs. Large RTT.
Congestion Control
Very difficult to get up-to-date congestion info in partitioned
environments;
Reliability in DTNs:
Hop-by-Hop
Reliability in DTNs:
Active Receipt
Reliability in DTNs:
Passive Receipt
Passive Receipt:
- generated by destination when it receives the
message
- can only be passed to infected nodes (essentially
IMMUNE-TX)
Reliability in DTNs:
Network-Bridged Receipt
Assume complementary network:
DTN + (low bandwidth, connected network)
Cellular network
Reliability in DTNs
Message Drop!
S
Congestion
Notification
Buffer Full
D rate!
Cut back send
S
Irrelevant Notification!
Unnecessarily reduce
throughput!
May not see S
D
D
Message Drop!
Congestion
Notification
Buffer
No Congestion!
Full
Mobility Models
Random Walk
p = 0.25
Random Waypoint
Pause
Random Direction
Random Direction
1. Choose direction uniformly in 360o
2. Move for exponential amount of time
3. Reflect or turn-around on boundary
Other Models
Manhattan Model
All nodes move within restricted street
borders
Grid structure (vertical and horizontal
streets, like Manhattan)
Stop lights?
Freeway Model
Nodes move on lanes of one line; lanes
in both directions
Potentially other crossing freeways
Speed considerations between nodes in
same lane
Group Mobility
Subset of nodes associated with a leader
Followers make move based on leaders
move
No location preference
Uniform choice of destination
Uniform stationary distribution
Real-life Mobility
Location preference?
Nodes dont visit all locations equally frequently
Usually: spent most of the time in a small subset of locations
(e.g. office, house, library, etc.)
What else?
Social relationships
ZebraNet
Bus trace (SF, Toronto, DieselNet)
Campus trace (UCSD, Dartmouth, MIT)
Conference trace (Infocom, SIGCOMM)
Enterprise trace (Intel, IBM)
http://crawdad.org
Location/Node preference
Tend to see specific locations/nodes, more often
than other
Node Heterogeneity
Some nodes see all locations/nodes; others a small
subset
Community-based Mobility
1-pL(i)
pR
stay inside
community
(i)
Continue roaming
1-pR(i)
local
Ci
pL(i)
1-pL(i)
local
pR(i)
roam
pL(j)
1-pL(j)
local
pR(j)
roam
1-pR(i)
1-pR(j)
Node i
Node j
Office
C2
p12(i)
p32(i)
Library
C3
p21(i)
House
(C1)
p11(i)
p22(i)
C2
p21(i)
p24(i)
p32(i)
C4
C3
p43(i)
Inter-Community Mobility?
Intra-Community Mobility?
p22(i)(t)
C1
C2
p21(i)(t)
p24(i)(t)
p32(i)(t)
C4
C3
p43(i)(t)
Mobility Profile
Multi-tiered Community
p13(i)(t)
p14(i)(t)
p12(i)(t)
Tier 1
Inter-contact Times
LOG-LOG plots
Straight line in log-log plot => power law/heavy-tailed (slope = exponent)
Protocol Performance
Opportunistic routing: give a copy randomly
Depending on the exponent (a) any opportunistic
protocol (e.g. direct transmission, 2-hop,
spray&wait) may have infinite delay!
UCSD trace
P(T>t)
Survival Curve
0.4
0.2
0.06
5x10^3
censored data
6x10^4
6.6x10^6
Self-Similarity Test
Social Networks
Social Networks
2.
3.
4.
Community 2
Community 3
Community 2
B: connects 1,2
Mapping Communities to
Locations
p
(i)
C
w
jC
p2(B)(t)
ij
{j C}
p3(B)(t)
Some issues
Nodes move only between specific (community)
locations
Different social graph weights depending on time of
day
Evolve social graph weights
PeopleNet Architecture
Further Issues
Research Issues
Routing
Buffer Management
Power Management
Auto-Configuration
Network Reliability
Free-riders
Black holes
Worm holes
Information Security
Data Encryption