CN109905310B - 数据传输方法、装置、电子设备 - Google Patents

数据传输方法、装置、电子设备 Download PDF

Info

Publication number
CN109905310B
CN109905310B CN201910231396.3A CN201910231396A CN109905310B CN 109905310 B CN109905310 B CN 109905310B CN 201910231396 A CN201910231396 A CN 201910231396A CN 109905310 B CN109905310 B CN 109905310B
Authority
CN
China
Prior art keywords
link
opposite
ipsec
data
terminal equipment
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
Application number
CN201910231396.3A
Other languages
English (en)
Other versions
CN109905310A (zh
Inventor
董森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou DPTech Technologies Co Ltd
Original Assignee
Hangzhou DPTech Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou DPTech Technologies Co Ltd filed Critical Hangzhou DPTech Technologies Co Ltd
Priority to CN201910231396.3A priority Critical patent/CN109905310B/zh
Publication of CN109905310A publication Critical patent/CN109905310A/zh
Application granted granted Critical
Publication of CN109905310B publication Critical patent/CN109905310B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本申请提供一种IPSec VPN组网下的数据传输方法、装置、电子设备及机器可读存储介质。在本申请中,基于预设的与所述第一链路对应的所述对端设备的第一IP地址,向所述对端设备发送建立IPSec隧道的请求;以及,接收所述对端设备针对所述请求的响应,从所述响应中获取所述第二链路对应的所述对端设备的第二IP地址;确定基于所述IPSec隧道进行IPSec数据传输的第一单向最优链路;对所述数据执行加密,以及将加密后的数据经所述第一单向最优链路传输至所述对端设备;以使,所述对端设备基于已获得的所述两条链路共享的对端SA,对所述数据执行解密。

Description

数据传输方法、装置、电子设备
技术领域
本申请涉及通信技术领域,尤其涉及数据传输方法、装置、电子设备及机器可读存储介质。
背景技术
由于经济和社会的快速发展,企业信息化程度的提高,一个常见的需求就是各地分公司或办事处同企业总部的需要跨越互联网进行信息交互以及传递,而VPN(VirtualPrivate Network,虚拟专用网络)就是应对上述需求的一种远程访问技术。VPN按隧道协议划分包括多种类型,其中,隧道协议IPSec(Internet Protocol Security,互联网安全协议)作为上述隧道协议中的一种,基于IPSec VPN对数据的加密是以数据包为单位的,而不是以整个数据流为单位,这不仅灵活而且有助于进一步提高IP数据包的安全性,可以有效防范网络攻击。
以IPSec作为VPN隧道协议的VPN为互联网上传输的数据提供了高质量的、可互操作的、基于密码学的安全保证。基于IPSec VPN的多个通信方之间在IP层通过加密与数据源认证等方式,提供了数据机密性、数据完整性、数据来源认证等安全服务。
发明内容
本申请提供一种数据传输方法,所述方法应用于IPSec VPN组网中的IPSec对等体,所述IPSec VPN组网在运行时,所述IPSec对等体可被配置为本端设备或对端设备,所述对端设备与所述本端设备至少存在两条链路通信可达,其中,所述两条链路包括:第一链路、第二链路,当所述IPSec对等体为本端设备时,所述方法包括:
基于预设的与所述第一链路对应的所述对端设备的第一IP地址,向所述对端设备发送建立IPSec隧道的请求;以及,接收所述对端设备针对所述请求的响应,从所述响应中获取所述第二链路对应的所述对端设备的第二IP地址;
确定基于所述IPSec隧道进行IPSec数据传输的第一单向最优链路;
对所述数据执行加密,以及将加密后的数据经所述第一单向最优链路传输至所述对端设备;以使,所述对端设备基于已获得的所述两条链路共享的对端SA,对所述数据执行解密。
可选的,所述确定基于所述IPSec隧道进行IPSec数据传输的第一单向最优链路,包括:
基于预设周期,探测所述第一链路以及所述第二链路的单向延迟,其中,所述单向延迟为所述本端设备到所述对端设备方向上的网络延迟;
基于所述第一链路以及所述第二链路的单向延迟的探测结果,进行统计,获得对应的所述第一链路以及所述第二链路的单向平均延迟。
可选的,还包括:
比较所述第一链路及所述第二链路的单向平均延迟的大小,确定基于所述IPSec隧道进行IPSec数据传输的第一单向最优链路,其中,所述第一单向最优链路为所述第一链路及所述第二链路中的单向链路平均延迟较小的链路。
可选的,所述对所述数据执行加密,包括:
所述本端设备获取与所述IPSec隧道对应的本端SA,其中,所述本端SA与所述对端SA相对应;
基于所述本端SA,对所述数据执行加密。
可选的,所述对端SA为所述对端设备的第一IP地址、第二IP地址共享的SA。
可选的,还包括:
基于所述IPSec隧道,接收所述对端设备发送的数据;其中,所述对端设备发送的数据为所述对端设备基于所述对端SA加密后的数据;
基于所述本端SA,对基于所述对端SA加密后发送的数据执行解密。
可选的,所述IPSec隧道承载于所述对端设备已确定的第二单向最优链路;
可选的,所述第二单向最优链路为所述第一链路以及所述第二链路中,所述对端设备到所述本端设备方向上,单向链路平均延迟较小的链路。
本申请还提供一种数据传输装置,所述装置应用于IPSec VPN组网中的IPSec对等体,所述IPSec VPN组网在运行时,所述IPSec对等体可被配置为本端设备或对端设备,其特征在于,所述对端设备与所述本端设备至少存在两条链路通信可达,其中,所述两条链路包括:第一链路、第二链路,当所述IPSec对等体为本端设备时,所述装置包括:
收发模块,基于预设的与所述第一链路对应的所述对端设备的第一IP地址,向所述对端设备发送建立IPSec隧道的请求;以及,接收所述对端设备针对所述请求的响应,从所述响应中获取所述第二链路对应的所述对端设备的第二IP地址;
优选模块,确定基于所述IPSec隧道进行IPSec数据传输的第一单向最优链路;
传输模块,对所述数据执行加密,以及将加密后的数据经所述第一单向最优链路传输至所述对端设备;以使,所述对端设备基于已获得的所述两条链路共享的对端SA,对所述数据执行解密。
可选的,所述优选模块进一步:
基于预设周期,探测所述第一链路以及所述第二链路的单向延迟,其中,所述单向延迟为所述本端设备到所述对端设备方向上的网络延迟;
基于所述第一链路以及所述第二链路的单向延迟的探测结果,进行统计,获得对应的所述第一链路以及所述第二链路的单向平均延迟。
可选的,所述优选模块进一步:
比较所述第一链路及所述第二链路的单向平均延迟的大小,确定基于所述IPSec隧道进行IPSec数据传输的第一单向最优链路,其中,所述第一单向最优链路为所述第一链路及所述第二链路中的单向链路平均延迟较小的链路。
可选的,所述传输模块进一步:
所述本端设备获取与所述IPSec隧道对应的本端SA,其中,所述本端SA与所述对端SA相对应;
基于所述本端SA,对所述数据执行加密。
可选的,所述对端SA为所述对端设备的第一IP地址、第二IP地址共享的SA。
可选的,还包括:
所述收发模块进一步,基于所述IPSec隧道,接收所述对端设备发送的数据;其中,所述对端设备发送的数据为所述对端设备基于所述对端SA加密后的数据;
所述传输模块进一步,基于所述本端SA,对基于所述对端SA加密后发送的数据执行解密。
可选的,所述IPSec隧道承载于所述对端设备已确定的第二单向最优链路;
可选的,所述第二单向最优链路为所述第一链路以及所述第二链路中,所述对端设备到所述本端设备方向上,单向链路平均延迟较小的链路。
本申请还提供一种电子设备,包括通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接;
所述存储器中存储机器可读指令,所述处理器通过调用所述机器可读指令,执行上述的方法。
本申请还提供一种机器可读存储介质,所述机器可读存储介质存储有机器可读指令,所述机器可读指令在被处理器调用和执行时,实现上述方法。
通过以上实施例,一方面,通过在本端设备与对端设备相连的多条链路中,优选单向延迟最小的链路,实现了本端设备与对端设备分别基于双向的最优链路进行数据传输,从而提高了IPSec的数据传输效率;另一方面,通过多条链路在对端设备上对应的多个IP地址共享一个SA,减少了SA的数量,从而使得在多链路网络环境中,减少了本端设备与对端设备需要建立IPSec隧道数目,降低了系统开销。
附图说明
图1是一示例性IPSec VPN多链路的系统组网图。
图2是一示例性实施例提供的一种数据传输方法的流程图。
图3是一示例性实施例提供的IPSec VPN多链路的系统组网图。
图4是一示例性实施例提供的一种数据传输装置的框图。
图5是一示例性实施例提供的一种电子设备的硬件结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
为了使本技术领域的人员更好地理解本申请实施例中的技术方案,下面先对本申请实施例涉及的IPSec VPN组网下的数据传输的相关技术,进行简要说明。
请参见图1,图1是一示例性IPSec VPN多链路的系统组网图。
如图1所示的IPSec VPN组网包括:本端设备、IPSec对端设备。本端设备与对端设备基于IPSec协议,进行安全通信。如图1所示的双向实线箭头为本端设备与对端设备存在多条网络可以互通的链路,包括:链路1、链路2;其中,链路1指示本端设备IP0与对端设备IP1之间的链路,链路2指示本端设备IP0与对端设备IP2之间的链路。如图1所示的虚线线框为本端设备与对端设备之间对应基于上述链路1以及链路2的IPSec隧道,包括:IPSec隧道1、IPSec隧道2。
在一些场景下,基于如图1所示的IPSec VPN多链路的系统组网,现有的技术方案通常是:基于上述链路1、链路2中的每条链路都进行IPsec协商,即本端设备与对端设备的多条链路之间在协商完成后存在多条IPsec隧道(IPSec隧道1、IPSec隧道2)。在上述多条IPsec隧道创建后,当本端设备要发送数据到对端设备时,本端设备分别基于每条IPsec隧道协商获得的本端SA对数据执行加密再传输;当对端设备接收到上述数据时,对端设备分别基于上述每条IPsec隧道协商获得的,与上述本端SA对应的对端SA对上述数据执行解密。
基于上述场景可见,现有的IPSec VPN多链路的IPsec隧道与链路是一一对应的关系,从而本端设备与对端设备需建立多条IPsec隧道以及协商多对本端SA与对端SA。
而本申请旨在提出一种,从多链路中优选单向延迟最小的链路进行IPsec数据传输,以及多链路共享IPsec SA的技术方案。
在实现时,本端设备与对端设备的默认链路对应的接口建立IPsec隧道后,本端设备获取本端SA以及对端设备的其他链路对应接口,对端设备获取多个接口共享的对端SA;进一步对多链路进行双向链路探测及优选,在获取最优链路后,由本端设备基于本端设备SA对数据加密传输,以及由对端设备基于共享的对端SA对收到的数据进行解密。
在以上方案中,一方面,通过在本端设备与对端设备相连的多条链路中,优选单向延迟最小的链路,实现了本端设备与对端设备分别基于双向的最优链路进行数据传输,从而提高了IPSec的数据传输效率;另一方面,通过多条链路在对端设备上对应的多个IP地址共享一个SA,减少了SA的数量,从而使得在多链路网络环境中,减少了本端设备与对端设备需要建立IPSec隧道数目,降低了系统开销。
下面通过具体实施例并结合具体的应用场景对本申请进行描述。
请参考图2,图2是本申请一实施例提供的一种数据传输方法的流程图,所述方法应用于IPSec VPN组网中的IPSec对等体,所述IPSec VPN组网在运行时,所述IPSec对等体可被配置为本端设备或对端设备,其特征在于,所述对端设备与所述本端设备至少存在两条链路通信可达,其中,所述两条链路包括:第一链路、第二链路,当所述IPSec对等体为本端设备时,上述方法执行以下步骤:
步骤202、基于预设的与所述第一链路对应的所述对端设备的第一IP地址,向所述对端设备发送建立IPSec隧道的请求;以及,接收所述对端设备针对所述请求的响应,从所述响应中获取所述第二链路对应的所述对端设备的第二IP地址。
步骤204、确定基于所述IPSec隧道进行IPSec数据传输的第一单向最优链路。
步骤206、对所述数据执行加密,以及将加密后的数据经所述第一单向最优链路传输至所述对端设备;以使,所述对端设备基于已获得的所述两条链路共享的对端SA,对所述数据执行解密。
以下通过具体的实施例,并结合“IPSec隧道建立”、“链路择优”、“数据传输”,对本申请的涉及的技术方案进行详细描述:
1)IPSec隧道建立
为了方便理解,先介绍下IPSec相关的基本概念:IPSec对等体、SA(SecurityAssociation,安全联盟)。
IPSec对等体介绍:
IPSec在两个端点之间提供安全通信,上述两个端点被称为IPSec对等体。如图1所示的本端设备、对端设备都是IPSec对等体。
SA(Security Association,安全联盟)介绍:
SA,是进行通信的IPSec对等体之间对IPSec协议中的具体要素的约定。例如,协议的封装模式、密码算法等;其中,SA是单向的,也即在通信的两个IPSec对等体之间进行通信的两个方向上,都需要对应的SA对。
在本说明书中,上述本端设备与上述对端设备是IPSec对等体。
其中,上述对端设备与上述本端设备至少存在两条链路通信可达,上述两条链路包括:第一链路、第二链路,其中,上述第二链路为上述对端设备与上述本端设备除上述第一链路以外的其它链路的统称,在示出的一种的实施方式中,上述第二链路可以对应一条或多条链路。
在示出的一种实施方式中,请参见图3所示,上述第一链路为链路1、上述第二链路为对应一条链路为链路2。在示出的另一种实施方式中,上述第二链路可以对应三条或等多的链路。后续以上述第二链路为对应一条链路进行举例。
在本说明书中,上述第一IP地址是指,与上述第一链路对应的上述对端设备所包括的默认接口的IP地址。例如:请参见图3所示,上述第一链路为链路1,其中,链路1对应的本端设备IP地址是IP0,对端设备所包含默认接口的IP地址是IP1;上述第一IP地址为IP1。
在本说明书中,上述第二IP地址是指,与上述第二链路对应的上述对端设备所包括的除默认接口外的其它接口的IP地址。例如:请参见图3所示,上述第二链路为链路2,其中,链路2对应的本端设备IP地址是IP0,对端设备所包括的除默认接口外的一个其它接口IP地址是IP2;上述第二IP地址为IP2。
在本说明书中,上述本端设备基于预设的与上述第一链路对应的上述对端设备的第一IP地址,向上述对端设备发送建立IPSec隧道的请求。
例如:上述本端设备上预配置上述对端设备的IP1,向上述对端设备对应是IP1的目的IP地址发送建立IPSec隧道的请求。
上述对端设备在接收到上述本端设备的IPSec隧道的请求后,针对上述请求向上述本端设备发送上述请求对应的响应;
其中,上述响应至少包括有上述第二链路对应的上述对端设备的第二IP地址,比如:上述响应包括上述对端设备的第二IP地址为上述对端设备的IP2。
需要说明的是,上述本端设备与上述对端设备建立IPSec隧道的过程是一个协商的过程,该协商过程需要经过多次请求以及响应,具体不再赘述。
在本说明书中,上述本端设备在接收上述对端设备针对上述请求的响应后,从上述响应中获取上述第二链路对应的上述对端设备的第二IP地址。
在本说明书中,上述本端设备与上述对端设备在建立IPSec隧道的过程中,通过协商确定了上述本端设备发送数据到上述对端设备的SA对,简称SA-Pair1,以及确定了上述对端设备发送数据到上述本端设备的SA对,简称SA-Pair2;其中,上述SA对用于描述在不同数据流向上,上述本端设备的本端SA与上述对端设备的对端SA的对应关系。
在本说明书中,上述本端设备与上述对端设备通过协商,分别获得了用来给数据加解密的SA,其中,在上述本端设备上的用于数据加解密的SA对,简称SA-Pair1;在上述对端设备上的用于数据加解密的SA对,简称SA-Pair2。
例如,请参见图3所示,上述本端设备与上述对端设备进行IPSec安全通信时,当上述本端设备发送数据到上述对端设备时,本端设备需要一个SA(SA1)用于加密外发数据,对端设备需要另一个SA(SA2)解密处理进入的数据;同样的,当上述对端设备发送数据到上述本端设备时,上述对端设备需要一个SA(SA3)用于加密处理外发数据,上述本端设备需要另一个SA(SA4)解密处理进入的数据;则SA-Pair1包括SA1、SA4,SA-Pair2包括SA3、SA2。
在本说明书中,上述本端SA即为上述SA-Pair1,上述对端SA即为上述SA-Pair2。
其中,上述对端SA为上述对端设备上多个接口(第一IP地址对应的接口、第二IP地址对应的接口)共享的SA。
需要说明的是,对于如图1所示的IPSec VPN多链路的系统组网,在现有技术方案的实现是:首先,需要多个SA(本端设备需要两对SA对、本端设备需要两对SA对);其次,对端设备在查找SA时,就要从多SA中根据源/目ip、协议、spi等报文特征从多SA中找到对应的SA去给数据加解密。
而在本申请中,请参见图3,图3为本说明书一实施例提供的IPSec VPN多链路的系统组网。如图3所示的“IPSec隧道”虚线,上述对端设备的IP1、IP2都共享上述对端SA,即共享SA2,SA3,也即上述对端设备多个接口(IP1、IP2)对应的多链路都共享上述对端SA,也即,基于本申请方案,不再需要根据数据的报文特征(源/目ip、协议、spi)查找SA,通过对端设备上多链路共享SA方式,减少了SA的协商,以及简化了SA查找方式。
在本说明书中,在IPSec隧道建立后,上述本端设备以及上述对端设备分保存上述本端SA、上述对端SA,用于后续数据传输。
2)链路择优
当上述本端设备以及上述对端设备,完成上述“IPSec隧道建立”后,上述本端设备以及上述对端设备分别确定各自数据发送方向上对应的最优链路,基于确定后的最优链路用于IPSec数据传输。
在本说明书中,上述第一单向最优链路是指,目标数据从上述本端设备到上述对端设备方向上的单向延迟最小的链路。
以图3对应组网为例,比如:目标数据从上述本端设备到上述对端设备方向上的单向延迟最小的链路为链路1。
在本说明书中,上述第二单向最优链路是指,目标数据从上述对端设备到上述被端设备方向上的单向延迟最小的链路。
以图3对应组网为例,比如:目标数据从上述对端设备到上述本端设备方向上的单向延迟最小的链路为链路2。
需要注意的是,目标数据由上述本端设备或上述对端设备向对方发送时的链路可以是一样的,也可以是不一样。比如:都为链路1;再比如:一个为链路1,另一个为链路2。上述仅为示例,实际存在多种组合,不在赘述。
在示出的一种实施方式中,以上述目标数据从上述本端设备到上述对端设备方向上,确定单向延迟最小的最优链路的过程,进行具体说明,主要包括如下步骤:
a)多链路单向延迟探测
在本说明书中,上述本端设备基于预设周期,向上述对端设备发送探测报文,用于探测上述第一链路以及上述第二链路的单向延迟,其中,上述单向延迟为上述本端设备到上述对端设备方向上的网络延迟。
在实现时,上述探测报文可以是ping报文或者其它探测报文。上述预设周期可以采用基于时间的周期设置,也可以基于统计次数,具体不作限定。
例如,基于图3对应组网,上述本端设备分别基于链路1、链路2,对上述对端设备的IP1、IP2的分别ping三次,获取上述链路1、链路2分别对应的单向延迟的探测结果。
b)多链路单向延迟统计
在本说明书中,在“多链路单向延迟探测”完成后,上述本端设备基于上述第一链路以及上述第二链路的单向延迟的探测结果,进行统计,获得对应的所述第一链路以及所述第二链路的单向平均延迟。
以上示例过程继续举例,比如:经统计后上述链路1的单向平均延迟为60ms,上述链路2的单向平均延迟为30ms。
c)多链路单向延迟分析
在本说明书中,在“多链路单向延迟统计”完成后,上述本端设备比较上述第一链路及上述第二链路的单向平均延迟的大小,确定基于所述IPSec隧道进行IPSec数据传输的第一单向最优链路;
其中,上述第一单向最优链路为上述第一链路及上述第二链路中的单向链路平均延迟较小的链路。
以上示例过程继续举例,上述链路2的单向平均延迟(30ms)小于上述链路1的单向平均延迟(60ms),上述本端设备则确定上述链路2为上述第一单向最优链路。
由于链路状态是变化的,从而上述最优链路可能发生延迟增加等异常,由此,在示出的一种实施方式中,上述本端设备可以基于预设的周期对上述最优链路执行更新。具体更新的过程和上述步骤a至c所述过程相同,不再赘述。
在示出的另一种实施方式中,上述目标数据从上述对端设备到上述本端设备方向上,确定单向延迟最小的最优链路的过程;与上述以上述目标数据从上述本端设备到上述对端设备方向上,确定单向延迟最小的最优链路的过程,是相同的,不再赘述。
3)数据传输
上述本端设备与上述对端设备,可以基于确定的上述单向最优链路,同时,执行进行双向数据发送以及对应接收。基于如图3所示的组网,以上述本端设备要发送目标数据到上述对端设备为例,如下先简单介绍下数据发送以及接收的过程:
首先,上述本端设备根据,上述目标数据的报文的特征(源IP/目IP),在上述本端设备保存的上述本端SA中,查找对应的用于加密的SA,例如:上述加密SA为“IPSec隧道建立”中所述的SA1。
其次,上述本端设备将上述目标数据,基于SA1加密封装后,通过上述第一单向最优链路发送到上述对端设备。
接着,上述对端设备根据上述目标数据中的报文特征(例如:SPI值)从上述对端设备保存的上述对端SA中,查找到与上述SA对应的用于解密的SA;例如:上述解密SA为“IPSec隧道建立”中所述的SA2,SA2与SA1相关联对应。
最后,上述对端设备基于SA2对上述目标数据执行解密,以使上述对端设备将解密后的数据,转发给上述对端设备内的私网网段内的对应设备。
为了方便理解,以下分别以上述本端设备是数据发送端,以及数据接收端的两种场景,进行详细描述。
a)数据发送
在示出的一种实施方式中,当上述本端设备是数据发送端时,当上述本端设备完成上述“链路择优”后,上述本端设备基于已获取的与上述IPSec隧道对应的本端SA对待发送的目标数据执行加密;
在本说明书中,上述本端设备将加密后的数据经上述第一单向最优链路传输至上述对端设备;
以使,上述对端设备基于已获得的上述两条链路对应共享的上述对端SA,对上述数据执行解密;
在示出的另一种实施方式中,当上述对端设备是数据发送端时,上述对端设备执行数据发送的过程,和上述本端设备是数据发送端时,执行的过程是类似的,区别仅在于SA不同。例如:上述对端设备作为数据发送端使用的SA为“IPSec隧道建立”中所示例的SA-Pair2(包括SA3、SA2)中的SA3(加密)。
b)数据接收
在示出的一种实施方式中,当上述本端设备是数据接收端时,当上述对端端设备完成上述“链路择优”后,已确定述IPSec隧道承载于上述对端设备已确定的上述第二单向最优链路;
其中,上述第二单向最优链路为上述第一链路以及上述第二链路中,上述对端设备到上述本端设备方向上,单向链路平均延迟较小的链路。
在本说明书中,上述第二单向最优链路的确定过程,与上述第一单向最优链路的确定过程相同,具体不再赘述。
上述本端设备,基于上述IPSec隧道,接收上述对端设备发送的数据;其中,上述对端设备发送的数据为上述对端设备基于上述对端SA加密后的数据。
例如:上述对端设备作为数据发送端使用的SA为“IPSec隧道建立”所示例的SA-Pair2(包括SA3、SA2)中的SA3(加密);上述本端设备基于“IPSec隧道建立”中所示例的SA-Pair1(包括SA1、SA4)中的SA4(解密),对上述对端SA加密后发送的数据执行解密。
在示出的另一种实施方式中,当上述对端设备是数据接收端时,上述对端设备执行数据接收的过程,和上述本端设备是数据接收端时,执行的过程是类似的,区别仅在于SA不同。例如:上述对端设备作为数据接收端时,使用的SA为“IPSec隧道建立”所示例的SA-Pair2(包括SA3、SA2)中的SA2(解密)。
在以上技术方案中,一方面,通过在本端设备与对端设备相连的多条链路中,优选单向延迟最小的链路,实现了本端设备与对端设备分别基于双向的最优链路进行数据传输,从而提高了IPSec的数据传输效率;另一方面,通过多条链路在对端设备上对应的多个IP地址共享一个SA,减少了SA的数量,从而使得在多链路网络环境中,减少了本端设备与对端设备需要建立IPSec隧道数目,降低了系统开销。
图4是本申请一示例性实施例提供的一种数据传输装置的框图。与上述方法实施例相对应,本申请还提供了一种数据传输装置的实施例,所述装置应用于IPSec VPN组网中的IPSec对等体,所述IPSec VPN组网在运行时,所述IPSec对等体可被配置为本端设备或对端设备,其特征在于,所述对端设备与所述本端设备至少存在两条链路通信可达,其中,所述两条链路包括:第一链路、第二链路,请参考图4所示例的一种数据传输装置40,当所述IPSec对等体为本端设备时,所述装置包括:
收发模块,基于预设的与所述第一链路对应的所述对端设备的第一IP地址,向所述对端设备发送建立IPSec隧道的请求;以及,接收所述对端设备针对所述请求的响应,从所述响应中获取所述第二链路对应的所述对端设备的第二IP地址;
优选模块,确定基于所述IPSec隧道进行IPSec数据传输的第一单向最优链路;
传输模块,对所述数据执行加密,以及将加密后的数据经所述第一单向最优链路传输至所述对端设备;以使,所述对端设备基于已获得的所述两条链路共享的对端SA,对所述数据执行解密。
在本申请实施例中,所述优选模块进一步:
基于预设周期,探测所述第一链路以及所述第二链路的单向延迟,其中,所述单向延迟为所述本端设备到所述对端设备方向上的网络延迟;
基于所述第一链路以及所述第二链路的单向延迟的探测结果,进行统计,获得对应的所述第一链路以及所述第二链路的单向平均延迟。
在本申请实施例中,所述优选模块进一步:
比较所述第一链路及所述第二链路的单向平均延迟的大小,确定基于所述IPSec隧道进行IPSec数据传输的第一单向最优链路,其中,所述第一单向最优链路为所述第一链路及所述第二链路中的单向链路平均延迟较小的链路。
在本申请实施例中,所述传输模块进一步:
所述本端设备获取与所述IPSec隧道对应的本端SA,其中,所述本端SA与所述对端SA相对应;
基于所述本端SA,对所述数据执行加密。
在本申请实施例中,所述对端SA为所述对端设备的第一IP地址、第二IP地址共享的SA。
在本申请实施例中,还包括:
所述收发模块进一步,基于所述IPSec隧道,接收所述对端设备发送的数据;其中,所述对端设备发送的数据为所述对端设备基于所述对端SA加密后的数据;
所述传输模块进一步,基于所述本端SA,对基于所述对端SA加密后发送的数据执行解密。
在本申请实施例中,所述IPSec隧道承载于所述对端设备已确定的第二单向最优链路;
在本申请实施例中,所述第二单向最优链路为所述第一链路以及所述第二链路中,所述对端设备到所述本端设备方向上,单向链路平均延迟较小的链路。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述实施例阐明的系统、装置、模块或模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
本申请的数据传输装置的实施例可以应用在图5所示的电子设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将机器可读存储介质中对应的计算机程序指令读取后运行形成的机器可执行指令。从硬件层面而言,如图5所示,为本申请的数据传输装置所在电子设备的一种硬件结构图,除了图5所示的处理器、通信接口、总线以及机器可读存储介质之外,实施例中装置所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。
对应地,本申请实施例还提供了图4所示装置的一种电子设备的硬件结构,请参见图5,图5为本申请实施例提供的一种电子设备的硬件结构示意图。该设备包含:通信接口501、处理器502、机器可读存储介质503和总线504;其中,通信接口501、处理器502、机器可读存储介质503通过总线504完成相互间的通信。其中,通信接口501,用于进行网络通信。处理器502可以是一个中央处理器(CPU),处理器502可以执行机器可读存储介质503中存储的机器可读指令,以实现以上描述的方法。
本文中提到的机器可读存储介质503可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:易失存储器、非易失性存储器或者类似的存储介质。具体地,机器可读存储介质503可以是RAM(Radom Access Memory,随机存取存储器)、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、DVD等),或者类似的存储介质,或者它们的组合。
至此,完成图5所示的硬件结构描述。
此外,本申请实施例还提供了一种包括机器可执行指令的机器可读存储介质,例如图5中的机器可读机器可读存储介质503,所述机器可执行指令可由数据处理装置中的处理器502执行以实现以上描述的数据处理方法。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (11)

