centeros-ns3/Redhead

Installation

From Nsnam

Jump to: navigation, search

Main Page - Current Development - Developer FAQ - Tools - Related Projects - Project Ideas  - Summer Projects

Installation - Troubleshooting - User FAQ - HOWTOs - Samples - Models  - Education - Contributed Code - Papers

This is a detailed installation guide for ns-3.  Basic installation instructions can be found in the ns-3 tutorial (see Getting Started chapter).

Contents

[hide]

Supported platforms

ns-3 is primarily developed on GNU/Linux platforms, and the minimal requirements to run basic simulations are a gcc or clang compiler and Python interpreter (details on versions below).

Operating system and compiler support

ns-3 is supported on the following primary platforms:

  1. Linux x86 and x86_64: gcc versions 4.2 through 4.8
  2. FreeBSD x86 and x86_64: clang version 3.3, gcc version 4.2
  3. Mac OS X Intel: clang-500.2.79, based on LLVM 3.3svn (OS X Mavericks and Xcode 5.0.1), and gcc-4.2 (available with Xcode version 4 or earlier)

By supported, we mean that the project tries to support most or all of the build options on these platforms unless there is a good reason to exclude the option; and at least the debug build will compile.  If you intend to do serious work using ns-3, and are forced by circumstances to use a Windows platform, consider virtualization of a popular Linux platform or using Ubuntu with wubi.  In both cases you end up with a fully functional Linux system and ns-3 distribution.

The following platforms are lightly supported:

  • Windows Visual Studio 2012
  • Windows Cygwin 1.7

Some aspects of ns-3 depend on Unix (or specifically Linux) support, such as the emulation or TapBridge features, and those components are not enabled on the Windows versions cited above.

Additional maintainers are invited to make more platforms, compilers and environments supported.

Integrated development environment support

Eclipse

The Eclipse IDE is not an officially supported platform, but some developers use it and have compiled a HOWTO.

NetBeans

NetBeans is not officially supported either, but there is a HOWTO as well.

QtCreator

Same rule applies to Qt Creator; it‘s not officially supported, but there are developers that use it and HOWTO is available.

Support for optional features

There are a few options that are not enabled by default and are not available on all platforms.  At the end of the configuration process (explained below), the status of these options are shown as detected by a waf script:

---- Summary of optional NS-3 features:
Python Bindings               : not enabled (Python library or headers missing)
BRITE Integration             : not enabled (BRITE not enabled (see option --with-brite))
NS-3 Click Integration        : not enabled (nsclick not enabled (see option --with-nsclick))
GtkConfigStore                : not enabled (library ‘gtk+-2.0 >= 2.12‘ not found)
XmlIo                         : not enabled (library ‘libxml-2.0 >= 2.7‘ not found)
Threading Primitives          : enabled
Real Time Simulator           : enabled
Emulated Net Device           : not enabled (<netpacket/packet.h> include not detected)
Network Simulation Cradle     : not enabled (architecture None not supported)
MPI Support                   : not enabled (option --enable-mpi not selected)
NS-3 OpenFlow Integration     : not enabled (Required boost libraries not found)
SQlite stats data output      : not enabled (library ‘sqlite3‘ not found)
Tap Bridge                    : not enabled (<linux/if_tun.h> include not detected)
PyViz visualizer              : not enabled (Python Bindings are needed but not enabled)
Use sudo to set suid bit      : not enabled (option --enable-sudo not selected)
Build tests                   : not enabled (defaults to disabled)
Build examples                : not enabled (defaults to disabled)
GNU Scientific Library (GSL)  : not enabled (GSL not found)

Generally if the platform is missing some requirement for an option it is marked as "not enabled."  Note that "disabled by user request" will be shown when the user explicitly disables a feature (such as "--disable-python"); and if a feature defaults to disabled this will also be noted (e.g., option --enable-sudo not selected).

The table below is meant to help sort out the different features and on which platforms they are supported.  This table reflects the status as of ns-3.15 and may have changed since then:

