Sci论文 - 至繁归于至简,Sci论文网。 设为首页|加入收藏
当前位置:首页 > 计算机论文 > 正文

基于 Python 的分布式自组网仿真系统设计论文

发布时间:2023-03-07 10:43:00 文章来源:SCI论文网 我要评论















SCI论文(www.lunwensci.com)
 
  摘 要:根据自组网仿真特点,设计了基于 Python 的分布式仿真系统,既实现时间序列上的仿真,也能够追溯离散事件 并进行分析。通过搭建仿真系统,实现多节点随机地理位置分布,不同网络拓扑的自组网协议仿真和业务测试,实现对目前主 流仿真工具的功能扩展和整合,优化了仿真结果的展示效果,并有效降低核心代码的移植和转换程度,缩短开发周期。

  关键词: 自组网,分布式,仿真系统,协议

              Python-based Design of a Distributed Ad-hoc Network Simulation System

                                   MA Jidong1. JIANG Rui2. ZHENG Bowen3

  (1.Shijiazhuang Nuotong Human Resources Co., Ltd.,Shijiazhuang Hebei 050051;

  2.The 60th Research Institute of General Staff Dept of P.L.A, Nanjing Jiangsu 210000;

  3. The 54th Research Institute of China Electronics Technology Group Corporation, Shijiazhuang Hebei 050051)

  【Abstract】: The properties of ad hoc network simulation are used to develop a distributed simulation system based on Python that can not only simulate time series but also track and analyze discrete occurrences. By constructing a simulation system, implementing multi-node random geographical distribution, ad hoc network protocol simulation, and service testing of various network topologies, implementing function expansion and integration of current mainstream simulation tools, optimizing the display effect of simulation results, and effectively reducing the core code transplanting and conversion reduces the time it takes to produce a product.

  【Key words】: ad-hoc network;distributed;simulation system;protocol

\

 
  引言

  目前研究自组网协议的方法多为通过仿真软件进行 网络仿真,其中理论分析则是通过建立相应的数学模 型,通过分析获得相关网络协议的性能,但有时也需要 通过硬件平台的支持,搭建真实的实验环境进行验证。 部署硬件平台或者搭建真实的实验环境最能真实测试网 络协议,但其开发周期就会延长,代价也较高。网络仿 真通过在计算机上建立虚拟网络仿真平台,实现真实实 验环境的模拟,这种方式不但可以降低开发成本,缩短 开发周期,还具有灵活可靠的优点。当前主流的网络仿 真工具有 NS-2、NS-3、OPNET Modeler 和 MATLAB 等 [1]。但由于每个仿真工具因其仿真方向和分析重点不 同,导致其各有优缺点,各仿真工具的特点和不足如表 1 所示。

\

 
  1 仿真框架

  基于 Python 的分布式自组网仿真系统,具备数字 阵列天线波束指向、MAC 层动态组网 [3]、网络层路由计算和应用层业务分发的体系化网络仿真能力,支持动 态可视化仿真流程,包含 3 部分 :Python 底层框架、 动态链接库和日志。具有多节点仿真自组织网络建立、 掉网、迟入网、网络融合、网络维护和多跳业务等功 能,支持仿真节点地理位置随机分布和定点分布,可以 指定不同网络拓扑结构。

\

 
  1.1 Python 底层框架

  兼顾离散事件管理和时序控制,以仿真时间点为时 间驱动,触发不同时间序列的事件。模拟 TDMA 的时 隙划分,根据自组网时隙 [4] 划分特点,规划出不同长 度的仿真时间点为不同的时隙 :预约时隙 TR ,数据时隙 TD ,根据时隙结构,每个周期 T 有 n×2 个预约时隙和n 个数据时隙。假设仿真的总时间点数 S,则总仿真周S S × N就可以根据当前仿真时间点估算仿真时刻。

  具备数字阵列天线波束指向,每个仿真节点阵列 天线有 3 个阵面,每个阵面均匀产生 4 个波束,波束 角的范围为 30°,整个阵列天线的波束角就可以标记为 1 ~ 12 个。仿真节点随机选取初始扫描阵面和阵面内 初始波束角进行扫描,两仿真节点根据预置的地理位置 信息计算出两点的相对方位角度,由这个角度就可以推 算出两个阵列天线锁定的波束角标号,当数字阵列天线 波束开始扫描时,进入可锁定的角度区间就可以执行波 束角锁定操作,同时锁定阵面。

  模拟业务测试进行时延统计,支持设置业务数据包 长、发包间隔、发包数量和单播 / 广播等测试条件。业 务包产生时会被打上对应的时间戳仿真时间点 ts ,经过 预约时隙的交互,预约到对应量的数据时隙,在到达预 约的数据时隙发出待发测试包,对端在 td 仿真时间点接 收到该测试数据包,根据两仿真点的位置距离计算出传 播时延 tt ,则该测试数据包的时延 ∆t = td − ts + tt + tc ,其 中 tc 为假定的系统处理带来的固定时延。

  仿真结果实时显示界面,采用 Flask框架和 PyEcharts 库, Flask 是现在较为流行的 Web 框架,核心构成又比较的简单,代码简洁易于扩展,使用 Python 编程语言 能够快速的实现一个 Web 服务或者应用。PyEcharts 库与 Python 进行了匹配对接, 能够实现生成的图可视 化,并且生成一些十分精美的动态图表。根据分布式自 组网建网过程需要,静态展示各个仿真节点的位置信 息、理论组网拓扑、理论同步关系图,动态展示各仿真 节点的同步关系、实时网络拓扑、预约时隙使用情况和 数据时隙使用情况。

