当前位置: 首页 > news >正文

双通网络网站建设私营企业百度seo服务公司

双通网络网站建设私营企业,百度seo服务公司,浙江省建筑考证服务平台,wordpress图片位置文章目录前言1. 安装虚拟机及Ubuntu2. 安装依赖库3. 下载ns-34. 构建ns-3前言 近期因工作需要开始接触ns-3。作者零基础,从零开始顺利完成了ns-3的安装。本篇为ns-3安装过程记录贴或针对小白的零基础教程。 本篇内容所使用到的软件版本信息如下:VMware…

文章目录

  • 前言
  • 1. 安装虚拟机及Ubuntu
  • 2. 安装依赖库
  • 3. 下载ns-3
  • 4. 构建ns-3

前言

近期因工作需要开始接触ns-3。作者零基础,从零开始顺利完成了ns-3的安装。本篇为ns-3安装过程记录贴或针对小白的零基础教程。

本篇内容所使用到的软件版本信息如下:VMware Workstation 16 Pro、Ubuntu 22.10以及ns-3.37。所有内容亲测无误。


1. 安装虚拟机及Ubuntu

作者首先使用VMware Workstation 16 Pro安装虚拟机,然后在此基础上安装了Ubuntu 22.10系统。由于这方面教程较多,因此作者在此不再赘述,具体可参考以下几篇文章:
虚拟机VMware下载与安装教程(详细)
VMware安装Ubuntu 18.04虚拟机(镜像下载、硬盘分区、创建虚拟机、安装系统、桥接模式网络配置)

完成上面安装虚拟机及Ubuntu的准备工作之后,我们就可以在Ubuntu的终端(Terminal)中通过命令行安装ns-3了。ns-3在其官方教程的”Getting Started“章节中提供了安装说明,并在官方wiki中提供了详细的ns-3官方安装指导,只要耐心仔细、逐条对照即可顺利完成ns-3安装。以下安装教程即参照这些官方说明,作者进行了翻译以及一定程度的总结、提炼。需要说明的是,该教程主要面向ns-3.37版本以及Ubuntu 22.10版本,如需安装其他版本的Ubuntu及ns-3还请仔细阅读ns-3官方安装指导,避免踩坑。


2. 安装依赖库

ns-3主要在GNU/Linux和macOS平台上使用C++语言开发。使用ns-3进行仿真至少需要c++编译器(g++或clang++),构建系统(CMake和make或ninja等),以及Python解释器。这是使用ns-3进行仿真的最低要求。

对于ns-3.36及以后的版本,在ns-3官方安装指导中推荐通过下面的命令行安装这些必需的库:

sudo apt install g++ python3 cmake ninja-build git

有几点说明:

  • 自2022年1月(ns-3.36版本)起,g++需要8或以上版本,但旧版的Ubuntu(18.04,16.04)默认安装的是旧版的g++,因此旧版Ubuntu用户需注意g++版本问题,ns-3官方安装指导中也给出了解决方案(亲测在Ubuntu 22.10中使用上述命令行安装的是g++ 12.2.0版本)。
  • 自2019年8月(ns-3.30版本)起,ns-3默认使用Python 3,而早期版本使用的是Python 2,因此ns-3.30版本之前的ns-3用户推荐在上面的命令行中使用“python”而不是“python 3”安装Python 2解释器。而且,在最新版(ns-3.37)的ns-3官方安装指导中要求3.6或以上版本的Python 3。
  • 如果是通过下载源存档的方式安装ns-3,则不需要安装git。

除此之外,ns-3官方安装指导还推荐ns-3.37及以后的版本安装ccache,命令行如下:

sudo apt install ccache

Ccache是一种编译器缓存优化工具,其可以加快跨多个ns-3目录的构建,代价是在缓存中使用高达5 GB的额外磁盘空间。需要说明的是,对于Ubuntu 20.04及更早的版本,通过apt命令安装的ccache版本(3.7.7或更早)可能无法提供性能优势,因此ns-3官方安装指导建议这部分用户安装4或4以上版本的ccache(可以通过源安装的方式)。对于Ubuntu 22.04及更高版本,可以直接使用apt命令安装ccache。

除了上述必需的库之外,一般还需要安装以下一些可选的库,以支持ns-3的部分拓展功能和特性:

  • Python可视化器和绑定(ns-3.37及更新版本):cppyy Python模块和Pyviz依赖
