Measuring Data Rate¶
Goals¶
In this example we explore the data rate statistics of application, queue, and filter modules inside network nodes.
4.4
The Model¶
The data rate is measured by observing the packets as they are passing through over time at a certain point in the node architecture. For example, an application source module produces packets over time and this process has its own data rate. Similarly, a queue module enqueues and dequeues packets over time and both of these processes have their own data rate. These data rates are different, which in turn causes the queue length to increase or decrease over time.
Here is the network:
Here is the configuration:
[General]
network = DataRateMeasurementShowcase
description = "Measure data rate in several modules throughout the network"
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"
*.*.eth[*].bitrate = 100Mbps
Try It Yourself¶
If you already have INET and OMNeT++ installed, start the IDE by typing
omnetpp
, import the INET project into the IDE, then navigate to the
inet/showcases/measurement/datarate
folder in the Project Explorer. There, you can view
and edit the showcase files, run simulations, and analyze results.
Otherwise, there is an easy way to install INET and OMNeT++ using opp_env, and run the simulation interactively.
Ensure that opp_env
is installed on your system, then execute:
$ opp_env run inet-4.4 --init -w inet-workspace --install --chdir \
-c 'cd inet-4.4.*/showcases/measurement/datarate && inet'
This command creates an inet-workspace
directory, installs the appropriate
versions of INET and OMNeT++ within it, and launches the inet
command in the
showcase directory for interactive simulation.
Alternatively, for a more hands-on experience, you can first set up the workspace and then open an interactive shell:
$ opp_env install --init -w inet-workspace inet-4.4
$ cd inet-workspace
$ opp_env shell
Inside the shell, start the IDE by typing omnetpp
, import the INET project,
then start exploring.