Advanced Networking (Fall 2008)
Course: Advanced Networking (320471)
Instructor: Jürgen Schönwälder
Lectures:
Wednesday 09:45 - 11:00 West Hall 1
Friday 09:45 - 11:00 West Hall 1
Thursday 14:15 - 15:30 East Hall 1
Friday 14:15 - 15:30 East Hall 1
Start: September 3, 2008
Contents:

This course covers advanced networking concepts such as multimedia communication and content distribution. The course will cover voice over IP, related signaling and transport protocols, quality of service approaches (integrated and differentiated services), and multicast group communications. Some attention will be given to reliability and security aspects. Finally, the course will cover to some extend link-layer technologies such as MPLS and pure optical networks.

Course topics: IP Quality of Service (QoS), Transport Protocols (SCTP, RTP, DCCP), IP Multicast (routing, rmt), Voice over IP (SIP), Mobile IP, Measurements, Modeling and Simulation, Security (TLS, SSH, EAP), ATM and MPLS.

Course Materials:
Books: The following books are background reading material covering primarily fundamentals which this course builds upon. There is no primary text book. This course requires to study research papers and specifications coming from different sources.
  • A.S. Tanenbaum, "Computer Networks", 4th Edition, Prentice Hall, 2002
  • W. Stallings, "Data and Computer Communications", 6th Edition, Prentice Hall, 2000
  • C. Huitema, "Routing in the Internet", 2nd Edition, Prentice Hall, 1999
  • W.R. Stevens, "TCP/IP Illustrated Volume 1: The Protocols", Addison Wesley, 1994.
  • D. Comer, "Internetworking with TCP/IP Volume 1: Principles Protocols, and Architecture", 4th Edition, Prentice Hall, 2000
  • J.F. Kurose, K.W. Ross, "Computer Networking: A Top-Down Approach Featuring the Internet", 3rd Edition, Addison-Wesley 2004.
Links:
Schedule:

The table below is outdated and needs to be redone!

DateDateTopics
2008-09-03 2008-09-05 Introduction
2008-09-11 2008-09-12 Internet Multicasting (IGMP, DVMRP, MOSPF, PIM)
2008-09-18 2008-09-19 New Transport Protocols (SCTP, DCCP)
2008-09-25 2008-09-26 Internet Quality of Service (IntServ, RSVP, DiffServ)
2008-10-02 2008-10-03 Multimedia Transport and Signaling (RTP, RTCP, SIP)
2008-10-09 2008-10-10 Lab Sessions
2008-10-16 2008-10-17 Voice over IP
2008-10-23 2008-10-24 Mid-Term Examination
2008-10-30 2008-10-31 Mobility (MIPv4, MIPv6, Link-Layer Handovers)
2008-11-06 2008-11-07 Label Switching (ATM, MPLS, LDP, GMPLS)
2008-11-13 2008-11-14 Network Management (SNMP)
2008-11-20 2008-11-21 Network Management (NETCONF)
2008-11-27 2008-11-28 Traffic Measurement (NetFlow / IPFIX)
2008-12-04 2008-12-05 Review and Exam Preparation
Grading:

The final grade is made up of the mid-term exam (30 %), homeworks (20 %), mini-projects (20 %), and the final exam (30 %). Homework solutions must be submitted individually and on paper. It is required to submit the solution for programming problems electronically and on paper to the instructor. Late submissions after the deadline will be penalized. For every hour late, you will loose 10% of the points. We account an additional bonus of 15 minutes for electronic submissions (you know how well email sometimes works). This means, a solution received 01:15 late will loose 10%, a solution received 02:15 late will loose 20% and so on. If we receive more than one submission, we will pick the last one.

The overall percentage will be converted into Jacobs grades as follows:

