Network emulation

When we do experiments involving computer networks, we often want to "mimic" specific network scenarios. For example, we might want to "mimic" a satellite wireless network (which tends to have low data rate and very large delay), or a fiber optic wired network link (which tends to have high data rate and small delay). Even when the specific network we want to "mimic" is not available to us for experimentation, we can use a technique called network emulation to make any existing network have the desired characteristics.

This notebook will show you how to:

  • launch three VMs with network connectivity in a line topology
  • attach a public IP address to each VM, so that you can access it over SSH
  • configure the VM interfaces on the "experiment" network
  • measure the characteristics of the pre-existing network
  • emulate different network conditions (packet loss, delay, jitter, data rate) over this link
  • delete resources

Materials are also available at: https://github.com/teaching-on-testbeds/network-emulation

38 16 9 2 Mar. 24, 2024, 11:35 PM

Authors

Launch on Chameleon

Launching this artifact will open it within Chameleon’s shared Jupyter experiment environment, which is accessible to all Chameleon users with an active allocation.

Download Archive

Download an archive containing the files of this artifact.

Download with git

Clone the git repository for this artifact, and checkout the version's commit

git clone https://github.com/teaching-on-testbeds/network-emulation
# cd into the created directory
git checkout 456be6c6bb59892ac69a7bc510b7661861a025b9
Feedback

Submit feedback through GitHub issues

Version Stats

30 14 9