CN110691113B - 一种双方为非对称型的nat的穿透方法 - Google Patents

一种双方为非对称型的nat的穿透方法 Download PDF

Info

Publication number
CN110691113B
CN110691113B CN201810738763.4A CN201810738763A CN110691113B CN 110691113 B CN110691113 B CN 110691113B CN 201810738763 A CN201810738763 A CN 201810738763A CN 110691113 B CN110691113 B CN 110691113B
Authority
CN
China
Prior art keywords
port
nat
address
packet
control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810738763.4A
Other languages
English (en)
Other versions
CN110691113A (zh
Inventor
何少琼
柯都敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Tuya Information Technology Co Ltd
Original Assignee
Hangzhou Tuya Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Tuya Information Technology Co Ltd filed Critical Hangzhou Tuya Information Technology Co Ltd
Priority to CN201810738763.4A priority Critical patent/CN110691113B/zh
Publication of CN110691113A publication Critical patent/CN110691113A/zh
Application granted granted Critical
Publication of CN110691113B publication Critical patent/CN110691113B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal

Abstract

本发明公开了一种双方为非对称型的NAT的穿透方法,在双方是非对称网络,在大部的情况下,都可以很顺利的进行NAT穿透,但是如果一方的网关有防DDOS攻击的设置,有可能是的原本很简单的穿透无法成功,本发明修正了传统的穿透流程,双方穿透依赖信令服务器同步状态,可以提升穿透的成功率。

Description

一种双方为非对称型的NAT的穿透方法
技术领域
本发明涉及互联网通信技术领域,尤其涉及一种双方为非对称型的NAT的穿透方法。
背景技术
P2P,是英文Peer to Peer的缩写,中译为对等互联或点对点技术。P2P技术可以让用户可以直接连接到其他用户的计算机,进行文件共享与交换,同时P2P在深度搜索、分布计算、协同工作等方面也大有用途。目前P2P在加强网络上人的交流、文件交换、分布式计算、服务共享等方面已经充分显示出了其强大的技术优势,但是P2P的应用主要还是集中在Internet应用中,随着互联网大规模普及,p2p传输需求越来越大。
NAT(Network Address Translator)技术通过将只能作为局域网内部地址而在因特网上不能被识别或直接使用的私有IP地址映射为Internet上合法IP地址,实现私有网络中节点对Internet的访问。NAT设备位于互联网与局域网之间,有翻译网络地址和保护网络安全的作用。但是NAT之后的主机不能作为服务器向外部网络提供服务,位于不同NAT之后的主机间也无法互相通信。因而NAT的穿透对P2P技术应用有重要意义。
NAT的四种类型:
(1)完全圆锥(Full Cone)NAT
完全锥形NAT将从同个内网IP与端口号发出的所有请求映射为相同的外部IP地址与端口号。同理,任何外网主机能够通过向这个内网主机被映射过的外网地址发送数据包。
(2)受限圆锥(Restricted Cone)NAT
受限锥形NAT将从同个内部IP地址和端口号发出的所有请求映射为相同的外部IP地址与端口号。但与完全锥形NAT不同的是,外网主机(IP地址为X)只能够向先前向IP地址X发送过数据包的内部主机发送数据,从而可以拒绝非请求的(unsolicited)包,支持数据包过滤功能。
(3)端口受限锥形(Port Restricted Cone)NAT
端口受限锥形NAT与受限锥形NAT类似,不同的是加了端口号的限制。IP地址为X,端口号P的外部主机只能够向先前已经向IP地址X、端口号P发送过数据包的内部主机发送数据包。
(4)对称型(Symmetric)NAT
对称型NAT将把从相同的内部IP地址与端口号发出,以及目的IP地址与端口号也相同的所有请求映射为相同的外部IP地址和端口号。数据包在经过此类型的NAT时候,源地址与端口即使相同,但目的地不同的话,将为其分配不同的映射地址。此外,只有提前收到内网主机X发来数据包的外部主机才可以向该内部主机发送数据包。
发明内容
本发明所述的一种双方为非对称型的NAT的穿透方法,包括以下步骤:
第一步,Controller获取NAT映射地址X-IP:PORT;第二步,获取设备和X-IP:PORT所需要的TTL值n;第三步,向Controlling发送request信令;第四步,收到request信令后,controlling获取NAT映射地址Y-IP:PORT;第五步,获取设备和Y-IP:PORT所需要的TTL值m;第六步,往X-IP:PORT发送UDP,设置TTL值为m;第七步,向Controller发送Respond,第八步,收到Controlling的Respond后,往Y-IP:PORT发送UDP包,第九步,Controlling收到来自NAT地址X-IP:PORT的UDP包后,取消UDP包TTL的设置,往X-IP:PORT继续发送;第十步,Controller收到来自NAT地址Y-IP:PORT的UDP包后,确认NAT穿透成功。
较佳地,位于NAT以外的公网上的主机,实现对NAT穿透,以P2P方式对NAT内的物联网嵌入式终端进行数据探测和控制,位于不同NAT内的主机实现NAT设备的穿透,达到不同局域网之间以及外网与局域网设备之间基于NAT内物联网嵌入式设备和通用设备传感和控制数据的双向传输,适配器用于同时连接多个不同的传感器和受控设备,一个适配器上提供多个标准协议接口,用于将各设备通过一个适配器同时被公网客户端访问。
较佳地,位于局域网内的适配器B主动向位于公网的穿透服务器S发送UDP数据包,穿透服务器S返回初始化信息,其中包括适配器的内网地址和端口、NAT映射地址和端口、穿透服务器S转发消息的地址和端口。
较佳地,向适配器B发起连接请求的客户端A也向位于公网的穿透服务器S发送UDP数据包,穿透服务器S返回初始化信息,其中包括适配器B的内网地址和端口、NAT映射地址和端口、穿透服务器S转发消息的地址和端口。
较佳地,当客户端A的注册完成之后,穿透服务器S的数据库中会有每个客户相应的地址和端口记录,当客户端A要与NAT后的适配器B进行通信时,会向穿透服务器S发起请求,获得适配器B的可能IP地址和端口,包括内网IP地址和端口、NAT映射地址和端口、服务器S转发地址和端口。
较佳地,请求访问的客户端A获得了适配器B的基本信息后,会从这些信息里面提取出部分信息,主要是穿透的适配器B的内网IP地址和端口、NAT映射地址和端口、服务器S转发地址和端口,用于NAT穿透协商时使用。
较佳地,客户端A和适配器B根据各自获得的对方地址和端口信息,互相发送穿透信息,尝试以STUN、TURN来源中收集尽可能多的可能被连通的IP地址。
较佳地,按照地址的优先级依次测试,选择最优路径;在STUN能穿透的情况下,走STUN协议打通的直连通道,当STUN无法穿透时,则走TURN转发的方式。
较佳地,通过适配器实现NAT穿透,并通过TCP/IP网络协议与各传感器设备协议的转换,从而实现从公网对NAT内网传感器数据的读取。
较佳地,通过适配器实现NAT穿透,并通过TCP/IP网络协议与各传感器设备协议的转换,从而实现从公网对NAT内网中物联网设备的控制。
本发明所述的一种双方为非对称型的NAT的穿透方法,包括以下步骤:
1.controler获取nat类型以及nat映射地址以及端口(X-IP:PORT1/X-IP1:)
2.controler通过信令服务器向controling发送你的nat类型以及nat映射地址以及端口(X-IP:PORT),以及Ip包到网关需要的ttl值n,controling获取nat类型以及nat映射地址以及端口(Y-IP:PORT)以及Ip包到网关需要的ttl值m,controlling往X-IP:PORT发送udp包并且设置ttl值为m,并把它的nat映射地址通过信令服务器返回给controler
3.controller获取对端的nat映射地址后,controller往Y-IP:PORT发送udp包.
4.controlling收到对端nat穿越udp包后,controlling往X-IP:PORT发送udp包
5.controller收到nat穿越的udp包后整个穿透流程结束
在双方是非对称网络,在大部的情况下,都可以很顺利的进行nat穿透,但是如果一方的网关有防ddos攻击的设置,有可能是的原本很简单的穿透无法成功,本发明修正了传统的穿透流程,双方穿透依赖信令服务器同步状态,可以提升穿透的成功率。
附图说明
图1为本发明实施提供的一种较佳实施例的流程图。
具体实施方式
下面结合附图和具体实施方式对本发明做进一步描述。
本发明所述的一种双方为非对称型的NAT的穿透方法,包括以下步骤:
1.controler获取nat类型以及nat映射地址以及端口(X-IP:PORT1/X-IP1:)
2.controler通过信令服务器向controling发送你的nat类型以及nat映射地址以及端口(X-IP:PORT),以及Ip包到网关需要的ttl值n,controling获取nat类型以及nat映射地址以及端口(Y-IP:PORT)以及Ip包到网关需要的ttl值m,controlling往X-IP:PORT发送udp包并且设置ttl值为m,并把它的nat映射地址通过信令服务器返回给controler
3.controller获取对端的nat映射地址后,controller往Y-IP:PORT发送udp包.
4.controlling收到对端nat穿越udp包后,controlling往X-IP:PORT发送udp包
5.controller收到nat穿越的udp包后整个穿透流程结束
在双方是非对称网络,在大部的情况下,都可以很顺利的进行nat穿透,但是如果一方的网关有防ddos攻击的设置,有可能是的原本很简单的穿透无法成功,本实施例修正了传统的穿透流程,双方穿透依赖信令服务器同步状态,可以提升穿透的成功率。
在本发明的另一个实施例中,如图1所示,从Controler开始,第一步Controler获取NAT映射地址X-IP:PORT;第二步,获取设备和X-IP:PORT所需要的TTL值n;第三步,向Controlling发送request信令;第四步,收到request信令后,controlling获取NAT映射地址Y-IP:PORT;第五步,获取设备和Y-IP:PORT所需要的TTL值m;第六步,往X-IP:PORT发送UDP,设置TTL值为m;第七步,向Controller发送Respond,第八步,收到Controlling的Respond后,往Y-IP:PORT发送UDP包,第九步,Controlling收到来自NAT地址X-IP:PORT的UDP包后,取消UDP包TTL的设置,往X-IP:PORT继续发送;第十步,Controller收到来自NAT地址Y-IP:PORT的UDP包后,确认NAT穿透成功。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

Claims (1)

1.一种双方为非对称型的NAT的穿透方法,其特征在于,包括以下步骤:第一步,Controller获取NAT映射地址X-IP:PORT;第二步,获取设备和X-IP:PORT所需要的TTL值n;第三步,向Controlling发送request信令;第四步,收到request信令后,controlling获取NAT映射地址Y-IP:PORT;第五步,获取设备和Y-IP:PORT所需要的TTL值m;第六步,往X-IP:PORT发送UDP,设置TTL值为m;第七步,向Controller发送Respond,第八步,收到Controlling的Respond后,往Y-IP:PORT发送UDP包,第九步,Controlling收到来自NAT地址X-IP:PORT的UDP包后,取消UDP包TTL的设置,往X-IP:PORT继续发送;第十步,Controller收到来自NAT地址Y-IP:PORT的UDP包后,确认NAT穿透成功。
CN201810738763.4A 2018-07-06 2018-07-06 一种双方为非对称型的nat的穿透方法 Active CN110691113B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810738763.4A CN110691113B (zh) 2018-07-06 2018-07-06 一种双方为非对称型的nat的穿透方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810738763.4A CN110691113B (zh) 2018-07-06 2018-07-06 一种双方为非对称型的nat的穿透方法

Publications (2)

Publication Number Publication Date
CN110691113A CN110691113A (zh) 2020-01-14
CN110691113B true CN110691113B (zh) 2023-05-05

Family

ID=69107503

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810738763.4A Active CN110691113B (zh) 2018-07-06 2018-07-06 一种双方为非对称型的nat的穿透方法

Country Status (1)

Country Link
CN (1) CN110691113B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112437168B (zh) * 2020-11-13 2023-09-01 广州朗国电子科技股份有限公司 一种内网穿透系统
CN112449024B (zh) * 2020-11-13 2022-12-30 广州朗国电子科技股份有限公司 一种nat模拟网关的内网穿透方法、设备、存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1561066A (zh) * 2004-03-10 2005-01-05 福州骏飞信息科技有限公司 Udp数据报通讯传输方法
CN101599992A (zh) * 2009-05-27 2009-12-09 南京欣网视讯科技股份有限公司 基于sip的p2pnat穿越解决方案
CN103546389A (zh) * 2012-07-09 2014-01-29 中国电信股份有限公司 降低stun服务器负载的方法、装置和系统
CN103957287A (zh) * 2014-04-25 2014-07-30 浙江大学城市学院 一种基于nat穿透适配器的物联网设备p2p连接方法
WO2017166808A1 (zh) * 2016-03-30 2017-10-05 上海斐讯数据通信技术有限公司 一种通过穿透nat实现p2p通信的方法、设备、服务器及系统
CN107580081A (zh) * 2017-09-18 2018-01-12 北京奇艺世纪科技有限公司 一种nat穿透方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1561066A (zh) * 2004-03-10 2005-01-05 福州骏飞信息科技有限公司 Udp数据报通讯传输方法
CN101599992A (zh) * 2009-05-27 2009-12-09 南京欣网视讯科技股份有限公司 基于sip的p2pnat穿越解决方案
CN103546389A (zh) * 2012-07-09 2014-01-29 中国电信股份有限公司 降低stun服务器负载的方法、装置和系统
CN103957287A (zh) * 2014-04-25 2014-07-30 浙江大学城市学院 一种基于nat穿透适配器的物联网设备p2p连接方法
WO2017166808A1 (zh) * 2016-03-30 2017-10-05 上海斐讯数据通信技术有限公司 一种通过穿透nat实现p2p通信的方法、设备、服务器及系统
CN107580081A (zh) * 2017-09-18 2018-01-12 北京奇艺世纪科技有限公司 一种nat穿透方法及装置

Also Published As

Publication number Publication date
CN110691113A (zh) 2020-01-14

Similar Documents

Publication Publication Date Title
US7159242B2 (en) Secure IPsec tunnels with a background system accessible via a gateway implementing NAT
US7609701B2 (en) Communication using private IP addresses of local networks
USRE43057E1 (en) Method and apparatus for facilitating peer-to-peer application communication
US20040148439A1 (en) Apparatus and method for peer to peer network connectivty
AU2009304186B2 (en) NAT traversal method and apparatus
US20040044778A1 (en) Accessing an entity inside a private network
TWI441493B (zh) 網路位址轉換的系統與方法
CN105376299B (zh) 一种网络通信方法、设备及网络附属存储设备
US20050015510A1 (en) Method for implementing transparent gateway or proxy in a network
JPWO2005027438A1 (ja) パケット中継装置
WO2007041417A1 (en) Peer-to-peer communication traversing symmetric network address translators
WO2006068024A1 (ja) アドレス変換装置およびアドレス変換方法
US8978126B2 (en) Method and system for TCP turn operation behind a restrictive firewall
EP2466806B1 (en) Method and system for implementing network intercommunication
CN110691113B (zh) 一种双方为非对称型的nat的穿透方法
JP3666654B2 (ja) インターネット通信方法{AmethodforanInternetCommunication}
US8873569B2 (en) User centric virtual network and method of establishing the same
KR100587560B1 (ko) 링크 로컬 주소를 가지는 시스템에서 외부 시스템과통신하는 방법 및 장치
CA2884382C (en) Method and system for tcp turn operation behind a restrictive firewall
KR101124635B1 (ko) IPv4/IPv6 연동 게이트웨이
JP4769877B2 (ja) Ipsecセキュリティ・アソシエーションを折衝するときのネットワーク・トポロジの検出
US11233675B2 (en) System and method for enabling coexisting hotspot and DMZ
CN117439815B (zh) 一种基于反向透明桥接的内网穿透系统及方法
Marques et al. User-centric, private networks of services
Daigle et al. NAT traversal in peer-to-peer architecture

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant