NS3 - Direct Code Execution (DCE)
https://www.nsnam.org/docs/dce/manual/html/index.html
This is the manual of Direct Code Execution (DCE).
- Doxygen: Documentation of the public APIs of the DCE
- Manual (this document) for the latest release and development tree
This document is written in reStructuredText for Sphinx and is maintained in thedoc/ directory of ns-3-dce’s source code.
===============================================================https://www.nsnam.org/docs/dce/manual/html/intro.html
Introduction
Overview
Direct Code Execution (DCE) is a module for ns-3 that provides facilities to execute, within ns-3, existing implementations of userspace and kernelspace network protocols or applications without source code changes. For example instead of using the pseudo application provided by ns-3 V4PingHelper you can use the true ping.
Manual Structure
This document consists of the following parts:
- Quick Start: The document describes a quick instruction of DCE.
- User’s Guide: The document is for people who will use DCE to experiment.
DCE Outlook
- To run an application using DCE, it is not necessary to change its sources. However you will need to recompile them.
- The simulation is executed wholly within a single process which greatly facilitates the debugging.
- DCE is very memory-efficient, thanks to the way it loads the executables similarly to shared libraries.
Supported Features
- Simulation with POSIX socket application (no manual modifications)
- C/C++ applications
- Simulation with Linux kernel implemented network protocol
- IPv4/IPv6
- TCP/UDP/DCCP
- running with POSIX socket applications and ns-3 socket applications
- configuration via sysctl-like interface
- multiple nodes debugging with single gdb interface
- memory analysis by single valgrind execution with multiple nodes
- Variance of network stacks
- ns-3 native stack (IPv4/IPv6, partially)
- Network simulation cradle network stack (IPv4 TCP only)
- Linux network stack (IPv4/IPv6/others)
- Per-node configuration/stdin input
- Per-node syslog/stdout/stderr files output
Tested Applications
- CCNx
- Quagga
- iperf
- ping/ping6
- ip (iproute2 package)
- Mobilt IPv6 daemon (umip)
- Linux kernel (from 2.6.36 to 3.7 versions)
- http server (thttpd)
- torrent (libtorrent from rasterbar + opentracker)
Tested Environment
Currently, DCE only supports Linux-based operating system.DCE has been tested on the following distributions:
- Ubuntu 10.04 64bit
- Ubuntu 12.04 32bit/64bit
- Ubuntu 12.10 64bit
- Ubuntu 13.04 64bit
- Ubuntu 13.10 64bit (new)
- Fedora 18 32bit
- CentOS 6.2 64bit
but you can try on the others (e.g., CentOS, RHEL).If you got run on another distribution, please let us know.