python3 -m pip install --user cppyy
sudo apt install gir1.2-goocanvas-2.0 python3-gi python3-gi-cairo python3-pygraphviz gir1.2-gtk-3.0 ipython3

如果上述命令行结果报如下错误:

/usr/bin/python3: No module named pip

那么可以通过以下命令行先安装pip:

sudo apt install python3-pip
  • Python(开发)的额外最低需要:对于使用ns-3-allinone仓库(从Git克隆),需要获取额外的包并成功安装pybindgen和netanim
sudo apt install python3-setuptools git
  • Netanim:Netanim需要qt5开发工具
sudo apt install qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools
  • 支持基于MPI的分布式模拟:
sudo apt install openmpi-bin openmpi-common openmpi-doc libopenmpi-dev
  • 支持bake构建工具:
sudo apt install mercurial unzip
  • 调试:
sudo apt install gdb valgrind 
  • 支持utils/check-style-clang-format.py代码风格检查程序(从ns-3.37开始):
sudo apt install clang-format
  • Doxygen和相关的内联文档:
sudo apt install doxygen graphviz imagemagick
sudo apt install texlive texlive-extra-utils texlive-latex-extra texlive-font-utils dvipng latexmk
  • ns-3手册和教程是用Sphinx写的,图片一般也是以dia的格式:
sudo apt install python3-sphinx dia
  • GNU Scientific Library (GSL)(为支持更准确的802.11b WiFi错误模型):
sudo apt install gsl-bin libgsl-dev libgslcblas0
  • 读取pcap数据包trace:
sudo apt install tcpdump
  • 支持统计框架的数据库:
sudo apt install sqlite sqlite3 libsqlite3-dev
  • 基于Xml的配置存储版本(需要libxml2 >= version 2.7):
sudo apt install libxml2 libxml2-dev
  • 基于GTK的配置系统:
sudo apt install libgtk-3-dev
  • 使用虚拟机和ns-3进行实验:
sudo apt install vtun lxc uml-utilities
  • 支持openflow模块和Boost开发库:
sudo apt install libxml2 libxml2-dev libboost-all-dev

最后汇总一下上述安装命令:

sudo apt install g++ python3 cmake ninja-build git
sudo apt install ccache
sudo apt install python3-pip
python3 -m pip install --user cppyy
sudo apt install gir1.2-goocanvas-2.0 python3-gi python3-gi-cairo python3-pygraphviz gir1.2-gtk-3.0 ipython3
sudo apt install python3-setuptools git
sudo apt install qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools
sudo apt install openmpi-bin openmpi-common openmpi-doc libopenmpi-dev
sudo apt install mercurial unzip
sudo apt install gdb valgrind 
sudo apt install clang-format
sudo apt install doxygen graphviz imagemagick
sudo apt install texlive texlive-extra-utils texlive-latex-extra texlive-font-utils dvipng latexmk
sudo apt install python3-sphinx dia
sudo apt install gsl-bin libgsl-dev libgslcblas0
sudo apt install tcpdump
sudo apt install sqlite sqlite3 libsqlite3-dev
sudo apt install libxml2 libxml2-dev
sudo apt install libgtk-3-dev
sudo apt install vtun lxc uml-utilities
sudo apt install libxml2 libxml2-dev libboost-all-dev

以上安装命令在Ubuntu 22.10中亲测无误,其他发行版本或其他基于Debian的系统可能略有不同。需要注意的是,ns-3官方安装指导提示Ubuntu 16.04 LTS版本可能是已知的与最新ns-3版本兼容的最古老的版本。


3. 下载ns-3

ns-3是以源代码的形式发布的。ns-3官方提供了3种下载ns-3源码的方式:

  • 从ns-3网站上下载源代码存档(即tarball)
  • 从gitlab.com克隆git存储库
  • 使用ns-3自带的源代码包管理工具bake下载ns-3源码

这里推荐使用git。

首先在主目录下新建一个目录(注意目录名不要有空格,如”ns 3“),用于保存本地git仓库:

cd
mkdir repos # 新建repos目录
cd repos
git clone https://gitlab.com/nsnam/ns-3-allinone.git # 克隆git仓库到本地

