通过Omnet++结果集合获取网络层上正确的消息字节长度之和



假设在一个有25个节点的无线网络中,我们有一个场景,每个节点中的一些节点根据AODV等路由协议向其他节点发送消息。我们模拟这个网络。模拟完成后,如何通过Omnet++结果收集获得网络层上消息字节长度的总和?对于每个节点,我们必须有两个度量,一个是发送消息字节长度的度量(例如totalSentMessageByteLengths(,另一个是接收消息字节长度(例如total ReceivedMessageByteLenghts(。所谓正确消息,我指的是由目的地地址字段为同一节点地址的节点接收的消息。如果发生重传,则接收方应将其求和一次,将不正确的消息字节长度求和,将发送方的正确消息字节长度加和。如果一个节点有多个应用程序,则必须计算同一节点的所有应用程序生成的所有消息字节长度。消息字节长度是指每字节网络层上的报头和数据的总字节数。omnetpp.ini中节点的安装代码:

*.hostA.numApps = 2
*.hostA.app[0].typename = "UdpBasicApp"
*.hostA.app[0].destAddresses = "hostB"
*.hostA.app[0].destPort = 5000
*.hostA.app[0].messageLength = 1000B
*.hostA.app[0].sendInterval = exponential(12ms)
*.hostA.app[0].packetName = "UDPData"
*.hostA.app[0].typename = "TcpBasicApp"
*.hostA.app[0].destAddresses = "hostC"
*.hostA.app[0].destPort = 5001
*.hostA.app[0].messageLength = 1024B
*.hostA.app[0].sendInterval = exponential(45ms)
*.hostA.app[0].packetName = "TCPData"
Ipv4模块有几个信号,可用于在节点或网络级别(如packetSentToLowerpacketReceivedFromLower(上创建统计信息。只需在@statistics声明中使用这些信号即可。

最新更新