1.一种数据传输方法,所述方法应用于IPSec VPN组网中的IPSec对等体,所述IPSecVPN组网在运行时,所述IPSec对等体可被配置为本端设备或对端设备,其特征在于,所述对端设备与所述本端设备至少存在两条链路通信可达,其中,所述两条链路包括:第一链路、第二链路,当所述IPSec对等体为本端设备时,所述方法包括:
基于预设的与所述第一链路对应的所述对端设备的第一IP地址,向所述对端设备发送建立IPSec隧道的请求;以及,接收所述对端设备针对所述请求的响应,从所述响应中获取所述第二链路对应的所述对端设备的第二IP地址;
确定基于所述IPSec隧道进行IPSec数据传输的第一单向最优链路;
对所述数据执行加密,以及将加密后的数据经所述第一单向最优链路传输至所述对端设备;以使,所述对端设备基于已获得的所述两条链路共享的对端SA,对所述数据执行解密。
2.根据权利要求1所述的方法,其特征在于,所述确定基于所述IPSec隧道进行IPSec数据传输的第一单向最优链路,包括:
基于预设周期,探测所述第一链路以及所述第二链路的单向延迟,其中,所述单向延迟为所述本端设备到所述对端设备方向上的网络延迟;
基于所述第一链路以及所述第二链路的单向延迟的探测结果,进行统计,获得对应的所述第一链路以及所述第二链路的单向平均延迟。
3.根据权利要求2所述的方法,其特征在于,还包括:
比较所述第一链路及所述第二链路的单向平均延迟的大小,确定基于所述IPSec隧道进行IPSec数据传输的第一单向最优链路,其中,所述第一单向最优链路为所述第一链路及所述第二链路中的单向链路平均延迟较小的链路。
4.根据权利要求1所述的方法,其特征在于,所述对所述数据执行加密,包括:
所述本端设备获取与所述IPSec隧道对应的本端SA,其中,所述本端SA与所述对端SA相对应;
基于所述本端SA,对所述数据执行加密。
5.根据权利要求4所述的方法,其特征在于,所述对端SA为所述对端设备的第一IP地址、第二IP地址共享的SA。
6.根据权利要求5所述的方法,其特征在于,还包括:
基于所述IPSec隧道,接收所述对端设备发送的数据;其中,所述对端设备发送的数据为所述对端设备基于所述对端SA加密后的数据;
基于所述本端SA,对基于所述对端SA加密后发送的数据执行解密。
7.根据权利要求6所述的方法,其特征在于,所述IPSec隧道承载于所述对端设备已确定的第二单向最优链路。
8.根据权利要求7所述的方法,其特征在于,所述第二单向最优链路为所述第一链路以及所述第二链路中,所述对端设备到所述本端设备方向上,单向链路平均延迟较小的链路。
9.一种数据传输装置,所述装置应用于IPSec VPN组网中的IPSec对等体,所述IPSecVPN组网在运行时,所述IPSec对等体可被配置为本端设备或对端设备,其特征在于,所述对端设备与所述本端设备至少存在两条链路通信可达,其中,所述两条链路包括:第一链路、第二链路,当所述IPSec对等体为本端设备时,所述装置包括:
收发模块,基于预设的与所述第一链路对应的所述对端设备的第一IP地址,向所述对端设备发送建立IPSec隧道的请求;以及,接收所述对端设备针对所述请求的响应,从所述响应中获取所述第二链路对应的所述对端设备的第二IP地址;
优选模块,确定基于所述IPSec隧道进行IPSec数据传输的第一单向最优链路;
传输模块,对所述数据执行加密,以及将加密后的数据经所述第一单向最优链路传输至所述对端设备;以使,所述对端设备基于已获得的所述两条链路共享的对端SA,对所述数据执行解密。
10.一种电子设备,其特征在于,包括通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接;
所述存储器中存储机器可读指令,所述处理器通过调用所述机器可读指令,执行如权利要求1至8任一项所述的方法。
11.一种机器可读存储介质,其特征在于,所述机器可读存储介质存储有机器可读指令,所述机器可读指令在被处理器调用和执行时,实现权利要求1至8任一项所述的方法。
CN201910231396.3A 2019-03-26 2019-03-26 数据传输方法、装置、电子设备 Active CN109905310B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910231396.3A CN109905310B (zh) 2019-03-26 2019-03-26 数据传输方法、装置、电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910231396.3A CN109905310B (zh) 2019-03-26 2019-03-26 数据传输方法、装置、电子设备

