在Omnet++和Inet中,如何配置无线主机处于被动监控模式?

In Omnet++ and Inet, How to configure a wireless host to be in passive monitoring mode?

如何将基于 Omnet++5.6.2 和 Inet-4.2.5 的 WirelessHost 更改为被动监控模式?我想接收并收集从 WiFi 接入点设备(没有关联和身份验证过程)发送的所有信标信号以接收 RSSI 值。

以下是我的ini文件配置,里面包含了三个Access Point和一个Wireless Host的配置:

'''

[General]
sim-time-limit = 400s
debug-on-errors = true
**.mac.promiscuous=true

# Wireless settings or # nic settings
*.*.wlan[*].bitrate = 54Mbps
*.accessPoint*.wlan[*].radio.transmitter.power = 2mW              
*.accessPoint*.wlan[*].radio.transmitter.headerLength = 96b
*.accessPoint*.wlan[*].radio.transmitter.centerFrequency = 2.4GHz
*.accessPoint*.wlan[*].radio.receiver.sensitivity = -85dBm
*.accessPoint*.wlan[*].radio.receiver.snirThreshold = 4dB

# access point configuration
*.accessPoint*.wlan[*].mgmt.typename = "Ieee80211MgmtAp"
*.accessPoint1.wlan[0].address = "001111111111"
*.accessPoint2.wlan[0].address = "002222222222"
*.accessPoint3.wlan[0].address = "003333333333"
*.accessPoint*.wlan[*].mgmt.ssid = "alpha"
**.accessPoint*.wlan[*].mgmt.beaconInterval = 100ms
**.accessPoint*.wlan[*].mgmt.numAuthSteps = 2
*.accessPoint*.wlan[*].radio.displayCommunicationRange = true

#Host configurations
*.numHosts = 1

*.WirelessHosts[*].wlan[0].mgmt.typename = "ExtendedIeee80211MgmtSta"
*.WirelessHosts[*].wlan[0].radio.channelNumber = 0
*.WirelessHosts[*].wlan[*].agent.defaultSsid = "alpha"

*.WirelessHosts[*].wlan[*].agent.activeScan = false
*.WirelessHosts[*].wlan[*].agent.channelsToScan = ""
*.WirelessHosts[*].wlan[*].agent.probeDelay = 0.1s
*.WirelessHosts[*].wlan[*].agent.minChannelTime = 0.15s
*.WirelessHosts[*].wlan[*].agent.maxChannelTime = 0.3s
*.WirelessHosts[*].wlan[*].agent.startingTime = 0.00001s

*.WirelessHosts[*].wlan[*].agent.associationTimeout = 5s
*.WirelessHosts[*].wlan[*].agent.authenticationTimeout = 5s

'''

为了您的信息,以下代码代表我的网络:

'''

网络My_Net { 参数: @display("bgb=600,600;bgg=100,10,grey95;bgu=cm"); 整数主机; 子模块: 可视化工具:IntegratedVisualizer { @display("p=39.864,30.199999"); }

    configurator: Ipv4NetworkConfigurator {
        @display("p=578,50");
    }

    radioMedium: Ieee80211ScalarRadioMedium {
        @display("p=30.199999,241.59999");
    }

    accessPoint1: AccessPoint {
        @display("p=500,52;r=,,#707070");
    }

    accessPoint2: AccessPoint {
        @display("p=40,123;r=,,#505050");
    }

    accessPoint3: AccessPoint {
        @display("p=250,52;r=,,#505050");
    }

    WirelessHosts[numHosts]: WirelessHost {

        @display("p=387.768,73.687996");
    }

'''

问题是:

  1. 如何配置接入点独立(同步)发送信标而不互相等待?

  2. 以及如何让无线主机以被动模式接收信标信号,这意味着没有关联和认证过程因为我只想从信标信号接收RSSI值。

无线电模块记录它接收到的所有帧的统计信息,即使是那些不是地址的帧(所有 AP 的信标帧也是如此)。因此,您可以将 WirelessHost 配置为不关联到任何接入点,但它仍会获得信标帧。需要在主机的Agent模块(Ieee80211AgentSta)中配置关联哪个接入点(设置成不关联任何一个)。

但是,主机中的无线电需要与接入点位于同一信道上才能接收信标帧。频道是Ieee80211Radio的一个参数。管理模块(Ieee80211MgmtSta,默认情况下)和代理模块有参数,如扫描多少通道,如果有的话。

默认情况下,所有接入点和无线主机都在同一频道(我认为是频道 1)。

但是,由于信道争用,接入点可能会相互等待,因为它们在同一信道上。所以你需要把它们放到不同的(可能不重叠的)Wifi 频道。但在这种情况下,我认为 WirelessHost 无法接收所有信标帧,因为它一次只能在一个信道上接收。您可能需要添加更多无线接口,并将它们设置为不同的频道。

这些可能有用:

https://inet.omnetpp.org/docs/showcases/wireless/multiradio/doc/index.html

https://inet.omnetpp.org/docs/showcases/wireless/handover/doc/index.html

https://inet.omnetpp.org/docs/users-guide/ch-80211.html