CMPE 252A - Computer Networks

Professor: Katia Obraczka(katia@soe.ucsc.edu)
Office:BE 329
Office Hours:Wed 3:30-5 pm
TA: Venkatesh Rajendran(venkat@soe.ucsc.edu)
Office:BE 399C
Office Hours:Tu - Th, 2 - 3:30 pm
Location: Basking Engineering 156
Time: Tue,Thu 4:00pm - 5:45pm
Newsgroup: ucsc.class.cmpe252a
News| Class Description| Student Responsibilities| Textbook| Newsgroup| Syllabus| Reading List| Projects| Academic Integrity| Grading

News

Homework 3 SOLUTIONS are up.

Homework 2 SOLUTIONS are up. You can collect your homework 2 from Katia during her office hours on Friday.

Homework 3 is up - Due - 12/05/2003.

You are required to use TCP/TCPFull/Sack version of TCP in ns as the base comparison for project3.
Nacho's NS2 Slides.

Midterm solutions are here PS PDF. Login information for sanskriti.cse.ucsc.edu has been sent by email.

Project 3 is up. Please sumbit your homework 2 by email to venkat@soe.ucsc.edu with subject "CMPE252a Homework2 Submission". ONLY ACCEPTABLE FILE FORMAT IS PDF/PS. Your homework will not be graded if you submit any other formats (this includes txt, doc, etc.,). You can print file (which is PS format) and convert it to pdf.

Dec. 11 12.00-3.00PM FINAL EXAM.

Homework 2 is posted. Here is the link to Dynamic Source Routing Paper (this paper discuss about the route discovery and route maintanance described in project 2).

Homework Solutions are here.

Midterm moved to to 11.06. - 10/28/03.

There is a possibility of moving the midterm to 11.06. If anyone has any conflicts, please send us a note ASAP. - 10/28/03.

Script to generate topology files for testing your project. Download the PERL script and run it from the command line "perl script.pl" to generate the topology file.

Project 2 is up. - 10/21/03.

IMPORTANT: Please submit the homework electronically by email to venkat@soe.ucsc.edu with "CMPE 252 homework 1 submission" in the subject line. - 10/19/03.

Homework 1 posted - 10/13/03.

The newsgroup for the class is setup ucsc.class.cmpe252a. We encourage you to post your questions on the newsgroup. For more information on accessing class newsgroups, visit this page - 10/06/03.

Office hours are updated. Lecture 3 is up. If you want to fit more slides per page, use psnup. - 10/02/03

Project1 description added.
JJ's slides are up.
Lecture 2 links (PPT files) will be ready before the class. PDF/PS files might take longer. So keep checking - 09/29/03.

Lecture 1 is up. Some of the course materials are password protected. Please email the TA if you need the username and password for off-campus access. If you are accessing from UCSC machines, you don't need any password - 09/26/03.

We are in the process of finishing the web page. Most of the information is up here already but might not be in order or might be unlinked. Everything is supposed to be ready in the next couple of days - 09/25/03.

If you have any questions ask the TA.


Class Description

This is a first-year graduate class in computer networking. The goal is to provide a deeper understanding of network architectures and protocols from the medium-access control (MAC) layer up, following the TCP/IP architecture. The course is based on classic and recent research papers on the topics covered. A very important component of the class is to apply the material learned in the lectures through projects.


Student Responsibilities Students enrolled in this class are agreeing to the following:
  • All work turned in as homeworks, projects, and exams MUST be individual. If any work claimed by a student to be his/her own is found to be shared with other students, that will be considered a violation of academic integrity and will be handled accordingly.
  • Students are responsible for reading the papers that will be covered in a specific lecture BEFORE the lecture. All papers must be read in detail even though not all details will be covered in class.
  • Students are also responsible for checking the class Web page frequently for updates to the reading list, schedule changes, posting of homeworks and projects, etc.
  • Even though this is an introductory class to networking, some basic networking and operating system knowledge will be assumed. If a student needs that background, he/she should contact the instructor for pointers to adequate references.
  • Some programming proficiency with C (including network programming) is also assumed for students to be able to complete class projects.

Reference Textbooks

There is no required textbook for this class. Some reference textbooks that can be used as back-up reading material for the course include:


Newsgroup

