This application provides a NAT penetration method, when the first and second respectively and the host host server connection holes, through holes first host server to obtain the second host IP address and port number, by setting the first hole request packet survival time value, the first host to the second host to send the first hole request packet, the first hole request packet is sent to the host NAT and can't be sent to the second host NAT, effectively prevent the host NAT for the first second holes to prevent request packet. The first host to punch holes to assist the server to send the request, the server host sends first hole to the second host IP address and port number; second according to the first host host IP address and port number to send the first second holes host request packet, and then sent to the first host third host second hole request packet first, the host and host second P2P connection establishment, improve the P2P hole success rate.
【技术实现步骤摘要】
一种NAT穿透方法及装置
本专利技术涉及通信
,更具体的,涉及一种NAT穿透方法及装置。
技术介绍
NAT(NetworkAddressTranslation,网络地址转换),通过将不同的私网地址映射到同一公网地址的不同端口号,实现了内网中多台主机能够使用同一IP地址进行互联网连接的功能。这解决了IP地址不足的问题,却给P2P(PeertoPeer,对等网络)连接引入了新的挑战。NAT类型共有四种:1、全锥形NAT(FullConeNAT),同一私网地址X(包括IP地址和端口号)的连接请求都会被映射到同一公网地址Y(包括IP地址和端口号),与请求的目的地址无关。NAT会将所有外部地址Z(包括IP地址和端口号)发送给Y的请求转发给X。2、限制锥型NAT(RestrictedNAT),同一私网地址X(包括IP地址和端口号)的连接请求都会被映射到同一公网地址Y(包括IP地址和端口号),与请求的目的地址无关。但是只有私网地址X先通过公网地址Y发送请求到地址Z(只包括IP地址,端口号不限),NAT才会将Z发送给Y的请求转发给X,否则Z发送到X的请求会被NAT认为是未经认证的而进行阻止。3、端口限制锥形NAT(PortRestrictedNAT),所有来自同一私网地址X(包括IP地址和端口号)的连接请求都会被映射到同一公网地址Y(包括IP地址和端口号),与请求的目的地址无关。但是只有私网地址X先通过公网地址Y发送请求到地址Z(包括IP地址和端口号),NAT才会将Z发送给Y的请求转发给X,否则Z发送到X的请求会被NAT认为是未经认证的而进行阻止。4、对称型NAT( ...
【技术保护点】
一种NAT穿透方法,其特征在于,应用于第一主机,所述方法包括:当所述第一主机和第二主机分别和打洞服务器建立连接后,通过所述打洞服务器获取所述第二主机的IP地址和端口号;设置第一打洞请求数据包的生存时间值;根据所述第二主机的IP地址和端口号,向所述第二主机发送所述第一打洞请求数据包,使所述第一打洞请求数据包被发送到所述第一主机的NAT且不能被发送到所述第二主机的NAT;向所述打洞服务器发送协助打洞请求,使所述打洞服务器向所述第二主机发送所述第一主机的IP地址和端口号,以使所述第二主机根据所述第一主机的IP地址和端口号向所述第一主机发送第二打洞请求数据包;当接收到所述第二主机发送的第二打洞请求数据包时,向所述第二主机发送第三打洞请求数据包,所述第一主机与所述第二主机间的P2P连接建立。
【技术特征摘要】
1.一种NAT穿透方法,其特征在于,应用于第一主机,所述方法包括:当所述第一主机和第二主机分别和打洞服务器建立连接后,通过所述打洞服务器获取所述第二主机的IP地址和端口号;设置第一打洞请求数据包的生存时间值;根据所述第二主机的IP地址和端口号,向所述第二主机发送所述第一打洞请求数据包,使所述第一打洞请求数据包被发送到所述第一主机的NAT且不能被发送到所述第二主机的NAT;向所述打洞服务器发送协助打洞请求,使所述打洞服务器向所述第二主机发送所述第一主机的IP地址和端口号,以使所述第二主机根据所述第一主机的IP地址和端口号向所述第一主机发送第二打洞请求数据包;当接收到所述第二主机发送的第二打洞请求数据包时,向所述第二主机发送第三打洞请求数据包,所述第一主机与所述第二主机间的P2P连接建立。2.根据权利要求1所述的方法,其特征在于,所述设置第一打洞请求数据包的生存时间值,包括:获取所述第一主机到目标节点的路由追踪结果,所述目标节点为所述第一主机的NAT网络外部的节点;根据所述路由追踪结果,确定所述第一主机与所述目标节点之间公网地址网络节点前的私网地址网络节点的数量M;将所述第一打洞请求数据包的生存时间值设置为M+1。3.根据权利要求2所述的方法,其特征在于,所述获取所述第一主机到目标节点的路由追踪结果,包括:获取所述第一主机到所述打洞服务器的路由追踪结果。4.根据权利要求2所述的方法,其特征在于,所述获取所述第一主机到目标节点的路由追踪结果,包括:获取所述第一主机到预设服务器的路由追踪结果。5.根据权利要求2所述的方法,其特征在于,所述获取所述第一主机到目标节点的路由追踪结果,包括:获取所述第一主机到所述第二主机的路由追踪结果。6.一...
【专利技术属性】
技术研发人员:王亚楠,袁鹏,肖剑,庹虎,
申请(专利权)人:北京奇艺世纪科技有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。