This is the Syllabus of the course NJIT CIS 786-105, Fall 2005, ``Special Topics: Advanced Networking''. Instructor: Teunis J. Ott Thursday 6:00 - 9:05 pm, in Kupfrian Hall 100. Much more information about this course can be found on Dr Ott's website, web.njit.edu/~ott , of course in particular in web.njit.edu/~ott/Adv.Netw and in web.njit.edu/~ott/Adv.Netw.F.05 . You can go there by copying any of these three URLs into your browser. Those files contain more information on content, projects, grading policy, etc. The prerequisite for this course is strong performance in CIS 656 or an equivalent course, and knowledge of a high level language (C, C++, or Java). The course involves making changes to the Networking code in the Linux kernel (Loadable Kernel Modules and/or recompiling the kernel). Since the kernel in written in C, knowledge of C is preferred, but students who know C++ or Java will have no trouble picking up enough C. It is recommended that students who have not had an OS course take one simultaneously with this course. Every student will become superuser on a computer in the Internet Lab. There are not enough computers: students will share. (Get the OS back in original shape when you go home for the night!) Every student will do, in addition to the homework, a class project. Must be ``a few days work''. Students are encouraged to invent their own project. Every student will give a 15 - 20 minute presentation on his/her project. Students should have chosen / be assigned a project no later than 10/12/2005. Homework will include making a change to the Networking code in the Linux kernel, observing the effects using tcpdump, and getting the kernel back into its original state. In addition to the Linux Kernel, students will be exposed to NS2 (Network Simulator 2, freeware from ISI). This has become a de-facto standard for simulations of the Internet. In addition, a number of theoretical topics will be covered. For books, homework, exams, grading, more detailed outline, additional information, see the webpages. Make sure to also read the pages for the Fall 2004 course in Advanced Networking. Make sure to get the password for the password protected pages. These contain material that may be published in a copyrighted form. Because this is advanced class, content is likely to deviate from the projection below. Requests by students for special topics will be taken seriously. Students will adhere to the NJIT honor code. Violations will be reported to the Dean of Students. Weekly schedule: 09/01/2005 week 1 TCPdump howto, FTP howto, NISTNET howto, explanation of first homework. 09/08/2005 week 2 The Networking code in Linux, Loadable Kernel Module howto. Recompiling the kernel. explanation of second homework. 09/15/2005 week 3 NS2, The Networking code in Linux, explanation of third homework. 09/22/2005 week 4 NS2, The Networking code in Linux. 09/29/2005 week 5 Linear Bounded Arrival Processes, Leaky Buckets, Policing and Enforcing, Service Level Agreements. (RFCs 1633, 2474, 2998, 3006, 3086, etc). Likely to spill into next week(s). 10/06/2005 week 6 NS2, the networking code in Linux. Virtual Clock based control mechanisms. Likely to spill into next week(s). 10/13/2005 week 7 Midterm NS2, the networking code in Linux. 10/20/2005 week 8 Integrated Services and Differentiated Serices 10/27/2005 week 9 Performance Analysis of TCP, the square root law, Explicit Congestion Notification. 11/03/2005 week 10 ``Fractal'' Traffic, Long Range Dependence, Heavy Tailed Behavior. 11/10/2005 week 11 Student presentations, Acive Queue Management. 11/17/2005 week 12 Student presentations, RED, SRED, and variations. 11/24/2005 no class 12/01/2005 week 13 Student presentations, 12/08/2005 week 14 Miscellaneous Topics 12/15/2005 Final Exam.