Practical Course Computer Networks ("Praktikum-Telematik")

WS 2007/08

Univis; Stud.IP; General Information on the bachelor and master programs in Applied Computer Science (Angewandte Informatik).

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).

Time: Friday 14:00 - 17:00

Room: SR 0.133, Geismarlandstr. 11

Instructors: Xiaoming Fu, Dieter Hogrefe

Assistants:

Maytuan Arumaithurai (Nokia Siemens Networks and U Goettingen)
Niklas Steinleitner
Jun Lei
Lei Shi
Nikunj Modi

If you have any questions, please send email to tmg-prak-ws0708@informatik.uni-goettingen.de

Course Description:

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

In the design and evaluation of new networking protocols, Real time implementations and implementations on network simulators can be used. Both implementations serve different purposes. While real time implementations can be used to check the protocols interaction with existing protocols, real time deployment problems etc implementation on simulators can be used to simulate its behaviour in large network topologies.

In this course we look in depth at one such popular network simulator and implement a network protocol on it.

Aim: 

The course is intended to provide course participants knowledge in modelling and simulation of telecommunication networks. The course features the use of simulation software commonly used for telecommunication network simulation. In addition to the basic theory necessary for understanding network simulation, the course aims to give practical skills in using these softwares to implement network protocols, construct simulation models and to simulate a networking system.

The course contains the following two parts:

·         Theory of network simulation and study of simulation tools

·         A simulation project

Organization and Examination:

The course consists of 3 projects and each team is expected to do one of the listed projects. The team may consist of 2-3 members. The course aims to familiarize the students 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.

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++ 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.

Projects:

This section lists the projects that are available for the students to choose from.

Project 1: LISP

Locator/ID Separation Protocol (LISP) is a simple, incremental, network-based protocol to implement separation of Internet addresses into Endpoint Identifiers (EIDs) and Routing Locators (RLOCs). It is relatively a new protocol and is currently being developed by the IETF. LISP mechanism requires no changes to host stacks and no major changes to existing database infrastructures.  Another advantage of the proposed protocol is that it need not be implemented in all the routers.

Project 2 : IVIP

IVIP (Internet Vastly Improved Plumbing) is a proposed global system of routers and collection of databases which control the tunneling of some of these routers. 

IVIP enables a subset of IPv4 and IPv6 address space to be portable (used via an ISP which has an ETR) and to be suitable for multihoming (connection to the network via two or more ISPs) - without involving BGP and without requiring any changes to host operating systems or applications.

IVIP's primary goals include the more efficient utilisation of IPv4 space and enabling millions of end-users to achieve portability and multihoming without involving BGP, without fuelling the growth of the global BGP routing table, and without requiring these end users to have ASNs (Autonomous System Numbers) or to acquire conventional prefixes of PI (Provider Independent) BGP reachable address space.

Project 3 : Go-Back-N ARQ and RLP

Go-Back-N ARQ is a specific instance of the Automatic Repeat-reQuest (ARQ) Protocol, in which the sending process continues to send a number of frames specified by a window size even without receiving an ACK packet from the receiver.

The receiver process keeps track of the sequence number of the next frame it expects to receive, and sends that number with every ACK it sends. If a frame from the sender does not reach the receiver, the receiver will stop acknowledging received frames. Once the sender has sent all of the frames in its window, it will detect that all of the frames since the first lost frame are outstanding, and will go back to sequence number of the last ACK it received from the receiver process and fill its window starting with that frame and continue the process over again.

The sending window size must be the number of sequence numbers (if they are numbered from zero to n-1) to verify transmission in cases of any packet (any data or ACK packet) being dropped. (Source: Tanenbaum, Andrew S. Computer Networks 4th ed. ISBN 0-13-066102-3)

The Radio Link Protocol (RLP) is an automatic repeat request (ARQ) protocol used over a wireless (typically cellular) air interface. Most wireless air interfaces are tuned to provide 1% packet loss, which is a tolerable loss rate for modern Vocoders. An RLP detects packet losses and performs retransmissions to bring packet loss down to .01%, which is suitable for TCP/IP applications. RLP also implements stream fragmentation and reassembly, and sometimes, in-order delivery. Newer forms of RLP also provide framing and compression, while older forms of RLP rely upon a higher-layer PPP protocols to provide these functions.

An RLP transport never knows how big a packet the air interface will provide. Instead, the air interface scheduler determines the packet size, and calls upon RLP to form a packet on-demand for transmission. Most other wireless fragmentation and framing protocols, such as those of 802.11b and TCP/IP, used fixed fragment sizes. These protocols are not as flexible as RLP, and can sometimes needlessly block transmissions during a deep fade in a wireless environment.


For each project students are required to organize the work effectively according to the streamline of a realistic project, including milestones (task and time allocation, deliverables) definition, implementation and revision, reports of design, implementation, test results and intermediate results etc. Each project will elect a project leader who should be responsible for directing and regularly reporting the overall progress of the team.

Prerequisite: Computer Networks course or equivalent

General Schedule:

Course time: Friday 14-17.
First lecture: 17.10.2007.


fu--at--informatik.uni-goettingen.de/a>