Option status
Option Linux FreeBSD Mac OS X
Optimized build Y Y Y
Python bindings Y Y Y
Threading Y Y Y
Real-time simulator Y   Y N
Emulated Net Device Y   N N
Tap Bridge Y   N N
Network simulation cradle Y1  ? N
Static builds Y Y Y

Key: Y = supported; N = not supported;  ? = unknown; dev = support in ns-3-dev (next release)

Notes:

  1. NSC works best with gcc-3.4 or gcc-4.2 or greater series.  Try to avoid using gcc-4.0 and gcc-4.1 series; some build problems have been found with these versions of compilers.

Prerequisites

The core of ns-3 requires a gcc/g++ installation of 3.4 or greater, and Python 2.4 or greater. As mentioned above, different options require additional support.  This is a list of packages (for Debian/Ubuntu systems) that are needed to support different ns-3 options.  Note that other distributions (e.g., Fedora, FreeBSD) may have different package names or capitalization (e.g. ImageMagik).  Installation should be similar for Red Hat/Fedora based systems, with "yum" replacing "apt-get", but some differences exist, so below is a guide for both Ubuntu (should generally apply to Debian) and Fedora/RedHat-based systems:

Linux

Ubuntu/Debian

The following list of packages should be accurate for Ubuntu 12.04 release; other releases or other Debian-based systems may slightly vary.

  • minimal requirements for C++ (release):  This is the minimal set of packages needed to run ns-3 from a released tarball.
 sudo apt-get install gcc g++ python
  • minimal requirements for Python (release): This is the minimal set of packages needed to work with Python bindings from a released tarball.
 sudo apt-get install gcc g++ python python-dev
  • Mercurial is needed to work with ns-3 development repositories.
 sudo apt-get install mercurial
  • Running python bindings from the ns-3 development tree (ns-3-dev) requires bazaar
 sudo apt-get install bzr
  • Debugging:
 sudo apt-get install gdb valgrind
  • GNU Scientific Library (GSL) support for more accurate WiFi error models
 sudo apt-get install gsl-bin libgsl0-dev libgsl0ldbl
  • The Network Simulation Cradle (nsc) requires the flex lexical analyzer and bison parser generator:
 sudo apt-get install flex bison libfl-dev
  • To install gcc-3.4 for some Network Simulation Cradle (nsc) stacks:
 sudo apt-get install g++-3.4 gcc-3.4
  • To read pcap packet traces
sudo apt-get install tcpdump
  • Database support for statistics framework
sudo apt-get install sqlite sqlite3 libsqlite3-dev
  • Xml-based version of the config store (requires libxml2 >= version 2.7)
sudo apt-get install libxml2 libxml2-dev
  • A GTK-based configuration system
 sudo apt-get install libgtk2.0-0 libgtk2.0-dev
  • To experiment with virtual machines and ns-3
 sudo apt-get install vtun lxc
  • Support for utils/check-style.py code style check program
sudo apt-get install uncrustify
  • Doxygen and related inline documentation:
 sudo apt-get install doxygen graphviz imagemagick
 sudo apt-get install texlive texlive-extra-utils texlive-latex-extra
  • The ns-3 manual and tutorial are written in reStructuredText for Sphinx (doc/tutorial, doc/manual, doc/models), and figures typically in dia:
 sudo apt-get install python-sphinx dia

Note: Sphinx version >= 1.12 required for ns-3.15.  To check your version, type "sphinx-build".  To fetch this package alone, outside of the Ubuntu package system, try "sudo easy_install -U Sphinx".

  • Support for Gustavo Carneiro‘s ns-3-pyviz visualizer
sudo apt-get install python-pygraphviz python-kiwi python-pygoocanvas libgoocanvas-dev
  • Support for openflow module (requires some boost libraries)
sudo apt-get install libboost-signals-dev libboost-filesystem-dev
  • Support for MPI-based distributed emulation
sudo apt-get install openmpi-bin openmpi-common openmpi-doc libopenmpi-dev
  • Support for generating modified python bindings
sudo apt-get install gcc-multilib

