CS344: Building an Internet Router


Tue/Thu 2:15pm - 3:30pm in Bldg 550, room 550D
Hardware lab: Packard 128

Teams: Please e-mail the list of people in your team directly to Glen.

Overview

CS344 is a project-based class. The first class (of which attendance is required) is the only scheduled lecture. During the course teams of two or three students will work together to develop a fully functional IP router. The teams will consist of at least one student familiar with designing hardware in Verilog and one student who is comfortable working in large, system level network programs in C. Students will be paired by area on the first day of class. You do not need a partner before registering.

The hardware uses the NetFPGA boards which provide a programmable hardware platform for developing network equipment. Given the Verilog HDL code for a simple two port switch the hardware designer will extend/modify/discard this code to provide the functionality of a four-port IP router. A set of tools are provided to assist the student with design, verification and synthesis.

The software developer will create the code needed to control and manage the router. For control purposes, the software must participate in a dynamic routing protocol and respond to ARP and ICMP messages. For management purposes the software must export a telnet-like command-line interface such that a user can telnet to the software process and manage the actual hardware. The VNS (Virtual Network System) is used to allow the student's software to run on any campus computer and yet communicate with the hardware directly.

Requirements

This is a practical course involving the development and maintenance of a large code base. The course requirements are:

If you have questions on whether or not your level of skill or experience is sufficient please contact Dr. McKeown or one of the TAs directly.

Handouts


[ STANFORD UNIVERSITY ]