Helsinki University of Technology Department for Electrical and Communications Engineering Networking Laboratory

S-38.3157 Protocol Design

Overview

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 course will be jointly held by Prof. Carsten Bormann (visiting from Universität Bremen TZI) and Prof. Jörg Ott.

Announcements

Support

For questions concerning the course, please use the Newsgroup opinnot.sahko.s-38.tietoverkkotekniikka or send mail to

Lectures and exercises

Lectures will be held: Tuesday 14 - 16 (S2) and Thursday 12 - 14 (S2).
Exercises will be held: Thursday 14 - 16 (E110)

The next exam will be on 10.05.2007, 13-16, S3. Don't forget to REGISTER

The lectures, exercises, and the exam will in English language.

Requirements and grading

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.

Tentative Time Table

Period IV 12.3 - 4.5.2007

Week Tuesday  14-16 S2 Thursday 12-14 S2 Thursday 14-16 E110
11 (12.3. - 16.3.) Introduction, Administrivia
Aspects of Protocol Design
State sharing and reliability Assignment 1: fip
12 (19.3.-23.3.) Coding for Communication Applications
(C/C++ and Java)
IETF break IETF break
13 (26.3.-30.3.) Scalability Resource consumption and fairness Protocol monitoring and debugging tools
14 (2.4.-6.4.) Protocol syntax and encoding 1 Easter holidays Easter holidays
15 (9.4.-13.4.) Easter holidays Protocol syntax and encoding 2 Assignment 2
16 (16.4.-20.4.) Security 1: Robustness Security 2: Protocol design techniques Security 2: Protocol design techniques
17 (23.4.-27.4.) Design for and living with intermediaries
End-to-middle signaling
Interoperability, evolvebility Real world aspects
Assignment 3: Internet Design Principles
18 (30.4.-4.5.) Vappu Financial and Political Layer
Think different: further aspects in protocol design
Internet Protocol Design; 12 Networking Truths
Exam hints, Q&A
Exam on Thursday 10.5. 13-16 (S3)


Assignments

The ruby program udppipe is available here. An updated version supporting variable error patterns will be posted here shortly.

The version with dynamic error patterns is now available here. See also notes below.

Notes

Assignment 2 Theory: Document some of the aspects (possibly no more than five) you have found from the specification of your peer group.

Assignment 2 Practice: You do not have to read your peer group's source code. And, again, you do not have to address all possible attacks, nor successfully break it. Launch a couple (3-5) of "attacks" and document your observations. If your peer group's specification does not match their implementation, document this as well. If your peer group, for whatever reason, does not provide code for you to play with, document what you would have done based upon the specification.

Assignment 2 Design and Implementation: For you to measure delay from a packet's transmission to its reception, you need to specify which point in time you use as reference for the transmission. Depending on the FEC scheme you use, this may vary:

In either case, the reception time is defined at the first point in time when sufficient information is available at the receiver to reconstruct the packet Di (which is either reception of Di itself or reception of sufficient FEC packets).

Testing assignment 2:

The version with dynamic error patterns is now available here.

This tool offers a configurable loss fraction that oscillates over a configurable period, amplitude, and phase. This is configured using the -p option:

    -p LOSSFRACTION[:MODPERIOD:MODAMP[:MODPHASE]]

Loss fraction (0.0..1.0), optionally followed by frequency (in 1/s), amplitude (fraction of fraction) and optionally phase of modulation function

In the simplest case, LOSSFRACTION equals p(loss). MODPERIOD is the period of the sine wave that modulates p. MODAMP is the amplitude of the loss rate modulation.

    p = LOSSFRACTION * (1 + (sin((t * omega) * MODAMP))
with
    omega = 2pi/MODPERIOD
    t = Time.now - Time.start + MODPERIOD * MODPHASE
    MODPHASE in [0,1]

Example: -p 0.5:10:0.8:0 causes the loss rate to vary between 0.1 (0.5-(0.5*0.8)) and 0.9 (0.5+(0.5*0.8)) with a period of 10 seconds.

Assignment 3: Material: RFC 3819 and David D. Clark: The Design Principles of the DARPA Internet Protocols. ACM SIGCOMM 1988.

Assignment deadlines
Assignment 1 - implementationUpdate: Email your first implementation of the assignment 1 no later than Friday 27.04. to your peer group.
Please CC the course assistants as proof of submission.
Final submission for evaluation to the course assistants on 27.05.
Assignment 2 - Solution analysis27.05.
Assignment 2 - Attack report27.05.
Assignment 2 - Adaptive FIP specification and implementation27.05.

Material

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.

© 2007 netlab - Last modified: $Id: index.html 44 2007-05-25 12:09:27Z jo $