1. EMANE安装与简单使用

1.1. EMANE简介

EMANE 是 Extendable Mobile Ad-Hoc Network Emulator 的简称,即可扩展的移动 Ad-Hoc 网络仿真器。EMANE 是一个开源的分布式仿真框架,为无线网络实验人员提供了高灵活的模块化环境,可用于设计、开发和测试简单或复杂网络体系结构。

1.2. 从源码安装(基于Ubuntu18.04 LTS)

1.2.1. 方式一:构建包

从Emane源构建发行包。

  1. 安装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
  1. 获取源码
git clone https://github.com/adjacentlink/emane.git
  1. 构建debs(过程十分漫长,半个小时?):
cd emane
./autogen.sh && ./configure && make deb
  1. 安装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

  1. 获取源文件
git clone https://github.com/adjacentlink/pynodestatviz
  1. 修改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"
  1. 构建并安装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
  1. 遇到问题:
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

  1. 遇到问题:
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

  1. 遇到问题:
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,执行一开始的操作。

  1. 遇到问题:
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
  1. 遇到问题:
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安装与简单使用相关推荐

  1. docker-compose的安装与简单使用

    docker-compose的安装与简单使用 docker-compose简介 屁话不这么多,直接开干 docker-compose安装步骤 由于docker-compose托管在github上面,所 ...

  2. 内核同步对性能的影响及perf的安装和简单的使用

    更多文章目录:点击这里 GitHub地址:https://github.com/ljrkernel 内核同步对性能的影响及perf的安装和简单的使用 看了一篇关于多线程应用程序性能分析的外文,结合之前 ...

  3. cakephp 安装mysql_CakePHP的安装的简单方法

    在对于CakePHP的作用有了初步认识后,我们可以下载CakePHP来进行一些使用.在安装前,要检查php的版本情况,防止CakePHP框架出现不适配的情况. 对于具体的框架组装,会涉及到依赖库和Co ...

  4. 怎么进入python官网-Python的安装及简单的使用

    原标题:Python的安装及简单的使用 像我们想要抓住一门好的编程语言,如何开始学习呢?我来简单介绍下python Python特性:语法简单,入门上手快,很多女神也在学习,方便找个编程的妹纸---- ...

  5. 刚安装的python如何使用-Python requests的安装与简单运用

    强烈推荐!requests官方文档已有了中文版,请见http://cn.python-requests.org/zh_CN/latest/ . requests是python的一个HTTP客户端库,跟 ...

  6. python requests的安装与简单运用

    强烈推荐!requests官方文档已有了中文版,请见http://cn.python-requests.org/en/latest/. requests是python的一个HTTP客户端库,跟urll ...

  7. memcache的windows下的安装和简单使用

    原文:memcache的windows下的安装和简单使用 memcache是为了解决网站访问量大,数据库压力倍增的解决方案之一,由于其简单实用,很多站点现在都在使用memcache,但是memcach ...

  8. Oracle数据库学习(一)安装和简单使用

    新公司的新项目,需要用到Oracle数据库,所以现在便来解除此数据库,不得不说,这个数据库还这是麻烦. 安装倒是简单,就是中间会遇到各种问题. 安装步骤参考:https://blog.csdn.net ...

  9. 1.Vue 安装与简单使用

    Hello,我是 Alex 007,一个热爱计算机编程和硬件设计的小白,为啥是007呢?因为叫 Alex 的人太多了,再加上每天007的生活,Alex 007就诞生了. 1.Vue的安装与简单使用 这 ...

最新文章

  1. 图森无人车联合UCSD新研究:自动驾驶更省油
  2. MyBatis--连接池模块
  3. 反需求函数和边际收益_边际收益
  4. div里面放ul,使ul横向和纵向滚动
  5. mysql窗口界面表格式手工录入_mysql手工注入
  6. mysql余额存浮点数还是int_我应该将字段PRICE作为int或float形式存储在数据库中吗?...
  7. html5 超链接 图像映射,链接图像
  8. java网站后台管理系统_java网站后台管理系统
  9. unreal 安卓打包出现 LogHttp: Warning: 000001D09B0C8F00: request failed, libcurl error 哇塞 真的是爆炸 不知道为啥巨慢
  10. 这些数学题做不出?不是你的错!
  11. 储备物资管理局计算机,国考报名税务过审居首 储备物资管理局最抢手
  12. 图片不变形,按照等比例缩小或扩大显示
  13. 变换矩阵_平移 缩放 旋转及统一变换
  14. Expected Error Reduction的缺点
  15. Java集合源码解析
  16. JS判断客户端是否是iOS或者Android手机移动端
  17. 「田间的精进」的践行者:褚时健——实实在在的人生
  18. ACdream原创群赛(11)の风神日华神专场 C.神奇的%系列一
  19. 智慧医院解决方案-最新全套文件
  20. 落谷:P5730 【深基5.例10】显示屏

热门文章

  1. 石油产量预测文献调研2
  2. python替换行中某个数据_python – 复制一些行并更改pandas中的某些值
  3. Charles手机无法下载证书
  4. android:layout_marginbottom,为什么RelativeLayout的marginBottom和marginRight无法使用
  5. 教育部 财政部关于实施国家示范性高等职业院校建设计划 加快高等职业教育改革与发展的意见
  6. 5G跃升激发数字经济新活力,体现了5G的巨大经济价值!
  7. IDEA插件系列(90):Color Highlighter插件——突出显示颜色
  8. 车用能源的终极:氢能车落地普及还要多久?
  9. url地址各部分的构成
  10. 水利遥测终端RTU助力生态流量监测系统