打印

UDP打洞流程

[复制链接]
3944|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Mindor|  楼主 | 2010-8-27 10:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近有朋友问我UDP打洞的过程和原理,正好前段时间玩过,我把流程写出来分享一下供还不了解的菜鸟一起交流哈!我也是新手;P
(前提是有些基本概念和原理要先熟悉一下,比如NAT工作原理等)

UDP打洞流程:

1、客户端A登录服务器,服务器将客户端A的私网和公网终结点记录下来。
2、客户端B登陆服务器,服务器将客户端A的私网和公网终结点记录下来。
3、服务器将A的公网终结点发给客户端B。
4、客户端B向客户端A发一个数据包(此数据包作用:在客户端B的NAT上建立一个session,该session为B分配一个端口,即打了一个往A方向的洞口,以后如果有数据包从公网到达此端口,NAT将会把此数据包直接转发给客户端B)。但此时客户端A收不到此数据包,因为A端的NAT拦截了这个未曾谋面的数据包。
5、客户端B向服务器报告:已经向A方向打洞,此时服务器将B的公网终结点发给A,并命令客户端A往B方向发一个数据包(作用同第4步)。
6、客户端A发送一个数据包到客户端B的公网终结点上。此时,客户端B已经接收到A发送过来的这个数据包,至此打洞成功,以后A和B可以直接互相发送信息了!

相关帖子

沙发
123654789| | 2010-8-27 10:28 | 只看该作者
QQ就是使用UDP协议

使用特权

评论回复
板凳
huoyunjie| | 2010-8-27 10:45 | 只看该作者
有道理

使用特权

评论回复
地板
Mindor|  楼主 | 2010-8-27 11:11 | 只看该作者
2# 123654789
我只知道qq视频和语音是UDP协议。。。
不过我QQ登录的时候,我抓包看到的是TCP协议。。。还不是很清楚。。。

使用特权

评论回复
5
原野之狼| | 2010-8-27 12:50 | 只看该作者
UDP打洞 没这么一说吧
找个P2P工具的源码看看就知道是咋样实现内网穿透的了
另QQ不只是使用UDP协议 还有TCP协议 比如登录过程

使用特权

评论回复
6
Mindor|  楼主 | 2010-8-27 14:20 | 只看该作者
5# 原野之狼
有哦~一般说UDP打洞就是NAT穿透哈:lol

使用特权

评论回复
7
linqing171| | 2010-8-27 21:34 | 只看该作者
用PNP把。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:好好活着就是做很多有意义的事,做有意义的事就是好好活着。

36

主题

413

帖子

1

粉丝