Proposal for a New Graduate Course

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:

1. Catalog Description A. Course Number, Title, Credits

Course Number: CIS786xxx , hopefully also ECE788yyy .

Title: Advanced Networking .

Credits: 3 credits.

B. Prerequisites

Strong Performance in CIS 656, or in ECE 673, or permission of the instructor.

Some familiarity with C or with C++ (non-expert), considerable problem-solving skill.

C. Proposed Catalog Description

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

  2. Purpose of the Course

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.

A. Why is the course needed?

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.

B. For whom is the course intended?

The course is intended for PhD students and advanced MSc students in Computer Networking.

C. Reason for prerequisites (or lack thereof)

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

      1. Course Outline (Attach outline including topics by week, examinations including the final examination, for a 15 week course; attach any additional information that is appropriate). (See item 5).
      2. The detailed content will depend on the students. This is a Selected Topics course.


      3. Textbooks and References
      4. I have not selected a textbook yet. If I do not find an appropriate textbook I will do without. See also my webpage ( , 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.


      5. Number of hours of lecture, recitation and laboratory per week.
      6. There will be three hours of lecture per week, plus an amount of lab work that will strongly depend on individual students.

      4. Course Mechanics A. Who can and will teach the course? How will the addition of this course impact current faculty loading? .

    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?

    In the ``QoS'' selected topics course in the fall of 2002 there were 21 students enrolled. (CIS and ECE together). The lab can handle at most 20 students. H. How will student performance and grades be determined?

    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 such students.

    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.

    5. Course Outline (15 week schedule)


    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.