微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

INET : 在已经传输的同时从上层接收到帧

如何解决INET : 在已经传输的同时从上层接收到帧

我尝试用两个节点创建一个简单的场景,一个是服务器,另一个是客户端。我用路由器无线连接了 2 个节点。我将最简单的模型 UnitdiskRadioMedium 用于无线电媒体。我在两个节点上运行一个 FTP 应用程序。如果我不向 **.propagation.propagationSpeed 添加低值,我会收到以下错误

在已经传输的同时从上层接收到帧。 -- 在模块中 (inet::physicallayer::UnitdiskRadio)

我的问题是我需要在场景中添加删除什么才能在不增加传播速度的情况下工作?

我选择 UnitdiskRadioMedium 是因为它是一种简单的无线电媒体。我不想使用复杂的物理层。我在下面附上了我的 ned 和 ini 文件

#nedfile
package wireless.simulations.FTP;
import inet.node.inet.Router;
import inet.networklayer.configurator.ipv4.Ipv4NetworkConfigurator;
import inet.node.inet.INetworkNode;    
import inet.physicallayer.contract.packetlevel.IRadioMedium; 
import inet.visualizer.contract.IIntegratedVisualizer;
import inet.node.inet.StandardHost;
import inet.node.inet.WirelessHost;
import ned.DatarateChannel;
import inet.linklayer.acking.AckingWirelessInterface;
import inet.physicallayer.unitdisk.UnitdiskRadioMedium;
import inet.physicallayer.apskradio.packetlevel.ApskScalarRadioMedium;



network FTP_B
{
     parameters:
         @display("bgb=1200000,500;bgg=100,1,grey95");
         @figure[title](type=label; pos=0,-1; anchor=sw; color=darkblue);
         @figure[rcvdPkText](type=indicatorText; pos=380,20; anchor=w; font=,18; textformat="packets received: %g"; initialValue=0);

submodules:

    visualizer: <default("IntegratedCanvasVisualizer")> like IIntegratedVisualizer if hasVisualizer() {
        @display("p=580,125");
    }
    configurator: Ipv4NetworkConfigurator {
        @display("p=580,200");
    }

    radioMedium: UnitdiskRadioMedium {
        @display("p=580,275");
    }

    router: <default("Router")> like inetworkNode {
        @display("p=550000,325");
    }

    Client: <default("WirelessHost")> like inetworkNode {
        @display("p=50,325");
    }
    Server: <default("WirelessHost")> like inetworkNode {
        @display("p=1100000,325");
    }

   }

#ini 文件

[Config FTP_4]
network = FTP_B

*.*.ipv4.arp.typename = "GlobalArp"

#Router
*.router.numWlanInterfaces = 1

#The wirless settings for router client and server
*.*.wlan*.typename = "AckingWirelessInterface"
*.*.wlan*.mac.useAck = false
*.*.wlan*.mac.fullDuplex = false
*.*.wlan*.radio.transmitter.communicationRange = 550km
*.*.wlan*.radio.receiver.ignoreInterference = true
*.*.wlan*.mac.headerLength = 23B

**.wlan*.bitrate = 54Mbps

#Configure the Configurator for starting routing
*.configurator.config = xml("<config><interface hosts='**' address='10.0.0.x'     netmask='255.255.255.0'/><autoroute metric='errorRate'/></config>")
*.configurator.optimizeRoutes = false
*.*.ipv4.routingTable.netmaskRoutes = ""



# tcp apps
**.Client.numApps = 1
**.Client.app[0].typename = "TcpsessionApp"
**.Client.app[0].active = true
**.Client.app[0].localAddress = ""
**.Client.app[0].localPort = -1
**.Client.app[0].connectAddress = "Server"
**.Client.app[0].connectPort = 52
**.Client.app[0].tOpen = exponential(0.5s)
**.Client.app[0].tSend = 0s
**.Client.app[0].sendBytes = 10MiB
**.Client.app[0].sendScript = ""
**.Client.app[0].tClose = 0s


**.Server.numApps = 1
**.Server.app[0].typename = "TcpsinkApp"
**.Server.app[0].localAddress = ""
**.Server.app[0].localPort = 52

*.Server.tcp.typename = "Tcp"
*.Client.tcp.typename = "Tcp"
*.router.tcp.typename = "Tcp"

**.tcp.tcpAlgorithmClass = "TcpTahoe" # "TcpNeWreno"
**.tcp.mss = 1452 

#visualize
*.*.wlan[0].radio.displayCommunicationRange = true

#propagation time for redio medium
#*.*.propagation.propagationSpeed = 299792458mps# etc =1000mps

感谢您的时间。 附注 我使用 Omnet++ 5.6 和 INET 版本 4.2.2

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。