Computer Communications - CSCI 551, Fall 2010, MW Afternoon Section

General Information
Time   :   MW 12:30pm - 1:50pm 
Location : OHE 136
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 #1   :   Leslie Cheung, E-mail: <>, Office Hours: MW 4pm - 5pm in PHE 316
TA #2   :   Bo-Chun Wang, E-mail: <>, Office Hours: (none)
Grader   :   Ashish Joshi, E-mail: <>(The grader will hold office hours the week after the announcement of each assignment's grades.)
Midterm Exam   :   during class time in GFS 106, Wed, 10/20/2010 (firm),  GFS is located in section 5C of the campus map.
Final Exam   :   11am-1pm, Fri, 12/10/2010 (firm)
in OHE 100B if your nunki login ID begins with letter a through k
in OHE 132 if your nunki login ID begins with letter n through x
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)
  • 12/4/2010: 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 23 of lecture 16 on 10/18/2010) to the last slide of the lecture on 12/1/2010. There will be no questions on the topic of BGP delayed convergence [Labovitz00a]. 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 covered (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
      • TCP Security and performance issues
        • SYN floods
        • SMURF attacks
        • high bandwidth-delay networks
    • Queue management
      • Fair queueing & weighted fair queueing [Demers89a]
        • arrival time
        • start time
        • finish time
      • DEC-bit [Ramakrishnan90a]
        • congestion notification
        • queue length
        • decision frequency
        • filtering
        • AIMD response
      • 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
    • 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

  • 10/28/2010: The statistics for Midterm Exam are:
             Count = 47
               Avg = 56.36
            StdDev = 13.03
               Max = 78.50
               Min = 32.00
           1 78+ X
           3 75+ XXX
           4 72+ XXXX
           0 69+ 
           3 66+ XXX
           5 63+ XXXXX
           6 60+ XXXXXX
           2 57+ XX
           4 54+ XXXX
           2 51+ XX
           4 48+ XXXX
           2 45+ XX
           2 42+ XX
           2 39+ XX
           4 36+ XXXX
           2 33+ XX
           1 30+ X
    Please read the following carefully!

    The TA (Bo-Chun Wang, <>) graded your exam. The exam will not be returned back to you. If you would like to discuss your exam, please make an appointment with the TA for a 15-minute timeslot for the following four days:

            Tuesday, 11/02/2010: 11:00am-1:00pm, in SAL 322
          Wednesday, 11/03/2010: 11:00am-1:00pm, in SAL 322
           Thursday, 11/04/2010:  3:30pm-5:00pm, in SAL 322
    If you are not available during the above time frame, please make an appointment. The deadline for discussing about your exam will be 11/23/2010 (right before the Thanksgiving holiday).

    Please remember that the coverage between the midterm and final exams will not overlap. So, if the only reason you want to discuss your midterm exam is because you are concerned that the same problem will be asked in final exam, then you really don't need to discuss your midterm exam!

    Here are some important rules:

    1. You must have an exam appointment in order for you to see and discuss your exam. This applies even during the TA's office hours.

    2. Also, if you make an appointment and do not show up, and do not cancel 30 minutes before your appointment, the TA will not give you another appointment to discuss your exam. I'm sorry to have to be so strict with this. But we've been stood up by students too many times!

    3. When you make an appointment, please e-mail at least two time slots for the TA to choose from. Once the TA and you have agreed on a time slot, you must either come to the appointment or cancel it 30 minutes before the appointment in order to reschedule.

    4. Finally, if you need to go beyond your scheduled timeslot to finish looking at your exam, you must make another appointment. And to be fair to everyone, the maximum number of appointment you may have to discuss your exam is two.

    The TA have applied one standard to all exams. If he has made a mistake, he will change your score. But if he did not make a mistake, there is no point arguing that you should have gotten 1.5 points here instead of 0.5 point. Everyone got the same number of points for answering the same way. And please remember, better answers may receive more points. And please always be courteous and professional.

    I always get question regarding class letter grade at this time. At the end of the semester, after all the scores are in, I will plug in all your scores in the equation given on the course description web page and computer your overall score and plot everyone on the same curve. Around the class average is a grade of B+. Please do not expect an A just because you do very well in the programming assignments.

  • 10/16/2010: 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 15 on 10/13/2010 (includes materials from part of [Ramakrishnan90a]). For [Ramakrishnan90a], you will only be responsible for part of it covered under TCP congestion control (fairness and efficiency) and not under queue management (DEC-bit). BGP delayed convergence [Labovitz00a] will not be included in the midterm.

    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
      • 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
    • 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

  • 8/29/2010: Office hour on Monday, 8/30/2010, has been canceled. Sorry abou the inconvenience.

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.]