CS 8803: Next-Generation Networks

Summary and Objectives

Networking functions are moving to software or programmable hardware, and an increasing number of networking vendors are "opening up the box", considerably lowering the barrier to the development and deployment of new networking technologies. These recent developments present imminent opportunities for breakthroughs in networking technology.

In this course, we will examine how requirements for communications networks have evolved, how current protocols fail to meet some of these new requirements, and how new protocols and architectures might meet these new requirements. We will study security, mobility, economics and markets, and cloud and data-intensive applications present opportunities for developing new network protocols and architectures. The course will also provide exposure to an array of tools for developing and evaluating new network protocols and architectures, including Click, OpenFlow, NetFPGA, network processors, and software routers (e.g., Quagga, XORP).

Textbooks

You will be expected to read 2-3 papers a week. (Reading List).
There are no required textbooks for the course.

Academic Honesty

Students are expected to abide by the Georgia Tech Honor Code. Honest and ethical behavior is expected at all times. All incidents of suspected dishonesty will be reported to and handled by the office of student affairs. You are to do all assignments yourself, unless explicitly told otherwise. You may discuss the assignments with your classmates, but you may not copy any solution (or part of a solution) from a classmate.

Prerequisites

This class is appropriate for graduate students with previous background in networking. Although it is listed as an official prerequisite, CS 6250 will be helpful, but is not required. Some familiarity with both network programming and scripting languages (e.g., Perl, Ruby) will be helpful.

Grading

Grading will be based on three problem sets, two quizzes, and a semester-long project with a presentation and writeup. Participation will count for "fudge factors".

  • 40% 3 Problem Sets
  • 60% 1 Project

Schedule

Papers will not be handed out in class. Please read them before class.
For your convenience, here is a complete reading list. Please note that this schedule is tentative and subject to change throughout the course of the term.

Lecture Date Topics Notes/Resources Preparation
Tools and Testbeds
1 Tue 01/12 Testbeds: Planetlab, Emulab, GENI
Problem Set 1:
Software-Defined Networking
White2002
2 Tue 01/19 Software-Defined Networking: Click, OpenFlow
Kohler2000
McKeown2008
Tue 01/26 No Class
3 Tue 02/02 Programmable Hardware and Fast Routers
Gibb2008
Dobrescu2009
The Cloud
4 Tue 02/09 Data Center Topologies, Traffic, and Routing
Mysore2009
Greenberg2009
5 Tue 02/16 Virtual Hosts and Networks
Bhatia2008a
Tennenhouse1997
Feamster2007
6 Tue 02/23 Securing the Cloud
Ristenpart2009
Oberheide2008
7 Tue 03/02 Green IT: Reducing Power Costs
Next-Generation Network Operations
8 Tue 03/09 Routing and Economics: Peering, Bandwidth Exchanges, and Beyond
Problem Set 2:
Building Virtual Networks
Norton2004
9 Tue 03/16 Network Configuration: Complexity and Management
Nayak2009
Casado2007
Greenberg2005
Tue 03/23 Spring Break
10 Tue 03/30 Home Networking
Calvert2007
Next-Generation Security
11 Tue 04/06 Accountability and Information-Flow Control
Andersen2008
Zeldovich2008
12 Tue 04/13 Botnets
Cooke2005
Gummadi2009
Wireless
13 Tue 04/20 Software-Defined Radios and Low-Cost Connectivity
Presentations
14 Tue 04/27 Project Presentations

Home Reading Syllabus validate