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).
Finally, if you have not taken 15-213, you may find its textbook useful as a gentle, software-focused introduction to computer architecture.
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.
Your final grade for the course will be based on the following weights for the individual assignments:
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.
Date | Instructor | Topics | Notes | Readings |
---|---|---|---|---|
Tue 08/29 | PS | Introduction [pdf] |
1.1-1.2 | |
Thu 08/31 | PS | Applications and protocol stacks [pdf] |
1.3, 1.5 | |
Fri 09/01 | TAs | Project 1 overview, Q&A [pdf] |
git Cheatsheet | |
Tue 09/05 | PS | Packet switched networking [pdf] |
3.1 | |
Thu 09/07 | JS | IP addresses [pdf] |
3.2 | |
Fri 09/08 | TAs | Lex and Yacc [pdf] |
HTTP Parser Starter Lex and Yacc | |
Tue 09/12 | JS | IP protocol and NAT [pdf] |
3.2 | |
Thu 09/14 | JS | DNS [pdf] |
9.3.1 | |
Fri 09/15 | N/A | No Recitation |
||
Tue 09/19 | PS | Routing [pdf] |
3.3 | |
Thu 09/21 | PS | Routing Hierarchy and BGP [pdf] |
4.1 | |
Fri 09/22 | TAs | Q and A [pdf] |
||
Tue 09/26 | PS | Virtual Stuff [pdf] |
4.1, 3.1.2 | |
Thu 09/28 | PS | Transport/TCP [pdf] |
6.3, 6.4 | |
Fri 09/29 | N/A | No Class |
||
Tue 10/03 | PS | Congestion Control [pdf] |
6.3, 6.4 | |
Thu 10/05 | PS | TCP performance [pdf] |
||
Fri 10/06 | TAs | Q&A about Project 1 |
||
Tue 10/10 | JS | Applications: The Web [pdf] |
9.1, 9.4 | |
Thu 10/12 | JS | Midterm Prep [pdf] |
9.4 | |
Fri 10/13 | Go Study for Midterm! |
|||
Tue 10/17 | PS | Video Streaming [pdf] |
Background: The first three sections of this paper present a good overview of how video distribution works today. | |
Thu 10/19 | PS & JS | MIDTERM EXAM |
||
Fri 10/20 | No Class | Mid-Semester Break |
||
Tue 10/24 | JS | Middleboxes and NFV [pdf] |
||
Thu 10/26 | JS | CDNs and Peer to Peer [pdf] |
||
Tue 10/31 | PS | Physical Layer [pdf] |
||
Thu 11/02 | PS | Datalink layer [pdf] |
||
Fri 11/03 | TBD | TBD |
||
Tue 11/07 | PS | Ethernet and Wireless [pdf] |
2.7, 4.4 | |
Thu 11/09 | PS | WiFi [pdf] |
2.7, 4.4 | |
Fri 11/10 | TBD | TBD |
||
Tue 11/14 | JS | Security, Part 1 [pdf] |
||
Thu 11/16 | David Maltz | Datacenter Networks |
Guest Speaker | |
Fri 11/17 | JS | Security, Part 2 [pdf] |
||
Tue 11/21 | JS | Security, Part 3 [pdf] |
||
Wed 11/22 | Thanksgiving |
|||
Fri 11/24 | Thanksgiving |
|||
Tue 11/28 | P3 recitation, Q&A |
|||
Thu 11/30 | PS | Mobility and Cellular [pdf] |
7.2, 9.2 | |
Fri 12/01 | - | No class |
||
Tue 12/05 | Ranysha Ware | QoS and Fairness [pdf] |
Guest Speaker | |
Thu 12/07 | PS | The Web Today [pdf] |
||
Fri 12/08 | JS | The Web Today [pdf] |
Last updated: 2017-12-13 20:11:47 -0500 [validate xhtml]