Publications (2)

Publication Number Publication Date
CN109905310A CN109905310A (zh) 2019-06-18
CN109905310B true CN109905310B (zh) 2020-12-29

Family

ID=66953886

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910231396.3A Active CN109905310B (zh) 2019-03-26 2019-03-26 数据传输方法、装置、电子设备

Country Status (1)

Country Link
CN (1) CN109905310B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110365570B (zh) * 2019-07-19 2021-05-28 杭州迪普科技股份有限公司 IPSec流量转发方法、装置、电子设备
CN113411245B (zh) * 2021-06-30 2022-08-12 北京天融信网络安全技术有限公司 一种IPSec隧道网络配置方法、装置、电子设备和存储介质
CN114301925B (zh) * 2021-12-31 2023-12-08 展讯通信(天津)有限公司 数据传输方法及相关设备

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011176395A (ja) * 2010-02-23 2011-09-08 Nippon Telegr & Teleph Corp <Ntt> IPsec通信方法およびIPsec通信システム
CN102271061A (zh) * 2010-06-07 2011-12-07 杭州华三通信技术有限公司 一种确定ip安全虚拟专用网隧道数量的方法和装置
CN103067243A (zh) * 2012-12-21 2013-04-24 华为技术有限公司 通信方法及相关设备
CN103067956A (zh) * 2013-01-22 2013-04-24 迈普通信技术股份有限公司 3G网络环境中IPSec隧道备份及切换方法和设备
CN104601430A (zh) * 2014-12-30 2015-05-06 北京华为数字技术有限公司 一种隧道选择方法、设备及系统
WO2016187871A1 (en) * 2015-05-28 2016-12-01 Telefonaktiebolaget Lm Ericsson (Publ) Multiple pdn connections over untrusted wlan access
CN106685760A (zh) * 2016-12-29 2017-05-17 杭州迪普科技股份有限公司 链路状态的探测方法及装置
CN108024290A (zh) * 2016-11-03 2018-05-11 中兴通讯股份有限公司 一种隧道调整方法和装置
CN108600228A (zh) * 2018-04-26 2018-09-28 杭州迪普科技股份有限公司 一种IPSec链路选择方法及装置
CN108768856A (zh) * 2018-05-31 2018-11-06 新华三技术有限公司 一种路由处理方法和装置
CN109194561A (zh) * 2018-08-29 2019-01-11 杭州迪普科技股份有限公司 选择链路的方法、装置及存储介质

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011176395A (ja) * 2010-02-23 2011-09-08 Nippon Telegr & Teleph Corp <Ntt> IPsec通信方法およびIPsec通信システム
CN102271061A (zh) * 2010-06-07 2011-12-07 杭州华三通信技术有限公司 一种确定ip安全虚拟专用网隧道数量的方法和装置
CN103067243A (zh) * 2012-12-21 2013-04-24 华为技术有限公司 通信方法及相关设备
CN103067956A (zh) * 2013-01-22 2013-04-24 迈普通信技术股份有限公司 3G网络环境中IPSec隧道备份及切换方法和设备
CN104601430A (zh) * 2014-12-30 2015-05-06 北京华为数字技术有限公司 一种隧道选择方法、设备及系统
WO2016187871A1 (en) * 2015-05-28 2016-12-01 Telefonaktiebolaget Lm Ericsson (Publ) Multiple pdn connections over untrusted wlan access
CN108024290A (zh) * 2016-11-03 2018-05-11 中兴通讯股份有限公司 一种隧道调整方法和装置
CN106685760A (zh) * 2016-12-29 2017-05-17 杭州迪普科技股份有限公司 链路状态的探测方法及装置
CN108600228A (zh) * 2018-04-26 2018-09-28 杭州迪普科技股份有限公司 一种IPSec链路选择方法及装置
CN108768856A (zh) * 2018-05-31 2018-11-06 新华三技术有限公司 一种路由处理方法和装置
CN109194561A (zh) * 2018-08-29 2019-01-11 杭州迪普科技股份有限公司 选择链路的方法、装置及存储介质

