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.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通