Post by tjuprogram 的确不是很通用, 而且不同厂家的router进行端口转换的规则可能不相同,所以就需要大量测试, 收集各个厂家的规则. NAT打洞是P2P的难题!
使用道具 举报
Post by newroot 有一个问题就是A或是B主机跟公网主机C相连时,如何获取NAT给A或是B的端口. 难道只能通过你所说的获取router的规则来实现吗?
Post by tjuprogram 应该是这样的.
Post by Arthur.Echo 不是。 这些应该是通过STUN来取回来的, STUN的mapped-address属性中既包括public IP也包括port。 这个IP + port对就是NAT为内部发送该STUN消息的主机所分配的IP + port 对。
Post by tjuprogram router不一定支持STUN, 就算支持, 也只能用于非对称.
Post by rickxbx;1778181 A,B 的网关是什么网关? 如果是 ip 网关(即router),那么就是说连到 C 不需要代理,在 C 上开个 VPN Server, A,B 都连到 C 上的 Server,那么 A,B 其实就在一个 vpn 里面了。 如果是应用层网关(如代理服务器),这时A,B可以通过各自代理服务器的协议,分别连接到 C, C 做一个 connect, 就可以做 ip over tcp。(也可以使用透明代理: transconnect)
本版积分规则 发表回复 回帖后跳转到最后一页