-
Notifications
You must be signed in to change notification settings - Fork 3
/
README
158 lines (127 loc) · 4.72 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
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 [email protected].
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 [email protected].
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