and you will want to install gccxml and pygccxml as per the instructions for python bindings (or through the bake build tool as described in the tutorial).

Fedora/RedHat

The following list of packages should be accurate for recent Fedora 19/CentOS 6.4 release; other releases may slightly vary.   Note that these distributions sometimes change the package structure over time.

  • minimal requirements for C++ (release):  This is the minimal set of packages needed to run ns-3 from a released tarball.
 yum install gcc gcc-c++ python
  • Note:  If you are using CentOS 5.4 or RHEL 5, you may want to also get and use the gcc44 packages; see the Troubleshooting page.
  • minimal requirements for Python (release): This is the minimal set of packages needed to work with Python bindings from a released tarball.
 yum install gcc gcc-c++ python python-devel
  • Mercurial is needed to work with ns-3 development repositories.
 yum install mercurial
  • Running python bindings from the ns-3 development tree (ns-3-dev) requires bazaar. You may need EPEL repository for this.
 yum install bzr
  • An optional but recommended package (for improving some wireless model fidelity) is GNU scientific library:
 yum install gsl gsl-devel
  • A GTK-based configuration system
 yum install gtk2 gtk2-devel
  • Debugging:
 yum install gdb valgrind
  • Doxygen and related inline documentation:
 yum install doxygen graphviz ImageMagick
  • The ns-3 manual and tutorial are written in reStructuredText for Sphinx (doc/tutorial, doc/manual, doc/models), and figures typically in dia:
 yum install python-sphinx dia texlive texlive-latex

Note: Sphinx version >= 1.12 required for ns-3.15.  To check your version, type "sphinx-build".  To fetch this package alone, outside of the Fedora package system, try "sudo easy_install -U Sphinx"

  • The Network Simulation Cradle (nsc) requires the flex lexical analyzer and bison parser generator:
 yum install flex bison
  • To read pcap packet traces
 yum install tcpdump
  • Database support for statistics framework
 yum install sqlite sqlite-devel
  • Xml-based version of the config store (requires libxml2 >= version 2.7)
 yum install libxml2 libxml2-devel
  • Support for utils/check-style.py style check program
 yum install uncrustify
  • Support for MPI distributed simulations
 yum install openmpi openmpi-devel
  • Support for openflowswitch
 yum install boost-devel
  • Support for ns-3-pyviz visualizer
sudo apt-get install graphviz graphviz-devel python-setuptools-devel python-kiwi pygoocanvas
sudo easy_install pygraphviz
  • Support for generating modified python bindings
 yum install cmake glibc-devel.i686 glibc-devel.x86_64

and you will want to install gccxml and pygccxml as per the instructions for python bindings (or through the bake build tool as described in the tutorial).

Gentoo

The following list of packages should be accurate for Gentoo as of 04/22/2010; due to possible changes in USE-flags or package names the list may slightly vary. First of all, become root as usual.

  • minimal requirements for C++ or Python (release):  This is the minimal set of packages needed to run ns-3 or to work with Python bindings from a released tarball.
 USE="threads -nocxx nptl" emerge -uavN gcc python
  • Mercurial is needed to work with ns-3 development repositories.
 emerge -av --noreplace mercurial
  • Running python bindings from the ns-3 development tree (ns-3-dev) requires bazaar
 USE="curl" emerge -uavN bzr
  • A GTK-based configuration system
 emerge -av --noreplace gtk+:2
  • Debugging:
 emerge -av --noreplace gdb valgrind
  • Doxygen and related inline documentation; also ns-3 manual and tutorial (written in Texinfo):
 USE="extra graphics png" emerge -uavN texlive
 USE="cairo graphviz latex png svg" emerge -uavN doxygen imagemagick dia
  • The Network Simulation Cradle (nsc) requires the flex lexical analyzer and bison parser generator:
 emerge -av --noreplace flex bison
  • Some basic mobility visualization tests require goocanvas:
 emerge -av --noreplace goocanvas
  • To install gcc-3.4 for some Network Simulation Cradle (nsc) stacks:
 USE="-nocxx nptl" emerge -uavN gcc:3.4
  • To read pcap packet traces
 emerge -av --noreplace tcpdump

