1

我已经为 INET (AODV) 模拟启动并运行了所有示例。我的网络由许多 AODV 路由器主机组成。

我的下一个任务是交换一些关于每个主机当前位置的自定义消息(将在一定时间后通过 Mobility 更新)。我发现的所有示例(通常)都是要求我在文件tictoc中构建一个然后在文件中使用该模块。我想使用该模块来交换这些消息(因为它已经实现了我需要的网络实现的东西)。simpleModule.cc.nedAODVRouter

是我用来与cSimpleModule

我已经尝试过这个例子(如 INET 项目中所述),但这里的问题是它只是扩展cSimpleModule. 由于我想使用AODVRouter模块(来自 INET)作为我的发送者和接收者,我不能使用这个例子。所以我的问题是,另一种方法是什么(即通过模块等INET模块发送和接收消息AODVRouter)。

4

1 回答 1

1

您如何处理此问题取决于这些消息是什么,以及它们与 AODV 协议的关系。

  • 如果您尝试使用一些位置感知功能扩展 AODV 协议,并且路由协议本身将使用该位置,那么您显然应该查看 AODVRouting源代码。您可以在那里查看消息是如何发送/接收的。

  • 如果消息与 AODV 完全无关,并且您想实现某种应用程序级别的消息交换,那么方法是创建一个“应用程序”模块并将其安装到路由器中。当然,您必须知道是要使用 TCP 还是 UDP 发送数据(我猜是 UDP,因为它更适合面向消息的数据交换)。此时,您应该实现类似于UDPBasicApp的功能,另外还需要创建自己的 PacketType,其中包含您要传输的数据(即节点的坐标)。用它来启动。

通常,TicToc 教程只是一个基本示例,展示了 OMNeT++ 内核如何完成发送。在 INET 中发送需要额外的工作,具体取决于您尝试发送数据的 OSI 层。例如,在应用层,您必须打开套接字(参见代码)并将其用于发送。INET 代码库的其余部分将处理将信息正确嵌入到较低层数据包(UDP、IP、以太网)中的复杂性

于 2015-07-30T09:13:07.780 回答