Advanced Internetworking
In the module Advanced Internetworking groups of 2 to 4 students will develop their own transport protocol (layer 4 in the OSI/ISO model), document the protocol in writing as a technical document, test the protocol in a lab setting, and finally test it over the public Internet.
There are two possbilities to implement the transport protocol (depending on the ability of the students and their interest in challenges):
- as a user space process: this requires the ability to code in a programming language of the student’s choice
- as an extension to the FreeBSD operating system kernel: this requires C programming, including pointers, in the kernel space.
How to code and debug in the FreeBSD kernel is taught in lecture/lab, so there is no knowledge about this required in advance.
Questions? Contact Martin Stiemerling by email (martin.stiemerling at h-da.de)
Logistical Notes about the Module
The lecture and lab are integrated, i.e., there are no extra slots for either lecture or lab. The lecture and lab parts are mixed as needed for the learnng progress, e.g., some slots may have a lot of lecture while others may have no lecture but lab works.
Lab sessions are mandatory to attend, but since this is a module where lecture and lab are integrated, the attendance rate is 70 %. This means a student has to attend 70 % of the time.
The learning goals and content of the lecture are listed below.
Excerpt from the Module Description
The module description is not easily accessible anymore. Therefore an excerpt about the goals and topics.
Learning goals
- Self-driven exploration of new concepts and technologies in the field of data packet networks
- Knowledge about structures and functions of packet-based telecommunication and data networks
- Knowledge of design and implementation of Internet-wide protocols
- Internet-wide applicable protocol design and implementation
- Analysis of such network and protocols with an industry accepted tool set
- Readiness for the constant and fast changes in this field
Content
- Conceptual aspects of packet-based data networks and choices made for the Internet
- Concepts and design aspects of Internet protocols, e.g.,
- Packet based networks
- Feedback loops
- Congestion control mechanisms
- Addressing
- Routing
- DiffServ/IntServ
- Deeping the knowledge of existing transport protocols, e.g.,
- TCP and variants,
- UDP,
- SCTP,
- and further protocols as needed
- Packet scheduling and queue management
- Active Queue Management (AQM)
- Interworking between AQM, transport protocols and applications
- Design and implementation of protocols for the Internet, e.g.,
- Applying the theoretical parts of Internet and Internet protocol concepts to design an example protocol
- Design and implementation of network stacks in operating systems
- Using an open-source operating system as example
- How to modify or extend and to add new network stacks
- Applied security for protocols, e.g.,
- checking return routability,
- avoiding overwriting of already received payloads
- Advanced topics out of current research, network operations, development and standardization