Computer Communications - CSCI 551, Spring 2012

General Information
Time   :   TuTh 9:30am - 10:50am 
Location : OHE 100D
Instructor   :   Bill Cheng (for office hours, please see instructor's web page), E-mail: <>.   (Please do not send HTML-only e-mails. They will not be read.)
TA   :   Bo-Chun Wang, E-mail: <>, Office Hours: Mon 2:00pm - 4:00pm in SAL 235
Grader   :   Aseem Monga, E-mail: <>(The grader will hold office hours the week after the announcement of each assignment's grades.)
Midterm Exam   :   during class time in MHP 101, Thu, 3/8/2012 (firm),  MHP is located in section 7D of the campus map.
Final Exam   :   in GFS 116, 8am-10am, Tue, 5/8/2012 (firm).  GFS is located in section 5C of the campus map.
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.
Projects   :   (please also see important information about the class projects below.)
Participation   :   rules about rowcalls.
Homeworks   :   (2-4 homeworks will be assigned.)
Newsgroup   :   Google Group for discussing course materials and programming assignments. (This group is by invitation only.)
(in reversed chronological order)
  • 4/26/2012: 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 1 of lecture 17 on 3/6/2012) to the last slide of the lecture on 4/26/2012.

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

    • Queue management
      • Fair queueing & weighted fair queueing [Demers89a]
        • max-min fairness
        • arrival time
        • start time
        • finish time
      • DEC-bit [Ramakrishnan90a]
        • congestion notification
        • queue length
        • decision frequency
        • filtering
        • AIMD response
      • RED [Floyd93a]
        • random drop
        • threasholds
      • TCP friendliness [Floyd99b]
        • bandwidth equation
        • UDP
      • TCP throughput [Padhye98a]
        • bandwidth relationship with loss probabilities, segment size, and RTT
        • triple-dupack period
        • timeouts and limited advertised receiver window size
    • 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
    • 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
    • Multicast
      • IP multicast [Deering88b]
        • composed of a service model, IGMP, and multicast routing protocols
        • MBone and tunnels
      • DVMRP, MOSPF
        • flood and prune in DVMRP
        • receivers floods in MOSPF
      • PIM [Deering96a]
        • shared tree vs. source tree
        • sparse mode vs. dense mode
        • core/center/rendezvous point
      • Single-source Multicast [Holbrook99a]
        • who can send
        • addressing
      • Scalable Reliable Multicast [Floyd97c]
        • sender reliable vs. receiver reliable error detection
        • NACK implosion
        • retransmission
    • Class project
      • Final project

  • 3/31/2012: Office hour this coming Monday (4/2/2012) will only be half an hour long (2:00pm to 2:30pm). Sorry about the inconvenience.

  • 3/1/2012: 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 Lecture 16 on 3/1/2012.

    Regarding what types of questions will be on the midterm, please see the Exams section of the course description.

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

    • Networking basics
      • addressing
      • 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
        • client state sequence
        • server state sequence
        • window flow control
        • TCP extensions
          • timestamp
          • large windows
      • congestion control (includes part of [Ramakrishnan90a])
        • congestion collapse
        • congestion control vs. congestion avoidance
        • fairness
        • efficiency
        • stability
      • 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
      • TCP Security and performance issues
        • SYN floods
        • SMURF attacks
        • high bandwidth-delay networks

  • 2/21/2012: Office hour tomorrow (Wed, 2/22/2012) has been moved to 2:30pm - 3:00pm. Sorry about the inconvenience.

  • 1/4/2012:
    • Registering with the class mailinglist is required for this class because you must get your port number assignments. This is not the same as the class discussion Google Group. You will be receiving programming assignment and exam scores through this list via individual e-mails. If you have not done so, please visit the mailinglist page after the semester starts. (You do not have to be registered for the course to register with the class mailinglist.) In the registration confirmation e-mail, you will also get your user ID and password for accessing protected area of this web site.
    • Watch this area for important announcements.
Please note that the instructor has never and will never sign anything that says that you can waive any of the prerequisites below for a Master's student:
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 (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!


[Last updated Sat Sep 19 2020]    [Please see copyright regarding copying.]