![]() |
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 course will be jointly held by Prof. Carsten Bormann (visiting from Universität Bremen TZI) and Prof. Jörg Ott.
For questions concerning the course, please use the Newsgroup opinnot.sahko.s-38.tietoverkkotekniikka or send mail to
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.
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.
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.
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:
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 - implementation | Update: 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 analysis | 27.05. |
Assignment 2 - Attack report | 27.05. |
Assignment 2 - Adaptive FIP specification and implementation | 27.05. |
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.