CN104219336B - 实现数据连接的方法、装置及系统 - Google Patents
实现数据连接的方法、装置及系统 Download PDFInfo
- Publication number
- CN104219336B CN104219336B CN201410446025.4A CN201410446025A CN104219336B CN 104219336 B CN104219336 B CN 104219336B CN 201410446025 A CN201410446025 A CN 201410446025A CN 104219336 B CN104219336 B CN 104219336B
- Authority
- CN
- China
- Prior art keywords
- terminal
- network
- chain
- sequence number
- address
- 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
Abstract
本发明公开了实现数据连接的方法、装置和系统,用于在终端之间建立数据连接,其中的方法包括:第一终端选定第一待连接终端,第一待连接终端中至少包括位于第一网络的第一代理、位于第二网络的第二代理以及第二终端;第一终端向第一待连接终端发出连接请求,连接请求包括符合应用层连接协议的数据报文,所述数据报文中包括当前IP序号、IP总数以及第一IP链,IP序号的初始值为0;位于第一IP链首位的待连接终端的连接进程接收到连接请求,与第一终端建立连接,使用新的数据报文向位于第一IP链下一位的待连接终端发送连接请求,直到当前IP序号对应的终端为第二终端,连接完成。本发明提供的实现数据连接的方法不受终端之间是否被物理隔离的影响。
Description
技术领域
本发明涉及一种互联网技术领域,尤其涉及一种信息处理技术领域,具体涉及一种实现数据连接的方法、装置及系统。
背景技术
通常,一个企业或组织的内部会构建一个主体网络,该主体网络为企业或组织内部及成员提供信息的共享和交流服务,该网络遍布该机构的绝大多数区域,因此,该企业或组织的网络管理部门可以很方便地对该网络上的终端进行集中管理。但是同时,出于安全或经济上的考虑,企业或组织还会有一个或若干与主体网络物理隔离的内网,内网内的所有终端与主体网络的终端被物理隔离,不能通信。如何让该机构的网络管理部门能够方便地实现集中管理该组织内部的所有终端,尤其是与主体网络物理隔离的终端,成了一个技术难题。
发明内容
本发明实施例提供一种实现数据连接的方法及系统,可有效解决上述问题。
本发明实施例提供一种实现数据连接的方法,用于在第一终端与第二终端之间建立连接,所述第一终端位于第一网络,所述第二终端位于第二网络,所述第一网络与所述第二网络物理隔离,所述第一及第二网络内的所有终端均安装有用于执行应用层连接协议的连接进程。所述方法可以包括:所述第一终端选定第一待连接终端,所述第一待连接终端中至少包括位于所述第一网络的第一代理、位于所述第二网络的第二代理以及所述第二终端,所述第一代理与所述第二代理用于接入使所述第一、第二代理可相互通信的网络;所述第一终端向所述第一待连接终端发出连接请求,所述连接请求包括符合应用层连接协议的数据报文,所述符合应用层连接协议的数据报文中包括当前IP序号、IP总数以及第一IP链,所述IP序号的初始值为0,所述IP总数为所述第一IP链中所包括的IP的数量,所述第一IP链中包括按照所述第一终端指定顺序排列的第一待连接终端的IP地址,所述第一IP链的末端为所述第二终端的IP地址;以及位于所述第一IP链首位的待连接终端的连接进程接收到所述连接请求,与所述第一终端建立连接,并将所述当前IP序号加1形成新的数据报文,若所述IP总数大于所述加1后的当前IP序号,则使用新的数据报文向位于所述第一IP链下一位的待连接终端发送连接请求,否则,所述当前IP序号对应的终端为所述第二终端,连接完成。
本发明另一实施例提供一种实现数据连接的方法,用于使第一终端与第二终端建立连接,所述第一终端位于第一网络,所述第二终端位于第二网络,所述第一网络与所述第二网络物理隔离,所述第一及第二网络内的所有终端均安装有用于执行应用层连接协议的连接进程。所述方法可以包括:所述第一终端选定第一待连接终端,所述第一待连接终端中至少包括位于所述第一网络的第一代理、位于所述第二网络的第二代理以及所述第二终端,所述第一代理与所述第二代理用于接入使所述第一、第二代理可相互通信的网络;所述第一终端向所述第一待连接终端发出连接请求,所述连接请求包括符合应用层连接协议的数据报文,所述符合应用层连接协议的数据报文中包括当前IP序号、IP总数以及第一IP链,所述IP序号的初始值为0,所述IP总数为所述第一IP链中所包括的IP的数量,所述第一IP链中包括按照所述第一终端指定顺序排列的第一待连接终端的IP地址,所述第一IP链的末端为所述第二终端的IP地址,当位于所述第一IP链首位的待连接终端的连接进程接收到所述连接请求时,与所述第一终端建立连接,并将所述当前IP序号加1形成新的数据报文,若所述IP总数大于所述加1后的当前IP序号,则使用新的数据报文向位于所述第一IP链下一位的待连接终端发送连接请求,否则,所述当前IP序号对应的终端为所述第二终端,连接完成。
本发明又一实施例提供一种实现数据连接的系统,用于在第一终端与所述第二终端之间建立连接,其包括第一终端、第二终端、第一网络及第二网络,所述第一终端位于所述第一网络,所述第二终端位于所述第二网络,所述第一网络与所述第二网络被物理隔离,所述第一及第二网络内的所有终端均安装有用于执行应用层连接协议的连接进程。所述第一终端选定第一待连接终端,所述第一待连接终端中至少包括位于所述第一网络的第一代理、位于所述第二网络的第二代理以及所述第二终端,所述第一代理与所述第二代理用于接入使所述第一、第二代理可相互通信的网络;所述第一终端还用于向所述第一待连接终端发出连接请求,所述连接请求包括符合应用层连接协议的数据报文,所述符合应用层连接协议的数据报文中包括当前IP序号、IP总数以及第一IP链,所述IP序号的初始值为0,所述IP总数为所述第一IP链中所包括的IP的数量,所述第一IP链中包括按照所述第一终端指定顺序排列的第一待连接终端的IP地址,所述第一IP链的末端为所述第二终端的IP地址;以及第一待连接终端用于通过所述连接进程接收所述连接请求,与所述第一终端建立连接,并将所述当前IP序号加1形成新的数据报文,若所述IP总数大于所述加1后的当前IP序号,则使用新的数据报文向位于所述第一IP链下一位的待连接终端发送连接请求,否则,所述当前IP序号对应的终端为所述第二终端,连接完成。
本发明再一实施例提供一种实现数据连接的装置,运行于第一终端,用于使所述第一终端与第二终端建立连接,所述第一终端位于第一网络,所述第二终端位于第二网络,所述第一网络与所述第二网络物理隔离。所述装置包括:选定模块,用于选定第一待连接终端,所述第一待连接终端中至少包括位于所述第一网络的第一代理、位于所述第二网络的第二代理以及第二终端,所述第一代理与所述第二代理用于接入使所述第一、第二代理可相互通信的网络;请求发送模块,用于向所述第一待连接终端发出连接请求,所述连接请求包括符合应用层连接协议的数据报文,所述符合应用层连接协议的数据报文中包括当前IP序号、IP总数以及第一IP链,所述IP序号的初始值为0,所述IP总数为所述第一IP链中所包括的IP的数量,所述第一IP链中包括按照所述第一终端指定顺序排列的第一待连接终端的IP地址,所述第一IP链的末端为所述第二终端的IP地址,当位于所述第一IP链首位的待连接终端的连接进程接收到所述连接请求,与所述第一终端建立连接,并将所述当前IP序号加1形成新的数据报文,若所述IP总数大于所述加1后的当前IP序号,则使用新的数据报文向位于所述第一IP链下一位的待连接终端发送连接请求,否则,所述当前IP序号对应的终端为所述第二终端,连接完成。
本发明实施例,具有如下有益效果:
本发明实施例所提供的实现数据连接的方法、装置及系统,通过第一终端选定待连接终端,待连接终端中至少包括与第一终端位于同一网络的第一代理、与第二终端位于同一网络的第二代理以及第二终端,然后通过第一终端向第一待连接终端发送符合应用层连接协议的连接请求,然后由第一待连接终端依次按照应用层连接协议将连接请求发送给第二终端,完成第一终端与第二终端之间的数据连接,从而使得终端之间的连接不受物理隔离的影响。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1所示为本发明实施例提供的实现数据连接的方法的应用环境图;
图2为本发明第一实施例提供的一种实现数据连接的方法的流程图;
图3为本发明第一实施例提供的实现数据连接的方法在一种实施方式中的拓扑图;
图4为本发明实施例提供的实现数据连接的方法的另一应用环境图;
图5为本发明第二实施例提供的一种实现数据连接的方法的流程图;
图6为本发明第二实施例提供的实现数据连接的方法在一种实施方式中的拓扑图;
图7为本发明第三实施例提供的一种实现数据连接的方法的流程图;
图8为本发明第四实施例提供的一种实现数据连接的系统的结构图;
图9为本发明第五实施例提供的一种实现数据连接的系统的结构图;
图10为本发明第六实施例提供的一种实现数据连接的装置的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1所示为本发明实施例提供的实现数据连接的一个应用环境,包括第一终端10a、第一网络101、第二终端10b以及第二网络102,第一终端10a位于第一网络101内,第二终端10b位于第二网络102内。
第一终端10a可安装有客户端(client),即与服务器(Server)相对应、为客户提供本地服务的程序。第一终端10a、第二终端10b可以是安装了客户端程序的个人电脑(PersonalComputer,简称PC),也可以是服务器,图1中以第一终端10a为个人电脑,第二终端10b为服务器为例。
第一网络101是指第一终端10a所在的网络,于本发明实施例中,第一网络101与第二网络102被物理隔离。物理隔离是指第一网络101和第二网络102在物理连线上完全隔离,且没有任何公用的存储信息,从而保证计算机的数据在网际间不被重用。反之,非物理隔离是指两个网络之间通过物理连线连接,可以通信。于本发明实施例中,第一网络101内的所有终端能够基于TCP/IP协议相互连通,第二网络102内的所有终端能够基于TCP/IP协议相互连通。
第一网络101、第二网络102可以分别是内网,也可以是外网。内网是指局域网,是覆盖局部区域的网络,一般使用IP协议互联,并使用如下IP段10.0.0.0~10.255.255.255,172.16.0.0~172.31.255.255,192.168.0.0~192.168.255.255。内网可以通过NAT连接到Internet外网计算机,但外网计算机无法连接至内网计算机。外网是指Internet基础网络,它是把全球不同位置、不同规模的计算机网络(包括局域网、城域网、广域网)相互连接在一起所形成的计算机网络的集合体。外网使用位于0.0.0.0~223.255.255.255之间,除去“局域网专用地址”和“特殊地址”以外的IP地址。
本发明的主要思路在于,通过新的应用层连接协议实现第一终端10a与第二终端10b之间的数据连接。该应用层连接协议依赖传输控制协议(TransmissionControlProtocol,简称TCP)协议为基础协议,是建立在TCP协议之上的协议,关于该应用层连接协议的具体内容以及如何应用该协议实现数据连接,将在下面的实施例中进行详细的介绍。需要说明的是,图1所示只是本发明实施例的一种应用环境的举例,本发明的具体实施方式并不以此为限。
第一实施例
图2为本发明第一实施例提供的一种实现数据连接的方法的流程图。请参见图2,该方法包括:
步骤S11、第一终端选定第一待连接终端,所述第一待连接终端中至少包括位于所述第一网络的第一代理、位于所述第二网络的第二代理以及所述第二终端,所述第一代理与所述第二代理用于接入使所述第一、第二代理可相互通信的网络。
第一终端可以根据需要选择与第二终端的连接路径,也就是选择通过哪些终端和第二终端建立连接。具体的,第一终端可以根据历史记录或预先设定的连接路径来选定第一待连接终端,也可以通过响应用户输入的第一待连接终端的信息来直接设定第一待连接终端。
由于第二终端和第一终端位于不同网络,且被物理隔离,例如第一终端10a位于第一网络101,第二终端10b位于第二网络102,所述第一待连接终端除第二终端外,还包括位于第一网络的第一代理(Proxy)和位于第二网络的第二代理,所述第一代理和所述第二代理可接入使二者能够相互通信的网络,例如互联网(Internet)或局域网。
第一代理和第二代理是指提供代理服务的计算机或其他类型的网络终端。代理服务使得一个网络终端通过这个服务与另一个网络终端进行非直接的连接。
第一代理和第二代理可以分别通过增设外网网卡以接入使所述第一、第二代理可相互通信的网络。如果第一网络和第二网络中已经存在可接入使所述第一、第二代理可相互通信的网络的终端,直接使用即可。
步骤S12、所述第一终端向所述第一待连接终端发出连接请求,所述连接请求包括符合应用层连接协议的数据报文,所述符合应用层连接协议的数据报文中包括当前IP序号、IP总数以及第一IP链,所述IP序号的初始值为0,所述IP总数为所述第一IP链中所包括的IP的数量,所述第一IP链中包括按照所述第一终端指定顺序排列的第一待连接终端的IP地址,所述第一IP链的末端为所述第二终端的IP地址。
所述应用层连接协议以TCP协议为基础协议,是建立在TCP协议之上的协议,其可包括但不限于表1所示的内容:
表1
其中,TCP首部、TCP选项和填充等TCP数据报文之外的部分用于确立源端口、目的端口、确认序列号、校验和、紧急指针等规定内容,具体可以参考TCP协议的相关内容,这里不再赘述。
TCP数据报文是指符合所述应用层连接协议的数据包,包括连接请求的所有数据信息,例如当前IP序号、IP总数以及IP链等信息。第一终端发起连接时,发送的起始数据报文的当前IP序号为0,也就是IP序号的初始值为0。
步骤S13、位于所述第一IP链首位的待连接终端的连接进程接收到所述连接请求,与所述第一终端建立连接,并将所述当前IP序号加1形成新的数据报文,若所述IP总数大于所述加1后的当前IP序号,则使用新的数据报文向位于所述第一IP链下一位的待连接终端发送连接请求,否则,所述当前IP序号对应的终端为所述第二终端,连接完成。
当位于第一IP链首位的待连接终端收到请求报文后,将数据报文中的IP序号加1形成新的数据报文,此时IP序号为1。所述首位第一待连接终端,也就是第一IP链中的IP1,查看第一IP链中的IP总数,发现IP总数为n,IP总数n如果大于此时IP序号值1,说明所述首位第一待连接终端IP1并不是第二终端,于是从第一IP链中获取位于当前IP序号加1位置的IP地址,即位于第一IP链第二位置的终端的IP地址,也就是IP2的IP地址,并向该IP地址发送新的数据报文。位于第一IP链第二位置的待连接终端IP2收到数据报文后修改数据报文又形成新的数据报文,即,将数据报文中的当前IP序号加1,此时IP序号为2。所述第二位待连接终端IP2查看第一IP链中的IP总数,发现IP总数为n,假如IP总数n不大于此时IP序号值2(即IP总数n为2),也就是当IP序号值等于IP总数n时,则所述第二位待连接终端为第二终端,连接完成。
优选的,所述符合应用层连接协议的数据报文的格式可以是ConnIP1:IP2:…IPn,其中,Conn为连接命令字,IP1为位于所述第一IP链首位的待连接终端的IP地址,IP2为位于所述第一IP链第二位的待连接终端的IP地址,IPn为所述第二终端的IP地址。第一代理和第二代理的IP地址顺次出现在IP1至IPn中。至于第一代理、第二代理的IP地址是各自的内网地址还是外网地址取决于第一终端与哪个代理位于同一网络。同一网络内使用内网地址连接,不同网络时使用外网地址连接。
步骤S13中所提到的第一待连接终端的连接进程是事先安装在所有终端上的,该连接进程可以执行符合所述应用层连接协议的连接请求。也就是说,在第一终端选定第一待连接终端的步骤之前还可以包括:安装装置(例如光盘等)为第一网络内的所有终端以及第二终端所处第二网络内的所有终端均安装一个连接进程的步骤。对于第一网络101所有终端的连接进程而言,当所有的直接或间接来自第一终端10a的遵循该应用层连接协议的连接建立完毕后,即可在第一终端10a和第一网络101中的任意一台终端之间进行数据通信,从而能够对第一网络101的终端进行集中管理。也就是说本发明实施例中的应用层连接协议,同样适用于在同一网络的终端之间建立连接。如果目标终端是与和第一终端位于同一网络的终端,非物理隔离,例如均位于第一网络101,第一终端选择与第一终端位于同一网络的终端作为第一待连接终端即可。
下面将通过一个具体示例,详细介绍本发明第一实施例的实施方式。
在该具体示例中,假设第一网络101中包括第一终端10a、终端A1、终端A2、终端A3、以及终端A4。第二网络102中包括终端B1、终端B2、以及终端B3。第一网络101和第二网络102还可以包括更多或者更少数量的终端。同时假设终端A4和终端B3为增设了外网网卡的终端,且终端A4的外网网卡IP为220.12.20.11,终端B3的外网网卡IP为220.12.20.12,因此,第一代理是终端A4,第二代理是终端B3。其中,第二代理的连接进程必须侦听第二代理的外网IP220.12.20.12,至于第二代理的内网IP172.16.2.13是否侦听看实际管理需求。第一终端10a要连接的目标终端是终端A1、A2、A3、A4、B1、B2、B3中的某一台,可以是个人电脑,也可以是服务器。假设上述七台终端的IP地址分别如下:
A1:172.16.1.11
A2:172.16.1.12
A3:172.16.1.13
A4:172.16.1.14(外网网卡IP为220.12.20.11)
B1:172.16.2.11
B2:172.16.2.12
B3:172.16.2.13(外网网卡IP为220.12.20.12)
图3为本发明第一实施例提供的实现数据连接的方法在一种具体实施方式中的拓扑图。假设在此实施方式中,第二终端为位于第二网络102的终端B1。假设第一终端10a选定的第一待连接终端顺次为A4、B3、B1,IP总数为3,第一IP链为终端A4、B3、B1的IP地址链。由于第一终端10a和第一代理A4位于同一网络,因此对第一代理A4是内网连接。根据符合应用层连接协议的数据报文的格式ConnIP1:IP2:…IPn,所述连接具体为Conn172.16.1.14,接着对第二代理B3的连接为外网连接,具体连接为Conn172.16.1.14:220.12.20.12,对第二终端B1的连接为Conn172.16.1.14:220.12.20.12:172.16.2.11。
第一终端10a发出的数据报文中IP序号的初始值为0,当A4收到请求报文后,将数据报文中的IP序号加1,此时IP序号为1。A4从第一IP链中获取位于当前IP序号加1位置的终端B3的IP地址,并向该IP地址发送连接请求。B3收到连接请求后,将数据报文中的IP序号加1,此时IP序号为2。B3从第一IP链中获取位于当前IP序号加1位置的终端B1的IP地址,并向该IP地址发送连接请求。B1收到该连接请求后将IP序号加1,此时IP序号为3,IP总数3不大于此时IP序号值3,连接完成。当连接建立完毕后,即可在第一终端10a和终端B1之间进行数据通信,该连接会话的反向传输数据的路径为B1->B3->A4->第一终端。
第一终端10a选定的第一待连接终端还可以顺次是A1、A4、B3、B1,或者A2、A4、B3、B1,或者A1、A2、A3、A4、B3、B2、B1等其他可能的连接顺序。
对于第一网络101和第二网络102中所有终端的安装进程而言,当所有的直接或间接来自第一终端10a的遵循所述应用层连接协议的连接建立完毕后,即可在第一终端10a和第二网络102中的任意一台终端之间进行数据通信,从而能够对所有被隔离内网的终端进行集中管理。
例如,网络管理员需要在第二网络102的终端B1上执行一个cleandata.sh脚本,网络管理员可直接在位于第一网络101中的总部大厦的第一终端10a上发起对终端B1的连接,连接路径为Conn172.16.1.14:220.12.20.12:172.16.2.11,连接建立后,第一终端10a将cleandata.sh脚本发送至终端B1,终端B1收到后执行cleandata.sh,从而完成管理需求。
可以理解的是,由于本发明实施例中的应用层连接协议,同样适用于在同一网络的终端之间建立连接,因此,在图3所示的具体示例中,如果目标终端为设在此实施方式中,目标终端为位于第一网络101的终端A2,第一终端10a可以选定的第一待连接终端均位于第一网络101中即可,例如,假设第一待连接终端顺次为A1、A2时,IP总数为2,第一IP链为终端A1和终端A2的IP地址链,符合协议的数据报文的格式可以是conn172.16.1.11:172.16.1.12。当A1收到连接请求的数据报文后,将数据报文中的IP序号加1,此时IP序号为1。由于IP总数为2,大于当前IP序号值1,即可判定A1不是第二终端,A1从第一IP链中获取IP序号为2的终端A2的IP地址,向A2发送连接请求,并维护第一终端->A1->A2的连接会话关系,任何由第一终端发往A1的数据都将继续转发到A2。位于第一IP链第二位的A2收到连接请求后,将数据报文中的IP序号加1,此时IP序号为2。由于此时IP总数2已不大于当前IP序号2,因此A2可以判断自己就是第二终端,不再向其他终端发送连接请求,连接完成。当连接建立完毕后,即可在第一终端10a和终端A2之间进行数据通信,该连接会话的反向传输数据的路径为A2->A1->第一终端。
可以理解的是,如果目标终端就是第二代理,那么直接连接第二代理即可,也就是说,于本发明实施例中,第二代理与第二终端也可以是同一个终端。
在本发明实施例提出的实现数据连接的方法中,首先通过第一终端选定第一待连接终端,第一待连接终端中至少包括与第一终端位于同一网络的第一代理、与第二终端位于同一网络的第二代理以及第二终端,然后通过第一终端向第一待连接终端发送符合应用层连接协议的连接请求,然后由第一待连接终端依次按照应用层连接协议将连接请求发送给第二终端,完成第一终端与第二终端之间的数据连接,从而使得第一终端对第二终端的连接不受物理隔离的影响。
第二实施例
图4所示为本发明实施例提供的实现数据连接的另一个应用环境,包括第一终端10a、第一网络101、第二终端10b、第二网络102、第三终端10c以及第三网络103,第一终端10a位于第一网络101内,第二终端10b位于第二网络102内,第三终端10c位于第三网络103内。第一网络101、第二网络102以及第三网络103之间均相互被物理隔离。本实施例所提供的数据连接方法,可以实现在三个终端之间进行数据连接。
图5为本发明第二实施例提供的一种实现数据连接的方法的流程图。请参见图5,该方法包括:
步骤S21、第一终端选定第一待连接终端,所述第一待连接终端中至少包括位于所述第一网络的第一代理、位于所述第二网络的第二代理以及所述第二终端,所述第一代理与所述第二代理用于接入使所述第一、第二代理可相互通信的网络;
步骤S22、所述第一终端向所述第一待连接终端发出连接请求,所述连接请求包括符合应用层连接协议的数据报文,所述符合应用层连接协议的数据报文中包括当前IP序号、IP总数以及第一IP链,所述IP序号的初始值为0,所述IP总数为所述第一IP链中所包括的IP的数量,所述第一IP链中包括按照所述第一终端指定顺序排列的第一待连接终端的IP地址,所述第一IP链的末端为所述第二终端的IP地址;
步骤S23、位于所述第一IP链首位的待连接终端的连接进程接收到所述连接请求,与所述第一终端建立连接,并将所述当前IP序号加1形成新的数据报文,若所述IP总数大于所述加1后的当前IP序号,则使用新的数据报文向位于所述第一IP链下一位的待连接终端发送连接请求,否则,所述当前IP序号对应的终端为所述第二终端,所述第一终端与所述第二终端的连接完成;
步骤S24、所述第一终端选定第二待连接终端,所述第二待连接终端中至少包括位于所述第一网络的第一代理、位于所述第三网络的第三代理以及第三终端,所述第三网络中的所有终端均安装有用于执行应用层连接协议的连接进程;
步骤S25、所述第一终端向所述第二待连接终端发出连接请求,所述连接请求包括符合应用层连接协议的数据报文,所述符合应用层连接协议的数据报文中包括当前IP序号、IP总数以及第二IP链,所述IP序号的初始值为0,所述IP总数为所述第二IP链中所包括的IP的数量,所述第二IP链中包括按照所述第一终端指定顺序排列的第二待连接终端的IP地址,所述第二IP链的末端为所述第三终端的IP地址;
其中,所述第一代理的IP地址和所述第三代理的IP地址顺次出现在所述第一IP链中。
步骤S26、位于所述第二IP链首位的待连接终端的连接进程接收到所述连接请求,与所述第一终端建立连接,并将所述当前IP序号加1形成新的数据报文,若所述IP总数大于所述加1后的当前IP序号,则使用新的数据报文向位于所述第二IP链下一位的待连接终端发送连接请求,否则,所述当前IP序号对应的终端为所述第三终端,所述第一终端与所述第三终端的连接完成。
其中,所述第一代理的IP地址和所述第三代理的IP地址顺次出现在所述第二IP链中。
其中,步骤S21-23以及步骤S24-26不分先后,也可同时进行。
下面将通过一个具体示例,详细介绍本发明第二实施例的实施方式。
在该具体示例中,假设第一网络101、第二网络102与图3所示的示例相同,请参照图6,图6为该具体示例的拓扑图,图6只是在图3所示的示例中增加了第三网络103以及位于第三网络的终端C1、C2,假设终端C1为第三代理,其外网网卡IP为220.12.20.13,终端C2的IP为172.16.3.12。所述符合应用层连接协议的数据报文的格式也为:ConnIP1:IP2:…IPn,其中,Conn为连接命令字,IP1为位于所述第二IP链首位的待连接终端的IP地址,IP2为位于所述第二IP链第二位的待连接终端的IP地址,IPn为所述第三终端的IP地址。
假设第一终端10a希望将位于第二网络102的终端B1与位于第三网络103的终端C2连接起来。第一终端10a可以分别与终端B1、终端C2建立连接,从而实现B1与C2之间的数据连接。第一终端10a与终端B1之间实现数据连接的方法可以参考第一实施例中的具体示例,因此,这里不再赘述。下面将详细说明一下第一终端10a与C2中间是如何建立连接的。首先,假设第一终端10a选定的第二待连接终端顺次为A4、C1、C2,IP总数为3,第二IP链为终端A4、C1、C2的IP地址链。由于第一终端10a和第一代理A4位于同一网络,因此对第一代理A4是内网连接。根据符合应用层连接协议的数据报文的格式ConnIP1:IP2:…IPn,所述连接具体为Conn172.16.1.14,接着对第三代理C3的连接为外网连接,具体连接为Conn172.16.1.14:220.12.20.13,对终端C2的连接为Conn172.16.1.14:220.12.20.13:172.16.3.12。
第一终端10a发出的数据报文中IP序号的初始值为0,当A4收到请求报文后,将数据报文中的IP序号加1,此时IP序号为1。A4从第一IP链中获取位于当前IP序号加1位置的终端C1的IP地址,并向该IP地址发送连接请求。C1收到连接请求后,将数据报文中的IP序号加1,此时IP序号为2。C1从第一IP链中获取位于当前IP序号加1位置的终端C2的IP地址,并向该IP地址发送连接请求。C2收到连接请求后,将数据报文中的IP序号加1,此时IP序号为3,IP总数3不大于此时IP序号值3,连接完成。当连接建立完毕后,即可在第一终端10a和终端C2之间进行数据通信,该连接会话的反向传输数据的路径为C2->C1->A4->第一终端10a。
在本发明实施例提出的实现数据连接的方法中,第一终端利用应用层连接协议分别与第二终端及第三终端进行数据连接,从而实现了在三个相互隔离的网络的终端之间建立数据连接。
第三实施例
图7为本发明第三实施例提供的实现数据连接的方法的流程图,该方法用于使第一终端与其他终端建立连接,所述其他终端包括第二终端、第三终端,所述第一终端位于第一网络,所述第二终端位于第二网络,所述第三终端位于第三网络,所述第一网络、所述第二网络与所述第三网络彼此相互物理隔离,请参见图7,所述方法以第一终端为执行主体,包括以下步骤:
步骤S31、所述第一终端选定第一待连接终端,所述第一待连接终端中至少包括位于所述第一网络的第一代理、位于所述第二网络的第二代理以及所述第二终端,所述第一代理与所述第二代理用于接入使所述第一、第二代理可相互通信的网络。
步骤S32、所述第一终端向所述第一待连接终端发出连接请求,所述连接请求包括符合应用层连接协议的数据报文,所述符合应用层连接协议的数据报文中包括当前IP序号、IP总数以及第一IP链,所述IP序号的初始值为0,所述IP总数为所述第一IP链中所包括的IP的数量,所述第一IP链中包括按照所述第一终端指定顺序排列的第一待连接终端的IP地址,所述第一IP链的末端为所述第二终端的IP地址,当位于所述第一IP链首位的待连接终端的连接进程接收到所述连接请求时,与所述第一终端建立连接,并将所述当前IP序号加1形成新的数据报文,若所述IP总数大于所述加1后的当前IP序号,则使用新的数据报文向位于所述第一IP链下一位的待连接终端发送连接请求,否则,所述当前IP序号对应的终端为所述第二终端,连接完成。
所述方法还可以包括:
步骤S33、所述第一终端选定第二待连接终端,所述第二待连接终端中至少包括位于所述第一网络的第一代理、位于所述第三网络的第三代理以及第三终端,所述第三终端位于所述第三网络,所述第三网络分别与所述第一网络以及所述第二网络物理隔离,所述第三代理用于接入使所述第一、第三代理可相互通信的网络,所述第三网络中的所有终端均安装有用于执行应用层连接协议的连接进程;
步骤S34、所述第一终端向所述第二待连接终端发出连接请求,所述连接请求包括符合应用层连接协议的数据报文,所述符合应用层连接协议的数据报文中包括当前IP序号、IP总数以及第二IP链,所述IP序号的初始值为0,所述IP总数为所述第二IP链中所包括的IP的数量,所述第二IP链中包括按照所述第一终端指定顺序排列的第二待连接终端的IP地址,所述第二IP链的末端为所述第三终端的IP地址,当位于所述第二IP链首位的待连接终端的连接进程接收到所述连接请求,与所述第一终端建立连接,并将所述当前IP序号加1形成新的数据报文,若所述IP总数大于所述加1后的当前IP序号,则使用新的数据报文向位于所述第二IP链下一位的待连接终端发送连接请求,否则,所述当前IP序号对应的终端为所述第三终端,连接完成。
以上步骤的具体内容参见第一、第二实施例中的相应步骤,此处不再赘述。
本发明实施例所提供的实现数据连接的方法,通过第一终端选定待连接终端,待连接终端中至少包括与第一终端位于同一网络的第一代理、与第二终端位于同一网络的第二代理以及第二终端,然后通过第一终端向第一待连接终端发送符合应用层连接协议的连接请求,然后由第一待连接终端依次按照应用层连接协议将连接请求发送给第二终端,完成第一终端与第二终端之间的数据连接,从而使得终端之间的连接不受物理隔离的影响。进一步的,还可以通过第一终端选定第二待连接终端,第二待连接终端中至少包括位于所述第一网络的第一代理、位于所述第三网络的第三代理以及第三终端,通过第一终端向第二待连接终端发送符合应用层连接协议的连接请求,从而实现了在三个相互隔离的网络的终端之间建立数据连接。
第四实施例
图8为本发明第四实施例提供的一种实现数据连接的系统400的结构示意图,所述系统400用于实现上述实现数据连接的方法,所述系统400包括:第一网络401、第二网络402,其中,所述第一网络401以及所述第二网络402均包括多个终端,所述第一网络401中的终端包括第一终端41a、第一代理41b,所述第二网络402中的终端包括第二终端42a、第二代理42b。所述第一网络401与所述第二网络402被物理隔离。所述第一及第二网络内的所有终端均安装有用于执行应用层连接协议的连接进程。
所述第一终端41a用于选定第一待连接终端,所述第一待连接终端中至少包括位于所述第一网络401的第一代理41b、位于所述第二网络402的第二代理42b以及所述第二终端42a,所述第一代理41b与所述第二代理42b用于接入使所述第一、第二代理可相互通信的网络;
所述第一终端41a还用于向所述第一待连接终端发出连接请求,所述连接请求包括符合应用层连接协议的数据报文,所述符合应用层连接协议的数据报文中包括当前IP序号、IP总数以及第一IP链,所述IP序号的初始值为0,所述IP总数为所述第一IP链中所包括的IP的数量,所述第一IP链中包括按照所述第一终端指定顺序排列的第一待连接终端的IP地址,所述第一IP链的末端为所述第二终端42a的IP地址;以及
位于所述第一IP链首位的待连接终端用于通过所述连接进程接收所述连接请求,与所述第一终端41a建立连接,并将所述当前IP序号加1形成新的数据报文,若所述IP总数大于所述加1后的当前IP序号,则使用新的数据报文向位于所述第一IP链下一位的待连接终端发送连接请求,否则,所述当前IP序号对应的终端为所述第二终端42a,连接完成。
进一步地,所述符合应用层连接协议的数据报文的格式可以为:ConnIP1:IP2:…IPn,其中,Conn为连接命令字,IP1为位于所述第一IP链首位的待连接终端的IP地址,IP2为位于所述第一IP链第二位的待连接终端的IP地址,IPn为所述第二终端42a的IP地址。进一步地,当所述第二终端42a与所述第一终端41a被物理隔离时,所述第一代理41b的IP地址和所述第二代理42b的IP地址顺次出现在IP1至IPn中。
进一步地,所述系统400还包括安装装置44,在所述第一终端41a发送连接请求的步骤之前,所述安装装置44用于为所述第一网络401内的所有终端以及所述第二网络402内的所有终端均安装一个连接进程,用于执行所述应用层连接协议。
优选的,所述第一网络401内的所有终端基于TCP/IP协议相互联通,所述第二网络402内的所有终端基于TCP/IP协议相互联通。
优选的,所述第一代理41b与所述第二代理42b分别通过增设的外网网卡接入所述使所述第一、第二代理可相互通信的网络。
本发明实施例所提供的实现数据连接的系统,通过第一终端选定待连接终端,待连接终端中至少包括与第一终端位于同一网络的第一代理、与第二终端位于同一网络的第二代理以及第二终端,然后通过第一终端向第一待连接终端发送符合应用层连接协议的连接请求,然后由第一待连接终端依次按照应用层连接协议将连接请求发送给第二终端,完成第一终端与第二终端之间的数据连接,从而使得终端之间的连接不受物理隔离的影响。
第五实施例
请参阅图9,图9为本发明第五实施例提供的一种实现数据连接的系统50的结构示意图,与第四实施例不同的是,所述系统50还包括第三网络503,所述第三网络503包括多个终端,所述第三网络503中的终端包括第三终端53a、第三代理53b。所述第三网络503分别与所述第一网络401、所述第二网络402物理隔离。所述第三网络503内的所有终端均安装有用于执行应用层连接协议的连接进程。
于本实施例中,所述第一终端41a还用于选定第二待连接终端,所述第二待连接终端中至少包括位于所述第一网络401的第一代理41b、位于所述第三网络503的第三代理53b以及第三终端53a;向所述第二待连接终端发出连接请求,所述连接请求包括符合应用层连接协议的数据报文,所述符合应用层连接协议的数据报文中包括当前IP序号、IP总数以及第二IP链,所述IP序号的初始值为0,所述IP总数为所述第二IP链中所包括的IP的数量,所述第二IP链中包括按照所述第一终端41a指定顺序排列的第二待连接终端的IP地址,所述第二IP链的末端为所述第三终端53a的IP地址。
所述位于所述第二IP链首位的待连接终端用于通过所述连接进程接收到所述连接请求,与所述第一终端建立连接,并将所述当前IP序号加1形成新的数据报文,若所述IP总数大于所述加1后的当前IP序号,则使用新的数据报文向位于所述第二IP链下一位的待连接终端发送连接请求,否则,所述当前IP序号对应的终端为所述第三终端53a,连接完成。
进一步地,所述符合应用层连接协议的数据报文的格式可以为:ConnIP1:IP2:…IPn,其中,Conn为连接命令字,IP1为位于所述第二IP链首位的待连接终端的IP地址,IP2为位于所述第二IP链第二位的待连接终端的IP地址,IPn为所述第三终端53a的IP地址。进一步地,当所述第三终端53a与所述第一终端41a被物理隔离时,所述第一代理41b的IP地址和所述第三代理53b的IP地址顺次出现在IP1至IPn中。
所述安装装置44还用于为所述第三网络503内的所有终端安装一个连接进程,用于执行所述应用层连接协议。
优选的,所述第三网络503内的所有终端基于TCP/IP协议相互联通。
优选的,所述第三代理53b通过增设的外网网卡接入所述使所述第一、第三代理可相互通信的网络。
在本发明实施例提出的实现数据连接的系统中,第一终端可以利用应用层连接协议分别与第二终端42a及第三终端53a进行数据连接,从而可以实现在三个相互隔离的网络的终端之间建立数据连接。
第六实施例
请参阅图10,本发明第六实施例提供一种实现数据连接的装置600的结构示意图。所述装置600运行于上述实施例的第一终端,用于实现与其他终端之间建立连接。所述装置600包括:
选定模块601,用于选定第一待连接终端,所述第一待连接终端中至少包括位于所述第一网络的第一代理、位于所述第二网络的第二代理以及第二终端,所述第一代理与所述第二代理用于接入使所述第一、第二代理可相互通信的网络;
请求发送模块602,用于向所述第一待连接终端发出连接请求,所述连接请求包括符合应用层连接协议的数据报文,所述符合应用层连接协议的数据报文中包括当前IP序号、IP总数以及第一IP链,所述IP序号的初始值为0,所述IP总数为所述第一IP链中所包括的IP的数量,所述第一IP链中包括按照所述第一终端指定顺序排列的第一待连接终端的IP地址,所述第一IP链的末端为所述第二终端的IP地址,当位于所述第一IP链首位的待连接终端的连接进程接收到所述连接请求,与所述第一终端建立连接,并将所述当前IP序号加1形成新的数据报文,若所述IP总数大于所述加1后的当前IP序号,则使用新的数据报文向位于所述第一IP链下一位的待连接终端发送连接请求,否则,所述当前IP序号对应的终端为所述第二终端,连接完成。
进一步的,所述符合应用层连接协议的数据报文的格式为:ConnIP1:IP2:…IPn,其中,Conn为连接命令字,IP1为位于所述第一IP链首位的待连接终端的IP地址,IP2为位于所述第一IP链第二位的待连接终端的IP地址,IPn为所述第二终端的IP地址。
进一步的,所述第一代理的IP地址和所述第二代理的IP地址顺次出现在所述第一IP链中。
在本发明的另一中实施方式中,所述选定模块601还用于选定第二待连接终端,所述第二待连接终端中至少包括位于所述第一网络的第一代理、位于所述第三网络的第三代理以及第三终端,所述第三终端位于所述第三网络,所述第三网络分别与所述第一网络以及所述第二网络物理隔离,所述第三代理用于接入使所述第一、第三代理可相互通信的网络,所述第三网络中的所有终端均安装有用于执行应用层连接协议的连接进程;
所述请求发送模块602还用于向所述第二待连接终端发出连接请求,所述连接请求包括符合应用层连接协议的数据报文,所述符合应用层连接协议的数据报文中包括当前IP序号、IP总数以及第二IP链,所述IP序号的初始值为0,所述IP总数为所述第二IP链中所包括的IP的数量,所述第二IP链中包括按照所述第一终端指定顺序排列的第二待连接终端的IP地址,所述第二IP链的末端为所述第三终端的IP地址。
以上各模块可以是由软件代码实现,此时,上述的各模块可存储于终端的存储器内。以上各模块同样可以由硬件例如集成电路芯片实现。
需要说明的是,本发明实施例的装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,在此不赘述。
本发明实施例所提供的实现数据连接的装置,通过选定模块601选定第一待连接终端,第一待连接终端中至少包括与第一终端位于同一网络的第一代理、与第二终端位于同一网络的第二代理以及第二终端,然后通过请求发送模块602向第一待连接终端发送符合应用层连接协议的连接请求,然后由第一待连接终端依次按照应用层连接协议将连接请求发送给第二终端,完成第一终端与第二终端之间的数据连接,从而使得终端之间的连接不受物理隔离的影响。进一步的,还可以通过选定模块601选定第二待连接终端,第二待连接终端中至少包括位于所述第一网络的第一代理、位于所述第三网络的第三代理以及第三终端,通过请求发送模块602向第二待连接终端发送符合应用层连接协议的连接请求,从而实现了在三个相互隔离的网络的终端之间建立数据连接。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者装置中还存在另外的相同要素。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (20)
1.一种实现数据连接的方法,用于在终端之间建立连接,所述终端包括第一终端与第二终端,所述第一终端位于第一网络,所述第二终端位于第二网络,所述第一网络与所述第二网络物理隔离,其特征在于,所述第一及第二网络内的所有终端均安装有用于执行应用层连接协议的连接进程,所述方法包括:
所述第一终端选定第一待连接终端,所述第一待连接终端中至少包括位于所述第一网络的第一代理、位于所述第二网络的第二代理以及所述第二终端,所述第一代理与所述第二代理用于接入使所述第一、第二代理可相互通信的网络;
所述第一终端向所述第一待连接终端发出第一连接请求,所述第一连接请求包括符合第一应用层连接协议的数据报文,所述符合第一应用层连接协议的数据报文中包括当前第一IP序号、第一IP总数以及第一IP链,所述第一IP序号的初始值为0,所述第一IP总数为所述第一IP链中所包括的IP的数量,所述第一IP链中包括按照所述第一终端指定顺序排列的第一待连接终端的IP地址,所述第一IP链的末端为所述第二终端的IP地址;以及
位于所述第一IP链首位的待连接终端的连接进程接收到所述第一连接请求,与所述第一终端建立连接,并将所述当前第一IP序号加1形成新的数据报文,若所述第一IP总数大于所述加1后的当前第一IP序号,则使用新的数据报文向位于所述第一IP链下一位的待连接终端发送连接请求,否则,所述当前第一IP序号对应的终端为所述第二终端,连接完成。
2.如权利要求1所述的方法,其特征在于,所述符合第一应用层连接协议的数据报文的格式为:ConnIP1:IP2:…IPn,其中,Conn为连接命令字,IP1为位于所述第一IP链首位的待连接终端的IP地址,IP2为位于所述第一IP链第二位的待连接终端的IP地址,IPn为所述第二终端的IP地址。
3.如权利要求1所述的方法,其特征在于,所述第一代理的IP地址和所述第二代理的IP地址顺次出现在所述第一IP链中。
4.如权利要求1所述的方法,其特征在于,所述第一终端选定第一待连接终端的步骤之前还包括:
安装装置为所述第一网络内的所有终端以及所述第二终端所处网络内的所有终端安装所述连接进程。
5.如权利要求1所述的方法,其特征在于,所述第一代理与所述第二代理分别通过增设的外网网卡接入所述使所述第一、第二代理可相互通信的网络。
6.如权利要求1所述的方法,其特征在于,所述方法还包括:
所述第一终端选定第二待连接终端,所述第二待连接终端中至少包括位于所述第一网络的第一代理、位于所述第三网络的第三代理以及第三终端,所述第三终端位于所述第三网络,所述第三网络分别与所述第一网络以及所述第二网络物理隔离,所述第三代理用于接入使所述第一、第三代理可相互通信的网络,所述第三网络中的所有终端均安装有用于执行应用层连接协议的连接进程;
所述第一终端向所述第二待连接终端发出第二连接请求,所述第二连接请求包括符合第二应用层连接协议的数据报文,所述符合第二应用层连接协议的数据报文中包括当前第二IP序号、第二IP总数以及第二IP链,所述第二IP序号的初始值为0,所述第二IP总数为所述第二IP链中所包括的IP的数量,所述第二IP链中包括按照所述第一终端指定顺序排列的第二待连接终端的IP地址,所述第二IP链的末端为所述第三终端的IP地址;以及
位于所述第二IP链首位的待连接终端的连接进程接收到所述第二连接请求,与所述第一终端建立连接,并将所述当前第二IP序号加1形成新的数据报文,若所述第二IP总数大于所述加1后的当前第二IP序号,则使用新的数据报文向位于所述第二IP链下一位的待连接终端发送连接请求,否则,所述当前第二IP序号对应的终端为所述第三终端,连接完成。
7.一种实现数据连接的方法,用于使第一终端与其他终端建立连接,所述其他终端包括第二终端,所述第一终端位于第一网络,所述第二终端位于第二网络,所述第一网络与所述第二网络物理隔离,其特征在于,所述第一及第二网络内的所有终端均安装有用于执行应用层连接协议的连接进程,所述方法包括:
所述第一终端选定第一待连接终端,所述第一待连接终端中至少包括位于所述第一网络的第一代理、位于所述第二网络的第二代理以及所述第二终端,所述第一代理与所述第二代理用于接入使所述第一、第二代理可相互通信的网络;
所述第一终端向所述第一待连接终端发出第一连接请求,所述第一连接请求包括符合第一应用层连接协议的数据报文,所述符合第一应用层连接协议的数据报文中包括当前第一IP序号、第一IP总数以及第一IP链,所述第一IP序号的初始值为0,所述第一IP总数为所述第一IP链中所包括的IP的数量,所述第一IP链中包括按照所述第一终端指定顺序排列的第一待连接终端的IP地址,所述第一IP链的末端为所述第二终端的IP地址,当位于所述第一IP链首位的待连接终端的连接进程接收到所述第一连接请求时,与所述第一终端建立连接,并将所述当前第一IP序号加1形成新的数据报文,若所述第一IP总数大于所述加1后的当前第一IP序号,则使用新的数据报文向位于所述第一IP链下一位的待连接终端发送连接请求,否则,所述当前第一IP序号对应的终端为所述第二终端,连接完成。
8.如权利要求7所述的方法,其特征在于,所述符合第一应用层连接协议的数据报文的格式为:ConnIP1:IP2:…IPn,其中,Conn为连接命令字,IP1为位于所述第一IP链首位的待连接终端的IP地址,IP2为位于所述第一IP链第二位的待连接终端的IP地址,IPn为所述第二终端的IP地址。
9.如权利要求7所述的方法,其特征在于,所述第一代理的IP地址和所述第二代理的IP地址顺次出现在所述第一IP链中。
10.如权利要求7所述的方法,其特征在于,所述方法还包括:
所述第一终端选定第二待连接终端,所述第二待连接终端中至少包括位于所述第一网络的第一代理、位于所述第三网络的第三代理以及第三终端,所述第三终端位于所述第三网络,所述第三网络分别与所述第一网络以及所述第二网络物理隔离,所述第三代理用于接入使所述第一、第三代理可相互通信的网络,所述第三网络中的所有终端均安装有用于执行应用层连接协议的连接进程;
所述第一终端向所述第二待连接终端发出第二连接请求,所述第二连接请求包括符合第二应用层连接协议的数据报文,所述符合第二应用层连接协议的数据报文中包括当前第二IP序号、第二IP总数以及第二IP链,所述第二IP序号的初始值为0,所述第二IP总数为所述第二IP链中所包括的IP的数量,所述第二IP链中包括按照所述第一终端指定顺序排列的第二待连接终端的IP地址,所述第二IP链的末端为所述第三终端的IP地址,当位于所述第二IP链首位的待连接终端的连接进程接收到所述第二连接请求,与所述第一终端建立连接,并将所述当前第二IP序号加1形成新的数据报文,若所述第二IP总数大于所述加1后的当前第二IP序号,则使用新的数据报文向位于所述第二IP链下一位的待连接终端发送连接请求,否则,所述当前第二IP序号对应的终端为所述第三终端,连接完成。
11.一种实现数据连接的系统,用于在终端之间建立连接,其包括第一网络、第二网络,其中,所述第一网络以及所述第二网络均包括多个终端,所述第一网络中的终端包括第一终端以及第一代理,所述第二网络中的终端包括第二终端以及第二代理,所述第一网络与所述第二网络被物理隔离,其特征在于:所述第一及第二网络内的所有终端均安装有用于执行应用层连接协议的连接进程,其中,
所述第一终端用于选定第一待连接终端,所述第一待连接终端中至少包括位于所述第一网络的第一代理、位于所述第二网络的第二代理以及所述第二终端,所述第一代理与所述第二代理用于接入使所述第一、第二代理可相互通信的网络;
所述第一终端还用于向所述第一待连接终端发出第一连接请求,所述第一连接请求包括符合第一应用层连接协议的数据报文,所述符合第一应用层连接协议的数据报文中包括当前第一IP序号、第一IP总数以及第一IP链,所述第一IP序号的初始值为0,所述第一IP总数为所述第一IP链中所包括的IP的数量,所述第一IP链中包括按照所述第一终端指定顺序排列的第一待连接终端的IP地址,所述第一IP链的末端为所述第二终端的IP地址;以及
位于所述第一IP链首位的待连接终端用于通过所述连接进程接收所述第一连接请求,与所述第一终端建立连接,并将所述当前第一IP序号加1形成新的数据报文,若所述第一IP总数大于所述加1后的当前第一IP序号,则使用新的数据报文向位于所述第一IP链下一位的待连接终端发送连接请求,否则,所述当前第一IP序号对应的终端为所述第二终端,连接完成。
12.如权利要求11所述的系统,其特征在于,所述符合第一应用层连接协议的数据报文的格式为:ConnIP1:IP2:…IPn,其中,Conn为连接命令字,IP1为位于所述第一IP链首位的待连接终端的IP地址,IP2为位于所述第一IP链第二位的待连接终端的IP地址,IPn为所述第二终端的IP地址。
13.如权利要求11所述的系统,其特征在于,所述第一代理的IP地址和所述第二代理的IP地址顺次出现在所述第一IP链中。
14.如权利要求11所述的系统,其特征在于,所述系统还包括安装装置,用于为所述第一、第二网络内的所有终端安装所述连接进程。
15.如权利要求11所述的系统,其特征在于,
所述第一代理与所述第二代理分别通过增设的外网网卡接入所述使所述第一、第二代理可相互通信的网络。
16.如权利要求11所述的系统,其特征在于,所述系统还包括第三网络,所述第三网络中至少包括第三终端以及第三代理,所述第三网络分别与所述第一网络以及所述第二网络物理隔离,所述第三代理用于接入使所述第一、第三代理可相互通信的网络,所述第三网络中的所有终端均安装有用于执行应用层连接协议的连接进程,
所述第一终端还用于选定第二待连接终端,所述第二待连接终端中至少包括位于所述第一网络的第一代理、位于所述第三网络的第三代理以及第三终端;向所述第二待连接终端发出第二连接请求,所述第二连接请求包括符合第二应用层连接协议的数据报文,所述符合第二应用层连接协议的数据报文中包括当前第二IP序号、第二IP总数以及第二IP链,所述第二IP序号的初始值为0,所述第二IP总数为所述第二IP链中所包括的IP的数量,所述第二IP链中包括按照所述第一终端指定顺序排列的第二待连接终端的IP地址,所述第二IP链的末端为所述第三终端的IP地址;
位于所述第二IP链首位的待连接终端用于通过所述连接进程接收到所述第二连接请求,与所述第一终端建立连接,并将所述当前第二IP序号加1形成新的数据报文,若所述第二IP总数大于所述加1后的当前第二IP序号,则使用新的数据报文向位于所述第二IP链下一位的待连接终端发送连接请求,否则,所述当前第二IP序号对应的终端为所述第三终端,连接完成。
17.一种实现数据连接的装置,运行于第一终端,用于使所述第一终端与第二终端建立连接,所述第一终端位于第一网络,所述第二终端位于第二网络,所述第一网络与所述第二网络物理隔离,其特征在于,所述装置包括:
选定模块,用于选定第一待连接终端,所述第一待连接终端中至少包括位于所述第一网络的第一代理、位于所述第二网络的第二代理以及第二终端,所述第一代理与所述第二代理用于接入使所述第一、第二代理可相互通信的网络;
请求发送模块,用于向所述第一待连接终端发出第一连接请求,所述第一连接请求包括符合第一应用层连接协议的数据报文,所述符合第一应用层连接协议的数据报文中包括当前第一IP序号、第一IP总数以及第一IP链,所述第一IP序号的初始值为0,所述第一IP总数为所述第一IP链中所包括的IP的数量,所述第一IP链中包括按照所述第一终端指定顺序排列的第一待连接终端的IP地址,所述第一IP链的末端为所述第二终端的IP地址,当位于所述第一IP链首位的待连接终端的连接进程接收到所述第一连接请求,与所述第一终端建立连接,并将所述当前第一IP序号加1形成新的数据报文,若所述第一IP总数大于所述加1后的当前第一IP序号,则使用新的数据报文向位于所述第一IP链下一位的待连接终端发送连接请求,否则,所述当前第一IP序号对应的终端为所述第二终端,连接完成。
18.如权利要求17所述的装置,其特征在于,所述符合第一应用层连接协议的数据报文的格式为:ConnIP1:IP2:…IPn,其中,Conn为连接命令字,IP1为位于所述第一IP链首位的待连接终端的IP地址,IP2为位于所述第一IP链第二位的待连接终端的IP地址,IPn为所述第二终端的IP地址。
19.如权利要求17所述的装置,其特征在于,所述第一代理的IP地址和所述第二代理的IP地址顺次出现在所述第一IP链中。
20.如权利要求17所述的装置,其特征在于,
所述选定模块还用于选定第二待连接终端,所述第二待连接终端中至少包括位于所述第一网络的第一代理、位于所述第三网络的第三代理以及第三终端,所述第三终端位于所述第三网络,所述第三网络分别与所述第一网络以及所述第二网络物理隔离,所述第三代理用于接入使所述第一、第三代理可相互通信的网络,所述第三网络中的所有终端均安装有用于执行应用层连接协议的连接进程;
所述请求发送模块还用于向所述第二待连接终端发出第二连接请求,所述第二连接请求包括符合第二应用层连接协议的数据报文,所述符合第二应用层连接协议的数据报文中包括当前第二IP序号、第二IP总数以及第二IP链,所述第二IP序号的初始值为0,所述第二IP总数为所述第二IP链中所包括的IP的数量,所述第二IP链中包括按照所述第一终端指定顺序排列的第二待连接终端的IP地址,所述第二IP链的末端为所述第三终端的IP地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410446025.4A CN104219336B (zh) | 2014-09-03 | 2014-09-03 | 实现数据连接的方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410446025.4A CN104219336B (zh) | 2014-09-03 | 2014-09-03 | 实现数据连接的方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104219336A CN104219336A (zh) | 2014-12-17 |
CN104219336B true CN104219336B (zh) | 2016-04-06 |
Family
ID=52100460
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410446025.4A Active CN104219336B (zh) | 2014-09-03 | 2014-09-03 | 实现数据连接的方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104219336B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106101189A (zh) * | 2016-05-30 | 2016-11-09 | 乐视控股(北京)有限公司 | 数据传输方法及系统 |
CN106506398A (zh) * | 2016-09-28 | 2017-03-15 | 乐视控股(北京)有限公司 | 数据传输方法、发送终端、接收终端及数据传输系统 |
CN109429215B (zh) * | 2017-07-04 | 2021-07-06 | 中兴通讯股份有限公司 | 数据传输方法、相关设备和计算机可读存储介质 |
CN111106983B (zh) * | 2019-12-27 | 2021-09-21 | 杭州迪普科技股份有限公司 | 一种检测网络连通性的方法及装置 |
CN116743738B (zh) * | 2023-07-20 | 2024-04-05 | 北京道迩科技有限公司 | 日志传输方法、装置及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101287277A (zh) * | 2007-04-13 | 2008-10-15 | 华为技术有限公司 | 一种为无线个域网中的用户终端提供业务的方法及系统 |
CN101690073A (zh) * | 2007-07-04 | 2010-03-31 | 艾利森电话股份有限公司 | 跨越数据网络的ip链路建立 |
CN102334316A (zh) * | 2009-02-27 | 2012-01-25 | 索尼爱立信移动通讯有限公司 | 在通信装置之间创建虚拟关系以发布个人数据的方法和配置 |
-
2014
- 2014-09-03 CN CN201410446025.4A patent/CN104219336B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101287277A (zh) * | 2007-04-13 | 2008-10-15 | 华为技术有限公司 | 一种为无线个域网中的用户终端提供业务的方法及系统 |
CN101690073A (zh) * | 2007-07-04 | 2010-03-31 | 艾利森电话股份有限公司 | 跨越数据网络的ip链路建立 |
CN102334316A (zh) * | 2009-02-27 | 2012-01-25 | 索尼爱立信移动通讯有限公司 | 在通信装置之间创建虚拟关系以发布个人数据的方法和配置 |
Also Published As
Publication number | Publication date |
---|---|
CN104219336A (zh) | 2014-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104219336B (zh) | 实现数据连接的方法、装置及系统 | |
CN111045690B (zh) | 区块链节点服务部署方法、装置、系统、计算设备及介质 | |
WO2021051933A1 (zh) | 容器云平台的可用域建设方法、装置、设备及存储介质 | |
CN106131233B (zh) | 实现数据库多路径访问的方法、装置及系统 | |
CN104243210A (zh) | 远程访问路由器管理页面的方法和系统 | |
CN103607428B (zh) | 一种访问共享内存的方法和装置 | |
CN103475654B (zh) | 网络路径优化方法、设备及网络系统 | |
CN104090825A (zh) | 动态迁移计算机网络 | |
CN104320418A (zh) | 提供对远程服务的本地安全网络访问 | |
CN105141711A (zh) | 一种基于大数据分析的对称nat穿越方法及系统 | |
CN103238301A (zh) | 用于在路由器处管理话务的技术 | |
CN105956000B (zh) | 一种数据交互方法及客户端 | |
US20150163072A1 (en) | Virtual Port Extender | |
CN103781055A (zh) | 一种数据下载方法及相关设备 | |
CN105897523A (zh) | 一种接入方法、设备及系统 | |
US20080165683A1 (en) | Method, system, and program product for enhancing network communications between endpoints | |
CN104468368A (zh) | 配置bgp邻居的方法及装置 | |
CN107580011A (zh) | 一种数据共享方法及桌面云服务端 | |
EP3529919B1 (en) | Distributed gateways with centralized data center for high throughput satellite (hts) spot beam network | |
CN104468594A (zh) | 一种数据请求的方法、装置及系统 | |
CN105743852A (zh) | 通过http实现跨越网闸进行Socket保持连接通信的方法及系统 | |
CN104363187A (zh) | 一种物联网网关资源响应方法和装置 | |
US8630837B2 (en) | Multicast emulation | |
CN108512737B (zh) | 一种数据中心ip层互联的方法和sdn控制器 | |
CN102656942B (zh) | 用于3gpp网络中的地址转换器穿越的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |