NAT话题,主要涉及:
- NAT 与 防火墙
- NAT 基本类型 与 原理
- NAT 穿透方式及原理
- 基于NAT穿透的网络应用
- NAT穿透相关的工具和开源项目
焦点集中在NAT类型以及对应的穿透方式,下面分别收录几篇文章做进一步了解。
1 网络 与 NAT 和 防火墙
公网/内网IP分配及NAT地址转换协议
http://yanshiwen2007.blog.163.com/blog/static/38688705200711483248456/
防火墙和NAT
/>
NAT的四种类型及类型检测
Posted on 2010-12-16 19:30 bw_0927
http://www.cnblogs.com/my_life/articles/1908552.html
多媒体通讯中防火墙和NAT问题的解决
/>
Linux下的NAT及防火墙的混合应用
/>
2 NAT 穿透
NAT穿透
From: wikipedia 维基百科
%E7%A9%BF%E8%B6%8A
NAT的完全分析及其UDP穿透的完全解决方案
2006-07-18
http://zongtongyi.blogbus.com/logs/2857757.html
相关的其他文章:http://zongtongyi.blogbus.com/tag/%E7%A9%BF%E9%80%8FNAT/
NAT穿透
2010-05-09 12:15
http://blog.csdn.net/feiren127/article/details/5571636
NAT穿透之NAT类型检测
发布时间:2011-01-01 12:07文章来源:黑客防线文章作者:张东辉
/>
P2P网络“自由”穿越NAT的“秘密”
Posted on 2008-10-12 14:05 chen eric
http://www.cnblogs.com/lovko/archive/2008/10/12/1309094.html
Symmetric NAT Traversal
/>
3 STUN 和 TURN 协议
旧版本STUN />
新版本STUN />
TURN />
Symmetric NAT Traversal using STUN
/>
PS: 此协议是草稿,主要是关于基于 STUN 来做 Symmetric 类型的NAT穿透;但这不是100%可以成功的,有一定的概率。
PS: 新旧STUN协议及TURN协议在实现和使用上的差异?
久版的STUN主要是基于判断NAT类型的,而新版本的STUN以及其扩展的TURN协议,摒弃了原来的思路,以获得一个可靠可用的通信地址和端口为目标;
新版的STUN重在获得改地址,而TURN则提供了基于已知地址的数据传递协议规范。所以实践中,如果STUN告诉我们地址后,可以P2P,则优先P2P,否则TURN中转。
新旧版本的STUN协议完全不同,协议设计也不同,无法兼容;新版的STUN则和TURN关系密切,后者是基于前者扩展设计的,大多数服务端也兼容二者。
4 工具与开源项目
NAT 类型检测
NAT Check:Check Your Network Address Translator for Compatibility with Peer-to-Peer Protocols
/>
VC++实现NAT穿透之NAT类型检测
http://blog.csdn.net/yincheng01/article/details/4486359
5 总结
- Q: 是否所有NAT都可以穿透?
A: 不是!简单说, 只要是cone类型的NAT,则可以穿透,100%地穿透,
即 full cone NAT, address restricted cone NAT 和 port restricted cone NAT 都可以穿透;
而 symmetric NAT则不能保证100%穿透,也就是说不可靠无法依赖穿透symmetric NAT来通信,必须提供备选方式如代理中转等。
- Q: 对于无法穿透的NAT该怎么办?
A: 既然有STUN和TURN甚至SOCK5等协议,那么在确定无法穿透或者不能确定穿透时,选择服务器中转是上策。
- Q: 实践中哪种类型的NAT更多一些?
A: 有时候应用只需要面对大多数用户即可,无需严格考虑所有情况,则需要参考实践中的NAT类型比例;
这个数据我没有实际调查过,但结合网络上提供的资料,目前大多数NAT都属于cone的,不是symmetric的;但典型的sysmmetric仍然存在,比如可能有:
- 安全要求较高的内部专属网/局域网
- 互联网与EGDE网络之间,互联网与3G网之间
- Q: Symmetric NAT 的穿透状况到底如何?
A: 可以穿透,但不是100%成功;那么如何提高成功率呢? ~wei/file/wei-apan-v10.pdf
这篇很早的文章显示他们的办法可以达到99%的NAT穿透率,高于当时SKYPE的46% 。其中的难点,主要在于不断变化的端口映射,导致mapping address无法稳定下来用于两个peer的通信。
6 辅助工具
在线NAT类型检测
nattest.net.in.tum.de
从外部测试本地端口是否可访问
/>
阅读(1389) | 评论(0) | 转发(0) |