如何让N2N虚拟局域网走P2P?简单测试
废话就不展开说了。开始!
家里台式机A:192.168.123.1
公司台式机B:192.168.123.2
测试
通过 EasyN2N 自带的NAT类型测试,分别测的:家里、公司的网络NAT类型均为 Symmetrict NAT
PING延迟
分析
N2N是可以进行P2P通信的,在P2P连接下,虚拟局域网下的客户端连接延迟和稳定性都很不错,但前提是客户端所在网络NAT类型符合条件才可以实现P2P连接。
网络上关于NAT和P2P的关系这里就不啰嗦了,可以参考这篇文章 :NAT的四种类型及类型检测(详细介绍)
简单学习后,可以了解到P2P建立条件:
当联机的双方NAT类型有一方为Cone NAT时(以下前三种)才 有概率 建立P2P连接,如果双方都是Symmetric NAT,必然无法成功建立P2P连接
几种常见的NAT类型:
1.Full Cone
2.Restricted Cone
3.Port Restricted Cone
4.Symmetric NAT
结合上面的P2P条件,由于家里和公司的NAT类型均为 Symmetric NAT,所以无法建立P2P连接,只能通过N2N服务器中转通信
引用一段恩山论坛大佬总结的:
1.双方中只要有一方是Full Cone,可以直连
2.双方都是Restricted Cone或Port Restricted Cone,这种情况可以打洞,通过N2N服务器握手以后,双方的数据不再经过服务端
3.一方为Restricted Cone,另一方为Symmetric NAT,可以打洞,通过N2N服务器握手以后,双方的数据不再经过服务端
4.一方为端口Port Restricted Cone,另一方为Symmetric NAT,这种情况无法打洞,数据要走N2N服务器中转
5.双方都为Symmetric NAT,这种情况也是无法打洞的,数据要走N2N服务器中转
折腾
如果需要走P2P,则要调整当前网络的NAT类型,以符合P2P连接的条件
因为公司的网络比较固定(专线),并且上层交换设备无权操作,所以公司的网络这边只能放弃
同理,有些校园网、手机的4G\5G、公用WIFI等,都是这样的情况
方法1
来自 lucktu 大佬分享的方法:
方法1:edge使用固定端口,上级路由器使用端口转发过来
方法2:最新的支持upnp的edge下,打开路由器的upnp支持
方法2
打开路由器中的DMZ,将DMZ的IP指向台式机
注意:此步骤会将DMZ指向的设备完全暴露在公网下,易受到恶意攻击,请慎重开启
最后的效果:
再次测试
注意
本文所说的“有概率”,请看下图:
当我的NAT类型为Fullcone,公司是Symmetric,理论来说,是可以P2P的
但P2P不是一个开关(不是即开即生效)
在不断ping了200次左右时,NAT类型发生转变,延迟降低,可以判断为已建立P2P连接
103 条评论
请教一下我的NAT类型检测时候提示是blocked,这种一般是什么原因啊
我和朋友联机,现在只有捐赠节点,必须都捐赠才能用吗?还是我捐赠了,我朋友也可以用
@mao
一个就行