Also Published As

Publication number Publication date
CN109905310A (zh) 2019-06-18

Similar Documents

Publication Publication Date Title
US10708245B2 (en) MACsec for encrypting tunnel data packets
US11316677B2 (en) Quantum key distribution node apparatus and method for quantum key distribution thereof
CN109150688B (zh) IPSec VPN数据传输方法及装置
US20080162924A1 (en) Handoff of a secure connection among gateways
CN109905310B (zh) 数据传输方法、装置、电子设备
US9219709B2 (en) Multi-wrapped virtual private network
US20170149748A1 (en) Secure Group Messaging and Data Steaming
JP2006121510A (ja) 暗号化通信システム
EP3633949A1 (en) Method and system for performing ssl handshake
CN112491821B (zh) 一种IPSec报文转发的方法及装置
US20210006545A1 (en) Ipsec anti-replay window with quality of service
CN110620762A (zh) 基于rdma的数据传输方法、网卡、服务器及介质
KR20180130203A (ko) 사물인터넷 디바이스 인증 장치 및 방법
JP2010273225A (ja) パケット送受信システム、パケット送受信装置、および、パケット送受信方法
US10015208B2 (en) Single proxies in secure communication using service function chaining
US10230698B2 (en) Routing a data packet to a shared security engine
CN113206815B (zh) 用于加解密的方法、可编程交换机和计算机可读存储介质
WO2024001037A1 (zh) 一种消息传输方法、装置、电子设备和存储介质
CN111416791B (zh) 数据传输方法、设备与系统
US8897441B2 (en) Packet transmitting and receiving apparatus and packet transmitting and receiving method
US11626981B2 (en) Facilitating hitless security key rollover using data plane feedback
JP2005244379A (ja) Vpnシステム、vpn装置及びそれらに用いる暗号化鍵配布方法
CN110086702B (zh) 报文转发方法、装置、电子设备及机器可读存储介质
CN110995730B (zh) 数据传输方法、装置、代理服务器和代理服务器集群
JP2010081108A (ja) 通信中継装置、情報処理装置、プログラム、及び通信システム

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