CN110401645B - 数据穿透传输方法、装置、系统、客户端和存储介质 - Google Patents
数据穿透传输方法、装置、系统、客户端和存储介质 Download PDFInfo
- Publication number
- CN110401645B CN110401645B CN201910635983.9A CN201910635983A CN110401645B CN 110401645 B CN110401645 B CN 110401645B CN 201910635983 A CN201910635983 A CN 201910635983A CN 110401645 B CN110401645 B CN 110401645B
- Authority
- CN
- China
- Prior art keywords
- port
- called
- calling
- client
- data
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及一种数据穿透传输方法、装置、系统、客户端和存储介质。所述方法包括:基于UDP协议,通过服务器向被叫客户端发送穿透请求;穿透请求包括主叫IP端口;穿透请求用于指示被叫客户端通过服务器反馈被叫IP端口;在验证被叫IP端口有效、且接收到验证有效信号时,关闭主叫IP端口,采用DTLS协议绑定主叫IP端口和被叫IP端口以创建网络句柄;验证有效信号为被叫客户端验证主叫IP端口有效时反馈的信号;基于网络句柄,采用KCP协议向被叫客户端传输数据。采用本方法能够以高成功率进行打洞,保证穿透的高效,创建用于安全传输数据的网络句柄,保证数据传输过程的可靠性。
Description
技术领域
本申请涉及网络多媒体技术领域,特别是涉及一种数据穿透传输方法、装置、系统、客户端和存储介质。
背景技术
在网络数据传输中,存在两个位于不同内网中的客户端需要进行数据传输的情况,传统技术中一般利用服务器转发,或者通过TCP(Transmission Control Protocol传输控制协议)或UDP(Open System Interconnection,开放式系统互联)打洞后进行通信,然而,在实现过程中,发明人发现传统技术中至少存在如下问题:传统技术无法同时实现数据在处于不同内网中的客户端之间高效且可靠传输。
发明内容
基于此,有必要针对上述技术问题,提供一种能够数据高效且可靠传输的高效且可靠传输。
一种数据穿透传输方法,包括以下步骤:
基于UDP协议,通过服务器向被叫客户端发送穿透请求;穿透请求包括主叫IP端口;穿透请求用于指示被叫客户端通过服务器反馈被叫IP端口;
在验证被叫IP端口有效、且接收到验证有效信号时,关闭主叫IP端口,采用DTLS协议绑定主叫IP端口和被叫IP端口以创建网络句柄;验证有效信号为被叫客户端验证主叫IP端口有效时反馈的信号;
基于网络句柄,采用KCP协议向被叫客户端传输数据。
在其中一个实施例中,基于以下步骤验证被叫IP端口有效:
通过服务器向被叫IP端口发送验证数据;
若通过服务器接收到被叫客户端发送的反馈数据,则判断被叫IP端口有效;反馈数据为被叫客户端在通过被叫IP端口接收到验证数据时发送的数据。
在其中一个实施例中,主叫IP端口为外网IP端口和/或内网IP端口;被叫IP端口为外网IP端口和/或内网IP端口。
一种数据穿透传输方法,包括以下步骤:
通过服务器接收主叫客户端基于UDP协议发送的穿透请求;穿透请求包括主叫IP端口;
根据穿透请求,通过服务器向主叫客户端发送被叫IP端口;被叫IP端口用于指示主叫客户端在被叫IP端口验证有效、且接收到验证有效信号时,关闭主叫IP端口,创建网络句柄;网络句柄由主叫IP端口和被叫IP端口经主叫客户端采用DTLS协议绑定创建得到;验证有效信号为在验证主叫IP端口有效时,向主叫客户端发送的信号;
接收主叫客户端基于网络句柄、采用KCP协议传输的数据。
一种数据穿透传输方法,包括以下步骤:
主叫客户端基于UDP协议,通过服务器向被叫客户端发送穿透请求;穿透请求包括主叫IP端口;
被叫客户端根据穿透请求,通过服务器向主叫客户端反馈被叫IP端口,并在验证主叫IP端口有效时向主叫客户端发送验证有效信号;
主叫客户端在验证被叫IP端口有效、且接收到验证有效信号时,关闭主叫IP端口,采用DTLS协议绑定主叫IP端口和被叫IP端口以创建网络句柄;验证有效信号为被叫客户端在验证主叫IP端口有效时,向主叫客户端发送的信号;
主叫客户端基于网络句柄,采用KCP协议向被叫客户端传输数据。
一种数据穿透传输装置,包括:
请求发送模块,用于基于UDP协议,通过服务器向被叫客户端发送穿透请求;穿透请求包括主叫IP端口;穿透请求用于指示被叫客户端通过服务器反馈被叫IP端口;
句柄创建模块,用于在验证被叫IP端口有效、且接收到验证有效信号时,关闭主叫IP端口,采用DTLS协议绑定主叫IP端口和被叫IP端口以创建网络句柄;验证有效信号为被叫客户端验证主叫IP端口有效时反馈的信号;
穿透传输模块,用于基于网络句柄,采用KCP协议向被叫客户端传输数据。
一种数据穿透传输装置,包括:
请求接收模块,用于通过服务器接收主叫客户端基于UDP协议发送的穿透请求;穿透请求包括主叫IP端口;
端口发送模块,用于根据穿透请求,通过服务器向主叫客户端发送被叫IP端口;被叫IP端口用于指示主叫客户端在被叫IP端口验证有效、且接收到验证有效信号时,关闭主叫IP端口,创建网络句柄;网络句柄由主叫IP端口和被叫IP端口经主叫客户端采用DTLS协议绑定创建得到;验证有效信号为在验证主叫IP端口有效时,向主叫客户端发送的信号;
数据接收模块,用于接收主叫客户端基于网络句柄、采用KCP协议传输的数据。
一种主叫客户端,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现从主叫客户端侧执行的方法的步骤。
一种被叫客户端,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现从被叫客户端执行的方法的步骤。
一种数据穿透传输系统,包括主叫客户端、服务器以及被叫客户端;
服务器分别连接主叫客户端、被叫客户端;
主叫客户端用于实现从主叫客户端侧执行的方法的步骤;
被叫客户端用于实现从被叫客户端执行的方法的步骤。
上述技术方案中的一个技术方案具有如下优点和有益效果:
基于UDP协议,通过服务器向被叫客户端发送穿透请求;穿透请求包括主叫IP端口;穿透请求用于指示被叫客户端通过服务器反馈被叫IP端口;在验证被叫IP端口有效、且接收到验证有效信号时,关闭主叫IP端口,采用DTLS协议绑定主叫IP端口和被叫IP端口以创建网络句柄;验证有效信号为被叫客户端验证主叫IP端口有效时反馈的信号;基于网络句柄,采用KCP协议向被叫客户端传输数据,从而,本申请数据穿透传输方法能够以高成功率进行打洞,保证穿透的高效,创建用于安全传输数据的网络句柄,保证数据传输过程的可靠性。
附图说明
图1为一个实施例中数据穿透传输方法的应用环境图;
图2为一个实施例中从主叫客户端侧实施的数据穿透传输方法的流程示意图;
图3为一个实施例中验证被叫IP端口有效步骤的流程示意图;
图4为一个实施例中从被叫客户端侧实施的数据穿透传输方法的流程示意图;
图5为一个实施例中验证主叫IP端口有效步骤的流程示意图;
图6为一个实施例中从主叫客户端和被叫客户端两侧实施的数据穿透传输方法的流程示意图;
图7为一个实施例中主叫客户端内的数据穿透传输装置的结构框图;
图8为一个实施例中被叫客户端内的数据穿透传输装置的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的数据穿透传输方法,可以应用于如图1所示的应用环境中。其中,主叫客户端102与被叫客户端106为位于不同内网的两个客户端,并分别通过网络与服务器104通过网络进行通信。其中,主叫客户端102、被叫客户端106可以但不限于是各种个人计算机、笔记本电脑和平板电脑,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种从主叫客户端侧实施的数据穿透传输方法,以该方法应用于图1中的主叫客户端为例进行说明,包括以下步骤:
步骤S210,基于UDP协议,通过服务器向被叫客户端发送穿透请求;穿透请求包括主叫IP端口;穿透请求用于指示被叫客户端通过服务器反馈被叫IP端口。
需要说明的是,UDP(User Datagram Protocol,用户数据报协议)协议是一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。主叫客户端通过UDP协议通过服务器向被叫客户端发送穿透请求,其中,穿透请求携带有主叫IP端口。除上述之外还可采用以下方式向被叫客户端发送主叫IP端口:在穿透请求传输给被叫客户端时,服务器获取主叫客户端的主叫IP端口,并将主叫IP端口转发给被叫客户端。在主机客户端和被叫客户端之间穿透成功之后,主叫IP端口为被叫客户端向主叫客户端传输数据的地址。在一个示例中,主叫IP端口为外网IP端口,在另一个示例中,主叫IP端口为内网IP端口,在又一个示例中,主叫IP端口为外网IP端口和内网IP端口。
在被叫客户端接收到穿透请求之后,被叫客户端通过服务器向主叫客户端发送被叫IP端口,其中,在主机客户端和被叫客户端之间穿透成功之后,被叫IP端口为主叫客户端向被叫客户端传输数据的地址。在一个示例中,被叫IP端口为外网IP端口,在另一个示例中,被叫IP端口为内网IP端口,在又一个示例中,被叫IP端口为外网IP端口和内网IP端口。
步骤S220,在验证被叫IP端口有效、且接收到验证有效信号时,关闭主叫IP端口,采用DTLS协议绑定主叫IP端口和被叫IP端口以创建网络句柄;验证有效信号为被叫客户端验证主叫IP端口有效时反馈的信号。
需要说明的是,在主叫客户端获取到被叫IP端口,被叫客户端获取到主叫IP端口之后,主叫客户端需要验证被叫IP端口是否有效,被叫客户端需要验证主叫IP端口是否有效,只有在被叫IP端口和主叫IP端口都有效时,主叫客户端与被叫客户端之间的穿透才成功。
在一个示例中,如图3所示,基于以下步骤验证被叫IP端口有效:
步骤S310,通过服务器向被叫IP端口发送验证数据;
步骤S320,若通过服务器接收到被叫客户端发送的反馈数据,则判断被叫IP端口有效;反馈数据为被叫客户端在通过被叫IP端口接收到验证数据时发送的数据。
需要说明的是,主叫客户端通过服务器向获得到的被叫客户端的被叫IP端口发送任意内容的验证数据,被叫客户端接收能够正常通过被叫IP端口接收到验证数据,并在接收到验证数据之后向主叫客户端发送反馈数据,主叫客户端在接收到反馈数据时,则主机客户端验证被叫IP端口有效。
主叫客户端在验证被叫IP端口有效,且接收到被叫客户端验证主叫IP端口有效时反馈的验证有效信号后,主叫客户端关闭主叫IP端口,并指示被叫客户端关闭被叫IP端口,但是在服务器上的主叫IP端口和被叫IP端口不会立即关闭,主叫客户端采用DTLS(Datagram Transport Layer Security,数据包传输层安全性协议)协议绑定被叫IP端口和主叫IP端口以创建网络句柄。
步骤S230,基于网络句柄,采用KCP协议向被叫客户端传输数据。
需要说明的是,将步骤S220创建的网络句柄,给KCP()协议使用,即主叫客户端采用KCP协议向被叫客户端的被叫IP端口进行数据穿透传输。
本申请数据穿透传输方法的各实施例中,基于UDP协议,通过服务器向被叫客户端发送穿透请求;穿透请求包括主叫IP端口;穿透请求用于指示被叫客户端通过服务器反馈被叫IP端口;在验证被叫IP端口有效、且接收到验证有效信号时,关闭主叫IP端口,采用DTLS协议绑定主叫IP端口和被叫IP端口以创建网络句柄;验证有效信号为被叫客户端验证主叫IP端口有效时反馈的信号;基于网络句柄,采用KCP协议向被叫客户端传输数据,从而,本申请数据穿透传输方法能够以高成功率进行打洞,保证穿透的高效,创建用于安全传输数据的网络句柄,保证数据传输过程的可靠性。
在一个实施例中,如图4所示,提供了一种从被叫客户端侧实施的数据穿透传输方法,包括以下步骤:
步骤S410,通过服务器接收主叫客户端基于UDP协议发送的穿透请求;穿透请求包括主叫IP端口。
步骤S420,根据穿透请求,通过服务器向主叫客户端发送被叫IP端口;被叫IP端口用于指示主叫客户端在被叫IP端口验证有效、且接收到验证有效信号时,关闭主叫IP端口,创建网络句柄;网络句柄由主叫IP端口和被叫IP端口经主叫客户端采用DTLS协议绑定创建得到;验证有效信号为在验证主叫IP端口有效时,向主叫客户端发送的信号;
步骤S430,接收主叫客户端基于网络句柄、采用KCP协议传输的数据。
需要说明的是,本实施的详细描述请参照上述从主叫客户端侧实施的数据穿透传输方法各实施例记载的内容,此处不再赘述。
在一个示例中,如图5所示,基于以下步骤验证主叫IP端口有效:
步骤S510,通过服务器向主叫IP端口发送验证数据;
步骤S520,若通过服务器接收到主叫客户端发送的反馈数据,则判断主叫IP端口有效;反馈数据为主叫客户端在通过主叫IP端口接收到验证数据时发送的数据。
本申请数据穿透传输方法的各实施例中,采用UDP协议穿透主叫客户端和被叫客户端,采用DTLS协议绑定有效的IP端口创建网路句柄,并将句柄给KCP协议使用,使得穿透效率高,数据传输安全可靠。
在一个实施例中,如图6所示,提供了一种从主叫客户端和被叫客户端两侧实施的数据穿透传输方法,包括以下步骤:
步骤S610,主叫客户端基于UDP协议,通过服务器向被叫客户端发送穿透请求;穿透请求包括主叫IP端口;
步骤S620,被叫客户端根据穿透请求,通过服务器向主叫客户端反馈被叫IP端口,并在验证主叫IP端口有效时向主叫客户端发送验证有效信号;
步骤S630,主叫客户端在验证被叫IP端口有效、且接收到验证有效信号时,关闭主叫IP端口,采用DTLS协议绑定主叫IP端口和被叫IP端口以创建网络句柄;验证有效信号为被叫客户端在验证主叫IP端口有效时,向主叫客户端发送的信号;
步骤S640,主叫客户端基于网络句柄,采用KCP协议向被叫客户端传输数据。
需要说明的是,本实施的详细描述请参照上述从主叫客户端侧实施的数据穿透传输方法各实施例和从被叫客户端侧实施的数据穿透传输方法各实施例记载的内容,此处不再赘述。
本申请数据穿透传输方法的各实施例中,采用UDP协议穿透主叫客户端和被叫客户端,采用DTLS协议绑定有效的IP端口创建网路句柄,并将句柄给KCP协议使用,使得穿透效率高,数据传输安全可靠。
应该理解的是,虽然图2-6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-6中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图7所示,提供了一种置于主叫客户端内的数据穿透传输装置,包括:
请求发送模块71,用于基于UDP协议,通过服务器向被叫客户端发送穿透请求;穿透请求包括主叫IP端口;穿透请求用于指示被叫客户端通过服务器反馈被叫IP端口;
句柄创建模块73,用于在验证被叫IP端口有效、且接收到验证有效信号时,关闭主叫IP端口,采用DTLS协议绑定主叫IP端口和被叫IP端口以创建网络句柄;验证有效信号为被叫客户端验证主叫IP端口有效时反馈的信号;
穿透传输模块75,用于基于网络句柄,采用KCP协议向被叫客户端传输数据。
在一个实施例中,数据穿透传输装置还包括:
数据发送模块,用于通过服务器向IP端口发送验证数据;
有效验证模块,用于若通过服务器接收到被叫客户端发送的反馈数据,则判断IP端口有效;反馈数据为被叫客户端在通过IP端口接收到验证数据时发送的数据。
在一个实施例中,如图8所示,提供了一种置于被叫客户端内的一种数据穿透传输装置,包括:
请求接收模块81,用于通过服务器接收主叫客户端基于UDP协议发送的穿透请求;穿透请求包括主叫IP端口;
端口发送模块83,用于根据穿透请求,通过服务器向主叫客户端发送被叫IP端口;被叫IP端口用于指示主叫客户端在被叫IP端口验证有效、且接收到验证有效信号时,关闭主叫IP端口,创建网络句柄;网络句柄由主叫IP端口和被叫IP端口经主叫客户端采用DTLS协议绑定创建得到;验证有效信号为在验证主叫IP端口有效时,向主叫客户端发送的信号;
数据接收模块85,用于接收主叫客户端基于网络句柄、采用KCP协议传输的数据。
关于数据穿透传输装置的具体限定可以参见上文中对于数据穿透传输方法的限定,在此不再赘述。上述数据穿透传输装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种主叫客户端,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
基于UDP协议,通过服务器向被叫客户端发送穿透请求;穿透请求包括主叫IP端口;穿透请求用于指示被叫客户端通过服务器反馈被叫IP端口;
在验证被叫IP端口有效、且接收到验证有效信号时,关闭主叫IP端口,采用DTLS协议绑定主叫IP端口和被叫IP端口以创建网络句柄;验证有效信号为被叫客户端验证主叫IP端口有效时反馈的信号;
基于网络句柄,采用KCP协议向被叫客户端传输数据。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
通过服务器向被叫IP端口发送验证数据;
若通过服务器接收到被叫客户端发送的反馈数据,则判断被叫IP端口有效;反馈数据为被叫客户端在通过被叫IP端口接收到验证数据时发送的数据。
在一个实施例中,提供了一种被叫客户端,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
通过服务器接收主叫客户端基于UDP协议发送的穿透请求;穿透请求包括主叫IP端口;
根据穿透请求,通过服务器向主叫客户端发送被叫IP端口;被叫IP端口用于指示主叫客户端在被叫IP端口验证有效、且接收到验证有效信号时,关闭主叫IP端口,创建网络句柄;网络句柄由主叫IP端口和被叫IP端口主叫客户端采用DTLS协议绑定创建得到;验证有效信号为在验证主叫IP端口有效时,向主叫客户端发送的信号;
接收主叫客户端基于网络句柄、采用KCP协议传输的数据。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
通过服务器向主叫IP端口发送验证数据;
若通过服务器接收到主叫客户端发送的反馈数据,则判断主叫IP端口有效;反馈数据为主叫客户端在通过主叫IP端口接收到验证数据时发送的数据。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
基于UDP协议,通过服务器向被叫客户端发送穿透请求;穿透请求包括主叫IP端口;穿透请求用于指示被叫客户端通过服务器反馈被叫IP端口;
在验证被叫IP端口有效、且接收到验证有效信号时,关闭主叫IP端口,采用DTLS协议绑定主叫IP端口和被叫IP端口以创建网络句柄;验证有效信号为被叫客户端验证主叫IP端口有效时反馈的信号;
基于网络句柄,采用KCP协议向被叫客户端传输数据。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
通过服务器向被叫IP端口发送验证数据;
若通过服务器接收到被叫客户端发送的反馈数据,则判断被叫IP端口有效;反馈数据为被叫客户端在通过被叫IP端口接收到验证数据时发送的数据。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
通过服务器接收主叫客户端基于UDP协议发送的穿透请求;穿透请求包括主叫IP端口;
根据穿透请求,通过服务器向主叫客户端发送被叫IP端口;被叫IP端口用于指示主叫客户端在被叫IP端口验证有效、且接收到验证有效信号时,关闭主叫IP端口,创建网络句柄;网络句柄由主叫IP端口和被叫IP端口主叫客户端采用DTLS协议绑定创建得到;验证有效信号为在验证主叫IP端口有效时,向主叫客户端发送的信号;
接收主叫客户端基于网络句柄、采用KCP协议传输的数据。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
通过服务器向主叫IP端口发送验证数据;
若通过服务器接收到主叫客户端发送的反馈数据,则判断主叫IP端口有效;反馈数据为主叫客户端在通过主叫IP端口接收到验证数据时发送的数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种数据穿透传输方法,其特征在于,包括以下步骤:
基于UDP协议,通过服务器向被叫客户端发送穿透请求;所述穿透请求包括主叫IP端口;所述穿透请求用于指示所述被叫客户端通过所述服务器反馈被叫IP端口;
通过所述服务器向所述被叫IP端口发送验证数据;
若通过所述服务器接收到所述被叫客户端发送的反馈数据,则判断所述被叫IP端口有效;所述反馈数据为所述被叫客户端在通过所述被叫IP端口接收到所述验证数据时发送的数据;
在验证所述被叫IP端口有效、且接收到验证有效信号时,判定与所述被叫客户端之间穿透成功,关闭所述主叫IP端口并指示被叫客户端关闭被叫IP端口,采用DTLS协议绑定所述服务器上的所述主叫IP端口和所述服务器上的所述被叫IP端口以创建网络句柄;所述验证有效信号为所述被叫客户端验证所述主叫IP端口有效时反馈的信号;
基于所述网络句柄,采用KCP协议向所述被叫客户端传输数据。
2.根据权利要求1所述的数据穿透传输方法中,其特征在于,所述主叫IP端口为外网IP端口和/或内网IP端口;所述被叫IP端口为外网IP端口和/或内网IP端口。
3.一种数据穿透传输方法,其特征在于,包括以下步骤:
通过服务器接收主叫客户端基于UDP协议发送的穿透请求;所述穿透请求包括主叫IP端口;
通过所述服务器向所述主叫IP端口发送验证数据;
若通过所述服务器接收到所述主叫客户端发送的反馈数据,则判断所述主叫IP端口有效;所述反馈数据为所述主叫客户端在通过所述主叫IP端口接收到所述验证数据时发送的数据;
根据所述穿透请求,通过所述服务器向所述主叫客户端发送被叫IP端口;所述被叫IP端口用于指示所述主叫客户端在所述被叫IP端口验证有效、且接收到验证有效信号时,关闭所述主叫IP端口,创建网络句柄;所述网络句柄由所述主叫IP端口和被叫IP端口经所述主叫客户端采用DTLS协议绑定创建得到;所述验证有效信号为在验证所述主叫IP端口有效时,向所述主叫客户端发送的信号;
根据所述主叫客户端的指示关闭所述被叫IP端口;
接收所述主叫客户端基于所述网络句柄、采用KCP协议传输的数据。
4.一种数据穿透传输方法,其特征在于,包括以下步骤:
主叫客户端基于UDP协议,通过服务器向被叫客户端发送穿透请求;所述穿透请求包括主叫IP端口;
所述被叫客户端根据所述穿透请求,通过所述服务器向所述主叫客户端反馈被叫IP端口,所述被叫客户端还通过所述服务器向所述主叫IP端口发送验证数据,若通过所述服务器接收到所述主叫客户端发送的反馈数据,则判断所述主叫IP端口有效,并在验证所述主叫IP端口有效时向所述主叫客户端发送验证有效信号;
所述主叫客户端在通过所述主叫IP端口接收到所述验证数据向所述被叫客户端发送反馈数据,所述主叫客户端还通过所述服务器向所述被叫IP端口发送验证数据,以及若通过所述服务器接收到所述被叫客户端发送的反馈数据,则判断所述被叫IP端口有效,并在验证所述被叫IP端口有效、且接收到验证有效信号时,判定与所述被叫客户端之间穿透成功,关闭所述主叫IP端口并指示被叫客户端关闭被叫IP端口,采用DTLS协议绑定所述主叫IP端口和所述被叫IP端口以创建网络句柄;所述验证有效信号为所述被叫客户端在验证所述主叫IP端口有效时,向所述主叫客户端发送的信号;
所述主叫客户端基于所述网络句柄,采用KCP协议向所述被叫客户端传输数据。
5.一种数据穿透传输装置,其特征在于,包括:
请求发送模块,用于基于UDP协议,通过服务器向被叫客户端发送穿透请求;所述穿透请求包括主叫IP端口;所述穿透请求用于指示所述被叫客户端通过所述服务器反馈被叫IP端口;
数据发送模块,用于通过所述服务器向所述被叫IP端口发送验证数据;
有效验证模块,用于若通过所述服务器接收到所述被叫客户端发送的反馈数据,则判断所述被叫IP端口有效;所述反馈数据为被叫客户端在通过所述被叫IP端口接收到验证数据时发送的数据;
句柄创建模块,用于在验证所述被叫IP端口有效、且接收到验证有效信号时,判定与所述被叫客户端之间穿透成功,关闭所述主叫IP端口并指示被叫客户端关闭被叫IP端口,采用DTLS协议绑定所述主叫IP端口和所述被叫IP端口以创建网络句柄;所述验证有效信号为所述被叫客户端验证所述主叫IP端口有效时反馈的信号;
穿透传输模块,用于基于所述网络句柄,采用KCP协议向所述被叫客户端传输数据。
6.一种主叫客户端,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1或2中所述方法的步骤。
7.一种被叫客户端,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求3所述方法的步骤。
8.一种数据穿透传输系统,其特征在于,包括主叫客户端、服务器以及被叫客户端;
所述服务器分别连接所述主叫客户端、所述被叫客户端;
所述主叫客户端用于实现权利要求1或2所述方法的步骤;
所述被叫客户端用于实现权利要求3所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求2所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910635983.9A CN110401645B (zh) | 2019-07-15 | 2019-07-15 | 数据穿透传输方法、装置、系统、客户端和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910635983.9A CN110401645B (zh) | 2019-07-15 | 2019-07-15 | 数据穿透传输方法、装置、系统、客户端和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110401645A CN110401645A (zh) | 2019-11-01 |
CN110401645B true CN110401645B (zh) | 2021-11-19 |
Family
ID=68325486
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910635983.9A Active CN110401645B (zh) | 2019-07-15 | 2019-07-15 | 数据穿透传输方法、装置、系统、客户端和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110401645B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111176961B (zh) * | 2019-12-05 | 2022-03-29 | 腾讯科技(深圳)有限公司 | 一种应用程序测试方法、装置及存储介质 |
CN112019568B (zh) * | 2020-10-19 | 2021-02-02 | 北京太一星晨信息技术有限公司 | 一种报文转发方法、设备和通信方法、系统 |
CN113890896A (zh) * | 2021-09-24 | 2022-01-04 | 中移(杭州)信息技术有限公司 | 网络访问方法、通信设备及计算机可读存储介质 |
CN115955517B (zh) * | 2023-03-10 | 2023-07-28 | 北京太一星晨信息技术有限公司 | 一种报文处理方法、系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101330504A (zh) * | 2007-06-28 | 2008-12-24 | 中兴通讯股份有限公司 | 一种基于共享密钥的sip网络中传输层安全的实现方法 |
CN101951378A (zh) * | 2010-09-26 | 2011-01-19 | 北京品源亚安科技有限公司 | 用于ssl vpn的协议栈体系结构及数据处理方法 |
CN104735037A (zh) * | 2013-12-24 | 2015-06-24 | 中国移动通信集团公司 | 一种网络认证方法、装置及系统 |
CN105827748A (zh) * | 2016-05-12 | 2016-08-03 | 东莞市南星电子有限公司 | 一种基于ICE的SIP穿越Symmetric NAT设备的方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8266677B2 (en) * | 2000-12-20 | 2012-09-11 | Intellisync Corporation | UDP communication with a programmer interface over wireless networks |
US8121114B2 (en) * | 2009-02-12 | 2012-02-21 | Cisco Technology, Inc. | Prevention of voice over IP spam |
CN108540589A (zh) * | 2018-03-23 | 2018-09-14 | 西安电子科技大学 | 一种用于sip通信系统的网络穿越方法 |
-
2019
- 2019-07-15 CN CN201910635983.9A patent/CN110401645B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101330504A (zh) * | 2007-06-28 | 2008-12-24 | 中兴通讯股份有限公司 | 一种基于共享密钥的sip网络中传输层安全的实现方法 |
CN101951378A (zh) * | 2010-09-26 | 2011-01-19 | 北京品源亚安科技有限公司 | 用于ssl vpn的协议栈体系结构及数据处理方法 |
CN104735037A (zh) * | 2013-12-24 | 2015-06-24 | 中国移动通信集团公司 | 一种网络认证方法、装置及系统 |
CN105827748A (zh) * | 2016-05-12 | 2016-08-03 | 东莞市南星电子有限公司 | 一种基于ICE的SIP穿越Symmetric NAT设备的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110401645A (zh) | 2019-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110401645B (zh) | 数据穿透传输方法、装置、系统、客户端和存储介质 | |
CN110781482B (zh) | 登陆方法、装置、计算机设备和存储介质 | |
KR101741866B1 (ko) | Http를 통한 신뢰할만한 프로토콜 터널링을 위한 방법 및 시스템 | |
US8239670B1 (en) | Multi-aspect identifier in network protocol handshake | |
US7979694B2 (en) | Using TCP to authenticate IP source addresses | |
US7631180B2 (en) | System and method for implementing an enhanced transport layer security protocol | |
EP3907973A1 (en) | Method for establishing communication connection and proxy server | |
CN111666514A (zh) | 网页端实现跨域请求的数据处理方法、装置及相关设备 | |
US20130339736A1 (en) | Periodic platform based web session re-validation | |
CN108833265B (zh) | 消息处理方法、装置、服务器和存储介质 | |
CN110830516B (zh) | 一种网络访问方法、装置、网络控制设备及存储介质 | |
CN108306872B (zh) | 网络请求处理方法、装置、计算机设备和存储介质 | |
CN110769482B (zh) | 无线设备进行网络连接的方法、装置和无线路由器设备 | |
CN113746856B (zh) | Ssl可选验证方法、装置、计算机设备和存储介质 | |
WO2023045196A1 (zh) | 访问请求捕获方法、装置、计算机设备和存储介质 | |
CN101272389A (zh) | 一种cs通信方法、系统和装置 | |
CN110557387A (zh) | 跨网设备通信方法、装置、系统、服务器及可读存储介质 | |
KR101953552B1 (ko) | 단방향 전송 장치, 단방향 수신 장치 및 이를 이용한 단방향 재전송 방법 | |
CN110418345B (zh) | 身份认证方法、装置和计算机设备 | |
CN109818912B (zh) | 防范泛洪攻击的方法、装置、负载均衡设备和存储介质 | |
CN109873865B (zh) | 消息互通方法、消息互通系统、中心端、服务器和移动端 | |
CN110768886B (zh) | 应用程序自动连接vpn方法、装置、计算机设备和介质 | |
CN115333782A (zh) | 数据发送方法、数据接收方法、存储介质及计算机设备 | |
CN109981229B (zh) | Rlc层的数据处理方法、装置、计算机设备和存储介质 | |
CN111953742B (zh) | 一种页面重定向方法、终端设备、中间设备及服务器 |
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 | ||
CB02 | Change of applicant information |
Address after: 519000 No. 333, Kexing Road, Xiangzhou District, Zhuhai City, Guangdong Province Applicant after: ZHUHAI JIELI TECHNOLOGY Co.,Ltd. Address before: Floor 1-107, building 904, ShiJiHua Road, Zhuhai City, Guangdong Province Applicant before: ZHUHAI JIELI TECHNOLOGY Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |