掌桥专利:专业的专利平台
掌桥专利
首页

网络连通性的探测方法及装置、存储介质、电子装置

文献发布时间:2023-06-19 12:19:35


网络连通性的探测方法及装置、存储介质、电子装置

技术领域

本发明实施例涉及计算机领域,具体而言,涉及一种网络连通性的探测方法及装置、存储介质、电子装置。

背景技术

由于IPv4地址稀缺,以及降低成本等需要,网络地址转换(Network AddressTranslation,简称为NAT)穿透技术应运而生。即两个位于NAT后面的子网终端,通过中间服务的辅助,进行相互的网络通信探测,从而两个子网端对子网端(P2P)的直接网络通信。NAT穿透也经常被称作打洞,但NAT穿透的成功率取决网络设备(如交换机)的NAT方式,可分为圆锥型、IP限制型、端口限制型和对称型。其穿透难度各不相同。现有技术中,借助于多个目标端口或多个辅助装置,实现探测到一个NAT端口不再变化本地源端口,进而实现NAT穿透。但某些类型NAT,如对称型NAT,不同目标端口或目标地址,其映射的端口均会变化。故该方法不适用于一端为对称型NAT的场景,即并不能实现不同类型的网络终端之间的网络穿透。

针对上述技术问题,相关技术中尚未提出有效的解决方案。

发明内容

本发明实施例提供了一种网络连通性的探测方法及装置、存储介质、电子装置,以至少解决相关技术中不同类型的网络终端之间的网络穿透的问题。

根据本发明的一个实施例,提供了一种网络连通性的探测方法,包括:在确定第一终端对应的网络地址转换NAT和第二终端对应的NAT类型不相同的情况下,确定M个网络套接字,其中,上述M是大于或等于1的自然数,上述第一终端对应的NAT包括对称型NAT,上述第二终端对应的NAT是端口限制型NAT;向上述第二终端中的探测端口发送第一探测报文,得到第一探测结果,其中,上述第一探测报文中包括上述M个网络套接字;通过探测端口集接收上述第二终端发送的第二探测报文,得到第二探测结果;基于上述第一探测结果和上述第二探测结果探测上述第一终端与上述第二终端之间的网络连通性。

根据本发明的另一个实施例,提供了一种网络连通性的探测方法,包括:在确定第一终端对应的网络地址转换NAT和第二终端对应的NAT类型不相同的情况下,确定探测端口集;向上述探测端口集中的每个探测端口集发送第二探测报文,得到第二探测结果,其中,上述探测端口集中的每个探测端口均对应一个上述第二探测报文;接收上述第一终端发送的第一探测报文,得到第一探测结果;基于上述第一探测结果和上述第二探测结果探测上述第一终端与上述第二终端之间的网络连通性。

根据本发明的另一个实施例,提供了一种网络连通性的探测装置,包括:第一确定模块,用于在确定第一终端对应的网络地址转换NAT和第二终端对应的NAT类型不相同的情况下,确定M个网络套接字,其中,上述M是大于或等于1的自然数,上述第一终端对应的NAT包括对称型NAT,上述第二终端对应的NAT是端口限制型NAT;第一发送模块,用于向上述第二终端中的探测端口发送第一探测报文,得到第一探测结果,其中,上述第一探测报文中包括上述M个网络套接字;第二确定模块,用于通过探测端口集接收上述第二终端发送的第二探测报文,得到第二探测结果;第一探测模块,用于基于上述第一探测结果和上述第二探测结果探测上述第一终端与上述第二终端之间的网络连通性。

在一个示例性实施例中,上述装置还包括:第三发送模块,用于在确定第一终端对应的网络地址转换NAT和第二终端对应的NAT类型不相同的情况下,确定M个网络套接字之前,将第一探测信息发送至服务器,以指示上述服务器将上述第一探测信息发送至上述第二终端,其中,上述第一探测信息中包括通过上述第一终端对应的NAT映射的上述第一终端的端口和互联网协议地址;第二接收模块,用于接收上述服务器发送的第二探测信息,其中,上述第二探测信息中包括通过上述第二终端对应的NAT映射的上述第二终端的端口和IP地址;第四确定模块,用于基于上述第一探测信息和上述第二探测信息确定上述第一终端对应的NAT和第二终端对应的NAT类型不相同。

