linux ns3配置环境,Ubuntu下的NS3安装与入门

NS3的开发旨在为网络研究和教育提供开放,可扩展的网络仿真平台。简而言之,NS3提供了分组数据网络如何工作和执行的模型,并为用户提供了进行模拟实验的模拟引擎。使用ns-3的一些原因包括进行更难或不可能用真实系统执行的研究,在高度可控的,可重现的环境中研究系统行为,以及了解网络如何工作。用户将注意到NS3中的可用模型集侧重于建模Internet协议和网络的工作方式,但NS3不仅限于Internet系统;一些用户正在使用ns-3来建模非基于互联网的系统。

官方提供了相应的文档https://www.nsnam.org/ns-3-28/documentation/

7aa7f3955233

官方文档

安装NS3

1、安装依赖库

在安装NS3前需要安装一些依赖库,在安装库之前可以先更新一下apt

sudo apt-get update

安装依赖库

sudo apt-get install gcc g++ python python-dev   C++和python

sudo apt-get install mercurial   NS3代码维护使用的源码版本控制管理系统

sudo apt-get install bzr   运行python绑定ns-3-dev需要bazaar这个组件

sudo apt-get install gdb valgrind   调试工具

sudo apt-get install gsl-bin libgsl-dev libgsl23   支持更多精确WIFI模块的GNU Scientific Library (GSL)

sudo apt-get install flex bison libfl-dev  仿真必需的词法分析器和语法分析生成器

sudo apt-get install g++-3.4 gcc-3.4  Network Simulation Cradle (nsc) stacks需要gcc-3.4

sudo apt-get install tcpdump   读取pcap的packet traces

sudo apt-get install sqlite sqlite3 libsqlite3-dev   支持统计特性的数据库软件

sudo apt-get install libxml2 libxml2-dev   xml的配置存储软件

sudo apt-get install libgtk2.0-0 libgtk2.0-dev   基于GTK的配置系统

sudo apt-get install vtun lxc   在虚拟机and ns-3上测试

sudo apt-get install uncrustify   支持utils/check-style.py 代码风格检查程序

sudo apt-get install doxygen graphviz imagemagick   文档生成器

sudo apt-get install texlive texlive-extra-utils texlive-latex-extra

sudo apt-get install python-sphinx dia

sudo apt-get install python-pygraphviz python-kiwi python- - pygoocanvas libgoocanvas-dev   Gustavo’s ns-3-pyviz的可视化软件

sudo apt-get install libboost-signals-dev libboost-filesystem-dev   支持openflow 模块

sudo apt-get install openmpi*   支持基于 MPI的分布式仿真

2、安装NS3

NS3可通过Tarballs和Bake两种方式进行安装,以下将以Tarballs为例:创建Tarballs目录、进入目录、下载压缩包、解压

mkdir tarballs

cd tarballs

wget http://www.nsnam.org/release/ns-allinone-3.28.tar.bz2

tar xjf ns-allinone-3.28.tar.bz2

解压完成以后目录如图所示:

7aa7f3955233

NS3目录

3、编译NS3

cd ns-allinone-3.28

./build.py

cd ns-3.28

./waf distclean (清除整个build目录)

./waf configure --build-profile=debug --enable-examples --enable-tests(打开debug并开启例子及帮助)

./waf build

7aa7f3955233

编译

4、测试

可通过运行./test.py -c core来进行测试

7aa7f3955233

测试

7aa7f3955233

测试

5、运行hello-simulator

hello-simulator相当于hello world程序

通过输入./waf --run hello-simulator运行

7aa7f3955233

运行结果

6、ERROR

6.1如果看不到输出

如果看到Waf消息指示构建已成功完成,但未看到“Hello Simulator”输出,则可能是在Building with Waf部分中将构建模式切换为优化,但错过了更改回调试模式。 如果未看到“Hello Simulator”输出,请键入以下内容:

$ ./waf configure --build-profile=debug --enable-examples --enable-tests

6.2如果遇见program 'hello-simulator' not found的错误

7aa7f3955233

错误截图

原因可能是没有启用示例,运行命令./waf configure --enable-examples --enable-tests

7aa7f3955233

启用示例

再次运行hello-simulator时会进行build,并输出结果。

7aa7f3955233

运行时需要build的情况

在接下来的章节中需要进行代码的编写,在此推荐使用VS Code来作为编写代码的IDE。具体的在Ubuntu上的安装方法,请参见VS Code安装。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/303826.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

龙芯3A5000完成流片 同主频性能追平AMD Zen1

前不久,龙芯3A5000完成流片,该CPU基于龙芯自主定义指令集LoongArch。据小道消息,SPEC06测试定点26分(base 2.5Ghz)。这个成绩已经达到预期指标,而且经过进一步优化,SPEC06成绩还有进一步优化的…

熬夜族又一噩耗:“早死”风险更高!

根据美国西北大学范伯格医学院和英国萨里大学最近的一项研究,相比于早睡早起的人(百灵鸟一般),晚上不睡、早晨不起,或起床困难的“夜猫子”们,“早死”的风险更高。这项基于英国生物库中将近50万人样本的研…

iNeuOS工业互联平台,生产过程业务联动控制

1. 概述工业物联网也好、工业互联网也好或是其他生产系统,反向控制始终无法回避。搞工业最直接、最体现效果的两个方面是采集各种数据和生产过程业务控制,所谓大数据预测和分析,那是仁者见仁、智者见智,下一篇文章我们会专业来讨…

如何使用 BenchmarkDotNet 对 C# 代码进行基准测试

BenchmarkDotNet 是一个轻量级,开源的,强大的 .NET 工具包,它可以将你的方法转化为基准并跟踪这些方法,最后对这些方法的性能提供一些测试报告,使用 BenchmarkDotNet 玩 基准测试 是非常容易的。你可以利用 BenchmarkD…

