Distributed Information Systems Laboratory LSIR

Implementing a NAT and Firewall Traversal Library

Project Details

Implementing a NAT and Firewall Traversal Library

Laboratory : LSIR Semester Completed

Running distributed applications behind a NAT or a firewall is a non-trivial task. The goal of this project is first to review the different ways of NAT and firewall traversal (STUN, STUNT, TURN, ICE, Hole punching, ...). In the second phase of the project, an open source library has to be implemented in Java using a NIO framework (Apache Mina or Grizzly).


A small chat application has to be developed as a proof of concept.

  • Becoming familiar with P2P, TCP, NAT, Firewall, proxies, NIO
  • Gaining experience in famous Java network librairies
  • Practical experience in developing real world system applications.
  • Working in an interactive research environment.
  • Gaining experience in distributed (networked) systems.


  • Very good networking skills.
  • Very good Java skills.
  • Being interested to learn new libraries.

Contact: Nicolas Bonvin