在一个示例性实施例中,上述第一发送模块,包括:第一发送单元,用于通过上述M个网络套接字中的每个网络套接字向上述第二终端中的探测端口发送上述第一探测报文,得到上述第一探测结果,其中,上述M个网络套接字中的每个网络套接字均对应一个上述第一探测报文。

在一个示例性实施例中,上述第二确定模块,包括:第一接收单元,用于通过上述探测端口集中的每个探测端口接收上述第二终端发送的上述第二探测报文,得到上述第二探测结果,其中,上述探测端口集中的每个探测端口均对应一个上述第二探测报文。

在一个示例性实施例中,上述第一探测模块,包括:第一确定单元,用于在上述第一探测结果中连通的第一端口集合上述第二探测结果中连通的第二端口集之间的交集不等于空集的情况下,确定上述第一终端与上述第二终端的网络连通。

根据本发明的另一个实施例,提供了一种网络连通性的探测装置,包括:第三确定模块,用于在确定第一终端对应的网络地址转换NAT和第二终端对应的NAT类型不相同的情况下,确定探测端口集;第二发送模块,用于向上述探测端口集中的每个探测端口集发送第二探测报文,得到第二探测结果,其中,上述探测端口集中的每个探测端口均对应一个上述第二探测报文;第一接收模块,用于接收上述第一终端发送的第一探测报文,得到第一探测结果;第二探测模块,用于基于上述第一探测结果和上述第二探测结果探测上述第一终端与上述第二终端之间的网络连通性。

在一个示例性实施例中,上述装置还包括第四发送模块,用于在确定第一终端对应的网络地址转换NAT和第二终端对应的NAT类型不相同的情况下,确定探测端口集之前,将第二探测信息发送至服务器,以指示上述服务器将上述第二探测信息发送至上述第一终端,其中,上述第二探测信息中包括通过上述第二终端对应的NAT映射的上述第二终端的端口和互联网协议地址;第三接收模块,用于接收上述服务器发送的第一探测信息,其中,上述第一探测信息中包括通过上述第一终端对应的NAT映射的上述第一终端的端口和IP地址;第五确定模块,用于基于上述第一探测信息和上述第二探测信息确定上述第一终端对应的NAT和第二终端对应的NAT类型不相同。

在一个示例性实施例中,上述第一接收模块,包括:第二接收单元,用于通过上述M个网络套接字中的每个网络套接字接收上述第一终端中的探测端口发送上述第一探测报文,得到上述第一探测结果,其中,上述M个网络套接字中的每个网络套接字均对应一个上述第一探测报文。

在一个示例性实施例中,上述第二探测模块,包括:第二确定单元,用于在上述第一探测结果中连通的第一端口集合上述第二探测结果中连通的第二端口集之间的交集不等于空集的情况下,确定上述第一终端与上述第二终端的网络连通。

根据本发明的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。

通过本发明,通过在确定第一终端对应的网络地址转换NAT和第二终端对应的NAT类型不相同的情况下,确定M个网络套接字,其中,M是大于或等于1的自然数,第一终端对应的NAT包括对称型NAT,第二终端对应的NAT是端口限制型NAT;向第二终端中的探测端口发送第一探测报文,得到第一探测结果,其中,第一探测报文中包括M个网络套接字;通过探测端口集接收第二终端发送的第二探测报文,得到第二探测结果;基于第一探测结果和第二探测结果探测第一终端与第二终端之间的网络连通性。因此,可以解决不同类型的网络终端之间的网络穿透的问题,达到可以实现不同类型的网络终端之间的网络连通的效果。

附图说明

图1是本发明实施例的一种网络连通性的探测方法的移动终端的硬件结构框图;

图2是根据本发明实施例的网络连通性的探测方法的流程图(一);

图3是根据本发明实施例的网络连通性的探测方法的流程图(二);

图4是根据本发明实施例的穿透方法的整体流程图;

图5是根据本发明实施例的终端交互NAT后的IP和端口的流程图;

图6是根据本发明实施例的对称型终端vs端口限制型终端连通性探测示意图;

