从0开始搭建ns3环境以及NetAnim简单使用

一、环境准备

ns3是基于GNU/Linux平台使用C++开发的工具软件,在windows系统中安装使用ns3环境,可以使用虚拟机VMware并安装ubuntu系统来实现,现将本教程所用到的虚拟机和系统镜像放到网盘提供下载

名称链接提取码
VMware Workstation 17 Prohttps://pan.baidu.com/s/1IEPZdvGGUYJ4-oHW5AHaKwm3gm
ubuntu-18.04.6-desktop-amd64https://pan.baidu.com/s/1UEueh6bXdQ9LXRTZdMEEBAaopg

虚拟机以及Ubuntu系统安装过程请参考以下文章:

还没写,可以先看别人的

进入系统后,先将系统的源改为清华源或者是阿里,方便后续下载各种依赖

Ubuntu系统菜单→软件和更新→下载自

在这里插入图片描述

二、安装依赖

在Ubuntu系统桌面右键,选择打开终端

1、更新源

sudo apt-get update

2、安装软件包

  • 注意:下面的指令有两种方式来执行,软件包安装需要花大量的时间,你可以一条一条的在终端中执行,或者是将安装命令写入shell脚本,并加入自动确认参数(-y),然后执行脚本文件,不用一直守在那里
sudo apt-get install gcc g++ python python-dev
sudo apt-get install mercurial
sudo apt-get install bzr
sudo apt-get install gdb valgrind
sudo apt-get install gsl-bin libgsl-dev libgsl23
sudo apt-get install flex bison libfl-dev
sudo apt-get install g++-3.4 gcc-3.4
sudo apt-get install tcpdump
sudo apt-get install sqlite sqlite3 libsqlite3-dev
sudo apt-get install libxml2 libxml2-dev
sudo apt-get install libgtk2.0-0 libgtk2.0-dev
sudo apt-get install vtun lxc
sudo apt-get install uncrustify
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
apt-get install gir1.2-goocanvas-2.0 python-gi python-gi-cairo python-pygraphviz python3-gi python3-gi-cairo python3-pygraphviz gir1.2-gtk-3.0 ipython ipython3
sudo apt-get install libboost-signals-dev libboost-filesystem-dev
sudo apt-get install openmpi*

三、安装ns3

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

有关ubuntu下常见软件安装方法可参考文章:https://blog.csdn.net/java211/article/details/3044103

在Ubuntu桌面右键打开终端,然后按顺序执行以下指令

1、创建Tarballs目录
mkdir tarballs

2、进入目录
cd tarballs

3、下载压缩包
wget http://www.nsnam.org/release/ns-allinone-3.28.tar.bz2

4、解压
tar xjf ns-allinone-3.28.tar.bz2

四、编译ns3

安装完成后,在系统的主文件夹里会有刚才创建的名为tarballs的文件夹,我们的ns3就是安装在这里面,进入到解压后的ns3主文件夹,我们来到这里是因为需要使用build.py来编译ns3
在这里插入图片描述
在空白处右键,打开终端,然后执行以下命令

./build.py 

编译成功后会显示如下,这里耗费的时间会长一点,感觉时间长的话不用担心是不是出了问题
在这里插入图片描述
编译完成后我们再使用waf重新配置和编译ns3系统,虽然这不是必须的,但是一旦工程已经编译过,就不能再使用build.py脚本了,这时如果想改变原有ns3的配置就需要使用交互式waf命令进行重新配置和编译,步骤如下

1、进入到ns-3.28文件夹
cd ns-3.28

2、清除先前配置编译
./waf distclean

3、重新配置ns3,优化编译包括例子和测试(默认的例子和测试是不编译的),然后系统会重新配置,编译系统会检查ns3以来的软件包是否安装
./waf configure --build-profile=debug --enable-examples --enable-tests

4、以上仅是配置ns3,正式编译使用下面的命令
./waf build

至此,ns3编译完成,接下来进行测试

