|
|
1
3
Teamviewer、Skype&类似的P2P应用程序使用UDP打孔机制来进行IPv4 NAT穿越。这使得P2P应用成为可能。但如果UDP被禁用或NAT路由器是对称的,这种打孔就不起作用。如果网络不支持打孔,则所有P2P机制都会退回到中间服务器代理方法。如果您的构建应用程序面向家庭用户,那么您可以在建立P2P连接方面获得90%的成功。但在企业界,只有极少数人允许P2P连接,因为出于安全原因,大多数人使用HTTP代理服务器代替NAT。P2P连接的另一种机制是使用IPv6套接字。对于ipv6,不需要NAT;使用全局ipv6地址可以直接访问机器。该机制至少在windows vista&因为默认情况下,他们使用IPv6过渡技术(如teredo、6to4)拥有IPv6地址。您可以在windows机器上看到前缀为2001的ipv6地址:这是一个全局ipv6地址,您可以使用它直接建立到PC的连接,而无需任何中间服务器。即使是ipv6也有点不可靠,因为很少有PC没有启用它。总之,您可以使用以上两种机制来构建应用程序,以建立P2P连接,但很少需要回退到中间服务器。 |