图7是根据本发明实施例的对称型终端vs端口限制型终端连通性探测流程流程图;

图8是根据本发明实施例的网络连通性的探测装置的结构框图(一);

图9是根据本发明实施例的网络连通性的探测装置的结构框图(二)。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明的实施例。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种网络连通性的探测方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。

存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的网络连通性的探测方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。

在本实施例中提供了一种网络连通性的探测方法,图2是根据本发明实施例的网络连通性的探测方法的流程图(一),如图2所示,该流程包括如下步骤:

步骤S202,在确定第一终端对应的网络地址转换NAT和第二终端对应的NAT类型不相同的情况下,确定M个网络套接字,其中,M是大于或等于1的自然数,第一终端对应的NAT包括对称型NAT,第二终端对应的NAT是端口限制型NAT;

步骤S204,向第二终端中的探测端口发送第一探测报文,得到第一探测结果,其中,第一探测报文中包括M个网络套接字;

步骤S206,通过探测端口集接收第二终端发送的第二探测报文,得到第二探测结果;

步骤S208,基于第一探测结果和第二探测结果探测第一终端与第二终端之间的网络连通性。

其中,上述步骤的执行主体可以为对称型NAT的网络终端,但不限于此。

在本实施例中,第一终端可以是对称型NAT终端,第二终端可以是端口限制型NAT终端。

通过上述步骤,通过在确定第一终端对应的网络地址转换NAT和第二终端对应的NAT类型不相同的情况下,确定M个网络套接字,其中,M是大于或等于1的自然数,第一终端对应的NAT包括对称型NAT,第二终端对应的NAT是端口限制型NAT;向第二终端中的探测端口发送第一探测报文,得到第一探测结果,其中,第一探测报文中包括M个网络套接字;通过探测端口集接收第二终端发送的第二探测报文,得到第二探测结果;基于第一探测结果和第二探测结果探测第一终端与第二终端之间的网络连通性。因此,可以解决不同类型的网络终端之间的网络穿透的问题,达到可以实现不同类型的网络终端之间的网络连通的效果。

在一个示例性实施例中,在确定第一终端对应的网络地址转换NAT和第二终端对应的NAT类型不相同的情况下,确定M个网络套接字之前,方法还包括:

S1,将第一探测信息发送至服务器,以指示服务器将第一探测信息发送至第二终端,其中,第一探测信息中包括通过第一终端对应的NAT映射的第一终端的端口和互联网协议地址;

S2,接收服务器发送的第二探测信息,其中,第二探测信息中包括通过第二终端对应的NAT映射的第二终端的端口和IP地址;

S3,基于第一探测信息和第二探测信息确定第一终端对应的NAT和第二终端对应的NAT类型不相同。

在本实施例中,第一终端和第二终端通过服务器获取到双方的IP和端口。

在一个示例性实施例中,向第二终端中的探测端口发送第一探测报文,得到第一探测结果,包括:

S1,通过M个网络套接字中的每个网络套接字向第二终端中的探测端口发送第一探测报文,得到第一探测结果,其中,M个网络套接字中的每个网络套接字均对应一个第一探测报文。

在本实施例中,M个网络套接字可以同时向第二终端发送第一探测报文,也可以分别向第二终端发送第一探测报文。

在一个示例性实施例中,通过探测端口集接收第二终端发送的第二探测报文,得到第二探测结果,包括:

S1,通过探测端口集中的每个探测端口接收第二终端发送的第二探测报文,得到第二探测结果,其中,探测端口集中的每个探测端口均对应一个第二探测报文。

在本实施例中,探测端口集可以同时接收第二探测报文,也可以分别接收第二探测报文。

探测端口集的规律分布包括:均匀分布、正态分布等。探测端口集的非规律分布可以为任何分布形式。

在一个示例性实施例中,基于第一探测结果和第二探测结果探测第一终端与第二终端之间的网络连通性,包括:

S1,在第一探测结果中连通的第一端口集和第二探测结果中连通的第二端口集之间的交集不等于空集的情况下,确定第一终端与第二终端的网络连通。

在本实施例中,第一探测结果中连通的第一端口集和第二探测结果中连通的第二端口集之间的交集越多,网络连通的概率会越高。