ucsc.class.cmpe252a. We encourage you to post your questions on the newsgroup. For more information on accessing class newsgroups, Click Here.


Syllabus Remember this is a tentative schedule and might change. Check this page once in a while.
  • Sept. 25 Introduction Lecture 1 PPT PS PDF
    • Course overview.
    • Basic concepts, terminology, design principles.
    • "The Internet Behind the Web" video.
  • Sept. 30 Medium access control (MAC) Lecture 2 PPT PS PDF
  • Oct. 2 Unicast routing Lecture 3 PPT PS PDF
  • Oct. 7 Unicast routing Lecture 4 PPT PS PDF
  • Oct. 9 Multicast routing Lecture 5 PPT PS PDF
  • Oct. 14 Multicast routing - Homework 1 DUE 10/21/2003 Lecture 6 PPT PS PDF
  • Oct. 16 TCP
  • Lecture 7 PPT PS PDF
  • Oct. 21 TCP and congestion control Lecture 8 PPT PS PDF
  • Oct. 23 Multicast transport - Project 1 due Lecture 9 PPT PS PDF
  • Oct. 28 Queue management Lecture 10 PPT PS PDF
  • Oct. 30 Queue management Lecture 11 PPT PS PDF
  • Nov. 4 Integrated and differentiated services - Homework 2 - Due 11.18.2003 Lecture 12 PPT PS PDF
  • Nov. 6 Midterm
  • Nov. 11 Holiday
  • Nov. 13 Characterizing the Internet Lecture 13 PPT PS PDF
  • Nov. 18 Characterizing the Internet Lecture 14 PPT PS PDF
  • Nov. 20 Overlays Lecture 15 PPT PS PDF
  • Nov. 25 Peer-to-peer systems Lecture 16 PPT PS PDF
  • Dec. 2 Network security Lecture 17 PPT PS PDF
  • Dec. 4 Web protocols and caching. Lecture 18 PPT PS PDF
  • Dec. 11 12.00-3.00PM FINAL EXAM.

Reading List Introduction
  1. Clark D., "The Design Philosophy of the DARPA Internet Protocols", Proceedings of ACM Sigcomm 1988, pp. 106-114.
  2. Saltzer J., Reed D. and Clark D., "End-to-end Arguments in System Design.", ACM Transactions on Computer Systems (TOCS), Vol. 2, No. 4, pp. 195-206, 1984.
Supplementary readings:
  1. M. J. Hanson, Efficient Reading of Papers in Science and Technology, 2000.
  2. Levin R. and Redell D. D., "An evaluation of the ninth SOSP submissions", Operating Systems Review, 17(3):35-40, July 1983.
  3. Jamin S., "Paper Reading Checklist.
  4. Day R. A., "How to write a scientific paper", IEEE Transactions on Professional Communication, 20:32-37, June 1977.
  5. M. Blumenthal, D. D. Clark, Rethinking the Design of the Internet: The End-to-End Argument vs. the Brave New World, ACM Transactions on Internet Technology, Vol. 1, No. 1, pp. 70--109, 2001.

Medium Access Control
  • Lecture slides
Supplementary reading
  • JJ's MAC slides - PPT 1 2 3 PDF 1 2 3 PS 1 2 3

Routing:
  1. Tsuchiya P.F., "The Landmark Hierarchy: A New Hierarchy for Routing in Very Large Networks", Proceedings of ACM Sigcomm 1988, pp. 128-134. [ACM Page]
  2. Craig Labovitz, Abha Ahuja, Abhijit Bose and Farnam Jahanian, "Delayed internet routing convergence", Proceedings of ACM Sigcomm 2000.
Supplementary reading
  1. McQuillan J. M., et. al., "The New Routing Algorithm for the ARPANET", IEEE Trans. on Communications, May 1980, pp. 711-719.
  2. Khanna A. and Zinky J.. "The Revised ARPANET Routing Metric". Proc. of ACM SIGCOMM '89, pages 45-56, Sep. 1989. [ACM Page]
  3. Floyd S. and Jacobson V., "The Synchronization of Periodic Routing Messages", IEEE/ACM Transactions on Networking, April 1994. [ACM Page]
  4. Huitema C., Routing in the Internet, (chapters 4 through 9).
  5. William B. Norton, "Internet Service Providers and Peering".
  6. R. Govindan, J. Heidemann, C. Papadopoulos, Background Slides on the Internet Protocol.
  7. R. Govindan, J. Heidemann, C. Papadopoulos, Background Slides on BGP.
  8. R. Govindan, J. Heidemann, C. Papadopoulos, The Life of an Internet Packet.
  9. BGP4: Inter-DOmain Routing in the Internet by John Stewart
  10. Internet Routing Architectures (2nd Edition) by Bassam Halabi
  11. Rekhter and T. Li. A border gateway protocol 4 (BGP-4). RFC 1771,Internet Request For Comments, March 1995.