or you may prefer

 emerge -av --noreplace wireshark
  • Database support for statistics framework
 USE="threadsafe" emerge -uavN sqlite:3
  • Xml-based version of the config store (requires libxml2 >= version 2.7)
 emerge -av --noreplace libxml2
  • Support for Gustavo‘s ns-3-pyviz visualizer (following packages have no stable version as of day of writing, so ~arch for ACCEPT_KEYWORDS)
 ACCEPT_KEYWORDS="~x86" emerge -av --noreplace pygraphviz kiwi pygoocanvas
  • Support for utils/check-style.py style check program
 ACCEPT_KEYWORDS="~x86" emerge -av --noreplace uncrustify
  • To summarize all of above up (without not yet stable pygraphviz, kiwi, pygoocanvas, uncrustify):
 USE="cairo curl extra graphics graphviz latex -nocxx nptl png svg threads threadsafe" emerge -uavN bison bzr dia doxygen flex gcc gcc:3.4 goocanvas gtk+:2 imagemagick libxml2 mercurial python sqlite:3 tcpdump texlive valgrind wireshark

FreeBSD

Many versions of FreeBSD provide gcc compiler.  The latest version of gcc maintained for FreeBSD is 4.2.1.  ns-3 (as of ns-3.18.1 release) builds on gcc-4.2.1 and clang-3.3 for FreeBSD.

To use clang, one must set the ‘CC=clang‘ and ‘CXX=clang++‘ environment variables at compile time, such as:

 CC=clang CXX=clang++ ./waf configure

or set these in your environment variables.

Mac OS X

For OS X 10.9 (Mavericks), ns-3.18.1 release (or higher) is supported by the clang/llvm compiler used in Xcode (note: OS X 10.10 Yosemite should be the same, but is not yet tested).  One can follow these instructions:

  1. Download and install Xcode (version 6; the legacy version 5 also works) from the App Store.

    1. Make sure to install the "Command line tools" option, so that you install the clang/LLVM compiler.  This is done by typing `xcode-select --install` once Xcode is installed.
  2. Download and unpack the ns-allinone-3.18.1 release (or higher) as described in the tutorial
  3. If you wish to use the NetAnim animator, you must install Qt (version 4 series; version 5 is unsupported).
  4. If you wish to use mercurial, you must install it. Follow the instruction in the mercurial web siteMacPorts and Homebrew are possible package managers to accomplish this.

For OS X 10.8 (Mountain Lion) and earlier, using Xcode 4 series, please see HOWTO_get_ns-3_running_on_Mac_OS_X_(10.6.2_Intel) and follow steps 1 and 2 (prerequisites) and continue reading below if you want to work with a released version, and follow all steps if you want to work with a development version of ns-3.

Windows

There are two basic options for Windows support:

  1. We provide HOWTO documents describing the process for installing Linux and getting ns-3 running using two popular virtualization products:  VirtualBox (HOWTO use VirtualBox to run simulations on Windows machines) and VMware (HOWTO use VMware to set up virtual networks (Windows)).
  2. There is an experimental project, Ns3 on Windows, using Visual Studio 2012.

Installation

Installation with Bake

Bake is a new tool for installing, building and finding out the missing requirements for ns-3 in your own environment.

To use Bake you need to have at least Python (preferably 2.6 and above) and mercurial in your machine (see the section Prerequisites above to see how to install these).

First you need to download Bake using Mercurial, go to where you want Bake to be installed and call

 hg clone http://code.nsnam.org/bake

It is advisable to add bake to your path.

 export BAKE_HOME=`pwd`/bake
 export PATH=$PATH:$BAKE_HOME
 export PYTHONPATH=$PYTHONPATH:$BAKE_HOME

After that you can use Bake to find the missing packages, download build and install ns-3 and its modules.

To find out what is missing in your system and may be needed for installing ns-3 you can call bake check:

 bake.py check

You should have seen something like:

