Course proposed by: Teunis J. Ott
Date Proposed: Fall 2004
Departmental Approval and Date:
Additional Approvals and Dates (if any):
Dean's Approval and Date:
Date to be presented to the Graduate Council:
Course Number: CIS786xxx , hopefully also ECE788yyy .
Title: Advanced Networking .
Credits: 3 credits.
Strong Performance in CIS 656, or in ECE 673, or permission of the instructor.
Some familiarity with C or with C++ (non-expert), considerable
C. Proposed Catalog Description
Students will learn how to implement changes in the TCP/IP protocol in the Linux Kernel (which is written in C). In addition, students will be exposed to recent developments in Networking, such as Split TCP, the Square Root Law for TCP, ECN, Differentiated Services, Heavy-Tailed Behavior, etc.
D. When will the course first be offered?
The course will be offered in the fall of 2004. It will be a ``Selected Topics'' course. As with the Fall 2002 QoS course, this course is likely to drastically change if taught again.
The purpose of the course is to expose advanced students to selected topics in computer networking of current interest in the research community.
While for several years many papers on modifications of TCP/IP could be published with only simulation studies to back them up, there is more and more an expectation of an actual implementation, usually in Linux.
The funding agencies are moving in the same direction.
The Linux code for TCP/IP is starting to take over the role of the BSD Unix implementation as the code accesible to academia.
In addition, ex-students of the instructor have informed him that more knowledge of actual implementation of TCP/IP would have been an advantage.
See previous item.
In addition, I have the experience that many students, even advanced students, have serious misconceptions about phenomena like Long Range Dependence. This course aims to prevent embarrasing situations for our students.
The course is intended for PhD students and advanced MSc students in Computer Networking.
Knowledge of C, or the ability to quickly pick up C, is necessary because the Linux Operating System is written in C. Knowledge of TCP/IP as covered in CIS 656 is required, this course will build on that knowledge.
3. Course Details
The detailed content will depend on the students. This is a Selected
I have not selected a textbook yet. If I do not find an appropriate textbook I will do without. See also my webpage (web.njit.edu/~ott , click on ``Advanced Networking, Fall 2004''). Students will read IETF RFCs on ECN and on DiffServ and on related topics, and research papers on ECN, the Square Root Law, Heavy Tailed Behavior, RED, the XCP Protocol, etc.
There will be three hours of lecture per week, plus an amount of lab work that will strongly depend on individual students.
Teunis J. Ott. Professor, CS, NJIT, will teach the course.
B. How often will it be offered? Will any existing course be deleted from the catalog in favor of this course?
This is expected to be a one-time offering. If a similar copurse is
taught again it will almost certainly be changed a lot.
This course does not take the place of any other course.
C. What cost is associated with introducing the course?
D. What space is required?
A classroom for the lecture.
The lab to be used already exists.
There is a presumption that no more than 20 students will register.
Lab space (number of linux computer available) is the binding constraint.
E. What new equipment is needed? What existing equipment is to be used? (Include computer and library needs).
Students will use the computers in the ``Internet Laboratory'', GITC 4325.
No extra computers will be purchased for this course.
F. What staff time is required? (Consider faculty, support staff, and graduate assistants).
One Professor (Teun Ott) plus one TA (to be named).
G. Estimated enrollment?
On the basis of project, class participation, and one exam.
I. At what graduate level will be course be offered: Master's,
Ph.D. or some intermediate level? What degree program or programs will
it apply to?
This course will aim at PhD level students and advanced MSc level students in
Computer networking, in CS as well as ECE, and other fields if there are
J. Will the course be offered by any non-traditional methods of delivery?
This will be a very traditional ``special topics'' type course:
Lectures, labs, projects, possibly a presentation by selected students.
K. Describe any unusual features of the course. Describe
any participation by outside experts or invited speakers.
The stress on the implementation of the protocols may be somewhat new.
L. Will the course be evaluated in any way?
There will be the usual course evaluation by students. I am open for
suggestions for other evaluations.
1 Use of tcpdump. The TCP/IP implementation in Linux.
2 Observing the TCP Congestion Window using tcpdump. The TCP/IP implementation in Linux.
3 Recompiling the Linux Kernel. A simple modification if TCP/IP.
4 RED and ECN. More on the TCP/IP implementation in Linux.
5 Differentiated Services and Integrated Services. . Leaky Buckets.
6 Differentiated Services and their implementation in Linux.
7 The Square Root Law for TCP.
8 Project: Compare theory and emperical evidence on congestion window evolution.
9 Long Range Dependence and Heavy Tailed behavior.
10 Heavy Tailed behavior and Stability of the Internet. (Why the Internet never collapsed).
11 Modification to the TCP protocol: Alternative ways of doing feedback.
12 Modifications of TCP: The XCP protocol.
13 More selected topics. E.g. Split TCP, TCP over satellite, etc.
14 Only 13 weeks in the fall semester. The schedule above probably already is to the ambitious side. At some point I plan to expose the students to ns, to a sufficient degree that they can analyze a TCP modification by simulation as well as implementation in Linux and emperical observation.