Multicast Routing
  1. Deering S. E. and Cheriton D. R., "Multicast Routing in Internetworks and Extended LANs", ACM , 1988, pp. 55-64. [ACM Page]
  2. Deering S. E., Estrin D., Farinacci D., Jacobson V., Liu C-G, Wei L., "The PIM Architecture for Wide-Area Multicast Routing", IEEE/ACM Transactions on Networking, Vol.4, No.2, April 1996. [ACM Page] [ps]
  3. Ballardie T., Francis P. and Crowcroft J., "Core-Based Tree (CBT) Architecture for Scalable Inter-Domain Routing", ACM SIGCOMM'93, September 1993. [ACM Page]
  4. Hugh W. Holbrook and David R. Cheriton. IP multicast channels: EXPRESS support for large-scale single-source applications. In Proceedings of the ACM SIGCOMM Conference, pages 65-78, Cambridge, MA, USA, September 1999.
Supplementary readings:
  1. S. Deering. Host extensions for IP multicasting. RFC 1112, Internet Request For Comments, August 1989.
  2. W. Fenner. Internet group management protocol, version 2. RFC 2236, Internet Request For Comments, November 1997.
  3. D. Estrin, D. Farinacci, A. Helmy, D. Thaler, S. Deering, M. Handley, V. Jacobson, C. Liu, P. Sharma, and L. Wei. Protocol independent multicast-sparse mode (pim-sm): Protocol specification. RFC 2362, Internet Request For Comments, June 1998.

TCP and congestion control
  1. Floyd, S., "TCP and Explicit Congestion Notification", ACM Computer Communication Review, V. 24 N. 5, October 1994, p. 10-23.
  2. Ramakrishnan K. K. and Jain R., "A Binary Feedback Scheme for Congestion Control in Computer Networks", ACM Transactions on Computer Systems, Feb 1990. [ACM Page]
  3. Jacobson V., "Congestion Avoidance and Control", Proceedings of ACM Sigcomm 1988, pp. 273-288. [ACM Page]
  4. Floyd S. and Fall K., "Promoting the use of End-to-End Congestion Control in the Internet", IEEE/ACM Transactions on Networking", August 1998. [ACM Page]
  5. Fall K. and Floyd S., "Simulation-based Comparisons of Tahoe, Reno, and SACK TCP", ACM Computer Communication Review, 26(3):5-21, Jul 96.
  6. Floyd S., Handley M., Padhye J. and Widmer J., "Equation-Based Congestion Control for Unicast Application", SIGCOMM 2000, August 2000.
Supplementary reading
  1. Jon Postel. Transmission control protocol. RFC 793, Internet Request For Comments, September 1981.
  2. M. Allman, V. Paxson, and W. Stevens. TCP congestion control. RFC 2581, Internet Request For Comments, April 1999.

Multicast transport
  1. McCanne S., Jacobson V. and Viterelli M., "Receiver Driven Layered Multicast", ACM Sigcomm, September 1996.
  2. Rizzo L., "pgmcc: A TCP-friendly Single-Rate Multicast Congestion Control Scheme", Proceedings of ACM SIGCOMM '00, Aug. 2000.
  3. Floyd S., Jacobson V., Liu C-G, McCanne S., Zhang L., "A Reliable Multicast Framework for Light-weight Sessions and Application Level Framing", IEEE/ACM Transactions on Networking, November 1997.
  4. Paul S., Sabnani K.K. , Lin J.C., Bhattacharyya S., "Reliable Multicast Transport Protocol (RMTP)", IEEE Journal on Selected Areas in Communications, Vol. 15 No 3, April 1997, Pages 407-421