> Python - OK    > GNU C++ compiler - OK    > Mercurial - OK    > CVS - OK    > GIT - OK    > Bazaar - OK    > Tar tool - OK    > Unzip tool - OK    > Unrar tool - OK    > 7z  data compression utility - OK    > XZ data compression utility - OK    > Make - OK    > cMake - OK    > patch tool - OK    > autoreconf tool - OK    > Path searched for tools: /usr/lib64/qt-3.3/bin  /usr/lib64/ccache /usr/local/bin  /usr/bin/bin/usr/local/sbin /usr/sbin  /sbin /user/dcamara/home/scripts/user/dcamara/home/INRIA/Programs/bin   /user/dcamara/home/INRIA/repos/llvm/build/Debug+Asserts/bin

Before downloading and building ns-3  you need to configure bake to inform it which are the modules you want added to ns-3, the standard distribution for example.

  bake.py configure -e ns-3.17

Then to see the modules it has added, and the specific system requirements for this configuration, you can call bake show:

  bake.py show

To download the modules, build and install you can call bake deploy

  bake.py deploy

This will download the selected modules, all their dependencies and build ns-3 with all these independent modules. You can also perform this installation step by step, i.e. by calling download and build in different steps.

  bake.py download
  bake.py build

Manual installation

The ns-3 code is available in Mercurial repositories on the server http://code.nsnam.org (look for the latest release e.g., "ns-3.4").  You can download a tarball of the latest release at http://www.nsnam.org/releases or you can work with our repositories using Mercurial.  We recommend using Mercurial unless there‘s a good reason not to (See the end of this section for instructions on how to get a tarball release).

The simplest way to get started using Mercurial repositories is to use the ns-3-allinone environment.  This is a set of scripts that manages the downloading and building of various subystems of ns-3 for you.  We recommend that you begin your ns-3 adventures in this environment as it can really simplify your life at this point.

Downloading ns-3 Using Mercurial

One practice is to create a directory called repos in one‘s home directory under which one can keep local Mercurial repositories.  If you adopt that approach, you can get a copy of ns-3-allinone by typing the following into your Linux shell (assuming you have installed Mercurial):

 cd
 mkdir repos
 cd repos
 hg clone http://code.nsnam.org/ns-3-allinone

As the hg (Mercurial) command executes, you should see something like the following displayed,

 destination directory: ns-3-allinone
 requesting all changes
 adding changesets
 adding manifests
 adding file changes
 added 26 changesets with 40 changes to 7 files
 7 files updated, 0 files merged, 0 files removed, 0 files unresolved

After the clone command completes, you should have a directory called ns-3-allinone under your ~/repos directory, the contents of which should look something like the following:

 build.py*  constants.py  dist.py*  download.py*  README  util.py

Notice that you really just downloaded some Python scripts.  The next step will be to use those scripts to download and build the ns-3 distribution of your choice.

If you go to the following link: http://code.nsnam.org/ you will see a number of repositories.  Many are the private repositories of the ns-3 development team.  The repositories of interest to you will be prefixed with ns-3.  Official releases of ns-3 will be numbered as ns-3.release.hotfix.  For example, a second hotfix to a still hypothetical release nine of ns-3 would be numbered as ns-3.9.2 on this page.

The current development snapshot (unreleased) of ns-3 may be found at http://code.nsnam.org/ns-3-dev/.  The developers attempt to keep these repository in consistent, working states but they are in a development area with unreleased code present, so you may want to consider staying with an official release if you do not need newly-introduced features.

Since the release numbers are going to be changing, we will stick with the more constant ns-3-dev here, but you can replace the string ns-3-dev with your choice of release (e.g., ns-3.4) in the text below.  You can find the latest version of the code either by inspection of the repository list or by going to the Getting Started web page and looking for the latest release identifier.

To download the most common options type the following into your shell (remember you can substitute the name of your chosen release number instead of ns-3-dev)

 ./download.py -n ns-3-dev

