CN109951562B - Nat穿透方法和系统、电子设备和存储介质 - Google Patents

Nat穿透方法和系统、电子设备和存储介质 Download PDF

Info

Publication number
CN109951562B
CN109951562B CN201910248670.8A CN201910248670A CN109951562B CN 109951562 B CN109951562 B CN 109951562B CN 201910248670 A CN201910248670 A CN 201910248670A CN 109951562 B CN109951562 B CN 109951562B
Authority
CN
China
Prior art keywords
terminal
network address
operator
server
target
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
CN201910248670.8A
Other languages
English (en)
Other versions
CN109951562A (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.)
Shenzhen Onething Technology Co Ltd
Original Assignee
Shenzhen Onething 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 Shenzhen Onething Technology Co Ltd filed Critical Shenzhen Onething Technology Co Ltd
Priority to CN201910248670.8A priority Critical patent/CN109951562B/zh
Priority to PCT/CN2019/093679 priority patent/WO2020199396A1/zh
Publication of CN109951562A publication Critical patent/CN109951562A/zh
Application granted granted Critical
Publication of CN109951562B publication Critical patent/CN109951562B/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
    • H04L61/00Network arrangements, protocols or services for addressing or naming

Abstract

本发明公开了一种NAT穿透方法,包括:接收第一终端发送的与第二终端进行连接的连接请求,获取所述第一终端的第一网络地址;获取所述第二终端注册的打洞服务器以及所述打洞服务器包括的多个网络地址;从所述多个网络地址中获取与所述第一网络地址属于相同的运营商的目标网络地址;向所述第一终端发送所述目标网络地址,以使所述第一终端向所述目标网络地址发送连接信息,与所述第二终端进行数据传输。本发明还公开了一种NAT穿透系统、电子设备和计算机可读存储介质。本发明能够提高打洞时数据发送的成功率,减少打洞服务器的负载。

Description

