USC CSD Home
 

-

 
General Information
Time   :   MW 12:00pm - 1:20pm
Location : OHE 100B
Instructor   :   Bill Cheng, Office Hours: TuTh 1:30pm - 2:30pm in SAL 228, E-mail: <bill.cheng@usc.edu> or <william@bourbon.usc.edu>   (Please do not send HTML-only e-mails. They will not be read.)
TA   :   Leslie Cheung, E-mail: <lccheung@usc.edu>, Office Hours: MW, 2:00pm - 3:00pm in SAL 211
Grader   :   Metha Chiewanichakorn, E-mail: <chiewani@usc.edu>,    (The grader will hold office hours the week after the announcement of each project assignment's grades.)
Midterm Exam   :   in OHE 122, during class time, Wed, 10/24/2007 (firm)
Final Exam   :   in MHP 101, 11am-1pm, Fri, 12/14/2007 (firm) (MHP is located in section D7 of the campus map)
Msg Archives   :   messages from Bill, messages from Leslie, messages from Metha
 
Class Resources
Description   :   textbooks, topics covered, grading policies, additional resources, etc.
Papers   :   required and recommanded technical papers.
Lectures   :   slides from lectures in HTML, PostScript, and PDF formats.
Homeworks   :   (2-4 homeworks will be assigned.)
Projects   :   (please also see important information about the class projects below.)
Moodle   :   social forum can be used for students-to-students discussions about assignments.
 
News
(in reversed chronological order)
  • 12/5/2007: The final exam will be closed book, closed notes, and closed everything (and no "cheat sheet"). Also, no calculators, cell phones, or any electronic gadgets are allowed. Please bring a photo ID. Your ID will be collected at the beginning of the exam and will be returned to you when you turn in your exam. There will be assigned seating.

    The final exam will cover everything after the midterm exam (starting at slide 27 of lecture 15 on 10/17/2007) to the last slide of the lecture on 12/5/2007. For the DEC-bit paper [Ramakrishnan90a], you will only be responsible for the queue management (DEC-bit) part of it.

    Here is a quick summary of the topics (not all topics covered are listed):

    • TCP
      • congestion control mechanisms [Jacobson88a]
        • slow start
        • congestion avoidance
        • fast retransmit
      • TCP Tahoe, Reno, New Reno, TCP SACK [Fall96a]
        • fast recovery
        • New Reno partial ACK
        • TCP SACK
    • Queue management
      • Fair queueing & weighted fair queueing [Demers89a]
        • arrival time
        • start time
        • finish time
      • DEC-bit [Ramakrishnan90a]
        • queue length
        • fairness
        • power
        • efficiency
      • RED [Floyd93a]
        • random drop
        • threasholds
      • TCP throughput [Padhye98a]
        • bandwidth relationship with loss probabilities, segment size, and RTT
        • triple-dupack period
        • timeouts and limited advertised receiver window size
      • TCP friendliness [Floyd99b]
        • bandwidth equation
        • UDP
    • Peer-to-peer/Distributed Hash Table
      • Freenet [Clarke02a]
        • unstructured DHT system
        • insertion
        • search
      • Chord [Stoica01a]
        • structured DHT system
        • finger table
        • insertion
        • search
      • BitTorent [Yang04a]
        • piece selection
        • fairness
    • Integrated & Differentiated Services
      • integrated and differentiated services design issues [Shenker95a]
        • efficacy
      • integrated services [Clark92a]
        • guaranteed, predicted, and best effort services
        • token buckets
        • FIFO+
      • differentiated services [Clark98a]
        • RIO (Red with In or Out)
      • differentiated services [Nichols99a]
        • premium, assured, and best effort services
        • two-bit diff-serv
        • border router profile meters
    • Measurements
      • network performance measurements [Paxson99b]
        • pathologies (reordering, duplication, corruption)
        • bandwidth (bottleneck BW vs. available BW)
        • loss (predictive?)
        • packet bunch (problems with packet pair)
    • Wireless & Mobile
      • mobile IP [Johnson96b]
      • media access for wireless LAN [Bharghavan94a]
        • hidden terminal
        • exposed terminal
        • back-off
      • snoop [Balakrishnan95b]
        • operation of snoop
      • ad hoc routing
      • sensor network [Intanagonwiwat00a]
        • directed diffusion
        • data-centric communication
    • Class project
      • final project

  • 11/29/2007: Office hour today has been moved up by 15 minutes. Sorry about the inconvenience.

  • 11/26/2007: Office hour on 11/27/07 has been cancelled. Sorry about the inconvenience.

  • 11/16/2007: This is for DEN students (those who enrolled in the 30051D section) only. The online course evaluations for DEN students are now available. Please see the instructions. On-campus students should fill out evaluation forms in class, as usual!


  • 10/24/2007: Office hour on 10/25/07 is moved to 11:00am-12:00pm. Sorry about the inconvenience.

  • 10/17/2007: The midterm exam will be closed book, closed notes, and closed everything (and no "cheat sheet"). Also, no calculators, cell phones, or any electronic gadgets are allowed. Please bring a photo ID. Your ID will be collected at the beginning of the exam and will be returned to you when you turn in your exam. There will be assigned seating.

    The midterm exam will cover everything from the beginning of the semester till the end of congestion control (includes materials from part of [Ramakrishnan90a]), i.e., the last slide is slide 26 of lecture 15 on 10/17/2007). I will not ask anything about ns and nam. And you will only be responsible for part of [Ramakrishnan90a] which was covered under TCP congestion control (fairness and efficiency) and not under queue management (DEC-bit).

    Here is a quick summary of the topics (not all topics covered are listed):

    • Networking basics
      • CIDR
      • NAT
    • Architecture
      • Internet design issues [Clark88a]
      • End-to-end argument [Saltzer81a]
      • IP (protocol hourglass) [Deering98a]
    • Routing
      • Landmark routing [Tsuchiya88a]
      • Unicast routing
        • static routing
        • distance vector
        • link state
      • Interdomain routing (BGP)
        • BGP messages
        • BGP attributes and policy routing
        • EBGP vs IBGP
        • multihoming
      • Delayed convergence [Labovitz00a]
    • TCP
      • basic TCP mechanisms
        • window-based flow control
        • SYN & 3WH
        • FIN
        • TCP extensions
      • congestion control (includes part of [Ramakrishnan90a])
      • congestion collapse
      • congestion control vs. congestion avoidance
      • fairness
      • efficiency
      • stability

  • 10/17/2007: Office hour on 10/18/07 has been cancelled. Sorry about the inconvenience.

  • 10/7/2007: Office hour on 10/9/07 has been moved to 10:30am-11:30am on Monday, 10/8/07. Sorry about the inconvenience.

  • 10/3/2007: Office hour on 10/4/07 is moved to 11:00am-12:00pm. Sorry about the inconvenience.

  • 10/1/2007: Office hour on 10/2/07 is moved to 10:45am-11:45am. Sorry about the inconvenience.

  • 9/6/2007: The change of office hour on 9/6/07 has been canceled. It's back on regular time. Office hour on 9/11/07 is moved to 2-3pm instead. Sorry about the inconvenience!

  • 9/5/2007: Office hour on 9/6/07 is moved to 2-3pm. Sorry about the inconvenience.

  • 8/23/2007: There are no office hours during the first week of class. If you need to see me, please make an appointment by sending an e-mail to me. Sorry about the inconvenience.

  • 6/27/2007: There is another section of CSCI 551 (on Fri 1pm-3:50pm). It is offered by the same instructor. Although the lectures are very similar, assignment due dates and exam dates are different from this section. Please make sure you attend the section for which you are registered. You may not take exams from the other section.

  • 6/20/2007: Registering with the class mailinglist is required for this class because you must get your port assignments. If you have not done so, please visit the mailinglist page. (You do not have to be registered for the course to register with the class mailinglist.)

  • 6/20/2007: Watch this area for important announcements.
 
Prerequisites
 
Important Information about the Class Projects
The class projects will take more than 5,000 lines of C/C++ code to be developed on a UNIX environment. No other programming language will be accepted and your program must compile and run with a Makefile on nunki.usc.edu. (Sorry, no Java.) You must be familiar with the UNIX development environment (vi/pico/emacs, cc/gcc or g++/CC, make, etc.)

If a student signs up late for this class or could not be present at the beginning of the semester, he/she is still required to turn all projects and homeworks on time or he/she will receive a score of 0 for these assignments. No exceptions!

 

   [Please see copyright regarding copying.]