在本实施例中提供了一种网络连通性的探测方法,图3是根据本发明实施例的网络连通性的探测方法的流程图(二),如图3所示,该流程包括如下步骤:

步骤S302,在确定第一终端对应的网络地址转换NAT和第二终端对应的NAT类型不相同的情况下,确定探测端口集;

步骤S304,向探测端口集中的每个探测端口集发送第二探测报文,得到第二探测结果,其中,探测端口集中的每个探测端口均对应一个第二探测报文;

步骤S306,接收第一终端发送的第一探测报文,得到第一探测结果;

步骤S308,基于第一探测结果和第二探测结果探测第一终端与第二终端之间的网络连通性。

其中,上述步骤的执行主体可以为限制型NAT的网络终端,但不限于此。

在本实施例中,第一终端可以是对称型NAT终端,第二终端可以是端口限制型NAT终端。

通过上述步骤,通过在确定第一终端对应的网络地址转换NAT和第二终端对应的NAT类型不相同的情况下,确定探测端口集;向探测端口集中的每个探测端口集发送第二探测报文,得到第二探测结果,其中,探测端口集中的每个探测端口均对应一个第二探测报文;接收第一终端发送的第一探测报文,得到第一探测结果;基于第一探测结果和第二探测结果探测第一终端与第二终端之间的网络连通性。因此,可以解决不同类型的网络终端之间的网络穿透的问题,达到可以实现不同类型的网络终端之间的网络连通的效果。

在一个示例性实施例中,在确定第一终端对应的网络地址转换NAT和第二终端对应的NAT类型不相同的情况下,确定探测端口集之前,方法还包括:

S1,将第二探测信息发送至服务器,以指示服务器将第二探测信息发送至第一终端,其中,第二探测信息中包括通过第二终端对应的NAT映射的第二终端的端口和互联网协议地址;

S2,接收服务器发送的第一探测信息,其中,第一探测信息中包括通过第一终端对应的NAT映射的第一终端的端口和IP地址;

S3,基于第一探测信息和第二探测信息确定第一终端对应的NAT和第二终端对应的NAT类型不相同。

在本实施例中,在本实施例中,第一终端和第二终端通过服务器获取到双方的IP和端口。

在一个示例性实施例中,接收第一终端发送的第一探测报文,得到第一探测结果,包括:

S1,通过M个网络套接字中的每个网络套接字接收第一终端中的探测端口发送第一探测报文,得到第一探测结果,其中,M个网络套接字中的每个网络套接字均对应一个第一探测报文。

在本实施例中,M个网络套接字可以同时向第二终端发送第一探测报文,也可以分别向第二终端发送第一探测报文。

在一个示例性实施例中,基于第一探测结果和第二探测结果探测第一终端与第二终端之间的网络连通性,包括:

S1,在第一探测结果中连通的第一端口集和第二探测结果中连通的第二端口集之间的交集不等于空集的情况下,确定第一终端与第二终端的网络连通。

在本实施例中,探测端口集的规律分布包括:均匀分布、正态分布等。探测端口集的非规律分布可以为任何分布形式。

第一探测结果中连通的第一端口集和第二探测结果中连通的第二端口集之间的交集越多,网络连通的概率会越高。

下面结合具体实施例对本发明进行说明:

本实施例提供一种当网络终端为对称型NAT、或为端口限制型NAT时,实现快速、高连通性的穿透方法。具体包括通过在对称型NAT端进行多套接字探测,及在端口限制型端按特定算法进行猜测端口,从而提高了该场景下NAT穿透的成功率及穿透速度。如图4所示,具体包括以下步骤:

S401:参与穿透的两个终端交互NAT之后的IP和端口;

S402:两个终端根据所获得的IP和端口进行连通性探测。

终端交互NAT之后IP和端口以及连通性探测的示意图如图5所示,包括以下步骤:

S501,设T1,T2为参与穿透的两个终端,Server辅助服务端。

S502,T1携带自己NAT之后的IP和端口发送到辅助服务端;

S503,辅助服务端将T1的信息转发给T2

S504,T2将自己NAT之后的IP和端口发送到辅助服务端;

S505,辅助服务端将T2的信息转发给T1

