业务网络系统及发送、接收信息的方法和装置与流程

文档序号:15022857发布日期:2018-07-25 01:30阅读:171来源:国知局

本公开涉及通信技术领域,具体而言,涉及一种业务网络系统及发送、接收信息的方法和装置。



背景技术:

随着互联网技术的飞速发展,人们可以通过网络获得各种各样的信息。然而,用户还希望可以随时随地接入网络,通过网络获得更多的资源,访问更多的业务。

VPN(虚拟专用网络)是一种通过密钥交换、封装、认证、加密方式在网络上建立起私密的隧道来进行通信的技术。目前,使用VPN技术可以将处于不同地理位置,不同型号设备构建的私有网络连接形成一个或多个业务网络。常见的VPN协议有GRE协议、IPSec协议等协议,主流数据通讯设备(路由器、防火墙)均支持这几种协议。然而,当某个私有网络处于NAT(网络地址转换)环境下时,因NAT处理过程中会改变报文相应内容,会导致GRE/IPSec协议处理失败,从而无法在私有网络与各业务网络之间建立安全的通信网络。

因此,需要提供一种能够在NAT环境下在私有网络与各业务网络之间进行安全通信的网络系统。

需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。



技术实现要素:

本公开的目的在于提供一种业务网络系统及发送、接收信息的方法和装置,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的一个或者多个问题。

根据本公开的一个方面,提供了一种业务网络系统,包括:一服务端和一个或多个客户端,其中:

所述服务端与所述一个或多个客户端中的各客户端之间分别建立有通信隧道;

所述客户端用于接收来自源终端向目的终端发送的通信报文,对所述通信报文进行封装以及将所述通信报文发送至所述通信隧道,或者用于接收从所述目的终端向所述源终端发送的通信报文,对所述通信报文进行解封以及将所述通信报文发送至所述源终端,其中,所述源终端位于一私有网络,所述目的终端位于一子业务网络;

所述服务端用于从所述通信隧道接收所述通信报文,对所述通信报文进行解封以及将所述通信报文发送至所述目的终端,或者用于接收来自所述目的终端向所述源终端发送的通信报文,对所述通信报文进行封装以及将所述通信报文发送至所述通信隧道。

在本公开的一种示例实施例中,所述服务端在各私有网络中选择的能够向互联网提供接入服务的中心节点处,所述服务端包括运行有OpenVPN的服务器,所述客户端在各私有网络中未被选择的私有网络处,所述客户端包括运行有OpenVPN的服务器。

在本公开的一种示例实施例中,所述服务端还用于在所述客户端与所述服务端成功建立连接时,向所述客户端分配一虚拟地址。

在本公开的一种示例实施例中,对所述通信报文进行封装包括:

基于SSL协议对所述通信报文进行封装。

根据本公开的另一方面,提供了一种信息发送方法,其特征在于,包括:

接收源终端向目的终端发送的通信报文,其中,所述源终端位于一私有网络,所述目的终端位于一子业务网络,所述通信报文的源地址为所述私有网络的私有地址,所述通信报文的目的地址为所述目的终端在所述子业务网络中的私有地址;

基于SSL协议对所述通信报文进行封装;

基于所述目的地址查找在所述私有网络与所述子业务网络之间建立的通信隧道;以及

将所述通信报文发送至所述通信隧道上。

在本公开的一种示例实施例中,将所述通信报文发送至所述通信隧道包括:

基于IP协议将所述通信报文发送至所述通信隧道。

根据本公开的又一方面,提供了一种信息接收方法,其特征在于,包括:

从一私有网络与一子业务网络之间建立的通信隧道中,接收源终端向目的终端发送的通信报文,其中,所述源终端位于所述私有网络,所述目的终端位于所述子业务网络,所述通信报文的源地址为所述私有网络的私有地址,所述通信报文的目的地址为所述目的终端在所述子业务网络中的私有地址;

基于SSL协议对所述通信报文进行解封;以及

将经解封的通信报文发送至所述子业务网络中的目的终端。

根据本公开的再一方面,提供了一种信息发送装置,其特征在于,包括:

接收单元,用于接收源终端向目的终端发送的通信报文,其中,所述源终端位于一私有网络,所述目的终端位于一子业务网络,所述通信报文的源地址为所述私有网络的私有地址,所述通信报文的目的地址为所述目的终端在所述子业务网络中的私有地址;

封装单元,用于基于SSL协议对所述通信报文进行封装;

查找单元,用于基于所述目的地址查找在所述私有网络与所述子业务网络之间建立的通信隧道;以及

发送单元,用于将所述通信报文发送至所述通信隧道上。

在本公开的一种示例实施例中,将所述通信报文发送至所述通信隧道包括:

基于IP协议将所述通信报文发送至所述通信隧道。

根据本公开的又一方面,提供了一种信息接收装置,其特征在于,包括:

