Multi-resolution network emulation-simulation
Package mrnes
implements library used building network topologies used in running Multi-Resolution-Network Emulation-Simulation models. It is designed and implemented to be transparent and orthogonal to some other model for traffic generation, e.g., the MrNesbits model.
An important thing to remember about mrnes is that it does all of its referencing to hosts and networks using text labels that are defined within input files. IP addressing does not at this time play a role, although in principle formalisms for textually describing addresses and ranges of address could be used as labels but without interpretation as references to IP. Another important assumption is that routing is based on shortest-number-of-hops. mrnes in its present form does not support running of different routing protocols.
mrnes represents both wired and wireless networks. When a path across a network is explicitly identified in terms of hops involving hosts, switches, and routers the latency across the network is a function of
- time a packet takes to traverse an egress interface, t
- ime to traverse a wire between two interfaces,
- time through an ingress interface,
- time for a device (switch or router) to execute its operation.
The end-to-end latency of a packet through a network adds up all of these costs in the interfaces, wires, and devices it encounters on its path. Sometimes the passage across a network is not so detailed, and is given just the existence of a connection between routers that both face that network. In this case the latency is model based on configuration of the network, and in principle (but not yet implemented) on the overall traffic load on the network.
The latency between devices in a wireless network is based on a configuration parameter given for the network. In principle it too may be dependent on traffic load.
The model for end-to-end bandwidth of a flow is based on the observation that long-term, the bandwidth observed by the flow destination is defined by some bottleneck: source, device, network, or interface along the path. The mrnes model for estimating bandwidth between two hosts looks at all of the connections that make up its path, each of which has a maximum bandwidth, and computes the flow’s bandwidth as the minimum of all these.
The package currently has three files
- mrnes.go has functions for transforming input files that describe a network topology into a run-time representation of that topology. It provides an interface for a program that builds a simulation model, and an interface for an application traffic generator.
- route.go provides the logic for computing and storing the end-to-end routes followed by messages
- net.go holds the event-oriented logic for moving a message between devices
- desc-topo.go implements an API for defining, creating, and reading mrnes topologies.
Copyright 2024 Board of Trustees of the University of Illinois. See the license for details.