S506,T1、T2根据对端的IP和端口,进行连通性探测。

在S506中,连通性探测是否成功(即是否穿透成功),取决于双方的NAT类型,同时也取决于连通性探测的算法。

当一端为对称型NAT,另一端为端口限制NAT时,一般穿透算法往往难以穿透。其原因在于,对称型NAT对不同的目的IP和端口,其映射的端口往往发生变化。即图5中,第S505步、第S506步时,对称型NAT终端用于连通性探测的NAT之后的端口,并不是通过第S501~S504步获取到的端口。进而导致了穿透失败。

本实施例所描述的一种针对该场景的穿透算法,其过程示意图如图6所示,连通性探测算法流程如图7所示,包括以下步骤:

S701:设ST为对称型终端,LT为端口限制型端口型终端。其通过NAT映射后端口分别为STP,LTP。ST、LT通过图5中的步骤,获知双方NAT之后的IP和端口;

S702:ST创建m(m>0)个网络套接字STS1,STS2,…,STSm。

S703:端口限制性终端生效猜测端口集合(对应于上述中的探测端口集);

S704:所有套接字向LTP发送探测报文。设套接字STS1,STS2,…,STSm其NAT之后的端口集合为STSrc={STNP1,STNP2,…,STNPm}

S705:LT的网络套接字LTS,其向ST的端口集合STDst={STP1,STP2,…,STPn}(n>0)发送探测报文。其发送顺序,可根据需要,同时或依次发送,或其它规则发送。

其中:当STSrc∩STDst≠Φ时即可穿透成功。STDst中的端口符合以STP为中心的某种规律分布或非规律分布。常见规律分布有:均匀分布、正态分布等。非规律分布可以为任何分布形式,这里不再列举。一般情况下,m,n越大,穿透的概率会越高。

综上所述,本实施例在对称型NAT端,通过创建多个套接字,增加了穿透率的概率。在端口限制型NAT端,通过特定的算法,生成猜测目的端口集。猜测端口集可以符合均匀分布、正态分布、松泊分布等规律性分布,也可以为任何形式的非规律分布。因而在端口限制型NAT端,猜测端口集可以结合特定的网络情况和规律,生成与之匹配的猜测端口集,增加了穿透概率和网络适用性;可同时向目的端口集进行连通探测,节省穿透的时间。同时也可根据需要,依次发送或其它规则发送。保证了本实施例的可应用性。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

在本实施例中还提供了一种网络连通性的探测装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图8是根据本发明实施例的网络连通性的探测装置的结构框图(一),如图8所示,该装置包括:

第一确定模块82,用于在确定第一终端对应的网络地址转换NAT和第二终端对应的NAT类型不相同的情况下,确定M个网络套接字,其中,M是大于或等于1的自然数,第一终端对应的NAT包括对称型NAT,第二终端对应的NAT是端口限制型NAT;

第一发送模块84,用于向第二终端中的探测端口发送第一探测报文,得到第一探测结果,其中,第一探测报文中包括M个网络套接字;

第二确定模块86,用于通过探测端口集接收第二终端发送的第二探测报文,得到第二探测结果;

第一探测模块88,用于基于第一探测结果和第二探测结果探测第一终端与第二终端之间的网络连通性。

在一个示例性实施例中,上述装置还包括:第三发送模块,用于在确定第一终端对应的网络地址转换NAT和第二终端对应的NAT类型不相同的情况下,确定M个网络套接字之前,将第一探测信息发送至服务器,以指示上述服务器将上述第一探测信息发送至上述第二终端,其中,上述第一探测信息中包括通过上述第一终端对应的NAT映射的上述第一终端的端口和互联网协议地址;

第二接收模块,用于接收上述服务器发送的第二探测信息,其中,上述第二探测信息中包括通过上述第二终端对应的NAT映射的上述第二终端的端口和IP地址;

第四确定模块,用于基于上述第一探测信息和上述第二探测信息确定上述第一终端对应的NAT和第二终端对应的NAT类型不相同。

在一个示例性实施例中,上述第一发送模块,包括:

