[发明专利]一种确定NAT类型的方法及装置有效
申请号: | 201010143479.6 | 申请日: | 2010-03-03 |
公开(公告)号: | CN102196057A | 公开(公告)日: | 2011-09-21 |
发明(设计)人: | 王志华;陈谦;鲁小锁;邵颖哲 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | H04L29/12 | 分类号: | H04L29/12;H04L29/06 |
代理公司: | 北京派特恩知识产权代理事务所(普通合伙) 11270 | 代理人: | 张颖玲;蒋雅洁 |
地址: | 518044 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 确定 nat 类型 方法 装置 | ||
1.一种确定网络地址转换NAT类型的方法,其特征在于,包括:
STUN客户端同时向第一STUN服务器的第一端口和第二端口分别发送第一测试项的请求包和第二测试项的请求包;
第一STUN服务器和第二STUN服务器返回相应的应答包;
STUN客户端根据收到的应答包判断客户端的NAT类型。
2.根据权利要求1所述的方法,其特征在于,所述第一测试项的请求包的目的地址为所述第一STUN服务器的IP地址和所述第一STUN服务器的第一端口号;
所述第二测试项的请求包的目的地址为所述第一STUN服务器的IP地址和所述第一STUN服务器的第二端口号。
3.根据权利要求2所述的方法,其特征在于,所述第一STUN服务器和第二STUN服务器返回相应的应答包为:
所述第一STUN服务器从第一端口反馈第一应答包,在第一应答包中携带有第一端口反馈的客户端的公网IP和端口,所述第一STUN服务器从第二端口反馈第二应答包,在第二应答包中携带有第二端口反馈的客户端的公网IP和端口;
所述第一STUN服务器从第三端口反馈第三应答包,从所述第二STUN服务器向客户端返回第四应答包。
4.根据权利要求3所述的方法,其特征在于,所述第一STUN服务器和第二STUN服务器为配置为双网卡设备的同一STUN服务器;
所述第一应答包,第二应答包和第三应答包由双网卡中的第一网卡绑定的IP返回;所述第四应答包由双网卡中的第二网卡绑定的IP返回。
5.根据权利要求3或4所述的方法,其特征在于,STUN客户端根据收到的应答包判断客户端的NAT类型包括:
如果所述STUN客户端收到第一应答包和第二应答包,并且所述第一应答包和第二应答包中分别携带的公网IP地址和端口不一致,则确定所述STUN客户端的NAT类型为对称型NAT;
如果所述STUN客户端收到第一应答包和第二应答包,并且所述第一应答包中携带的公网IP地址和端口或第二应答包中携带的公网IP地址和端口,与所述STUN客户端的本地IP地址和端口号相同,并且,所述STUN客户端收到第四应答包,则确定所述STUN客户端具有公网IP;
如果所述STUN客户端收到第一应答包和第二应答包,并且所述第一应答包中携带的公网IP地址和端口和第二应答包中携带的公网IP地址和端口,与所述STUN客户端的本地IP地址和端口号相同,但是,所述STUN客户端未收到第四应答包,则确定所述STUN客户端在防火墙后;
如果所述STUN客户端收到第一应答包和第二应答包,并且所述第一应答包和第二应答包中分别携带的公网IP地址和端口相同,但与所述STUN客户端的本地IP地址和端口号不相同,并且,所述STUN客户端收到第四应答包,则确定所述STUN客户端的NAT类型是完全圆锥型NAT;
如果所述STUN客户端收到第一应答包和第二应答包,并且所述第一应答包和第二应答包中分别携带的公网IP地址和端口相同,但与所述STUN客户端的本地IP地址和端口号不相同,并且,所述STUN客户端未收到第四应答包、收到第三应答包,则确定所述STUN客户端的NAT类型是限制圆锥型NAT;
如果所述STUN客户端收到第一应答包和第二应答包,并且所述第一应答包和第二应答包中分别携带的公网IP地址和端口相同,但与所述STUN客户端的本地IP地址和端口号不相同,但是,所述STUN客户端未收到第四应答包、未收到第三应答包,则确定所述STUN客户端的NAT类型是端口限制圆锥型NAT。
6.根据权利要求3或4所述的方法,其特征在于,如果所述STUN客户端没有收到任何应答包,则UDP不通,结束本流程。
7.一种确定网络地址转换NAT类型的装置,其特征在于,包括STUN客户端、第一STUN服务器和第二STUN服务器,其中,
STUN客户端,用于同时向第一STUN服务器的第一端口和第二端口分别发送第一测试项的请求包和第二测试项的请求包;接收来自第一STUN服务器和第二STUN服务器的应答包,并根据收到的应答包判断客户端的NAT类型;
第一STUN服务器,用于接收请求包并返回相应应答包;
第二STUN服务器,用于返回相应的应答包。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010143479.6/1.html,转载请声明来源钻瓜专利网。