Uni Göttingen
computer networks group     Computer Networks Group
Institute of Computer Science
Georg-August-Universität Göttingen
english deutsch
 Home / Teaching / Praktikum Telematik

Praktikum Telematik

Summer 2008


Time: Friday 15:30 to 17:00
Place: SR 0.133, Geismarlandstr. 11
Workload/Credits: 3 SWS, 6 ECTS credits
Module: CS B.inf.611: Fachpraktikum III (Bachelor, Wahl)
Instructors: Mayutan Arumaithurai, Xiaoming Fu, Niklas Neumann, Lei Shi, Niklas Steinleitner
Please check Stud.IP for additional information and course materials.

> Please check latest news in Stud.IP, where you find further course materials and easy interface for discussions (including a WiKi entry for your project progress).


  • 2008-18-04: Time schedule is changed to Friday, 15:30-17:00.
  • 2008-09-04: First session will be on April 18, 2008.

Course description

The course objectives for Praktikum Telematik include (but are not limited to) the following:

  • Learning to architect, develop, and test an example network application based on the TCP/IP network infrastructure.
  • Learning to work effectively in a team environment and project-style development.
  • Developing your written and oral communication skills in English.
  • Becoming proficient with software development tools and networking environments, using standard programming language C/C++/Java/... and tools (such as CVS, Eclipse).
  • Integrating everything you have learned in your other computer science courses.


Time: Friday, 15:30-17:00
Place: SR 0.133, Geismarlandstr. 11
Credits: 6 ECTS
Workload (SWS): 180 (3 SWS)
Module: CS B.inf.611: Fachpraktikum III (Bachelor, Wahl)
Instructors: Prof. Dr. Xiaoming Fu, M.Sc. Lei Shi, B.Sc. Nikunj Modi

Organization and Examination:

The course consists of several projects and each team is expected to do one of the listed projects. The team may consist of 2-4 members. The course aims to familiarize the students with network programming and/or in the use of a popular network simulator and to teach them to implement network protocols on the simulator.

Each team is expected to give a mandatory intermediate and a final presentation and a project report too.


Implementation of Pre Congestion Notification for providing Quality of Service(QoS) in NS-2


Pre-congestion notification (PCN) [http://tools.ietf.org/html/draft-ietf-pcn-architecture-03] is one method to guarantee QoS to data traffic in a DiffServ network. It is based on the idea of marking packets when a certain load threshold on a link is exceeded by PCN traffic. The egress node uses this information for making decisions on admitting new flows or to terminate existing flows. The objective of this project is to design such a network on a simulator (NS-2) and study its behaviour. Afterwards, a working implementation will be make available to the community.


Good programming skills in C/C++; good understanding of computer networking.

Expected results

1. Implement the ingress to send PCN traffic.

2. Implement the intermediate nodes to mark packets.

3. Implement the egress to measure marked packets and send feedback information to the ingress.

4. Evaluate and compare the performance to best effort traffic.

Team size: 3

Implementation of Diameter server and client


Diameter is a computer networking protocol for Authentication, Authorization and Accounting (AAA) and the proposed successor to the RADIUS protocol. The Diameter Base Protocol (RFC 3588) describes the basic functions of Diameter and is extended by specific Diameter applications to meet the requirements of the respective AAA scenario. During the practical training we will implement a Diameter server and a Diameter client to perform basic authentication and authorization functions within a web-based environment.

Diameter server

The Diameter server will be implemented as a stand-alone Linux networking daemon using C/C++. It should offer basic Diameter server functionalities and be able to perform authentication and authorization functions for the Diameter client.

Diameter client

The Diameter client will be implemented as a module for the Apache HTTP server to perform authentication and authorization of a web user against the Diameter server. Depending on the progress of the team, we might also try to port the module to the PHP programming language.


Good programming skills in C/C++; good understanding of computer networking.

Team size:

Diameter server: 3

Diameter client: 2

Implementation of a Mobile IP Interactive Connectivity Establishment (M-ICE)


draft-tschofenig-mip6-ice describes how the Interactive Connectivity Establishment (ICE) methodology can be used for Mobile IP to determine whether end-to-end communication is possible. ICE makes use of the Session Traversal Utilities for NAT (STUN) protocol in addition to mechanisms for checking connectivity between peers. After running the ICE the two MIP end points will be able to communicate directly or through a relay via Network Address Translators (NATs), Network Address and Port Translators (NAPTs) and firewalls. draft-tschofenig-mip6-ice addresses also the problems raised in RFC 4487 "Mobile IPv6 and Firewalls: Problem Statement". As draft-tschofenig-mip6-ice based up on the modified RRT sequence as defined in draft-bajko-mip6-rrtfw, this project has to deal with draft-bajko-mip6-rrtfw. STUN and ICE are mechanisms for NAT and firewall traversal. They are often used to allow e.g. VoIP clients to successfully traverse the variety of firewalls/NAT that may exist between source and destination.


Good programming skills in C/C++; good understanding of computer networking and knowledge of mobile networking.

Group Member: 4

Implementation of new TCP variants and a scenario in Omnet++:


Omnet++ is an easy to use discrete event simulator. Advantages of Omnet++ are the simple structure and the detailed documentation compared to other discrete event simulators, e.g. NS-2. At the moment Omnet++ lacks of implementations of various TCP variants.

Within this practical course the TCP variants (e.g. TCP Cubic, TCP Compound and FAST-TCP) will be implemented in Omnet++ with one scenario of the TCP evaluation suite (Towards a Common TCP Evaluation Suite). TCP Cubic and TCP Compound are chosen because they are the current TCP variant in Linux and Windows, respectively. FAST-TCP is proposed by Caltech research group and is especially targeted at high-speed, long-distance links.

Afterwards, a working implementation will be make available to the community.


1. Implement three TCP modules.

2. Implement one scenario of the TCP evaluation suite

3. Verify the results by compare them to results from the simulator NS-2.

Group Member: 3

Useful Tools: Network Simulator

A discrete event Network simulator can be used for traffic modelling of telecommunication networks, protocol modelling, modelling queuing networks, modelling multiprocessors and other distributed hardware systems, validating hardware architectures, evaluating performance aspects of complex software systems and modelling any other system where the discrete event approach is suitable. In this course we will be using the popular OMNeT++ and/or ns2 network simulator.

OMNeT++ is an object oriented discrete event network simulator. It is highly modular, well structured, scalable and based on C++. It provides a basic infrastructure wherein modules exchange messages. Its main features includes its extensive GUI support , portable on windows and Unix platforms , an open source distribution policy for academic purposes and etc. It can be use to model communication and queuing networks, protocol modelling, multiprocessors and other distributed hardware systems as well as to validate hardware architectures. OMNeT++ simulations can feature varying user interfaces for different purposes: de-bugging, demonstration and batch execution. Advanced user interfaces make the inside of the model visible to the user; allow control over simulation execution and to intervene by changing variables/objects inside the model. This is very useful in the development/debugging phase of the simulation project. User interfaces also facilitate demonstration of how a model works. OMNeT++ also supports parallel distributed simulation.

Ns2 is a discrete event simulator targeted at networking research. Ns2 is popularly used in the simulation of TCP, routing and multicast protocols, among others, and is heavily used in ad-hoc research. It was built in C++ and provides a simulation interface through OTcl, an object-oriented dialect of Tcl. The user describes a network topology by writing OTcl scripts, and then the main ns program simulates that topology with specified parameters