Aqua‐Sim:下一代:一种基于NS‐3的水下传感器网络模拟器
1. 引言
水下传感器网络 (UWSN) 在过去十年中在研究和应用方面得到了极大的发展。与此同时,人们迫切需要在无需依赖大型高成本测试平台的情况下,在不同场景中观察和测试所提出的工作。在这种情况下,使用功能强大且开源的仿真软件来真实地呈现实际设计、架构和算法变得非常理想。
Aqua‐Sim [1] 最初于2009年作为NS‐2[2]的水下无线传感器网络扩展而创建。Aqua‐Sim旨在通过构建高度可控的环境来满足研究人员的需求。经过多个版本的迭代,Aqua‐Sim增加了更多的协议和功能。Aqua‐Sim 2.0[3]重构了该模拟器的设计,使其更贴近现实世界中的代码结构和功能。
在本研究中,我们通过创建Aqua‐Sim的第三个版本——Aqua‐Sim:下一代,进一步提升了Aqua‐Sim 2.0的整体架构与设计质量。由于NS‐2存在不足,我们首先将Aqua‐Sim 2.0迁移至NS‐3[4]。此次核心仿真器切换的主要原因包括更优的内存管理和统一的编程语言。结合其他改进,这将带来整体性能的提升。其次,我们将所有现有协议移植到Aqua‐Sim:下一代,以确保功能的连续性。最后,我们实现了额外的功能,以展示增强的水下能力和现象。
2. NS‐2 与 NS‐3
NS‐2和NS‐3均为面向研究和教育目的的离散事件驱动网络模拟器。尽管NS‐3是NS‐2的后续版本,但这两个模拟器在研究领域中仍然具有重要意义。由于两个系统均为开源,NS‐2因更为成熟而拥有更广泛的模块。自2009年发布NS‐3以来,由于新模拟器核心系统的诸多改进,对NS‐2的支持已逐渐转向NS‐3。
两个模拟器之间最显著的区别之一在于所使用的编程语言。NS‐2 使用 oTCL 和 C++ 分别处理脚本和核心仿真。然而,NS‐3 完全使用 C++ 实现。此外,NS‐3 在内存管理方面有所改进,例如通过引用计数实现对象的自动释放。其他区别还包括数据包和头部的分配、仿真可视化以及整体的仿真扩展性能。
3. 设计与实现
我们的工作可分为三个主要部分,其中Aqua‐Sim:下一代正在被重构。第一部分是将模拟器的整体核心移植并重写以支持NS‐3架构。第二部分是将当前支持的协议移植到此版本的Aqua‐Sim中,以确保功能的广泛性。最后,我们正在实现额外的功能,以更全面地满足用户需求并反映实际系统要求。
3.1 NS‐3架构支持
NS‐3 的核心功能与 NS‐2 非常相似,但其 API 和架构具有独特性。为了将 Aqua‐Sim:下一代 移植到该模拟器上,我们必须彻底改造 Aqua‐Sim 2.0 的整个架构。这需要对 Aqua‐Sim 代码逐行拆解,以确保兼容性并提升模拟器的整体性能。此集成还需要额外的基类,这些基类可以然后以可扩展和灵活的方式进行覆盖。开发者可以在此基础上构建详细的协议,以测试和分析其工作成果。更重要的是,Aqua‐Sim:下一代将继续提供有效且准确的声学信号衰减以及水下数据包碰撞的模拟。
3.2 协议端口
为了增强Aqua‐Sim:下一代的功能,我们必须将早期版本Aqua‐Sim中支持的协议适配到NS‐3。这需要通用的协议端口、专用的头部格式、示例文件以及包含的辅助脚本。至少,这将为新用户提供一个测试或设计其专用水下工作的起点。协议端口将重点用于移植MAC和路由协议,例如R‐MAC、UW‐ALOHA、广播MAC、VBF和DBR。此外,我们将继续支持Aqua‐Sim核心实现的功能,如半双工、长传播延迟和声学信号衰减。为了提高该模拟器的真实性,我们计划实现多通道支持和多种调制方式等功能。这些功能将允许用户或开发者创建不同的信道和物理层调制方式,并可在仿真运行时间中进行切换,以更真实地体现实际系统特性。
3.3 附加功能
与任何模拟器一样,我们希望Aqua‐Sim尽可能贴近真实世界的测试。我们正在实现某些关键功能,这些功能已被提出或发现对未来的水下无线传感器网络测试至关重要,例如忙终端问题或链路不对称。
3.3.1 增强型信道模型
Bellhop [5]是一种用于声学通信的射线追踪模型。它可用于声速剖面或声速场的声学射线追踪。通过在Aqua‐Sim:下一代中支持该传播模型,我们将能够更准确地呈现结果。
3.3.2 迹线驱动仿真
通过使用Aqua‐Sim:下一代,我们能够控制每个场景的特性。通过实现迹线驱动仿真可以进一步增强这一能力,确保在多次测试迭代中某些条件保持完全一致。这在诸如协议测试期间确保信道条件不变等情况下非常有益。尽管这种信道一致性在现实场景中无法保证,但在运行仿真时确实增加了额外的控制能力。
3.3.3 同步与定位
同步和定位是某些水下无线传感器网络协议中必需的两个重要条件。以往的Aqua‐Sim工作未为这两项功能提供专用模块,而是将负担交给了开发者。在本工作中,我们集成了支持基于距离或无距离定位方案等功能。对于时间同步,我们集成了更好地整合时钟偏移和{o↵}set的功能。
3.3.4 实际系统功能
真实系统特性是一个涵盖性类别,能够更好地模拟水下无线传感器网络(UWSN)中的实际场景。由于信道条件的不确定性,我们实现了链路不对称性和异质性。这使得信道可以模拟某些环境条件,例如在特定或随机时间段内增加的外部噪声对整体信噪比的影响。此外,水下无线传感器网络中的这些环境因素可能导致声学传输范围的不确定性,必须将其考虑在内以获得更准确的结果。我们在水下无线传感器网络中观察到的另一个独特功能是忙终端问题 [6]。导致该问题的两个主要因素是声学通信速度和水下无线传感器网络的半双工特性。通过在Aqua‐Sim:下一代中展示这一现象,我们可以进一步增强对真实系统的模拟能力。
4. 结论
本文介绍了 Aqua‐Sim 的最新版本——Aqua‐Sim:下一代,一种水下无线传感器网络(UWSN)模拟器。基于 Aqua‐Sim 当前核心的局限性,我们首先将架构移植到 NS‐3 这一离散事件驱动网络模拟器上。这需要迁移当前支持的协议和功能,以确保在新版本中提供相同的支持。此外,我们实现了新功能,以增强该模拟器对现实世界 UWSN 场景的模拟能力。这些功能包括增强的信道模型、基于轨迹的仿真、同步与定位,以及实际系统实现。

4141

被折叠的 条评论
为什么被折叠?