PercentageGradeDescription
[95-100]1.00Excellent
[90-95)1.33Very Good
[85-90)1.67Very Good
[80-85)2.00Good
[75-80)2.33Good
[70-75)2.67Satisfactory
[65-70)3.00Satisfactory
[60-65)3.33Satisfactory
[55-60)3.67Sufficient
[50-55)4.00Sufficient
[45-50)4.33Sufficient
[41-45)4.67Failing
[ 0-40)5.00Failing

Any programs which have to be written will be evaluated based on the following criteria:

  • correctness including proper handling of error conditions
  • proper use of programming language constructs
  • clarity of the program organization and design
  • readability of the source code and any output produced

The policy on makeup quizzes and exams is the following: To be able to get a makeup, you have to either (a) have an official excuse from the registrar's office or (b) approach me well in advance of the quiz/exam with a very good reason for not being able to participate (e.g., because you take a GRE computer science subject test at the day of a quiz). Furthermore, I require that people take action to immediately contact me when they return to campus so that we can fix a date for the makeup. Once a week has passed, I do not feel obliged to offer a makeup anymore.

Assignments:
Exams:
  • Midterm Exam (closed book) (2008-10-24 14:15)
  • Final Exam (oral) (2008-12-08)
Projects:
  • SNMP trace replay (Sorin Stancu Mara)

    We have access to several real-world SNMP traces. Write a program to replay the traces in some existing network simulators or visualization tools (ns2 would be cool but may not be feasible without some innovative ideas, there might be other tools). The goal is to display the interaction dynamics.

  • tcp congestion control identification (Seyed Shams Feyzabadi)

    Write a program which aims to identify which congestion control mechanism is used by a remote TCP (or SCTP or DCCP) engine. The idea is to generate a stream of packets to trigger a congestion reaction on the remote end and to analyse the response. This likely requires some statistical analysis on a wide area link but for the start it is good enough if this reasonably works on a campus network.

    See also TBIT.

  • normalization of regular expressions (Elena Digor)

    Regular expressions are frequently used in data modeling languages and it should be investigated which algorithms are available to minimize / normalize regular expressions (or the corresponding finite state machines).

  • parallel SVD using MPI (Consuela Voevudschi)

    Search engines often rely on singular value decomposition (SVD) of large matrices. The goal of this project is to implement a parallel SVD algorithm on top of the message passing interface (MPI).

  • ssh session resumption for libssh (Siarhei Kuryla)

    Create an SSH session resumption implementation as part of libssh. We have an implementation based on the openssh code base and it would be nice to have a second one based on the libssh code base.

  • using sctp streams for ssh channels (Stefan Anca)

    SSH supports multiple channels multiplexed over a single TCP stream. Since SCTP supports independent streams on the transport protocol level, investigate whether it is possible to adapt SSH to map SSH channels to SCTP streams. This might involve to research on other secure transports for SCTP.

  • disruption tolerant networks in ns2 (Sehgal Anuj)

    The aim of this project is to implement a simple protocol that exchange beacons among wireless nodes in ns-2. This project requires to get familiar with the C++ layer of ns-2. The context of this work are Disruption Tolerant Networks (DTNs) where data forwarding follows a store-and-forward principle. [Iyad]

  • buglook communication improvements (Kaloyan Kanev)

    Buglook, a crawler and search engine for bug tracker, has a problem in communicating among daemons using Twisted Matrix; i.e., connections get timeout randomly. He reimplemented a simple socket for the query daemon and got the problem fixed (as Georgi reported), we can ask students to help other daemons. [Ha]

  • NETCONF interoperability testing (Nikolay Melnikov)

    The NETCONF protocol is a relatively new protocol for configuring devices. We are working on a test suite and your task would be to help with the creation of test cases and the evaluation of NETCONF devices and the NETCONF specification. [Ha]

  • traffic or flow trace visualization (Petar Dobrev)

    Visualize traffic or flow traces by feeding data into graph and visualization libraries. Some candidates:

    The result might also be an experimental evaluation of some libraries and tools for network trace visualization purposes. [Juergen]