After download process completes, you should have several new directories under ~/repos/ns-3-allinone:

 build.py*     constants.pyc  download.py*  nsc/        README      util.pyc
 constants.py  dist.py*       ns-3-dev/     pybindgen/  util.py

Go ahead and change into ns-3-dev under your ~/repos/ns-3-allinone directory.  You should see something like the following there:

 AUTHORS       examples/  RELEASE_NOTES  utils/   wscript
 bindings/     LICENSE    samples/       VERSION  wutils.py
 CHANGES.html  ns3/       scratch/       waf*
 doc/          README     src/           waf.bat*

You are now ready to build the ns-3 distribution.

Downloading ns-3 Using a Tarball

The process for downloading ns-3 via tarball is simpler than the Mercurial process since all of the pieces are pre-packaged for you.  You just have to pick a release, download it and decompress it.

As mentioned above, one practice is to create a directory called repos in one‘s home directory under which one can keep local Mercurial repositories.  One could also keep a tarballs directory.  If you adopt the tarballs directory approach, you can get a copy of a release by typing the following into your Linux shell (substitute the appropriate version numbers, of course):

 cd
 mkdir tarballs
 cd tarballs
 wget http://www.nsnam.org/release/ns-allinone-3.13.tar.bz2
 tar xjf ns-allinone-3.13.tar.bz2

If you change into the directory ns-allinone-3.13 you should see a number of files:

 build.py*      ns-3.13/    pybindgen-0.15.0.795/  util.py
 constants.py   nsc-0.5.2/  README

You are now ready to build the ns-3 distribution.

Building ns-3 with build.py

The first time you build the ns-3 project you should build using the allinone environment.  This will get the project configured for you in the most commonly useful way.

Change into the directory you created in the download section above.  If you downloaded using Mercurial you should have a directory called ns-3-allinone under your ~/repos directory.  If you downloaded using a tarball you should have a directory called something like ns-allinone-3.13 under your ~/tarballs directory.  Type the following:

 ./build.py