接收单元,用于从源私有网络与子业务网络之间建立的通信隧道中,接收源终端向目的终端发送的通信报文,其中,所述源终端位于一私有网络,所述目的终端位于一子业务网络,所述通信报文的源地址为所述私有网络的私有地址,所述通信报文的目的地址为所述目的终端在所述子业务网络中的私有地址;

解封单元,用于基于SSL协议对所述通信报文进行解封;以及

发送单元,用于将经解封的通信报文发送至所述子业务网络中的所述目的终端。

本公开的一种示例性实施例中的业务网络系统及信息发送、接收方法,一方面,通过在服务端与客户端之间建立通信隧道,能够将私有网络与子业务网络连接起来;另一方面,客户端对通信报文进行封装之后将通信报文发送至通信隧道,可以在保持所述通信报文安全性的情况下传输所述通信报文;再一方面,服务端对通信报文进行解封之后再将通信报文发送至目的终端,能够准确地将所述通信报文发送至目的终端,从而实现私有网络与子业务网络之间的安全通信。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

通过参照附图来详细描述其示例实施例,本公开的上述和其它特征及优点将变得更加明显。

图1示意性示出了根据本公开一示例性实施例的业务网络系统的架构图;

图2示意性示出了根据本公开一示例性实施例的信息发送方法的流程图;

图3示意性示出了根据本公开一示例性实施例的信息接收方法的流程图;

图4示意性示出了根据本公开一示例性实施例的信息发送装置的框图;以及

图5示意性示出了根据本公开一示例性实施例的信息接收装置的框图。

具体实施方式

现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本公开将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。

此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有所述特定细节中的一个或更多,或者可以采用其它的方法、组元、材料、装置、步骤等。在其它情况下,不详细示出或描述公知结构、方法、装置、实现、材料或者操作以避免模糊本公开的各方面。

附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个软件硬化的模块中实现这些功能实体或功能实体的一部分,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

本示例实施例中,首先提供了一种业务网络系统。参考图1中所示,该业务网络系统包括:一服务端和一个或多个客户端,其中:

所述服务端与所述一个或多个客户端中的各客户端之间分别建立有通信隧道;

所述客户端用于接收来自源终端向目的终端发送的通信报文,对所述通信报文进行封装以及将所述通信报文发送至所述通信隧道,或者用于接收从所述目的终端向所述源终端发送的通信报文,对所述通信报文进行解封以及将所述通信报文发送至所述源终端,其中,所述源终端位于一私有网络,所述目的终端位于一子业务网络;

所述服务端用于从所述通信隧道接收所述通信报文,对所述通信报文进行解封以及将所述通信报文发送至所述目的终端,或者用于接收来自所述目的终端向所述源终端发送的通信报文,对所述通信报文进行封装以及将所述通信报文发送至所述通信隧道。

根据本示例实施例中的业务网络系统,一方面,通过在服务端与客户端之间建立通信隧道,能够将私有网络与子业务网络连接起来;另一方面,客户端对通信报文进行封装之后将通信报文发送至通信隧道,可以在保持所述通信报文安全性的情况下传输所述通信报文;再一方面,服务端对通信报文进行解封之后再将通信报文发送至目的终端,能够准确地将所述通信报文发送至目的终端,从而实现私有网络与子业务网络之间的安全通信。

下面,将对本示例实施例中的业务网络系统进行进一步的说明。

如图1所示,在中心节点和需要加入业务网络的私有网络A、私有网络B以及私有网络C上各设置有一标准x86架构服务器,在服务器上安装有OpenVPN软件。在架构好该业务网络系统之后,可以进行以下设定:a)为中心节点和各私有网络节点设定IP分配规则;b)开启操作系统的IP转发功能;c)中心节点的OpenVPN软件配置为服务端,并按IP规则配置内部路由,如图1中的中心节点处的OpenVPN为服务端;d)各私有网络节点的OpenVPN软件配置为客户端,如私有网络A、私有网络B以及私有网络C中的OpenVPN为客户端。

需要说明的是,在本示例实施例中,OpenVPN可以运行在Linux操作系统下,但是本公开的示例实施例不限于此,例如OpenVPN还可以运行在Windows操作系统、Mac OS操作系统以及Solaris操作系统等系统下,这也属于本公开的保护范围。OpenVPN是一个开放源码的基于SSL(安全套接层)协议的VPN软件系统,比采用GRE/Ipsec协议的VPN的优势在于使用TCP/UDP协议,支持穿过NAT设备后的连接。OpenVPN的客户端和服务端建立SSL链接的过程是通过调用Openssl来实现。因此OpenVPN软件包需要和OpenSSL软件一起安装。SSL协议是为网络通信提供安全及数据完整性的一种安全协议。

