首页 / 专利库 / 计算机网络 / 对等网络 / 远程访问方法、装置、路由器及存储介质

远程访问方法、装置、路由器及存储介质

阅读:458发布:2020-05-13

专利汇可以提供远程访问方法、装置、路由器及存储介质专利检索,专利查询,专利分析的服务。并且本 发明 提供一种远程 访问 方法,包括:获取第一设备的第一标识,以及获取第二设备的第二标识;根据第一标识以及第二标识,判断第一设备和第二设备是否处于同一个虚拟网络中;若第一设备和第二设备处于同一个虚拟网络中,确定第二设备的目标虚拟网络地址;根据网络地址资源转换类型检测 算法 ,判断第二设备所属的目标路由的网络地址资源转换的类型是否为锥形网络地址资源转换;若第二设备所属的目标路由的网络地址资源转换的类型为锥形网络地址资源转换,根据目标虚拟网络地址,通过 对等网络 传输的方式,将第一设备的访问 请求 发送至第二设备。本发明还提供一种远程访问装置、路由器及存储介质。本发明能利用简单设备实现远程访问。,下面是远程访问方法、装置、路由器及存储介质专利的具体信息内容。

1.一种远程访问方法,应用于路由器,其特征在于,所述方法包括:
当第一设备需要对第二设备进行远程访问时,获取所述第一设备的第一标识,以及获取所述第二设备的第二标识;
根据所述第一标识以及所述第二标识,判断所述第一设备和所述第二设备是否处于同一个虚拟网络中;
若所述第一设备和所述第二设备处于同一个虚拟网络中,确定所述第二设备的目标虚拟网络地址;
根据网络地址资源转换类型检测算法,判断所述第二设备所属的目标路由的网络地址资源转换的类型是否为锥形网络地址资源转换;
若所述第二设备所属的目标路由的网络地址资源转换的类型为锥形网络地址资源转换,根据所述目标虚拟网络地址,通过对等网络传输的方式,将所述第一设备的访问请求发送至所述第二设备,其中,所述访问请求携带有所述目标虚拟网络地址。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标虚拟网络地址,通过对等网络传输的方式,将所述第一设备的访问请求发送至所述第二设备包括:
根据所述目标虚拟网络地址,从第一服务器中获取所述第二设备的第一外网地址;
根据所述第一外网地址,将所述第一设备的访问请求发送至所述第二设备所属的目标路由,其中,所述目标路由根据所述访问请求携带的所述目标虚拟网络地址,将所述访问请求发送至所述第二设备。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述第二设备所属的目标路由的网络地址资源转换的类型不为锥形网络地址资源转换,根据所述目标虚拟网络地址,通过服务器转发的方式,将所述第一设备的访问请求发送至所述第二设备。
4.根据权利要求3所述的方法,其特征在于,所述根据所述目标虚拟网络地址,通过服务器转发的方式,将所述第一设备的访问请求发送至所述第二设备包括:
将所述第一设备的访问请求的源地址映射为第二服务器的第二外网地址;
根据所述目标虚拟网络地址,从所述第二服务器存储的多个外网地址中,确定所述第二设备的第三外网地址;
根据所述第二外网地址以及所述第三外网地址,将所述访问请求发送至所述第二设备。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:
若所述第一设备和所述第二设备不处于同一个虚拟网络中,根据所述第一标识以及所述第二标识,将所述第一设备以及所述第二设备添加至目标虚拟网络中;
从所述目标虚拟网络的虚拟地址池中,选择第一虚拟网络地址并将所述第一虚拟网络地址分配至所述第一设备,以及从所述目标虚拟网络的虚拟网络地址池中,选择第二虚拟网络地址并将所述第二虚拟网络地址分配至所述第二设备。
6.根据权利要求4所述的方法,其特征在于,所述第二服务器用于存储虚拟网络中的所有设备的标识信息、虚拟网络地址、外网地址以及配置信息。
7.一种远程访问装置,其特征在于,所述远程访问装置包括:
获取模,用于当第一设备需要对第二设备进行远程访问时,获取所述第一设备的第一标识,以及获取所述第二设备的第二标识;
判断模块,用于根据所述第一标识以及所述第二标识,判断所述第一设备和所述第二设备是否处于同一个虚拟网络中;
确定模块,用于若所述第一设备和所述第二设备处于同一个虚拟网络中,确定所述第二设备的目标虚拟网络地址;
所述判断模块,还用于根据网络地址资源转换类型检测算法,判断所述第二设备所属的目标路由的网络地址资源转换的类型是否为锥形网络地址资源转换;
发送模块,用于若所述第二设备所属的目标路由的网络地址资源转换的类型为锥形网络地址资源转换,根据所述目标虚拟网络地址,通过对等网络传输的方式,将所述第一设备的访问请求发送至所述第二设备,其中,所述访问请求携带有所述目标虚拟网络地址。
8.根据权利要求7所述的远程访问装置,其特征在于,所述发送模块根据所述目标虚拟网络地址,通过对等网络传输的方式,将所述第一设备的访问请求发送至所述第二设备的方式具体为:
根据所述目标虚拟网络地址,从第一服务器中获取所述第二设备的第一外网地址;
根据所述第一外网地址,将所述第一设备的访问请求发送至所述第二设备所属的目标路由,其中,所述目标路由根据所述访问请求携带的所述目标虚拟网络地址,将所述访问请求发送至所述第二设备。
9.一种路由器,其特征在于,所述路由器包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序以实现如权利要求1至6中任意一项所述的远程访问方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有至少一个指令,所述至少一个指令被处理器执行时实现如权利要求1至6中任意一项所述的远程访问方法。

