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
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 1eb71488a3ffa06a03abba47891408cf35e38e8c
Submit feedback through GitHub issues