发明名称 一种确定NAT类型的方法及装置
摘要 本发明提供了一种确定NAT类型的方法及装置,包括STUN客户端同时向第一STUN服务器的第一端口和第二端口分别发送第一测试项的请求包和第二测试项的请求包;第一STUN服务器和第二STUN服务器返回相应的应答包;STUN客户端根据收到的应答包判断客户端的NAT类型。本发明的确定NAT类型的方法不依赖于测试包的先后顺序,而且通过并行测试,节省了的NAT类型检测的时间,不仅如此,本发明的NAT类型判断方法也更加简洁高效。
申请公布号 CN102196057B 申请公布日期 2015.11.25
申请号 CN201010143479.6 申请日期 2010.03.03
申请人 腾讯科技(深圳)有限公司 发明人 王志华;陈谦;鲁小锁;邵颖哲
分类号 H04L29/12(2006.01)I;H04L29/06(2006.01)I 主分类号 H04L29/12(2006.01)I
代理机构 北京派特恩知识产权代理有限公司 11270 代理人 张颖玲;蒋雅洁
主权项 一种确定网络地址转换NAT类型的方法,其特征在于,包括:STUN客户端同时向第一STUN服务器的第一端口和第二端口分别发送第一测试项的请求包和第二测试项的请求包;第一STUN服务器和第二STUN服务器返回相应的应答包,包括:所述第一STUN服务器从第一端口反馈第一应答包,在第一应答包中携带有第一端口反馈的客户端的公网IP和端口,所述第一STUN服务器从第二端口反馈第二应答包,在第二应答包中携带有第二端口反馈的客户端的公网IP和端口;所述第一STUN服务器从第三端口反馈第三应答包,从所述第二STUN服务器向客户端返回第四应答包;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。
地址 518044 广东省深圳市福田区振兴路赛格科技园2栋东403室