You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows环境下安装运行ns-3仿真完整分步指南求助

ns-3 从安装到Python可视化仿真新手指南

一、先搞定环境(推荐WSL Ubuntu 22.04)

  • 打开PowerShell,执行wsl --install,按提示重启后选择Ubuntu 22.04完成安装
  • 进入Ubuntu终端后,先更新系统:
    sudo apt update && sudo apt upgrade -y
    

二、装全依赖(含Python和GUI支持)

执行这条命令一次性装完所有需要的编译、Python和可视化工具:

sudo apt install -y gcc g++ python3 python3-dev python3-pip git mercurial cmake libc6-dev libc6-dev-i386 libclang-dev llvm-dev automake autoconf libxml2-dev libgtk-3-dev libboost-all-dev

再装Python绑定需要的工具:

pip3 install setuptools wheel pybind11

三、下载编译ns-3源码

  1. 克隆稳定版源码(以ns-3.37为例):
    git clone https://gitlab.com/nsnam/ns-3-dev.git ns-3.37
    cd ns-3.37
    
  2. 配置编译选项,一定要开Python绑定和GUI:
    ./waf configure --enable-python --enable-gtk --enable-examples --enable-tests
    
    看到Configuration finished successfully就说明配置没问题
  3. 编译(加-j4用4线程加速,可根据自己CPU核心数调整):
    ./waf build -j4
    
    出现Build finished successfully就编译完成了

四、验证Python环境

  1. 先测模块能不能导入:
    python3 -c "import ns3; print('ns-3 Python绑定正常')"
    
    没报错就说明环境ok
  2. 写个简单的Python测试脚本hello_ns3.py:
    import ns3
    
    ns3.LogComponentEnable("HelloSimulator", ns3.LOG_LEVEL_INFO)
    simulator = ns3.Simulator()
    
    # 定时打印消息
    ns3.Simulator.Schedule(ns3.Seconds(0.0), lambda: print("Hello ns-3 from Python!"))
    
    simulator.Run()
    simulator.Destroy()
    
    执行脚本:
    python3 hello_ns3.py
    
    看到输出Hello ns-3 from Python!就成功了

五、跑可视化仿真

1. WSL下GUI显示设置

  • Windows 11用户:默认自带WSLg,直接运行GUI程序就行
  • Windows 10用户:装VcXsrv,启动时勾上Disable access control,然后在WSL终端执行:
    export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0.0
    

2. 运行可视化例子

直接运行自带的WiFi自组网可视化仿真:

./waf --run "wifi-simple-adhoc --visualize"

会弹出GUI窗口,能看到节点移动和数据包传输的实时画面。

如果是自己写的Python脚本,要加可视化的话,在代码末尾添加:

simulator.Run()
simulator.Destroy()
# 启用GUI(前提是编译时开了--enable-gtk)
ns3.GtkConfigStore.ConfigureAttributes()

六、可选:用Docker省配置时间

  1. 拉取官方ns-3镜像:
    docker pull nsnam/ns-3-dev:latest
    
  2. 运行容器,挂载本地脚本目录并转发GUI:
    docker run -it --rm -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix -v $(pwd)/my-ns3-scripts:/home/ns3/my-scripts nsnam/ns-3-dev:latest
    
    • 进入容器后,直接在ns-3源码目录运行./waf --run "wifi-simple-adhoc --visualize"就能看到GUI
    • 本地my-ns3-scripts目录里的脚本,在容器里的/home/ns3/my-scripts能找到

内容的提问来源于stack exchange,提问作者Cyber Avater

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 02:36:17