The ONE使用系列笔记,最初发表在自己WordPress博客上,链接:http://sparkandshine.net/en/the-one-use-notes-directory/。
现整理成到GitBook,便于阅读。
缘起
博士研究的网络对象是可延迟容忍网络(Delay Tolerant Networks, DTN)。刚开始实验时,纠结于选择ns2还是ns3,但很快就发现,两者都没有现成的方法可以将外部数据集导入仿真器(那时,重点研读Bubble Rap文章,其使用的数据集包括cambridge
, infocom06
,这些数据集没有包含节点的位置信息),而自己写个移动模型又丝毫没有头绪。后来,导师跟我提及The ONE simulator,了解过后,恰可以导入不含有位置信息的外部数据集,于是转向用The ONE仿真器了。
在使用The ONE过程中,有些设置项导致逻辑结果出错,通过分析源代码,才找到出错的原因。举个个人经历,hosts
和tohosts
,直觉的理解是,假设有50
个节点,那hosts
设为0,49
。但实际并非如此,hosts
和tohosts
是包括下限但不包括上限,所以50
个节点的hosts
应设为0,50
。
除此之外,我在DTN上做网络编码,网络编码需要用到无线网络天然的广播特性。然而,The ONE将MAC层高度抽象了,这迫使我需要了解The ONE的实现细节,才能添加广播支持。
然而,The ONE文档很少。我几乎把整个仿真器的源代码分析了一遍,于是有了本合集。
本合集内容
本合集几乎涵盖了使用The ONE会涉及的所有问题。本合集主要包含如下内容:
- The ONE使用
- The ONE实现细节
- 路由协议
- 消息相关
- 仿真结果Reports
本合集使用The ONE源码版本是1.5.1 RC2
。