NAT穿透方法和系统、电子设备和存储介质
技术领域
本发明涉及通信技术领域,尤其涉及NAT穿透方法和系统、电子设备和存储介质。
背景技术
网络地址转换(Network Address Translation,NAT)是一种网络地址翻译技术。NAT穿透(也可称打洞)是指在使用了NAT设备的私有网络中将主机之间建立连接。
一般情况下,需要穿透的对象处在比较复杂的网络运营商环境中,比如联通网络、电信网络、移动网络、教育网络、广电网络等,因此在实现NAT穿透时往往将多个打洞服务器部署在三线机房或者BGP多线机房中,这种情况下每个打洞服务器上可能包含多个IP(例如分别属于电信、移动、联通的三个IP),在进行NAT穿透时,打洞双方(即打洞对象和被打洞对象)可能注册到不同的打洞服务器上,进而在发送信令时,出现打洞的一方(如打洞对象)向打洞的另一方注册的打洞服务器上的多个IP发送请求包,从而产生跨运营商发送信令包,跨运营商发送信令包会导致消息不可达或者延时较大,也会导致不断发送重试信令包,导致打洞服务器的负载增加。
发明内容
本发明的主要目的在于提供NAT穿透方法和系统、电子设备和存储介质,旨在提高打洞时数据发送的成功率,减少打洞服务器的负载。
为实现上述目的,本发明提供一种NAT穿透方法,所述方法包括:
接收第一终端发送的与第二终端进行连接的连接请求,获取所述第一终端的第一网络地址;
获取所述第二终端注册的打洞服务器以及所述打洞服务器包括的多个网络地址;
从所述多个网络地址中获取与所述第一网络地址属于相同的运营商的目标网络地址;
向所述第一终端发送所述目标网络地址,以使所述第一终端向所述目标网络地址发送连接信息,与所述第二终端进行数据传输。
可选地,所述第一终端与所述第二终端属于相同的运营商,所述第一终端注册的打洞服务器与所述第一终端属于相同的运营商,所述第二终端注册的打洞服务器与所述第二终端属于相同的运营商。
可选地,所述方法还包括:
接收所述第二终端发送的访问请求,获取所述第二终端的连网信息;
根据所述连网信息确定所述第二终端所属的目标运营商;
获取属于所述目标运营商的打洞服务器;
将属于所述目标运营商的打洞服务器的网络信息发送至所述第二终端,所述第二终端通过所述网络信息注册至属于所述目标运营商的打洞服务器。
可选地,所述第二终端的连网信息包括所述第二终端的第二网络地址,所述根据所述连网信息确定所述第二终端所属的目标运营商包括:
从预设IP数据库匹配所述第二终端的第二网络地址对应的网络运营商,确定所述网络运营商为所述第二终端所属的目标运营商。
可选地,所述第一终端的第一网络地址为所述第一终端的外网地址,所述从所述多个网络地址中获取与所述第一网络地址属于相同的运营商的目标网络地址包括:
根据所述外网地址确定所述第一终端所属的第一运营商;
获取所述多个网络地址中属于所述第一运营商的目标网络地址。
为实现上述目的,本发明进一步提供一种电子设备,所述存储器上存储有可在所述处理器上运行的NAT穿透程序,所述NAT穿透程序被所述处理器执行时实现所述NAT穿透方法。
为实现上述目的,本发明进一步提供一种NAT穿透系统,所述系统包括:
第一获取单元,用于接收第一终端发送的与第二终端进行连接的连接请求,获取所述第一终端的第一网络地址;
第二获取单元,用于获取所述第二终端注册的打洞服务器以及所述打洞服务器包括的多个网络地址;
第三获取单元,用于从所述多个网络地址中获取与所述第一网络地址属于相同的运营商的目标网络地址;
发送单元,用于向所述第一终端发送所述目标网络地址,以使所述第一终端向所述目标网络地址发送连接信息,与所述第二终端进行数据传输。
可选地,所述第一终端与所述第二终端属于相同的运营商,所述第一终端注册的打洞服务器与所述第一终端属于相同的运营商,所述第二终端注册的打洞服务器与所述第二终端属于相同的运营商。
可选地,所述装置还包括:
第四获取单元,用于接收所述第二终端发送的访问请求,获取所述第二终端的连网信息;
确定单元,用于根据所述连网信息确定所述第二终端所属的目标运营商;
第五获取单元,用于获取属于所述目标运营商的打洞服务器;
所述发送单元,还用于将属于所述目标运营商的打洞服务器的网络信息发送至所述第二终端,所述第二终端通过所述网络信息注册至属于所述目标运营商的打洞服务器。
可选地,所述第二终端的连网信息包括所述第二终端的第二网络地址,所述确定模块具体用于:
从预设IP数据库匹配所述第二终端的第二网络地址对应的网络运营商,确定所述网络运营商为所述第二终端所属的目标运营商。
可选地,所述第一终端的第一网络地址为所述第一终端的外网地址,所述第三获取模块具体用于:
根据所述外网地址确定所述第一终端所属的第一运营商;
获取所述多个网络地址中属于所述第一运营商的目标网络地址。
一种NAT穿透方法,应用于第一终端,所述方法包括:
向服务器发送与第二终端进行连接的连接请求;
当接收到所述服务器发送的目标网络地址时,向所述目标网络地址发送连接信息,与第二终端进行数据传输,所述目标网络地址为所述服务器获取所述第二终端注册的打洞服务器以及所述打洞服务器包括的多个网络地址后,从所述多个网络地址中获取与所述第一网络地址属于相同的运营商的网络地址。
一种NAT穿透方法,应用于第二终端,所述方法包括:
注册打洞服务器,所述打洞服务器包括多个网络地址;
当检测到第一终端向所述目标网络地址发送连接信息时,与所述第一终端进行数据传输。
为实现上述目的,本发明进一步提供一种计算机可读存储介质,所述计算机可读存储介质上存储有NAT穿透程序,所述NAT穿透程序可被一个或者多个处理器执行,以实现所述NAT穿透方法。
本发明接收第一终端发送的与第二终端进行连接的连接请求,获取所述第一终端的第一网络地址;获取所述第二终端注册的打洞服务器以及所述打洞服务器包括的多个网络地址;从所述多个网络地址中获取与所述第一网络地址属于相同的运营商的目标网络地址;向所述第一终端发送所述目标网络地址,以使所述第一终端向所述目标网络地址发送连接信息,与所述第二终端进行数据传输。由于在接收到第一终端发送的与第二终端进行连接的连接请求之后,向第一终端返回了第二终端注册的打洞服务器上的网络地址,并且该网络地址与第一终端属于相同的运营商,从而避免了跨运营商发送信令导致的消息不可达或延时以及不断重试信令包的问题,实现了提高打洞时数据发送的成功率,减少打洞服务器的负载的目的。
附图说明
图1为本发明NAT穿透方法一实施例的流程示意图;
图2为本发明NAT穿透系统一实施例功能模块示意图;
图3为本发明实施例提供的电子设备的内部结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
本发明提供一种NAT穿透方法。
参照图1,图1为本发明NAT穿透方法的第一实施例的流程示意图。
在NAT穿透方法的第一实施例中,该方法包括:
S11,接收第一终端发送的与第二终端进行连接的连接请求,获取所述第一终端的第一网络地址。
本实施例中,所述第一终端以及所述第二终端为进行NAT穿透的双方,或者称为进行打洞的双方,其中第一终端可以是被打洞方,或者是打洞方。并且,所述第一终端以及所述第二终端可以为相同类型或者不同类型的电子设备。
在一可选实施例中,打洞服务器接收第一终端发送的与第二终端进行连接的连接请求,获取第一终端的第一网络地址,该打洞服务器可以是第一终端注册的打洞服务器,或者是打洞服务器集群中的主打洞服务器。
本实施例中,所述第一终端的第一网络地址为第一终端的IP地址。
在本发明一实施例中,所述第一终端与所述第二终端属于相同的运营商。
当第一终端与第二终端属于相同的运营商,表明第一终端与第二终端处于相同的运营商提供的网络内。
例如,第一终端属于电信运营商,并且第二终端也属于电信运营商,则第一终端与第二终端都处于电信运营商提供的网络内。
S12,获取所述第二终端注册的打洞服务器以及所述打洞服务器包括的多个网络地址。
在本实施例中,第一终端和第二终端可以注册到不同的打洞服务器上,并且第一终端注册的打洞服务器以及第二终端注册的打洞服务器上都可以包括多个网络地址。
例如,第二终端注册的打洞服务器包括的多个网络地址分别属于电信网络地址、移动网路地址和联通网络地址。
在本发明一可选实施例中,所述第一终端注册的打洞服务器与所述第一终端属于相同的运营商,所述第二终端注册的打洞服务器与所述第二终端属于相同的运营商。
例如,第一终端注册的打洞服务器与第一终端属于的运营商都为电信,第二终端注册的打洞服务器与第二终端属于的运营商都为电信。
当第一终端与第二终端也都属于相同的运营商时,第一终端与第二终端注册的打洞服务器也在相同的运营商提供的网络内。
进一步的,当第一终端注册的打洞服务器有多个网络地址时,第一终端注册到多个网路地址中与第一终端属于相同运营商的网络地址上;当第二终端注册的打洞服务器有多个网络地址时,第二终端注册到多个网路地址中与第二终端属于相同运营商的网络地址上。
可选的,在本发明另一实施例中,通过以下步骤实现将第二终端注册到与第二终端属于相同运营商的打洞服务器上,所述方法还包括:
接收所述第二终端发送的访问请求,获取所述第二终端的连网信息;
根据所述连网信息确定所述第二终端所属的目标运营商;
获取属于所述目标运营商的打洞服务器;
将属于所述目标运营商的打洞服务器的网络信息发送至所述第二终端,所述第二终端通过所述网络信息注册至属于所述目标运营商的打洞服务器。
在本实施例中,在接收到第二终端发送的访问请求之后,获取第二终端的连网信息,进而根据第二终端的连网信息确定与第二终端属于相同运营商的打洞服务器,并向第二终端返回该打洞服务器的网络信息,其中网络信息可以为网络地址,从而使得第二终端向该打洞服务器发送注册请求,进而注册至该打洞服务器。
在本发明其他实施例中,将第一终端注册到与第一终端属于相同运营商的打洞服务器上也可以通过上述类似步骤进行。例如,由打洞服务器集群中的主打洞服务器根据上述步骤向第二终端发送与第二终端属于相同运营商的打洞服务器的网络信息,以及向第一终端发送与第一终端属于相同运营商的打洞服务器的网络信息。
通过本实施例,可以使得第二终端在注册到打洞服务器时,不会跨运营商发送注册请求,避免接收不到发送注册请求之后的反馈信息,以及避免因没有接收到反馈信息导致的不断重复发送注册请求,避免增加系统负载。
进一步的,在本发明另一实施例中,所述第二终端的连网信息包括所述第二终端的第二网络地址,所述根据所述连网信息确定所述第二终端所属的目标运营商包括:
从预设IP数据库匹配所述第二终端的第二网络地址对应的网络运营商,确定所述网络运营商为所述第二终端所属的目标运营商。
其中,所述第二终端的第二网络地址即为第二终端的IP地址。
本实施例中,通过从预设IP数据库匹配第二终端的第二网络地址对应的网络运营商可以准确的确定第二终端所属的目标运营商。
S13,从所述多个网络地址中获取与所述第一网络地址属于相同的运营商的目标网络地址。
可选的,所述目标网络地址为所述服务器获取所述第二终端注册的打洞服务器以及所述打洞服务器包括的多个网络地址后,从所述多个网络地址中获取与所述第一网络地址属于相同的运营商的网络地址。
可选的,所述第一终端的第一网络地址为所述第一终端的外网地址,所述从所述多个网络地址中获取与所述第一网络地址属于相同的运营商的目标网络地址包括:
根据所述外网地址确定所述第一终端所属的第一运营商;
获取所述多个网络地址中属于所述第一运营商的目标网络地址。
例如,第一网络地址属于电信运营商,则获取多个网络地址中属于电信运营商的目标网络地址。
S14,向所述第一终端发送所述目标网络地址,以使所述第一终端向所述目标网络地址发送连接信息,与所述第二终端进行数据传输。
本实施例中,所述连接信息包括与第二终端进行连接的信息,当第一终端与第二终端建立连接后,第一终端与第二终端之间可以互相进行数据传输。
在本实施例中,当向第一终端发送目标网络地址之后,使得第一终端可以向第二终端注册的打洞服务器上的该目标网络地址发送连接信息,而不会向第二终端注册的打洞服务器上的目标网络地址以外的其他网络地址发送连接信息,避免了跨运营商的信令发送,提高了信令发送的可靠性。
本实施例接收第一终端发送的与第二终端进行连接的连接请求,获取所述第一终端的第一网络地址;获取所述第二终端注册的打洞服务器以及所述打洞服务器包括的多个网络地址;从所述多个网络地址中获取与所述第一网络地址属于相同的运营商的目标网络地址;向所述第一终端发送所述目标网络地址,以使所述第一终端向所述目标网络地址发送连接信息,与所述第二终端进行数据传输。由于在接收到第一终端发送的与第二终端进行连接的连接请求之后,向第一终端返回了第二终端注册的打洞服务器上的网络地址,并且该网络地址与第一终端属于相同的运营商,从而避免了跨运营商发送信令导致的消息不可达或延时以及不断重试信令包的问题,实现了提高打洞时数据发送的成功率,减少打洞服务器的负载的目的。
图2为发明NAT穿透系统的一实施例的功能模块示意图,所述NAT穿透系统应用于电子设备中。
如图2所示,所述NAT穿透系统可以包括:第一获取单元201,第二获取单元202,第三获取单元203和发送单元204。
第一获取单元201,用于接收第一终端发送的与第二终端进行连接的连接请求,获取所述第一终端的第一网络地址。
本实施例中,所述第一终端以及所述第二终端为进行NAT穿透的双方,或者称为进行打洞的双方,其中第一终端可以是被打洞方,或者是打洞方。并且,所述第一终端以及所述第二终端可以为相同类型或者不同类型的电子设备。
在一可选实施例中,打洞服务器接收第一终端发送的与第二终端进行连接的连接请求,获取第一终端的第一网络地址,该打洞服务器可以是第一终端注册的打洞服务器,或者是打洞服务器集群中的主打洞服务器。
本实施例中,所述第一终端的第一网络地址为第一终端的IP地址。
在本发明一实施例中,所述第一终端与所述第二终端属于相同的运营商。
当第一终端与第二终端属于相同的运营商,表明第一终端与第二终端处于相同的运营商提供的网络内。
例如,第一终端属于电信运营商,并且第二终端也属于电信运营商,则第一终端与第二终端都处于电信运营商提供的网络内。
第二获取单元202,用于获取所述第二终端注册的打洞服务器以及所述打洞服务器包括的多个网络地址。
在本实施例中,第一终端和第二终端可以注册到不同的打洞服务器上,并且第一终端注册的打洞服务器以及第二终端注册的打洞服务器上都可以包括多个网络地址。
例如,第二终端注册的打洞服务器包括的多个网络地址分别属于电信网络地址、移动网路地址和联通网络地址。
在本发明一可选实施例中,所述第一终端注册的打洞服务器与所述第一终端属于相同的运营商,所述第二终端注册的打洞服务器与所述第二终端属于相同的运营商。
例如,第一终端注册的打洞服务器与第一终端属于的运营商都为电信,第二终端注册的打洞服务器与第二终端属于的运营商都为电信。
当第一终端与第二终端也都属于相同的运营商时,第一终端与第二终端注册的打洞服务器也在相同的运营商提供的网络内。
进一步的,当第一终端注册的打洞服务器有多个网络地址时,第一终端注册到多个网路地址中与第一终端属于相同运营商的网络地址上;当第二终端注册的打洞服务器有多个网络地址时,第二终端注册到多个网路地址中与第二终端属于相同运营商的网络地址上。
第三获取单元203,用于从所述多个网络地址中获取与所述第一网络地址属于相同的运营商的目标网络地址。
可选的,所述目标网络地址为所述服务器获取所述第二终端注册的打洞服务器以及所述打洞服务器包括的多个网络地址后,从所述多个网络地址中获取与所述第一网络地址属于相同的运营商的网络地址。
可选的,所述第一终端的第一网络地址为所述第一终端的外网地址,所述第三获取模块具体用于:
根据所述外网地址确定所述第一终端所属的第一运营商;
获取所述多个网络地址中属于所述第一运营商的目标网络地址。
例如,第一网络地址属于电信运营商,则获取多个网络地址中属于电信运营商的目标网络地址。
发送单元204,用于向所述第一终端发送所述目标网络地址,以使所述第一终端向所述目标网络地址发送连接信息,与所述第二终端进行数据传输。
本实施例中,所述连接信息包括与第二终端进行连接的信息,当第一终端与第二终端建立连接后,第一终端与第二终端之间可以互相进行数据传输。
在本实施例中,当向第一终端发送目标网络地址之后,使得第一终端可以向第二终端注册的打洞服务器上的该目标网络地址发送连接信息,而不会向第二终端注册的打洞服务器上的目标网络地址以外的其他网络地址发送连接信息,避免了跨运营商的信令发送,提高了信令发送的可靠性。
可选的,在本发明另一实施例中,通过以下单元实现将第二终端注册到与第二终端属于相同运营商的打洞服务器上,所述装置还包括:
第四获取单元,用于接收所述第二终端发送的访问请求,获取所述第二终端的连网信息;
确定单元,用于根据所述连网信息确定所述第二终端所属的目标运营商;
第五获取单元,用于获取属于所述目标运营商的打洞服务器;
所述发送单元,还用于将属于所述目标运营商的打洞服务器的网络信息发送至所述第二终端,所述第二终端通过所述网络信息注册至属于所述目标运营商的打洞服务器。
在本实施例中,在接收到第二终端发送的访问请求之后,获取第二终端的连网信息,进而根据第二终端的连网信息确定与第二终端属于相同运营商的打洞服务器,并向第二终端返回该打洞服务器的网络信息,其中网络信息可以为网络地址,从而使得第二终端向该打洞服务器发送注册请求,进而注册至该打洞服务器。
在本发明其他实施例中,将第一终端注册到与第一终端属于相同运营商的打洞服务器上也可以通过上述类似步骤进行。例如,由打洞服务器集群中的主打洞服务器根据上述步骤向第二终端发送与第二终端属于相同运营商的打洞服务器的网络信息,以及向第一终端发送与第一终端属于相同运营商的打洞服务器的网络信息。
通过本实施例,可以使得第二终端在注册到打洞服务器时,不会跨运营商发送注册请求,避免接收不到发送注册请求之后的反馈信息,以及避免因没有接收到反馈信息导致的不断重复发送注册请求,避免增加系统负载。
进一步的,在本发明另一实施例中,所述第二终端的连网信息包括所述第二终端的第二网络地址,所述确定单元具体用于:
从预设IP数据库匹配所述第二终端的第二网络地址对应的网络运营商,确定所述网络运营商为所述第二终端所属的目标运营商。
其中,所述第二终端的第二网络地址即为第二终端的IP地址。
本实施例中,通过从预设IP数据库匹配第二终端的第二网络地址对应的网络运营商可以准确的确定第二终端所属的目标运营商。
本实施例接收第一终端发送的与第二终端进行连接的连接请求,获取所述第一终端的第一网络地址;获取所述第二终端注册的打洞服务器以及所述打洞服务器包括的多个网络地址;从所述多个网络地址中获取与所述第一网络地址属于相同的运营商的目标网络地址;向所述第一终端发送所述目标网络地址,以使所述第一终端向所述目标网络地址发送连接信息,与所述第二终端进行数据传输。由于在接收到第一终端发送的与第二终端进行连接的连接请求之后,向第一终端返回了第二终端注册的打洞服务器上的网络地址,并且该网络地址与第一终端属于相同的运营商,从而避免了跨运营商发送信令导致的消息不可达或延时以及不断重试信令包的问题,实现了提高打洞时数据发送的成功率,减少打洞服务器的负载的目的。
在本实施例中,电子设备1可以是PC(Personal Computer,个人电脑),也可以是智能手机、平板电脑、掌上电脑、便携计算机等移动终端。
该电子设备1可以包括存储器11、处理器12和总线13。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是电子设备1的内部存储单元,例如该电子设备1的硬盘。存储器11在另一些实施例中也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括电子设备1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于电子设备1的应用软件及各类数据,例如NAT穿透程序01的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行NAT穿透程序01等。
该总线13可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
进一步地,电子设备还可以包括网络接口,网络接口可选的可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该电子设备1与其他电子设备之间建立通信连接。
可选地,该电子设备1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的用户控件。
图3仅示出了具有组件11-13以及NAT穿透程序01的电子设备1,本领域技术人员可以理解的是,图3示出的结构并不构成对电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (9)

