Questions about relay servers
I understand enough about NAT traversal to see why relay servers are used in the JXTA framework. My application will involve a lot of bandwidth, so I have particular concerns about moving lots of data through relay servers. I also won't be able to afford hosting lots of relay servers myself. Can someone please provide me with perspective on the following?
1) In JXTA, are relay servers used as a primary means of circumventing NAT traversal, or are other techniques like STUN and tunneling used under the hood to limit the use of relay? Again, I'm interested in avoiding relay and would prefer to see direct peer to peer connectivity.
2) When I set up a peer group, will applications running in my group be able to use resources of relay servers that are not in my group? For example, if there are not enough relay servers in my group, will the JXTA community lend a hand? Or, am I limited to the instances distributed within my group?
3) What environment is best suited for a relay super peer to run? Do they have to be running somewhere with a public IP? I suspect a relay running from a home PC is not a good candidate if behind NAT unless that NAT is manually configured. Can someone please confirm?