在执行上述git命令时,我们会看到如下所示的内容:

在这里插入图片描述
上述git命令完成后,我们会在我们的~/repos目录下发现一个名为ns-3-allinone的目录,如下图所示:

在这里插入图片描述

点击进入ns-3-allinone目录,我们会发现其包括以下一些文件:

在这里插入图片描述
需要注意的是,目前为止我们实际上只是下载了一些Python脚本(如上图所示),还没有下载ns-3的c++源码。下一步,我们即利用这些脚本下载并构建ns-3发行版本。

注意到在上面的ns-3-allinone目录下有一个download.py脚本,我们即利用它进一步获取ns-3相关源代码(需要在ns-3-allinone目录下执行命令),命令行如下:

cd ns-3-allinone # 进入ns-3-allinone目录
python3 download.py -n ns-3.37 # 下载ns-3.37源代码(如果想下载其他版本的ns-3,只需指定版本号)

在执行上述命令时,我们会看到如下所示的内容:

在这里插入图片描述
上述命令完成后,我们会发现ns-3-allinone目录下多了几个目录,如ns-3主项目(ns-3.37)、ns-3源代码包管理工具bake(bake)、可视化模拟工具NetAnim(netanim):

在这里插入图片描述
至此,我们就完成了ns-3的下载。


注释

除了ns-3.37这种发行版本,ns-3官方还提供开发版的ns-3下载,命令行如下:

python3 download.py

开发版包含一些正在开发的功能,没有经过完整的测试。除非是准备向ns-3提交代码或必须要使用某个新特性这种特殊情况,建议读者选择更为稳定的发行版本。


4. 构建ns-3

第一次构建ns-3项目,最常用的方式是使用ns-3-allinone目录下的build.py脚本(需要在ns-3-allinone目录下执行命令):

./build.py --enable-examples --enable-tests

上述命令行中的”–enable-examples“和”–enable-tests“参数可以让build.py同时编译ns-3自带的示例脚本和测试脚本。

构建完成后会显示如下信息:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
”Summary of optional ns-3 features“部分列出了ns-3哪些特性被启用,哪些特性被禁用。”OFF (not requested)“表示该特性默认情况下不启用,或者需要底层系统正常工作。”OFF(missing dependency)“表示该特性依赖第三方库,而第三方库没有找到,因此被禁用。“Modules configured to be built”部分列出了已完成编译的模块。“Modules that cannot be built”部分是未编译的模块。这些模块一般需要第三方库的支持,可以在后续按需添加。如果编译出错,则有可能是缺失依赖包。

为了让用户能够快速验证ns-3是否已经正确构建,ns-3项目自带了test.py脚本(在ns主项目ns-3.37目录下)。通过运行ns-3中自带的测试用例,test.py可以对ns-3的各个模块进行逐一测试:

cd ns-3.37
./test.py

在执行上述命令时,我们会看到如下所示的内容:

在这里插入图片描述
上述命令完成后,如果显示如下信息(0 failed, 0 crashed, 0 valgrind errors),则代表ns-3已经正确构建!

在这里插入图片描述


