CN105635295B - 一种IPSec VPN高性能数据同步方法 - Google Patents
一种IPSec VPN高性能数据同步方法 Download PDFInfo
- Publication number
- CN105635295B CN105635295B CN201610010477.7A CN201610010477A CN105635295B CN 105635295 B CN105635295 B CN 105635295B CN 201610010477 A CN201610010477 A CN 201610010477A CN 105635295 B CN105635295 B CN 105635295B
- Authority
- CN
- China
- Prior art keywords
- synchronized
- queue
- timing
- ipsec
- data
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- 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/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0272—Virtual private networks
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明提供了一种IPSec VPN高性能数据同步方法。设置待同步队列和同步队列,采用基于定时器的批量同步,数据信息项数据发生改变时,主动链接到待同步队列中,实现定时同步;所述待同步队列用于链接所有发生了改变但没有开始同步的数据信息项;所述同步队列用于维护所有发生了改变正在进行同步的数据信息项;所述定时器根据设置的定时时间阈值,负责发起数据同步功能。省去了传统定时查询方法因无法获取到同步数据是否发生改变,而进行所有项查询而带来无谓的浪费,同时也减少了定时查询所带来的数据拷贝。
Description
技术领域
本发明涉及一种IPSec VPN高性能数据同步方法,特别是涉及一种适用于IPSecVPN在双机热备或者负载均衡环境下,在主设备和备用设备之间,对数据进行同步的方法。
背景技术
IPSec VPN设备需要支持双机热备功能、适应负载均衡网络,以实现IPSec VPN设备自身的可靠性,以及所在的网络、用户业务的可靠运行。设备在运行前需要进行配置参数信息设置,在运行过程中将产生大量的工作数据。为了保证一台设备出现故障后,另外一台设备能够快速参与工作,需要保证同组的两台设备所有信息能够实时一致。
设备运行所需的配置信息一般由用户设置,其特点是本地保存、同步频率较低。设备的工作信息主要指设备在工作过程中,根据其自身业务的特点动态生成、维护业务处理的内存临时信息,重启时这些信息一般不会本地保存而丢失。其更新频率主要根据自身业务的特点以及受用户业务处理速率的影响。比如IKE密钥协商过程中,ISAKMP SA的更新频率主要是根据用户输入的配置参数决定,IPSec SA的更新频率则受用户输入的配置参数和用户业务处理速率决定。从更新频繁程度分析,IPSec SA的更新频率高于ISAKMP SA,其中IPSec SA的抗重放序列号和抗重放滑动窗口更新最为频繁。
设备工作信息的更新频度主要取决于设备协商IPSec SA的能力,更新频度一般不会低于毫秒级。
IPSec协议处理过程中,部分工作信息的变化频度非常高,主要包括IPSec SA的字节生命周期、抗重放序列号和抗重放滑动窗口。更新频度主要起决于设备的VPN处理能力。假如设备VPN处理能够达到1000Mbps线速,其更新频度达到微妙级。
如果针对更新频度为微妙级进行实时同步,对VPN设备的性能影响非常大,影响设备正常运行。
传统的IPSec VPN数据同步一般采用定时查询获取同步数据,这对系统性能影响严重影响。
发明内容
传统的定时查询方法无法获取到同步数据是否发生改变,只是定时查询获取同步数据,这样进行所有项查询会带来无谓的浪费。
本发明要解决的技术问题是:提供一种提高工作效率,减少系统负载的IPSec VPN高性能数据同步方法。
本发明采用的技术方案如下:一种IPSec VPN高性能数据同步方法,其特征在于,设置待同步队列和同步队列,采用基于定时器的批量同步,数据信息项数据发生改变时,主动链接到待同步队列中,实现定时同步;所述待同步队列用于链接所有发生了改变但没有开始同步的数据信息项;所述同步队列用于维护所有发生了改变正在进行同步的数据信息项;所述定时器根据设置的定时时间阈值,负责发起数据同步功能。
待同步队列为一个链表头,负责链接所有发生了改变但没有开始同步的数据信息项;同步队列同样为一个链表头,负责维护所有发生了改变、正在进行同步的数据信息项。
传统的IPSec VPN数据同步一般采用定时查询获取同步数据,这对系统性能影响严重影响。本发明采用基于定时器的批量同步,数据信息项因同步数据发生改变,主动链接到待同步队列中。省去了传统定时查询方法因无法获取到同步数据是否发生改变,而进行所有项查询而带来无谓的浪费,同时也减少了定时查询所带来的数据拷贝。
进一步的,数据信息项数据发生改变时,主动链接到待同步队列中的具体方法为:在数据信息项中设置指向待同步队列的链表,当某一数据信息项中同步信息发生改变,则把该数据信息项链接到待同步队列中。
在每一天数据信息项中设置一个指向待同步队列的链表,当某一数据信息项中数据信息发生改变时,该链表会把该数据信息项链接到待同步队列,以等到定时时间阈值达到后进行同步。
进一步的,所述方法还包括,在IKE SA中设置一个list entry,当IKE SA发起了或者收到了DPD探测及相应报文后, list entry挂接到待同步队列中。
进一步的,所述方法还包括,在IPSec SA中设置一个list entry,判断当前IPSecSA是否进行了一次VPN处理,是,则说明抗重放序列号或者抗重放窗口发生了改变,则把当前IPSec SA的list entry挂接到待同步队列中。
进一步的,设置定时器定时时间阈值,当时间值大于等于所设定的定时时间阈值时,判定为达到定时时间阈值,定时器重新进入计时,进入下一个定时判断流程。
进一步的,实现定时同步的具体方法步骤为:
步骤一、判断定时器是否达到定时时间阈值,是则进入下一步,否则继续等待;
步骤二、待同步队列链接到同步队列链表尾,置待同步队列为空;
步骤三、同步队列确定本次要进行同步的数据信息项,并逐一收集同步队列中每个数据信息项的同步信息,发送给要同步信息的另一台设备进行同步。
同步进程或模块对同步队列中所有SA以设定固定数量的SA确定要同步的数据信息项,收集其中的相关信息(IKE SA包括双方cookie值、DPD探测序列号和ACK序列号,IPSecSA包括SPI、SA目的地址、协议、抗重放序列号和抗重放滑动窗口),收集一个SA信息后则把该SA的list entry置为空。如果该SA发生改变,则把该SA挂接到待同步队列中。收集完同步队列的所有SA信息后,则把这些信息存放在报文发送缓存区,由同步进程或者模块发送出去。当处理完同步队列里所有的SA信息后,同步队列为空链表头,等待下次定时时间阈值的到达。
当处理完同步队列里所有的SA信息后,同步队列为空链表头,等待下次达到定时时间阈值。如果同步队列的数据信息项数量超过了本次要进行同步的数据信息项数量,剩余的数据信息项则下一次达到定时时间阈值后再发送。
进一步的,所述步骤一和步骤二之间还包括:判断待同步队列中是否有需要进行同步的数据信息项,是则进入步骤二,否则返回步骤一继续等待达到下一个定时时间阈值。
进一步的,所述步骤三中,设定每次同步所处理的数据信息项的数量,按照该数量和待同步数据信息项的前后位置,确定本次要进行同步的数据信息项。
进一步的,进行大量SA信息定时批量同步时,降低第一次SA信息批量同步的数量,针对第一个同步报文,备设备完成同步后返回其处理的时间戳,主设备根据所述返回的时间戳调整后续发送的需要同步的SA信息数量。
针对前面提到可靠性机制,在实际使用过程中,当进行大量SA信息定时批量同步时,此时主设备无法知道备用设备当前的运行负载。可以降低第一次SA要进行批量同步的数量,具体数量要根据工程实践来确认。
进一步的,所述定时时间阈值的设定方法包括:根据当前IPSec SA或者IKE SA的数量动态调整设置,设主设备和备设备之间希望T秒钟完成一次数据同步,一次最多处理P个IPSec SA,当前系统中有S个IPSec SA的值发生了改变,则定时时间阈值=T/(S/P)。
定时器定时时间阈值进行自定义配置或根据当前IPSec SA或者IKE SA的数量动态调整设置。当定时时间阈值到达,待同步队列链表的所有内容移动到同步队列中。待同步队列则以空链表头的形式继续接受IKE SAD和IPSec SAD中之前没有发生改变的SA信息。
与现有技术相比,本发明的有益效果是:省去了传统定时查询方法因无法获取到同步数据是否发生改变,而进行所有项查询而带来无谓的浪费,同时也减少了定时查询所带来的数据拷贝。
附图说明
图1为本发明其中一实施例的原理示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本说明书(包括摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或者具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
具体实施例一
一种IPSec VPN高性能数据同步方法,设置待同步队列和同步队列,采用基于定时器的批量同步,数据信息项数据发生改变时,主动链接到待同步队列中,实现定时同步;所述待同步队列用于链接所有发生了改变但没有开始同步的数据信息项;所述同步队列用于维护所有发生了改变正在进行同步的数据信息项;所述定时器根据设置的定时时间阈值,负责发起数据同步功能。
数据信息项数据发生改变时,主动链接到待同步队列中的具体方法为:在数据信息项中设置指向待同步队列的链表,当某一数据信息项中同步信息发生改变,则把该数据信息项链接到待同步队列中。
设置定时器定时时间阈值,当时间值大于等于所设定的定时时间阈值时,判定为达到定时时间阈值,定时器重新进入计时,进入下一个定时判断流程。
实现定时同步的具体方法步骤为:
步骤一、判断定时器是否达到定时时间阈值,是则进入下一步,否则继续等待;
步骤二、待同步队列链接到同步队列链表尾,置待同步队列为空;
步骤三、同步队列确定本次要进行同步的数据信息项,并逐一收集同步队列中每个数据信息项的同步信息,发送给要同步信息的另一台设备进行同步。
所述步骤三中,设定每次同步所处理的数据信息项的数量,按照该数量和待同步数据信息项的前后位置,确定本次要进行同步的数据信息项。
当主设备出现严重故障(如宕机)事故,主设备无法把信息同步到备设备。假如备设备发现主设备无法工作,进行主设备和备设备切换的时间为5秒钟。此时会出现主设备和备设备信息不同步,需要增加抗重放序列号、DPD探测报文序列号和ACK序列号。
具体实施例二
与具体实施例一的区别仅在于:在IKE SA中设置一个list entry,当IKE SA发起了或者收到了DPD探测及相应报文后, list entry挂接到待同步队列中。
具体实施例三
与具体实施例一的区别仅在于:在IPSec SA中设置一个list entry,判断当前IPSec SA是否进行了一次VPN处理,是,则说明抗重放序列号或者抗重放窗口发生了改变,则把当前IPSec SA的list entry挂接到待同步队列中。
具体实施例四
与具体实施例一的区别仅在于:在IKE SA和IPSec SA中各设置一个list entry,当IKE SA发起了或者收到了DPD探测及相应报文后, list entry挂接到待同步队列中。判断当前IPSec SA是否进行了一次VPN处理,是,则说明抗重放序列号或者抗重放窗口发生了改变,则把当前IPSec SA的list entry挂接到待同步队列中。如图1所示,在IPSec VPN设备中,为了提高工作效率,减少系统负载,针对IKE SA的同步提供一个同步进程,针对IPSecSA的同步提供一个内核同步模块。但同步进程和同步模块的核心机制是完全相同的。整体框架见附图1所示。核心机制由定时器、待同步队列、同步队列和报文发送缓存区构成。
具体实施五
与具体实施例一到四的区别仅在于:所述步骤一和步骤二之间还包括:判断待同步队列中是否有需要进行同步的数据信息项,是则进入步骤二,否则返回步骤一继续等待达到下一个定时阈时间值。
具体实施例六
根据当前IPSec SA或者IKE SA的数量动态调整设置。设主设备和备设备之间希望T秒钟完成一次数据同步,一次最多处理P个IPSec SA,当前系统中有S个IPSec SA的值发生了改变,则定时器时间阈值=T/(S/P)。当定时时间阈值到达,待同步队列链表的所有内容移动到同步队列中。待同步队列则以空链表头的形式继续接受IKE SAD和IPSec SAD中之前没有发生改变的SA信息。
进行大量SA信息定时批量同步时,降低第一次SA信息批量同步的数量,针对第一个同步报文,备设备完成同步后返回其处理的时间戳,主设备根据所述返回的时间戳调整后续发送的需要同步的SA信息数量。
针对前面提到可靠性机制,在实际使用过程中,当进行大量SA信息定时批量同步时,此时主设备无法知道备用设备当前的运行负载。可以降低第一次SA要进行批量同步的数量,具体数量要根据工程实践来确认。
Claims (9)
1.一种IPSec VPN高性能数据同步方法,其特征在于,设置待同步队列和同步队列,采用基于定时器的批量同步,数据信息项数据发生改变时,主动链接到待同步队列中,实现定时同步;所述待同步队列用于链接所有发生了改变但没有开始同步的数据信息项;所述同步队列用于维护所有发生了改变正在进行同步的数据信息项;所述定时器根据设置的定时时间阈值,负责发起数据同步功能;
所述方法还包括,在IKE SA中设置一个list entry,当IKE SA发起了或者收到了DPD探测及相应报文后, list entry挂接到待同步队列中。
2.根据权利要求1所述的IPSec VPN高性能数据同步方法,其特征在于,数据信息项数据发生改变时,主动链接到待同步队列中的具体方法为:在数据信息项中设置指向待同步队列的链表,当某一数据信息项中同步信息发生改变,则把该数据信息项链接到待同步队列中。
3.根据权利要求1或2所述的IPSec VPN高性能数据同步方法,其特征在于,所述方法还包括,在IPSec SA中设置一个list entry,判断当前IPSec SA是否进行了一次VPN处理,是,则把当前IPSec SA的list entry挂接到待同步队列中。
4.根据权利要求1所述的IPSec VPN高性能数据同步方法,其特征在于,设置定时器定时时间阈值,当时间值大于等于所设定的定时时间阈值时,判定为达到定时时间阈值,定时器重新进入计时,进入下一个定时判断流程。
5.根据权利要求4所述的IPSec VPN高性能数据同步方法,其特征在于,实现定时同步的具体方法步骤为:
步骤一、判断定时器是否达到定时时间阈值,是则进入下一步,否则继续等待;
步骤二、待同步队列链接到同步队列链表尾,置待同步队列为空;
步骤三、同步队列确定本次要进行同步的数据信息项,并逐一收集同步队列中每个数据信息项的同步信息,发送给要同步信息的另一台设备进行同步。
6.根据权利要求5所述的IPSec VPN高性能数据同步方法,其特征在于,所述步骤一和步骤二之间还包括:判断待同步队列中是否有需要进行同步的数据信息项,是则进入步骤二,否则返回步骤一继续等待达到下一个定时时间阈值。
7.根据权利要求5所述的IPSec VPN高性能数据同步方法,其特征在于,所述步骤三中,设定每次同步所处理的数据信息项的数量,按照该数量和待同步数据信息项的前后位置,确定本次要进行同步的数据信息项。
8.根据权利要求7所述的IPSec VPN高性能数据同步方法,其特征在于,进一步的,进行大量SA信息定时批量同步时,降低第一次SA信息批量同步的数量,针对第一个同步报文,备设备完成同步后返回其处理的时间戳,主设备根据所述返回的时间戳调整后续发送的需要同步的SA信息数量。
9.根据权利要求1所述的IPSec VPN高性能数据同步方法,其特征在于,所述定时时间阈值的设定方法包括:根据当前IPSec SA或者IKE SA的数量动态调整设置,设主设备和备设备之间希望T秒钟完成一次数据同步,一次最多处理P个IPSec SA,当前系统中有S个IPSec SA的值发生了改变,则定时时间阈值=T/(S/P)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610010477.7A CN105635295B (zh) | 2016-01-08 | 2016-01-08 | 一种IPSec VPN高性能数据同步方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610010477.7A CN105635295B (zh) | 2016-01-08 | 2016-01-08 | 一种IPSec VPN高性能数据同步方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105635295A CN105635295A (zh) | 2016-06-01 |
CN105635295B true CN105635295B (zh) | 2019-04-09 |
Family
ID=56049766
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610010477.7A Active CN105635295B (zh) | 2016-01-08 | 2016-01-08 | 一种IPSec VPN高性能数据同步方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105635295B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107332885A (zh) * | 2017-06-19 | 2017-11-07 | 杭州迪普科技股份有限公司 | 一种IPSec VPN实现双机热备的方法和装置 |
CN109688085B (zh) * | 2017-10-19 | 2021-11-02 | 中兴通讯股份有限公司 | 传输控制协议代理方法、存储介质及服务器 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1725186A (zh) * | 2004-07-23 | 2006-01-25 | 中兴通讯股份有限公司 | 一种多数据库数据同步方法 |
CN101221522A (zh) * | 2007-01-11 | 2008-07-16 | 中兴通讯股份有限公司 | 一种容灾备份系统中数据同步的方法 |
EP2521335A2 (en) * | 2011-05-02 | 2012-11-07 | Acme Packet Inc. | Synchronizing sequence numbers |
CN103166849A (zh) * | 2013-03-06 | 2013-06-19 | 杭州华三通信技术有限公司 | IPSec VPN互联组网路由收敛的方法及路由设备 |
-
2016
- 2016-01-08 CN CN201610010477.7A patent/CN105635295B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1725186A (zh) * | 2004-07-23 | 2006-01-25 | 中兴通讯股份有限公司 | 一种多数据库数据同步方法 |
CN101221522A (zh) * | 2007-01-11 | 2008-07-16 | 中兴通讯股份有限公司 | 一种容灾备份系统中数据同步的方法 |
EP2521335A2 (en) * | 2011-05-02 | 2012-11-07 | Acme Packet Inc. | Synchronizing sequence numbers |
CN103166849A (zh) * | 2013-03-06 | 2013-06-19 | 杭州华三通信技术有限公司 | IPSec VPN互联组网路由收敛的方法及路由设备 |
Also Published As
Publication number | Publication date |
---|---|
CN105635295A (zh) | 2016-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107483135B (zh) | 一种高同步的时间触发以太网装置及方法 | |
CN102685237B (zh) | 一种集群环境下请求会话保持与调度的方法 | |
CN101252498B (zh) | 接入点、接入控制器及其通信方法 | |
CN101557317B (zh) | 双机热备组网中实现会话主动备份的系统、设备及方法 | |
CA2717535A1 (en) | Data synchronization protocol | |
CN105635295B (zh) | 一种IPSec VPN高性能数据同步方法 | |
CN106549875A (zh) | 一种会话管理方法、装置及负载均衡器 | |
WO2008092781B1 (en) | Defining a stratum-1 configuration in a coordinated timing network | |
CN101378338A (zh) | 一种实现双向收发检测的方法和装置 | |
CN101917294A (zh) | 主备切换时更新防重放参数的方法和设备 | |
CN107634975A (zh) | 一种数据同步方法、设备和系统 | |
CN106599106A (zh) | 基于分布式文件系统的数据同步方法及装置 | |
CN110187972A (zh) | 一种基于api的软负载均衡实现方案 | |
CN112486707A (zh) | 基于Redis的消息异步消费方法及装置 | |
CN103108000A (zh) | 用于任务同步的方法和系统及系统中的主节点和工作节点 | |
CN110213359B (zh) | 一种基于d2d的车联网组网数据推送系统和方法 | |
CN105991371A (zh) | 一种故障检测方法及装置 | |
JP2006279375A (ja) | 冗長化パケット処理装置、及び、その冗長化方法 | |
CN110601786B (zh) | 一种时间同步方法、中继设备及装置 | |
CN106255960B (zh) | 冗余化系统以及通信单元 | |
JP2002366214A (ja) | 製品を作成し梱包するための生産プラント | |
CN102932190A (zh) | 一种设备单点故障的解决方法及装置 | |
CN105577761A (zh) | 一种基于双站点的交易处理系统和交易处理方法 | |
WO2004049669A3 (en) | Method and appliance for distributing data packets sent by a computer to a cluster system | |
CN111866133B (zh) | 一种多源大批量客户端数据同步方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: No. 333, Yunhua Road, Chengdu hi tech Zone, China (Sichuan) pilot Free Trade Zone, Chengdu, Sichuan 610041 Patentee after: China Electronics Technology Network Security Technology Co.,Ltd. Address before: No. 333, Yunhua Road, high tech Zone, Chengdu, Sichuan 610041 Patentee before: CHENGDU WESTONE INFORMATION INDUSTRY Inc. |
|
CP03 | Change of name, title or address |