Delay Tolerant Networking

Delay Tolerant Networking (DTN) examines networking in non-traditional environments with high delay links and/or significant disruption. This includes sensor networks, military networks, and deep space networks. My work has concentrated heavily on this last use case.

In deep space, the speed of light becomes the limiting factor in communication. It takes about 20 minutes for light to reach mars, and there is nothing we can do to improve that speed. Typical networking protocols like IP and TCP were designed for constantly connected systems with round trip times on the order of a few hundred milliseconds at worst. These systems perform poorly, or not at all, in deep space where round trip times may be minutes to hours. Even application protocols like HTTP and SMTP are very "chatty" and perform poorly. Hence, we need a new set of protocols and a new paradigm for application design in this environment.

The Internetworking Research Group at Ohio University, of which I was a member from 2010 to 2013, was working with NASA to maintain the Interplanetary Overlay Network (ION). A software package that uses the Licklider Transmission Protocol (RFC5326) and the Bundle Protocol (RFC5050) to cope with the delays present in deep space.



Ltp2tcp

I developed a tool called ltp2tcp to help analyze LTP packet captures. This tool takes an LTP packet capture and converts it to a TCP packet capture that can be analyzed with Dr. Shawn Ostermann's amazing tcptrace utility (http://www.tcptrace.org) to create a variety of charts and statistics about the original LTP capture. This provides a vast amount of information about an LTP connection in an easy to understand graphical format.

Ltp2tcp currently has a number of limitations, most of which stem from co-opting tcptrace to do the graphical display instead of designing my own graphing system. These limitations include being limited to only parsing LTP in UDP or DCCP in IPv4 in Ethernet or SLL headers. Additionally, not all of the graphs generated by tcptrace are meaningful for LTP. The README included with ltp2tcp explains how to read the graphs and all current limitations. Unfortunately, I do not currently have enough time to actively improve this utility and remove these limitations.

I have released ltp2tcp under the GNU GPL. You can obtain the most recent source from my git repository.



Publications