说明书全文

远程访问方法、装置、路由器及存储介质

技术领域

[0001] 本发明涉及网络传输技术领域,尤其涉及一种远程访问方法、装置、路由器及存储介质。

背景技术

[0002] 目前,在进行远程访问时,需要搭建较高要求的网络结构以及使用高端设备来组建硬件环境。企业基于上述硬件环境可以进行远程访问,以享受互联网技术服务。
[0003] 然而,针对普通用户而言,普通用户所使用的网络结构通常比较简单,上网设备也较低端。普通用户无法基于较简单的网络结构和较低端的上网设备来搭建远程访问的硬件环境,因此,当普通用户在异地时,无法进行远程访问。
[0004] 因此,如何利用简单设备进行远程访问是一个亟需解决的技术问题。

发明内容

[0005] 鉴于以上内容,有必要提供一种远程访问方法、装置、路由器及存储介质,能够利用简单设备进行远程访问。
[0006] 本发明的第一方面提供一种远程访问方法,所述方法包括:
[0007] 当第一设备需要对第二设备进行远程访问时,获取所述第一设备的第一标识,以及获取所述第二设备的第二标识;
[0008] 根据所述第一标识以及所述第二标识,判断所述第一设备和所述第二设备是否处于同一个虚拟网络中;
[0009] 若所述第一设备和所述第二设备处于同一个虚拟网络中,确定所述第二设备的目标虚拟网络地址;
[0010] 根据网络地址资源转换类型检测算法,判断所述第二设备所属的目标路由的网络地址资源转换的类型是否为锥形网络地址资源转换;
[0011] 若所述第二设备所属的目标路由的网络地址资源转换的类型为锥形网络地址资源转换,根据所述目标虚拟网络地址,通过对等网络传输的方式,将所述第一设备的访问请求发送至所述第二设备,其中,所述访问请求携带有所述目标虚拟网络地址。
[0012] 在一种可能的实现方式中,所述根据所述目标虚拟网络地址,通过对等网络传输的方式,将所述第一设备的访问请求发送至所述第二设备包括:
[0013] 根据所述目标虚拟网络地址,从第一服务器中获取所述第二设备的第一外网地址;
[0014] 根据所述第一外网地址,将所述第一设备的访问请求发送至所述第二设备所属的目标路由,其中,所述目标路由根据所述访问请求携带的所述目标虚拟网络地址,将所述访问请求发送至所述第二设备。
[0015] 在一种可能的实现方式中,所述方法还包括:
[0016] 若所述第二设备所属的目标路由的网络地址资源转换的类型不为锥形网络地址资源转换,根据所述目标虚拟网络地址,通过服务器转发的方式,将所述第一设备的访问请求发送至所述第二设备。
[0017] 在一种可能的实现方式中,所述根据所述目标虚拟网络地址,通过服务器转发的方式,将所述第一设备的访问请求发送至所述第二设备包括:
[0018] 将所述第一设备的访问请求的源地址映射为第二服务器的第二外网地址;
[0019] 根据所述目标虚拟网络地址,从所述第二服务器存储的多个外网地址中,确定所述第二设备的第三外网地址;
[0020] 根据所述第二外网地址以及所述第三外网地址,将所述访问请求发送至所述第二设备。
[0021] 在一种可能的实现方式中,所述方法还包括:
[0022] 若所述第一设备和所述第二设备不处于同一个虚拟网络中,根据所述第一标识以及所述第二标识,将所述第一设备以及所述第二设备添加至目标虚拟网络中;
[0023] 从所述目标虚拟网络的虚拟地址池中,选择第一虚拟网络地址并将所述第一虚拟网络地址分配至所述第一设备,以及从所述目标虚拟网络的虚拟网络地址池中,选择第二虚拟网络地址并将所述第二虚拟网络地址分配至所述第二设备。
[0024] 在一种可能的实现方式中,所述第二服务器用于存储虚拟网络中的所有设备的标识信息、虚拟网络地址、外网地址以及配置信息。
[0025] 本发明的第二方面提供一种远程访问装置,所述装置包括:
[0026] 获取模,用于当第一设备需要对第二设备进行远程访问时,获取所述第一设备的第一标识,以及获取所述第二设备的第二标识;
[0027] 判断模块,用于根据所述第一标识以及所述第二标识,判断所述第一设备和所述第二设备是否处于同一个虚拟网络中;
[0028] 确定模块,用于若所述第一设备和所述第二设备处于同一个虚拟网络中,确定所述第二设备的目标虚拟网络地址;
[0029] 所述判断模块,还用于根据网络地址资源转换类型检测算法,判断所述第二设备所属的目标路由的网络地址资源转换的类型是否为锥形网络地址资源转换;
[0030] 发送模块,用于若所述第二设备所属的目标路由的网络地址资源转换的类型为锥形网络地址资源转换,根据所述目标虚拟网络地址,通过对等网络传输的方式,将所述第一设备的访问请求发送至所述第二设备,其中,所述访问请求携带有所述目标虚拟网络地址。
[0031] 本发明的第三方面提供一种路由器,所述路由器包括处理器和存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现所述的远程访问方法。
[0032] 本发明的第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述的远程访问方法。
[0033] 由以上技术方案,本发明中,当第一设备需要对第二设备进行远程访问时,获取所述第一设备的第一标识,以及获取所述第二设备的第二标识;根据所述第一标识以及所述第二标识,判断所述第一设备和所述第二设备是否处于同一个虚拟网络中;若所述第一设备和所述第二设备处于同一个虚拟网络中,确定所述第二设备的目标虚拟网络地址;根据网络地址资源转换类型检测算法,判断所述第二设备所属的目标路由的网络地址资源转换的类型是否为锥形网络地址资源转换;若所述第二设备所属的目标路由的网络地址资源转换的类型为锥形网络地址资源转换,根据所述目标虚拟网络地址,通过对等网络传输的方式,将所述第一设备的访问请求发送至所述第二设备,其中,所述访问请求携带有所述目标虚拟网络地址。可见,本发明中,处于同一个虚拟网络中的各个设备,可以通过虚拟网络地址直接相互通信,从而实现简单设备的远程访问,可以为普通用户提供互联网技术服务,而且可以通过对等网络传输的方式进行传输,不需要消耗中间服务器节点的带宽,节约了带宽资源。附图说明
[0034] 图1是本发明公开的一种远程访问方法的较佳实施例流程图
[0035] 图2是本发明公开的一种远程访问装置的较佳实施例的功能模块图。
[0036] 图3是本发明实现远程访问方法的较佳实施例的路由器的结构示意图。

