Omnet++结果集合获取网络层正确报文字节长度总和

Obtaining the sum of correct message byte lengths on the network layer by the Omnet++ result collection

假设在一个有 25 个节点的无线网络中,我们有一个场景,其中每个节点中的一些节点根据路由协议(例如 AODV)向其他节点发送消息。我们模拟这个网络。仿真完成后,如何通过Omnet++结果采集得到网络层消息字节长度之和? 对于每个节点,我们必须有两个指标,一个用于发送消息字节长度的指标(例如 totalSentMessageByteLengths)和一个用于接收消息字节长度的指标(例如 totalReceivedMessageByteLengths)。 正确消息是指目标地址字段是同一节点地址的节点接收到的消息。如果发生重传,接收方应该求和一次,将不正确的消息字节长度和发送方正确的消息字节长度求和。如果一个节点有多个应用程序,则必须计算同一节点的所有应用程序产生的所有消息字节长度。报文字节长度是指每字节的报头和网络层数据的总字节数。 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 声明中使用这些信号即可。