omnet++ Inet - Имитация поведения динамической точки доступа

Я должен создать конкретную симуляцию для проекта колледжа. Моделирование должно включать несколько мобильных узлов, циклически переключающихся между точкой доступа 802.11 и режимами станции. Находясь в режиме станции, узлы должны считывать идентификаторы SSID точек доступа вокруг них, а затем они должны соответствующим образом изменить свой SSID в режиме AP. Нет необходимости в соединениях или обмене данными между узлами, кроме чтения SSID.

Теперь я изучил учебники / документацию по Omnet / Inet (все две), и я чувствую себя довольно застрявшим. То, что я мог бы использовать прямо сейчас, это то, что кто-то, подтверждающий мое понимание структуры, дает мне некоторые указания о том, как именно мне следует действовать.

Насколько я понимаю, в Inet не реализован прямой / простой способ сделать то, что я пытаюсь сделать. Большинство примеров имеют фиксированные соединения, объявленные в файлах NED и хостах с фиксированным состоянием (AP или STA), определенным в файле.ini.

Поэтому мой вопрос в основном заключается в том, как мне это сделать: нужно ли мне расширять модуль (скажем, wirelessHost), изменять его поведение во время выполнения или я должен реализовать новое приложение (например, UDPApp), чтобы мой узел считывал другие SSID и изменял его соответственно? И каков наилучший способ получить доступ к SSID хоста?

1 ответ

Решение

Вы можете использовать два радио для каждого мобильного узла, например **.mobilenode[*].numRadios = 2 (см. также пример в /inet/examples/wireless/multiradio/).

Первое радио работает как AP **.mobilenode[*].wlan[0].mgmtType = "Ieee80211MgmtAPSimplified" который должен адаптировать свой SSID.

Второе радио служит STA **.mobilenode[*].wlan[1].mgmtType = "Ieee80211MgmtSTA", Теперь вы должны подкласс Ieee80211AgentSTA который обрабатывает процедуру сканирования SSID и должен изменить SSID первого радио при обнаружении нового SSID. Затем вы используете принятый подкласс в симуляции. Наконец, активное сканирование должно быть активировано **.mobilenode[*].wlan[1].agent.activeScan = true,

Другие вопросы по тегам