![]() |
Department for Electrical and Communications Engineering | Networking Laboratory |
The course Protocol Design addresses protocol architectures, principles, and protocol mechanisms from a general perspective reflecting experience and lessons learned in the IETF but also elsewhere. We will discuss considerations for design decisions in the early phase of protocol development for functional and non-functional requirements, i.e., address the phase in which the nature of a protocol is being decided (and the basic decisions for its suitability are made). We will also address the aspect of "fitness" for real-world deployment and implementation considerations. While we will also briefly touch upon design and code generation tools and their use, such usage and implementation methodologies come usually into play after the basic characteristics of a protocol have been defined.
The cource will combine lectures with theoretical assignments and practical coding assignments. The latter are meant to improve familiarity with protocol operation and implementation in a few selected areas. Coding assignments are to be done in small groups of three students.
The will not be a separate practical assignment course (similar to the earlier S-38.158).
The course will be jointly held by Prof. Carsten Bormann (visiting from Universität Bremen TZI) and Prof. Jörg Ott.
One of the objectives of having assignment 3 end at May 10 is to ensure that everybody arrives well-prepared to the exam on May 12 -- the work on the assignment is probably the best preparation possible.
However, as there were requests to reduce the workload in the exam period, we are modifying this in the following way: The hand-in on May 10 needs to cover only one of the two protocols in detail. A final version, due on May 24, needs to cover both protocols in detail (and can contain further refinements on the discussion of the one protocol already covered in the May 10 version).
Lectures will be held: Tuesday 14-16 (S2) and Thursday
12-14 (S2).
Exercises will be held: Thursday 14-16 (E111).
Exercise dates may be used for lectures if a need arises as we proceed.
The lectures, exercises, and the exam will in English language.
To pass the course, all coding assignments (practical coding plus written motivation and documentation) and the theoretical assignments must be completed. There will be no separate grades on the coding parts but working code is required to pass (and doing the exercises is likely to help understanding for the written exam as well).
The result of the theoretical assignment parts will be added to the points achieved in the written exam to yield the final grade.
This time table is meant as a rough outline of the course contents. Details are subject to change.
Week | Tuesday 14-16 (L) | Thursday 12-14 (L) | Thursday 14-16 (E) |
---|---|---|---|
11 (13.03.-17.03.) |
Introduction, Administrivia
Aspects of Protocol Design |
State sharing and reliability |
Coding for Communication Applications
Assignment 1 |
12 (20.03.-24.03.) | IETF break | IETF break | IETF break |
13 (27.03.-31.03.) | Scalability | Resource consumption & fairness | Protocol monitoring and debugging tools |
14 (03.04.-07.04.) | Protocol syntax and encoding 1 | Protocol syntax and encoding 2 | Assignment 2 |
15 (10.04.-14.04.) | Security 1: Robustness | Security 2: Protocol design techniques | Remarks on first assignment |
16 (17.04.-21.04.) | Design for and living with intermediaries | Interoperability, evolvability | Assignment 3: Protocol analysis |
17 (24.04.-28.04.) | Internet design principles | Real world aspects | Special considerations for networks |
18 (01.05.-05.05.) | Financial and political layer |
Case studies and some future asepcts
in protocol design |
Exam hints, Q&A |
19 (08.05.-12.05.) | Exam 13-16 (S3) |
ruby udppipe.rb -l 12343 -c localhost:12347 -d 0.5 -b 100 &
The lecture material (slides) will be available in digital format (PDF) from this web page. We will also provide pointers to various articles for further study.