4 This file contains ns-3 release notes (most recent releases first).
6 All of the ns-3 documentation is accessible from the ns-3 website:
7 http://www.nsnam.org including tutorials: http://www.nsnam.org/tutorials.html
14 This release is immediately available from:
15 http://www.nsnam.org/releases/ns-allinone-3.6.tar.bz2
19 ns-3.6 has been tested on the following platforms:
20 - linux x86 gcc 4.2, 4.1, and, 3.4.6.
21 - linux x86_64 gcc 4.4.0, 4.3.2, 4.2.3, 4.2.1, 4.1.3, 3.4.6
22 - MacOS X ppc and x86 (gcc 4.0.x and 4.2.x)
23 - cygwin gcc 3.4.4 (debug only), gcc 4.3.2 (debug and optimized)
24 - mingw gcc 3.4.5 (debug only)
26 Not all ns-3 options are available on all platforms; consult the
27 wiki for more information:
28 http://www.nsnam.org/wiki/index.php/Installation
30 New user-visible features
31 -------------------------
33 - Add an implementation of the minstrel rate control algorithm
37 API changes from ns-3.5
38 -----------------------
39 API changes for this release are documented in the file CHANGES.html.
44 ns-3 build is known to fail on the following platforms:
46 - optimized builds on gcc 3.4.4 and 3.4.5
47 - optimized builds on linux x86 gcc 4.0.x
58 This release is immediately available from:
59 http://www.nsnam.org/releases/ns-allinone-3.5.tar.bz2
63 ns-3.5 has been tested on the following platforms:
64 - linux x86 gcc 4.2, 4.1, and, 3.4.6.
65 - linux x86_64 gcc 4.4.0, 4.3.2, 4.2.3, 4.2.1, 4.1.3, 3.4.6
66 - MacOS X ppc and x86 (gcc 4.0.x and 4.2.x)
67 - cygwin gcc 3.4.4 (debug only), gcc 4.3.2 (debug and optimized)
68 - mingw gcc 3.4.5 (debug only)
70 Not all ns-3 options are available on all platforms; consult the
71 wiki for more information:
72 http://www.nsnam.org/wiki/index.php/Installation
74 New user-visible features
75 -------------------------
78 - EDCA multi-qos-class support (Mirko Banchi)
79 - 802.11n initial support for A-MSDU frame aggregation (Mirko Banchi)
80 - aarf-cd and cara rate control algorithms (Federico Maguolo)
82 - 802.11b PHY support (Gary Pei)
83 - Nakagami propagation loss model (Timo Bingmann)
84 - radiotap and prism headers for PCAP output (Nicola Baldo)
86 - GammaVariable and ErlangVariable (Timo Bingmann)
87 - ZipfVariable (Francesco Malandrino)
88 d) UdpEcho: allows setting the payload of echo packets
89 e) Ipv4/Ipv4RoutingProtocol: allow fine-grained control over
90 routing policy and arbitrary composition of routing protocols
92 API changes from ns-3.4
93 -----------------------
94 API changes for this release are documented in the file CHANGES.html. The
95 internal API and composition of the IPv4 stack underwent significant
96 refactoring in this release cycle.
100 ns-3 build is known to fail on the following platforms:
101 - gcc 3.3 and earlier
102 - optimized builds on gcc 3.4.4 and 3.4.5
103 - optimized builds on linux x86 gcc 4.0.x
107 Our next release, which is expected to happen in 2 to 4 months from now, will
108 feature the merging of some of our projects currently in development including
109 fuller IPv6 support, some smaller features such as a new Global ARP
110 package, and possibly a new Testing and Validation suite.
117 This release is immediately available from:
118 http://www.nsnam.org/releases/ns-allinone-3.4.tar.bz2
122 ns-3.4 has been tested on the following platforms:
123 - linux x86 gcc 4.2, 4.1, and, 3.4.6.
124 - linux x86_64 gcc 4.3.2, 4.2.3, 4.2.1, 4.1.3, 3.4.6
125 - MacOS X ppc and x86
126 - cygwin gcc 3.4.4 (debug only)
128 Not all ns-3 options are available on all platforms; consult the
129 wiki for more information:
130 http://www.nsnam.org/wiki/index.php/Installation
132 New user-visible features
133 -------------------------
134 a) Wifi models: Timo Bingman contributed a ThreeLogDistance and a Nakagami
135 propagation loss model based on the ns-2 models. Fabian Mauchle contributed
138 b) Object Name Service: A facility allowing ns-3 Objects to be assigned
139 names has been added.
141 c) Tap Bridge: A second option for integrating ns-3 with real-world hosts
142 has been added. This allows for real hosts to talk over ns-3 net devices
143 and simulated networks.
145 d) A new build option (ns-3-allinone) has been provided to make it easier for
146 users to download and bulid commonly used ns-3 configurations.
148 e) The ns-3 calendar queue scheduler has been ported to ns-3.
150 f) XML support has been added to the ConfigStore.
152 API changes from ns-3.3
153 -----------------------
154 API changes for this release are documented in the file CHANGES.html
158 ns-3 build is known to fail on the following platforms:
159 - gcc 3.3 and earlier
160 - optimized builds on gcc 3.4.4 and 3.4.5
161 - optimized builds on linux x86 gcc 4.0.x
162 - optimized builds on Ubuntu 8.10 alpha 5 x86 gcc4.3.2
165 The IPv4 API defined in src/node/ipv4.h is expected to undergo major changes
166 in preparation of the merge of the IPv6 API and implementation.
170 Our next release, which is expected to happen in 2 to 4 months from now, will
171 feature the merging of some of our projects currently in development including
172 fuller IPv6 support, and IPv4 and routing protocol refactoring, and some smaller
173 features such as a new Global ARP package and possibly a new Testing and Validation
181 This release is immediately available from:
182 http://www.nsnam.org/releases/ns-3.3.tar.bz2
186 ns-3.3 has been tested on the following platforms:
187 - linux x86 gcc 4.2, 4.1, and, 3.4.6.
188 - linux x86_64 gcc 4.3.2, 4.2.3, 4.2.1, 4.1.3, 3.4.6
189 - MacOS X ppc and x86
190 - cygwin gcc 3.4.4 (debug only)
192 Not all ns-3 options are available on all platforms; consult the
193 wiki for more information:
194 http://www.nsnam.org/wiki/index.php/Installation
196 New user-visible features
197 -------------------------
198 a) Emulated Net Device
199 A new net device has been added as enabling technology for ns-3 emulation
200 scenarios. See src/devices/emu and examples/emu-udp-echo.cc for details.
203 Support for several ICMP messages has been added to ns-3. See
204 src/internet-stack/icmpv4.h for details.
206 c) IPv6 Address Support
207 New clases to support IPv6 addresses has been added to the system. This
208 is enabling technology for fuller IPv6 support scheduled for ns-3.4.
210 d) A flow-id tag has been added to the contributed code section
212 e) Star topologies can be created from the topology helper functions
214 f) The global routing code has been made dynamic (not just limited to
215 (pre-simulation computation) and supports stub network interfaces and
218 g) A MatchContainer has been added to the configuration subsystem
220 API changes from ns-3.2
221 -----------------------
222 API changes for this release are documented in the file CHANGES.html
226 ns-3 build is known to fail on the following platforms:
227 - gcc 3.3 and earlier
228 - optimized builds on gcc 3.4.4 and 3.4.5
229 - optimized builds on linux x86 gcc 4.0.x
230 - optimized builds on Ubuntu 8.10 alpha 5 x86 gcc4.3.2
233 The IPv4 API defined in src/node/ipv4.h is expected to undergo major changes
234 in preparation of the merge of the IPv6 API and implementation.
238 Our next release, which is expected to happen in 2 to 4 months from now, will
239 feature the merging of some of our projects currently in development including
240 fuller IPv6 support, and IPv4 and routing protocol refactoring, and some smaller
241 features such as an object naming facility and a new Global ARP package.
248 This release is immediately available from:
249 http://www.nsnam.org/releases/ns-3.2.tar.bz2
253 ns-3.2 has been tested on the following platforms:
254 - linux x86 gcc 4.2, 4.1, and, 3.4.6.
255 - linux x86_64 gcc 4.3.2, 4.2.3, 4.2.1, 4.1.3, 3.4.6
256 - MacOS X ppc and x86
257 - cygwin gcc 3.4.4 (debug only)
259 Not all ns-3 options are available on all platforms; consult the
260 wiki for more information:
261 http://www.nsnam.org/wiki/index.php/Installation
263 New user-visible features
264 -------------------------
265 a) Learning bridge (IEEE 802.1D)
266 It is now possible to bridge together multiple layer 2 devices to
267 create larger layer 2 networks. The Wifi and Csma models support
268 this new mode of operation. (contributed by Gustavo Carneiro)
271 It is now possible to write simulation scripts in python using our
272 python bindings (contributed by Gustavo Carneiro).
274 c) Real-time simulator
275 It is now possible to run simulations synchronized on the real-world
276 wall-clock time (contributed by Craig Dowell).
278 d) Network Simulation Cradle
279 It is now possible to use the Network Simulation Cradle
280 (http://www.wand.net.nz/~stj2/nsc/) in ns-3 and run simulations
281 using various versions of kernel TCP network stacks. (contributed
282 by Florian Westphal as part of his Google Summer of Code work)
284 e) A statistics framework
285 Joseph Kopena contributed a statistics framework which can be used
286 keep track of simulation data in persistent storage across multiple
287 runs (database and ascii file backends are available).
288 More information on the wiki:
289 http://www.nsnam.org/wiki/index.php/Statistical_Framework_for_Network_Simulation
291 API changes from ns-3.1
292 -----------------------
293 API changes for this release are documented in the file CHANGES.html
297 ns-3 build is known to fail on the following platforms:
298 - gcc 3.3 and earlier
299 - optimized builds on gcc 3.4.4 and 3.4.5
300 - optimized builds on linux x86 gcc 4.0.x
301 - optimized builds on Ubuntu 8.10 alpha 5 x86 gcc4.3.2
304 The IPv4 API defined in src/node/ipv4.h is expected to undergo major changes
305 in preparation of the merge of the IPv6 API and implementation.
309 Our next release, which is expected to happen in 2 to 4 months from now, will
310 feature the merging of some of our projects currently in development: IPv6,
311 emulation, and synchronous posix sockets.
313 Release 3.1 (2008/06/30)
314 ========================
316 The first ns-3 stable release
317 -----------------------------
319 This release is immediately available from:
320 http://www.nsnam.org/releases/ns-3.1.tar.bz2
322 We dedicate this initial ns-3 release to our late contributor and friend,
328 ns-3 is a new discrete-event network simulator designed for supporting network
329 research and education. ns-3 features a solid, well documented C++ core and
330 models for TCP/IP (IPv4), several link types including WiFi, and mobility
333 ns-3 is an open source project released under the GNU GPLv2 license which
334 allows anyone to use ns-3 without having to pay any license fee or royalties.
335 ns-3 is actively seeking new contributors to extend the range of supported
336 models and/or to maintain existing models.
338 Where to get more information about ns-3
339 ----------------------------------------
341 All the ns-3 documentation, is accessible from the ns-3 website:
344 Including, tutorials:
345 http://www.nsnam.org/tutorials.html
350 ns-3 is regularly tested on the following platforms:
351 - linux x86 gcc 4.2, 4.1, and, 3.4.6.
352 - linux x86_64 gcc 4.1.3, 4.2.1, 3.4.6
353 - MacOS X ppc and x86
354 - cygwin gcc 3.4.4 (debug only)
359 ns-3 is known to fail on the following platforms:
360 - gcc 3.3 and earlier
361 - optimized builds on gcc 3.4.4 and 3.4.5
362 - optimized builds on linux x86 gcc 4.0.x
364 The IPv4 API defined in src/node/ipv4.h is expected to undergo major changes
365 in preparation of the merge of the IPv6 API and implementation.
370 Our next release, which is expected to happen in 2 to 4 months from now, will
371 feature the merging of some of our projects currently in development: python
372 scripting, IPv6, emulation, a statistics framework and synchronous posix
375 Release 3.0.13 (2008/06/02)
376 ===========================
377 - point to point links generate ppp pcap traces
378 - point to point links support asymmetrical data rates.
379 - generate doxygen documentation for all attributes and trace sources
380 - add ConfigStore and GtkConfigStore to contrib module
381 - socket API now support tx and rx buffers: implemented for UDP and TCP
382 - ARP cache now supports per-entry pending queues
383 - lots of bugfixes and implementation and API cleanups
385 Warning: among API changes in this release, Application::Start and
386 Application::Stop now interprets the time argument as a relative
387 instead of absolute simulation time, to align with how Simulator::Schedule
388 behaves. Any code that calls these APIs in the middle of the simulation
389 will need to be adapted.
391 The API of Simulator::StopAt (time) has also changed. Now it is
392 called Simulator::Stop (time), and takes a relative time, instead of
395 Release 3.0.12 (2008/04/07)
396 ===========================
397 - Add Attribute support to the TypeId metadata system and add
398 attribute support to all in-tree models
399 - Add a mid-level helper API to build simulation topologies
400 and perform simple ascii and pcap link-level tracing.
401 - Large amount of structural changes to accomodate the needs
402 of the upcoming python bindings
403 - new rate control algorithm (RRAA) and a jakes propagation model
404 in the 802.11 model (Federico Maguolo).
405 - regression test framework added
406 - TCP delayed acknowledgements and multitasking server
408 Release 3.0.11 (2008/02/15)
409 ===========================
410 - Initial port of GTNetS TCP implementation (initial version
411 that does not support multitasking or delayed acknowledgments yet,
412 but supports a reliable stream service)
413 - Changes to the ns-3 object model to create a TypeId-based
415 - lots of bug fixes throughout the system
418 Release 3.0.10 (2008/01/15)
419 ===========================
420 - Add tutorial document content;
421 - Valgrind option for "waf" tool;
422 - Doxygen organization changes.
424 Release 3.0.9 (2007/12/15)
425 ==========================
426 - A 802.11 model ported from Yans. This model supports:
427 * a rather extensive PHY model
428 * log-distance and friis propagation model
429 * a simple set of rate control algorithms (ARF, Ideal,
431 * adhoc and infrastructure mode (beacon+assoc)
432 - Use smart pointer for Packet in the APIs
433 - A new contrib directory with helper classes:
434 EventGarbageCollector, Gnuplot
435 - Tracing support for Applications
438 Release 3.0.8 (2007/11/15)
439 ==========================
440 - A simple error model
441 - Source files for ns-3 tutorial
443 Release 3.0.7 (2007/10/15)
444 ==========================
445 - OLSR routing protocol
447 - Additional mobility models (random waypoint, random 2D walk)
448 - A mobility visualization tool
450 Release 3.0.6 (2007/09/15)
451 ==========================
452 - Static multicast IPv4 routing
453 - Logging overhaul (NS_LOG macros)
454 - Refactoring of tracing subsystem
455 - Tutorial document started
457 Release 3.0.5 (2007/08/15)
458 ==========================
460 - Refactoring to support win32-based unix environments (Cygwin, mingw)
461 - "Packet socket" for allowing applications to access NetDevices directly
462 - Generalized, polymorphic Address class
463 - Add CSMA NetDevice model (from Emmanuelle Laprise)
464 - Modularize IPv4 routing support (from Gustavo Carneiro)
465 - Add mobility framework and basic mobility models
466 - Global unicast centralized routing
468 Release 3.0.4 (2007/07/15)
469 ==========================
471 - Enable waf as the default build system.
472 - Per-packet metadata: a system to track which headers and trailers
473 are added to a packet
474 - Simplifications to point-to-point devices and channel
476 Release 3.0.3 (2007/06/15)
477 ==========================
479 - Enable Waf for release tarballs: users can now build ns-3
480 with the "waf" tool. See doc/build-waf.txt.
481 - Add support for variable time precision: it is now possible
482 to run a simulation with an accuracy which is higher or lower
483 than a nanosecond: seconds, milliseconds, microseconds,
484 femtoseconds and picoseconds are supported.
485 - Optimize and rework the COM framework, solidify the component
487 - Many small API cleanups
489 Release 3.0.2 (2007/05/18)
490 ==========================
492 - Implement a new memory management infrastructure based
493 on reference counting and smart pointers (the latter being
496 - Implement a COM-like framework with support for QueryInterface
497 to provide object extensibility
499 - Add support for a BSD-style socket API for user applications
501 Release 3.0.1 (2007/03/31)
502 ==========================
504 - First public release; not yet pre-alpha.
506 - Simple UDP-based simulation script (examples/simple-p2p.cc)