如何解决所有NAT类型上的P2P连接
最近我正在研究一个p2p应用程序,我发现了如何使用ICE和STUN协议使用c#编程UDP穿孔。
这很好,但是对称NAT和使用对称NAT的路由器存在一些限制。\
我正在寻找一种通过任何NAT类型连接两个系统的方法。
无论如何,我也尝试过UPNP和端口转发,但是由于防火墙和路由器黑名单,这个选项不在我的脑海中,如果您的回答是正确的,请说明我该如何使用此方法。
谢谢。
解决方法
Upnp和NAT-PMP对于支持这些协议的路由器非常有用,我还没有遇到“防火墙和路由器黑名单”之类的问题。
在路由器不支持这些协议的情况下,我使用的是ICE。如您所说,对称NAT是一种具有最高安全性的类型,如果端口随机增加,则很难打孔。使用服务器作为中继(ICE可以做到)比克服随机算法要容易得多。
如果您对对称NAT的源代码感兴趣,它位于nf_nat_core.c之类的文件中,可以轻松跟踪和了解其工作原理。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。