What You Need to Know Before Starting

Before you dive into using GENI, there are a few concepts that you should be familiar with beforehand. A good grip on these concepts will ensure that you can follow along with various GENI tutorials, examples, and videos.

GENI Credentials

You’ll need GENI credentials before you can start experimenting. Click here to find out how to get set up with those.

Virtual Machines

We’ve mentioned that GENI is a virtual laboratory for running network experiments. As a GENI user, you are allowed to request and allocate resources around the world, such as virtual and physical machines.

It’s a good idea that you understand the basic difference between the different machine types. Sometimes it’s helpful to work with specific machine types in your experiments.

Linux and Relevant Utilities

It’s important that you are comfortable with using the Linux/UNIX command line. You will be using it heavily in the process of running your experiments, and it’s the only method you’ll have for controlling your resources.

In particular, make sure you’re well versed with:

  1. A unix shell, such as bash
  2. The ssh utility (used for connecting to your machines)
  3. The ping utility
  4. Setting up and using SSH keys (your only login method)
  5. A scripting language, like ruby or python


What good would access to computing resources around the world be without a way to connect them? A basic understanding of computer networking concepts is important to have.

More specifically:

  1. The layers of the OSI model
  2. Internet Protocol, or IP, the backbone protocol of the internet
  3. TCP and UDP
  4. Connections over the mentioned protocols using socket APIs
  5. How data packets are routed around the internet

When you feel comfortable with the topics above, you can move on to read about the terms and concepts used when discussing GENI.