2

我在连接到一个接入点的主机之间发送 udp 数据报时遇到问题。下面我展示了我的 ned 和 omnetpp.ini 文件,我使用了 inet/examples/wireless/lan80211 中的示例。我要做的就是以一定的间隔发送信标帧,并在主机之间发送 UDP 数据报。

.ned 文件:

package inet.examples.wireless.lan80211;

import inet.networklayer.autorouting.ipv4.IPv4NetworkConfigurator;
import inet.nodes.inet.WirelessHost;
import inet.nodes.wireless.AccessPoint;
import inet.world.radio.ChannelControl;


network Lan80211
{
parameters:
    int numHosts;
submodules:
    host[numHosts]: WirelessHost {
        @display("r=,,#707070");

        wlan[*].mgmtType = "Ieee80211MgmtSTASimplified";
    }
    ap: AccessPoint {
        @display("p=213,174;r=,,#707070");

        wlan[*].mgmtType = "Ieee80211MgmtAP";
    }
    channelControl: ChannelControl {
        numChannels = 2;
        @display("p=61,46");
    }
    configurator: IPv4NetworkConfigurator {
        config=xml("<config><interface hosts='*' address='145.236.x.x'       netmask='255.255.0.0'/></config>");
        @display("p=140,50");
    }
}

omn​​etpp.ini 文件:

[General]
network = Lan80211
#cmdenv-output-file = omnetpp.log
#debug-on-errors = true
tkenv-plugin-path = ../../../etc/plugins

**.constraintAreaMinX = 0m
**.constraintAreaMinY = 0m
**.constraintAreaMinZ = 0m
**.constraintAreaMaxX = 600m
**.constraintAreaMaxY = 400m
**.constraintAreaMaxZ = 0m

**.debug = true
**.coreDebug = false
**.channelNumber = 1

# channel physical parameters
*.channelControl.carrierFrequency = 2.4GHz
*.channelControl.pMax = 2.0mW
*.channelControl.sat = -110dBm
*.channelControl.alpha = 2


# access point
**.ap.wlan[*].mac.address = "10:00:00:00:00:00" #1=*
**.host[*].**.mgmt.accessPointAddress = "10:00:00:00:00:00"
**.mgmt.frameCapacity = 15
**.mgmt.beaconInterval = 0.04s


# UDP app (host[0] pinged by others)

**.numUdpApps = 2
**.udpApp[1].typename = "UDPBasicApp"
**.udpApp[0].typename = "UDPEchoApp"
**.udpApp[1].localPort = 1000
#**.udpApp[0].destAddresses = "host[0]"





#*Host[*].udpApp[0].typename = "UDPBasicApp"
**.host[0].udpApp[1].destPort = 1000
**.host[1].udpApp[1].destPort = 1000
**.host[0].udpApp[1].destAddresses = "host[1]"
**.host[1].udpApp[1].destAddresses = "host[0]"
**.host[*].udpApp[1].sendInterval = 10ms


# nic settings
**.wlan*.bitrate = 2Mbps

**.mac.address = "auto"
**.mac.maxQueueSize = 14
**.mac.rtsThresholdBytes = 3000B
**.wlan[*].mac.retryLimit = 7
**.wlan[*].mac.cwMinData = 7
**.wlan[*].mac.cwMinBroadcast = 31

**.radio.transmitterPower = 2.0mW
**.radio.carrierFrequency = 2.4GHz
**.radio.thermalNoise = -110dBm
**.radio.sensitivity = -85dBm
**.radio.pathLossAlpha = 2
**.radio.snirThreshold = 4dB


[Config Ping1]
description = "host1 pinging host0"
*.numHosts = 2

[Config Ping2] # __interactive__
description = "n hosts"

我发现当我换线时

wlan[*].mgmtType = "Ieee80211MgmtAP";

在 .ned 文件中,数据报从一台主机发送到另一台主机,但信标的发送不起作用。

此外,当 udp 数据报未决时,我在模拟期间从命令窗口获取一些信息:

** 事件#320 T=0.02 Lan80211.host[0].udpApp[1] (UDPBasicApp, id=15), on selfmsg sendTimer' (cMessage, id=10) ** Event #321 T=0.02 Lan80211.host[1].udpApp[1] (UDPBasicApp, id=35), on selfmsgsendTimer' (cMessage, id=21) ** 事件#322 T=0.02 Lan80211.host[ 0].udp (UDP, id=16), on UDPBasicAppData-2' (cPacket, id=304) Sending app packet UDPBasicAppData-2 over IPv4. ** Event #323 T=0.02 Lan80211.host[1].udp (UDP, id=36), onUDPBasicAppData-2' (cPacket, id=305) 通过 IPv4 发送应用数据包 UDPBasicAppData-2。** 事件 #324 T=0.02 Lan80211.host[0].networkLayer.ip (IPv4, id=18),在UDPBasicAppData-2' (UDPPacket, id=306) Sending datagramUDPBasicAppData-2' 上,dest=145.236.0.2 路由数据报UDPBasicAppData-2' with dest=145.236.0.2: output interface is wlan0, next-hop address: <unspec> no next-hop address, using destination address 145.236.0.2 (proxy ARP) Sending out packet to interface wlan0 ** Event #325 T=0.02 Lan80211.host[1].networkLayer.ip (IPv4, id=38), onUDPBasicAppData-2' (UDPPacket, id=307) Sending datagram UDPBasicAppData-2' with dest=145.236.0.1 Routing datagramUDPBasicAppData-2' with dest=145.236.0.1: output interface is wlan0, ​​next-hop address: no next-hop address, using destination address 145.236.0.1 (proxy ARP)

有什么建议吗?

谢谢,MB

4

0 回答 0