\

 
  1.2 动态链接库

  最大程度的降低协议代码的移植程度,仅修改接口 模块就可实现硬件平台的源码移植。根据组网协议生成 动态链接库,被 Python 底层调用并实现虚拟出多个仿 真节点。规划动态链接库与 Python 底层仿真接口,根 据自组织网络协议发送建网探测帧,通过阵面锁定和波 束对准两仿真节点建立交互信息,通过探测帧成功预约 上预约时隙,网络即进入维护阶段,同时通过预约时隙 进行数据时隙的预约,以便进行数据业务通信。

  1.3 仿真日志

  记录仿真过程的所有信息, 便于调试。在整个仿真 系统中建立文件打印系统, 并分成 Python 底层仿真日 志和动态链接库仿真日志,并能够根据仿真需要自主扩 展日志记录范围,并记录仿真错误信息,便于协议的修 改调试。

  2 仿真示例

  如图 2 所示为 16 个仿真节点随机地理位置分布。

\

 
  根据地理位置信息,测算出 16 个仿真节点组建网 络后的网络拓扑,即理论拓扑图,如图 3 所示。每个仿 真节点的邻居有 15 个,组成全连通拓扑网络。

  16 个仿真节点在全连通状态建网过程中会根据协 议算法选举一个节点为逻辑主节点,其余仿真节点向其 进行时间同步,同步关系理论值和实际情况如图 4 所示。 理论逻辑主节点为仿真节点 1. 其余仿真节点向其进行时间同步,实际仿真出的结构同理论一致。

\

 
  通过探测帧进行预约时隙的预约,预约时隙保证预 约成功的两个节点每个周期进行一次预约交互,以达到 网络维护和数据时隙预约的作用。预约时隙设计每个周 期包含 64 对,结合数字阵列天线的特点,考虑到预约 时隙的充分利用,协议算法引入了预约时隙的复用,减 少周期中预约时隙的个数,提高网络速率。

  根据每个仿真节点的网络拓扑完成情况,判断仿真 节点是否完成组网,当 16 个仿真节点的网络拓扑更新 完成,并维持与理论拓扑一致,则认为 16 个仿真节点 组网完成,并记录网络建立时间。如图 5 所示是各仿 真节点拓扑图, 16 个仿真节点完成网络的建立和维护, 建网时间约为 5.5 秒,验证了协议的组网能力。

  网络建立完成后,选取两个仿真节点进行数据业务 仿真,随机一个仿真节点向另一个仿真节点发送一定数 量的数据包,统计是否全部到达,并分析每个数据包的 传输时延。如图 6 所示,仿真节点 1 产生 20 个数据包, 目的节点为仿真节点 2.通过预约时隙申请对应数量的 数据时隙进行数据包的发送,仿真节点 2 收到全部 20 个数据包,并且最大时延为 74.42 毫秒,最小时延为 6.77 毫秒。

\

 
  3 总结

  通过模拟 16 个节点的组网和两节点的业务通信, 硬件平台的代码移植, 验证了基于 Python 的分布式自 组网仿真系统的可行性,也验证了组网协议的正确性, 突出代码的移植工作量极小的特点。但也存在需要优化 改进的地方,比如加入节点移动、天线波束指向动态展 示等。

  参考文献

  [1] 姚建盛,刘艳玲,李淑梅.基于Python的DTN仿真平台[J].新 型工业化,2016.6(9):42-45.

  [2] 马春光,姚建盛.ns-3网络模拟器基础及应用[M].北京:人民 邮电出版社,2014:1-5.

  [3] NASIPURIA.A MAC Protocol for MobileAd hoc Networks Using Direction Antennas[C]//Proc.of WCNC'00.Chicago, USA:ACM Press,2000.

  [4] 隋静雯,何世彪,李亭亭,等.基于多天线扇区切换的动态时隙 分配算法[J].信息通信,2017(4):53-55.

关注SCI论文创作发表,寻求SCI论文修改润色、SCI论文代发表等服务支撑,请锁定SCI论文网!

文章出自SCI论文网转载请注明出处:https://www.lunwensci.com/jisuanjilunwen/52545.html

发表评论

Sci论文网 - Sci论文发表 - Sci论文修改润色 - Sci论文期刊 - Sci论文代发
Copyright © Sci论文网 版权所有 | SCI论文网手机版 | 鄂ICP备2022005580号-2 | 网站地图xml | 百度地图xml