在本示例实施例中,源终端可以为私有网络A、私有网络B以及私有网络C中的任一私有网络中的服务器,目的终端可以为业务一或业务二中的服务器。需要说明的是,业务一和业务二表示的业务可以为与医院业务相关的业务,但是本公开的示例实施例中的业务不限于此,例如业务还可以为与图书馆业务相关的业务、与银行业务相关的业务等,本公开对此不作特殊限定。在业务一和业务二为与医院业务相关的业务的情况下,私有网络A、私有网络B以及私有网络C可以为医院各部门的私有网络。

需要说明的是,在本示例实施例中,私有网络可以为局域网,但是本公开的示例实施例中的私有网络不限于此,例如私有网络还可以为私有云网络等,这也在本公开的保护范围内。

在本示例实施例中,私有网络A中的服务器可以为源终端,各源终端的私有地址可以为192.168.1.10至192.168.1.20。业务一中的服务器可以为目的终端,各目的终端的私有地址可以为192.168.1.50至192.168.1.60。私有网络A中的OpenVPN表示私有网络A中的客户端,该客户端包括运行有被配置为OpenVPN客户端的服务器。图1中的中心节点表示从各私有网络中选择的能够向互联网提供接入服务的中心节点。中心节点处的OpenVPN表示中心节点中的服务端,该服务端包括运行有被配置为OpenVPN服务器端的服务器。

在本示例实施例中,中心节点处的OpenVPN服务端可以在私有网络A中的OpenVPN客户端与该服务端成功建立连接时,向该客户端分配一虚拟地址,但是本公开的示例实施例不限于此,例如还可以根据需要提前设置好OpenVPN客户端的地址等,这也在本公开的保护范围内。

在本示例实施例中,中心节点处的OpenVPN服务端与私有网络A中的OpenVPN客户端之间建立有通信隧道如图1中的虚线所示,该通信隧道用于在服务端与客户端之间传输通信报文。私有网络A中的OpenVPN客户端接收到来自源终端向业务一中的目的终端发送的通信报文时,对所述通信报文进行封装,将经封装的通信报文发送至所述通信隧道。经封装的通信报文的源地址为所述客户端的地址以及目的地址为所述服务端的地址。

在本示例实施例中,可以基于SSL(安全套接层)协议对所述通信报文进行封装,但是本公开的示例实施例不限于此,例如还可以基于TLS(安全传输层)协议对所述通信报文进行封装等,这同样属于本公开的保护范围。

在本示例实施例中,中心节点处的OpenVPN服务端用于从通信隧道接收从私有网络中的OpenVPN客户端发送的通信报文,对所述通信报文进行解封,通过中心节点处的路由器将经解封的通信报文发送至业务一中的目的终端。将通信报文解封后,可以得到原通信报文的目的地址,路由器可以根据该目的地址将通信报文发送至该目的地址处的目的终端。

此外,在本公开的另一示例实施例中,还提供了一种信息发送方法。参照图2所示,该信息发送方法包括以下步骤:

步骤S210.接收源终端向目的终端发送的通信报文,其中,所述源终端位于一私有网络,所述目的终端位于一子业务网络,所述通信报文的源地址为所述私有网络的私有地址,所述通信报文的目的地址为所述目的终端在所述子业务网络中的私有地址;

步骤S220.基于所述目的地址查找在所述私有网络与所述子业务网络之间建立的通信隧道;

步骤S230.基于SSL协议对所述通信报文进行封装;以及

步骤S240.将所述通信报文发送至所述通信隧道上。

根据本示例实施例中的信息发送方法,基于SSL协议对通信报文进行封装,可以在保持通信报文安全性的情况下传输通信报文,从而能够使原通信报文在穿过NAT设备时不被修改。

需要说明的是,在本示例实施例中,为了更清楚地描述信息发送过程,仅对从私有网络向业务网络发送信息的过程进行了描述,由于从业务网络向私有网络发送信息的过程与从私有网络向业务网络发送信息的过程类似,因此在此不再赘述。

下面,将对本示例实施例中的信息发送方法进行详细说明。

在步骤S210中,接收源终端向目的终端发送的通信报文,其中,所述源终端位于一私有网络,所述目的终端位于一子业务网络,所述通信报文的源地址为所述私有网络的私有地址,所述通信报文的目的地址为所述目的终端在所述子业务网络中的私有地址。

在本示例实施例中,业务1和业务2可以构成子业务网络,私有网络A中的服务器可以为源终端,各源终端的私有地址可以为192.168.1.10至192.168.1.20。业务一中的服务器可以为目的终端,各目的终端的私有地址可以为192.168.1.50至192.168.1.60。

接下来,在步骤S220中,基于所述目的地址查找在所述私有网络与所述子业务网络之间建立的通信隧道。

