-
Notifications
You must be signed in to change notification settings - Fork 0
Home
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.
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:
-
Within your AS
Configure IPv4/IPv6 addressing and run OSPF to establish internal connectivity. -
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:
- Open vSwitch for virtual Layer 2 switching
- FRRouting for software routing
You’ll configure these devices through a CLI that closely mirrors what professional operators use.
This wiki has three main parts: Assignments, Tutorials, and FAQ.
- General Instructions: includes submission details.
- Your Mini Internet: an overview of the network you’ll configure.
- Assignment Questions: problems to solve.
- Tools to Help You: testing and verification utilities.
- Accessing Devices — routers, switches, and hosts.
- Configuring a Host — e.g., assigning IP addresses.
- Configuring Open vSwitch — enabling Layer 2 connectivity.
- 6in4 Tunnels — forwarding IPv6 traffic over IPv4.
- Configuring IP Routers (Layer 3 connectivity):
- Frequently Asked Questions — updated throughout the project.
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.
This project is adapted from the Networked Systems Group led by Prof. Laurent Vanbever at ETH Zürich.
1. Assignment
2. Tutorial
- Accessing your devices
- Configuring a host
- Configuring Open vSwitch
- Configuring 6in4 tunnels
- Configuring IP routers