1.一种NAT穿透方法,应用于服务器,其特征在于,所述方法包括:
接收第一终端发送的与第二终端进行连接的连接请求,获取所述第一终端的第一网络地址;
获取所述第二终端注册的打洞服务器以及所述打洞服务器包括的多个网络地址,其中,所述第二终端注册的打洞服务器与所述第二终端属于相同的运营商,所述第二终端注册所述打洞服务器包括:接收所述第二终端发送的访问请求,获取所述第二终端的连网信息;根据所述连网信息确定所述第二终端所属的目标运营商;获取属于所述目标运营商的打洞服务器;将属于所述目标运营商的打洞服务器的网络信息发送至所述第二终端,所述第二终端通过所述网络信息注册至属于所述目标运营商的打洞服务器;
从所述多个网络地址中获取与所述第一网络地址属于相同的运营商的目标网络地址;
向所述第一终端发送所述目标网络地址,以使所述第一终端向所述目标网络地址发送连接信息,与所述第二终端进行数据传输。
2.如权利要求1所述的方法,其特征在于,所述第一终端与所述第二终端属于相同的运营商,所述第一终端注册的打洞服务器与所述第一终端属于相同的运营商。
3.如权利要求1所述的方法,其特征在于,所述第二终端的连网信息包括所述第二终端的第二网络地址,所述根据所述连网信息确定所述第二终端所属的目标运营商包括:
从预设IP数据库匹配所述第二终端的第二网络地址对应的网络运营商,确定所述网络运营商为所述第二终端所属的目标运营商。
4.如权利要求1所述的方法,其特征在于,所述第一终端的第一网络地址为所述第一终端的外网地址,所述从所述多个网络地址中获取与所述第一网络地址属于相同的运营商的目标网络地址包括:
根据所述外网地址确定所述第一终端所属的第一运营商;
获取所述多个网络地址中属于所述第一运营商的目标网络地址。
5.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的NAT穿透程序,所述NAT穿透程序被所述处理器执行时实现如权利要求1-4任一项所述的方法。
6.一种NAT穿透系统,其特征在于,所述系统包括:
第一获取单元,用于接收第一终端发送的与第二终端进行连接的连接请求,获取所述第一终端的第一网络地址;
第二获取单元,用于获取所述第二终端注册的打洞服务器以及所述打洞服务器包括的多个网络地址,其中,所述第二终端注册的打洞服务器与所述第二终端属于相同的运营商,所述第二终端注册所述打洞服务器包括:接收所述第二终端发送的访问请求,获取所述第二终端的连网信息;根据所述连网信息确定所述第二终端所属的目标运营商;获取属于所述目标运营商的打洞服务器;将属于所述目标运营商的打洞服务器的网络信息发送至所述第二终端,所述第二终端通过所述网络信息注册至属于所述目标运营商的打洞服务器;
第三获取单元,用于从所述多个网络地址中获取与所述第一网络地址属于相同的运营商的目标网络地址;
发送单元,用于向所述第一终端发送所述目标网络地址,以使所述第一终端向所述目标网络地址发送连接信息,与所述第二终端进行数据传输。
7.一种NAT穿透方法,应用于第一终端,其特征在于,所述方法包括:
向服务器发送与第二终端进行连接的连接请求;
当接收到所述服务器发送的目标网络地址时,向所述目标网络地址发送连接信息,与第二终端进行数据传输,所述目标网络地址为所述服务器获取所述第二终端注册的打洞服务器以及所述打洞服务器包括的多个网络地址后,从所述多个网络地址中获取与所述第一终端的第一网络地址属于相同的运营商的网络地址。
8.一种NAT穿透方法,应用于第二终端,其特征在于,所述方法包括:
注册打洞服务器,所述打洞服务器包括多个网络地址;
当检测到第一终端向目标网络地址发送连接信息时,与所述第一终端进行数据传输,其中,所述目标网络地址为服务器获取所述第二终端注册的打洞服务器以及所述打洞服务器包括的多个网络地址后,从所述多个网络地址中获取与所述第一终端的第一网络地址属于相同的运营商的网络地址。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有NAT穿透程序,所述NAT穿透程序可被一个或者多个处理器执行,以实现如权利要求1至4中任一项所述的NAT穿透方法。
CN201910248670.8A 2019-03-29 2019-03-29 Nat穿透方法和系统、电子设备和存储介质 Active CN109951562B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910248670.8A CN109951562B (zh) 2019-03-29 2019-03-29 Nat穿透方法和系统、电子设备和存储介质
PCT/CN2019/093679 WO2020199396A1 (zh) 2019-03-29 2019-06-28 Nat穿透方法和系统、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910248670.8A CN109951562B (zh) 2019-03-29 2019-03-29 Nat穿透方法和系统、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN109951562A CN109951562A (zh) 2019-06-28
CN109951562B true CN109951562B (zh) 2020-12-25

