CN110677426B - 一种数据传输方法、装置、存储介质及vpn设备 - Google Patents
一种数据传输方法、装置、存储介质及vpn设备 Download PDFInfo
- Publication number
- CN110677426B CN110677426B CN201910947254.7A CN201910947254A CN110677426B CN 110677426 B CN110677426 B CN 110677426B CN 201910947254 A CN201910947254 A CN 201910947254A CN 110677426 B CN110677426 B CN 110677426B
- Authority
- CN
- China
- Prior art keywords
- ipsec
- policy
- security policy
- data
- target
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0485—Networking architectures for enhanced packet encryption processing, e.g. offloading of IPsec packet processing or efficient security association look-up
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及数据传输技术领域,提供一种数据传输方法、装置、存储介质及VPN设备。数据传输方法应用于第一子网内的第一VPN设备,第一VPN设备与第二子网内的第二VPN设备之间建立有多个IPSec隧道,每个隧道对应一条IPSec安全策略,方法包括:接收第一子网内的第一设备向第二子网内的第二设备发送的数据;根据数据中的目的设备信息确定与上述多个隧道对应的多条安全策略;从多条安全策略中选择目标安全策略;根据目标安全策略在对应的隧道中传输数据。因为在一台VPN设备上建立了多个隧道,所以在一个子网内只需设置一台或少量的VPN设备,因此单台VPN设备的计算性能得到了充分利用,并且有利于降低实施成本。
Description
技术领域
本发明涉及计算机网络技术领域,具体而言,涉及一种数据传输方法、装置、存储介质及VPN设备。
背景技术
IPSec VPN是采用互联网协议安全(Internet Protocol Security,IPSec)实现的一种虚拟专用网络(Virtual Private Network,VPN)技术,该技术利用IPSec协议为互联网上传输的数据提供了高质量的、基于密码学的安全保证,从而确保用户数据传输的稳定性。
在不同子网内的设备通过IPSec隧道实现通信时,通常会考虑隧道的备份问题,即同时建立多个IPSec隧道,当其中一个IPSec隧道因网络异常等原因断开时,其他IPSec隧道依然确保通信正常进行。现有的解决方案中,在一侧子网内设置多个VPN设备,这些VPN设备分别与另一侧子网内的VPN设备建立IPSec隧道,进而实现隧道的备份与负载(隧道的负载即通过隧道传输数据)。然而,该方案由于在子网中设置了多个VPN设备,导致每个VPN设备的计算性能难以得到充分利用,并且实施方案的成本也比较高。
发明内容
本申请实施例的目的在于提供一种数据传输方法、装置、存储介质及VPN设备,以改善上述技术问题。
为实现上述目的,本申请提供如下技术方案:
第一方面,本申请实施例提供一种数据传输方法,应用于第一子网内的第一VPN设备,所述方法包括:接收所述第一子网内的第一设备发送的数据,所述数据中携带有目的设备信息,所述目的设备信息表示所述数据的目的设备为第二子网内的第二设备;其中,所述第二子网内设置有第二VPN设备,所述第一VPN设备与所述第二VPN设备之间建立有多个IPSec隧道,每个IPSec隧道对应创建有一条IPsec安全策略;根据所述数据中的目的设备信息确定与所述多个IPSec隧道对应的多条IPSec安全策略;从所述多条IPSec安全策略中选择目标安全策略;根据所述目标安全策略在所述目标安全策略对应的IPSec隧道中传输所述数据。
在上述方法中,因为在一台VPN设备上可建立多个IPSec隧道,所以第一子网内只需要设置一台或少量的VPN设备(包括第一VPN设备)即可满足第一子网内的设备与其他子网内的设备间的加密通信需求。其中,第一VPN设备与第二子网内的第二VPN设备之间建立多个IPSec隧道,多个IPSec隧道之间互为备份,并且,第一子网内的设备在与第二子网内的设备进行通信时,发送的数据均由第一VPN设备负责处理,因此充分利用了单台VPN设备的性能,避免了资源浪费。而且,由于并不需要在子网内部署大量的VPN设备,方案的实施成本也比较低。
在第一方面的一种实现方式中,根据所述数据中的目的设备信息确定与所述多个IPSec隧道对应的多条IPSec安全策略,包括:将所述数据中的目的设备信息与IPSec安全策略库中的IPSec安全策略中的目的子网信息进行匹配,将成功匹配的多条IPSec安全策略确定为与所述多个IPSec隧道对应的多条IPSec安全策略;其中,所述目的子网信息表示所述IPSec安全策略对应的IPSec隧道的目的子网为所述第二子网。
第一子网内的第一VPN设备可以和多个子网内的VPN设备之间建立IPSec隧道,同时也创建大量的IPSec安全策略,这些IPSec安全策略可以通过IPSec安全策略库进行存储和管理,第一VPN设备在接收到第一子网内的第一设备向第二子网内的第二设备发送的数据后,首先根据数据中的目的设备信息从IPSec安全策略库中筛选出对应于第一VPN设备和第二VPN设备之间建立的IPSec隧道的IPSec安全策略。其中,目的设备信息可以是,但不限于第二设备的IP地址,目的子网信息可以是,但不限于第二VPN设备在第二子网中的IP地址及第二子网的子网掩码。
在第一方面的一种实现方式中,所述从所述多条IPSec安全策略中选择目标安全策略,包括:利用负载均衡策略从所述多条IPSec安全策略中选择目标安全策略。
在第一VPN设备和第二VPN设备之间有多个可供传输数据的IPSec隧道,设置负载均衡策略的目的是为了将数据合理地分配到不同的IPSec隧道中进行传输,降低单个IPSec隧道的数据传输压力,充分利用各个IPSec隧道的数据传输能力。由于IPSec安全策略和IPSec隧道是一一对应的,所以利用负载均衡策略选择IPSec安全策略实际上也就是利用负载均衡策略选择了要传输数据的IPSec隧道。此外,IPSec安全策略具有可扩展性,可以在其中添加一些决策信息(如后文会提到的V1、Na等)供负载均衡策略进行决策时使用,这样也可以避免单独存储这些决策信息,处理起来比较方便。
在第一方面的一种实现方式中,所述利用负载均衡策略从所述多条IPSec安全策略中选择目标安全策略,包括:获取所述多个IPSec隧道中的每个IPSec隧道的负载性能指标V1,根据V1的值,利用负载均衡策略从所述多条IPSec安全策略中选择目标安全策略。
负载性能指标V1表征IPSec隧道的负载性能,即隧道的数据传输能力,一些负载均衡策略根据V1来选择目标安全策略,从而达到为各个IPSec隧道分配与其负载性能相匹配的数据传输量的目的。
在第一方面的一种实现方式中,所述获取所述多个IPSec隧道中的每个IPSec隧道的负载性能指标V1,根据V1的值,利用负载均衡策略从所述多条IPSec安全策略中选择目标安全策略,包括:获取所述多个IPSec隧道中的每个IPSec隧道的负载性能指标V1的值以及所述IPSec隧道被选中用于数据传输的总次数Na,根据V1以及Na的值,利用如下公式计算决策值Vp:Vp=V1-(Na mod V1);将计算出的Vp最大的IPSec隧道对应的IPSec安全策略确定为目标安全策略。
上述公式右侧,V1表征IPSec隧道的负载性能,Na mod V1表征IPSec隧道已经被使用的负载性能,二者相减获得的决策值Vp则表征IPSec隧道的剩余负载性能Vp,即IPSec隧道目前可用的负载性能,因此上述实现方式中的负载均衡策略就是选择剩余负载性能最高的IPSec隧道进行数据传输(实施中选择的是计算出的Vp最大的IPSec隧道对应的IPSec安全策略,这条IPSec安全策略对应的IPSec隧道也就是剩余负载性能最高的IPSec隧道)。需要指出,每条IPSec隧道均对应一个Na值,该值随着时间的推移会不断增长,因此在上面的公式并不是直接使用Na,而是使用Namod V1。
在第一方面的一种实现方式中,所述IPSec安全策略中纪录对应的IPSec隧道的V1以及Na,计算Vp时使用的所述IPSec隧道的V1以及Na从对应的IPSec安全策略中获取。
在上述实现方式中,将IPSec隧道的V1和Na添加到IPSec安全策略中(例如,可以作为IPSec安全策略中的字段)供计算Vp时使用,由于IPSec安全策略是建立IPSec隧道时必然会创建的信息,并且其与IPSec隧道具有一一对应关系,所以将IPSec隧道的V1和Na携带在IPSec安全策略中,获取起来比较方便,无需单独维护V1和Na。
在第一方面的一种实现方式中,所述方法还包括:监测所述IPSec隧道的数据传输状况,并根据监测结果更新所述IPsec隧道的V1的值。
在IPSec隧道建立后,IPSec隧道的负载性能指标V1可以保持不变,或者也可以根据监测到的IPSec隧道的数据传输状况进行调整,以便反应IPSec隧道真实的负载性能。除了调整V1之外,在一些实现方式中,还可以根据监测到的IPSec隧道的数据传输状况调整目前使用的负载均衡策略。
在第一方面的一种实现方式中,所述利用负载均衡策略从所述多条IPSec安全策略中选择目标安全策略,包括:获取所述多条IPSec安全策略中的任一IPSec安全策略对应的负载均衡策略标识,根据负载均衡策略标识所表示负载均衡策略,从所述多条IPSec安全策略中选择目标安全策略;其中,所述多条IPSec安全策略中的每条IPSec安全策略对应的负载均衡策略标识相同。
在IPSec隧道中传输数据时采用何种负载均衡策略是非常灵活的,例如,轮询法、随机法、随机轮询法、源地址哈希法、加权轮询法以及上文提到的根据决策值Vp进行负载均衡的方法都是可以选择的,选择何种负载均衡策略可以通过负载均衡策略标识进行记录,从而VPN设备在接收到数据后可以根据该标识执行相应的负载均衡策略。需要指出,若两个VPN设备之间建立有多个IPSec隧道,对这些IPSec隧道对应的IPSec安全策略需要采用统一的负载均衡策略从中选择目标安全策略,从而这些IPSec安全策略对应的负载均衡策略标识是一致的。
在第一方面的一种实现方式中,在从所述多条IPSec安全策略中选择目标安全策略之后,所述方法还包括:保存所述目标安全策略与所述第一设备和所述第二设备之间的关联关系,若再次接收到所述第一设备向所述第二设备发送的数据,则根据所述关联关系获取所述目标安全策略,并利用所述目标安全策略在所述目标安全策略对应的IPSec隧道中传输新接收到的数据。
在子网中的两台设备之间通过上述数据传输方法进行通信后,会选择出一条针对这两台设备的目标安全策略,后续这两台设备再次通信时,可以沿用之前选出的目标安全策略对数据进行处理,处理效率较高。当然在另一些实现方式中,也可以重新进行目标安全策略的选择,这种处理方式更加灵活。
在一种典型的应用场景中,子网中的两台设备之间会进行持续的数据通信,即在两台设备之间形成一个由多次通信的数据构成的数据流。对于这个数据流,可以采用固定的IPSec安全策略处理,即当该数据流中的数据首次到达VPN设备时,就决定好该数据流具体采用哪条IPSec安全策略(当然也就决定了该数据流在哪个IPSec隧道中传输),之后VPN设备再次收到属于同一数据流的数据,直接使用之前已经选择出的IPSec安全策略进行处理。
第二方面,本申请实施例提供一种数据传输装置,配置于第一子网内的第一VPN设备,所述装置包括:数据接收模块,用于接收所述第一子网内的第一设备发送的数据,所述数据中携带有目的设备信息,所述目的设备信息表示所述数据的目的设备为第二子网内的第二设备;其中,所述第二子网内设置有第二VPN设备,所述第一VPN设备与所述第二VPN设备之间建立有多个IPSec隧道,每个IPSec隧道对应创建有一条IPsec安全策略;策略确定模块,用于根据所述数据中的目的设备信息确定与所述多个IPSec隧道对应的多条IPSec安全策略;策略选择模块,用于从所述多条IPSec安全策略中选择目标安全策略;数据传输模块,用于根据所述目标安全策略在所述目标安全策略对应的IPSec隧道中传输所述数据。
在第二方面的一种实现方式中,所述策略确定模块根据所述数据中的目的设备信息确定与所述多个IPSec隧道对应的多条IPSec安全策略,包括:将所述数据中的目的设备信息与IPSec安全策略库中的IPSec安全策略中的目的子网信息进行匹配,将成功匹配的多条IPSec安全策略确定为与所述多个IPSec隧道对应的多条IPSec安全策略;其中,所述目的子网信息表示所述IPSec安全策略对应的IPSec隧道的目的子网为所述第二子网。
在第二方面的一种实现方式中,所述策略选择模块从所述多条IPSec安全策略中选择目标安全策略,包括:利用负载均衡策略从所述多条IPSec安全策略中选择目标安全策略。
在第二方面的一种实现方式中,所述策略选择模块利用负载均衡策略从所述多条IPSec安全策略中选择目标安全策略,包括:获取所述多个IPSec隧道中的每个IPSec隧道的负载性能指标V1,根据V1的值,利用负载均衡策略从所述多条IPSec安全策略中选择目标安全策略。
在第二方面的一种实现方式中,所述策略选择模块获取所述多个IPSec隧道中的每个IPSec隧道的负载性能指标V1,根据V1的值,利用负载均衡策略从所述多条IPSec安全策略中选择目标安全策略,包括:获取所述多个IPSec隧道中的每个IPSec隧道的负载性能指标V1的值以及所述IPSec隧道被选中用于数据传输的总次数Na,根据V1以及Na的值,利用如下公式计算决策值Vp:Vp=V1-(Na mod V1);将计算出的Vp最大的IPSec隧道对应的IPSec安全策略确定为目标安全策略。
在第二方面的一种实现方式中,所述IPSec安全策略中纪录对应的IPSec隧道的V1以及Na,计算Vp时使用的所述IPSec隧道的V1以及Na从对应的IPSec安全策略中获取。
在第二方面的一种实现方式中,所述策略选择模块还用于:监测所述IPSec隧道的数据传输状况,并根据监测结果更新所述IPsec隧道的V1的值。
在第二方面的一种实现方式中,所述策略选择模块利用负载均衡策略从所述多条IPSec安全策略中选择目标安全策略,包括:获取所述多条IPSec安全策略中的任一IPSec安全策略对应的负载均衡策略标识,根据负载均衡策略标识所表示负载均衡策略,从所述多条IPSec安全策略中选择目标安全策略;其中,所述多条IPSec安全策略中的每条IPSec安全策略对应的负载均衡策略标识相同。
在第二方面的一种实现方式中,所述装置还包括:信息存储模块,用于在所述策略选择模块从所述多条IPSec安全策略中选择目标安全策略之后,保存所述目标安全策略与所述第一设备和所述第二设备之间的关联关系;若所述数据接收模块再次接收到所述第一设备向所述第二设备发送的数据,则所述数据传输模块根据所述关联关系获取所述目标安全策略,并利用所述目标安全策略在所述目标安全策略对应的IPSec隧道中传输新接收到的数据。
第三方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器读取并运行时,执行第一方面或第一方面的任意一种可能的实现方式提供的方法。
第四方面,本申请实施例提供一种VPN设备,包括:存储器以及处理器,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器读取并运行时,执行第一方面或第一方面的任意一种可能的实现方式提供的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例提供的数据传输方法的一种应用场景的示意图;
图2示出了本申请实施例提供的一种数据传输方法的流程图;
图3示出了本申请实施例提供的一种数据传输装置的功能模块图;
图4示出了本申请实施例提供的一种VPN设备的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
图1示出了本申请实施例提供的数据传输方法的一种应用场景的示意图。参照图1,该场景中包括第一子网100和第二子网110,第一子网100和第二子网110之间为中间网络120。第一子网100内包括第一VPN设备104以及其他设备,其中包括第一设备102;第二子网110内包括第二VPN设备114以及其他设备,其中包括第一设备112。其中,第一设备102可以是第一子网100中的任意一台设备,包括第一VPN设备104自身;第二设备112可以是第二子网110中的任意一台设备,包括第二VPN设备114自身。VPN设备位于子网的边界处,起到网关作用,因此也可称之为VPN网关设备,在具体实施时,VPN网关功能可以在交换机、路由器、普通计算机等设备上实现。
在该场景中,通过在子网中设置VPN设备,在第一子网100和第二子网110的基础上搭建起VPN网络,其中第一子网100和第二子网110也可称为VPN网络的保护子网。该VPN网络采用IPSec协议,利用IPSec隧道在两个子网之间进行数据传输,从而可以实现两个子网内设备之间的加密通信。这样的场景具有很高的实用价值,例如,某公司在北京和上海分别设立分部,第一子网100可以是北京分部的内网,第二子网110可以是上海分部的内网,北京分部的一台计算机(第一设备102)和上海分部的一台计算机(第二设备112)之间需要跨越公网(中间网络120)传输公司内部的隐私数据,因此选择搭建IPSec VPN网络,并通过IPSec隧道加密传输数据。
每个IPSec隧道基于两个分别表征隧道的起点和终点的IP地址建立,在第一子网100内只设置一台VPN设备,即第一VPN设备104,通过在第一VPN设备104上配置多个IP地址以便与第二VPN设备114之间建立多个IPSec隧道,可以理解的,此时第二VPN设备114上至少也要配置相应数量的IP地址。在实施时,出于实际需求考虑,例如第一VPN设备104的处理能力有限,无法满足第一子网100内的设备的通信需求,在第一子网100内设置少量几台VPN设备也是可能的,但由于本申请不同于现有技术,在一台VPN设备上建立有多个IPSec隧道,所以子网中的VPN设备的数量并不需要很多。当第一子网100内设置有多台VPN设备时,这些VPN设备的工作原理和第一VPN设备104类似,因此不妨仅以第一VPN设备104为例进行阐述。
例如,在图1中,第一VPN设备104和第二VPN设备114之间建立了三个IPSec隧道,分别命名为IPSec隧道A、B以及C,这意味着第一VPN设备104上要配置三个IP地址。如果中间网络120为公网,则第一VPN设备104上要配置三个公网IP,根据不同的实现方式,第一VPN设备104可以具有三个以上的公网接口(例如WAN口),每个公网接口配置一个公网IP,或者,第一VPN设备104也可以只具有一个公网接口,在一个公网接口上配置三个公网IP。对于第二VPN设备114的配置是类似的,不再赘述。第一VPN设备104和第二VPN设备114之间的隧道数量不作限定,图1中的三个隧道仅为示例。
继续参照图1,第一设备102向第二设备112发送数据时,数据的流向是:从第一设备102发送到第一VPN设备104,第一VPN设备从A、B、C三个IPSec隧道中选择一个将数据发送到第二VPN设备114,第二VPN设备114再将数据发送到第二设备112。从第二设备112向第一设备102发送数据的过程是类似的,因此本文中仅以第一设备102向第二设备112发送数据的情况为例进行阐述。
第一VPN设备104和第二VPN设备114之间的多个IPSec隧道互为备份,也就是说其中一个IPSec隧道因网络异常等原因断开时,数据仍然可以通过其他IPSec隧道进行传输,从而保证了传输的可靠性。进一步的,这些IPSec隧道可以建立在不同的运营商线路上,从而即使某个运营商线路出现故障,只要其他运营商线路正常,数据仍然能够正常传输,可以理解的,此时在第一VPN设备104上也要配置不同的运营商网络中的IP地址以便建立IPSec隧道。当然,在同一个运营商的线路上建立多个IPSec隧道也是可能的实现方式。
IPSec隧道的建立通过第一VPN设备104与第二VPN设备114之间的标准隧道协商过程实现,建立一个IPSec隧道的同时还会创建一条对应的IPSec安全策略,IPSec安全策略中可以包含对应的IPSec隧道的信息、保护子网的信息、数据经IPSec隧道传输时使用的加密算法及密钥等内容,关于IPSec隧道的建立以及IPSec安全策略的创建,参考现有技术中的实现方式即可,这里不进行具体阐述。再次以图1为例,图1中建立了三个IPSec隧道,自然也会对应地创建三条IPSec安全策略。需要指出,虽然图1仅示出了第一VPN设备104与第二VPN设备114之间建立的多个IPSec隧道,但事实上第一VPN设备104也可以和其他子网中的VPN设备之间建立IPSec隧道,从而,对应于第一VPN设备104上创建的IPSec隧道,也会建立大量的IPSec安全策略,这些IPSec安全策略可以通过IPSec安全策略库(例如,可以是一个数据库)进行存储和管理。
应当理解,图1仅仅为本申请中的方法及装置可以应用的一种场景而不是唯一的场景,因此图1示出的内容不应当视为对本申请保护范围的限制。
下面结合图2具体介绍第一设备发送的数据在IPSec VPN网络中传输的方法,该方法应用于第一VPN设备。参照图2,该方法包括:
步骤S200:接收第一子网内的第一设备发送的数据。
数据的主体内容为需要通过IPSec隧道进行加密传输的信息,并且,数据中携带有目的设备信息,目的设备信息表示数据的目的设备(即数据要发送往的设备)为第二子网内的第二设备,例如,目的设备信息可以是第二设备的IP地址。当然,数据中还可以携带源设备信息,源设备信息表示数据的源设备(即发送数据的设备)为第一子网内的第一设备,例如,源设备信息可以是第一设备的IP地址。步骤S200中数据的形式不作限定,例如,可以是IP报文。
步骤S210:根据数据中的目的设备信息确定第一VPN设备和第二VPN设备之间创建的多条IPSec安全策略。
在前文已经提到过,第一VPN设备上可能和很多VPN设备之间都建立了IPSec隧道,但其中只有一部分隧道是和第二VPN设备之间建立的,既然现在要向第二VPN设备发送数据,必然只能通过第一VPN设备和第二VPN设备之间建立的这些IPSec隧道进行传输,因此需要首先筛选出满足要求的IPSec隧道。另一方面,通过某个IPSec隧道传输数据其实就是利用IPSec安全策略对数据进行处理的过程,即利用IPSec安全策略中的算法和密钥对数据进行加密,并根据IPSec安全策略中的隧道信息将加密后的数据在相应的IPSec隧道中进行传输,所以在步骤S210中,确定第一VPN设备和第二VPN设备之间创建的多个IPSec隧道,具体实现为确定这些IPSec隧道对应的多条IPSec安全策略,即,第一VPN设备和第二VPN设备之间创建的多个IPSec隧道对应的多条IPSec安全策略,可以简称为第一VPN设备和第二VPN设备之间创建的多条IPSec安全策略。
在步骤S210中根据数据中携带的目的设备信息从第一VPN设备上保存的IPSec安全策略中确定满足要求的IPSec安全策略。确定的方式可以是将数据中的目的设备信息与第一VPN设备上保存每条IPSec安全策略(这些IPSec安全策略可以保存在IPSec安全策略库中)中的目的子网信息进行匹配,成功匹配的即满足要求的IPSec安全策略,其中,目的子网信息表示IPSec安全策略对应的IPSec隧道的目的子网为第二子网,例如,目的子网信息可以包括第二VPN设备在第二子网中的IP地址以及第二子网的子网掩码,若目的信息为第二设备的IP地址,则根据第二设备的IP地址、第二VPN设备在第二子网中的IP地址以及第二子网的子网掩码就可以判断目的设备是否在第二子网中,如果判断结果为“是”,则这条IPSec安全策略为一条匹配成功的IPSec安全策略,即第一VPN设备和第二VPN设备之间的创建的一条IPSec安全策略。当然,在其他的实现方式中,目的子网信息也可能为其他形式,例如一个分配给第二子网的唯一网络标识。
可以理解的,在一些实现方式中,若数据和IPSec安全策略中还包含其他信息,还可以根据其他信息进行数据和IPSec安全策略间的匹配,例如,若数据中还包含源设备信息(例如,第一设备的IP地址)且IPSec安全策略中还包含源子网信息(例如,第一VPN设备在第一子网中的IP地址以及第一子网的子网掩码),则除了判断作为目的设备信息的IP地址是否在第二子网中,还可以判断作为源设备信息的IP地址是否在第一子网中,如果两个判断结果均为“是”,则这条IPSec安全策略为一条匹配成功的IPSec安全策略。
继续参照图1,假设图1中的第一VPN设备104的IPSec安全策略库中有100条IPSec安全策略,当它接收到第一设备102向第二设备112发送的数据时,会首先从100条IPSec安全策略中匹配得到IPSec隧道A、B、C对应的三条IPSec安全策略。
步骤S220:从第一VPN设备和第二VPN设备之间创建的多条IPSec安全策略中选择目标安全策略。
步骤S230:根据目标安全策略在目标安全策略对应的IPSec隧道中传输数据。
对步骤S220和步骤S230进行结合阐述:
第一VPN设备接收到第一设备向第二设备发送的数据后,会执行步骤S220从第一VPN设备和第二VPN设备之间创建的多条IPSec安全策略(步骤S210中得到)中选择出一条IPSec安全策略用于处理数据,选出的IPSec安全策略称为目标安全策略,其中,利用目标安全策略处理数据就是指步骤S230中的操作:利用目标安全策略中的算法和密钥对数据进行加密,并根据目标安全策略中的隧道信息将加密后的数据在相应的IPSec隧道中进行传输。
在一些实现方式中,第一VPN设备可以保存目标安全策略与第一设备和第二设备之间的关联关系,例如,可以以(目标安全策略、第一设备的IP地址、第二设备的IP地址)这样的三元组保存。若后续第一VPN设备再次接收到第一设备向第二设备发送的数据,则根据之前保存的关联关系就可以获取之前选择出的目标安全策略,并沿用该目标安全策略处理新接收到的数据,不必再次选择目标安全策略,以便提高数据传输效率。当然这样的做法是可选的,第一VPN设备也可以重新进行目标安全策略的选择,不沿用之前的目标安全策略。
作为一种典型的情况,第一设备和第二设备之间通常会进行持续的数据通信,即在两台设备之间会形成一个由多次通信的数据构成的数据流,可以按照上面介绍的方案简化数据传输的流程。对于同一个数据流中的数据,可以采用固定的IPSec安全策略处理,第一VPN设备不必每次接收到第一设备向第二设备发送的数据时都执行步骤S210和S220去选择目标安全策略,而只需要在首次接收到第一设备与第二设备之间的数据流中的数据(即第一设备首次向第二设备发送的数据)时选择目标安全策略并记录下来,之后再接收到该数据流中的后续数据(即第一设备后续向第二设备发送的数据),先识别出数据从属的数据流(例如,通过数据中的源信息和目的设备信息),然后读取之前记录的目标安全策略,接着直接执行步骤S230就可以了,这样的处理方式简单高效。
当然,第一VPN设备也可以每次接收到第一设备向第二设备发送的数据时都执行步骤S210和S220去选择目标安全策略,这种方案虽然要复杂一些,但并没有价值,例如,因为IPSec隧道的数据传输状况可能会随时变化(如网络发生拥塞、故障等),如果同一数据流中的数据都采用某个特定的IPSec安全策略进行处理,意味着这些数据总是通过某个特定的IPSec隧道传输,可能无法及时适应IPSec隧道的数据传输状况的变化,而每次接收到数据后都重新进行目标安全策略的选择会比较灵活,可以适应IPSec隧道的数据传输状况的变化。
第二VPN设备在接收到数据后,由于能够获知是从哪个IPSec隧道接收到的数据,所以只要利用该IPSec隧道对应的IPSec安全策略对数据进行解密,然后转发给第二设备即可。
下面具体介绍步骤S220可能的实现方式:
在一些实现方式中,第一VPN设备利用预先设置好的负载均衡策略从第一VPN设备和第二VPN设备之间创建的多条IPSec安全策略中选择目标安全策略。所谓负载,对于IPSec隧道而言就是要传输的数据,设置负载均衡策略的目的就是为了通过合理地选择IPSec隧道,将数据合理地分配到不同的IPSec隧道中进行传输,从而降低单个IPSec隧道的数据传输压力,充分利用各个IPSec隧道的数据传输能力。
需要说明的是,虽然负载均衡策略的原始用途是选择传输数据的IPSec隧道,但正如前文指出的,由于IPSec安全策略和IPSec隧道一一对应,并且通过IPSec隧道传输数据实际上就是利用IPSec安全策略处理数据,所以在步骤S220中将负载均衡策略用于选择目标安全策略和选择要传输数据的IPSec隧道并没有本质区别。
可以利用的负载均衡策略包括但不限于轮询法、随机法、随机轮询法、源地址哈希法、加权轮询法等现有算法,后文中还会给出本申请提出的一种新的负载均衡策略。可以理解的,选择目标安全策略并非一定要利用负载均衡策略:例如,若第一VPN设备事先已经明确获知某个IPSec隧道的负载性能显著高于其他IPSec隧道,则目标安全策略可以固定选择该隧道对应的IPSec安全策略,其他IPSec隧道只是作为备份,正常情况下数据不会通过这些隧道传输;又例如,第一VPN设备上关于某个特定的数据流事先配置了某种规则,规定其必须采用某个指定的IPSec安全策略,这种情况下也不必通过负载均衡策略取去选取目标安全策略。当然,采用负载均衡策略在实现上会比较灵活,所以下文主要介绍利用负载均衡策略选择目标安全策略的方案。
一些负载均衡策略在选择目标安全策略时不需要利用额外的信息。例如,一种轮询策略从第一VPN设备和第二VPN设备之间创建的多条IPSec安全策略中依次选择IPSec安全策略作为目标安全策略,从效果上看,就是将数据轮流分配给第一VPN设备和第二VPN设备之间的各个IPSec隧道进行传输。
而另一些负载均衡策略在选择目标安全策略时要利用一些决策信息,下面以两种可选方案为例进行介绍:
在第一种可选方案中,决策信息可以包括每个IPSec隧道的负载性能指标V1,V1表征IPSec隧道的负载性能,即隧道的数据传输能力,一些负载均衡策略根据V1的值来选择目标安全策略,从而达到为各个IPSec隧道分配与其负载性能相匹配的数据传输量的目的。例如,一种加权轮询策略将V1作为权重,并按照该权重将数据轮流分配给第一VPN设备和第二VPN设备之间的各个IPSec隧道进行传输。
上述方案中的V1的值可以由用户设置,例如,用户事先获知了IPSec隧道的平均负载性能,则可以为V1指定一个值。V1的值在使用IPSec隧道进行数据传输的过程中可以保持不变,或者也可以动态地更新。例如,在一种实现方式中,第一VPN设备可以监测IPSec隧道的数据传输状况(例如,延时、丢包等统计信息),并根据监测结果更新IPsec隧道的V1的值,由于V1的值是通过实际监测得到的,而不是凭经验设置的,所以能够较好地反映IPSec隧道真实的负载性能。进一步的,在建立好IPSec隧道后,用户也不是必须为IPSec隧道设置V1的值,V1可以先采用一个默认值,然后再根据上面的方法动态地更新为一个更合理的值;或者,V1可以先不取特定值,第一VPN设备可以先采用一种不需要使用V1的负载均衡策略进行数据传输,直到根据上面的方法为V1设置了一个有效的值后,再切换为需要使用V1的负载均衡策略进行数据传输。
在第二种可选方案中,决策信息除了包括每个IPSec隧道的负载性能指标V1,还可以包括每个IPSec隧道被选中用于数据传输的总次数Na。V1在前一种方案里已经介绍,本方案沿用其定义,不再重复解释,关于Na解释如下:
对于每个IPSec隧道都对应一个Na,Na的值可以初始化为0。由于第一VPN设备接收到数据后,会重复执行步骤S200至步骤S230,而每次执行完步骤S220后,都有一条IPSec安全策略被选为目标安全策略,也即该安全策略对应的IPSec隧道本次被选中用于数据传输,此时可以将该IPSec隧道对应的Na的值累加1,表示该IPSec隧道被选中用于数据传输的总次数增加了一次。
获取到第一VPN设备和第二VPN设备之间建立的每个IPSec隧道的V1和Na的值之后,可以利用如下公式计算决策值Vp:
Vp=V1-(Na mod V1)
并将计算出的Vp最大的IPSec隧道对应的IPSec安全策略确定为目标安全策略。
上述公式右侧,V1表征IPSec隧道的负载性能,Na mod V1表征IPSec隧道已经被使用的负载性能,二者相减获得的决策值Vp则表征IPSec隧道的剩余负载性能Vp,即IPSec隧道目前可用的负载性能,因此该方案中的负载均衡策略就是选择剩余负载性能最高的IPSec隧道对应的IPSec安全策略。这种负载均衡策略能够按照IPSec隧道的实际负载性能分配数据,而不是仅仅按照理论上的负载性能(V1)分配数据。
需要指出,Na值随着时间的推移会不断增长,因此在上面的公式并不是直接使用Na,而是使用Namod V1。值得注意的是,V1表征IPSec隧道的负载性能,其意义主要通过和其他IPSec隧道的V1之间的比例关系来体现,而不是通过V1的具体取值来体现,因此即使Na>V1也不应当理解为IPSec隧道已经被完全被数据充满,无法再进行数据的传输。
进一步的,第二种可选方案中存在不同的实现方式,例如:第一种方式,在步骤S210中先确定出多条IPSec安全策略,然后在步骤S220中对每条IPSec安全策略都计算Vp(虽然上述V1和Na是针对IPSec隧道定义的,但由于IPSec隧道和IPSec安全策略一一对应,所以针对某个IPSec隧道计算Vp,和针对该IPSec隧道对应的IPSec安全策略计算Vp实质上是同一操作),并从中选择计算出的Vp最大的IPSec安全策略。
又例如,第二种方式,在步骤S210中每确定一条IPSec安全策略就计算其对应的Vp,当步骤S210执行完后,既确定了多条IPSec安全策略,同时这些IPSec安全策略的Vp也计算完毕,步骤S220直接从中选择计算出的Vp最大的IPSec安全策略即可。当然,在第二种方式中,一边计算Vp一边求Vp的最大值也是可以的,不必等到所有的Vp都计算完毕才求Vp的最大值,例如,用一个变量Vh保存目前求出的Vp的最大值,每当新算出一条IPSec安全策略对应的Vp后,就判断其是否大于Vh,若大于则更新Vh的取值,这样当所有步骤S210中得到的IPSec安全策略都计算出Vp后,Vh的取值就是最大的那个Vp的值。
关于可选方案一和可选方案二中用到的决策信息,可以作为字段在IPSec安全策略创建后添加到其中,作为对原始IPSec安全策略的扩展。例如,对于可选方案二而言,可以在原始的IPSec安全策略中加入两个字段:负载性能指标字段V1以及选中总次数字段Na,从而计算IPSec安全策略对应的Vp时,直接从IPSec策略中读取V1以及Na字段的值即可,使用起来非常方便,也不用创建额外的数据结构来保存V1和Na,而IPSec安全策略是IPSec VPN中对数据进行加密传输所必须的,该数据结构本来就需要创建,不属于额外的数据结构。
进一步的,IPSec隧道可以基于IPSec隧道配置建立,IPSec隧道配置中包含了建立隧道所需的参数,一些决策信息(例如V1)设置好值后可以先保存在IPSec隧道配置,无需单独找其他位置存储,建立IPSec隧道并创建IPSec安全策略时,将IPSec隧道配置中保存的决策信息添加到IPSec安全策略中。
当然,如果不希望改变原始的IPSec安全策略的内容,但又希望使用决策信息进行负载均衡,则可以将决策信息保存到IPSec安全策略之外的位置(例如,数据库、文件中),并与IPSec安全策略进行关联,以便进行决策时能够找到这些信息。
第一VPN设备在IPSec隧道间进行负载均衡时,可以只使用一种固定的负载均衡策略。但在某些实现方式中,第一VPN设备可以使用多种负载均衡策略,此时可以为每种负载均衡策略分配一个负载均衡策略标识,以便第一VPN设备在选择目标安全策略时可以获知当前应该采用何种负载均衡策略。
例如,可以对应于每条IPSec安全策略都记录一个负载均衡策略标识(比如,可以在IPSec安全策略中再添加一个负载均衡策略标识字段),在需要根据负载均衡策略从第一VPN设备和第二VPN设备之间创建的多条IPSec安全策略中选择目标安全策略时,直接获取多条IPSec安全策略中的任一IPSec安全策略对应的负载均衡策略标识,然后根据该标识表征的负载均衡策略选择目标安全策略即可。对于第一VPN设备和第二VPN设备之间创建的每条IPSec安全策略,其对应负载均衡策略标识设置为相同的值(因为负载均衡发生在这些IPSec安全策略对应的IPSec隧道之间,所以这些IPSec隧道都遵循统一的负载均衡策略),所以在上面的方案中只需要获取其中的任一IPSec安全策略对应的负载均衡策略标识即可。
进一步的,类似于V1,在一些实现方式中,IPSec安全策略对应的负载均衡策略标识也可以修改,例如,根据监测到的IPSec隧道的数据传输状况进行修改。并且,在IPSec安全策略创建前,可以先将负载均衡策略标识保存在IPSec隧道配置中。
第一VPN设备运行期间,也会遇到需要拆除IPSec隧道的情况,例如,出于安全考虑,IPSec安全策略中数据加密的算法和/或密钥要定期更换,第一VPN设备会定期自动地将IPSec隧道拆除并重新协商建立新的IPSec隧道,并采用新的IPSec安全策略处理数据。IPSec隧道拆除时,对应的IPSec安全策略也会删除,与IPSec安全策略相关的信息,例如V1、Na、负载均衡策略标识等也可以一起删除。当然,IPSec隧道也可以根据需求手工拆除,或者也可能因为网络故障而被动拆除,这里不再具体阐述。
综上所述,在本申请实施例提供的数据传输方法中,因为在一台VPN设备上可建立多个IPSec隧道,所以第一子网内只需要设置一台或少量的VPN设备即可满足第一子网内的设备与其他子网内的设备间的加密通信需求。以第一VPN设备为例,第一VPN设备通过配置多个IP地址与第二子网内的第二VPN设备之间建立多个IPSec隧道,多个IPSec隧道之间互为备份,并且,第一子网内的设备在与第二子网内的设备进行通信时,发送的数据均由第一VPN设备负责处理,因此充分利用了单台VPN设备的性能,避免了资源浪费。而且,由于并不需要在子网内部署大量的VPN设备,方案的实施成本也比较低。此外,在该方法的一些实现方式中,还提出了一种根据IPSec隧道的剩余负载性能进行负载均衡的方式,该方式使得数据在IPSec隧道上的分配匹配于IPSec隧道的实际负载性能,因此能够起到较好的均衡效果。
图3示出了本申请实施例提供的数据传输装置300的功能模块图,该装置可以配置于第一子网内的第一VPN设备。参照图3,数据传输装置300包括:
数据接收模块310,用于接收所述第一子网内的第一设备发送的数据,所述数据中携带有目的设备信息,所述目的设备信息表示所述数据的目的设备为第二子网内的第二设备;其中,所述第二子网内设置有第二VPN设备,所述第一VPN设备与所述第二VPN设备之间建立有多个IPSec隧道,每个IPSec隧道对应有创建一条IPsec安全策略;
策略确定模块320,用于根据所述数据中的目的设备信息确定与所述多个IPSec隧道对应的多条IPSec安全策略;
策略选择模块330,用于从所述多条IPSec安全策略中选择目标安全策略;
数据传输模块340,用于根据所述目标安全策略在所述目标安全策略对应的IPSec隧道中传输所述数据。
在数据传输装置300的一种实现方式中,策略确定模块320根据所述数据中的目的设备信息确定与所述多个IPSec隧道对应的多条IPSec安全策略,包括:将所述数据中的目的设备信息与IPSec安全策略库中的IPSec安全策略中的目的子网信息进行匹配,将成功匹配的多条IPSec安全策略确定为与所述多个IPSec隧道对应的多条IPSec安全策略;其中,所述目的子网信息表示所述IPSec安全策略对应的IPSec隧道的目的子网为所述第二子网。
在数据传输装置300的一种实现方式中,策略选择模块330从所述多条IPSec安全策略中选择目标安全策略,包括:利用负载均衡策略从所述多条IPSec安全策略中选择目标安全策略。
在数据传输装置300的一种实现方式中,策略选择模块330利用负载均衡策略从所述多条IPSec安全策略中选择目标安全策略,包括:获取所述多个IPSec隧道中的每个IPSec隧道的负载性能指标V1,根据V1的值,利用负载均衡策略从所述多条IPSec安全策略中选择目标安全策略。
在数据传输装置300的一种实现方式中,策略选择模块330获取所述多个IPSec隧道中的每个IPSec隧道的负载性能指标V1,根据V1的值,利用负载均衡策略从所述多条IPSec安全策略中选择目标安全策略,包括:获取所述多个IPSec隧道中的每个IPSec隧道的负载性能指标V1的值以及所述IPSec隧道被选中用于数据传输的总次数Na,根据V1以及Na的值,利用如下公式计算决策值Vp:Vp=V1-(Na mod V1);将计算出的Vp最大的IPSec隧道对应的IPSec安全策略确定为目标安全策略。
在数据传输装置300的一种实现方式中,所述IPSec安全策略中纪录对应的IPSec隧道的V1以及Na,计算Vp时使用的所述IPSec隧道的V1以及Na从对应的IPSec安全策略中获取。
在数据传输装置300的一种实现方式中,策略选择模块330还用于:监测所述IPSec隧道的数据传输状况,并根据监测结果更新所述IPsec隧道的V1的值。
在数据传输装置300的一种实现方式中,策略选择模块330利用负载均衡策略从所述多条IPSec安全策略中选择目标安全策略,包括:获取所述多条IPSec安全策略中的任一IPSec安全策略对应的负载均衡策略标识,根据负载均衡策略标识所表示负载均衡策略,从所述多条IPSec安全策略中选择目标安全策略;其中,所述多条IPSec安全策略中的每条IPSec安全策略对应的负载均衡策略标识相同。
在数据传输装置300的一种实现方式中,数据传输装置300还包括:信息存储模块,用于保存所述目标安全策略与所述第一设备和所述第二设备之间的关联关系,若数据接收模块310再次接收到所述第一设备向所述第二设备发送的数据,则数据传输模块340根据所述关联关系获取所述目标安全策略,并利用所述目标安全策略在所述目标安全策略对应的IPSec隧道中传输新接收到的数据。
本申请实施例提供的数据传输装置300,其实现原理及产生的技术效果在前述方法实施例中已经介绍,为简要描述,装置实施例部分未提及之处,可参考方法施例中相应内容。
图4示出了本申请实施例提供的一种VPN设备的示意图。参照图4,VPN设备400包括:处理器410、存储器420以及通信接口430,这些组件通过通信总线440和/或其他形式的连接机构(未示出)互连并相互通讯。
其中,存储器420包括一个或多个(图中仅示出一个),其可以是,但不限于,随机存取存储器(Random Access Memory,简称RAM),只读存储器(Read Only Memory,简称ROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,简称EEPROM)等。处理器410以及其他可能的组件可对存储器420进行访问,读和/或写其中的数据。
处理器410包括一个或多个(图中仅示出一个),其可以是一种集成电路芯片,具有信号的处理能力。上述的处理器410可以是通用处理器,包括中央处理器(CentralProcessing Unit,简称CPU)、微控制单元(Micro Controller Unit,简称MCU)、网络处理器(Network Processor,简称NP)或者其他常规处理器;还可以是专用处理器,包括数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application SpecificIntegrated Circuits,简称ASIC)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
通信接口430包括一个或多个(图中仅示出一个),可以用于和其他设备进行直接或间接地通信,以便进行数据的交互。例如,通信接口430可包括LAN口,用于和局域网内的设备通信,通信接口430还可以包括WAN口,用于和广域网内的设备通信,当然通信接口430还可以是其他类型的接口。
在存储器420中可以存储一个或多个计算机程序指令,处理器410可以读取并运行这些计算机程序指令,以实现本申请实施例提供的数据传输方法以及其他期望的功能。
可以理解,图4所示的结构仅为示意,VPN设备400还可以包括比图4中所示更多或者更少的组件,或者具有与图4所示不同的配置。图4中所示的各组件可以采用硬件、软件或其组合实现。例如,在采用硬件方式实现时,VPN设备可以是路由器、交换机、普通计算机等。本申请实施例中提到的第一VPN设备、第二VPN设备均可以采用VPN设备400的结构实现。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被计算机的处理器读取并运行时,执行本申请实施例提供的数据传输方法。例如,计算机可读存储介质可以实现为图4中VPN设备400中的存储器420。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (14)
1.一种数据传输方法,其特征在于,应用于第一子网内的第一VPN设备,所述方法包括:
接收所述第一子网内的第一设备发送的数据,所述数据中携带有目的设备信息,所述目的设备信息表示所述数据的目的设备为第二子网内的第二设备;其中,所述第二子网内设置有第二VPN设备,所述第一VPN设备与所述第二VPN设备之间建立有多个互联网协议安全IPSec隧道,每个IPSec隧道对应创建有一条IPsec安全策略;
根据所述数据中的目的设备信息确定与所述多个IPSec隧道对应的多条IPSec安全策略;
从所述多条IPSec安全策略中选择目标安全策略;
根据所述目标安全策略在所述目标安全策略对应的IPSec隧道中传输所述数据;
其中,所述从所述多条IPSec安全策略中选择目标安全策略,包括:
利用负载均衡策略从所述多条IPSec安全策略中选择目标安全策略;
所述利用负载均衡策略从所述多条IPSec安全策略中选择目标安全策略,包括:
获取所述多个IPSec隧道中的每个IPSec隧道的负载性能指标V1,根据V1的值,利用负载均衡策略从所述多条IPSec安全策略中选择目标安全策略;
所述获取所述多个IPSec隧道中的每个IPSec隧道的负载性能指标V1,根据V1的值,利用负载均衡策略从所述多条IPSec安全策略中选择目标安全策略,包括:
获取所述多个IPSec隧道中的每个IPSec隧道的负载性能指标V1的值以及所述IPSec隧道被选中用于数据传输的总次数Na,根据V1以及Na的值,利用如下公式计算决策值Vp:
Vp=V1-(Na mod V1)
将计算出的Vp最大的IPSec隧道对应的IPSec安全策略确定为目标安全策略。
2.根据权利要求1所述的数据传输方法,其特征在于,根据所述数据中的目的设备信息确定与所述多个IPSec隧道对应的多条IPSec安全策略,包括:
将所述数据中的目的设备信息与IPSec安全策略库中的IPSec安全策略中的目的子网信息进行匹配,将成功匹配的多条IPSec安全策略确定为与所述多个IPSec隧道对应的多条IPSec安全策略;其中,所述目的子网信息表示所述IPSec安全策略对应的IPSec隧道的目的子网为所述第二子网。
3.根据权利要求1所述的数据传输方法,其特征在于,所述IPSec安全策略中纪录对应的IPSec隧道的V1以及Na,计算Vp时使用的所述IPSec隧道的V1以及Na从对应的IPSec安全策略中获取。
4.根据权利要求1所述的数据传输方法,其特征在于,所述方法还包括:
监测所述IPSec隧道的数据传输状况,并根据监测结果更新所述IPsec隧道的V1的值。
5.根据权利要求1所述的数据传输方法,其特征在于,所述利用负载均衡策略从所述多条IPSec安全策略中选择目标安全策略,包括:
获取所述多条IPSec安全策略中的任一IPSec安全策略对应的负载均衡策略标识,根据负载均衡策略标识所表示负载均衡策略,从所述多条IPSec安全策略中选择目标安全策略;其中,所述多条IPSec安全策略中的每条IPSec安全策略对应的负载均衡策略标识相同。
6.根据权利要求1-5中任一项所述的数据传输方法,其特征在于,在从所述多条IPSec安全策略中选择目标安全策略之后,所述方法还包括:
保存所述目标安全策略与所述第一设备和所述第二设备之间的关联关系,若再次接收到所述第一设备向所述第二设备发送的数据,则根据所述关联关系获取所述目标安全策略,并利用所述目标安全策略在所述目标安全策略对应的IPSec隧道中传输新接收到的数据。
7.一种数据传输装置,其特征在于,配置于第一子网内的第一VPN设备,所述装置包括:
数据接收模块,用于接收所述第一子网内的第一设备发送的数据,所述数据中携带有目的设备信息,所述目的设备信息表示所述数据的目的设备为第二子网内的第二设备;其中,所述第二子网内设置有第二VPN设备,所述第一VPN设备与所述第二VPN设备之间建立有多个IPSec隧道,每个IPSec隧道对应有创建一条IPsec安全策略;
策略确定模块,用于根据所述数据中的目的设备信息确定与所述多个IPSec隧道对应的多条IPSec安全策略;
策略选择模块,用于从所述多条IPSec安全策略中选择目标安全策略;
数据传输模块,用于根据所述目标安全策略在所述目标安全策略对应的IPSec隧道中传输所述数据;
其中,所述策略选择模块从所述多条IPSec安全策略中选择目标安全策略,包括:
利用负载均衡策略从所述多条IPSec安全策略中选择目标安全策略;
所述策略选择模块利用负载均衡策略从所述多条IPSec安全策略中选择目标安全策略,包括:
获取所述多个IPSec隧道中的每个IPSec隧道的负载性能指标V1,根据V1的值,利用负载均衡策略从所述多条IPSec安全策略中选择目标安全策略;
所述策略选择模块获取所述多个IPSec隧道中的每个IPSec隧道的负载性能指标V1,根据V1的值,利用负载均衡策略从所述多条IPSec安全策略中选择目标安全策略,包括:
获取所述多个IPSec隧道中的每个IPSec隧道的负载性能指标V1的值以及所述IPSec隧道被选中用于数据传输的总次数Na,根据V1以及Na的值,利用如下公式计算决策值Vp:
Vp=V1-(Na mod V1)
将计算出的Vp最大的IPSec隧道对应的IPSec安全策略确定为目标安全策略。
8.根据权利要求7所述的数据传输装置,其特征在于,所述策略确定模块根据所述数据中的目的设备信息确定与所述多个IPSec隧道对应的多条IPSec安全策略,包括:
将所述数据中的目的设备信息与IPSec安全策略库中的IPSec安全策略中的目的子网信息进行匹配,将成功匹配的多条IPSec安全策略确定为与所述多个IPSec隧道对应的多条IPSec安全策略;其中,所述目的子网信息表示所述IPSec安全策略对应的IPSec隧道的目的子网为所述第二子网。
9.根据权利要求7所述的数据传输装置,其特征在于,所述IPSec安全策略中纪录对应的IPSec隧道的V1以及Na,计算Vp时使用的所述IPSec隧道的V1以及Na从对应的IPSec安全策略中获取。
10.根据权利要求7所述的数据传输装置,其特征在于,所述策略选择模块还用于:
监测所述IPSec隧道的数据传输状况,并根据监测结果更新所述IPsec隧道的V1的值。
11.根据权利要求7所述的数据传输装置,其特征在于,所述策略选择模块利用负载均衡策略从所述多条IPSec安全策略中选择目标安全策略,包括:
获取所述多条IPSec安全策略中的任一IPSec安全策略对应的负载均衡策略标识,根据负载均衡策略标识所表示负载均衡策略,从所述多条IPSec安全策略中选择目标安全策略;其中,所述多条IPSec安全策略中的每条IPSec安全策略对应的负载均衡策略标识相同。
12.根据权利要求7-11中任一项所述的数据传输装置,其特征在于,所述装置还包括:
信息存储模块,用于在所述策略选择模块从所述多条IPSec安全策略中选择目标安全策略之后,保存所述目标安全策略与所述第一设备和所述第二设备之间的关联关系;
若所述数据接收模块再次接收到所述第一设备向所述第二设备发送的数据,则所述数据传输模块根据所述关联关系获取所述目标安全策略,并利用所述目标安全策略在所述目标安全策略对应的IPSec隧道中传输新接收到的数据。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器读取并运行时,执行如权利要求1-6中任一项所述的方法。
14.一种VPN设备,其特征在于,包括:存储器以及处理器,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器读取并运行时,执行如权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910947254.7A CN110677426B (zh) | 2019-09-30 | 2019-09-30 | 一种数据传输方法、装置、存储介质及vpn设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910947254.7A CN110677426B (zh) | 2019-09-30 | 2019-09-30 | 一种数据传输方法、装置、存储介质及vpn设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110677426A CN110677426A (zh) | 2020-01-10 |
CN110677426B true CN110677426B (zh) | 2021-11-16 |
Family
ID=69080796
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910947254.7A Active CN110677426B (zh) | 2019-09-30 | 2019-09-30 | 一种数据传输方法、装置、存储介质及vpn设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110677426B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9417922B2 (en) | 2012-12-03 | 2016-08-16 | Cutting Edge Consulting Associates, Inc. | Systems and methods for protecting an identity in network communications |
US10516650B2 (en) | 2017-09-13 | 2019-12-24 | Netabstraction, Inc. | Dynamic, user-configurable virtual private network |
US11095617B2 (en) | 2017-12-04 | 2021-08-17 | Nicira, Inc. | Scaling gateway to gateway traffic using flow hash |
US11277343B2 (en) | 2019-07-17 | 2022-03-15 | Vmware, Inc. | Using VTI teaming to achieve load balance and redundancy |
US11509638B2 (en) | 2019-12-16 | 2022-11-22 | Vmware, Inc. | Receive-side processing for encapsulated encrypted packets |
CN111740893B (zh) * | 2020-06-30 | 2022-02-11 | 成都卫士通信息产业股份有限公司 | 软件定义vpn的实现方法、装置、系统、介质和设备 |
EP4248621A1 (en) * | 2021-06-07 | 2023-09-27 | VMware, Inc. | Multi-uplink path quality aware ipsec |
US12107834B2 (en) | 2021-06-07 | 2024-10-01 | VMware LLC | Multi-uplink path quality aware IPsec |
US12113773B2 (en) | 2021-06-07 | 2024-10-08 | VMware LLC | Dynamic path selection of VPN endpoint |
CN113726795B (zh) * | 2021-09-01 | 2023-06-09 | 北京天融信网络安全技术有限公司 | 报文转发方法、装置、电子设备及可读存储介质 |
US11863514B2 (en) | 2022-01-14 | 2024-01-02 | Vmware, Inc. | Performance improvement of IPsec traffic using SA-groups and mixed-mode SAs |
CN114513435B (zh) * | 2022-01-14 | 2024-08-27 | 深信服科技股份有限公司 | 检测vpn隧道的方法、电子设备及存储介质 |
US11956213B2 (en) | 2022-05-18 | 2024-04-09 | VMware LLC | Using firewall policies to map data messages to secure tunnels |
CN115118548B (zh) * | 2022-06-28 | 2024-02-20 | 北京天融信网络安全技术有限公司 | 基于虚拟专用网络的网络通信方法、装置及电子设备 |
CN115941290B (zh) * | 2022-11-15 | 2024-09-17 | 迈普通信技术股份有限公司 | 数据包处理方法、装置、中心节点及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103051636A (zh) * | 2012-12-31 | 2013-04-17 | 华为技术有限公司 | 一种数据报文的传输方法和设备 |
CN104272674A (zh) * | 2012-05-22 | 2015-01-07 | 哈里公司 | 多隧道虚拟专用网络 |
CN104348923A (zh) * | 2013-07-29 | 2015-02-11 | 中国电信股份有限公司 | 基于IPSec VPN的通信方法、装置与系统 |
CN104519055A (zh) * | 2014-12-11 | 2015-04-15 | 曙光信息产业(北京)有限公司 | Vpn业务实现方法、装置和vpn服务器 |
CN106027356A (zh) * | 2016-07-04 | 2016-10-12 | 杭州迪普科技有限公司 | 一种隧道标识的转换方法及装置 |
CN107005603A (zh) * | 2016-08-30 | 2017-08-01 | 深圳前海达闼云端智能科技有限公司 | 用于ip地址分配的方法、装置、系统和计算机程序产品 |
CN107210929A (zh) * | 2015-01-21 | 2017-09-26 | 华为技术有限公司 | 互联网协议安全隧道的负载均衡 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106797346B (zh) * | 2014-11-06 | 2020-09-01 | 柏思科技有限公司 | 用于在vpn管理服务器处建立vpn连接的方法和系统 |
-
2019
- 2019-09-30 CN CN201910947254.7A patent/CN110677426B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104272674A (zh) * | 2012-05-22 | 2015-01-07 | 哈里公司 | 多隧道虚拟专用网络 |
CN103051636A (zh) * | 2012-12-31 | 2013-04-17 | 华为技术有限公司 | 一种数据报文的传输方法和设备 |
CN104348923A (zh) * | 2013-07-29 | 2015-02-11 | 中国电信股份有限公司 | 基于IPSec VPN的通信方法、装置与系统 |
CN104519055A (zh) * | 2014-12-11 | 2015-04-15 | 曙光信息产业(北京)有限公司 | Vpn业务实现方法、装置和vpn服务器 |
CN107210929A (zh) * | 2015-01-21 | 2017-09-26 | 华为技术有限公司 | 互联网协议安全隧道的负载均衡 |
CN106027356A (zh) * | 2016-07-04 | 2016-10-12 | 杭州迪普科技有限公司 | 一种隧道标识的转换方法及装置 |
CN107005603A (zh) * | 2016-08-30 | 2017-08-01 | 深圳前海达闼云端智能科技有限公司 | 用于ip地址分配的方法、装置、系统和计算机程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN110677426A (zh) | 2020-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110677426B (zh) | 一种数据传输方法、装置、存储介质及vpn设备 | |
CN112217637B (zh) | 一种基于集中管理与控制网络的量子密钥中继方法和装置 | |
US20180139191A1 (en) | Method, Device, and System for Processing VXLAN Packet | |
CN104335531B (zh) | 在大规模分布式虚拟交换机中实现pvlan | |
JP2022550356A (ja) | マルチテナントソフトウェア定義ワイドエリアネットワーク(sd-wan)ノードを提供するための方法、システム、およびコンピュータ読取可能媒体 | |
US7548556B1 (en) | Secure communication through a network fabric | |
US20020095496A1 (en) | Methods, systems and computer program products for transferring security processing between processors in a cluster computing environment | |
US9369490B2 (en) | Method for the secure exchange of data over an ad-hoc network implementing an Xcast broadcasting service and associated node | |
CN111787025B (zh) | 加解密处理方法、装置、系统以及数据保护网关 | |
CN104412560B (zh) | 基于sdn的网络配置方法、装置及系统 | |
CN112822103B (zh) | 一种信息上报方法和信息处理方法及设备 | |
CN113472622A (zh) | 一种网络中传输业务的方法和设备 | |
WO2015131757A1 (en) | Channel between software defined networking device and controller | |
CN113726795B (zh) | 报文转发方法、装置、电子设备及可读存储介质 | |
US20210264051A1 (en) | Blockchain system, blockchain management apparatus, network control apparatus, method and program | |
US11418354B2 (en) | Authentication method, device, and system | |
JP4522350B2 (ja) | 伝送装置 | |
EP3720078B1 (en) | Anima network information processing method, device, and system | |
WO2020134711A1 (zh) | 一种报文转发方法及装置 | |
CN115473641A (zh) | 可自动组网的量子加密通信方法和系统 | |
KR20150085464A (ko) | 서버 연결 장치 및 방법 | |
EP3691204B1 (en) | Method, device, and system for determining generic routing encapsulation gre tunnel identifier | |
CN111788802B (zh) | 共享网络资源的通信方法、装置及系统 | |
CN114389992A (zh) | 一种控制流量转发方法、设备及系统 | |
CN108259292B (zh) | 建立隧道的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |