An implementation of the transport layer using JXTA P2PSockets for navigating firewalls and NATs