CS619: Advanced Computer Networking
Fall 2004
Instructor: Paul
Francis
4108 Upson, x5-9223
office hours Tues 1:45 - 2:45, Thurs 11:00 - 12:00
TA: Manpreet
Singh, Upson 338 Phone: x5-7987
Manpreet's office hours are TBD
Classes: Tuesdays and
Thursdays, 2:55 - 4:10PM; HO368
Course discussion mailing list (click
here to join): cs619-l@lists.cs.cornell.edu
Course staff mailing list: cs619-staff-l@lists.cs.cornell.edu
Grading will be
posted on CMS: http://cms2.csuglab.cornell.edu/
CS 619 an advanced computer networking course targeted towards both
graduate students and advanced non-graduate students. By and large the
course operates as any "seminar" course, in that the lectures consist
of presentations by the students themselves. The topics, however,
represent practical aspects of networking, covering both "fundamentals"
(advanced topics that are no longer hot research items per se, but
should be understood by researchers) and important "hot topics"
(current research topics). Morever, CS619 borrows from both the
research literature and the
IETF standards and operations
literature. This is important because certain advances in
networking that occur outside the research community are never-the-less
intelletually compelling. It is also important for researchers
who wish to do relevent work to understand what happens in the IETF and
the operational communities (i.e. NANOG, RIPE, WIDE).
In order to accomodate both graduate and non-graduate students, CS619
offers two tracks of study, a research
track and (for lack of a
better term) a non-research track. Both
tracks require a substantial implementation project. In the
research
track, however, the project will be executed in the style of
research---the student must write a survey paper, and must write a
peer-reviewed research paper (i.e. one that positions the paper among
current literature) describing the project. The peer review is
done by the students themselves. Non-research track students must
produce a project report, but not a research paper per se. In
lieu of a research report, non-research track students must do an
additional mini-project.
The research track is ideal for early graduate students who are looking
for a field of study and want the experience of surveying an area
within networking and "doing research", albiet in the small. The
non-research track is better for students, grad or otherwise, who want
project experience and an advanced understanding of networking.
Either way, all students must
declare
which track they will take by 9/7 and may not change
afterwards. The following table summarizes the requirements for
the two tracks:
|
Research
Track
|
Non-
research
Track
|
Due
Date
|
Comments
|
Read
Papers
|
X
|
X
|
Before each class
|
This is a critical aspect of the
class, without which you will gain little from the class. Not only
must you read the papers, but prior to each class you must email the
staff (cs619-staff-l@lists.cs.cornell.edu) two paragraphs
discussing the contributions and at
least
one major weakness of each of the two papers (one paragraph for each
paper). In addition, I may post a question or two on the website
that you must additionally answer. |
Class
Discussion
|
X
|
X
|
|
Lively class discussion is
important, and will factor into your grade!
|
Present
a Paper
|
X
|
X*
|
|
Each lecture will
consist of a formal presentation, and is
expected to go into considerable depth by focusing on some aspect of
the
material and treating it thoroughly.
We’ll
be using Powerpoint slides (we'll make the slides available on the
web).
A presentation will normally last perhaps 30 to 45 minutes. (Each
presenter is required to meet with either me or the TA before class in
order to
discuss the slides.) The lecture period will be followed by a
broader discussion that I’ll
lead (or the TA should I not be able to make class).
During the discussion following each presentation, we’ll try to
understand the broader context and importance of each result. All
students in the class are
expected to participate. |
TCP Proj
|
X
|
X
|
9/23
|
The goal of this project is to
determine how breaking TCP's E2E reliability semantics effects real
applications. Each student will analyze one
application. The project is described here.
|
Choose
Area
|
X
|
|
9/7
|
Students in the research track
must pick an area of interest by this time (i.e. BGP performance,
reliable multicast). Students must also commit to one track or
another by this time.
|
Survey
Paper
|
X
|
|
9/23
|
Do a literature survey, and
write a short survey
paper (2-3 pages) describing the literature in the area you have
selected.. |
Choose project
|
X
|
X
|
9/28
|
For the research track, you must
describe the topic of your research (including of course the results
you plan to
produce and how you will produce them). The research must have a
project component. For the non-research
track, you must describe your
project. You must discuss these with me before this due date.
The project may be an implementation, a measurement study, a
simulation, or any combination of these.
|
Initial
Research
Paper
|
X
|
|
11/9
|
This initial full paper has to
conform to the format and submission rules used by ACM Sigcomm, which is the
major
conference in this
area.
Many of the papers we’ll be
reading were originally published in this conference. Tips
on preparing a paper appear appear here. |
Initial
Project Prototype
|
|
X
|
Non-research track students must demo a
prototype of their project by this date. The idea here is that
you'll have a full month to correct faults and do performance testing.
|
Peer
Review
|
X
|
|
11/16
|
The students in the research
track will peer review each other's papers. This review will be
double blind. The reviews of your paper will not contribute to
your grade. However, the quality of your reviews of other papers
will contribute to your grade.
|
Demo Project
|
X
|
X
|
11/29 - 12/3
|
All students must demo their
project during this week. I will post a first-come-first-serve
sign-up sheet on 11/22 for a demo slot. Students must submit
copies of their software on the day of their demo.
|
Final
Research
Paper
|
X
|
|
12/2
|
Revise the research paper based
on the reviews. Also, write a rebuttal of the reviews.
|
Project
Report
|
|
X
|
12/2
|
Write a project report.
While not a research paper per se, this report should never-the-less
succintly describe what problem is being solved, how it is solved, and
must include a thorough performance evaluation.
|
* Non-research track students may have to present a paper if
there are not enough research track students. The goal is that no
student presents more than once.
Grading
The following should be treated as a
rough guideline. I reserve the right to increase or decrease your
overall grade by as much as 10% based on "intangibles".
Research Track
|
Non-research Track
|
- 10% Paper summaries
- 10% Class presentation and participation
- 10% Mini-project 1
- 10% Survey paper
- 15% Project
- 15% Final paper, first pass
- 10% Review of papers
- 20% Final paper + rebuttal, second pass
|
- 10% Paper Summaries
- 10% Class participation and presentation
- 10% Mini-project 1
- 15% Mid-term Project
- 40% Final Project
- 15% Project Report
|
Prerequisites
This course assumes a solid
understanding of computer networking basics, particularly TCP, IP and
addressing, and routing. An undergraduate networking course
equivalent to CS419 (formerly CS519), or equivalent experience, is
required.
Other
Details
Interactions
between students: Student interaction is allowed and
encouraged. You may discuss the papers and projects with each
other, and use the course mailing list (cs619-l@lists) is provided to
facilitate this discussion. However,
all turned in materials, including
reports, emails, and software, must be authored by you. Research
track students must particularly avoid plagerism and "cooked"
(falsified) data in your research papers. Both of these are
professionally unethical and can destroy your research career---I
consider them way worse than cheating. If portions of your
software are from the public domain, please note this in your write-ups
and your software comments. If your projects contain significant
ideas or contributions derived from discussions with other students,
these must be acknowledged.
Mailing
lists: All materials will be handed-in via email, to
cs619-staff-l@lists. Class discussion as well as announcements
from the staff will be posted to cs619-l. You must join this
latter list yourself.
Machines:
For heavy simulations, you can use any of <linus, schroeder,
sally, joecool, marcie, redbaron>.csuglab.cornell.edu. You can
access these from off campus (or on) with ssh, provided you have a CSUG
account.
Lecture Syllabus:
- Th 8/26, Class Introduction,
Presenter: Paul
- Tu 8/31, Transport: TCP,
Presenter: Manpreet Singh
(Slides)
- Required reading:
- Suggested reading:
- Th 9/2, Transport: High
Speed TCP,
Presenter: Manpreet Singh
(Slides-part1) (Slides-part2)
- Required reading:
- C. Jin, D. X. Wei and S. H. Low, "FAST TCP: motivation,
architecture, algorithms, performance" , IEEE Infocom, March 2004
- D. Katabi, M. Handley, C. Rohr, "Congestion
Control for High Bandwidth-Delay Product Networks", ACM
Sigcomm 2002
- Suggested reading:
- Tu 9/7, Internet
Architecture:
Original E2E
Principle and Internet Design, Presenter: Nazrul Alam
- Required reading:
- Suggested reading:
- Th 9/9, Internet
Architecture: Post-modern
E2E Principle (and lack thereof),
Presenter: Amit Shelawala
- Required reading:
- Suggested reading:
- Tu 9/14, Transport:
Protocol enhancement on challenged networks, Presenter: Gei-Tai Lin
- Required
reading:
- R. Chakravorty, S. Banerjee, P. Rodriguez, J.
Chesterfield, I. Pratt, "Performance
Optimizations for Wireless Wide-Area Networks: Comparative Study and
Experimental Evaluation," in ACM MobiCom 2004, Philadelphia. Sept
2004
- J. Border, M. Kojo, J. Griner, G. Montenegro, Z. Shelby, "Performance
Enhancing Proxies Intended to Mitigate Link-Related Degredations,"
RFC3135, June 2001
- Suggested reading:
- H. Balakrishnan, V. Padmanabhan, S. Seshan, and R.
Katz, "A Comparison of
Mechanisms for Improving TCP Performance over Wireless Links",
IEEE/ACM Transactions on Networking, 5(6): 756-769, December 1997
- All the RFCs listed here (http://www.ietf.org/html.charters/pilc-charter.html)
- D.C. Feldmeier, A.J. McAuley, J.M. Smith,
D.S. Bakin, W.S. Marcus, T.M. Raleigh, "Protocol Boosters,"
IEEE Journal on Selected Areas of Communication, Vol.
16, No. 3, April 1998
- Th 9/16, Internet
Architecture:
NATs and what to do about them, Presenter: Saikat
Guha
- Required
reading:
- Suggested reading (this is background reading for the required
reading):
- J. Rosenberg, J. Weinberger, C. Huitema, R. Mahy, "STUN - Simple Traversal of User Datagram
Protocol (UDP) Through Network Address Translators (NATs), " IETF
RFC 3489, March 2004
- P. Srisuresh, K. Egevang, "Traditional
IP Network Address Translator (Traditional NAT)," RFC 3022, Jan.
2001
- D. Sisalem, J. Kuthan, "Understanding
SIP", GMD Fokus Tutorial (slides 24 - 51), undated
- Tu 9/21, Internet
Architecture:
Tunnels, Presenter: Paul Francis
- No required reading this week.
- Th 9/23, QoS:
What went wrong?,
Presenter: Grant Goodale
- Required
reading (selected papers from the Sigcomm 2003 RIPQOS workshop):
- J. Crowcroft, S. Hand , R. Mortier, T. Roscoe, A. Warfield, "QoS`s Downfall: At the bottom, or
not at all!," ACM Sigcomm RIPQOS Workshop, August 2003
- B. Davie, "Deployment
Experience with Differentiated Services," ACM Sigcomm RIPQOS
Workshop, August 2003
- B. Teitelbaum, S. Shalunov, "What QoS Research Hasn`t
Understood About Risk," ACM Sigcomm RIPQOS
Workshop, August 2003
- Suggested reading:
- Tu 9/28, QoS: Queuing, Presenter:
Adam Berlinsky-Schine
- Required
reading:
- Suggested reading:
- Th 9/30, Network
Measurement:
Measuring the path, Presenter: Xinyang Zhang
- Required
reading:
- N. Hu, L. Li, Z. Mao, P. Steenkiste, J. Wang, "Locating Internet Bottlenecks:
Algorithms, Measurements, and Implications," Sigcomm 2004
- R.
Mahajan, N. Spring, D. Wetherall, T. Anderson, "User-level Internet Path Diagnosis,"
SOSP 2003
- Suggested reading:
- Tu 10/5, Network
Measurement:
Measuring the network, Presenter: YeeJiun Song
- Required
reading:
- S. Savage, A. Collins, E. Hoffman, J. Snell and T. Anderson,
"The End-to-end Effects of Internet
Path Selection", SIGCOMM 99
- J. Jung, E. Sit,
H. Balakrishnan, R. Morris, "DNS
Performance and the Effectiveness of Caching," ACM SIGCOMM
Internet Measurement Workshop, 2001
- Suggested reading:
- Th 10/7, Network
Measurement:
Understanding BGP, Presenter: Hitesh Ballani
- Required
reading:
- A. Feldmann, O.
Maennel, Z. M. Mao,
A. Berger, B. Maggs, "Locating
Internet Routing Instabilities," SIGCOMM 04
- J. Rexford, J.
Wang, Z. Xiao, and Y. Zhang, "BGP Routing
Stability of Popular Destinations," Internet Measurement Workshop
2002, November 2002
- Suggested reading:
- L. Wang, X. Zhao, D. Pei, R. Bush, D. Massey, A. Mankin, S.
F. Wu, L. Zhang, "Observation and
Analysis of BGP Behavior under Stress," Internet
Measurement Workshop 2002, November 2002
- Tu 10/12, Fall Break
- Th 10/14, Security:
User Authentication, Presenter: Paul Francis
- Required
reading:
- Suggested reading:
- Tu 10/19, Traffic
Engineering:
Within an ISP, Presenter: Douglas
Chan
- Required
reading:
- B. Fortz, J. Rexford, and M. Thorup, "Traffic engineering with traditional
IP routing protocols," IEEE Communication Magazine, October 2002
- X. Xiao, A. Hannan, B.
Bailey, and L. Ni, "Traffic engineering
with mpls in the internet," IEEE Network Magazine, Mar 2000
- Suggested reading:
- D. Awduche, A. Chiu, A. Elwalid, I. Widjaja, X. Xiao, "Overview and Principles of Internet
Traffic Engineering," RFC3272, May 2002
- B.Fortz, M. Thorup, "Internet
Traffic Engineering by Optimizing OSPF Weights," IEEE Infocom
2000
- Th 10/21, Routing and
Addressing:
Host Identification and mobility, Presenter: Venu Ramasubramanian
- Required
reading:
- R. Moskowitz, P. Nikander, P. Jokela, T. Henderson, "Host Identity Protocol,"
IETF HIP working group,
http://www.ietf.org/html.charters/hip-charter.html, June 2004, Required reading pages 1 - 24 only
- P. Nikander, J.
Arkko, T. Aura, G. Montenegro, E. Nordmark, "Mobile IP version 6
Route Optimization Security Design Background," IETF Mobility for
IPv6 WG, http://www.ietf.org/html.charters/mip6-charter.html,
July 2004
- Suggested reading:
- Tu 10/26, Routing and
Addressing: Multihoming, Presenter: Hong
Tat Tong
- Required
reading:
- Suggested reading:
- Th 10/28, Traffic
Engineering: Network Geometry and Design, Presenter: Alan
Shieh
- Required
reading:
- L. Li, D.
Alderson, W. Willinger, J.
Doyle, "A
First-Principles Approach to Understanding the Internet's Router-level
Topology,"
SIGCOMM 04
- D. Maltz, G.
Xie, J. Zhan, H. Zhang, G. Hjalmtysson, A. Greenberg, "Routing Design in Operational
Networks: A
Look from the Inside," SIGCOMM 04
- Suggested reading:
- Tu 11/2, Security:
DDoS, Presenter: Grant Goodale
- Required
reading:
- Suggested reading:
- J. Mirkovic, P. Reiher, "A
taxonomy of DDoS attack and DDoS defense mechanisms," ACM SIGCOMM Computer Communication Review, Volume 34 , Issue 2 (April 2004)
- D.
Andersen, "Mayday: Distributed
filtering for Internet services," USITS, Seattle, WA, 2003
- Th 11/4, Security:
Worms, Presenter: A. J. Fink
- Required
reading:
- D. Moore, V. Paxson, S. Savage, C. Shannon, S. Staniford and
N. Weaver,
"Inside the Slammer Worm,"
IEEE Security and Privacy, 1(4):33-39, July 2003
- N. Weaver, S. Staniford and V. Paxson,
"Very Fast Containment of Scanning
Worms," Proc. USENIX Security Symposium, August 2004
- Suggested reading:
- Tu11/9, Grad Student Talks, Presenters:
Hitesh Ballani and Joy Zhang
- Th 11/11, Router
Architecture: Efficient Algorithms, Presenter: Sandhya Dasu
- Required
reading:
- Suggested reading:
- Tu 11/16, Multicast:
Classic IP multicast, Presenter: Fan Yang
- Required
reading:
- S. Deering, D. Estrin,
D. Farinacci, V. Jacobson, C. Liu, L. Wei, "The PIM Architecture for Wide-Area
Multicast Routing", IEEE/ACM Transactions on Networking,
April 1996
- H. Holbrook, D. Cheriton, "IP
Multicast Channels: Express Support for Large-scale Single-source
Applications," ACM Sigcomm 99
- Suggested reading:
- Th 11/18, Multicast:
Reliable, so-called, Presenter: Jason Woodward
- Required
reading:
- J. Gemmell, T. Montgomery, T. Speakman, N. Bhaskar, J.
Crowcroft, "The PGM Reliable
Multicast Protocol,"
- J. Byers, M. Luby,
and M. Mitzenmacher, "Accessing
multiple mirror sites in parallel: Using
tornado codes to speed up downloads," in INFOCOM 99, Apr. 1999
- Suggested reading:
- Floyd, S., Jacobson, V., Liu, C., McCanne, S., and Zhang, L.,
"A Reliable Multicast Framework for
Light-weight Sessions and
Application Level Framing,"
IEEE/ACM Transactions on Networking, December 1997, Volume 5,
Number 6, pp. 784-803
- Tu 11/23, Multicast:
Overlays, Presenter: Eli G
Rosofsky
- Required
reading:
- Suggested reading:
- Th 11/25, Thanksgiving
Break
- Tu 11/30, Media:
Signalling, Presenter: Saikat
Guha
- Required
reading:
- Suggested reading:
- Th 12/2, Just for fun, Presenter:
Nazrul
Alam
- Required
reading:
- The remainder of the class will be used for discussion of the
course itself.
How
to prepare a CS619 presentation
See Ken Birman's description
at the bottom of his CS614 course
description. (Except that his suggestion of up to 30-35 text
slides and 10-15 picture slides for a 45-minute talk seems excessive to
me!)
Credits: This course used
the structure of Ken Birman's CS614 as its starting point, and much of
the course description is cut-and-paste directly from his CS614 course
description. Suggestions for the syllabus come from Bruce Davie,
Jim Kurose, Vern
Paxson, Jennifer Rexford, Pablo Rodriguez, Manpreet Singh, George
Varghese
Last Updated:
8/25/04