You will see lots of typical compiler output messages displayed as the build script builds the various pieces you downloaded.  Eventually you should see the following magic words:

 Build finished successfully (00:02:37)
 Leaving directory `./ns-3-dev‘

Once the project has built you typically will not use ns-3-allinone scripts.  You will now interact directly with Waf and we do it in the ns-3-dev directory and not in the ns-3-allinone directory.

Configuration with Waf

To see valid configure options, type ./waf --help.  The most important option is -d <debug level>.  Valid debug levels (which are listed in waf --help) are:  "debug" or "optimized".  It is also possible to change the flags used for compilation with (e.g.):

 CXXFLAGS="-O3" ./waf configure

or, alternately, the gcc compiler

 CXX=g++-3.4 ./waf configure

Note:  Unlike some other build tools, to change the build target, the option must be supplied during the configure stage rather than the build stage (i.e., "./waf -d optimized" will not work; instead, do

 ./waf -d optimized configure; ./waf

The resulting binaries are placed in build/<debuglevel>/srcpath.  For example, in a debug build you can find the executable for the first.cc example as build/examples/first.  You can debug the executable directly by:

 ./waf --shell
 cd build/debug/examples
 gdb ns-<version>-first-debug

Of course, you can run gdb in emacs, or use your favorite debugger such as ddd or insight just as easily.  In an optimized build you can find the executable for the first.cc example as build/examples/ns-<version>-first-optimized.

In order to forcibly disable python bindings, you can provide the following option:

 ./waf --disable-python configure

In order to tell the build system to use the sudo program to set the suid bit if required, you can provide the following option:

 ./waf --enable-sudo configure

To start over a configuration from scratch, type:

 ./waf distclean

Or if you get stuck and all else fails:

 rm -rf build

followed by changing back into ns-3-allinone and doing:

 ./build.py

will basically reset your build state.

To see all waf options:

 ./waf --help

Validating

ns-3 has unit tests that can be run to verify the installation:

 ./test.py

which should produce output like:

PASS: TestSuite histogram
PASS: TestSuite ns3-wifi-interference
PASS: TestSuite ns3-tcp-cwnd
PASS: TestSuite ns3-tcp-interoperability
PASS: TestSuite sample
...

Using Python

See this page.

Troubleshooting

See this page.

Obsolete information

Older versions of ns-3, prior to 3.15, supported using cygwin to run on Windows platform.

Windows

There are three basic options for Windows support:

  1. We provide HOWTO documents describing the process for installing Linux support and getting ns-3 running using two popular virtualization products:  VirtualBox (HOWTO use VirtualBox to run simulations on Windows machines) and VMware (HOWTO use VMware to set up virtual networks (Windows)).
  2. There is an experimental project, Ns3 on Windows, using Visual Studio 2012. For support on Visual Studio 2010 see ns-3 on Visual Studio 2010
  3. Cygwin has been supported in the past:  gcc 3.4.4 (debug only), gcc 4.3.2 (debug and optimized). Note, however, that there are limitations with regard to Python bindings, and that Real-time simulator, Emulated Net Device, Tap Bridge and Network simulation cradle are not supported.

An alternative Windows platform is MinGW.  There are maintainers who attempt to keep a subset of ns-3 running on MinGW, but it is not "officially" suppported.  This means that bugs filed against MinGW will be addressed as time permits.

Cygwin can sometimes be problematic due to the way it actually does its emulation, and sometimes interactions with other Windows software can cause problems.  If you do use Cygwin or MinGW; and use Logitech products, we will save you quite a bit of heartburn right off the bat and encourage you to take a look at the MinGW FAQ.

Search for "Logitech" and read the FAQ entry, "why does make often crash creating a sh.exe.stackdump file when I try to compile my source code." Believe it or not, the ``Logitech Process Monitor`` insinuates itself into every DLL in the system when it is running.  It can cause your Cygwin or MinGW DLLs to die in mysterious ways and often prevents debuggers from running.  Beware of Logitech software when using Cygwin.

Retrieved from "http://www.nsnam.org/mediawiki/index.php?title=Installation&oldid=9113"

Navigation menu

Personal tools

Namespaces

Variants

Views

Actions

Search

Navigation

Toolbox

  • This page was last modified on 21 October 2014, at 14:22.
  • This page has been accessed 300,471 times.
时间: 2024-10-24 23:31:48

centeros-ns3/Redhead的相关文章

NS3之路---NS3Tutorial解读---Introduction &amp; Resource

NS3网络模拟器 学习NS3最好的途径肯定是阅读官方给定的文档啦.目前NS3官网上给出了Tutorial.Mannual.Module三个pdf,对于新手的我而言,tutorial显然是比较好的入门教材,于是便开始阅读tutorial,同时进行部分的翻译,并夹杂一些个人想法. ns-3.2-入门基础篇 介绍 NS3是一个离散事件驱动的网络模拟器,旨在为学术研究和教育提供帮助. ns3是一个开源项目,起源于2006年. 对于ns3的新用户而言,从详细的英文技术细节手册上收集信息并将其转化为仿真环境

ns3加入模块之vanet-highway

在网上搜了下加入模块的教程,搜到了一个帖子:ns3加入模块 ,可是这个帖子只给出了如何加入的步骤.我认为写的比較简单,当我们须要加入别的模块时就不知道如何操作了. 所以,我写这个帖子,会将非常多遇到的细节问题和原因展现出来. vanet-highway,这个模块是Bradley Dupont在Arbabi, Weigle的基础上进行改进的模块代码,使用了xml文件以及增加了很多其它的场景因素,详细能够參见相关文档.代码文档和介绍文档能够在google code中下载:谷歌code下载链接  ,有

ns3模拟无线Ad hoc 网络通信

Ad hoc网络 Ad hoc网是一种多跳的.无中心的.自组织无线网络,又称为多跳网(Multi-hop Network).无基础设施网(Infrastructureless Network)或自组织网(Self-organizing Network).整个网络没有固定的基础设施,每个节点都是移动的,并且都能以任意方式动态地保持与其它节点的联系.在这种网络中,由于终端无线覆盖取值范围的有限性,两个无法直接进行通信的用户终端可以借助其它节点进行分组转发.每一个节点同时是一个路由器,它们能完成发现以

NS3之路---Tutorial解读---Beginning&amp;&amp;Concept

鉴于前面已经有写过了ns3安装的部分,因此也就不重新介绍beginning部分了. 第四章介绍了几个网络中非常重要的概念.对于网络比较熟悉的基本上一看就能懂,理解这几个概念对于理解ns3十分重要.下面就是tutorial第四章的相关翻译工作. 相关概念介绍 首先,在进行ns3程序开发之前,我们有必要对相关概念进行介绍.它们是网络中最基本的对象,因此必须理解. 节点-Node 在因特网术语中,连接到网络的计算设备被称为主机或者终端.但是由于ns3是网络模拟器,而非因特网模拟器,因此我们更习惯使用图

NS3网络仿真(13): FdNetDevice的问题

快乐虾 http://blog.csdn.net/lights_joy/ 欢迎转载,但请保留作者信息 在前面的小节中,我们使用FdNetDevice进行了实时仿真,利用NS3向一台实际的机器发送ping包,但得到的结果显然有点偏离我们的预期结果,因为ping包的响应时间明显长于正常情况下的响应时间. 这个是用NS3发送ping包的结果: 使用WireShark在NS3使用的适配器上抓包,这个是在物理网卡上抓到的包: 显然对端的响应是没有问题的,莫非问题出现在winpcap的发送上?刚好学习ICM

NS3网络仿真(12): ICMPv4协议

快乐虾 http://blog.csdn.net/lights_joy/ 欢迎转载,但请保留作者信息 ICMP的全称是 Internet ControlMessage Protocol .其目的就是让我们能够检测网络的连通状况.ICMP主要是透过不同的类别(Type)与代码(Code) 让机器来识别不同的连接状况.本节利用NS3学习一下此协议. 1.1    报文格式 ICMP的报文格式如下: 即ICMP报文是IP报文的数据,而IPv4报文的格式如下: 在网上抓一个ping包来看看: 这是一个从

NS3网络仿真(2):first.py

1    安装基本模块 11  安装Python 12  安装PTVS 13  添加对python-279的支持 2    在vs2013下编译NS3 3    编译NetAnim 4    在vs2013下使用ns 快乐虾 http://blog.csdn.net/lights_joy/ 欢迎转载,但请保留作者信息 学习一下ns中的第一个示例脚本,first.py,这个示例模拟一个Echo服务和客户端之间的通信. 1.1    导入所需要的库 ns3的每一个模块都有一个对应的用C++开发的dl

在Ubuntu14.04下安装NS3.25

安装环境:Ubuntu14.04桌面版 目的:安装ns3.25 注意:第一次安装完之后发现visualizer模块(用于画图)没有正确安装,所以只得重新安装.建议下载的时候,使用wget工具直接下载tar源码包(因为tar包里面自带了pybindgen工具),不要使用Mercurial下载,否则编译安装的时候提示没有提供pythonbindings而无法安装visualizer模块. 下面我一步一步的介绍如何安装ns3.25 1.下载并安装ns3.25的依赖包,为了简单,我写成了一个脚本,用来安

CenterOS的安装配置(配图解)

CenterOS的安装配置 一.    配置虚拟机 打开Virtual Machine(虚拟机),点击create new virtual machine 二.   安装CenterOS 三.   配置CenterOS

使用Eclipse调试NS3

在ubuntu下安装并编译成功NS3之后,考虑到在命令行下实在是不方便进行开发工作,于是考虑使用集成开发环境Eclipse. 在nsnam官网上给出了一个相关的配置方案,阅读之后,总结为如下步骤: PS:前提是NS3建议先安装好,不然会出现很多其他的问题. 1. 下载eclipse环境,如果没有安装jdk,那么还需要下载jre,放在eclipse的目录下,这样才能eclipse运作起来.另外,由于ns3是纯c++开发的,因此建议直接下载eclipse的c++版本. 2. 将NS3导入eclips