




Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
An overview of a first-year graduate class in computer networks. The class covers wired and wireless networking, from the routing layer and up, and includes hands-on labs on an emulated network. The class has lab assignments and in-class quizzes, and the prerequisites are CS402 and EE450. Students are responsible for their own work and must have the necessary background for the class.
Typology: Lecture notes
1 / 8
This page cannot be seen from the preview
Don't miss anything!





Quick Links
● Overview ● Reading List ● Schedule
This is a first year graduate class in computer networks. As such, this class will give you a deeper understanding of wired and wireless networking, from the routing layer and up, and expose you to classic and contemporary literature on the subject. The class also has a series of hands on labs on an emulated network which will give you insight into what it takes to build real networking subsystems.
The class has the following components:
■ Lab Assignments (50%). During the course of the semester, you will complete six lab assignments, filling in various pieces of emulated network. Starting from a learning bridge, this sequence of lab exercises asks you to fill in important pieces of routing and transport implementation and configuration. At the end of the course, you will be asked to demonstrate Web downloads across an ISP network that you have configured, across a router you have implemented, and using a transport protocol recently designed by Google. All lab assignments are to be done individually. For the lab assignments, you will need to program in C and Python.
■ In class quizzes (50%). There will be four quizzes. Each quiz will test not only the reading materials, but also your understanding of the lab exercises. All quizzes will be closed book (but you may bring one sheet of 8.5x11 paper with anything written on it) and will contain a mixture of multiple choice and short answer questions.
Technically, the pre requisites for this class are CS402 and EE 450. However, this year, we will admit you into this class if you have taken one of these classes. This means that you should determine for yourself whether you have the background necessary for the class. To help you do this, we will:
● Provide you with a self assessment quiz in the first week of classes ● Assign a programming lab in the first two weeks of class
If you have trouble with either of these, that indicates that you may not have the necessary
background and that you should consider dropping the class.
By enrolling this class, here is what you're agreeing to:
■ All work turned in on programming assignments and exams must be that of the individual student. If the instructor finds any evidence of cheating on an exam, he reserves the right to discipline the student appropriately (see below).
■ This policy also holds for programming assignments. In this class, we will use sophisticated automated program checkers to detect cheating. Be aware that the program checkers have demonstrated very good results and are widely used within the academic community. Any student caught cheating will be given zero for the assignment and will be reported to SJACS.
■ You must keep up with the assigned readings. If you come to class without having read the papers for the corresponding lecture, you're unlikely to learn anything at all from the lecture. In particular:
■ You are expected to read all the papers in detail. Not all details will be covered in class. I will assume knowledge of material covered in CS 402 and EE/CS 450, a C/C++ programming proficiency from CS402 or its equivalent, and Python programming profiency. If you covered the introductory material at some other school it is YOUR responsibility to fill in any missing background. Feel free to ask me for advice on appropriate introductory readings if you feel your background is insufficient.
■ I expect you to attend every class meeting. If you do happen to miss a session, you are responsible for finding out what material was covered and if any administrative announcements were made.
All interaction with the instructor and with other students for the class will be through its Piazza site. On the first day of classes, I will announce more details about Piazza.
You are expected to check Piazza periodically for important announcements.
If you wish to contact me, please use Piazza (rather than my regular email), and I will try to respond to your question quickly. While you should always feel free to contact me, I strongly encourage you to post your question to Piazza; you will usually get much faster responses from your fellow students.
conference on Data communication. [PDF] ● [Jupiter] Singh, Arjun, Ong, Joon, Agarwal, Amit, Anderson, Glen, Armistead, Ashby, Bannon, Roy, Boving, Seb, Desai, Gaurav, Felderman, Bob, Germano, Paulie, Kanagala, Anand, Provost, Jeff, Simmons, Jason, Tanda, Eiichi, Wanderer, Jim, H"olzle, Urs, Stuart, Stephen, Vahdat, Amin, Jupiter Rising: A Decade of Clos Topologies and Centralized Control in Google's Datacenter Network, SIGCOMM Comput. Commun. Rev. , Vol. 45 , No. 4, pp. 183 197, ACM, New York, NY, USA, August 2015. [HTML] ● [ASStructure] Oliveira, Ricardo V., Pei, Dan, Willinger, Walter, Zhang, Beichuan, Zhang, Lixia, In Search of the Elusive Ground Truth: The Internet's As level Connectivity Structure, Proceedings of the 2008 ACM SIGMETRICS International Conference on Measurement and Modeling of Computer Systems , pp. 217 228, ACM, New York, NY, USA, 2008. [HTML]
● [ClarkDesign] Clark, David D., The Design Philosophy of the DARPA Internet Protocols, SIGCOMM Comput. Commun. Rev. , Vol. 25 , No. 1, pp. 102 111, ACM, New York, NY, USA, January 1995. [HTML] ● [SaltzerEndtoEnd] Saltzer, J. H., Reed, D. P., Clark, D. D., End to end Arguments in System Design, ACM Trans. Comput. Syst. , Vol. 2 , No. 4, pp. 277 288, ACM, New York, NY, USA, November 1984. [HTML] ● [ShenkerFundamental] Shenker, Scott, Fundamental Design Issues for the Future Internet, IEEE Journal on Selected Areas in Communication , Vol. 13 , No. 7, September
● [Ethane] Martin Casado, Michael J. Freedman, Justin Pettit, Jianying Luo, Natasha Gude, Nick McKeown, Scott Shenker, Rethinking Enterprise Network Control, IEEE Transactions on Networking , 2009. [PDF] ● [P4] Bosshart, Pat, Daly, Dan, Gibb, Glen, Izzard, Martin, McKeown, Nick, Rexford, Jennifer, Schlesinger, Cole, Talayco, Dan, Vahdat, Amin, Varghese, George, Walker, David, P4: Programming Protocol independent Packet Processors, SIGCOMM Comput. Commun. Rev. , Vol. 44 , No. 3, pp. 87 95, ACM, New York, NY, USA, July 2014. [HTML] ● [B4] Jain, Sushant, Kumar, Alok, Mandal, Subhasree, Ong, Joon, Poutievski, Leon, Singh, Arjun, Venkata, Subbaiah, Wanderer, Jim, Zhou, Junlan, Zhu, Min, Zolla, Jon, H"olzle, Urs, Stuart, Stephen, Vahdat, Amin, B4: Experience with a Globally deployed Software Defined Wan, SIGCOMM Comput. Commun. Rev. , Vol. 43 , No. 4, pp. 3 14, ACM, New York, NY, USA, August 2013. [HTML] ● [NetworkVirtualization] Teemu Koponen, Keith Amidon, Peter Balland, Martin Casado, Anupam Chanda, Bryan Fulton, Igor Ganichev, Jesse Gross, Paul Ingram, Ethan Jackson, Andrew Lambeth, Romain Lenglet, Shih Hao Li, Amar Padmanabhan, Justin Pettit, Ben Pfaff, Rajiv Ramanathan, Scott Shenker, Alan Shieh, Jeremy Stribling, Pankaj
Thakkar, Dan Wendlandt, Alexander Yip, Ronghua Zhang, Network Virtualization in Multi tenant Datacenters, 11th USENIX Symposium on Networked Systems Design and Implementation (NSDI 14) , pp. 203 216, USENIX Association, Seattle, WA, 2014. [HTML]
● [PadhyeModeling] Padhye, Jitendra, Firoiu, Victor, Towsley, Don, Kurose, Jim, Modeling TCP Throughput: A Simple Model and Its Empirical Validation, SIGCOMM Comput. Commun. Rev. , Vol. 28 , No. 4, pp. 303 314, ACM, New York, NY, USA, October 1998. [HTML] ● [DemersFQ] Demers, A., Keshav, S., Shenker, S., Analysis and Simulation of a Fair Queueing Algorithm, Symposium Proceedings on Communications Architectures &Amp; Protocols , pp. 1 12, ACM, New York, NY, USA, 1989. [HTML] ● [DCTCP] Alizadeh, Mohammad, Greenberg, Albert, Maltz, David A., Padhye, Jitendra, Patel, Parveen, Prabhakar, Balaji, Sengupta, Sudipta, Sridharan, Murari, Data center TCP (DCTCP), SIGCOMM Comput. Commun. Rev. , Vol. 40 , pp. 63 74, ACM, New York, NY, USA, August 2010. [PDF]
● [Chord] Stoica, Ion, Morris, Robert, Karger, David, Kaashoek, M. Frans, Balakrishnan, Hari, Chord: A Scalable Peer to peer Lookup Service for Internet Applications, Proceedings of the 2001 Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications , pp. 149 160, ACM, New York, NY, USA, 2001. [HTML] ● [BitTorrentIncentives] Piatek, Michael, Isdal, Tomas, Anderson, Thomas, Krishnamurthy, Arvind, Venkataramani, Arun, Do Incentives Build Robustness in Bit Torrent, Proceedings of the 4th USENIX Conference on Networked Systems Design & Implementation , pp. 1 1, USENIX Association, Berkeley, CA, USA, 2007. [PDF]
● [GoogleFailures] Govindan, Ramesh, Minei, Ina, Kallahalla, Mahesh, Koley, Bikash, Vahdat, Amin, Evolve or Die: High Availability Design Principles Drawn from Googles Network Infrastructure, Proceedings of the 2016 ACM SIGCOMM Conference , pp. 58 72, ACM, New York, NY, USA, 2016. [HTML] ● [HSA] Kazemian, Peyman, Varghese, George, McKeown, Nick, Header Space Analysis: Static Checking for Networks, Proceedings of the 9th USENIX Conference on Networked Systems Design and Implementation , pp. 9 9, USENIX Association, Berkeley, CA, USA, 2012.[PDF]
Final letter grades will be determined using a "modified" curve. I will assign grades of C and BELOW to individuals who do not perform satisfactorily in the above areas (i.e., you should not assume that because this is a graduate class you will get a B or even B if you perform unsatisfactorily.).
We will not assign incompletes unless it is for a documented medical reason (in accordance with USC policy).
Any student requesting academic accommodations based on a disability is required to register with Disability Services and Programs (DSP) each semester. A letter of verification for approved accommodations can be obtained from DSP. Please be sure the letter is delivered to me (or to TA) as early in the semester as possible. DSP is located in STU 301 and is open 8:30 am 5: pm, Monday through Friday. The phone number for DSP is (213) 740 0776.
USC seeks to maintain an optimal learning environment. General principles of academic honesty include the concept of respect for the intellectual property of others, the expectation that individual work will be submitted unless otherwise allowed by an instructor, and the obligations both to protect one's own academic work from misuse by others as well as to avoid using another's work as one's own. All students are expected to understand and abide by these principles. Scampus, the Student Guidebook, contains the Student Conduct Code in Section 11.00, while the recommended sanctions are located in Appendix A: http://www.usc.edu/dept/publications/SCAMPUS/gov/. Students will be referred to the Office of Student Judicial Affairs and Community Standards for further review, should there be any suspicion of academic dishonesty. The Review process can be found at: http://www.usc.edu/student affairs/SJACS/.