README
author Alex McMahon <alex.mcmahon@cs.tcd.ie>
Thu Jul 08 13:04:21 2010 +0000 (22 months ago)
changeset 3573 4aa6a7c854b4
parent 34536a4e54cc97ab
permissions -rw-r--r--
type-o
     1 DTN Reference Implementation
     2 ============================
     3 
     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. 
     9 
    10 Compilation / Installation Instructions
    11 ---------------------------------------
    12 
    13 ./configure -C
    14 make
    15 make install
    16 
    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. 
    20 
    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.
    25 
    26 Getting Started
    27 ---------------
    28 
    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.
    34 
    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.
    40 
    41 DTN2 Directory Structure
    42 ------------------------
    43 
    44 applib/			application interface library and ipc layer
    45 apps/			example dtn applications
    46 doc/			documentation
    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
    52 |-- contacts
    53 |-- conv_layers		convergence layers
    54 |-- discovery
    55 |-- gcm
    56 |-- naming		endpoint identifier schemes
    57 |-- prophet		prophet router 
    58 |-- reg			local registrations
    59 |-- routing		bundle routing logic
    60 |-- security		bundle security protocol
    61 |-- session
    62 `-- storage		persistent storage management
    63 sim/			simulation framework
    64 test/			unit tests and other test files
    65 test-utils/		test scripts and utilities
    66 
    67 External Requirements
    68 ---------------------
    69 oasys-1.3.0+ (see Note - Oasys)
    70 gcc/g++
    71 
    72 Optional External Packages
    73 --------------------------
    74 bonjour
    75 
    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
    81 
    82 
    83 Note - Oasys
    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
    88 oasys
    89 
    90 specify location / support of:
    91     
    92     Python 
    93     tcl                  
    94     google perftools
    95     expat
    96     xerces-c
    97     xsd tool
    98     Berkeley DB                  
    99     mysql 
   100     postgres             
   101 
   102 compile with or without support for:
   103 
   104     bluetooth 
   105     zlib 
   106     tclreadline
   107     profiling
   108     google profiling
   109     assembly-based atomic functions
   110 
   111 enable or disable:
   112 
   113     oasys debugging
   114     oasys memory debugging
   115     oasys lock debugging
   116     oasys optimization
   117 
   118 
   119 Note - BSP
   120 --------------------------
   121 The standard ciphersuites require, amongst other things, 
   122 an implementation of sha-256 message digest algorithm.
   123 
   124 The DTN reference code uses OpenSSL for cryptographic
   125 and related functions. Unfortunately, some versions of
   126 OpenSSL do not include sha-256.
   127 
   128 The "configure" process checks for the availability of
   129 sha-256 and provides an error if it is not found.
   130 
   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
   135 
   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".
   141 
   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
   145 
   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.
   152 
   153 Note - LTP
   154 ----------------------------
   155 
   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