Omnet++ 如何使每个节点在INET(OMNeT+;+;)中分配自己的IPv6地址?

Omnet++ 如何使每个节点在INET(OMNeT+;+;)中分配自己的IPv6地址?,omnet++,inet,Omnet++,Inet,我已经看到network configurator模块可以配置节点的IP地址,但我不知道这些地址是静态的。我的想法是让网络中的每个(无线)节点都能够分配自己的IPv6地址,并在模拟过程中根据其位置自动更改地址 我必须让每个节点定期检查其位置,并在需要时使用它来生成新的IP地址,因此我想我必须编写一个新模块来实现这一点,并将其包含在自定义节点中,但我不知道应该将新的IP地址保存在何处。我不知道网络配置器是否拥有所有节点的所有IP地址,或者每个节点是否在其内部某处都有其IP地址 有人能告诉我怎么做吗

我已经看到network configurator模块可以配置节点的IP地址,但我不知道这些地址是静态的。我的想法是让网络中的每个(无线)节点都能够分配自己的IPv6地址,并在模拟过程中根据其位置自动更改地址

我必须让每个节点定期检查其位置,并在需要时使用它来生成新的IP地址,因此我想我必须编写一个新模块来实现这一点,并将其包含在自定义节点中,但我不知道应该将新的IP地址保存在何处。我不知道网络配置器是否拥有所有节点的所有IP地址,或者每个节点是否在其内部某处都有其IP地址


有人能告诉我怎么做吗?

NetworkConfigurator有自己的数据库,其中包含所有节点的所有IP地址。这是在初始化阶段创建的。所有节点都有一个NodeConfigurator。节点配置器从中央数据库读取分配的IP地址,并相应地设置本地节点的网络堆栈

如果要创建自己的逻辑,请查看
Ipv4NodeConfigurator
模块的工作原理。您可以从节点内部类似地设置IPv6地址


显然,如果更改IP地址,还必须重新配置节点内的现有接口和routimg表。

所以我需要制作自己的节点配置程序?如果每个节点都能配置自己的IP,我还需要网络配置器吗?不,网络配置器只是节点使用的中央数据库。如果您可以考虑一种算法,它可以在没有中央数据库的情况下分配唯一的IP地址,那么它就很好了。顺便说一句,检查主机自动配置程序。这与此完全相同(对于IPv4地址)。它可以建立一个简单的平面拓扑,为每个节点分配一个新地址。当您必须动态创建/销毁主机时(因此该场景与您的场景有些类似),可以使用它。