admin 发表于 2019-6-14 16:50:36

灰鸽子远程控制新版已经完工迷你P2P服务器 未来可P2P自动打洞 可称呼灰鸽子2020了~

灰鸽子远程控制新版已经完工迷你P2P服务器 未来用户直接P2P直连自动打洞改动地方非常多,未来还要支持HTTPS 很快就可称呼灰鸽子2020了~
更新了算法,提供了会议级别的清晰度和流畅度。P2P之后,流畅度理论值提高三倍,受到业务影响实际大约2倍。

1. UDP打洞
就目前我们常用的路由器、防火墙等NAT设备来说,大多都是Cone型(Full Cone、Restricted Cone、Port Restricted Cone 之一)的,所以UDP打洞的成功率还是非常大的(70%以上)。

基于UDP的P2P打洞成功率与NAT设备的类型的关系一览表如下所示:
从列表可以看出,最麻烦的是Symmetric类型,如果需要P2P通信的双方有一方是Symmetric,那么打洞就需要用到端口预测技术,而且其打洞成功的希望非常渺茫。

2. TCP打洞
TCP打洞的原理几乎与UDP是一样的,但不幸的是,目前支持TCP打洞的NAT设备非常少,以至于位于两个NAT后面的客户端实例之间能成功建立基于TCP的P2P连接的机会就很小了。希望在不久的将来,支持TCP打洞的NAT设备会逐渐多起来,这需要时间。

为什么开放支持基于TCP的P2P还是非常必要?因为在以下两种情况下,基于TCP的P2P通道肯定是可以成功创建的。
(1)通信的双方位于同一个局网内。
(2)通信的双方中至少有一方运行于具有公网IP的机器上。
在这两种情况下,都不需要TCP打洞,也不需要NAT设备的额外支持,基于TCP的P2P通道就可以成功建立。

由于我们的P2P通道可能是基于TCP的、也可能是基于UDP的,所以P2P通道就继承了协议的特性:基于TCP的P2P通道是可靠的、而基于UDP的P2P通道是不可靠的。值得庆幸的是,灰鸽子内部使用了增强的UDP, 在UDP的基础上模拟TCP机制,以保证通信的可靠性。所以灰鸽子提供的P2P通道都是可靠的。

   
页: [1]
查看完整版本: 灰鸽子远程控制新版已经完工迷你P2P服务器 未来可P2P自动打洞 可称呼灰鸽子2020了~