diff -r 000000000000 -r 2b3e5ec03512 README --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/README Thu Apr 21 14:57:45 2011 +0100 @@ -0,0 +1,158 @@ +DTN Reference Implementation +============================ + +This is the Delay Tolerant Networking reference implementation. See +the file STATUS for an overview of the state of the code, particularly +in reference to the various internet drafts and (someday) RFCs that +describe the bundling protocol. Also, the file RELEASE-NOTES describes +major changes in each release. + +Compilation / Installation Instructions +--------------------------------------- + +./configure -C +make +make install + +Note that by default, the configure script will also run configure +inside the oasys/ subdirectory. The -C argument enables the autoconf +variable cache, which speeds up configuration. + +Note that if you need to make changes to the configure.ac script or +one of the helper scripts in aclocal/*.ac, run build-configure.sh to +recreate configure and then check in both your changes as well as the +newly generated configure script. + +Getting Started +--------------- + +A good place to start for playing around with DTN is to look at the +manual and tutorials (see doc/manual/index.html). This set of +documentation explains some of the configuration and applications. If +you find omissions or errors, please feel free to post updates and +corrections to dtn-users@mailman.dtnrg.org. + +Reporting Bugs / Other Help +--------------------------- +A bug tracking system is in place. Please direct bug reports to +http://sourceforge.net/tracker/?group_id=101657&atid=630167 and +direct questions to dtn-bugs@mailman.dtnrg.org. + +DTN2 Directory Structure +------------------------ + +applib/ application interface library and ipc layer +apps/ example dtn applications +doc/ documentation +daemon/ dtn router daemon sources +ideas/ temporary code idea repository +servlib/ dtn router internals +|-- bundling bundle management and forwarding logic +|-- cmd tcl based command interface +|-- contacts +|-- conv_layers convergence layers +|-- discovery +|-- gcm +|-- naming endpoint identifier schemes +|-- prophet prophet router +|-- reg local registrations +|-- routing bundle routing logic +|-- security bundle security protocol +|-- session +`-- storage persistent storage management +sim/ simulation framework +test/ unit tests and other test files +test-utils/ test scripts and utilities + +External Requirements +--------------------- +oasys-1.3.0+ (see Note - Oasys) +gcc/g++ + +Optional External Packages +-------------------------- +bonjour + +Optional Internal Packages +-------------------------- +NORM convergence layer support +Bundle Security Protocol support (see Note BSP) +LTP convergence layer support via TCD's LTPlib + + +Note - Oasys +-------------------------- +Before compiling DTN2 please compile Oasys-1.3.0+ (must be +installed or located in DTN2 or ../). Support for the +following DTN2 options should be specified when configuring +oasys + +specify location / support of: + + Python + tcl + google perftools + expat + xerces-c + xsd tool + Berkeley DB + mysql + postgres + +compile with or without support for: + + bluetooth + zlib + tclreadline + profiling + google profiling + assembly-based atomic functions + +enable or disable: + + oasys debugging + oasys memory debugging + oasys lock debugging + oasys optimization + + +Note - BSP +-------------------------- +The standard ciphersuites require, amongst other things, +an implementation of sha-256 message digest algorithm. + +The DTN reference code uses OpenSSL for cryptographic +and related functions. Unfortunately, some versions of +OpenSSL do not include sha-256. + +The "configure" process checks for the availability of +sha-256 and provides an error if it is not found. + +If your system's OpenSSL does not have sha-256 then you +can either upgrade it or build and use a local version +of OpenSSL. OpenSSL can be obtained from +http://www.openssl.org + +OpenSSL 0.9.8 version include sha-256 by default. If your +system uses version 0.9.7 and you do not wish to upgrade +then you can enable sha-256 in later versions of 0.9.7, +such as 0.9.7l and 0.9.7m. To enable sha-256, specify "fips" +when running "Configure". + +If you wish to leave you system installation untouched and +build against a local version, then configure dtn using +./configure --with-bsp --with-openssl=/path/to/openssl + +Mac OS X note: for Mac OS X users ONLY. If you build dtn +against a local OpenSSL using "--with-openssl=/path/to/openssl" +you MUST also specify with it LDFLAGS="-Wl,-search_paths_first". +The configuration for OS X users would then be +./configure --with-bsp --with-openssl=/path/to/openssl LDFLAGS="-Wl,-search_paths_first" +Note that the quotes are required for the LDFLAGS argument. + +Note - LTP +---------------------------- + +This is an initial test of TCD's LTPlib as a CL. To +use it go get LTPlib (todo: add URL!) and then +./configure --with-ltp