I know about NAT traversal and about STUN, TURN and ICE and its use. I want to know whether these are implemented in peer to peer file sharing application like bittorrent. Whether trackers facilitate peers behind NATs to communicate with each other by helping in creating direct connection using STUN or relay through TURN. In the case of Distributed Hash Table(DHT) how one peer would communicate with other peer behind NAT ?
相关问题
- ICE vs STUN vs TURN
- Sending and Receiving an Invitation with Multipeer
- Keeping the downloaded torrent in memory rather th
- Securing outbound traffic rule from EC2 instances
- Ending WebRTC video call between two peers
相关文章
- Does HTML5 Support Peer-to-Peer (and not just WebS
- udp packet loss and recovery
- Unity3d WIfi direct (P2P) android support
- iPhone P2P - is GKSession unreliable beyond 4 peer
- Client/Peer communication with Wi-Fi Direct on And
- How to do NAT with PHP sockets
- Compiling libnice for Android
- How does a peer know another peer is a seed?
BitTorrent does not need to connect to any particular member in a swarm, it's not a p2p chat protocol where two specific end points want to talk to each other. All it cares about is that the connection graph of the swarm has a sufficiently high connectivity degree.
In other words, getting clients behind a NATs to talk to each other is somewhat desirable, but not to the point where major resources, such as traffic forwarding, would be expended on that goal. Failure is an option.
Thus it does not use sip/turn/etc.
Various clients use some combination of the following approaches to improve connectivity for the bulk transport connections:
largely undocumentedut_holepunch extension
that uses mutually reachable swarm members in place of stun servers.In the case of the DHT only the first two points (gateway negotiation and port reuse) are used. The overhead of attempting nat traversal for a single request-reply cycle would be >100% and is not worth it.