Table Of Contents
Table Of Contents

Measuring Channel Throughput

Goals

In this example we explore the channel throughput statistics of wired and wireless transmission mediums.

INET version: 4.4

The Model

The channel throughput is measured by observing the packets that are transmitted through the transmission medium over time. For both wired and wireless channels, the throughput is measured for any pair of communicating network interfaces, separately for both directions.

Channel throughput is a statistic of transmitter modules, such as the PacketTransmitter in EthernetPhyLayer. Throughput is measured with a sliding window. By default, the window is 0.1s or 100 packets, whichever comes first. The parameters of the window, such as the window interval, are configurable from the ini file, as module.statistic.parameter. For example:

*.host.eth[0].phyLayer.transmitter.throughput.interval = 0.2s

Here is the network:

../../../../_images/Network8.png

Here is the configuration:

[General]
network = ChannelThroughputMeasurementShowcase
description = "Measure throughput between source and destination"
sim-time-limit = 1s

# source application with roughly ~48Mbps throughput
*.source.numApps = 1
*.source.app[0].typename = "UdpSourceApp"
*.source.app[0].source.packetLength = 1200B
*.source.app[0].source.productionInterval = exponential(200us)
*.source.app[0].io.destAddress = "destination"
*.source.app[0].io.destPort = 1000

# destination application
*.destination.numApps = 1
*.destination.app[0].typename = "UdpSinkApp"
*.destination.app[0].io.localPort = 1000

# enable modular Ethernet model
*.*.ethernet.typename = "EthernetLayer"
*.*.eth[*].typename = "LayeredEthernetInterface"

# data rate of all network interfaces
*.*.eth[*].bitrate = 100Mbps

Results

Here are the results:

../../../../_images/throughput.png

The frequency of data points is denser than 0.1s, so the statistic is emitted more frequently, after 100 packets.

Sources: omnetpp.ini, ChannelThroughputMeasurementShowcase.ned

Discussion

Use this page in the GitHub issue tracker for commenting on this showcase.