第一发送单元,用于通过上述M个网络套接字中的每个网络套接字向上述第二终端中的探测端口发送上述第一探测报文,得到上述第一探测结果,其中,上述M个网络套接字中的每个网络套接字均对应一个上述第一探测报文。

在一个示例性实施例中,上述第二确定模块,包括:

第一接收单元,用于通过上述探测端口集中的每个探测端口接收上述第二终端发送的上述第二探测报文,得到上述第二探测结果,其中,上述探测端口集中的每个探测端口均对应一个上述第二探测报文。

在一个示例性实施例中,上述第一探测模块,包括:

第一确定单元,用于在上述第一探测结果中连通的第一端口集合上述第二探测结果中连通的第二端口集之间的交集不等于空集的情况下,确定上述第一终端与上述第二终端的网络连通。

图9是根据本发明实施例的网络连通性的探测装置的结构框图(二),如图9所示,该装置包括:

第三确定模块92,用于在确定第一终端对应的网络地址转换NAT和第二终端对应的NAT类型不相同的情况下,确定探测端口集;

第二发送模块94,用于向探测端口集中的每个探测端口集发送第二探测报文,得到第二探测结果,其中,探测端口集中的每个探测端口均对应一个第二探测报文;

第一接收模块96,用于接收第一终端发送的第一探测报文,得到第一探测结果;

第二探测模块98,用于基于第一探测结果和第二探测结果探测第一终端与第二终端之间的网络连通性。

在一个示例性实施例中,上述装置还包括第四发送模块,用于在确定第一终端对应的网络地址转换NAT和第二终端对应的NAT类型不相同的情况下,确定探测端口集之前,将第二探测信息发送至服务器,以指示上述服务器将上述第二探测信息发送至上述第一终端,其中,上述第二探测信息中包括通过上述第二终端对应的NAT映射的上述第二终端的端口和互联网协议地址;

第三接收模块,用于接收上述服务器发送的第一探测信息,其中,上述第一探测信息中包括通过上述第一终端对应的NAT映射的上述第一终端的端口和IP地址;

第五确定模块,用于基于上述第一探测信息和上述第二探测信息确定上述第一终端对应的NAT和第二终端对应的NAT类型不相同。

在一个示例性实施例中,上述第一接收模块,包括:

第二接收单元,用于通过上述M个网络套接字中的每个网络套接字接收上述第一终端中的探测端口发送上述第一探测报文,得到上述第一探测结果,其中,上述M个网络套接字中的每个网络套接字均对应一个上述第一探测报文。

在一个示例性实施例中,上述第二探测模块,包括:

第二确定单元,用于在上述第一探测结果中连通的第一端口集合上述第二探测结果中连通的第二端口集之间的交集不等于空集的情况下,确定上述第一终端与上述第二终端的网络连通。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。

本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

在本实施例中,上述计算机可读存储介质可以被设置为存储用于执行以下步骤的计算机程序:

S1,在确定第一终端对应的网络地址转换NAT和第二终端对应的NAT类型不相同的情况下,确定M个网络套接字,其中,M是大于或等于1的自然数,第一终端对应的NAT包括对称型NAT,第二终端对应的NAT是端口限制型NAT;

S2,向第二终端中的探测端口发送第一探测报文,得到第一探测结果,其中,第一探测报文中包括M个网络套接字;

S3,通过探测端口集接收第二终端发送的第二探测报文,得到第二探测结果;

S4,基于第一探测结果和第二探测结果探测第一终端与第二终端之间的网络连通性。

在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。

本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。

在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。

在一个示例性实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:

S1,在确定第一终端对应的网络地址转换NAT和第二终端对应的NAT类型不相同的情况下,确定M个网络套接字,其中,M是大于或等于1的自然数,第一终端对应的NAT包括对称型NAT,第二终端对应的NAT是端口限制型NAT;

S2,向第二终端中的探测端口发送第一探测报文,得到第一探测结果,其中,第一探测报文中包括M个网络套接字;

S3,通过探测端口集接收第二终端发送的第二探测报文,得到第二探测结果;

S4,基于第一探测结果和第二探测结果探测第一终端与第二终端之间的网络连通性。

本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 网络连通性的探测方法及装置、存储介质、电子装置
  • 网络连通性探测方法和装置
技术分类

06120113251816