|
|
Computer Communications -
CSCI 551, Spring 2011
|
|
General Information
|
-
Time |
: |
MW 12:30pm - 1:50pm
|
Location |
: |
OHE 132 |
Instructor |
: |
Bill Cheng
(for office hours, please see
instructor's web page),
E-mail:
<bill.cheng@usc.edu>.
(Please do not send HTML-only e-mails. They will not be read.)
|
TA |
: |
Bo-Chun Wang,
E-mail:
<bochunwa@usc.edu>,
Office Hours: (TBD)
|
Grader |
: |
Abhiram Gajjala,
E-mail:
<gajjala@usc.edu>.
(The grader will hold office hours the week after the announcement of each assignment's grades.)
|
Midterm Exam |
: |
during class time in SGM 101, Wed, 3/9/2011 (firm),
SGM is located in section 4B of the
campus map.
|
Final Exam |
: |
11am-1pm, Fri, 5/6/2011 (firm)
in SGM 101,
SGM is located in section 4B 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.)
|
|
|
News
|
(in reversed chronological order)
- 4/27/2011:
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 15 on 3/7/2011)
to the last slide of the lecture on 4/27/2011.
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 (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
- 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]
- 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]
- Peer-to-peer/Distributed Hash Table
- Freenet [Clarke02a]
- unstructured DHT system
- insertion
- search
- Chord [Stoica01a]
- structured DHT system
- finger table
- insertion
- search
- BitTorent [Yang04a]
- Integrated & Differentiated Services
- Integrated and differentiated services design issues [Shenker95a]
- Integrated services [Clark92a]
- guaranteed, predicted, and best effort services
- token buckets
- FIFO+
- Differentiated services [Clark98a]
- 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]
- 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]
- Scalable Reliable Multicast [Floyd97c]
- sender reliable vs. receiver reliable error detection
- NACK implosion
- retransmission
- Class project
- 3/21/2011:
The statistics for CS 551 Midterm Exam are:
Count = 65
Avg = 57.05
StdDev = 8.35
Max = 69.00
Min = 31.50
1 69+ X
10 66+ XXXXXXXXXX
9 63+ XXXXXXXXX
6 60+ XXXXXX
11 57+ XXXXXXXXXXX
8 54+ XXXXXXXX
6 51+ XXXXXX
4 48+ XXXX
4 45+ XXXX
3 42+ XXX
1 39+ X
1 36+ X
0 33+
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:
Monday, 3/28/2011: 2:00pm - 4:00pm, in SAL 112
Tuesday, 3/29/2011: 11:00am - 1:00pm, in SAL 112
Wednesday, 3/30/2011: 11:00am - 1:00pm, in SAL 112
Thursday, 3/31/2011: 10:00am -12:00pm, in SAL 112
If you are not available during the above time frame, please
make an appointment. The deadline for discussing about your
exam will be 4/22/2011 (the day Final Project Part (2) is due).
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:
- 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.
- 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!
- When you make an appointment, please first
check the
to see which timeslots are available.
Please then e-mail at least two timeslots for the TA to
choose from. Once the TA and you have agreed on a timeslot,
you must either come to the appointment or cancel it
30 minutes before the appointment in order to reschedule.
- 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.
If you are a remote student, you can discuss your exam with
the TA over the phone. Please send an e-mail to the TA to
make a 15-minute appointment outside of the above timeslots.
Unfortunately, the TA's office phone can only make local
calls, so you will need to call him at the time of your
appointment. He call tell you where you have lost points.
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.
So, just becaue you gave an answer that's technically
correct, you may not receive full credit. Finally, 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.
- 3/2/2011: [BC: updated 3/5/2011]
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 14 on 3/2/2011.
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
- 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
- 1/3/2011:
- Registering with the class mailinglist
is required for this class because you must get your port 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.
|
|
Prerequisites
|
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 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!
|
|
|