Supplementary reading
  1. Rosenberg J. and Schulzrinne H., "Timer Reconsideration for Enhanced RTP Scalability", Proc. of Infocom, (San Francisco, California), March/April 1998.

Queue Management
  1. W. Feng, D. Kandlur, D. Saha, K. Shin, "The Blue Queue Management Algorithms", IEEE/ACM Transactions on Networking, Vol. 10, No. 4, August 2002.
  2. Floyd S. and Jacobson V., "Random Early Detection Gateways for Congestion Avoidance", ACM/IEEE Transactions on Networking, 1(4):397-413, Aug. 1993.
  3. Bajaj S., Breslau L. and Shenker S.. "Uniform versus Priority Dropping for Layered Video", Proceedings of ACM SIGCOMM '98, pages 131-143, Sep. 1998.
  4. Demers A., Keshav S. and Shenker S., "Analysis and Simulation of a Fair Queueing Algorithm", Proceedings of ACM SIGCOMM '89, pages 1-12, Sep. 1989. [ACM Page]

Differentiated services
  1. Shenker S.,"Fundamental Design Issues for the Future Internet", IEEE Journal on Selected Areas in Communications, Vol 13, No. 7, pp. 1176-1188, September 1995
  2. Clark D.D., Shenker S. and Zhang L.,"Supporting Real-Time Applications in an Integrated Services Packet Network: Architecture and Mechanism", ACM 1992, pp. 14-26.
  3. Clark D. and Feng W.,"Explicit Allocation of Best-Effort Packet Delivery Service", IEEE/ACM Trans. on Networking, 6 (4), pp. 362-373, August 1998.
Supplementary readings:
  1. K. Nichols, V. Jacobson, and L. Zhang. A two-bit differentiated services architecture for the Internet. RFC 2638, Internet Request For Comments, July 1999.
  2. Vicky Hardman, Martina Angela Sasse, and Isidor Kouvelas. Successful multiparty audio communication over the Internet. Communications of the ACM, 41(5):74-80, May 1998.
  3. S. Blake, D. Black, M. Carlson, E. Davies, and W. Weiss Z. Wang. An architecture for differentiated service. RFC 2475, Internet Request For Comments, December 1998.
  4. L. Zhang, S. Deering, D. Estrin, and D. Zappala. RSVP: A new resource ReSerVation Protocol. IEEE Network Magazine, September 1993.

Characterizing the Internet:
  1. Paxson V., "End-to-End Internet Packet Dynamics", Proceedings of ACM SIGCOMM '97, Sep. 1997
  2. Crovella M.E. and Bestravros A., "Self-Similarity in World Wide Web Traffic: Evidence and Possible Causes", IEEE/ACM Transactions on Networking, 5(6):835-846, Dec. 1997.
Supplementary readings:
  1. Willinger W. and Paxson V., "Where Mathematics meets the Internet", Notices of the American Mathematical Society, 45(8), August 1998.
  2. C. Faloutsos, P. Faloutsos, M. Faloutsos, On Power-Law Relationships of the Internet Topology, Proceedings of the ACM SIGCOMM Conference on Network Architectures and Protocols, 1999.
  3. KC Claffy, "Measuring the Internet, IEEE Internet Computing Online, January 2000.
  4. KC Claffy, CAIDA: Visualizing the Internet, Internet Computing Online, January 2001. [CAIDA]
  5. Govindan R., Tangmunarunkit H., "Heuristics for Internet Map Discovery", in Proc. of IEEE Infocom 2000, Tel Aviv, Israel.
  6. H. Tangmunarunkit, R. Govindan, S. Jamin, S. Shenkerand W. Willinger, Network Topology Generators: Degree-Based vs. Structural, Proc. of ACM SIGCOMM, pp. 188-195, Pittsburgh, PA, 2002.

Overlays
  1. Yang-Hua Chu, Sanjay G. Rao, Hui Zhang, A case for end system multicast, ACM SIGMETRICS 2000, ACM, pp. 1-12, Santa Clara, CA, 2000.
  2. D. G. Andersen, H. Balakrishnan, F. Kaashoek, R. Morris, Resilient Overlay Networks, Proceedings of the Symposium on Operating Systems Principles, Banff, Canada, October 2001.

