虚拟专网的调度方法及系统
技术领域
本发明属于网络通信技术领域,尤其涉及一种虚拟专网的调度方法及系统。
背景技术
目前,终端设备之间可以通过Internet建立通信连接,但是终端设备通信时必须通过服务提供商,由服务提供商将通信信息在终端设备之间进行传递。并且现阶段互联网通信主要依靠TCP/IP协议进行,TCP/IP是一组用于实现网络互连的通信协议。Internet网络体系结构以TCP/IP为核心,TCP/IP通信协议采用了四层的层级结构,每一层都呼叫它的下一层提供的网络来完成自己的需求,这四层分别为:网络访问层、网际互连层、传输层和应用层。随着Internet的迅猛发展,越来越多的终端设备需要服务,服务提供商需要运行的数据越来越多,导致通信速度越来越低。TCP/IP通信协议在大规模组网时寻址以及进行封包和解包的过程所需的存储资源和计算资源更多,增加了网络延迟,提高了网络故障的风险。
发明内容
有鉴于此,本发明实施例提供了一种虚拟专网的调度方法及系统,以解决现有技术中越来越多的终端设备需要服务,服务提供商需要运行的数据越来越多,导致通信速度越来越低。TCP/IP通信协议在大规模组网时寻址以及进行封包和解包的过程所需的存储资源和计算资源更多,增加了网络延迟,提高了网络故障的风险的问题。
本发明实施例的第一方面提供了一种虚拟专网的调度方法,包括:
边缘节点接收虚拟专网中核心节点广播的边缘节点信息表,并更新存储的第一边缘节点信息表;
所述边缘节点根据更新后的第一边缘节点信息表,获取待通信的目标边缘节点的物理地址MAC地址和目标边缘节点的用户组名;
所述边缘节点将预设数据、目标边缘节点的用户组名和目标边缘节点的MAC地址依次封装为数据包,进行全网广播目标边缘节点的MAC地址;
所述目标边缘节点接收到广播后,解析所述数据包中的目标边缘节点的MAC地址和目标边缘节点的用户组名,确定目标边缘节点的MAC地址和目标边缘节点的用户组名与保存的MAC地址和用户组名一致时,对所述预设数据进行处理。
在一实施例中,所述边缘节点接收虚拟专网中核心节点广播的边缘节点信息表之前,还包括:
所述边缘节点向核心节点的注册,建立所述边缘节点与所述核心节点之间的通信隧道。
在一实施例中,所述边缘节点向核心节点的注册,建立所述边缘节点与所述核心节点之间的通信隧道,包括:
边缘节点根据存储的核心节点的地址将注册信息发送给核心节点进行注册,所述注册信息包括所述边缘节点的身份信息,所述核心节点为虚拟专网中的任一核心节点;
所述核心节点接收所述注册信息,并根据所述边缘节点以及对应的所述注册信息,更新存储的第二边缘节点信息表;
所述核心节点将更新后的第二边缘节点信息表广播给网络中所有边缘节点,以便注册到所述核心节点上的所有边缘节点更新存储的边缘节点信息表。
在一实施例中,所述边缘节点的身份信息包括边缘节点的预设标识,所述预设标识与对应的边缘节点一一对应;
所述预设标识包括所述边缘节点的MAC地址和用户组名。
在一实施例中,预设标识中的MAC地址为对应的边缘节点的唯一固定私网地址,作为边缘节点之间通信的目的地址和源地址。
在一实施例中,虚拟专网中核心节点以及边缘节点各自保存的边缘节点信息表根据预设周期更新。
在一实施例中,边缘节点之间传输的所有数据均进行对称性加密,边缘节点之间进行首次通信时,源边缘节点将加密密钥、加密方式发送给目标边缘节点。
在一实施例中,源边缘节点或者目标边缘节点对数据进行加密包括:
A.将待加密数据划分为多个数据块;
B.对第一数据块的数据与预设初始向量进行运算,获得第一运算结果;
C.采用用户自定义加密密钥对所述第一运算结果进行加密,获得加密密文;
D.根据预设规则确定所述加密密文中的一段密文作为第二数据块的加密向量,或者根据预设规则确定所述加密密文中多个不连续数据作为第二数据块的加密向量;
E.对第二数据块的数据与所述加密向量进行运算,获得第二运算结果;
F.采用所述用户自定义加密密钥对所述第二运算结果进行加密,获得第二密文;
G.根据步骤D确定下一加密向量的方式确定下一数据块的加密向量,并根据步骤E、步骤F以及步骤G的方式对下一数据块进行加密,直到将所有数据加密完成,获得加密后数据。
本发明实施例的第二方面提供了一种虚拟专网的调度系统,包括:边缘节点和目标边缘节点;
所述边缘节点,用于接收虚拟专网中核心节点广播的边缘节点信息表,并更新存储的第一边缘节点信息表;以及根据更新后的第一边缘节点信息表,获取待通信的目标边缘节点的物理地址MAC地址和目标边缘节点的用户组名;以及将预设数据、目标边缘节点的用户组名和目标边缘节点的MAC地址依次封装为数据包,进行全网广播目标边缘节点的MAC地址;
所述目标边缘节点,用于接收到广播后,解析所述数据包中的目标边缘节点的MAC地址和目标边缘节点的用户组名,确定目标边缘节点的MAC地址和目标边缘节点的用户组名与保存的MAC地址和用户组名一致时,对所述预设数据进行处理。
在一实施例中,所述虚拟专网的调度系统,还包括核心节点;
所述核心节点,用于接收所述边缘节点发送的注册信息,并根据所述边缘节点以及对应的所述注册信息,更新存储的第二边缘节点信息表;所述注册信息包括所述边缘节点的身份信息;以及将更新后的第二边缘节点信息表广播给网络中所有边缘节点,以便所有边缘节点更新存储的边缘节点信息表。
本发明实施例,通过边缘节点接收虚拟专网中核心节点广播的边缘节点信息表,并更新存储的第一边缘节点信息表;然后根据更新后的第一边缘节点信息表,获取待通信的目标边缘节点的物理地址MAC地址和目标边缘节点的用户组名;以及将预设数据、目标边缘节点的用户组名和目标边缘节点的MAC地址依次封装为数据包,进行全网广播目标边缘节点的MAC地址;所述目标边缘节点接收到广播后,解析所述数据包中的目标边缘节点的MAC地址和目标边缘节点的用户组名,确定目标边缘节点的MAC地址和目标边缘节点的用户组名与自身保存的MAC地址和用户组名一致时,对所述预设数据进行处理。边缘节点之间可以直接通信,并且通过一次寻址到达目标地址,从而可以提高虚拟专网中边缘节点之间的通信速度以及网络寻址速度,降低虚拟专网中寻址所需的计算和存储资源,并且降低网络延迟。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的虚拟专网的调度方法的实现流程示意图;
图2是本发明实施例提供的边缘节点向核心节点的注册,建立所述边缘节点与所述核心节点之间的通信隧道方法的实现流程示意图;
图3是本发明实施例提供的源边缘节点或者目标边缘节点对数据进行加密过程的示意图;
图4是本发明实施例提供的虚拟专网的调度系统的示例图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
图1为本发明实施例提供的一种虚拟专网的调度方法的实现流程示意图,详述如下。
步骤101,边缘节点接收虚拟专网中核心节点广播的边缘节点信息表,并更新存储的第一边缘节点信息表。
可选的,第一边缘节点信息表为边缘节点自身保存的边缘节点信息表,这里“第一”并不是为了排序,而是为了跟其他节点中保存的边缘节点信息表进行区分。
可选的,本步骤中在边缘节点接收虚拟专网中核心节点广播的边缘节点信息表之前,还包括所述边缘节点向核心节点的注册,建立所述边缘节点与所述核心节点之间的通信隧道,以便虚拟专网中的所有边缘节点之间可以直接通信。
可选的,虚拟专网中可以包括多个核心节点,核心节点之间可以互相通信,核心节点可以接收其他核心节点保存的边缘节点信息表,使得各个核心节点保存的边缘节点信息表为全网下注册的边缘节点的身份信息。这样注册到同一核心节点上的边缘节点之间可以通信,并且注册到不同核心节点上的边缘节点也可以进行通信。
虚拟专网的建立可以降低目前Internet网络体系结构中服务提供商即服务器的处理量,提高服务器的性能。而由边缘节点之间直接进行通信,还可以降低终端设备之间的通信延迟,提高终端设备之间的通信效率。
可选的,如图2所示,所述边缘节点向核心节点的注册,建立所述边缘节点与所述核心节点之间的通信隧道,可以包括以下步骤。
步骤201,边缘节点根据存储的核心节点的地址将注册信息发送给核心节点进行注册。
其中,所述注册信息包括所述边缘节点的身份信息以及地址信息,所述核心节点为虚拟专网中的任一核心节点。
可选的,各个边缘节点上都保存有核心节点的通信地址,边缘节点可以选择任一个核心节点进行注册。核心节点的通信地址是一个固定公网IP地址。
可选的,所述边缘节点的身份信息包括边缘节点的预设标识,所述预设标识包括所述边缘节点的物理地址(Media Access Control,MAC)地址和用户组名。边缘节点拥有一个全网唯一的预设标识,预设标识与对应的边缘节点一一对应。MAC地址可以用六个字节进行表示,用户组名可以用十六个字节进行表示。
边缘节点将虚拟设备充当在内核中实现虚拟网卡,每个虚拟网络拥有一个全网统一网段的唯一固定私网地址,即边缘节点的MAC地址为对应的边缘节点的唯一固定私网地址,可以作为边缘节点之间通信的目的地址和源地址。内核将发送虚拟网卡作为发送以太网帧的出入口和路由。
可选的,在虚拟专网中,边缘节点仅可以属于一个用户组,这样虚拟专网中的各个边缘节点可以通过用户组进行网络隔离。
步骤202,所述核心节点接收所述注册信息,并根据所述边缘节点以及对应的所述注册信息,更新存储的第二边缘节点信息表。
可选的,第二边缘节点信息表为核心节点自身保存的边缘节点信息表,这里“第二”并不是为了排序,而是为了跟其他节点中保存的边缘节点信息表进行区分。
可选的,在虚拟专网中,核心节点负责对边缘节点的身份进行验证,并对边缘节点信息进行收集和广播。核心节点接收到边缘节点发送的注册信息后,对边缘节点进行身份验证,当确定其为合法终端后,自动与其建立虚拟专网通信隧道。当确定边缘节点为非法终端后,中心节点将通报全网,断开和非法边缘节点的连接。这个机制让虚拟网络具有自动化的主动防御能力。
可选的,在虚拟专网中,边缘节点作为通信网关,在核心节点的指挥调度下完成与其他边缘节点的通信任务。
步骤203,所述核心节点将更新后的第二边缘节点信息表广播给网络中所有边缘节点,以便注册到所述核心节点上的所有边缘节点更新存储的边缘节点信息表。
核心节点在确认边缘节点为合法节点后,将边缘节点的地址信息更新到核心节点预先存储的第二边缘节点信息表中,并将更新后的第二边缘节点信息表在虚拟专网中进行全网广播。
接收到全网广播的边缘节点(例如边缘节点B)获得更新后的第二边缘节点信息表后,由于更新后的第二边缘节点地址信息表记录了边缘节点A的网络地址信息,则边缘节点B可以通过所述边缘节点的地址信息实现与所述边缘节点的直接通信而无需跨越核心节点。
可选的,在边缘节点注册成功后,边缘节点拥有核心节点下注册的所有边缘节点的身份信息,这样边缘节点之间可以直接根据边缘节点信息表中的地址信息进行通信,而不需核心节点介入,因此核心节点只需要较低的性能,即可满足大规模组网的需要,核心节点也不再成为网络性能的瓶颈,能承受很高的突发性通信业务冲击,系统稳定性很高,并且虚拟专网可以接入大量的终端设备。
步骤102,所述边缘节点根据更新后的第一边缘节点信息表,获取待通信的目标边缘节点的物理地址MAC地址和目标边缘节点的用户组名。
可选的,边缘节点根据接收到的核心节点广播的边缘节点信息表,更新自己的第一边缘节点信息表,这样可以获得在核心节点处注册的所有边缘节点的MAC地址和用户组名。当此边缘节点需要跟其他边缘节点通信时,则可以直接在自己保存的第一边缘节点信息表中查找目标边缘节点的MAC地址和用户组名,与对应目标边缘节点的建立直接通信链路。
步骤103,所述边缘节点将预设数据、目标边缘节点的用户组名和目标边缘节点的MAC地址依次封装为数据包,进行全网广播目标边缘节点的MAC地址。
可选的,边缘节点将以太帧和加密数据封装在用户数据报协议(User DatagramProtocol,UDP)包中,然后再封装目标边缘节点的身份信息,这样可以将数据包封装为一个两层的数据包,与目前的TCP/IP通信协议采用了四层的层级结构相比,仅需要一次寻址即可完成从源地址到目的地址,无需启动复杂的路由协议辅助寻址,从而可以提高虚拟专网中的网络寻址速度,并且降低虚拟专网中寻址所需的计算、存储资源和通信延迟。
步骤104,所述目标边缘节点接收到广播后,解析所述数据包中的目标边缘节点的MAC地址和目标边缘节点的用户组名,确定目标边缘节点的MAC地址和目标边缘节点的用户组名与保存的MAC地址和用户组名一致时,对所述预设数据进行处理。
可选的,当目标边缘节点接收到广播后,确定广播的MAC地址与自己的固定私网地址一致,则解析数据包,获取目标边缘节点的MAC地址和目标边缘节点的用户组名,并且验证目标边缘节点的MAC地址和目标边缘节点的用户组名是否与自己的MAC地址和用户组名一致。当目标边缘节点的MAC地址和目标边缘节点的用户组名与自己的MAC地址和用户组名一致时,则确认自己为通信对象,对数据包进行处理。
可选的,虚拟专网中核心节点以及边缘节点各自保存的边缘节点信息表可以根据预设周期更新。当虚拟专网中核心节点发生故障时,边缘节点之间位置未发生变化时,边缘节点之间的通信不受影响。
可选的,边缘节点之间通信时传输的所有数据均进行对称性加密,即源边缘节点给目标边缘节点发送数据包时进行加密,目标边缘节点给源边缘节点反馈数据包时也进行加密,且采用的加密方式相同。边缘节点之间进行首次通信时,源边缘节点将加密密钥、加密方式发送给目标边缘节点。
可选的,加密密钥为用户自定义的加密密钥。
可选的,源边缘节点或者目标边缘节点对数据进行加密可以采用链式加密方式,如图3所示可以包括以下步骤。
步骤301,将待加密数据划分为多个数据块。
可选的,依次对每一数据块进行加密,并且后一数据块加密时采用前一数据块加密后的密文,使得加密后的密文安全性更高。
步骤302,对第一数据块的数据与预设初始向量进行运算,获得第一运算结果。
可选的,初始向量可以根据需求进行设定。
可选的,对第一数据块的数据与预设初始向量进行的运算,可以包括任何一种或多种运算,例如异或运算、加减运算、平方运算等等。
步骤303,采用用户自定义加密密钥对所述第一运算结果进行加密,获得加密密文。
步骤304,根据预设规则确定所述加密密文中的一段密文作为第二数据块的加密向量,或者根据预设规则确定所述加密密文中多个不连续数据作为第二数据块的加密向量。
可选的,预设规则即确定作为第二数据块的加密向量的密文的规则,例如,在密文中的开始选择一段连续密文,或者结尾选择一段连续密文,或者在密文中间选择一段连续密文。
可选的,确定第二数据块的加密向量时可以根据与目标边缘节点协议的方式选择。
下一数据块的加密向量根据上一数据块的加密后的密文设定,可以降低密文被破解的风险。
步骤305,对第二数据块的数据与所述加密向量进行运算,获得第二运算结果。
可选的,对第二数据块的数据与所述加密向量进行运算的方式与对第一数据块的数据与预设初始向量进行运算的方式相同,只是采用的加密向量不同。
步骤306,采用所述用户自定义加密密钥对所述第二运算结果进行加密,获得第二密文。
步骤307,根据步骤304确定下一加密向量的方式确定下一数据块的加密向量,并根据步骤305、步骤306以及步骤307的方式对下一数据块进行加密,直到将所有数据加密完成,获得加密后数据。
目标边缘节点接收到数据包后,解析所述数据包中的目标边缘节点的MAC地址和目标边缘节点的用户组名,确定目标边缘节点的MAC地址和目标边缘节点的用户组名与所述目标边缘节点的MAC地址和用户组名一致时,继续对加密数据进行解密,解密的方法与加密方法相反。
上述虚拟专网的调度方法,通过边缘节点接收虚拟专网中核心节点广播的边缘节点信息表,并更新存储的第一边缘节点信息表;然后根据更新后的第一边缘节点信息表,获取待通信的目标边缘节点的物理地址MAC地址和目标边缘节点的用户组名;以及将预设数据、目标边缘节点的用户组名和目标边缘节点的MAC地址依次封装为数据包,进行全网广播目标边缘节点的MAC地址;所述目标边缘节点接收到广播后,解析所述数据包中的目标边缘节点的MAC地址和目标边缘节点的用户组名,确定目标边缘节点的MAC地址和目标边缘节点的用户组名与自身保存的MAC地址和用户组名一致时,对所述预设数据进行处理。上述实施例中,边缘节点之间可以直接通信,并且通过一次寻址到达目标地址,从而可以提高虚拟专网中边缘节点之间的通信速度以及网络寻址速度,降低虚拟专网中寻址所需的计算和存储资源,并且降低网络延迟。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
对应于上文实施例所述的虚拟专网的调度方法,图4示出了本发明实施例提供的虚拟专网的调度系统的示例图。如图4所示,该系统可以包括:边缘节点401和目标边缘节点402。
所述边缘节点401,用于接收虚拟专网中核心节点广播的边缘节点信息表,并更新存储的第一边缘节点信息表;以及根据更新后的第一边缘节点信息表,获取待通信的目标边缘节点402的物理地址MAC地址和目标边缘节点402的用户组名;以及将预设数据、目标边缘节点402的用户组名和目标边缘节点402的MAC地址依次封装为数据包,进行全网广播目标边缘节点402的MAC地址;
所述目标边缘节点402,用于接收到广播后,解析所述数据包中的目标边缘节点402的MAC地址和目标边缘节点402的用户组名,确定目标边缘节点的MAC地址和目标边缘节点的用户组名与保存的MAC地址和用户组名一致时,对所述预设数据进行处理。
可选的,所述虚拟专网的调度系统,还包括核心节点403。
所述核心节点403,用于接收所述边缘节点401发送的注册信息,并根据所述边缘节点401以及对应的所述注册信息,更新存储的第二边缘节点信息表;所述注册信息包括所述边缘节点的身份信息;以及将更新后的第二边缘节点信息表广播给网络中所有边缘节点,以便所有边缘节点更新存储的边缘节点信息表。
可选的,虚拟专网的调度系统可以包括多个核心节点和多个边缘节点。
可选的,所述边缘节点401接收虚拟专网中核心节点403广播的边缘节点信息表之前,还包括:
所述边缘节点401向核心节点403的注册,建立所述边缘节点401与所述核心节点403之间的通信隧道,以便虚拟专网中的所有边缘节点之间可以直接通信。
可选的,虚拟专网中可以包括多个核心节点,核心节点之间可以互相通信,核心节点可以接收其他核心节点保存的边缘节点信息表,使得各个核心节点保存的边缘节点信息表为全网下注册的边缘节点的身份信息。这样注册到同一核心节点上的边缘节点之间可以通信,并且注册到不同核心节点上的边缘节点也可以进行通信。
可选的,边缘节点401根据存储的核心节点的地址将注册信息发送给核心节点403进行注册,所述注册信息包括所述边缘节点401的身份信息,所述核心节点403为虚拟专网中的任一核心节点;
所述核心节点403接收所述注册信息,并根据所述边缘节点401以及对应的所述注册信息,更新存储的第二边缘节点信息表;
所述核心节点403将更新后的第二边缘节点信息表广播给网络中所有边缘节点,以便注册到所述核心节点上的所有边缘节点更新存储的边缘节点信息表。
可选的,所述边缘节点401的身份信息包括边缘节点401的预设标识,所述预设标识与对应的边缘节点一一对应;
所述预设标识包括所述边缘节点的MAC地址和用户组名。
可选的,预设标识中的MAC地址为对应的边缘节点的唯一固定私网地址,作为边缘节点之间通信的目的地址和源地址。
可选的,虚拟专网中核心节点以及边缘节点各自保存的边缘节点信息表根据预设周期更新。
可选的,边缘节点之间传输的所有数据均进行对称性加密,边缘节点之间进行首次通信时,源边缘节点将加密密钥、加密方式发送给目标边缘节点。
可选的,源边缘节点或者目标边缘节点对数据进行加密包括:
A.将待加密数据划分为多个数据块;
B.对第一数据块的数据与预设初始向量进行运算,获得第一运算结果;
C.采用用户自定义加密密钥对所述第一运算结果进行加密,获得加密密文;
D.随机选择所述加密密文中任意一段密文作为第二数据块的加密向量,或者随机选择所述加密密文中多个不连续数据作为第二数据块的加密向量;
E.对第二数据块的数据与所述加密向量进行运算,获得第二运算结果;
F.采用所述用户自定义加密密钥对所述第二运算结果进行加密,获得第二密文;
G.根据步骤D确定下一加密向量的方式确定下一数据块的加密向量,并根据步骤E、步骤F以及步骤G的方式对下一数据块进行加密,直到将所有数据加密完成,获得加密后数据。
上述虚拟专网的调度系统,通过边缘节点接收虚拟专网中核心节点广播的边缘节点信息表,并更新存储的第一边缘节点信息表;然后根据更新后的第一边缘节点信息表,获取待通信的目标边缘节点的物理地址MAC地址和目标边缘节点的用户组名;以及将预设数据、目标边缘节点的用户组名和目标边缘节点的MAC地址依次封装为数据包,进行全网广播目标边缘节点的MAC地址;所述目标边缘节点接收到广播后,解析所述数据包中的目标边缘节点的MAC地址和目标边缘节点的用户组名,确定目标边缘节点的MAC地址和目标边缘节点的用户组名与自身保存的MAC地址和用户组名一致时,对所述预设数据进行处理。上述实施例中,边缘节点之间可以直接通信,并且通过一次寻址到达目标地址,从而可以提高虚拟专网中边缘节点之间的通信速度以及网络寻址速度,降低虚拟专网中寻址所需的计算和存储资源,并且降低网络延迟。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。