在本示例实施例中,在私有网络A与业务一所处的子业务网络之间通过OpenVPN建立了通信隧道,私有网络A中的OpenVPN客户端可以基于通信报文中的目的地址查找该通信隧道,在查找到该通信隧道之后,私有网络A中的源终端就可以与业务一中的目的终端进行通信。

接下来,在步骤S230中,基于SSL协议对所述通信报文进行封装。

在本示例实施例中,由于SSL协议是为网络通信提供安全及数据完整性的一种安全协议,因此,基于SSL协议对通信报文进行封装可以保持通信报文的安全性,经封装的通信报文的源地址为所述客户端的地址以及目的地址为所述服务端的地址。在通信报文穿过NAT设备时,由于通信报文之外封装了OpenVPN客户端所在服务器的IP地址,因此,NAT设备进行地址转换的时候会转换OpenVPN客户端的IP地址,而不会破坏原通信报文的IP地址,因此可以使原通信报文安全地穿过NAT设备。

接下来,在步骤S240中,将通信报文发送至所述通信隧道上。

在本示例实施例中,在查找到私有网络A与业务一之间建立的通信隧道之后,通过OpenVPN客户端可以将通信报文发送至该通信隧道。通过该通信隧道,可以将通信报文发送至OpenVPN服务端。在本示例实施例中,可以基于TCP或UDP协议将通信报文发送至通信隧道。

此外,在本示例实施例中,还提供了一种信息接收方法。参照图3所示,该信息接收方法包括步骤S310至步骤S330中。接下来,将对本示例实施例中的信息接收方法进行详细说明。

在步骤S310中,从一私有网络与一子业务网络之间建立的通信隧道中,接收源终端向目的终端发送的通信报文,其中,所述源终端位于所述私有网络,所述目的终端位于所述子业务网络,所述通信报文的源地址为所述私有网络的私有地址,所述通信报文的目的地址为所述目的终端在所述子业务网络中的私有地址。

在本示例实施例中,在OpenVPN客户端将通信报文发送至私有网络A与业务一之间建立的通信隧道中之后,OpenVPN服务端可以从该通信隧道中接收到所述通信报文。私有网络A中的服务器可以为源终端,各源终端的私有地址可以为192.168.1.10至192.168.1.20。业务一中的服务器可以为目的终端,各目的终端的私有地址可以为192.168.1.50至192.168.1.60。

接下来,在步骤S320中,基于SSL协议对所述通信报文进行解封。

在本示例实施例中,在OpenVPN服务端接收到基于SSL协议封装的通信报文时,可以基于SSL协议对通信报文进行解封,从而得到完整的原通信报文。

接下来,在步骤S330中,将经解封的通信报文发送至所述子业务网络中的目的终端。

在本示例实施例中,在OpenVPN服务端对通信报文进行解封得到完整的原通信报文后,可以基于原通信报文中的目的地址通过路由器将该通信报文发送至业务一中的目的终端。由于通过SSL协议对原通信报文进行了封装,原通信报文中的目的地址等数据信息没有被修改,从而可以准确地将原通信报文发送至目的终端。

需要说明的是,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。

此外,在本示例实施例中,还提供了一种信息发送装置。参照图4所示,信息发送装置400可以包括:接收单元410、查找单元420、封装单元430以及发送单元440。其中:

接收单元410用于接收源终端向目的终端发送的通信报文,其中,所述源终端位于一私有网络,所述目的终端位于一子业务网络,所述通信报文的源地址为所述私有网络的私有地址,所述通信报文的目的地址为所述目的终端在所述子业务网络中的私有地址;

查找单元420用于基于所述目的地址查找在所述私有网络与所述子业务网络之间建立的通信隧道;

封装单元430用于基于SSL协议对所述通信报文进行封装;以及

发送单元440用于将所述通信报文发送至所述通信隧道上。

由于本示例实施例中的信息发送装置400的各功能模块与上述信息发送方法的示例实施例中的各步骤对应,因此在此不再赘述。

此外,在本示例实施例中,还提供了一种信息接收装置。参照图5所示,信息接收装置500可以包括:接收单元510、解封单元520以及发送单元530。其中:

接收单元510用于从私有网络与子业务网络之间建立的通信隧道中,接收源终端向目的终端发送的通信报文,其中,所述源终端位于所述私有网络,所述目的终端位于所述子业务网络,所述通信报文的源地址为所述私有网络的私有地址,所述通信报文的目的地址为所述目的终端在所述子业务网络中的私有地址;

解封单元520用于基于SSL协议对所述通信报文进行解封;以及

发送单元530用于将经解封的通信报文发送至所述子业务网络中的所述目的终端。

由于本公开的示例实施例的信息接收装置500的各个功能模块与上述信息接收方法的示例实施例的各步骤对应,因此在此不再赘述。

应当注意,尽管在上文详细描述中提及了本公开中装置的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施例,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。

通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本公开实施例的方法。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1