Reverse Connection Setup in TomP2P for NAT Traversal

State: completed by Jonas Wagner

Even though TomP2P aims to work in a fully decentralized manner, one solution that dem-
onstrated to be effective to traverse NAT is to employ the notion of "super nodes" acting as
relaying servers. Skype is an example of application that uses super nodes in its P2P
architecture to overcome the communication between two nodes behind the NAT. These
super nodes, or relay servers, are nodes that have a public IP address and enough computa-tional and bandwidth resources to relay DHT (Distributed Hash Table) content for other nodes who are
behind restrictive firewalls, or are unable to directly communicate with each other. The use of super
nodes (or relay servers) adds another layer of reliability with the use of selected nodes to support DHT
content exchange if methods like network discovery and UPnP auto-configuration fail. However, if
relaying can be omitted with reverse connection setup, bandwidth can be saved on the relay peers.
Therefore, the student should design, implement, and evaluate a reverse connection setup in
TomP2P. Relay peers are still necessary to establish the connection, but once a connection is estab-
lished, peers can communicate directly. In order to evaluate the implemented solution, the student
should observe if an application that uses TomP2P do not suffer any impact with the implemented
capability, as well as have glimpses of performance and overhead.

[20% Design, 70% Implementation, 10% Documentation]
Java, Netty, TomP2P, Unix/Linux references

Supervisors: Prof. Dr. Burkhard Stiller, Dr. Thomas Bocek

back to the main page