本文将The ONE仿真器使用笔记整理成目录的形式,便于索引,包括概述、使用、路由协议、技术细节、网络编码、Report等。注:本人使用The ONE源码版本是1.5.1 RC2
。
使用篇
- DTN仿真器安装:The ONE+Eclipse+ModelGoon
- The ONE使用笔记:导入不含节点位置的数据集
- The ONE使用笔记:设置无限缓冲区
- The ONE使用笔记:设置文件中变量含义及其单位
- The ONE使用笔记:设置文件添加自定义字段
简单实例(无线双向中断网络)
概述篇
- The ONE使用笔记:学习资料
- The ONE使用笔记:main函数剖析
- The ONE使用笔记:每个updateInterval都做些什么(world.update)
- The ONE使用笔记:宏观角度理解事件是如何组织
数据集
- The ONE使用笔记:导入不含节点位置的数据集
- The ONE使用笔记:可直接使用的外部数据集
- Bubble Rap数据集Infocom05, Hong-Kong, Cambrige, Infocom06, Reality
- 数据集Infocom06分析:求所有重叠区间(附源码)
路由协议
- The ONE使用笔记:DirectDelivery路由
- The ONE使用笔记:Epidemic路由
- The ONE使用笔记:SprayAndWait路由
- The ONE使用笔记:Prophet路由
- The ONE使用笔记:MaxProp路由
- The ONE使用笔记:实现Bubble Rap
- The ONE使用笔记:解决“Comparison method violates its general contract!”
技术细节
- The ONE使用笔记:DTNHost包含些什么
- The ONE使用笔记:深入源码理解消息创建过程
- The ONE使用笔记:深入源码理解消息转发过程
- The ONE使用笔记:深入源码理解消息接收过程
- The ONE使用笔记:DTNHost、MessageRouter、Message间的关系
- The ONE使用笔记:连接事件ConnectionEvent读取与处理
消息相关
- The ONE使用笔记:消息生存时间TTL及丢包
- The ONE使用笔记:消息发送队列(随机和先进先出)
- The ONE使用笔记:消息事件产生器MessageEventGenerator
- The ONE使用笔记:消息创建报告CreatedMessagesReport
- The ONE使用笔记:为消息添加新字段
- The ONE使用笔记:仿真前向网络注入数据包
- The ONE使用笔记:创建自已的消息事件产生器
仿真结果Reports
- The ONE使用笔记:深入源码理解消息监听器MessageListener
- MessageGraphvizReport:参考博文《Graphviz与ZGRViewer安装及使用》
- The ONE使用笔记:有关contact time的Report
- The ONE使用笔记:有关消息传递的Report
网络编码
仿真场景
BUG
赞赏微信赞赏
支付宝赞赏
楼主,想问一下我想在ONE上面实现机会网络下面节点的社区划分,这个仿真平台能不能做?
可以的。我自己的做法是先写个Python脚本将节点分好区,再到The ONE仿真。如果是动态划分社区,得直接用Java实现。
你好博主,我才开始接触one,写了一个仿真,设置里面所有点都是移动的,但是跑仿真的时候,所有的点都静止在原处(GUI观察)。请问这有可能是哪里出现问题?
自问自答:其实和默认的StationaryMovement有关,这个原始代码只定义了坐标,没有配置节点,,,导致仿真出现问题。。。。
楼主你好,我现在研一,学习one,从来没写过代码和算法,现在想发论文,但是不会写算法…不知道该从哪里入手才好
没写过代码:-( 你是跨专业的吗,你这跨度也太大了吧。
如果你的算法设计已经清晰,想在The ONE上实现。建议:简单了解下Java语法,从DirectDelivery、Epidemic路由入手,了解The ONE路由算法的实现,在此基础上,实现你的算法。
博主你好,请问用one做多播路由仿真,而产生的消息却只能是单对单的,这个怎么解决呢?
可以产生多播的数据流,可以写个脚本生成符合The ONE格式的消息事件,而后导入The ONE仿真器。
请问ONE中的出图工具是在哪些模块中,还是说ONE没有自带的出图工具
很抱歉,这么迟才回复。(我现在没用第三方评论插件,而是用原生态的插件,有留言也得不到通知)
ONE提供了一些作图工具,在
toolkit/
目录下(用perl语言编写)。我自己的做法是,ONE产生report后,用Python分析。很感谢您还能回复消息,我后来试过了使用perl结合gunplot进行出图,也采用了matlab直接输入点坐标绘图的方式。
请问一下,有在one仿真器中实现aodv协议的相关资料吗,出学这一个不是很懂=-=
The ONE仿真器面向的是DTN网络,AODV协议不属于DTN路由协议。
如果非要在The ONE实现,建议参考Epidemic的实现。
博主您好,我想仿真卫星网络通信的场景,现在已经画好了运动轨迹,使节点按照轨迹运动,也将随着时间的通断关系写到了文件中,但是却出现了只能连接而数据无法传输的情况,请问这是什么原因?还是说通断关系的文件只能应用于静止模型中?
StationaryMovement用于外部事件读入。只有连接无数据传输,检查一下网络接口的设置。
我也认为是接口的问题,我所采取的措施是对每个节点都放置十个接口,并且通断关系的文件格式变为up/down interfaceID,但是这样仍然还是有问题
博主,您好。请问如果一个节点具有多个网卡接口,因为节点之间相同序号的接口才可以通信,那么在节点通断多变得情况下,怎样指定某两个节点使用特定的网络接口序号???
你可以查看下
NetworkInterface
的update
函数。好的,多谢博主
Pingback: 时延容忍网络学习 ThinkMesh
博主,你好。我想问下,2节点的通信接口不一样是否可以相互传输消息呢?我一个设置firstInterface另一个设置成highspeedInterface。 只是通信范围不一样,通信速度都一样 但只是不断的建立连接和断开连接 并没有传输消息。 不知道是什么原因?
NetworkInterface可以看成是端口号,端口号不同不能通信,可以参考这篇博文:
The ONE使用笔记:DTNHost包含些什么
http://sparkandshine.net/en/the-one-use-notes-what-dtnhost-contains/