热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

NS3的下载安装运行简易教程

博主这学期选修了NS3仿真器这门课,第一堂课作业首先下载安装NS3,以下是详细地安装流程:首先博主用的是centos7系统在VMware虚

博主这学期选修了NS3仿真器这门课,第一堂课作业首先下载安装NS3,以下是详细地安装流程:
首先博主用的是centos7系统在VMware虚拟机下进行的安装,然后通过Xshell5连接虚拟机进行操作。如果没有安装VMware 和centos7的同学需要先下载(推荐下载centos7 的tar包并在虚拟机中解压)


下载配置VMware

下载直接在官网下载即可,下载好后进行安装:
VM的下载
安装好后在VM选择创建一个新的虚拟机,系统为centos7(官网下载)。
配置虚拟机
配置虚拟机
配置虚拟机
开启虚拟机
在这里插入图片描述
然后我用的是Xshell连接配置好的虚拟机进行操作(毕竟Xshell命令符输入更方便,当然你也可以选择不用Xshell):
Xshell连接虚拟机进行DOS命令操作
接下来是下载NS3的tar包,官网下载经常会出现问题,贴一个网盘链接:https://pan.baidu.com/s/1bplwXsV#list/path=%2F 直接下载到电脑即可。
下载好以后解压NS3的tar包:

NS3tar包
解压tar包
解压好以后开始配置NS3的运行环境,通过在Xshell链接虚拟机进行输入命令语句执行:
在这里插入图片描述
在这里插入图片描述
环境配置好以后NS3基本已经可以使用了,不过最后我推荐大家使用Waf编译。
首先我们通过虚拟机进入ns3:
cd ns-allinone-3.25/ns-3.25
ls
然后继续编译语句:
./waf clean
./waf --build-profile=debug --enable-examples --enable-tests configure
下一步是配置NS3,“–build-profile=debug”是让NS3以debug模式运行,可以在运行时查看日志信息,方便调试。最后出现
‘configure’ finished successfully (2.493s)
说明配置成功。接着编译:
./waf
当最后看到
Build commands will be stored in build/compile_commands.json
‘build’ finished successfully (7m41.748s)

Modules built:
antenna aodv applications
bridge buildings config-store
core csma csma-layout
dsdv dsr energy
fd-net-device flow-monitor internet
internet-apps lr-wpan lte
mesh mobility mpi
netanim (no Python) network nix-vector-routing
olsr point-to-point point-to-point-layout
propagation sixlowpan spectrum
stats tap-bridge test (no Python)
topology-read traffic-control uan
virtual-net-device wave wifi
wimax

Modules not built (see ns-3 tutorial for explanation):
brite click openflow
visualizer
说明编译成功。

当然如果不确定软件是否能正常运行,可以对NS3进行测试:
测试看看是否成功地安装好NS3:

./test.py -c core1

最后输出
219 of 222 tests passed (219 passed, 3 skipped, 0 failed, 0 crashed, 0 valgrind errors)
List of SKIPped tests:
ns3-tcp-cwnd
ns3-tcp-interoperability
nsc-tcp-loss
0 failed, 0 crashed, 0 valgrind errors,虽然有skipped,应该不影响使用。
好了,你已经安装成功了!

运行脚本试试:
执行第一个程序(就用Hello world吧)

./waf --run hello-simulator1

直接执行命令,如果出现
Hello Simulator
恭喜你,你可以使用NS3了!
如果没有出现,可能是配置NS3时,不是使用debug模式,而是”optimized”

./waf --build-profile=optimized --enable-examples --enable-tests configure1

那么控制台就不会输出Hello Simulator。

完成这些就可以运行你想要运行的代码了,快动手试一试吧。


推荐阅读
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • 本文介绍了三种方法来实现在Win7系统中显示桌面的快捷方式,包括使用任务栏快速启动栏、运行命令和自己创建快捷方式的方法。具体操作步骤详细说明,并提供了保存图标的路径,方便以后使用。 ... [详细]
  • 使用C++编写程序实现增加或删除桌面的右键列表项
    本文介绍了使用C++编写程序实现增加或删除桌面的右键列表项的方法。首先通过操作注册表来实现增加或删除右键列表项的目的,然后使用管理注册表的函数来编写程序。文章详细介绍了使用的五种函数:RegCreateKey、RegSetValueEx、RegOpenKeyEx、RegDeleteKey和RegCloseKey,并给出了增加一项的函数写法。通过本文的方法,可以方便地自定义桌面的右键列表项。 ... [详细]
  • 本文介绍了使用readlink命令获取文件的完整路径的简单方法,并提供了一个示例命令来打印文件的完整路径。共有28种解决方案可供选择。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • 本文详细介绍了Android中的坐标系以及与View相关的方法。首先介绍了Android坐标系和视图坐标系的概念,并通过图示进行了解释。接着提到了View的大小可以超过手机屏幕,并且只有在手机屏幕内才能看到。最后,作者表示将在后续文章中继续探讨与View相关的内容。 ... [详细]
  • Ihaveaworkfolderdirectory.我有一个工作文件夹目录。holderDir.glob(*)>holder[ProjectOne, ... [详细]
  • python3 nmap函数简介及使用方法
    本文介绍了python3 nmap函数的简介及使用方法,python-nmap是一个使用nmap进行端口扫描的python库,它可以生成nmap扫描报告,并帮助系统管理员进行自动化扫描任务和生成报告。同时,它也支持nmap脚本输出。文章详细介绍了python-nmap的几个py文件的功能和用途,包括__init__.py、nmap.py和test.py。__init__.py主要导入基本信息,nmap.py用于调用nmap的功能进行扫描,test.py用于测试是否可以利用nmap的扫描功能。 ... [详细]
  • 本文介绍了在RHEL 7中的系统日志管理和网络管理。系统日志管理包括rsyslog和systemd-journal两种日志服务,分别介绍了它们的特点、配置文件和日志查询方式。网络管理主要介绍了使用nmcli命令查看和配置网络接口的方法,包括查看网卡信息、添加、修改和删除配置文件等操作。 ... [详细]
author-avatar
今日屎汰濃
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有