我有一个包含100个主机的网络设置,这些主机必须一个一个地进入网络,直到所有主机都加入了24小时的模拟时间(一种选择是每864秒加入一个主机)。

我有兴趣计算通过邻居发现协议(protocol)在机器之间交换的多播消息。是否可以执行此操作而无需更改IPv6NeighbourDiscovery.cc的源文件中的任何内容?

这是我的NED文件:

package inet.examples.wireless.wiredandwirelesshostswithap;

import inet.networklayer.configurator.ipv6.FlatNetworkConfigurator6;
import inet.networklayer.icmpv6.IPv6NeighbourDiscovery;
import inet.node.ethernet.Eth100M;
import inet.node.ipv6.Router6;
import inet.node.xmipv6.WirelessHost6;
import inet.node.wireless.AccessPoint;
import inet.physicallayer.ieee80211.packetlevel.Ieee80211ScalarRadioMedium;


network WiredAndWirelessHostsWithAP
{
    parameters:
        int n;
        @display("bgb=503,434");
    submodules:
        wirelessHost[n]: WirelessHost6 {
            @display("p=58,88");
        }
        router6: Router6 {
            @display("p=412,88");
        }
        accessPoint: AccessPoint {
            @display("p=323,87");
        }
        configurator: FlatNetworkConfigurator6 {
            @display("p=323,165");
        }
        radioMedium: Ieee80211ScalarRadioMedium {
            @display("p=98,392");
        }
    connections:
        accessPoint.ethg++ <--> Eth100M <--> router6.ethg++;

}

和ini文件:
[General]
network = WiredAndWirelessHostsWithAP
sim-time-limit = 24h
tkenv-plugin-path = ../../../etc/plugins

# number of client computers
*.n = 100

**.*Host*.numUdpApps = 3

**.*Host*.udpApp[0].typename = "UDPEchoApp"
**.*Host*.udpApp[0].localPort = 1000

**.*Host*.udpApp[*].typename = "UDPBasicApp"
**.*Host*.udpApp[1..].destPort = 1000
**.*Host*.udpApp[1..].messageLength = 100B
**.*Host*.udpApp[1..].sendInterval = 1s
**.*Host*.udpApp[1..].stopTime = 300s

先感谢您!

最佳答案

不,如果不修改C++文件,就不可能计算收到的IPv6NeighbourDiscovery消息的数量。

关于c++ - 定期在OMNeT++中添加主机,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39124099/

10-17 00:24