Lecture: Communication Systems Engineering I
Lecture: Communication Systems Engineering 1 - Systems, Protocols and Stacks
- Lecturer: Prof. Dr. Klaus Wehrle
- Appointments and Locations:
- Tue 11:45h - 13:15h, AH VI, (weekly, starting April 10th, 2007)
- (changed!) Thu 10:00h - 11:30h (fortnightly), AH II
- Please note, that informations on this website have a higher priority than possible differing infos in the CAMPUS system!
- The next lectures will be on: Tue 3.7., 10.7.
- Wed 13:30h - 15:00h, AH VI (planned: fortnightly, but, only! after announcement)
- Exam (written):
- Register for the exam
- Date: July 26th, 2007, time and place: 26th of July, 10:00h to 11:30h, AH II (2), Ahornstraße 55.
- Begin: April 10th, 2007
- SWS: 3+1 (V3+Ü1)
- ETCS Credits: 6
Please note several peculiarities of this lecture (compared to traditional German lectures):
- Participating in this course requires the ability and some experience in C coding.
- You need to have a computer where you can run the VMWare Player, which runs on Linux and Windows.
- The lecture will heavily base on discussions and interaction with the students.
- For some dates, students have to read papers, chapters or texts in advance, and may be asked to present it to the audience. (This follows the concept how lectures are held at top-level U.S. universities. ;-)
- Details of the pecularities of this course will be discussed in the introductionary meeting on April 10th. Please attend!
Important announcements concering the lecture
If you are interested in announcements relevant to our teaching activities -- and especially on this lecture -- or any other of the DS group's activities, you're more than welcome on our ds-interest mailing list!
This course will focus on the Engineering of Communication Protocols and their embedding in operating systems.
Topics will be:
- Network architectures, Layering models
- Interfaces, services, and instances in layering models (horizontal, vertical communication)
- Life cycle of protocol and communication systems development
- Protocol design, maybe specification languages (only briefly)
- Implementation of communication protocols on the application layer
- Overview on Berkeley Sockets, socket programming, etc.
- Threads and synchronization of concurrent tasks
- Pthreads, processes, etc.
- Synchronization and deadlock avoidance
- Architecture of Operating Systems (briefly)
- Architecture of communication subsystems and their embedding into the OS (example: Linux, FreeBSD, maybe also Windows and TinyOS)
- Interrupts, drivers, etc.
- Concurrency (Tasklets, kernel threads, locking, synchronization etc.)
- Memory management
- Communication protocols in the Linux OS (maybe also briefly Windows and TinyOS)
- Design and concepts of protocol desgin (for efficiency, resilience, etc.)
- Interfaces and typical data structures
- Interaction, coordination, etc. between the protocols and the OS
- Discussion of protocol examples on layers 1 - 4
Exam registrationThe registration for the exam is online now. Please register here: Registration form
Resources and Recommended Literature
The slides of the lecture will be available for download here - after login follow the link to the CSE-1 lecture. Information on login and password will be provided in the lecture.
- Klaus Wehrle et. al.: "Linux Networking Architecture -- Design and Implementation of Networking Protocols in the Linux Kernel", ISBN 0-13-177720-3, Prentice-Hall, May 2004
- Christian Benvenuti: "Understanding Linux Network Internals", O'Reilly, Dec. 2005
- Wolfgang Mauerer: "Linux Kernelarchitektur", Hanser Verlag, 2004
- W.R. Stevens: "TCP/IP Illustrated" Volume I and II, Addison-Wesley Professional, Various Editions exist
- Link collection around the Linux kernel and other operating systems
- Anatomy of the Linux kernel
- Linux Kernel Analysis
The assignments will be available for download here - after login follow the link to the CSE-1 lecture.