最近做的p2p共享软件想扩展,有没有方法不通过公网服务器协助打洞?


最近做的p2p共享软件想扩展,看了一些TCP打洞的资料,介绍的NAT穿越都需要一个公网IP服务器协助打洞,但是,我所处的网络环境是一个校园局域网,周围没有使用公网IP的主机(对外重要部门除外,那是不能碰的),很纠结,我想知道,在没有公网IP的情况下,有没有别的方法来实践NAT穿越?大家都是怎么做的?
感觉学了理论知识后,没有试验环境了验证,,希望有经验的分享一下,非常感谢

c VC php C++

_Zfw_ 11 years, 10 months ago

有两种办法解决“不通过公网服务器协助打洞”。
1.设置一个与路由器的固定端口映射(可以手动配置或通过程序设置)。
2.若一方是外网环境,一方是内网环境。可以通过端口转发机制(如著名的lcx工具),使
外网机可以访问到内网。内网机可以直接访问外网机。

TCP\UDP打洞关键问题 是解决NET映射的问题,因为不知道内网主机通过NET出来对应的是什么端口,所以需要外网机器通知。若映射出来的都是固定端口,无需通知,默认就行。

不过,P2P是需要一台外网服务器的,因为用户在下载资源时,需要到服务器上去找哪些用户有这些资源。所以,直接把这台外网机当打洞机就好了。

赛文奥特曼 answered 11 years, 10 months ago

Your Answer