五、测试

还是在ns-3.28这个文件夹下打开终端(或者从终端使用cd指令直接进入)
执行如下指令

test.py是Python编写的测试脚本,下面的命令是测试ns3是否编译正确的典型方法
测试结果最后一行现实的是总共测试和通过测试的脚本数目

./test.py -c core

在这里插入图片描述

六、运行脚本测试

下面通过运行ns3提供的示例,再次验证ns3是否正常安装,首先执行如下命令

./waf --run hello-simulator

显示如下则测试通过
在这里插入图片描述
至此,ns3环境安装成功,后续会更新Netanim的简单使用

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Apache JMeter:完全指南

Apache JMeter 是一款开源的性能测试工具,可以用于测试 Web 应用程序、FTP 服务器、数据库等各种类型的服务器。本文将以 JMeter 5.5 为例介绍 JMeter 的使用方法。 下载和安装 由于 JMeter 是使用 Java 开发的,因此在运行之前必须先安装 JDK。您可以在…

知识图谱基本工具Neo4j使用笔记 四 :使用csv文件批量导入图谱数据

文章目录 一、系统说明二、说明三、简单介绍1. 相关代码以及参数2. 简单示例 四、实际数据实践1. 前期准备(1) 创建一个用于测试的neo4j数据库(2)启动neo4j 查看数据库 2. 实践(1) OK 上面完成后&#xff0…

AIGC+游戏:一个被忽视的长赛道

(图片来源:Pixels) AIGC彻底变革了游戏,但还不够。 数科星球原创 作者丨苑晶 编辑丨大兔 消费还没彻底复苏,游戏却已经出现拐点。 在游戏热度猛增的背后,除了版号的利好因素外,AIGC技术的广泛…

Stable Diffusion WebUI 从零基础到入门

本文主要介绍Stable Diffusion WebUI的实际操作方法,涵盖prompt推导、lora模型、vae模型和controlNet应用等内容,并给出了可操作的文生图、图生图实战示例。适合对Stable Diffusion感兴趣,但又对Stable Diffusion WebUI使用感到困惑的同学&am…

ORCA优化器浅析——CDXLScalarFilter Class for DXL filter operators

