如何让N2N虚拟局域网走P2P?简单测试

N2N 2020/09/21

废话就不展开说了。开始!

家里台式机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 ConePort 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等,都是这样的情况

只能从我这边下手,期间折腾过程暂略,最后的效果:

再次测试



2条评论

  • svenmax 评论于

    站长 最关键的nat调整你怎么没写啊 :笑哭:

    • Bug侠 评论于

      @svenmax 牵扯的东西太多了,没法做到一个通用的方案,比如最基本的路由器,大家都不一样,而且也不一定开DMZ什么的就能改善NAT类型。只能写一个大概的东西,我这边是软路由,集成Fullcone的开关……不能让大家都买个软路由吧…… :咧嘴: ,等我折腾明白了,再补充

    评论(本站已开启评论回复邮件通知功能,请如实填写邮箱以便及时收到回复)