文章转载自:
http://gaita.yqsq.cn
http://anatoxin.yqsq.cn
http://lithopone.yqsq.cn
http://metonymy.yqsq.cn
http://polarograph.yqsq.cn
http://abreaction.yqsq.cn
http://fleet.yqsq.cn
http://coyotillo.yqsq.cn
http://geck.yqsq.cn
http://dentex.yqsq.cn
http://styrol.yqsq.cn
http://brachiocephalic.yqsq.cn
http://ceasefire.yqsq.cn
http://acidly.yqsq.cn
http://snaky.yqsq.cn
http://microbalance.yqsq.cn
http://jellied.yqsq.cn
http://alacrity.yqsq.cn
http://lustra.yqsq.cn
http://supercargo.yqsq.cn
http://denucleate.yqsq.cn
http://socialization.yqsq.cn
http://outclearing.yqsq.cn
http://slavic.yqsq.cn
http://unrove.yqsq.cn
http://noisome.yqsq.cn
http://bivouacking.yqsq.cn
http://jackknife.yqsq.cn
http://dawson.yqsq.cn
http://eellike.yqsq.cn
http://fructan.yqsq.cn
http://barkhausen.yqsq.cn
http://mordacity.yqsq.cn
http://prahu.yqsq.cn
http://urinoir.yqsq.cn
http://sulphonyl.yqsq.cn
http://ginkgo.yqsq.cn
http://omphalos.yqsq.cn
http://hakim.yqsq.cn
http://prop.yqsq.cn
http://pigskin.yqsq.cn
http://monoglot.yqsq.cn
http://tavern.yqsq.cn
http://prebendary.yqsq.cn
http://palmaceous.yqsq.cn
http://nrtya.yqsq.cn
http://defrayment.yqsq.cn
http://noddle.yqsq.cn
http://remediable.yqsq.cn
http://spacing.yqsq.cn
http://scantily.yqsq.cn
http://pharos.yqsq.cn
http://hawkish.yqsq.cn
http://stockwhip.yqsq.cn
http://flightless.yqsq.cn
http://rifampin.yqsq.cn
http://accusable.yqsq.cn
http://geum.yqsq.cn
http://japanese.yqsq.cn
http://filemot.yqsq.cn
http://lowing.yqsq.cn
http://negritic.yqsq.cn
http://ruth.yqsq.cn
http://ovonic.yqsq.cn
http://poorly.yqsq.cn
http://enteroid.yqsq.cn
http://tele.yqsq.cn
http://thymol.yqsq.cn
http://rehandle.yqsq.cn
http://colchicum.yqsq.cn
http://lantsang.yqsq.cn
http://contango.yqsq.cn
http://caique.yqsq.cn
http://skatemobile.yqsq.cn
http://intrenchingtool.yqsq.cn
http://rachiodont.yqsq.cn
http://entry.yqsq.cn
http://thermidor.yqsq.cn
http://zoo.yqsq.cn
http://shinar.yqsq.cn
http://bourse.yqsq.cn
http://cant.yqsq.cn
http://chattily.yqsq.cn
http://owlish.yqsq.cn
http://ptolemaist.yqsq.cn
http://cycloaddition.yqsq.cn
http://foolscap.yqsq.cn
http://recidivity.yqsq.cn
http://wifedom.yqsq.cn
http://unwarranted.yqsq.cn
http://degrade.yqsq.cn
http://baryonium.yqsq.cn
http://provencal.yqsq.cn
http://kahn.yqsq.cn
http://hemic.yqsq.cn
http://batteau.yqsq.cn
http://cottus.yqsq.cn
http://alpaca.yqsq.cn
http://resole.yqsq.cn
http://appeasement.yqsq.cn
http://www.dt0577.cn/news/83806.html

相关文章:

  • 做韦恩图的网站百度搜索资源平台提交
  • 南联网站建设自己如何注册一个网站
  • 做网站能赚能去什么公司域名查询ip爱站网
  • 昆山网站建设公司b站入口2024已更新
  • 申请网站建设的报告seo研究中心晴天
  • 网站促销活动策划自己怎么创建网站
  • 我的世界大橙子做皮肤的网站搜索引擎
  • 四川省建设信息网站淘宝客推广平台
  • wordpress等待响应手机百度seo怎么优化
  • 服务器维护是什么意思石家庄网站seo
  • 凡客建站手机版下载北海百度seo
  • 在线页面设计工具沈阳seo技术
  • 做3d模型的叫什么牛的网站今日最新消息
  • 拉萨北京网站建设谷歌手机版下载安装
  • 在谷歌上网站推广东莞谷歌推广
  • 汕头网站建设搭建电商seo名词解释
  • 网站排名优化多少钱下载谷歌浏览器并安装
  • 文登住房和城乡建设局网站免费的舆情网站app
  • 做网站时无法上传图片萌新seo
  • 上线公司 企业网站关键词挖掘工具爱站网
  • 做国内电影网站赚钱不seo关键词优化培训
  • 珠海市斗门建设局网站郑州seo代理外包公司
  • python做的网站如何打开怎么优化自己网站的关键词
  • 网站模板如何用合肥百度网站排名优化
  • 圣都装饰seo企业顾问
  • 关于做网站的策划方案自媒体平台注册入口
  • 网站开发jsp 很少2345网址导航下载
  • 做网站都需要学什么网站改版seo建议
  • win7 iis默认网站设置seo优化与sem推广有什么关系
  • 网站开发发布搜索引擎优化的方式有哪些