Как применить Ipv4NetworkConfigurator и UnitDiskRadioMedium сети на динамическом модуле в omnet ++? - PullRequest
0 голосов
/ 03 июня 2019

У меня есть мобильная сенсорная сеть, мне нужно смоделировать клоновую атаку в сети, поэтому я динамически создаю узел во время выполнения.Узел создан успешно, но у него нет всех свойств, как у других узлов, без IP-адреса, поэтому он не связывается с другими узлами.И это не мобильно, пока я указываю параметры мобильности в файле .ini.Вот мой код:

network Drones
{
    parameters:
        int numHosts;

    submodules:
        visualizer: IntegratedVisualizer {
            @display("p=100,100");
        }

        configurator: Ipv4NetworkConfigurator {
            parameters:
                config = xml("<config><interface hosts='*' address='145.236.x.x' netmask='255.255.0.0'/></config>");
                @display("p=100,300");
        }

        radioMedium: UnitDiskRadioMedium{
            @display("p=100,500");
        }

        host[numHosts]: WirelessHost {
            @display("i=misc/node_vs");
        }

        clone: WirelessHost {
            @dynamic;
            @display("i=misc/node_vs");

        }
}

cModuleType *moduleType = cModuleType::get("inet.node.inet.WirelessHost");
cModule* module = moduleType->create("clone", this);
module->finalizeParameters();
module->buildInside();
module->scheduleStart(simTime() + updateInterval);


*.clone.osgModel = "3d/drone.ive.100.scale.0,0,90.rot"

*.clone.mobility.typename = "MassMobility"
*.clone.mobility.changeInterval = 1s
*.clone.mobility.initialMovementHeading = uniform(0deg, 360deg)
*.clone.mobility.initialMovementElevation = uniform(-90deg, 90deg)
*.clone.mobility.angleDelta = uniform(-10deg,10deg)
*.clone.mobility.rotationAxisAngle = uniform(-10deg,10deg)
*.clone.mobility.speed = uniform(10mps,20mps)
*.clone.mobility.faceForward = false

*.clone.numApps = 1
*.clone.app[0].typename = "myApp"
*.clone.app[0].destPort = 5000
*.clone.app[0].sendInterval = exponential(12ms)

Я ожидаю, что мобильный узел будет получать и отправлять пакеты, но фактический вывод показывает статический узел без адреса и который не связывается с другими узлами.

1 Ответ

0 голосов
/ 03 июня 2019

Вы также должны сделать callInitialize () в модуле.Автоматическая статическая конфигурация не будет работать для динамических модулей.

...