Schedule-Aware Bundle Routing (Contact Graph Routing)
Scott Burleigh
Routing vs Forwarding in DTN
An analogy: routing is like travel planning
Continuing the analogy
DTN vs IP routing (1 of 2)
DTN vs IP routing (2 of 2)
Contact plans
Using a contact plan for DTN routing
Network topology
For internal NASA use only; NOT cleared for unlimited release.
9
8/22/2022
A
B
C
D
Example contact plan
10
8/22/2022
Contact | Sender | Recvr | From | Until | Rate |
1 | A | B | 1000 | 1100 | 1000 |
2 | B | A | 1000 | 1100 | 1000 |
3 | B | D | 1100 | 1200 | 1000 |
4 | D | B | 1100 | 1200 | 1000 |
5 | A | C | 1100 | 1200 | 1000 |
6 | C | A | 1100 | 1200 | 1000 |
7 | A | B | 1300 | 1400 | 1000 |
8 | B | A | 1300 | 1400 | 1000 |
9 | B | D | 1400 | 1500 | 1000 |
10 | D | B | 1400 | 1500 | 1000 |
11 | C | D | 1500 | 1600 | 1000 |
12 | D | D | 1500 | 1600 | 1000 |
Rules for drawing a contact graph
11
8/22/2022
Contact graph for node D,�given contact plan shown above
12
8/22/2022
beta
alpha
3
1
7
5
11
9
(D🡪D)
(B🡪D)
(A🡪B)
(A🡪B)
(B🡪D)
(C🡪D)
(A🡪C)
(A🡪A)
Notes
13
8/22/2022
14
8/22/2022
bpdb
outducts
neighbors
contacts
ranges
iondb
nodes
retransmit
events
spans
ltpdb
inducts
ipnfw
cli
ionadmin
rfxclock
rfxclock
ltpmeter
bpclock
ltpclock
clo
Bundle: size,
destination, TTL
Computed proximate destination(s)
Congestion forecast
Production & consumption plans
LTP block
Start/stop xmit
Retransmit on timeout
Suspend & resume timers
OWLT, toggle xmit & recv rates = 0
OWLT
Computed timeout intervals
purge
purge
Set xmit & recv rates
Set OWLT
Xmit & recv rates
Consume xmit capacity
Consume recv capacity
Rate control
[Set nominal xmit & recv rates. Restore capacities.]
Enqueue bundle for transmission
Contact graph
routes
hops
contacts
ranges
Routing table
timeline
libcgr
Routing Procedure
15
8/22/2022
Routing Table Creation Procedure
16
8/22/2022
Routing cases
Case 1
Case 2
Case 3
Case 4
Case 5
Exception Handling (1): Contact Failure
Exception Handling (2): Overbooking
Conclusion