Family

ID=67013042

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910248670.8A Active CN109951562B (zh) 2019-03-29 2019-03-29 Nat穿透方法和系统、电子设备和存储介质

Country Status (2)

Country Link
CN (1) CN109951562B (zh)
WO (1) WO2020199396A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110809045B (zh) * 2019-11-05 2022-12-13 深圳市网心科技有限公司 一种数据通信方法及其相关设备
CN112073540B (zh) * 2020-11-10 2021-02-12 腾讯科技(深圳)有限公司 数据处理方法、装置、相关设备及存储介质
CN113315808B (zh) * 2021-04-21 2022-09-30 深圳市捷视飞通科技股份有限公司 网络地址匹配方法、装置、计算机设备和存储介质
CN116436929B (zh) * 2023-06-14 2023-09-08 深圳市玩物科技有限公司 利用服务器组装udp报文的辅助p2p打洞方法和服务器

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103414798A (zh) * 2013-07-31 2013-11-27 中国联合网络通信集团有限公司 基于网络地址转换的通信方法、设备和系统
CN105262853A (zh) * 2015-09-23 2016-01-20 上海斐讯数据通信技术有限公司 一种p2p连接nat穿越的路径建立方法、装置及系统
CN107819889A (zh) * 2016-09-14 2018-03-20 华为技术有限公司 一种网络地址转换nat的方法、设备及系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009083872A2 (en) * 2007-12-20 2009-07-09 Koninklijke Philips Electronics N.V. Methode of connecting a voice over internet protocol terminal to a remote server
US20130304927A1 (en) * 2012-05-14 2013-11-14 King Abdulaziz City For Science And Technology Network address translation-based method of bypassing internet access denial
WO2013189725A1 (en) * 2012-06-21 2013-12-27 Telefonica, S.A. Method and system for spam detection and mitigation
CN103259791B (zh) * 2013-04-28 2016-03-09 华为技术有限公司 一种穿越通信选路方法、终端及系统
RO131306A2 (ro) * 2014-12-16 2016-07-29 Ixia, A California Corporation Metode, sisteme şi suport citibil pe calculator pentru iniţierea şi execuţia testelor de performanţă a unei reţele private şi/sau a componentelor acesteia
CN104539982B (zh) * 2014-12-18 2018-08-14 新浪网技术(中国)有限公司 一种视频点对点资源共享调度方法、系统及节点终端
CN105959251B (zh) * 2015-11-06 2019-12-06 杭州迪普科技股份有限公司 一种防止nat穿越认证的方法及装置
CN106656649B (zh) * 2016-09-14 2021-01-01 腾讯科技(深圳)有限公司 一种实时通话过程中基于测速的通道切换方法、客户端与服务器
CN107979656B (zh) * 2017-11-22 2020-12-18 安徽皖通邮电股份有限公司 一种静态nat业务支持动态识别入向流量的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103414798A (zh) * 2013-07-31 2013-11-27 中国联合网络通信集团有限公司 基于网络地址转换的通信方法、设备和系统
CN105262853A (zh) * 2015-09-23 2016-01-20 上海斐讯数据通信技术有限公司 一种p2p连接nat穿越的路径建立方法、装置及系统
CN107819889A (zh) * 2016-09-14 2018-03-20 华为技术有限公司 一种网络地址转换nat的方法、设备及系统