原来论文排版还有这样的学问

论文的重要加分点除了内容,还有它小天最近经常遇到小伙伴的诉苦:“我的毕业论文提交一次就被导师批评一次,内容不行就算了,格式也有问题!改论文改到绝望”“期刊的版式要求不是统一的,为了多投几家&#xf…

红帽linux5安装Oracle 9i enterprise

红帽linux5安装Oracle 9i enterprise 本文转自:http://database.51cto.com/art/201004/194082.htm摘要:如果你在红帽Linux5上安装Oracle 9i enterprise遇到了问题,不防看一看下面的文章,希望能帮你解决有关Oracle9i实际应用的问题…

神经网络告诉我,谁是世界上最「美」的人?

「魔镜魔镜告诉我,谁是世界上最美的女人?」这句伴随童年的话也有现实版哦~神经网络可以预测人脸颜值,这方面也出现了不少研究。今年年初华南理工大学的研究者发布论文,并公开了数据集 SCUT-FBP5500。本文作者 Dima Shu…

开源推荐:.Net Core3.1 + EF Core + LayUI 封装的MVC版后台管理系统

ASP.NET Core是一个由微软创建的,用于构建Web应用程序,API,微服务的Web框架。它使用常见的模式,例如MVC(模型-视图-控制器),依赖注入,和一个由中间件构成它基于Apache 2.0许可开放源…

android中文api(85)——HorizontalScrollView

前言 本章内容是android.widget.HorizontalScrollView,译为"横向滚动条",版本为Android 2.3 r1,翻译来自"Tina",感谢"Tina"为大家带来精彩的翻译稿 !期待你加入Android API 中文的翻译&…

如何在 C# 中使用只读的 Collections

集合 表示一组可用于获取和存储的对象,在 C# 中提供了两种类型的集合。普通集合泛型集合前者存在于 System.Collections 命名空间下,属类型不安全的,后者存在于 System.Collections.Generic 命名空间下,属类型安全的。不可变对象 …

操作系统和数据库的知识梳理(思维导图)

使用思维导图工具 freemind 提供下载 源码文件和 Java网页版 http://files.cnblogs.com/facingwaller/osanddb.rar

令人难以理解的软件工程师:几千行代码能搞定的为什么要写几万行?

一我们公司的 Windows 版软体已经有十多年的历史,经过历代工程师的整治之后,内容已经凌乱不堪。过去三个月,我找时间自己重写了整个主程序。原本数万行的程序,被我重写的只剩下数千行,功能不变,效能更好&am…

如何从 dump 文件中提取出 C# 源代码?

一:背景 相信有很多朋友在遇到应用程序各种奇葩问题后,拿下来一个dump文件,辛辛苦苦分析了大半天,终于在某一个线程的调用栈上找到了一个可疑的方法,但 windbg 常常是以 汇编 的方式显示方法代码的,可惜的是…

谈谈对IOC及DI的理解与思考

一、前言在实际的开发过程中,我们经常会遇到这样的情况,在进行调试分析问题的时候,经常需要记录日志信息,这时可以采用输出到控制台。因此,我们通常会定义一个日志类,来实现输出日志。定义一个生成验证的逻…

终于有人把云计算、大数据和人工智能讲明白了!

今天跟大家讲讲云计算、大数据和人工智能。为什么讲这三个东西呢?因为这三个东西现在非常火,并且它们之间好像互相有关系:一般谈云计算的时候会提到大数据、谈人工智能的时候会提大数据、谈人工智能的时候会提云计算……感觉三者之间相辅相成…

聊一聊如何在.NET Core中使用Nacos 2.0

前言 随着 nacos 2.0.0 正式发布&#xff0c;老黄这边也跟着发布了 1.0.2 版本的 nacos-sdk-csharp。下面简单聊一下相关的使用。纯 SDK 的使用 首先要安装 nuget 包<PackageReference Include"nacos-sdk-csharp" Version"1.0.2" />这里有一点要注意…

听说你刚转了Java?准备转回.NET吧!

牛年跳槽季如火如荼&#xff0c;敏锐点的小伙伴儿应该都留意到了&#xff0c;BAT新年都在招聘.NET。2020年11月份发布.NET5统一了七大应用方向&#xff0c;.NET6的2个预览版已经把Blazor升级、跨平台UI方案MAUI、CLR性能优化等都放出来了&#xff0c;.NET前景充满想象&#xff…

一个人开始废掉的3种迹象

1作家李尚龙说&#xff1a;“在大城市里&#xff0c;搞废一个人的方式特别简单。给你一个安静狭小的空间&#xff0c;给你一根网线&#xff0c;最好再加一个外卖电话。好了&#xff0c;你开始废了。”之前的我并不相信人会这么轻易地堕落&#xff0c;直到身边出现了一个真实的例…

WPF 动态更换图片路径

wpf中动态修改图片路径&#xff0c;其实很简单&#xff0c;有个小伙伴有疑问&#xff0c;绑定了source,为什么不能显示图片呢。。。通过绑定&#xff0c;修改图片路径&#xff0c;动态显示图片&#xff0c;效果如下&#xff1a;图片支持本地路径和网络路径&#xff0c;下面就来…

听说你在学习算法?清华教授为你准备了一份独家秘籍!

也许您渴望进入国内外IT名企&#xff0c;却屡屡在算法类面试中折戟&#xff0c;苦恼不知如何破解困境&#xff1b;也许您是一位IT工程师&#xff0c;却因为算法能力不足而错过无数次的升职加薪&#xff0c;困扰不知如何突破瓶颈&#xff1b;也许您是一位大学生/中学生&#xff…