如何获取目标节点的位置?

How to get the position of a destination node?

我一直在使用 veins-inet 开发基于位置的协议,我想获得目标节点的位置。 在我的代码中,我从数据报中获得了目的地的 IP 地址。

const L3Address& destAddr = datagram->getDestinationAddress();

并且我想得到这个节点的当前位置。 我已经检查了以下问题

但它似乎是通过使用节点ID来引用节点的。 有没有办法通过引用节点的IP地址来获取节点的位置?

我用的是即时静脉-4.7.1

一个非常简单的解决方案是让每个节点在移动时将其当前 L3AddressCoord 发布到查找 table 中。此查找 table 可以位于共享模块中,或者每个节点都可以有自己的查找 table。请记住,您正在编写 C++ 代码,因此即使是带有 getting/setting 信息方法的简单单例 class 也足以协调这一点。

但是,如果“一个节点找出另一个节点在哪里”的过程是您想要建模的过程(例如,这应该是一个需要一些时间的过程,可能会失败,导致无线负载频道,...)您首先需要决定这些信息在现实生活中如何传输,然后使用节点之间交换的消息对其进行建模。