Open Source Software

My main research interests are in practical, experimental research. Therefore, most of my projects produce software. As service and contribution to the research, and Internet community in general, we try to make our products available to our peers. On this page you will find some pointers to software published, or to be published, by my researchs (and sometimes even by myself).

Jugi's Traffic Generator (jtg) is a Linux traffic generator. jtg is written in C and designed for the Linux platform, it might compile on other Unix platforms, too. jtg is used to send IP traffic, UDP, TCP and nowadays even DCCP streams, one at a time, to a receiver. A number of parameters can be used to affect the type of stream and the accuracy of the transmission. jtg was originally designed for creating a primary stream to be analyzed in network experiments, background load would be created by other means, e.g. using MGEN. Nowadays, jtg can also be used to generate background load, too, by giving a trace file of packet sizes and intervals. jtg has developed a lot in the recent years, and is also available in Java with a command line and graphical user interface. The C-version also has a graphical user interface that supports most common parameters.

TRILL/RBridges is a key topic in our 100GET and Mevico projects. We are currently building an OPNET prototype of TRILL. The main focus however is on implementing TRILL on top of the Click modular router architecture. In addition, we have designed ways to make TRILL better and more scalable using DHTs and some new functionality, and these will be part of the open source release.

Next Steps in Signaling (NSIS) is a new protocol developed within the IETF to enable a new way to signaling within an IP network. My team at the University of Helsinki implemented a number of extensions to the base spec, and also make a very high-performance implementation of the transport layer (protocol) of NSIS.

Generic UDP Tunneling (GUT) is a specification designed to bring a generic feature to an operating system allowing transporting an IP protocol within a UDP header. If you consider the current status of the Internet, NATs and firewalls are not able to set up state or drop all unknown payloads. Thus, we need generic funtionality to encapsulate a problematic protocol (e.g. DCCP, SCTP, HIP, IPsec) within UDP, and decapsulate it on the receiving, and without any modifications to the native protocol.

uEmacs 4.0 for Linux is a fixed version of the classic micro Emacs (uEmacs) text editor to make it compile on a modern Linux system (namely ubuntu 9.10 x86_64 with gcc 4.4.1).

IETF HAARO v0.1 is the implementation of the Home Agent-Assisted Route Optimization between Mobile IPv4 Networks defined in RFC 6521. This is based on the GPL Dynamics Mobile IP implementation by TKK/HUT many years ago. My team added the needed new functionality. The software is provided as GPL, as it was before. We do not actively work on the code anymore as it did all we needed for carrying out the research. The implementation might not be up to date on the final version of the spec. The tar-package includes very little documentation. ;)