NAT穿越讨论,大家给点意见,谢谢

tytrywytwtyrwyreytre 2008-08-25 04:40:38
网络传输模块总要:
一,NAT类型不同传输方式不同
(1),首先判别两个双方是不是在同一个内网,如果是直接发送,如果不是转到(2)
(对于有独立外网IP的主机当成FULL CONE NAT,因为他没有IP,端口的限制.)
(注意软件NAT的类型,主要是OS自带的共享上网)

(2),双方程序实时检查本方的NAT类型号并交给服务器(是Cone NAT还是Symmetric NAT)
如果是CONE NAT转(3),如果任何一方有Symmetric NAT就转(4)
(QQ有专门的STUN服务器来测定NAT类型,用WINSTUN去测试stun.qq.com就可以发现)

(3),双方通信时,CONE NAT 进行UDP,TCP打洞(心跳包,STUN协议)
(除FULL CONE NAT外,因为它是全双工的,没有IP,端口限制).
音频,视频采用UDP,包中带有编号,重组,实时性高.以太网帧不超过1500字节.
其他用TCP传输,三次握手才能建立连接,比UDP多点步骤

(4),Symmetric NAT采用服务器中转方式.
一个新的Session,Symmetric NAT就会一个新的端口匹配.变化不断,
端口猜测不易!所以采用服务中转.

备注:HTTP遂道技术,SOCKS5代理等技术暂不使用


对以上想法大家多给建议了!谢谢!
新的STUNT协议没看懂.
...全文
110 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
daidodo 2008-09-09
  • 打赏
  • 举报
回复
mark
  • 打赏
  • 举报
回复
谢谢
maguangzhi 2008-08-31
  • 打赏
  • 举报
回复
穿越很复杂,涉及多层网络多种协议,这方面的文章很多。文章基本上都讲清楚了,但程序就是不能工作。本人最近着力研究了一下,有些新的体会,并修改了一个穿越程序,使其确实能够在内外网之间真正穿透:尤其是从外网的非NAT节点(非网络代理)上的客户端向内网节点发送消息。上述结论也可以作为是否能够真正穿越的一个标准吧,程序见http://maguangzhi.bokee.com
danjm536 2008-08-26
  • 打赏
  • 举报
回复
实现起来也是不小的工程!

4,390

社区成员

发帖
与我相关
我的任务
社区描述
通信技术相关讨论
社区管理员
  • 网络通信
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