Detta är ett uppsatsförslag hämtat från Nationella Exjobb-poolen. Klicka här för att komma tillbaka till samtliga exjobbsförslag.
Scalable traversal of NAT
Degoo is developing a P2P Backup system which has its roots in the Master’s Thesis “CollabBackup: A Peer-to-Peer backup system focused on storage efficiency”. There’s still some work needed before the system is ready for the commercial market. This Master’s Thesis is an important part of that.
Most P2P face one common problem: how to handle the very heterogeneous environments each node operates in. Specifically this usually means having to handle traversal of NAT (Network Address Translation) some way or another. The most well established solution to this is to use a combination of UPnP (i.e. automatically opening the appropriate ports on the router) and ICE (http://tools.ietf.org/html/rfc5245). ICE is a standard which defines how nodes establish a connection in a reliable and bandwidth-efficient way. Since the ICE-standard is yet to set as an official standard, the implementations of it are still in their early stages.
All existing open-source implementations are missing at least one of the following:
* The TURN (relay)-server is centralized. A much more scalable solution would be to have nodes which are not behind NAT work as relay-nodes.
* It only supports UDP and not TCP.
* The implementation is not up-to-date with the latest ICE-draft.
* It is not written in Java and therefore requires a JNI-binding for it to work in a Java-application.
The goal of this thesis is to:
* Evaluate existing implementations in terms of
1) Ease of development
* Choose which implementation can be extended to support missing features with the least amount of work.
* Implement the missing changes.
* Write the final report.
Informationen om uppsatsförslag är hämtad från Nationella Exjobb-poolen.