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/27 | PRS | Introduction [pdf] |
||
Thu 08/29 | PRS | Protocol Stacks and Layering [pdf] |
Readings End to End Arguments in System Design and Internet Protocols Design Philosophy. | |
Fri 08/30 | David | Life, Liberty, and the Pursuit of...Sockets! [pdf] |
Recitation slides plus extra materials are available via GitHub 15-441 Recitation Sessions. | |
Tue 09/03 | PRS | Application Layer Examples [pdf] |
9.1 | |
Thu 09/05 | EA | Physical Layer [pdf] [ppt] |
2.1-2.5 | |
Fri 09/06 | Matt | Sockets & Concurrency and Project 1 Q& A [pdf] |
||
Tue 09/10 | EA | Coding and error control [pdf] |
2.6-2.10 | |
Thu 09/12 | EA | Datalink and Ethernet [pdf] |
3.1-3.2 | |
Fri 09/13 | Ben | Version Control [pdf] |
See Revision Control chapter of systems-se. Also see the online Subversion book, and Git Immerstion. |
|
Tue 09/17 | EA | Bridging, Addressing and Forwarding [pdf] |
Readings VL2 A Scalable and Flexible Data Center Network, Ethane Taking Control of the Enterprise, and OpenFlow Enabling Innovation in Campus Networks. | |
Thu 09/19 | PRS | IP Forwarding & Addressing [pdf] |
4.1 | |
Fri 09/20 | Matt | HTTP Parsing [pdf] |
||
Fri 09/20 | David | Testing in the Trenches [pdf] |
||
Tue 09/24 | PRS | NATs & tunnels & translation [pdf] |
||
Thu 09/26 | PRS | Routing [pdf] |
4.3 | |
Fri 09/27 | Ben | Learning the Pythonic Way [pdf] |
||
Tue 10/01 | PRS | Routing Hierarchy and BGP [pdf] |
4.2 | |
Thu 10/03 | PRS | Virtual Connections and Friends [pdf] |
4.4 | |
Fri 10/04 | David | Angels (OpenSSL) and D(a)emons [pdf] |
||
Tue 10/08 | EA | Transport and TCP [pdf] [pptx] |
5.1-5.2 | |
Thu 10/10 | EA | TCP Details [pdf] [pptx] |
||
Fri 10/11 | Ben, Matt, David | Midterm exam Review |
No slides, just three TAs and a chalkboard. Come with questions! | |
Tue 10/15 | EA | Performance and Future of TCP [pdf] [pptx] |
Readings Data Center TCP (DCTCP). | |
Thu 10/17 | PRS | MIDTERM EXAM |
||
Fri 10/18 | No recitation --- mid-semester break. |
|||
Tue 10/22 | PRS | Web, peer-to-peer, and CDNs [pdf] |
Helpful reference Tor: The Second Generation Onion Router. full sized. | 5.1-5.5 |
Thu 10/24 | PRS | Web, peer-to-peer, and CDNs [pdf] |
Helpful reference An Analysis of the Skype Peer-to-Peer Internet Telephony Protocol. full sized. | 5.2 |
Fri 10/25 | Ben | There is no Such Thing as TCP: TCP Congestion Control [pdf] |
||
Tue 10/29 | PRS | Web, peer-to-peer, and CDNs [pdf] |
full sized. | 6.1-6.3 |
Thu 10/31 | EA | QoS [ppt] |
6.4 | |
Fri 11/01 | David | BitTyrant: A Strategic BitTorrent Client [pdf] |
Optional reading: BitTyrant | |
Tue 11/05 | Zhang | Video Streaming [pdf] |
full sized | 9.4 |
Thu 11/07 | David | Security 1 [pdf] |
full sized | 8.1-8.4 |
Fri 11/08 | Matt and David | Project 3 [pdf] |
||
Tue 11/12 | Matt | Security 2 [pdf] |
full sized | |
Thu 11/14 | EA | Wireless and Mobile [pdf] |
||
Fri 11/15 | Matt | Protocol Security [pdf] |
||
Tue 11/19 | EA | Wireless and Mobile [pdf] |
||
Thu 11/21 | EA | Wireless, mobile and last mile [pdf] [pptx] |
||
Fri 11/22 | David | Project 3 |
Extra office hour from 1:30 to 2:30 in the lecture room | |
Tue 11/26 | PRS | Last mile [pdf] |
full sized | |
Thu 11/28 | Thanksgiving |
|||
Fri 11/29 | Thanksgiving |
|||
Tue 12/03 | PRS | No lecture - P3 time |
||
Thu 12/05 | PRS | Future directions and course Q&A [pdf] |
||
Fri 12/06 | Matt, Ben, David | Final Exam Q&A |
||
Thu 12/12 | PRS | Final Exam |
Last updated: 2013-12-09 21:11:51 -0800 [validate xhtml]