|
1 Release Notes for DTN2 |
|
2 ---------------------- |
|
3 |
|
4 2.7.0 (February 2010) |
|
5 ----------------- |
|
6 |
|
7 - Additions and updates to the DTN2 documentation (Please |
|
8 see DTN2/doc/manual/index.html). Documentation and examples provided |
|
9 for configuration file and command line options, arguments and syntax |
|
10 for routing protocols and algorithms, storage back ends, CLAs, link, |
|
11 interface, discovery, logging and debug parameters. |
|
12 |
|
13 - Additions and updates to the tcl commands for link, storage, bundle, route, |
|
14 discovery, and interface to provide detail on available options |
|
15 and arguments and syntax when help is requested. |
|
16 |
|
17 - Various other minor updates and bugfixes including Ubuntu 9.10 |
|
18 (karmic) compatibility and compensate for lack of "hyper" type in xdr. |
|
19 |
|
20 - Change of build to stop creation of oasys-->../oasys symlinks which |
|
21 lead to recursion within oasys (i.e. /oasys/include/oasys/include/oasy..n |
|
22 & oasys/share/oasys/share/oa..n). |
|
23 |
|
24 - Provide more searches and feedback during build. |
|
25 |
|
26 - Support for 64-bit creation time, sequence number, and expiration time. |
|
27 |
|
28 - Addition of dtnsource and dtnsink stress-test programs. |
|
29 |
|
30 - A NORM convergence layer (experimental) requires the NORM protocol |
|
31 implementation from NRL see the installation doc |
|
32 |
|
33 - A LTP convergence layer requires the LTPlib protocol implementation |
|
34 from Trinity College Dublin see the installation doc |
|
35 |
|
36 - Added code to check if TCP Convergence Layer needs to send/receive ACKS. |
|
37 Fix of issue related to sending bundles that are larger than the link |
|
38 MTU from ION to DTN2 |
|
39 |
|
40 - servlib/bundling/BundleDaemon.cc::event_handlers_completed: Correct sanity checking. |
|
41 |
|
42 - Fix PrOPHET problems: dtnping does not reply & dtnd segfaults after a while |
|
43 |
|
44 - DTNPerf 2.6 release. |
|
45 |
|
46 2.6.0 (July 2008) |
|
47 ----------------- |
|
48 |
|
49 - Updated the source control system to mercurial, splitting the oasys |
|
50 library into a fully separate package and changing the configuration, |
|
51 build, and packaging accordingly. |
|
52 |
|
53 - Added a session layer with a publish / subscribe based interface and |
|
54 multicast capabilities as well as the ability to order bundles by |
|
55 sequence identifier and express that prior transmissions should be |
|
56 proactively deleted in-network. |
|
57 |
|
58 - Updated DTLSR to support the session layer and route advertisements |
|
59 as well as miscellaneous other bug fixes. |
|
60 |
|
61 - Restructured the core forwarding path and the router <-> convergence |
|
62 layer interface, getting rid of the BUSY state management and |
|
63 (hopefully) improving stability and scalability. |
|
64 |
|
65 - Changed the contract between the core forwarding logic and the |
|
66 router implementation to give the router better control over when |
|
67 bundles are deleted from the system. |
|
68 |
|
69 - Changed the Bundle class internals to make all member variables |
|
70 private, adding accessor functions for manipulation and state |
|
71 retrieval and improve efficiency in internal storage. |
|
72 |
|
73 - Added additional API function accesses through the SWIG interface and |
|
74 parse status reports that are returned to the app. Also removed the |
|
75 limitation on the size of bundles that can be returned in memory. |
|
76 |
|
77 - Added a fix so that bundles aren't delivered twice to the same |
|
78 registration and changes to the core forwarding path to support |
|
79 modified topologies. |
|
80 |
|
81 - Incorporated patches from BBN to fix bugs during shutdown, more |
|
82 efficient comparisons, memory leak and dangling pointer fixes, and |
|
83 modified handling of duplicate bundles. |
|
84 |
|
85 - Fixed a bunch of bugs in the dtntunnel application. |
|
86 |
|
87 - Incorporated various updates to the prophet implementation from Jeff |
|
88 Wilson. |
|
89 |
|
90 - Various other minor updates and bugfixes including Mac OS X 10.5 |
|
91 (Leopard) compatibility. |
|
92 |
|
93 |
|
94 2.5.0 (October 2007) |
|
95 ------------------- |
|
96 - Integrated support for the Bundle Security Protocol blocks, |
|
97 contributed by SPARTA. |
|
98 |
|
99 - Using SWIG, added bindings to export a version of the application |
|
100 interface to different scripting languages, currently supporting |
|
101 Tcl, Python, and Perl. |
|
102 |
|
103 - Implemented a polling feature in the API so applications can use |
|
104 select() to wait for bundle arrivals on the IPC handle. |
|
105 |
|
106 - Added a dtnhttpproxy application to route http requests over a DTN |
|
107 network. |
|
108 |
|
109 - Add a feature to the routing table to allow routes to point to |
|
110 alternate endpoint id instead of only a next hop link. |
|
111 |
|
112 - Fixed the compilation errors in the 2.4.0 release when trying to |
|
113 build external components. Changed the default configuration for |
|
114 these components to be enabled by default to avoid this oversight in |
|
115 the future. |
|
116 |
|
117 - Fixed the rpm specification file so the rpm builds work again. |
|
118 |
|
119 - Minor miscelleneous other bug fixes and features. |
|
120 |
|
121 2.4.0 (July 2007) |
|
122 ----------------- |
|
123 |
|
124 - BBN updated the protocol implementation to conform to BP spec |
|
125 version 10, implementing bundle protocol version 5, converting most |
|
126 fixed-length fields to SDNVs and several other changes. |
|
127 |
|
128 - BBN added support for external convergence layers and data stores, |
|
129 matching the DTN reference architecture specification, as well as |
|
130 support for deleting links. |
|
131 |
|
132 - BBN added support for the metadata extension block and improved |
|
133 fragmentation handling. |
|
134 |
|
135 - Added a new router implementation called DTLSR (Delay Tolerant Link |
|
136 State Routing) intended for environments where the inter-node |
|
137 relationships are fairly stable, but links may go up and down. |
|
138 |
|
139 - Added support for forwarding a bundle with a wildcard destination to |
|
140 multiple next-hops, which can be used to implement simple or |
|
141 constrained flooding even with the static router. |
|
142 |
|
143 - Significantly improved the DTN simulator environment including |
|
144 adding support for bandwidth and storage limits on nodes, a |
|
145 structured output format for better post-processing of simulation |
|
146 results, and an internal restructuring making the simulation |
|
147 environment match the real-world environment much more closely. |
|
148 |
|
149 - Reworked the internal class used to represent bundle payloads so |
|
150 that the router can now support fully in-memory bundles which can |
|
151 safely contain binary data in all cases. |
|
152 |
|
153 - Jeff Wilson did a complete rewrite of the Prophet router |
|
154 implementation. |
|
155 |
|
156 - Changed the API to include bundle creation timestamp when receiving |
|
157 a bundle so that it's available to applications that may need it. |
|
158 |
|
159 - Added support for neighbor discovery that uses multicast dns (aka |
|
160 Apple's Bonjour protocol). Reworked the internal structure of the |
|
161 neighbor discovery subsystem. |
|
162 |
|
163 - Made optimizations to the table based routers (including the default |
|
164 static router) to be more efficient when links are coming up and |
|
165 down. |
|
166 |
|
167 - Updated the dtntunnel application to support tunnelling protocols |
|
168 where the server side is the first to send data. Reworked command |
|
169 line arguments to be more intuitive (and similar to ssh tunnels). |
|
170 |
|
171 - Added a dtntraceroute application that sends a single bundle, with a |
|
172 bunch of status report flags turned on and prints out the times |
|
173 embedded in the status reports that come back. |
|
174 |
|
175 - Modified the build environment to enable liboasys and libdtnapi to |
|
176 be built as shared libraries, and thereby used via SWIG export to |
|
177 other programming languages. |
|
178 |
|
179 - Resurrected the Cygwin build though it's not yet back to full |
|
180 functionality. |
|
181 |
|
182 2.3.0 (December 2006) |
|
183 --------------------- |
|
184 |
|
185 - Rewritten and documented TCP convergence layer, with support for |
|
186 bidirectional communication over a single socket. |
|
187 |
|
188 - Default port used by TCP & UDP convergence layers is now 4556, newly |
|
189 registered with IANA. |
|
190 |
|
191 - Improvements to the Bluetooth convergence layer (by Jeff Wilson) to |
|
192 use the same common stream based convergence layer base class as is |
|
193 used by TCP. |
|
194 |
|
195 - Refactored bundle protocol handling code into separate block |
|
196 processing modules allowing for easier integration of security and |
|
197 other extension blocks. |
|
198 |
|
199 - Integrated full support for extension blocks. |
|
200 |
|
201 - External router interface (by MITRE) using XML to communicate |
|
202 between the router and the daemon. |
|
203 |
|
204 - Initial support for a neighborhood discovery mechanism (by Jeff |
|
205 Wilson) using either UDP multicast/broadcast or Bluetooth's builtin |
|
206 service discovery protocols. |
|
207 |
|
208 - Major enhancements to the Prophet router implementation (by Jeff |
|
209 Wilson). |
|
210 |
|
211 - Added dtntunnel and dtncat applications. Reworked and enhanced the |
|
212 dtnping application. |
|
213 |
|
214 - Modified the core for 64-bit compatibility. |
|
215 |
|
216 - Various stability and performance improvements. |
|
217 |
|
218 - Resurrection of the dtnsim simulator (by Seguti Gutierrez-Nolasco) |
|
219 for simple bundle transmission. |
|
220 |
|
221 - Switched most of the code from the Intel Open Source License to the |
|
222 Apache License. |
|
223 |
|
224 2.2.0 (March 2006) |
|
225 ------------------ |
|
226 |
|
227 - Various changes for conformance with version 4 of the bundle |
|
228 protocol as specified in the Bundle Protocol Internet Draft, as |
|
229 released on November 2005. |
|
230 |
|
231 - Initial implementation of custody transfer, including |
|
232 flexible per-route timing specifications for retransmissions. |
|
233 |
|
234 - Initial implementation of a Bluetooth convergence layer from Jeff |
|
235 Wilson <Jeff_Wilson@baylor.edu>. |
|
236 |
|
237 - Added support for the ARM architecture, gcc 4.0, and BerkeleyDB 4.4. |
|
238 |
|
239 - Added support for a file system based persistent storage |
|
240 implementation as an alternative to Berkeley DB. |
|
241 |
|
242 - Many minor changes to improve stability and robustness of the code, |
|
243 largely due to an improved testing infrastructure including several |
|
244 tcl based system tests. |
|
245 |
|
246 - Miscellaneous other improvements including: a persistent |
|
247 ForwardingLog for each bundle to maintain the history of where (and |
|
248 when) the bundle was sent to peers, restored support for reactive |
|
249 fragmentation, a NullConvergenceLayer and other testing hooks, and |
|
250 some scalability improvements. |
|
251 |
|
252 2.1.99 (December 2005) |
|
253 ---------------------- |
|
254 |
|
255 - Widespread changes for conformance to the latest version of the |
|
256 bundle protocol specification document including replacing the |
|
257 region/admin syntax and BundleTuple class with a new EndpointID |
|
258 class that is a standard URI, and replacing fixed-length values in |
|
259 the protocol with SDNVs. |
|
260 |
|
261 ** NOTE: Due to time constraints, this task was not completed, so |
|
262 this release does not include the full bundle spec support, |
|
263 though the next one will. |
|
264 |
|
265 - Completed implementation of expiration timers for both bundles and |
|
266 application registrations, as specified by the protocol document and |
|
267 architecture specification. |
|
268 |
|
269 - Removed the use of AddressFamily classes from the configuration of |
|
270 the Interface and Link classes, moving the address specification |
|
271 into the convergence layer specifically. |
|
272 |
|
273 - Faster and more robust configure scripts, including support for |
|
274 configuring a build directory that's different from the source |
|
275 directory. Improved build system so make -j works to build in |
|
276 parallel. Add support for the gcc-4.0 series of compilers. |
|
277 |
|
278 - Other minor cleanup of Bundle class field names and associated |
|
279 types to match the protocol document more clearly. |
|
280 |
|
281 - Rework some of the RPC API to have the daemon construct an |
|
282 appropriate endpoint id (in a scheme-specific manner). |
|
283 |
|
284 - Significant rework of the control flow of Bundles through the |
|
285 system, including the state machine for Links, a reduction in the |
|
286 number of BundleList queues around the code, and an overall |
|
287 simplification of the control flow. |
|
288 |
|
289 - Update the TCP and UDP convergence layers: removed fixed-width |
|
290 length fields from TCP; added pipelining so multiple bundles can be |
|
291 "in-flight" on a single TCP connection; removed all the framing |
|
292 overhead from UDP by simply sending a bundle per UDP datagram. |
|
293 |
|
294 - Support added for Cygwin as well as Apple OS X. |
|
295 |
|
296 2.1.1 (March 2005) |
|
297 ------------------ |
|
298 - Patch to configure script to fix build problems on Apple OS X due to |
|
299 a conflict with a system include file (demmer). |
|
300 |
|
301 - Bug fix in oasys/io/NetUtils.cc so getaddrinfo works properly on OS |
|
302 X (or generally any IPv6 enabled system). |
|
303 |
|
304 - Minor updates to the manual and tutorials (jra). |
|
305 |
|
306 2.1.0 (March 2005) |
|
307 ------------------ |
|
308 - Major restructuring of the configuration and build process to use |
|
309 autoconf to generate configure specifications |
|
310 |
|
311 - Additional ports to solaris, cygwin, MacOS X, and FreeBSD, as well |
|
312 as linux on ARM (sharp zaurus) both cross-compiled and native. |
|
313 |
|
314 - Major change to the BundleRouter interface to remove the "delayed |
|
315 effect" problems of the action list interface. Now all operations |
|
316 are immediately enacted by a BundleActions class. |
|
317 |
|
318 - Simplify the syntax for the link and interface commands to no longer |
|
319 require a full bundle tuple, but instead just the admin portion. |
|
320 This avoids the confusion in that the region portion was always |
|
321 ignored. |
|
322 |
|
323 - Reorganization of the test directories in both oasys and DTN2, |
|
324 including the introduction of a unit testing framework in oasys and |
|
325 the conversion of some tests to the new framework. |
|
326 |
|
327 - Added framework for link-specific option parsing for the convergence |
|
328 layers. |
|
329 |
|
330 - New version of the TCP convergence layer protocol, to be formally |
|
331 specified further in an internet draft. Addition of an idle time |
|
332 negotiation to close idle connections. Initial work on a feature for |
|
333 receiver-initiated connection to be used to traverse NAT routers. |
|
334 |
|
335 - New version of the UDP convergence layer protocol that tightens up |
|
336 the protocoll and makes more sense divergent from the tcp one. |
|
337 |
|
338 - Change the bundling protocol implementation to use NTP timestamps as |
|
339 mandated by the bundling protocol internet draft. |
|
340 |
|
341 - Initial work on integrating the dtnsim simulation environment with |
|
342 the core of the daemon. |
|
343 |
|
344 - Many other miscellaneous small changes and bug fixes. |
|
345 |
|
346 |
|
347 2.0.2 (December 2004) |
|
348 --------------------- |
|
349 - (very minor) change to enable Berkeley DB 4.3 usage |
|
350 |
|
351 2.0.1 (December 2004): |
|
352 --------------------- |
|
353 |
|
354 - First public release of the DTN2 code: stable design and overall |
|
355 code structure, though still numerous features left to be |
|
356 implemented. |
|
357 |
|
358 - Features include: |
|
359 |
|
360 - conformance to the IETF draft Bundle Protocol specification version 3 |
|
361 |
|
362 - functional implementation of a TCP convergence layer and address |
|
363 capabilities amenable to internet-connected hosts |
|
364 |
|
365 - static bundle router implementation |
|
366 |
|
367 - proactive and reactive fragmentation |
|
368 |
|
369 - flexible storage framework adaptable to Berkeley DB, mysql, or |
|
370 postgresql underlying implementations |