Textbooks

The required textbook for the course is Computer Networks: A Systems Approach, fifth edition, by Larry Peterson and Bruce Davie. Almost all the material that we will cover is in the textbook.

Other good textbooks that you can use as a substitute are Computer Networking: A Top-Down Approach, Jim Kurose and Keith Ross, Addison Wesley, and Computer Networks, Andrew Tanenbaum and David Wetherall, Prentice Hall.

For the programming projects, please see Dave's Notes on Software Engineering for Systems Hackers.

There are a few recommended texts which are useful references (especially if networking becomes your career).

  • TCP/IP Illustrated, Volume 1: The Protocols by W. Richard Stevens.
  • Unix Network Programming: Networking APIs: Sockets and XTI (Volume 1) by W. Richard Stevens.
  • Advanced Programming in the Unix Environment by W. Richard Stevens, Addison-Wesley, 1993.

Finally, if you have not taken 15-213, you may find its textbook useful as a gentle, software-focused introduction to computer architecture.

  • Computer Systems: A Programmer's Perspective by Randal E. Bryant and David R. O'Hallaron. Prentice Hall, 2003

Recitations

This semester we will again have recitations for 15-441. Recitations will cover systems hacking techniques designed to save you time and pain on the projects, will go into more detail about certain topics such as TCP, and will serve as review sessions before exams.

Grading

Your final grade for the course will be based on the following weights for the individual assignments:

  • 15% Project 1
  • 15% Project 2
  • 15% Project 3
  • 15% Homework
  • 15% Midterm
  • 25% Final Exam

The midterm will be an in-class, closed-book exam, covering all material up to that point in the course. The final exam will be a closed-book exam, covering m aterial from the whole year, with emphasis on the second half of the course.

Project 1 will focus on the implementation of a standards-compliant HTTP 1.1 server, ensuring familiarity with socket programming. Project 2 will build upon your web server from the first project by supporting it with a distributed, CDN-like backend. Project 3 will focus on file transfers and the protocol components necessary for efficient and reliable file transfer (retransmission, congestion control, caching, etc.) Project 1 is a solo project; projects 2 and 3 are to be done in groups of two students.

The homework will combine both textbook-like questions as well as hands-on experimental exercises. There will be three homework assignments.

Because of the importance of understanding both the theoretical and hands-on elements of networking, students must pass all three components of the course (homeworks, exams, and the projects) in order to receive a passing grade for the course.

Schedule (dates and topics are subject to change)

Date Instructor Topics Notes Readings
Tue 09/01 PS Introduction
[pdf]
1.1-1.2
Thu 09/03 PS Applications and protocol stacks
[pdf]
1.3, 1.5
Fri 09/04 PS Physical layer
[pdf]
2.1-2.3
Tue 09/08 Serhat Project 1 overview, Q&A
[pdf]
Recitation starts at 2:00 pm BH 136A
Thu 09/10 Harshad Version Control
[pdf]
Recitation starts at 2:00 pm BH 136A; Git-cheat-sheet
Fri 09/11 Harshad Lex and Yacc
A complete parser using lex and yacc; A parser that we wrote in the recitation using lex and yacc
Tue 09/15 PS Datalink basics
[pdf]
2.4-2.5
Thu 09/17 PS Ethernet
[pdf]
2.6
Fri 09/18 PS Switching
[pdf]
Readings VL2 A Scalable and Flexible Data Center Network, Ethane Taking Control of the Enterprise, and OpenFlow Enabling Innovation in Campus Networks. 3.1
Tue 09/22 PS IP addressing
[pdf]
Readings End to End Arguments in System Design and Internet Protocols Design Philosophy. 3.2
Thu 09/24 PS IP protocol, NATs, and tunnels
[pdf]
3.2
Fri 09/25 Serhat/Harshad SSL
[pdf]
Tue 09/29 PS IPv6 and translation
[pdf]
4.1.3 9.3.1
Thu 10/01 PS Routing
[pdf]
3.3
Fri 10/02 TBD TBD
Tue 10/06 PS Routing Hierarchy and BGP
[pdf]
4.1
Thu 10/08 PS Virtual Connections and Friends
[pdf]
4.3, 3.1.2
Fri 10/09 No class - P1 time
Tue 10/13 PS Transport and TCP
[pdf]
5.1-5.2
Thu 10/15 PS Congestion control
[pdf]
6.1-6.4
Fri 10/16 TBD TBD
Tue 10/20 PS MIDTERM EXAM
Thu 10/22 PS Performance and Future of TCP
[pdf]
5.2, 6.5.4
Fri 10/23 No Class
Tue 10/27 PS Web and peer-to-peer
[pdf]
Helpful reference Tor: The Second Generation Onion Router. 9.1, 9.4
Thu 10/29 PS Peer-to-peer
[pdf]
Helpful reference An Analysis of the Skype Peer-to-Peer Internet Telephony Protocol. 9.4
Fri 10/30 Serhat, Harshad Congestion Control and Project 2
[pdf]
Tue 11/03 PS Content Delivery Networks
[pdf]
9.4
Thu 11/05 PS QoS
[pdf]
6.2, 6.5
Fri 11/06 TBD TBD
Tue 11/10 PS Video Streaming
[pdf]
Thu 11/12 PS Security 1
[pdf]
8.1-8.3
Fri 11/13 PS Security 2
[pdf]
Tue 11/17 PS Security 3
[pdf]
8.4
Thu 11/19 No class - P3 time
Fri 11/20 Serhat Project 3
[pdf]
Tue 11/24 No class - P3 time
Thu 11/26 Thanksgiving
Fri 11/27 Thanksgiving
Tue 12/01 PS Wireless and Mobile
[pdf]
2.7, 4.4
Thu 12/03 PS Wireless and Mobile
[pdf]
2.7, 4.4
Fri 12/04 TBD TBD
Tue 12/08 PS Last mile
[pdf]
7.2, 9.2
Thu 12/10 PS Future directions
[pdf]
Fri 12/11 No class - P3 time

Last updated: 2015-12-11 11:37:35 -0500 [validate xhtml]