1 DTN Reference Implementation
2 ============================
4 This is the Delay Tolerant Networking reference implementation. See
5 the file STATUS for an overview of the state of the code, particularly
6 in reference to the various internet drafts and (someday) RFCs that
7 describe the bundling protocol. Also, the file RELEASE-NOTES describes
8 major changes in each release.
10 Compilation / Installation Instructions
11 ---------------------------------------
17 Note that by default, the configure script will also run configure
18 inside the oasys/ subdirectory. The -C argument enables the autoconf
19 variable cache, which speeds up configuration.
21 Note that if you need to make changes to the configure.ac script or
22 one of the helper scripts in aclocal/*.ac, run build-configure.sh to
23 recreate configure and then check in both your changes as well as the
24 newly generated configure script.
29 A good place to start for playing around with DTN is to look at the
30 manual and tutorials (see doc/manual/index.html). This set of
31 documentation explains some of the configuration and applications. If
32 you find omissions or errors, please feel free to post updates and
33 corrections to dtn-users@mailman.dtnrg.org.
35 Reporting Bugs / Other Help
36 ---------------------------
37 A bug tracking system is in place. Please direct bug reports to
38 http://sourceforge.net/tracker/?group_id=101657&atid=630167 and
39 direct questions to dtn-bugs@mailman.dtnrg.org.
41 DTN2 Directory Structure
42 ------------------------
44 applib/ application interface library and ipc layer
45 apps/ example dtn applications
47 daemon/ dtn router daemon sources
48 ideas/ temporary code idea repository
49 servlib/ dtn router internals
50 |-- bundling bundle management and forwarding logic
51 |-- cmd tcl based command interface
53 |-- conv_layers convergence layers
56 |-- naming endpoint identifier schemes
57 |-- prophet prophet router
58 |-- reg local registrations
59 |-- routing bundle routing logic
60 |-- security bundle security protocol
62 `-- storage persistent storage management
63 sim/ simulation framework
64 test/ unit tests and other test files
65 test-utils/ test scripts and utilities
69 oasys-1.3.0+ (see Note - Oasys)
72 Optional External Packages
73 --------------------------
76 Optional Internal Packages
77 --------------------------
78 NORM convergence layer support
79 Bundle Security Protocol support (see Note BSP)
80 LTP convergence layer support via TCD's LTPlib
84 --------------------------
85 Before compiling DTN2 please compile Oasys-1.3.0+ (must be
86 installed or located in DTN2 or ../). Support for the
87 following DTN2 options should be specified when configuring
90 specify location / support of:
102 compile with or without support for:
109 assembly-based atomic functions
114 oasys memory debugging
120 --------------------------
121 The standard ciphersuites require, amongst other things,
122 an implementation of sha-256 message digest algorithm.
124 The DTN reference code uses OpenSSL for cryptographic
125 and related functions. Unfortunately, some versions of
126 OpenSSL do not include sha-256.
128 The "configure" process checks for the availability of
129 sha-256 and provides an error if it is not found.
131 If your system's OpenSSL does not have sha-256 then you
132 can either upgrade it or build and use a local version
133 of OpenSSL. OpenSSL can be obtained from
134 http://www.openssl.org
136 OpenSSL 0.9.8 version include sha-256 by default. If your
137 system uses version 0.9.7 and you do not wish to upgrade
138 then you can enable sha-256 in later versions of 0.9.7,
139 such as 0.9.7l and 0.9.7m. To enable sha-256, specify "fips"
140 when running "Configure".
142 If you wish to leave you system installation untouched and
143 build against a local version, then configure dtn using
144 ./configure --with-bsp --with-openssl=/path/to/openssl
146 Mac OS X note: for Mac OS X users ONLY. If you build dtn
147 against a local OpenSSL using "--with-openssl=/path/to/openssl"
148 you MUST also specify with it LDFLAGS="-Wl,-search_paths_first".
149 The configuration for OS X users would then be
150 ./configure --with-bsp --with-openssl=/path/to/openssl LDFLAGS="-Wl,-search_paths_first"
151 Note that the quotes are required for the LDFLAGS argument.
154 ----------------------------
156 This is an initial test of TCD's LTPlib as a CL. To
157 use it go get LTPlib (todo: add URL!) and then
158 ./configure --with-ltp