Skip to content
Hongyu Hè edited this page Sep 23, 2025 · 3 revisions

Welcome to the Routing Project!

This wiki contains all the information you’ll need for the Routing Project, part of the Computer Networks Course at Princeton University, taught by Prof. Maria Apostolaki of the NetΣyn Group.

Introduction

In this project, you and your classmates will build and operate your own miniature Internet.

Your primary goal? Achieving end-to-end connectivity across 70 Autonomous Systems (ASes) composed of hundreds of network devices. Along the way, you will:

  • Experiment with core switching and routing technologies used on today’s Internet.
  • Face the same challenges real-world network operators encounter.
  • Learn to analyze networks, localize problems, and implement fixes.

The project is structured in two phases:

  1. Within your AS
    Configure IPv4/IPv6 addressing and run OSPF to establish internal connectivity.

  2. Across ASes
    Use BGP—the Internet’s only inter-domain routing protocol—to connect with other student-run ASes.
    You’ll also enforce business relationships and ensure secure routing.

By the end, hosts across the mini-Internet should be able to communicate, and you’ll even connect your laptop via VPN to experience it firsthand.

To support your work, we’ve pre-built a base topology using:

You’ll configure these devices through a CLI that closely mirrors what professional operators use.


Table of Contents

This wiki has three main parts: Assignments, Tutorials, and FAQ.

Assignment

Tutorial

FAQ


Project Website

In addition to this wiki, you can access the project website at hecate.princeton.edu.

If DNS resolution fails, try loading it via IP: http://140.180.20.11:9000 (note: use HTTP, not HTTPS).

The site provides:

  • Connectivity Matrix — shows AS reachability and whether business relationships are respected.
  • AS Connections — lists inter-AS links.
  • BGP Looking Glass — lets you inspect routing tables across the mini-Internet.
  • Krill (RPKI CA) — your certificate authority for issuing Route Origin Authorizations (ROAs).

See the Tools section for detailed explanations of when and how to use these services.


Credits

This project is adapted from the Networked Systems Group led by Prof. Laurent Vanbever at ETH Zürich.

Clone this wiki locally