Also Published As

Publication number Publication date
CN109951562A (zh) 2019-06-28
WO2020199396A1 (zh) 2020-10-08

Similar Documents

Publication Publication Date Title
CN109951562B (zh) Nat穿透方法和系统、电子设备和存储介质
CN107809383B (zh) 一种基于mvc的路径映射方法及装置
CN111796858A (zh) Kubernetes集群内部应用程序访问检测的方法、系统及相关设备
CN104796406B (zh) 一种应用识别方法及装置
CN110708215A (zh) 深度包检测规则库生成方法、装置、网络设备及存储介质
CN109246078B (zh) 一种数据交互方法及服务器
CN110708366A (zh) 一种插件进程的管理方法及相关方法和相关装置
CN102752292A (zh) 应用账户的注册方法及系统
CN106549989A (zh) 一种数据传输方法及其系统、用户终端、应用服务器
CN110417789B (zh) 服务器连接方法、电子设备、系统及介质
CN111224878B (zh) 路由转发方法、装置、电子设备及存储介质
CN111314458A (zh) P2p网络的打洞方法、打洞装置及计算机可读存储介质
CN108965403B (zh) 运维监控连接的建立方法及终端设备
CN111065061A (zh) 一种基于多通道的短信请求发送系统、方法及存储介质
CN110809045B (zh) 一种数据通信方法及其相关设备
CN114416508A (zh) 应用性能监控方法和装置、存储介质及电子设备
CN105281923A (zh) 基于用户标识的视频会议呼叫的实现方法及装置
CN107404456A (zh) 错误定位方法及装置
CN104735079B (zh) 基于域名系统dns的支付验证方法及设备
CN113162997B (zh) 数据传输方法、装置、电子设备及可读存储介质
CN110708317B (zh) 数据包匹配方法、装置、网络设备及存储介质
CN109862306B (zh) 视频显示方法、电子装置、计算机设备及存储介质
CN110868360A (zh) 流量统计方法、电子设备、系统及介质
CN111193794A (zh) 文件传输方法、装置、计算机设备及存储介质
CN110943975A (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
GR01 Patent grant
GR01 Patent grant