CS 838: Rethinking the Internet Architecture: From Theory to Practice
Fall '09: Course Home Page

[ Home | Reading List | Schedule | Wiki ]
Overview

Over the past three decades the Internet has evolved from a small experimental network to a critical global infrastructure. Today's Internet supports a wide range of applications, runs over and connects many diverse networks, and is tightly intertwined with every aspect of our lives. However, the very success and ubiquity of the Internet have given rise to fundamental issues which cannot be addressed satisfactorily by the current design.

In this course, we will explore how the design of the Internet 10-15 years from today should ideally look like, from both theoretical and practical angles. The course is divided into three logical parts: (1) Examining drawbacks in the current Internet architecture, such as poor support for mobility, no inherent support for security, lack of accountability, inflexible routing, the potential for loss of free access, and restricted scope for innovation inside the network. (2) Studying network architecture proposals that address one or more of these ills, and studying evolving communication models such as next generation wireless and optical technologies that will play a major role in shaping the architecture, and, (3) Experimenting with new networking and operating system technology, namely, flow-level control over routing (OpenFlow), programmable switches (NetFPGA), and virtualization, to overcome the current impasse and move toward an alternate, more flexible architecture. Material from these three parts will be intertwined to ensure a mix of theory and practice.

Lectures will be driven by a small collection of readings (roughly 15). However, greater emphasis will be placed on lab-based experimental validation of ideas explored in class. There will be 4-5 lab-based assignments and an open-ended research project with a significant implementation/experimental component. An OpenFlow (openflowswitch.org) network is currently being set-up within the WAIL lab and it will consist of Cisco Cat-6K switches, HP ProCurve switches and wireless access points all with programmable flow tables. A few NetFPGA switches (some with OpenFlow support) are also being set up (netfpga.org) -- these can run customized forwarding mechanisms at line rates. This set-up will be augmented with a collection of desktop machines on which experimental network topologies can be setup and tested using virtualization. Roughly 2-3 lectures will be devoted to help students get up to speed with these technologies.

Planned assignments/projects include customized in-network filtering of unwanted traffic, location-enhanced services, network-support for gaming and VoIP over wireless, seamless introduction of network-based services such as content-personalization etc. The assignments, projects and readings will be designed to appeal to students from multiple areas including networking, systems, programming languages and computer architecture. More details will be posted soon.

The networking community believes that 15 years from now the Internet architecture will, and should, look very different from what it is today. This class gives you the opportunity to learn about and play with ideas, both theoretical and real, that will foster this dramatic shift toward a better Internet.



Course Details

Course prerequisites: The prerequisites for this course are CS640 and CS537, equivalent under-graduate courses.

Readings: There is no required text for this course. Some lectures The lectures will be based on discussing research papers. The entire paper reading list is available here.

Wiki and usage: Here. Some instructions here. E-mail Aditya for course passcode. We will be using the wiki to comment on papers, discuss course projects and debate ideas discussed in the class.

Grading: Details coming soon.

Class Time: Tuesday, Thursday 1-2:15pm.

Location: Engineering hall 1213.

Instructor: Aditya Akella
Email: akella@cs.wisc.edu
Office: CS 7379
Office Hours: 2:30pm-3:30pm, on each class day.

Teaching Assistant: M. Levent Koc
Email: koc@cs.wisc.edu
Office: CS 5364