CS 740: Advanced Computer Networks Aditya Akella Lecture 1: Introduction to the Course Outline: - personnel introductions - course overview - course logistics - theme of the class: "think clean slate" - FIND and GENI - clean slate examples - some useful resources A. Course Personnel Instructor: Aditya Akella akella@cs.wisc.edu 890-0027 Room 7379, CS & Stat Office hours: 4-5 PM MWF TA: Arini Balakrishnan arinib@cs.wisc.edu Room 5388 Office hours: TBA B. Course Overview The class starts with a warm up quiz. This is for Aditya to get a sense of your background in networking. This quiz carries no weight. This is a graduate level class in computer networking where we will explore a variety of research ideas. In general, we review a fair amount of classical research material, discuss some contemporary research ideas and technologies, and also talk about technologies and ideas for the future Internet (more about this in Section D). The pre-requisite for this course is CS 640, the undergraduate-level course in Computer Networks, or an equivalent under-graduate course. Students who do not meet these pre-requisites must obtain special permission from Aditya. The course web page lists the current going-on: http://www.cs.wisc.edu/~akella/CS740/S07 The course will be driven by in-class discussions of research papers. The list of research paper is available on the course Web page. Students are expected to participate in these discussions. C. Logistics Grading split: class participation: 10% exams 30% project 50% summaries 10% Course project: Since this carries a large chunk of the course grade, you are expected to spend a large fraction of time on you project. All projects must be done in groups of two. There are no exceptions to this rule. While a list of potential projects will be discussed in class (in the first week of February), you are strongly encouraged to come up with your own ideas. Each group must first discuss its project idea with Aditya before finalizing. Each project group must submit a project proposal with an overview of the project, a review of related work and a time-line for progress. This is due on Feb 25. A check-point (status update) is due toward the end of March. At the end of the course, each group must prepare a full write-up of the contributions of their projects (no more than 12 pages -- 11pt font). In addition, each group will make a 15 minute presentation of their project to the entire class. Readings and Summaries: Each lecture will have 1-2 assigned readings (some times none). Students are expected to read some of these papers and submit summaries, as follows: Students will organize themselves into paper reading groups. Each reading group should have 3-4 members. Each reading will be assigned to a single group (may be two). Students in each group are expected to meet and discuss their assigned reading before compiling the critique. Each member in the group must submit a critique. Critiques must be emailed to the TA in PDF format. D. "Thinking Clean Slate": FIND and GENI For a critical communications infrastructure, the Internet is hopelessly broken. Its rigid, unreliable, inefficient, insecure, hard to manage, unpredictable and not economically sustainable. This is not how the "architects" meant it to be. This is not how a future network should be. Unfortunately, fundamental innovation and change is hard because of the scale and distributedness of the Internet, and the involvement of several large ISPs. This difficulty is also reflected in the the networking communities research contributions over the past decade: largely incremental and very "band-aid" like. FIND is a new push by the networking research community to conceive the future Internet by momentarily letting go of the present. Find asks: given the benefit of hindsight, how would be rebuild the network of 15 years from now? Considers all aspects of the question: technology, economics, and theory. See http://nsf-find.cs.umn.edu and http://find.isi.edu for more information. But how would you test out radical and disruptive ideas over a largely rigid Internet? There is where GENI - Global Environment for Network Innovations - comes in. Its a global infrastructure to catalyze network architectures, services, and applications. See http://www.geni.net for more information. This class: Students should keep GENI and FIND at the back of your head in each lecture. Students should not hesitate to explore alternative "wacky" ideas for conventional networking topics such as routing, transport, congestion control, naming etc. Not everything in the Internet is broken - students should learn to identify this and abstract out the reasons for the robustness. Students are encouraged to explore "clean slate" ideas in their course project. But be careful what you choose to do - you don't want to pick a clean slate project unless you understand the state of the art thoroughly. E. Clean-Slate Examples SANE: A Protection Architecture for Enterprise Networks Bill-Pay: A Novel Framework for Achieving good service in the Internet. These papers are available off Aditya's home page. We will also discuss these in future lectures. F. Useful tools NS-2: Network Simulator: Will prove useful in your class projects Planet-Lab: Large collection of machines that you can use to test your distributed applications. Needs an account that is ratified by a UW Prof. Scriptroute: A measurement tool deployed on Planet-Lab Emulab: A network emulation testbed at the University of Utah. Use Tcl/NS-2 as an interface, so you can "port" your NS-2 scripts to work on Emulab! Need an account though. Click: a really cool tool for building software routers. Check out the wide array of modules and examples. Runs in user mode. Traceroute.org: Check out the list of ISP-hosted servers that offer traceroute and ping interfaces (also called Looking Glass servers). Also check out the "Route Servers", these are BGP speaking servers that you can log into (!) and dump BGP tables. moteLab: A Wireless sensor testbed deployed at Harvard. Other desktop tools: whois, dig, traceroute, ping, nmap, tcpdump, route, arp.