具体实施方式

[0037] 为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
[0038] 显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0039] 除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
[0040] 本发明实施例的远程访问方法应用在路由器中,也可以应用在路由器和通过网络与所述路由器进行连接的服务器所构成的硬件环境中,由服务器和路由器共同执行。网络包括但不限于:广域网、城域网或局域网。
[0041] 请参见图1,图1是本发明公开的一种远程访问方法的较佳实施例的流程图。其中,根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。
[0042] S11、当第一设备需要对第二设备进行远程访问时,路由器获取所述第一设备的第一标识,以及获取所述第二设备的第二标识。
[0043] 其中,所述第一设备以及所述第二设备可以为连接在路由器上的上网设备,也可以是安装有路由器客户端的移动终端,其中,所述路由器客户端用于模拟实现路由器的功能。
[0044] 其中,所述第一标识可以为所述第一设备的设备序列号,用于辨识所述第一设备的身份。
[0045] 其中,所述第一设备与所述第二设备可以为处于异地的设备,并分别连接于不同的路由器。
[0046] 本发明实施例中,所述第一设备的第一标识以及所述第二设备的第二标识可以预先存储至服务器中,如果所述第一设备要访问所述第二设备,所述第一设备会生成将要发往所述第二设备的访问请求,即数据包,数据包中会有所述第二设备的相关信息,比如网络地址信息,路由器可以根据所述第二设备的相关信息,向服务器获取所述第二设备的第二标识,因为第一设备连接在该路由器上,因此,该路由器可以获取到所述第一设备的第一标识,也可以从服务器中获取所述第一设备的第一标识。
[0047] S12、路由器根据所述第一标识以及所述第二标识,判断所述第一设备和所述第二设备是否处于同一个虚拟网络中,若是,执行步骤S13,若否,结束本流程。
[0048] 在本发明实施例中,可以根据所述第一标识以及所述第二标识,向服务器查询所述第一设备与所述第二设备各自所属的虚拟网络,从而判断所述第一设备和所述第二设备是否处于同一个虚拟网络中,若路由器存储有虚拟网络的成员列表,则可以根据所述第一标识以及所述第二标识,判断所述虚拟网络的成员列表中是否存在所述第一设备以及所述第二设备,若所述虚拟网络的成员列表中存在所述第一设备以及所述第二设备,则确定所述第一设备以及所述第二设备处于同一个虚拟网络中,若所述虚拟网络的成员列表中不存在所述第一设备或不存在所述第二设备,则确定所述第一设备以及所述第二设备不处于同一个虚拟网络中。
[0049] S13、路由器确定所述第二设备的目标虚拟网络地址。
[0050] 其中,所述虚拟网络地址可以是从同一个网段的网络地址池中分配给组成虚拟网络的设备成员的网络地址。
[0051] 作为一种可选的实施方式,所述方法还包括:
[0052] 若所述第一设备和所述第二设备不处于同一个虚拟网络中,根据所述第一标识以及所述第二标识,将所述第一设备以及所述第二设备添加至目标虚拟网络中;
[0053] 从所述目标虚拟网络的虚拟地址池中,选择第一虚拟网络地址并将所述第一虚拟网络地址分配至所述第一设备,以及从所述目标虚拟网络的虚拟网络地址池中,选择第二虚拟网络地址并将所述第二虚拟网络地址分配至所述第二设备。
[0054] 在该可选的实施方式中,若所述第一设备和所述第二设备不处于同一个虚拟网络中,可以根据所述第一标识以及所述第二标识,将所述第一设备以及所述第二设备添加至目标虚拟网络中,所述目标虚拟网络会根据预先配置的目标网段,生成网段与所述目标网段一致的多个虚拟网络地址,即虚拟网络地址池,可以从所述目标虚拟网络的虚拟网络地址池中,随机选择一个还未被使用的第一虚拟网络地址,并将所述第一虚拟网络地址分配至所述第一设备,随机选择一个还未被使用的第二虚拟网络地址,并将所述第二虚拟网络地址分配至所述第二设备。
[0055] 可选的,所述第一设备的第一标识、所述第一虚拟网络地址以及所述第二设备的第二标识、所述第二虚拟网络地址可以存储至服务器中,所述服务器还可以存储所述第一设备使用的外网地址以及所述第二设备使用的外网地址等相关信息。
[0056] S14、路由器根据网络地址资源转换类型检测算法,判断所述第二设备所属的目标路由的网络地址资源转换的类型是否为锥形网络地址资源转换,若是,执行步骤S15,若否,结束本流程。
[0057] 其中,所述网络地址资源转换(Network Address Translation,NAT)类型检测算法可以用于检测路由器所配置的NAT的类型。
[0058] 其中,所述NAT的类型可以包括完全锥型NAT、限制锥型NAT、端口限制锥型NAT以及对称型NAT。
[0059] 其中,所述锥形NAT可以包括所述完全锥型NAT、所述限制锥型NAT以及所述端口限制锥型NAT。
[0060] S15、路由器根据所述目标虚拟网络地址,通过对等网络传输的方式,将所述第一设备的访问请求发送至所述第二设备,其中,所述访问请求携带有所述目标虚拟网络地址。
[0061] 其中,所述对等网络(Peer-to-peer networking,P2P)是一种在对等者(Peer)之间分配任务和工作负载的分布式应用架构,是对等计算模型在应用层形成的一种组网或网络形式。在P2P网络环境中,彼此连接的多台计算机之间都处于对等的地位,各台计算机有相同的功能,无主从之分,一台计算机既可作为服务器,设定共享资源供网络中其他计算机所使用,又可以作为工作站,整个网络一般来说不依赖专用的集中服务器,也没有专用的工作站。网络中的每一台计算机既能充当网络服务的请求者,又对其它计算机的请求做出响应,提供资源、服务和内容。
[0062] 本发明实施例中,如果第二设备所属的目标路由的网络地址资源转换的类型为锥形网络地址资源转换,则第二设备存储在服务器中的外网地址以及端口号可以被其他设备使用,即具有不同的源地址的其他设备在使用所述第二设备存储在服务器中的外网地址的发送至所述第二设备的数据包不会被所述第二设备所属的目标路由拦截,从而可以通过对等网络传输的方式,让所述第一设备与所述第二设备直接进行通信,不需要通过其他服务器的处理,从而不需要消耗其他服务器的带宽,节约了带宽资源。
[0063] 具体的,所述根据所述目标虚拟网络地址,通过对等网络传输的方式,将所述第一设备的访问请求发送至所述第二设备包括:
[0064] 根据所述目标虚拟网络地址,从第一服务器中获取所述第二设备的第一外网地址;
[0065] 根据所述第一外网地址,将所述第一设备的访问请求发送至所述第二设备所属的目标路由,其中,所述目标路由根据所述访问请求携带的所述目标虚拟网络地址,将所述访问请求发送至所述第二设备。
[0066] 在该可选的实施方式中,在将所述第二设备添加至虚拟网络中的时候,所述第二设备会与所述第一服务器进行通信,所述第一服务器会存储所述第二设备所使用的外网地址以及所述第二设备的目标虚拟网络地址。因此,可以根据所述目标虚拟网络地址,从所述第一服务中查询并获取到所述第二设备的第一外网地址。获得第一外网地址后,路由器可以将有所述第一设备发往所述第二设备的访问请求的数据包的目的地址映射为所述第一外网地址,从而使得所述访问请求可以发送至所述第二设备所属的目标路由,其中,所述目标路由根据所述访问请求携带的所述目标虚拟网络地址,将所述访问请求发送至所述第二设备。
[0067] 其中,所述第一服务器用于存储虚拟网络中的所有设备的标识信息、虚拟网络地址、外网地址以及配置信息。
[0068] 可选的,处于虚拟网络的中所有设备会定时与所述第一服务器进行通信,使得所述第一服务器可以定时保存或更新所有设备的标识信息、虚拟网络地址、外网地址以及配置信息。
[0069] 作为一种可选的实施方式,所述方法还包括:
[0070] 若所述第二设备所属的目标路由的网络地址资源转换的类型不为锥形网络地址资源转换,根据所述目标虚拟网络地址,通过服务器转发的方式,将所述第一设备的访问请求发送至所述第二设备。
[0071] 在该可选的实施方式中,如果所述第二设备所属的目标路由的网络地址资源转换的类型不为锥形网络地址资源转换,即所述第二设备与不同的源地址的设备进行通信时,所述第二设备采用的外网地址是不相同的,即保存在服务器中的第二设备的外网地址只能由该服务器使用来和所述第二设备进行通信,若其他设备使用保存在服务器中的第二设备的外网地址去和所述设备进行通信,因为其他设备使用的源地址和该服务器的源地址不一样,所有其他设备发往所述第二设备的访问请求(数据包)会被所述第二设备所属的目标路由拦截,即其他设备无法与所述第二设备直接进行通信。因此,需要通过服务器转发的方式将所述第一设备的访问请求发送至所述第二设备。
[0072] 具体的,所述根据所述目标虚拟网络地址,通过服务器转发的方式,将所述第一设备的访问请求发送至所述第二设备包括:
[0073] 将所述第一设备的访问请求的源地址映射为第二服务器的第二外网地址;
[0074] 根据所述目标虚拟网络地址,从所述第二服务器存储的多个外网地址中,确定所述第二设备的第三外网地址;
[0075] 根据所述第二外网地址以及所述第三外网地址,将所述访问请求发送至所述第二设备。
[0076] 在该可选的实施方式中,可以将所述第一设备的访问请求发送至所述第二服务器,所述第二服务器可以将所述访问请求的源地址映射为所述第二服务器的第二外网地址,并根据所述目标虚拟网络地址,从所述第二服务器存储的多个外网地址中,确定所述第二设备的第三外网地址,可以将所述访问请求的目的地址映射为所述第三外网地址,使得所述访问请求在使用所述第二设备存储在所述第二服务器中的第三外网地址对所述第二设备进行访问时,不会被拦截,从而确保所述访问请求可以发送至所述第二设备。
[0077] 其中,所述第二服务器用于存储虚拟网络中的所有设备的标识信息、虚拟网络地址、外网地址以及配置信息。
[0078] 可选的,处于虚拟网络的中所有设备会定时与所述第二服务器进行通信,使得所述第一服务器可以定时保存或更新所有设备的标识信息、虚拟网络地址、外网地址以及配置信息。
[0079] 在图1所描述的方法流程中,当第一设备需要对第二设备进行远程访问时,获取所述第一设备的第一标识,以及获取所述第二设备的第二标识;根据所述第一标识以及所述第二标识,判断所述第一设备和所述第二设备是否处于同一个虚拟网络中;若所述第一设备和所述第二设备处于同一个虚拟网络中,确定所述第二设备的目标虚拟网络地址;根据网络地址资源转换类型检测算法,判断所述第二设备所属的目标路由的网络地址资源转换的类型是否为锥形网络地址资源转换;若所述第二设备所属的目标路由的网络地址资源转换的类型为锥形网络地址资源转换,根据所述目标虚拟网络地址,通过对等网络传输的方式,将所述第一设备的访问请求发送至所述第二设备,其中,所述访问请求携带有所述目标虚拟网络地址。可见,处于同一个虚拟网络中的各个设备,可以通过虚拟网络地址直接相互通信,从而实现简单设备的远程访问,可以为普通用户提供互联网技术服务,而且可以通过对等网络传输的方式进行传输,不需要消耗中间服务器节点的带宽,节约了带宽资源。
[0080] 以上所述,仅是本发明的具体实施方式,但本发明的保护范围并不局限于此,对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出改进,但这些均属于本发明的保护范围。
[0081] 请参见图2,图2是本发明公开的一种远程访问装置的较佳实施例的功能模块图。
[0082] 在一些实施例中,所述远程访问装置运行于路由器中。所述远程访问装置可以包括多个由程序代码段所组成的功能模块。所述远程访问装置中的各个程序段的程序代码可以存储于存储器中,并由至少一个处理器所执行,以执行图1所描述的远程访问方法中的部分或全部步骤。
[0083] 本实施例中,所述远程访问装置根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:获取模块201、判断模块202、确定模块203及发送模块204。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。
[0084] 获取模块201,用于当第一设备需要对第二设备进行远程访问时,获取所述第一设备的第一标识,以及获取所述第二设备的第二标识。
[0085] 其中,所述第一设备以及所述第二设备可以为连接在路由器上的上网设备,也可以是安装有路由器客户端的移动终端,其中,所述路由器客户端用于模拟实现路由器的功能。
[0086] 其中,所述第一标识可以为所述第一设备的设备序列号,用于辨识所述第一设备的身份。
[0087] 其中,所述第一设备与所述第二设备可以为处于异地的设备,并分别连接于不同的路由器。
[0088] 本发明实施例中,所述第一设备的第一标识以及所述第二设备的第二标识可以预先存储至服务器中,如果所述第一设备要访问所述第二设备,所述第一设备会生成将要发往所述第二设备的访问请求,即数据包,数据包中会有所述第二设备的相关信息,比如网络地址信息,路由器可以根据所述第二设备的相关信息,向服务器获取所述第二设备的第二标识,因为第一设备连接在该路由器上,因此,该路由器可以获取到所述第一设备的第一标识,也可以从服务器中获取所述第一设备的第一标识。
[0089] 判断模块202,用于根据所述第一标识以及所述第二标识,判断所述第一设备和所述第二设备是否处于同一个虚拟网络中。
[0090] 在本发明实施例中,可以根据所述第一标识以及所述第二标识,向服务器查询所述第一设备与所述第二设备各自所属的虚拟网络,从而判断所述第一设备和所述第二设备是否处于同一个虚拟网络中,若路由器存储有虚拟网络的成员列表,则可以根据所述第一标识以及所述第二标识,判断所述虚拟网络的成员列表中是否存在所述第一设备以及所述第二设备,若所述虚拟网络的成员列表中存在所述第一设备以及所述第二设备,则确定所述第一设备以及所述第二设备处于同一个虚拟网络中,若所述虚拟网络的成员列表中不存在所述第一设备或不存在所述第二设备,则确定所述第一设备以及所述第二设备不处于同一个虚拟网络中。
[0091] 确定模块203,用于若所述第一设备和所述第二设备处于同一个虚拟网络中,确定所述第二设备的目标虚拟网络地址。
[0092] 其中,所述虚拟网络地址可以是从同一个网段的网络地址池中分配给组成虚拟网络的设备成员的网络地址。
[0093] 所述判断模块202,还用于根据网络地址资源转换类型检测算法,判断所述第二设备所属的目标路由的网络地址资源转换的类型是否为锥形网络地址资源转换。
[0094] 其中,所述网络地址资源转换(Network Address Translation,NAT)类型检测算法可以用于检测路由器所配置的NAT的类型。
[0095] 其中,所述NAT的类型可以包括完全锥型NAT、限制锥型NAT、端口限制锥型NAT以及对称型NAT。
[0096] 其中,所述锥形NAT可以包括所述完全锥型NAT、所述限制锥型NAT以及所述端口限制锥型NAT。
[0097] 发送模块204,用于若所述第二设备所属的目标路由的网络地址资源转换的类型为锥形网络地址资源转换,根据所述目标虚拟网络地址,通过对等网络传输的方式,将所述第一设备的访问请求发送至所述第二设备,其中,所述访问请求携带有所述目标虚拟网络地址。
[0098] 其中,所述对等网络(Peer-to-peer networking,P2P)是一种在对等者(Peer)之间分配任务和工作负载的分布式应用架构,是对等计算模型在应用层形成的一种组网或网络形式。在P2P网络环境中,彼此连接的多台计算机之间都处于对等的地位,各台计算机有相同的功能,无主从之分,一台计算机既可作为服务器,设定共享资源供网络中其他计算机所使用,又可以作为工作站,整个网络一般来说不依赖专用的集中服务器,也没有专用的工作站。网络中的每一台计算机既能充当网络服务的请求者,又对其它计算机的请求做出响应,提供资源、服务和内容。
[0099] 本发明实施例中,如果第二设备所属的目标路由的网络地址资源转换的类型为锥形网络地址资源转换,则第二设备存储在服务器中的外网地址以及端口号可以被其他设备使用,即具有不同的源地址的其他设备在使用所述第二设备存储在服务器中的外网地址的发送至所述第二设备的数据包不会被所述第二设备所属的路由拦截,从而可以通过对等网络传输的方式,让所述第一设备与所述第二设备直接进行通信,不需要通过其他服务器的处理,从而不需要消耗其他服务器的带宽,节约了带宽资源。
[0100] 作为一种可选的实施方式,所述远程访问装置还可以包括:
[0101] 添加模块,用于若所述第一设备和所述第二设备不处于同一个虚拟网络中,根据所述第一标识以及所述第二标识,将所述第一设备以及所述第二设备添加至目标虚拟网络中;
[0102] 分配模块,用于从所述目标虚拟网络的虚拟地址池中,选择第一虚拟网络地址并将所述第一虚拟网络地址分配至所述第一设备,以及从所述目标虚拟网络的虚拟网络地址池中,选择第二虚拟网络地址并将所述第二虚拟网络地址分配至所述第二设备。
[0103] 在该可选的实施方式中,若所述第一设备和所述第二设备不处于同一个虚拟网络中,可以根据所述第一标识以及所述第二标识,将所述第一设备以及所述第二设备添加至目标虚拟网络中,所述目标虚拟网络会根据预先配置的目标网段,生成网段与所述目标网段一致的多个虚拟网络地址,即虚拟网络地址池,可以从所述目标虚拟网络的虚拟网络地址池中,随机选择一个还未被使用的第一虚拟网络地址,并将所述第一虚拟网络地址分配至所述第一设备,随机选择一个还未被使用的第二虚拟网络地址,并将所述第二虚拟网络地址分配至所述第二设备。
[0104] 可选的,所述第一设备的第一标识、所述第一虚拟网络地址以及所述第二设备的第二标识、所述第二虚拟网络地址可以存储至服务器中,所述服务器还可以存储所述第一设备使用的外网地址以及所述第二设备使用的外网地址等相关信息。
[0105] 作为一种可选的实施方式,所述发送模块204根据所述目标虚拟网络地址,通过对等网络传输的方式,将所述第一设备的访问请求发送至所述第二设备的方式具体为:
[0106] 根据所述目标虚拟网络地址,从第一服务器中获取所述第二设备的第一外网地址;
[0107] 根据所述第一外网地址,将所述第一设备的访问请求发送至所述第二设备所属的目标路由,其中,所述目标路由根据所述访问请求携带的所述目标虚拟网络地址,将所述访问请求发送至所述第二设备。
[0108] 在该可选的实施方式中,在将所述第二设备添加至虚拟网络中的时候,所述第二设备会与所述第一服务器进行通信,所述第一服务器会存储所述第二设备所使用的外网地址以及所述第二设备的目标虚拟网络地址。因此,可以根据所述目标虚拟网络地址,从所述第一服务中查询并获取到所述第二设备的第一外网地址。获得第一外网地址后,路由器可以将有所述第一设备发往所述第二设备的访问请求的数据包的目的地址映射为所述第一外网地址,从而使得所述访问请求可以发送至所述第二设备所属的目标路由,其中,所述目标路由根据所述访问请求携带的所述目标虚拟网络地址,将所述访问请求发送至所述第二设备。
[0109] 其中,所述第一服务器用于存储虚拟网络中的所有设备的标识信息、虚拟网络地址、外网地址以及配置信息。
[0110] 可选的,处于虚拟网络的中所有设备会定时与所述第一服务器进行通信,使得所述第一服务器可以定时保存或更新所有设备的标识信息、虚拟网络地址、外网地址以及配置信息。
[0111] 作为一种可选的实施方式,所述发送模块204,还用于若所述第二设备所属的目标路由的网络地址资源转换的类型不为锥形网络地址资源转换,根据所述目标虚拟网络地址,通过服务器转发的方式,将所述第一设备的访问请求发送至所述第二设备。
[0112] 在该可选的实施方式中,如果所述第二设备所属的目标路由的网络地址资源转换的类型不为锥形网络地址资源转换,即所述第二设备与不同的源地址的设备进行通信时,所述第二设备采用的外网地址是不相同的,即保存在服务器中的第二设备的外网地址只能由该服务器使用来和所述第二设备进行通信,若其他设备使用保存在服务器中的第二设备的外网地址去和所述设备进行通信,因为其他设备使用的源地址和该服务器的源地址不一样,所有其他设备发往所述第二设备的访问请求(数据包)会被所述第二设备所属的目标路由拦截,即其他设备无法与所述第二设备直接进行通信。因此,需要通过服务器转发的方式将所述第一设备的访问请求发送至所述第二设备。
[0113] 作为一种可选的实施方式,所述发送模块204根据所述目标虚拟网络地址,通过服务器转发的方式,将所述第一设备的访问请求发送至所述第二设备的方式具体为:
[0114] 将所述第一设备的访问请求的源地址映射为第二服务器的第二外网地址;
[0115] 根据所述目标虚拟网络地址,从所述第二服务器存储的多个外网地址中,确定所述第二设备的第三外网地址;
[0116] 根据所述第二外网地址以及所述第三外网地址,将所述访问请求发送至所述第二设备。
[0117] 在该可选的实施方式中,可以将所述第一设备的访问请求发送至所述第二服务器,所述第二服务器可以将所述访问请求的源地址映射为所述第二服务器的第二外网地址,并根据所述目标虚拟网络地址,从所述第二服务器存储的多个外网地址中,确定所述第二设备的第三外网地址,可以将所述访问请求的目的地址映射为所述第三外网地址,使得所述访问请求在使用所述第二设备存储在所述第二服务器中的第三外网地址对所述第二设备进行访问时,不会被拦截,从而确保所述访问请求可以发送至所述第二设备。
[0118] 其中,所述第二服务器用于存储虚拟网络中的所有设备的标识信息、虚拟网络地址、外网地址以及配置信息。
[0119] 可选的,处于虚拟网络的中所有设备会定时与所述第二服务器进行通信,使得所述第一服务器可以定时保存或更新所有设备的标识信息、虚拟网络地址、外网地址以及配置信息。
[0120] 在图2所描述的远程访问装置中,本发明中,当第一设备需要对第二设备进行远程访问时,获取所述第一设备的第一标识,以及获取所述第二设备的第二标识;根据所述第一标识以及所述第二标识,判断所述第一设备和所述第二设备是否处于同一个虚拟网络中;若所述第一设备和所述第二设备处于同一个虚拟网络中,确定所述第二设备的目标虚拟网络地址;根据网络地址资源转换类型检测算法,判断所述第二设备所属的目标路由的网络地址资源转换的类型是否为锥形网络地址资源转换;若所述第二设备所属的目标路由的网络地址资源转换的类型为锥形网络地址资源转换,根据所述目标虚拟网络地址,通过对等网络传输的方式,将所述第一设备的访问请求发送至所述第二设备,其中,所述访问请求携带有所述目标虚拟网络地址。可见,处于同一个虚拟网络中的各个设备,可以通过虚拟网络地址直接相互通信,从而实现简单设备的远程访问,可以为普通用户提供互联网技术服务,而且可以通过对等网络传输的方式进行传输,不需要消耗中间服务器节点的带宽,节约了带宽资源。
[0121] 如图3所示,图3是本发明实现远程访问方法的较佳实施例的路由器的结构示意图。所述路由器3包括存储器31、至少一个处理器32、存储在所述存储器31中并可在所述至少一个处理器32上运行的计算机程序33及至少一条通讯总线34。
[0122] 本领域技术人员可以理解,图3所示的示意图仅仅是所述路由器3的示例,并不构成对所述路由器3的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述路由器3还可以包括输入输出设备、网络接入设备等。
[0123] 所述路由器3所处的网络包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络(Virtual Private Network,VPN)等。
[0124] 所述至少一个处理器32可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、分立硬件组件等。该处理器32可以是微处理器或者该处理器32也可以是任何常规的处理器等,所述处理器32是所述路由器3的控制中心,利用各种接口和线路连接整个路由器3的各个部分。
[0125] 所述存储器31可用于存储所述计算机程序33和/或模块/单元,所述处理器32通过运行或执行存储在所述存储器31内的计算机程序和/或模块/单元,以及调用存储在存储器31内的数据,实现所述路由器3的各种功能。所述存储器31可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据路由器3的使用所创建的数据(比如音频数据等)等。此外,存储器31可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件等。
[0126] 结合图1,所述路由器3中的所述存储器31存储多个指令以实现一种远程访问方法,所述处理器32可执行所述多个指令从而实现:
[0127] 当第一设备需要对第二设备进行远程访问时,获取所述第一设备的第一标识,以及获取所述第二设备的第二标识;
[0128] 根据所述第一标识以及所述第二标识,判断所述第一设备和所述第二设备是否处于同一个虚拟网络中;
[0129] 若所述第一设备和所述第二设备处于同一个虚拟网络中,确定所述第二设备的目标虚拟网络地址;
[0130] 根据网络地址资源转换类型检测算法,判断所述第二设备所属的目标路由的网络地址资源转换的类型是否为锥形网络地址资源转换;
[0131] 若所述第二设备所属的目标路由的网络地址资源转换的类型为锥形网络地址资源转换,根据所述目标虚拟网络地址,通过对等网络传输的方式,将所述第一设备的访问请求发送至所述第二设备,其中,所述访问请求携带有所述目标虚拟网络地址。
[0132] 在一种可选的实施方式中,所述根据所述目标虚拟网络地址,通过对等网络传输的方式,将所述第一设备的访问请求发送至所述第二设备包括:
[0133] 根据所述目标虚拟网络地址,从第一服务器中获取所述第二设备的第一外网地址;
[0134] 根据所述第一外网地址,将所述第一设备的访问请求发送至所述第二设备所属的目标路由,其中,所述目标路由根据所述访问请求携带的所述目标虚拟网络地址,将所述访问请求发送至所述第二设备。
[0135] 在一种可选的实施方式中,所述处理器32可执行所述多个指令从而实现:
[0136] 若所述第二设备所属的目标路由的网络地址资源转换的类型不为锥形网络地址资源转换,根据所述目标虚拟网络地址,通过服务器转发的方式,将所述第一设备的访问请求发送至所述第二设备。
[0137] 在一种可选的实施方式中,所述处理器32可执行所述多个指令从而实现:
[0138] 所述根据所述目标虚拟网络地址,通过服务器转发的方式,将所述第一设备的访问请求发送至所述第二设备包括:
[0139] 将所述第一设备的访问请求的源地址映射为第二服务器的第二外网地址;
[0140] 根据所述目标虚拟网络地址,从所述第二服务器存储的多个外网地址中,确定所述第二设备的第三外网地址;
[0141] 根据所述第二外网地址以及所述第三外网地址,将所述访问请求发送至所述第二设备。
[0142] 在一种可选的实施方式中,所述处理器32可执行所述多个指令从而实现:
[0143] 若所述第一设备和所述第二设备不处于同一个虚拟网络中,根据所述第一标识以及所述第二标识,将所述第一设备以及所述第二设备添加至目标虚拟网络中;
[0144] 从所述目标虚拟网络的虚拟地址池中,选择第一虚拟网络地址并将所述第一虚拟网络地址分配至所述第一设备,以及从所述目标虚拟网络的虚拟网络地址池中,选择第二虚拟网络地址并将所述第二虚拟网络地址分配至所述第二设备。
[0145] 在一种可选的实施方式中,所述第二服务器用于存储虚拟网络中的所有设备的标识信息、虚拟网络地址、外网地址以及配置信息。
[0146] 具体地,所述处理器32对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
[0147] 在图3所描述的路由器3中,当第一设备需要对第二设备进行远程访问时,获取所述第一设备的第一标识,以及获取所述第二设备的第二标识;根据所述第一标识以及所述第二标识,判断所述第一设备和所述第二设备是否处于同一个虚拟网络中;若所述第一设备和所述第二设备处于同一个虚拟网络中,确定所述第二设备的目标虚拟网络地址;根据网络地址资源转换类型检测算法,判断所述第二设备所属的目标路由的网络地址资源转换的类型是否为锥形网络地址资源转换;若所述第二设备所属的目标路由的网络地址资源转换的类型为锥形网络地址资源转换,根据所述目标虚拟网络地址,通过对等网络传输的方式,将所述第一设备的访问请求发送至所述第二设备,其中,所述访问请求携带有所述目标虚拟网络地址。可见,处于同一个虚拟网络中的各个设备,可以通过虚拟网络地址直接相互通信,从而实现简单设备的远程访问,可以为普通用户提供互联网技术服务,而且可以通过对等网络传输的方式进行传输,不需要消耗中间服务器节点的带宽,节约了带宽资源。
[0148] 所述路由器3集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。
[0149] 在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0150] 所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0151] 另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
[0152] 对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
[0153] 最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