CDXLScalarFilter CDXLScalarFilter为Class for representing DXL filter operators。CDXLScalarFilter相对于CDXLScalar没有增加其他数据成员。 class CDXLScalarFilter : public CDXLScalar{ private: CDXLScalarFilter(CDXLScalarFilter &); // private copy ctor pub…

Vue 中使用 WebWorker

目录 安装 loader 应用场景 打包时错误处理 安装 loader npm install worker-loader -D 如果直接把worker.js放到public目录下,则不需要安装loader vue.config.js const { defineConfig } require(vue/cli-service)module.exports defineConfig({transpileDe…

2023-08-13 LeetCode每日一题(合并两个有序数组)

2023-08-13每日一题 一、题目编号 88. 合并两个有序数组二、题目链接 点击跳转到题目位置 三、题目描述 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 …

【推荐系统】wss课程-排序

排序01-多目标模型 这节课的内容是推荐系统排序的多目标模型。这节课的内容分两部分。 - 第一部分是模型结构。模型把用户特征、物品特征、统计特征、场景特征作为输入,输出对多个指标的预估。 - 第二部分内容是降采样和校准。在实际的推荐系统中,正负…

29 | 广州美食店铺数据分析

广州美食店铺数据分析 一、数据分析项目MVP加/价值主张宣言 随着经济的快速发展以及新媒体的兴起,美食攻略、美食探店等一系列东西进入大众的眼球,而人们也会在各大平台中查找美食推荐,因此本项目做的美食店铺数据分析也是带有可行性的。首先通过对广东省的各市美食店铺数量…

Docker高级篇_DockerFile

目录 DockerFile简介构建DockerFile构建过程解析Docker执行Dockerfile的大致流程 DockerFile常用保留字指令FROMMAINTAINERRUNEXPOSEWORKDIRUSERENVVOLUMEADDCOPYCMDENTRYPOINT案例使用虚悬镜像 Docker微服务 DockerFile简介 Dockerfile是用来构建Docker镜像的文本文件&#x…

Java学习手册——第一篇Java简介

今后Java学习手册就来给大家梳理JavaSE的基础知识啦, 除了这个专栏我们还有其他专栏:前端、安全、后端等。 希望大家可以在这里一起讨论学习哟~ Java学习手册——第一篇Java简介 1. Java基础知识2. Java能干嘛3. Java基础环境搭建 1. Java基础知识 出生…

Ae 效果:CC Environment

透视/CC Environment Perspective/CC Environment CC Environment(CC 环境)主要用于创建 3D 环境映射,可以将一个 2D 图像转换为 3D 空间的反射或折射。该效果通常用于模拟真实世界的全景相机镜头和环境反射。 在实际操作中,可将效…

【解析postman工具的使用(基础篇】

postman前端请求详解 主界面1.常见类型的接口请求1.1 查询参数的接口请求1.1.1 什么是查询参数?1.1.2 postman如何请求 1.2 ❤表单类型的接口请求1.2.1 复习下http请求1.2.2❤ 什么是表单 1.3 上传文件的表单请求1.4❤ json类型的接口请求 2. 响应接口数据分析2.1 postman的响…

UG NX二次开发(C#)-CAM-获取刀具类型

文章目录 1、前言2、UG NX中的刀具类型3、获取刀具类型3.1 刀具类型帮助文档1、前言 在UG NX的加工模块,加工刀具是一个必要的因素,其包括了多种类型的类型,有铣刀、钻刀、车刀、磨刀、成型刀等等,而且每种刀具所包含的信息也各不相同。想获取刀具的信息,那就要知道刀具的…

Docker简介与安装步骤

Docker简介与安装步骤 一、Docker简介 1、是什么? 解决了运行环境和配置问题的软件容器, 方便做持续集成并有助于整体发布的容器虚拟化技术。 问题:为什么会有docker出现 假定您在开发一个项目,您使用的是一台笔记本电脑而且您…

SQL server 异地备份数据库

异地备份数据库 1.备份服务器中设置共享文件夹 2.源服务器数据库中添加异地备份代理作业 EXEC sp_configure show advanced options, 1;RECONFIGURE; EXEC sp_configure xp_cmdshell, 1;RECONFIGURE; declare machine nvarchar(50) 192.168.11.10 --服务器IP declare pa…

RT-Thread Smart 用户态开发体验

背景 RT-Thread Smart 是基于 RT-Thread 操作系统上的混合操作系统,它把应用从内核中独立出来,形成独立的用户态应用程序,并具备独立的地址空间。 自 V5.0.0 起,rt-smart 分支已合并至 master 分支上,下载 rt-thread …

最强自动化测试框架Playwright(26)-对话框

page.on(dialog) playwright 框架可以监听dialog事件,不管你alert 什么时候弹出来,监听到事件就自动处理了。 当出现 JavaScript 对话框时发出,例如alert、prompt或。侦听器必须dialog.accept()或dialog.dismiss()对话框 - 否则页面将冻结等…

YOLOv5、YOLOv8改进:MobileViT:轻量通用且适合移动端的视觉Transformer

MobileViT: Light-weight, General-purpose, and Mobile-friendly Vision Transformer 论文:https://arxiv.org/abs/2110.02178 1简介 MobileviT是一个用于移动设备的轻量级通用可视化Transformer,据作者介绍,这是第一次基于轻量级CNN网络性…

获取接口的所有实现

一、获取接口所有实现类 方法1:JDK自带的ServiceLoader实现 ServiceLoader是JDK自带的一个类加载器,位于java.util包当中,作为 A simple service-provider loading facility。 (1)创建接口 package com.example.dem…