Transcript PPT Version
UMass DieselNet:
A Disruption-Tolerant Network Testbed
John Burgess
Department of Computer Science
UMass Amherst
DieselNet
Vehicular DTN deployed in
Amherst and surrounding county
Now includes 40 buses
Each bus: Linux “brick” computer;
USB 802.11b adapter; 802.11b
AP; GPS receiver, 40GB hard
drive
Buses transfer data as they pass
by each other and via available
hot spots.
The Openbrick
• Small form factor
• Plentiful I/O
• Binary availability for x86
• 60w peak power draw
• Low heat dissipation
DieselNet Software Considerations
Autonomous operation and “shutdown”
Maximal failure tolerance
No remote administrator login or local terminal
Physical inaccessibility during operation (6am - 1am)
Nodes versus support staff
Handle network interface configurations
Support IP programs
Handle bundle routing
Support DTN programs
Init and Restore
Linux and initial software stored on 1st partition
All DTN software, logs, bundles, cached web
content, etc. stored on 2nd partition
Restore checks for the presence of critical files
If any critical files are inaccessible
Clear extended partition
Restore initial software package from system disk
Otherwise, Init starts system software
1GB hdc1
39GB hdc5
Autoupdate
Install new software
Check for new gzip files on prisms web site
Verify prisms signature
Install update atomically
Sync system clock with server
Report current location
Report log entries
Connection events
Program error messages
Upload files
Bzip file, MIME encode it, and upload via HTTP request header
LiveIP
Manage network interfaces
802.11b
Scan for ssid broadcasts on all channels
Connect to other buses
Hash foreign bus MAC address to determine subnet
Connect to access points
DHCP
Ping foreign device to decide when to resume scanning
Reload 802.11 driver to clear malfunctions
Additional interfaces to be managed
900mhz long-range radio (1km)
CDMA modem
GPSupdate
Receive NMEA formatted information via RS232
Compute speed, direction, etc.
Periodically log location
Provide location information to onboard programs
DTNdaemon
Accept data and send bundles
via local TCP socket
Route bundles according to configured protocol
MaxProp
Deliver data to appropriate onboard programs
Programs connect via TCP socket
Programs register as appropriate destination application
Platform and IP network interface independent
Java implementation with no external dependencies
DTN2 2004 bundle format compatibility
Software Components
Init and Restore
Perl and Python
Auto update
Python
Live IP
Java 1.4
GPS update
Python
DTN daemon
Java 1.4 and linux-only Java 1.3
Connection Events
Red dots indicate bus-to-bus transfers
(1 month)
Measurement of real TCP throughput
Traces collected everyday
Measurements
Buses log their status via available
access points (and update
software).
Transfer duration
Bytes transferred
Inter-transfer opportunity time
Future Work
Deploy different DTN routing protocols
Develop useful disruption tolerant applications
Expand network to include other types of nodes
Summary
DieselNet is a DTN Testbed deployed on public
transportation busses
Network inaccessibility often corresponds to
physical inaccessibility, making DTN
administration difficult
DTN system administration must be
accomplished in a disruption-tolerant manner
Current above-IP DTN solutions must handle
configuration of IP, Link, and physical network
Future solutions running above the link layer will
still need to configure the link and physical layer