[发明专利]一种NAT穿透方法及装置在审
申请号: | 201710840848.9 | 申请日: | 2017-09-18 |
公开(公告)号: | CN107580081A | 公开(公告)日: | 2018-01-12 |
发明(设计)人: | 王亚楠;袁鹏;肖剑;庹虎 | 申请(专利权)人: | 北京奇艺世纪科技有限公司 |
主分类号: | H04L29/12 | 分类号: | H04L29/12;H04L29/08 |
代理公司: | 北京集佳知识产权代理有限公司11227 | 代理人: | 王宝筠 |
地址: | 100080 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 nat 穿透 方法 装置 | ||
技术领域
本发明涉及通信技术领域,更具体的,涉及一种NAT穿透方法及装置。
背景技术
NAT(Network Address Translation,网络地址转换),通过将不同的私网地址映射到同一公网地址的不同端口号,实现了内网中多台主机能够使用同一IP地址进行互联网连接的功能。这解决了IP地址不足的问题,却给P2P(Peer to Peer,对等网络)连接引入了新的挑战。
NAT类型共有四种:
1、全锥形NAT(Full Cone NAT),同一私网地址X(包括IP地址和端口号)的连接请求都会被映射到同一公网地址Y(包括IP地址和端口号),与请求的目的地址无关。NAT会将所有外部地址Z(包括IP地址和端口号)发送给Y的请求转发给X。
2、限制锥型NAT(Restricted NAT),同一私网地址X(包括IP地址和端口号)的连接请求都会被映射到同一公网地址Y(包括IP地址和端口号),与请求的目的地址无关。但是只有私网地址X先通过公网地址Y发送请求到地址Z(只包括IP地址,端口号不限),NAT才会将Z发送给Y的请求转发给X,否则Z发送到X的请求会被NAT认为是未经认证的而进行阻止。
3、端口限制锥形NAT(Port Restricted NAT),所有来自同一私网地址X(包括IP地址和端口号)的连接请求都会被映射到同一公网地址Y(包括IP地址和端口号),与请求的目的地址无关。但是只有私网地址X先通过公网地址Y发送请求到地址Z(包括IP地址和端口号),NAT才会将Z发送给Y的请求转发给X,否则Z发送到X的请求会被NAT认为是未经认证的而进行阻止。
4、对称型NAT(Symmetric NAT),来自同一私网地址X的连接请求根据目的地址(包括IP地址和端口号)的不同,会被映射到不同的公网地址(端口号不同)。只有私网地址X先通过公网地址Y发送请求到地址Z(包括IP地址和端口号),NAT才会将Z发送给Y的请求转发给X,否则Z发送到X的请求会被NAT认为是未经认证的而进行阻止。
对于限制型锥形NAT、端口限制锥形NAT和对称型NAT,只有在NAT内部的地址X向外部地址Z发送过数据请求之后,外部地址Z所发送的数据请求才会被NAT转发给X,否则该请求会被认为是未经认证的而丢弃。从而不能进行有效的打洞,导致无法打洞成功或成功率很低。
发明内容
有鉴于此,本发明提供了一种NAT穿透方法及装置,通过设置打洞发起方打洞请求数据包的生存时间值,有效防止对方NAT对打洞请求数据包的阻止,提高了P2P打洞的成功率。
为了实现上述发明目的,本发明提供的具体技术方案如下:
一种NAT穿透方法,应用于第一主机,所述方法包括:
当所述第一主机和第二主机分别和打洞服务器建立连接后,通过所述打洞服务器获取所述第二主机的IP地址和端口号;
设置第一打洞请求数据包的生存时间值;
根据所述第二主机的IP地址和端口号,向所述第二主机发送所述第一打洞请求数据包,使所述第一打洞请求数据包被发送到所述第一主机的NAT且不能被发送到所述第二主机的NAT;
向所述打洞服务器发送协助打洞请求,使所述打洞服务器向所述第二主机发送所述第一主机的IP地址和端口号,以使所述第二主机根据所述第一主机的IP地址和端口号向所述第一主机发送第二打洞请求数据包;
当接收到所述第二主机发送的第二打洞请求数据包时,向所述第二主机发送第三打洞请求数据包,所述第一主机与所述第二主机间的P2P连接建立。
优选的,所述设置第一打洞请求数据包的生存时间值,包括:
获取所述第一主机到目标节点的路由追踪结果,所述目标节点为所述第一主机的NAT网络外部的节点;
根据所述路由追踪结果,确定所述第一主机与所述目标节点之间公网地址网络地址前的私网地址网络节点数量M;
将所述第一打洞请求数据包的生存时间值设置为M+1。
可选的,所述获取所述第一主机到目标节点的路由追踪结果,包括:
获取所述第一主机到所述打洞服务器的路由追踪结果。
可选的,所述获取所述第一主机到目标节点的路由追踪结果,包括:
获取所述第一主机到预设服务器的路由追踪结果。
可选的,所述获取所述第一主机到目标节点的路由追踪结果,包括:
获取所述第一主机到所述第二主机的路由追踪结果。
一种NAT穿透装置,应用于第一主机,所述装置包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇艺世纪科技有限公司,未经北京奇艺世纪科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710840848.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种栽培食用菌用挤压装置
- 下一篇:一种多通激光晶体通光口扩大装置