Peer-to-peer systems
  1. Ian Clarke, Oskar Sandberg, Brandon Wiley, and Theodore W. Hong. Freenet: A distributed anonymous information storage retrieval system. In Proceedings of the ICSI Workshop on Design Issues in Anonymity and Unobservability, Berkeley, CA, USA, July 2000.
  2. Ion Stoica, Robert Morris, David Karger, Frans Kaashoek, Hari Balakrishnan, Chord: A Scalable Peer-To-Peer Lookup Service for Internet Applications, Proceedings of ACM SIGCOMM 2001, pp. 149--160, 2001.

Network security
  1. Cardwell N., Savage S., Wetherall D. and Anderson T., "TCP Congestion Control with a Misbehaving Receiver", Computer Communications Review, v29, n5, October 1999.
  2. Savage, S., Wetherall, D., Karlin, A., and Anderson, T., "Practical Network Support For IP Traceback", Proc. of ACM SIGCOMM00, Aug. 2000.

Web protocols and caching
  1. V. Padmanabhan, J. Mogul, Improving HTTP Latency, Computer Networks and ISDN Systems, Vol. 28, No. 1, 1995.
  2. Chankhunthod A., Danzig P., Neerdaels C., Schwartz M. and Worrell K., "A Hierarchical Internet Object-Cache", In Proceedings of the USENIX 1996 Annual Technical Conference, January 1996.
  3. Fan L., Cao P., Almeida J. and Broder A., "Summary Cache: A Scalable Wide-Area Web cache Sharing Protocol", In Proceedings of the Sigcomm'98, September 1998.
  4. Wolman A., Voelker M., Sharma N., Cardwell N., Karlin A., Levy H.M., "On the Scale and Performance of Cooperative Web Proxy Caching", In Proceedings of ACM SOSP, 1999

Wireless and mobile networking

Projects

Project dates will be enforced. Late projects will beaccepted with a severe grading penalty. Project submission due dateswill be at 12 midnight (Local Time) on the day the project is due.

Project descriptions will be posted as they are assigned. The first project will be assigned by Tuesday,Sept. 30th.

Project 1 - Emulating a network. - due October 23, 2003.

Project 2 - Source Routing. - due November 13, 2003.

Project 3 - NS Simulation. - due December 4, 2003.

General Project Notes:

Projects are individual. We do encourage students to comment on theproblems to be solved, but the programming and project itself isindividual work. Sources will be checked using specialized software and byinspection. If you include any code that is not your own, make sure you havepermission and mark the code clearly stating the source. Please take a look at the Academic Integrity information below.

Project submissions should include a README file. If the projectrequires aditional documentation, the README file should indicatewhich other files must be checked. The code should be commented enoughto give a broad understanding of the general design and specificfunctionality of each module. If your project is incomplete the documentation and comments will help evaluate your work.


Academic Integrity

In this course we encourage students to study together. This includes discussing general strategies to be used on individual assignments. However, all work submitted for the class is to be done individually. Some examples of what is not allowed by the conduct code: copying all or part of someone else's work (by hand or by looking at others' files, either secretly or if shown), and submitting it as your own; giving another student in the class a copy of your assignment solution; consulting with another student during an exam. If you have questions about what is allowed, please discuss it with the instructor.

Students should be familiar with the University Academic Intergity Policies, violations of which will not be tolerated. Students who violate University standards of academic integrity are subject to disciplinary sanctions, including failure in the course accompanied by a report which will be part of the student's file, and suspension from the University.

If you have questions or doubts about the UCSC Academic Integrity policies, please see the instructor or the TA.


Grading

Final letter grades will be determined using a ``modified'' curve (i.e., we don't have a pre-determined percentage of how many A's, B's, etc. we will assign). We will assign grades of C and BELOW to students who do not perform satisfactorily (i.e., you should not assume that this is a graduate class and therefore you automatically get a B).

Grades will account for:

  • Homeworks: 10%

    Homeworks will be assigned over the course of the class containing problems on the topics covered.

  • Projects: 50%

    Students will require to complete programming projects on topics covered in the course. They will involve network programming using sockets and the use of a network simulator. If students do not have the required programming skills, they are advised not to take the course.

  • Midterm: 20%

    In-class, closed book exam around mid-quarter.

  • Final: 20%

    In-class, closed book exam at the end of the quarter.

Please report any problems to the TA