我了解NAT穿透以及STUN、TURN和ICE的使用。我想知道这些是否在像BitTorrent这样的点对点文件共享应用程序中实现。无论是通过STUN创建直接连接还是通过TURN中继,跟踪器是否有助于在NAT后面通信的同行之间进行通信。在分布式哈希表(DHT)的情况下,一个同行如何与其他NAT后面的同行通信?
我了解NAT穿透以及STUN、TURN和ICE的使用。我想知道这些是否在像BitTorrent这样的点对点文件共享应用程序中实现。无论是通过STUN创建直接连接还是通过TURN中继,跟踪器是否有助于在NAT后面通信的同行之间进行通信。在分布式哈希表(DHT)的情况下,一个同行如何与其他NAT后面的同行通信?
ut_holepunch extension
,它使用互相可达的种子成员代替stun服务器(基本上是大部分未记录的)。在DHT的情况下,只使用前两个点(网关协商和端口重用)。尝试为单个请求-回复周期进行NAT穿越的开销将超过100%,不值得。