推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

基于Python的DTN仿真平台

更新时间:2019-12-26 15:35:50 大小:1M 上传用户:songhuahua查看TA发布的资源 标签:pythondtn仿真平台 下载积分:1分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

延迟容忍网络(DTN,Delay Tolerant Networks)是一种新型移动自组织(MANET,Mobile Ad-hoc NETworks)网络,通过“存储-携带-转发”的路由模型实现不存在完整通信链路节点间的通信,对物联网和普适计算有重要意义。由于DTN网络的特殊通信模式导致传统基于TCP/IP体系结构的网络协议无法直接应用于DTN网络,因此现有多数网络仿真器不能直接仿真DTN网络。ONE是一款基于Java的DTN网络仿真器,但是不能提供完整的数据统计分析模块。鉴于Python拥有强大的数据统计分析库和仿真库,设计一个基于Python的DTN网络仿真平台。该平台集成了Python离散事件仿真库Sim Py,科学计算库Num Py、Sci Py和Sym Py,以及图形库Py Viz和Matplotlib,为DTN网络仿真提供了完整的仿真平台,包括网络仿真、场景可视化和数据统计分析等功能。


部分文件列表

文件名 大小
基于Python的DTN仿真平台.pdf 1M

部分页面预览

(完整内容请下载后查看)
本文引用格式:姚建盛,刘艳玲,李淑梅 . 基于 Python 的 DTN 仿真平台 [J]. 新型工业化,2016,6(942-45.  
DOI:10.19335/j.cnki.2095-6649.2016.09.007  
基于 Python 的 DTN 仿真平台  
姚建盛 1,2,刘艳玲 1,李淑梅 1  
(1. 吉林师范大学计算机学院,吉林 四平 136000;2. 哈尔滨工程大学计算机科学与技术学院,黑龙江 哈尔滨 150001.)  
延 迟 容 忍 网 络(DTN,Delay Tolerant Networks) 是 一 种 新 型 移 动 自 组 织(MANET,Mobile Ad-hoc  
NETworks)网络,通过“存储 - 携带 - 转发”的路由模型实现不存在完整通信链路节点间的通信,对物联网和  
普适计算有重要意义。由于 DTN 网络的特殊通信模式导致传统基于 TCP/IP 体系结构的网络协议无法直接应用于  
DTN 网络,因此现有多数网络仿真器不能直接仿真 DTN 网络。ONE 是一款基于 Java 的 DTN 网络仿真器,但是不  
能提供完整的数据统计分析模块。鉴于 Python 拥有强大的数据统计分析库和仿真库,设计一个基于 Python 的 DTN  
网络仿真平台。该平台集成了 Python 离散事件仿真库 SimPy,科学计算库 NumPy、SciPy 和 SymPy,以及图形库  
PyViz 和 MatplotlibDTN 网络仿真提供了完整的仿真平台括网络仿真景可视化和数据统计分析等功能。  
关键词:DTN;仿真;Python  
Simulation of DTN Platform Based on Python  
YAO Jian-sheng 1, 2, LIU Yan-ling 1, LI Shu-mei1  
(1. College of Computer Science, Jilin Normal University, Siping 136000, China;2. College of Computer Science and Technology,  
Harbin Engineering University, Harbin 150001, China)  
DTN Delay Tolerant Networks is a new type of MANET Mobile Ad hoc NETwork . It can implement the  
Abstract:  
communications between source node and destination node by the "store-carry- forward" routing model, even if there is no com-  
plete link between two nodes. So, DTN has important significance for Internet of Things IoT and ubiquitous computing. The  
special communication mode of DTN results that the traditional network protocol based on TCP/IP architecture cannot be direct-  
ly applied to DTN, so most of the existing network simulators cannot directly simulate DTN. ONE written by Java is a network  
simulator for DTN, but it cannot provide a complete module of statistic and analysis. In view of Python has a strong statistic,  
analysis and simulation library, a Python-based network simulation platform for DTN was designed in this paper. The platform  
integrates a discrete event simulation library, SimPy, three scientific computing libraries, i.e. NumPy, SciPy and SymPy, two  
graphics libraries, namely PyViz and Matplotlib. It provides a complete simulation platform for DTN, including the functions of  
network simulation, visualization, statistic and analysis.  
DTN; Simulation; Python  
Keywords:  
Citation: YAO Jian-sheng, LIU Yan-ling, LI Shu-mei. Simulation of DTN Platform Based on Python[J]. The  
Journal of New Industrialization 2016 6 : 42-45.  
9
ꢀ ( )  
0 引言  
在一些真实的移动自组织(MANETMobile Ad hoc NETwork[1] 网络中,由于节点移动、稀疏  
或无线链路不稳定等原因,导致通信节点间不存在完整通信链路,因此传统基于 TCP/IP 体系结构网络  
[2]  
协议无法使用。延迟容忍网DTNDelay Tolerant Networks) 通存储 - 携带 - 转发理由模型,  
利用节点移动带来的接触机会能够实现不存在完整通信链路节点间的通信,这使手持便携设备和车载设  
基金项目:吉林师范大学高等教育教学研究重点课题 ꢁ O2O 模式在计算机专业教学中的研究与应用  
作者简介:姚建盛 ꢂ1980-ꢃ,男,博士研究生 ꢀ 讲师,计算机网络与通信 ꢀ 信息安全 ꢀ 可信计算等  
42  
备等可以随时随地感知并扩散热点区域信息,满足物联网泛在互联与透彻感知的需求 [3],对物联网和普  
适计算有重要意义。  
当前研究 DTN 网络协议的方法有理论分析、部署真实环境、搭建实验床、网络仿真等。其中理论  
分析通过建立数学模型分析相关网络协议性能是最快捷和经济的方法,但是也需要通过真实或实验环境  
验证;部署真实环境和搭建实验床最能真实测试网络协议,但是部署或搭建周期较长,代价较高;网络  
仿真通过在计算机上建立虚拟网络仿真平台,实现真实网络环境的模拟和分析,该方法具有成本低、开  
发周期短和灵活可靠等优点,因此是当前研究 DTN 网络协议的主要方法 [4]  
DTN 网络仿真工具有 ns-2ns-3OMNet++OPNETGloMoSim ONE 等。其中除了 ONE 仿  
真器外,其它仿真工具都是比较普适的网络仿真工具,可以仿真各种网络场景,需要通过二次设计才能  
仿真 DTN 网络。ONE 是专门的 DTN 网络的仿真工具,提供了 DTN 网络仿真环境,并且实现了典型  
[5]  
网络协议,因此称为当前主流的 DTN 仿真工具  
ONE 是基于 Java 语言的,虽然提供了仿真的可视化界面,但是对仿真数据处理、分析、统计作图  
需要其它工具的配合,比如 matliborigin sigmaplot 等统计分析作图工具,本文基于 Python 语言和  
其仿真、科学计算库搭建完整的 DTN 网络仿真平台,该平台不仅能仿真 DTN 网络、提供可视化界面,  
而且集成了数据分析统计功能。  
1 搭DTN络仿真平台  
DTN 是一种新型 MANET 网络,DTN 采用一种“存储 - 携带 - 转发”的路由模型,因此传统网络  
的基于 TCP/IP 体系结构的协议无法直接使。常见的网络仿真工具大都不能直接支持 DTN 网络,需要  
开发相应模块。  
ONE 是专门的 DTN 网络仿真工具,但是 ONE 本身不能提供数据分析等功能。Python 是一种面向  
对象的解释型计算机程序设计语言,具有丰富和强大的库,Python 也被称为胶水语言,能够把其它语  
言模块(包括 C/C++ Java)联结在一起此基于 Python 开发 DTN 仿真平台实现较完备的功能。  
本节首先列出基于 Python 搭建 DTN 仿真平台的相关 Python 库,然后给出仿真平台框架。  
1.1 相关程序包  
1基于 Python 网络仿真库—— SimPy[6]SimPy 面相过程的离散事件仿真框架,是仿真  
DTN 的核心。SimPy 库使用很简单提供了三个抽象ꢄ父类Processes(进程Resources(资源)  
Monitors(监控模拟中的核心概念是进程,一个进程是一个对象,它完成某些任务。  
2) 基 于 Python 的 科 学 计 算 库 [7]—— NumPySciPy SymPy: 其 中 NumPy 可 用 来 存 储 和 处  
理大型矩阵,提供了许多高级的数值编程工具,如:矩阵数据类型、矢量处理,以及精密的运算库。  
SciPy 函数库在 NumPy 库的基础上增加了众多的数学、科学以及工程计算中常用的库函数。例如线性  
代数、常微分方程数值求解、信号处理、图像处理、稀疏矩阵等等。SymPy 是数学符号计算库,用它  
可以进行数学公式的符号推导。  
3)基于 Python 的图形库—— PyViz[8] Matplotlib[9]:其中 PyViz 是可视化工具,用来形象展示  
DTN 网络环境和运行过程;Matplotlib 是作图工具,用来形象展示仿真数据结果。  
1.2 仿真框架  
仿真平台由以下几个模块组成:  
1)节点移动模块:生成动态网络拓扑结构。  
2)数据流量模块:生成网络数据流量。  
3访问控制模块:SimPy 身并不是网络仿真工具,而是离散事件仿真工具,因此为了仿真  
DTN 网络,我们添加了基本的 DTN 无线访问控制模块。  
新型工业化·2016 年第 9 期  
43  

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单

推荐下载