EMANE安装与简单使用
1. EMANE安装与简单使用
1.1. EMANE简介
EMANE 是 Extendable Mobile Ad-Hoc Network Emulator 的简称,即可扩展的移动 Ad-Hoc 网络仿真器。EMANE 是一个开源的分布式仿真框架,为无线网络实验人员提供了高灵活的模块化环境,可用于设计、开发和测试简单或复杂网络体系结构。
1.2. 从源码安装(基于Ubuntu18.04 LTS)
1.2.1. 方式一:构建包
从Emane源构建发行包。
- 安装EMANE构建所需依赖:
sudo apt-get install gcc g++ autoconf automake libtool libxml2-dev libprotobuf-dev \
libpcap-dev libpcre3-dev uuid-dev debhelper pkg-config protobuf-compiler git dh-python \
python3-protobuf python3-setuptools
- 获取源码
git clone https://github.com/adjacentlink/emane.git
- 构建debs(过程十分漫长,半个小时?):
cd emane
./autogen.sh && ./configure && make deb
- 安装debs文件:
cd .debbuild
sudo dpkg -i *.deb
sudo apt-get install -f
1.2.2. 方式二:安装包
从预构建的分发包安装EMANE。
wget https://adjacentlink.com/downloads/emane/emane-1.2.7-release-1.ubuntu-18_04.amd64.tar.gztar zxvf emane-1.2.7-release-1.ubuntu-18_04.amd64.tar.gzcd emane-1.2.7-release-1/debs/ubuntu-18_04/amd64
dpkg -i *.deb
sudo apt-get install -f
这里会报错python3-pynodestatviz没有安装成功,后续会专门安装这个模块。
1.3. 安装tutorial
1.3.1. 安装依赖
sudo apt-get install lxc bridge-utils mgen fping gpsd gpsd-clients \
iperf multitail olsrd openssh-server python3-tk python-tk python-pmw python-lxml \
python-stdeb build-essential
在后面运行实例时提示需要python的一个库pycurl,直接运行pip install pycurl会报错,这里需要先安装依赖,再安装pycurl,命令如下:
sudo apt install libcurl4-openssl-dev libssl-dev # 安装所需依赖
pip install pycurl # 安装pycurl
1.3.2. gpsd, gpsd-client
简介:GPSD是一个Linux下的一个守护进程,用以侦听来自GPS接收器的位置等信息,并将这些位置信息转换成一种简化的格式。
sudo apt install gpsd gpsd-clients
PS:官方的安装页面直接404,参考下面博客安装的。
https://blog.csdn.net/silent325/article/details/25944927
http://download.savannah.gnu.org/releases/gpsd/
1.3.3. olsrd
简介:OLSR是Optimized Link State Routing 的简称,主要用于MANET网络(Mobile Ad hoc network)的路由协议。
sudo apt install olsrd
1.3.4. iperf
简介:Iperf 是一个网络性能测试工具。Iperf可以测试最大TCP和UDP带宽性能,具有多种参数和UDP特性,可以根据需要调整,可以报告带宽、延迟抖动和数据包丢失。
sudo apt install iperf
参考文章:https://www.jianshu.com/p/15f888309c72
1.3.5. mgen
简介:mgen(Multi-Generator Network Test Tool) 提供了使用传输控制协议(TCP)和用户数据报协议(UDP/IP)流量执行互联网协议(IP)网络性能测试和测量的能力。
该工具集生成实时流量模式,因此可以通过多种方式加载网络。还可以接收和记录生成的流量,以便进行分析。脚本文件用于在一段时间内驱动生成的加载模式。这些脚本文件可用于模拟单播和/或多播UDP和TCP IP应用程序的流量模式。
sudo apt install mgen
参考文章:https://www.nrl.navy.mil/Our-Work/Areas-of-Research/Information-Technology/NCS/MGEN/
1.3.6. pynodestatviz
- 获取源文件
git clone https://github.com/adjacentlink/pynodestatviz
- 修改rules文件信息
vim ~/pynodestatviz/debian/rules# 将原来的python3-pmw 改成 python-pmw
PYTHON3_DEPENDS = -Vpython3:Depends="python3:any (>= 3.0), python3, python3-pkg-resources, python3-tk, python-pmw, python3-lxml"
- 构建并安装pynodestaviz
cd pynodestatviz
./autogen.sh && ./configure && make debcd .debbuild
sudo dpkg -i *.deb
1.3.7. opentestpoint
git clone https://github.com/adjacentlink/opentestpoint.git
git clone https://gitee.com/JiasenLee/opentestpoint.gitsudo apt install libzmq3-dev
sudo apt install python3-zmq
sudo apt install python-dev python3-devcd opentestpoint
./autogen.sh && ./configure && make deb
cd .debbuild
sudo dpkg -i *.deb
- 遇到问题:
configure: error: Package requirements (libzmq) were not met:No package 'libzmq' foundConsider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.Alternatively, you may set the environment variables libzmq_CFLAGS
and libzmq_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
解决方法:
sudo apt install libzmq3-dev
参考文章:https://github.com/edgexfoundry/edgex-go/issues/22
- 遇到问题:
configure: error: Package requirements (sqlite3) were not met:No package 'sqlite3' foundConsider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.Alternatively, you may set the environment variables sqlite3_CFLAGS
and sqlite3_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
解决方法:
sudo apt install libsqlite3-dev
参考文章:https://learnku.com/php/t/42162
- 遇到问题:
configure: error: Package requirements (python3) were not met:No package 'python3' foundConsider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
解决方法:
sudo vim /etc/profile
# 添加如下内容
export python3_CFLAGS=/usr/bin/python3
export python3_LIBS=/usr/lib/python3
# 然后执行如下命令生效
source /etc/profile
注意:后面如果遇到问题5,需要把上面的环境变量删掉,然后重新下载opentestpoint,执行一开始的操作。
- 遇到问题:
dpkg-checkbuilddeps: error: Unmet build dependencies: python3-dev
dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting
dpkg-buildpackage: warning: (Use -d flag to override.)
Makefile:897: recipe for target 'deb' failed
make: *** [deb] Error 3
解决方法:
sudo apt install python3-dev
- 遇到问题:
fatal error: Python.h: No such file or directory #include <Python.h> ^~~~~~~~~~ compilation terminated.
解决方法:
sudo apt install pyhon-dev python3-dev
参考文章:https://www.codenong.com/21530577/
1.3.8. opentestpoint-probe-emane
git clone https://gitee.com/JiasenLee/opentestpoint-probe-emane.gitcd opentestpoint-probe-emane
./autogen.sh && ./configure && make deb
cd .debbuild
sudo dpkg -i *.deb
1.3.9. 克隆并构建tutorial
git clone https://github.com/adjacentlink/emane-tutorial.git
git clone https://gitee.com/JiasenLee/emane-tutorial.git
cd emane-tutorial
make
修改hosts文件:
sudo vim /etc/hosts
# 增加内容
10.99.0.1 node-1
10.99.0.2 node-2
10.99.0.3 node-3
10.99.0.4 node-4
10.99.0.5 node-5
10.99.0.6 node-6
10.99.0.7 node-7
10.99.0.8 node-8
10.99.0.9 node-9
10.99.0.10 node-10
10.99.0.100 node-server
10.100.0.1 radio-1
10.100.0.2 radio-2
10.100.0.3 radio-3
10.100.0.4 radio-4
10.100.0.5 radio-5
10.100.0.6 radio-6
10.100.0.7 radio-7
10.100.0.8 radio-8
10.100.0.9 radio-9
10.100.0.10 radio-10
EMANE安装与简单使用相关推荐
- docker-compose的安装与简单使用
docker-compose的安装与简单使用 docker-compose简介 屁话不这么多,直接开干 docker-compose安装步骤 由于docker-compose托管在github上面,所 ...
- 内核同步对性能的影响及perf的安装和简单的使用
更多文章目录:点击这里 GitHub地址:https://github.com/ljrkernel 内核同步对性能的影响及perf的安装和简单的使用 看了一篇关于多线程应用程序性能分析的外文,结合之前 ...
- cakephp 安装mysql_CakePHP的安装的简单方法
在对于CakePHP的作用有了初步认识后,我们可以下载CakePHP来进行一些使用.在安装前,要检查php的版本情况,防止CakePHP框架出现不适配的情况. 对于具体的框架组装,会涉及到依赖库和Co ...
- 怎么进入python官网-Python的安装及简单的使用
原标题:Python的安装及简单的使用 像我们想要抓住一门好的编程语言,如何开始学习呢?我来简单介绍下python Python特性:语法简单,入门上手快,很多女神也在学习,方便找个编程的妹纸---- ...
- 刚安装的python如何使用-Python requests的安装与简单运用
强烈推荐!requests官方文档已有了中文版,请见http://cn.python-requests.org/zh_CN/latest/ . requests是python的一个HTTP客户端库,跟 ...
- python requests的安装与简单运用
强烈推荐!requests官方文档已有了中文版,请见http://cn.python-requests.org/en/latest/. requests是python的一个HTTP客户端库,跟urll ...
- memcache的windows下的安装和简单使用
原文:memcache的windows下的安装和简单使用 memcache是为了解决网站访问量大,数据库压力倍增的解决方案之一,由于其简单实用,很多站点现在都在使用memcache,但是memcach ...
- Oracle数据库学习(一)安装和简单使用
新公司的新项目,需要用到Oracle数据库,所以现在便来解除此数据库,不得不说,这个数据库还这是麻烦. 安装倒是简单,就是中间会遇到各种问题. 安装步骤参考:https://blog.csdn.net ...
- 1.Vue 安装与简单使用
Hello,我是 Alex 007,一个热爱计算机编程和硬件设计的小白,为啥是007呢?因为叫 Alex 的人太多了,再加上每天007的生活,Alex 007就诞生了. 1.Vue的安装与简单使用 这 ...
最新文章
- 图森无人车联合UCSD新研究:自动驾驶更省油
- MyBatis--连接池模块
- 反需求函数和边际收益_边际收益
- div里面放ul,使ul横向和纵向滚动
- mysql窗口界面表格式手工录入_mysql手工注入
- mysql余额存浮点数还是int_我应该将字段PRICE作为int或float形式存储在数据库中吗?...
- html5 超链接 图像映射,链接图像
- java网站后台管理系统_java网站后台管理系统
- unreal 安卓打包出现 LogHttp: Warning: 000001D09B0C8F00: request failed, libcurl error 哇塞 真的是爆炸 不知道为啥巨慢
- 这些数学题做不出?不是你的错!
- 储备物资管理局计算机,国考报名税务过审居首 储备物资管理局最抢手
- 图片不变形,按照等比例缩小或扩大显示
- 变换矩阵_平移 缩放 旋转及统一变换
- Expected Error Reduction的缺点
- Java集合源码解析
- JS判断客户端是否是iOS或者Android手机移动端
- 「田间的精进」的践行者:褚时健——实实在在的人生
- ACdream原创群赛(11)の风神日华神专场 C.神奇的%系列一
- 智慧医院解决方案-最新全套文件
- 落谷:P5730 【深基5.例10】显示屏
热门文章
- 石油产量预测文献调研2
- python替换行中某个数据_python – 复制一些行并更改pandas中的某些值
- Charles手机无法下载证书
- android:layout_marginbottom,为什么RelativeLayout的marginBottom和marginRight无法使用
- 教育部 财政部关于实施国家示范性高等职业院校建设计划 加快高等职业教育改革与发展的意见
- 5G跃升激发数字经济新活力,体现了5G的巨大经济价值!
- IDEA插件系列(90):Color Highlighter插件——突出显示颜色
- 车用能源的终极:氢能车落地普及还要多久?
- url地址各部分的构成
- 水利遥测终端RTU助力生态流量监测系统