用于网络设备的IPsec隧道的控制方法和系统的制作方法

文档序号:7810780阅读:269来源:国知局
用于网络设备的IPsec隧道的控制方法和系统的制作方法
【专利摘要】一种用于网络设备的IPsec隧道的控制方法和系统。方法包括如下步骤:建立网络设备间的IPsec隧道,协商生成IPsec隧道的一级隧道IKE?SA和二级隧道IPsec?SA;在检测到一级隧道IKE?SA的超时时间或者二级隧道IPsec?SA的超时时间达到预设时间后,发送协商报文;如果没有收到回应报文,则判断协商报文的出物理接口的报文处理速度是否等于或大于预设上限;如果报文处理速度等于或大于预设上限,则进一步判断IPsec隧道是否可以对报文正常加密和解密;如果是,则判断IPsec隧道可使用,等待预设时长后,重新发送协商报文。本发明可以解决IPsec隧道的震荡问题。
【专利说明】用于网络设备的IPsec隧道的控制方法和系统

【技术领域】
[0001] 本发明涉及网络通信【技术领域】,特别涉及一种用于网络设备的IPsec隧道的控制 方法和系统。

【背景技术】
[0002] 多核网络设备对报文进行处理时,首先处理转发报文,其次处理主机报文,这样可 以保证设备的吞吐量,增加性能。但是对于其他功能来说,主机报文如果接收失败可以重 发,不会有严重影响,但对于IPsec (Internet Protocol Security,Internet协议安全性) 隧道而言,协商报文即是主机报文,此时如果协商报文接收失败就会导致IPsec隧道断开。 由于协商报文失败的原因可能是由多方面造成,并且这种原因也是会随着网络状态的改变 而消失的。如果仅仅因为协商报文接收失败就断开IPsec隧道,从而会对用户来说会出现 隧道震荡的情况,而且草率的断开IPsec隧道,而没有根据当前网络状态的变化适时的恢 复IPsec隧道,会影响IPsec隧道的正常功能。


【发明内容】

[0003] 本发明鉴于上述情况而作出,其目的是提供一种用于网络设备的IPsec隧道的控 制方法,该方法可以解决IPsec隧道的震荡问题。
[0004] 为实现上述目的,本发明提供一种用于网络设备的IPsec隧道的控制方法,包括 如下步骤:
[0005] 建立网络设备间的IPsec隧道,协商生成IPsec隧道的一级隧道IKE SA和二级隧 道 IPsec SA ;
[0006] 在检测到所述一级隧道IKE SA的超时时间或者二级隧道IPsec SA的超时时间达 到预设时间后,发送协商报文;
[0007] 如果没有收到回应报文,则判断所述协商报文的出物理接口的报文处理速度是否 等于或大于预设上限;
[0008] 如果报文处理速度等于或大于预设上限,则进一步判断所述IPsec隧道是否可以 对报文正常加密和解密;
[0009] 如果是,则判断所述IPsec隧道可使用,等待预设时长后,重新发送所述协商报 文。
[0010] 根据本发明的一个方面,如果所述协商报文的出物理接口的报文处理速度小于预 设上限,则断开所述IPsec隧道。
[0011] 根据本发明的另一个方面,在检测到所述IPsec隧道设置有入加密报文时,判断 所述IPsec隧道可以对报文正常加密。
[0012] 根据本发明的又一方面,如果判断所述IPsec隧道不可以对报文正常加密或解 密,则断开所述IPsec隧道。
[0013] 根据本发明的再一方面,所述预设时长由用户根据网络状态进行配置。
[0014] 本发明提供的用于网络设备的IPsec隧道的控制方法,在发现协商失败后,不立 即进行IPsec隧道删除,而是综合考虑协商报文的出物理接口的速度和IPsec隧道是否可 以对报文正常加密和解密,选择断开IPsec隧道或者延时一定时间,错过流量高峰再进行 重新协商,从而解决IPsec隧道的震荡问题。
[0015] 本发明的又一个目的是提供一种用于网络设备的IPsec隧道的控制系统,该系统 可以解决IPsec隧道的震荡问题。
[0016] 为实现上述目的,本发明提供一种用于网络设备的IPsec隧道的控制系统,包括: IPsec隧道设置模块,用于建立网络设备间的IPsec隧道并协商生成IPsec隧道的一级隧道 IKE SA和二级隧道IPsec SA;超时时间检测模块,用于检测所述一级隧道IKE SA的超时时 间或者二级隧道IPsec SA的超时时间是否达到预设时间;通信模块,所述通信模块连接至 所述超时时间检测模块,用于在所述超时时间检测模块检测到所述一级隧道IKE SA的超时 时间或者二级隧道IPsec SA的超时时间达到预设时间后,发送协商报文;判断模块,所述 判断模块连接至所述通信模块和所述IPsec隧道设置模块,用于在所述通信模块没有收到 回应报文后,判断所述协商报文的出物理接口的报文处理速度是否等于或大于预设上限, 如果是则进一步判断所述IPsec隧道是否可以对报文正常加密和解密,如果是则判断所述 IPsec隧道可使用,等待预设时长后,由所述通信模块重新发送所述协商报文。
[0017] 根据本发明的一个方面,如果所述判断模块判断协商报文的出物理接口的报文处 理速度小于预设上限,则所述IPsec隧道设置模块断开所述IPsec隧道。
[0018] 根据本发明的又一方面,如果所述判断模块判断协商报文的出物理接口的报文处 理速度小于预设上限,则所述IPsec隧道设置模块断开所述IPsec隧道。
[0019] 根据本发明的再一方面,如果所述判断模块判断所述IPsec隧道不可以对报文正 常加密或解密,则所述IPsec隧道设置模块断开所述IPsec隧道。
[0020] 根据本发明的又一方面,所述预设时长由用户根据网络状态进行配置。
[0021] 本发明提供的用于网络设备的IPsec隧道的控制系统,在发现协商失败后,不立 即进行IPsec隧道删除,而是综合考虑协商报文的出物理接口的速度和IPsec隧道是否可 以对报文正常加密和解密,选择断开IPsec隧道或者延时一定时间,错过流量高峰再进行 重新协商,从而解决IPsec隧道的震荡问题。

【专利附图】

【附图说明】
[0022] 图1是根据本发明第一实施方式的用于网络设备的IPsec隧道的控制方法的流程 图;
[0023] 图2是根据本发明第二实施方式的用于网络设备的IPsec隧道的控制方法的流程 图;
[0024] 图3示意性地示出网络设备间的IPsec隧道的示意图;
[0025] 图4是根据本发明实施方式的用于网络设备的IPsec隧道的控制系统的结构图。

【具体实施方式】
[0026] 为使本发明的目的、技术方案和优点更加清楚明了,下面结合【具体实施方式】并参 照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发 明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本 发明的概念。
[0027] 由于多核网络设备处理报文的优先级为,首先处理转发报文,其次处理主机报文, 从而可以保证设备的吞吐,增加性能。但是对于IPsec隧道,协商报文即是主机报文,此时 如果丢弃协商报文就会导致IPsec隧道断开,对用户来说就会出现隧道震荡的情况。因此, 针对多核网络设备,本发明提供一种用于网络设备的IPsec隧道的控制方法和系统,可以 防止由于优先处理转发报文引起的网卡忙,即不能及时处理主机报文或者协商报文,导致 协商报文件丢失,进而导致的IPsec隧道重协商失败,删除了 IPsec隧道,无法保证IPsec 隧道的正常功能。
[0028] 图1是根据本发明第一实施方式的用于网络设备的IPsec隧道的控制方法的流程 图。
[0029] 如图1所示,本发明第一实施方式的用于网络设备的IPsec隧道的控制方法,包括 如下步骤:
[0030] 步骤S1,建立网络设备间的IPsec隧道,协商生成IPsec隧道的一级隧道IKE SA 和二级隧道IPsec SA。
[0031] 具体来说,在网络设备之间建立IPsec隧道。参考图3,以防火墙设备Fw a和防火 墙设备Fw b为例,防火墙设备Fw a和防火墙设备Fw b建立IPsec隧道。在IPsec隧道的 建立过程中协商生成一级隧道IKE SA和二级隧道IPsec SA。其中,一级隧道IKE SA用于 保护IKE协议报文。二级隧道IPsec SA用于数据报文加密。
[0032] 步骤S2,在检测到一级隧道IKE SA的超时时间或者二级隧道IPsec SA的超时时 间达到预设时间后,发送协商报文。
[0033] 检测一级隧道IKE SA或二级隧道IPsec SA是否发生超时,且超时时间是否达到 预设时间,如果是则进行协商报文发送,开始IKE SA和IPsec SA的更新协商,即协商生成 新的 IKE SA 和 IPsec SA。
[0034] 步骤S3,如果没有收到回应报文,则判断协商报文的出物理接口的报文处理速度 是否等于或大于预设上限。
[0035] 在步骤S2中发送协商报文之后,如果收到回应报文,则判断协商成功,生成新的 IKE SA和IPsec SA。如果没有收到回应报文,则判断协商失败,此时不立即进行IPsec隧 道删除,而是查看该协商报文的出物理接口的报文处理速度。具体地,判断协商报文的出物 理接口的报文处理速度是否等于或大于预设上限。由于一段时间的出物理接口的流量可以 利用报文处理速度和单位时长计算获取,因此通过判断协商报文的出物理接口的报文处理 速度是否等于或大于预设上限,可以达到判断单位时长内出物理接口的流量是否超过上限 的目的。
[0036] 步骤S4,如果报文处理速度等于或大于预设上限则进一步判断IPsec隧道是否可 以对报文正常加密和解密。
[0037] 如果协商报文的出物理接口的报文处理速度等于或大于预设上限,则查看IPsec 隧道是否可以对报文正常加密。
[0038] 在本发明的实施方式中,通过判断IPsec隧道是否有入加密报文,来判断报文是 否可以被正常的加密。其中,如果IPsec隧道有入加密报文,则判断IPsec隧道可以对报文 正常加密,反之判断IPsec隧道不能对报文正常加密。
[0039] 并且,在IPsec隧道可以对报文进行正常加密的基础上,进一步判断报文是否 可以被正常解密。具体地,本步骤中可以通过查找解密报文的三元组,其中,三元组包括 SPI (Security Parameter Index,安全参数索引)、加解密类型和目的地址。如果通过SPI、 加解密类型HE目的地址这三个元素可以找到对应的解密SA(Security Association,安全 关联),那么就可以认定为报文能够正常解密。
[0040] 步骤S5,如果是,则判断IPsec隧道可使用,等待预设时长后,重新发送协商报文。
[0041] 如果协商报文的出物理接口的报文处理速度等于或大于预设上限,并且IPsec隧 道可以对报文进行正常加密和解密,则认为隧道是仍然可以继续使用的,只是由于多核设 备自身的原因在报文转发过程中导致协商报文丢失,则使用当前IPsec隧道,等待预设时 长后(如:等流量高峰期过了或等待10分钟),再次发送协商报文,进行协商,可以正常协 商IKE SA和IPsec SA时,再使用新的IPsec隧道,那么就将IKE SA和IPsec SA的更新推 迟预设时长再进行更新,由此可以解决IPsec隧道的震荡问题。
[0042] 在本发明的实施方式中,预设时长由用户根据网络状态进行配置。优选的,预设时 长为一个周期,例如10分钟。
[0043] 图2是根据本发明第二实施方式的用于网络设备的IPsec隧道的控制方法的流程 图。
[0044] 在本发明的一个实施方式中,在步骤S3之后,还包括如下步骤:如果协商报文的 出物理接口的报文处理速度小于预设上限,则执行步骤S6,断开IPsec隧道。需要说明的 是,在步骤中的断开IPsec隧道是在满足一定条件下的主动实施的断开,而并非现有技术 中由于协商失败导致的被动断开。具体来说,由于此时报文的出物理接口的报文处理速度 小于预设上限,表明此时网络发生拥堵。在该时机下断开IPsec隧道,不对IPsec隧道内的 报文进行加密和解密,即对IPsec隧道的报文暂时断流。这种方式可以从根本上解决IPsec 隧道震荡的问题,因为不建立IPsec隧道,切断了 IPsec隧道震荡发生的源头。从另一个方 面可以理解为,通过对IPsec隧道的暂时屏蔽达到避免IPsec隧道震荡,同时保证背景流有 限通过。
[0045] 并且,IPsec隧道只是在一定条件下的暂时断开,当报文的出物理接口的报文处理 速度等于或大于预设上限,即网络拥堵状况解除,端口的流量带宽够用时,重新建立IPsec 隧道,恢复IPsec隧道内的报文的加密和解密,从而尽量做到不影响IPsec隧道的正常功 能。
[0046] 在步骤S4之后,还包括如下步骤:如果判断IPsec隧道没有入加密报文或者解密 失败,则执行步骤S6,断开IPsec隧道。
[0047] 根据本发明实施方式的用于网络设备的IPsec隧道的控制方法,在发现协商失败 后,不立即进行IPsec隧道删除,而是综合考虑协商报文的出物理接口的报文处理速度和 IPsec隧道是否可以对报文正常加密和解密,选择断开IPsec隧道或者延时预设时长,错过 流量高峰再进行重新协商,从而解决IPsec隧道的震荡问题。
[0048] 图4是根据本发明实施方式的用于网络设备的IPsec隧道的控制系统的结构图。
[0049] 如图4所示,本发明实施方式的用于网络设备的IPsec隧道的控制系统包括: IPsec隧道设置模块1、超时时间检测模块2、通信模块3和判断模块4。
[0050] 具体地,IPsec隧道设置模块1用于建立网络设备间的IPsec隧道并协商生成 IPsec隧道的一级隧道IKE SA和二级隧道IPsec SA。
[0051] 具体来说,IPsec隧道设置模块1在网络设备之间建立IPsec隧道。在IPsec隧 道的建立过程中协商生成一级隧道IKE SA和二级隧道IPsec SA。其中,一级隧道IKE SA 用于保护IKE协议报文。二级隧道IPsec SA用于数据报文加密。
[0052] 超时时间检测模块2用于检测一级隧道IKE SA的超时时间或者二级隧道IPsec SA的超时时间是否达到预设时间。
[0053] 通信模块3连接至超时时间检测模块2,用于在超时时间检测模块2检测到一级隧 道IKE SA的超时时间或者二级隧道IPsec SA的超时时间达到预设时间后,发送协商报文, 开始IKE SA和IPsec SA的更新协商,即协商生成新的IKE SA和IPsec SA。
[0054] 判断模块4连接至通信模块3,用于在通信模块3没有收到回应报文后,判断协商 失败,此时不立即进行IPsec隧道删除。判断模块4进一步判断协商报文的出物理接口的报 文处理速度是否等于或大于预设上限。由于一段时间的出物理接口的流量可以利用报文处 理速度和单位时长计算获取,因此通过判断协商报文的出物理接口的报文处理速度是否等 于或大于预设上限,可以达到判断单位时长内出物理接口的流量是否超过上限的目的。如 果是则判断模块4进一步判断IPsec隧道是否可以对报文正常加密和解密,如果是则判断 IPsec隧道可使用,等待预设时长后,由通信模块3重新发送协商报文。
[0055] 需要说明的是,如果通信模块3收到回应报文,则可以认为协商成功,生成新的 IKE SA 和 IPsec SA。
[0056] 在本发明的实施方式中,判断模块4通过判断IPsec隧道是否有入加密报文,来判 断是否报文可以被正常的加密。其中,如果IPsec隧道有入加密报文,则判断IPsec隧道可 以对报文正常加密,反之判断IPsec隧道不能对报文正常加密。
[0057] 并且,在IPsec隧道可以对报文进行正常加密的基础上,判断模块4进一步判断报 文是否可以被正常解密。
[0058] 如果协商报文的出物理接口的报文处理速度等于或大于预设上限,并且IPsec 隧道可以对报文进行正常加密和解密,则判断模块4认为隧道是仍然可以继续使用的,只 是由于多核设备自身的原因导致协议报文丢失,则使用当前IPsec隧道,等待预设时长后 (如:等流量高峰期过了或等待10分钟),再次发送协商报文,进行协商,可以正常协商IKE SA和IPsec SA时,再使用新的IPsec隧道,那么就将IKE SA和IPsec SA的更新推迟预设 时长再进行更新,由此可以解决IPsec隧道的震荡问题。
[0059] 在本发明的实施方式中,预设时长由用户根据网络状态进行配置。优选的,预设时 长为一个周期,例如10分钟。
[0060] 在本发明的一个实施方式中,如果判断模块4判断协商报文的出物理接口的报文 处理速度小于预设上限,则IPsec隧道设置模块1断开IPsec隧道。需要说明的是,IPsec 隧道设置模块1断开IPsec隧道是在满足一定条件下的主动实施的断开,而并非现有技术 中由于协商失败导致的被动断开。具体来说,由于此时报文的出物理接口的报文处理速度 小于预设上限,表明此时网络发生拥堵。在该时机下断开IPsec隧道,不对IPsec隧道内的 报文进行加密和解密,即对IPsec隧道的报文暂时断流。这种对IPsec隧道的暂时屏蔽措 施在避免隧道震荡的同时,保证背景流有限通过。
[0061] 并且,IPsec隧道只是在一定条件下的暂时断开,当报文的出物理接口的报文处理 速度等于或大于预设上限,即网络拥堵状况解除,端口的流量带宽够用时,重新建立IPsec 隧道,恢复IPsec隧道内的报文的加密和解密,从而尽量做到不影响IPsec隧道的正常功 能。
[0062] 判断模块4在检测到IPsec隧道设置有入加密报文时,判断IPsec隧道可以对报 文正常加密。如果判断模块4判断IPsec隧道没有入加密报文或者解密失败,则IPsec隧 道设置模块1断开IPsec隧道。
[0063] 根据本发明实施方式的用于网络设备的IPsec隧道的控制系统,在发现协商失败 后,不立即进行IPsec隧道删除,而是综合考虑协商报文的出物理接口的报文处理速度和 IPsec隧道是否可以对报文正常加密和解密,选择断开IPsec隧道或者延时预设时长,错过 流量高峰再进行重新协商,从而解决IPsec隧道的震荡问题。
[〇〇64] 应当理解的是,本发明的上述【具体实施方式】仅仅用于示例性说明或解释本发明的 原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何 修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨 在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修 改例。
【权利要求】
1. 一种用于网络设备的IPsec隧道的控制方法,包括如下步骤: 建立网络设备间的IPsec隧道,协商生成IPsec隧道的一级隧道IKE SA和二级隧道 IPsec SA ; 在检测到所述一级隧道IKE SA的超时时间或者二级隧道IPsec SA的超时时间达到预 设时间后,发送协商报文; 如果没有收到回应报文,则判断所述协商报文的出物理接口的报文处理速度是否等于 或大于预设上限; 如果报文处理速度等于或大于预设上限,则进一步判断所述IPsec隧道是否可以对报 文正常加密和解密; 如果是,则判断所述IPsec隧道可使用,等待预设时长后,重新发送所述协商报文。
2. 根据权利要求1所述的用于网络设备的IPsec隧道的控制方法,其中,如果所述协商 报文的出物理接口的报文处理速度小于预设上限,则断开所述IPsec隧道。
3. 根据权利要求1所述的用于网络设备的IPsec隧道的控制方法,其中,在检测到所述 IPsec隧道设置有入加密报文时,判断所述IPsec隧道可以对报文正常加密。
4. 根据权利要求1所述的用于网络设备的IPsec隧道的控制方法,其中,如果判断所述 IPsec隧道不可以对报文正常加密或解密,则断开所述IPsec隧道。
5. 根据权利要求1所述的用于网络设备的IPsec隧道的控制方法,其中,所述预设时长 由用户根据网络状态进行配置。
6. -种用于网络设备的IPsec隧道的控制系统,包括: IPsec隧道设置模块,用于建立网络设备间的IPsec隧道并协商生成IPsec隧道的一级 隧道IKE SA和二级隧道IPsec SA ; 超时时间检测模块,用于检测所述一级隧道IKE SA的超时时间或者二级隧道IPsec SA 的超时时间是否达到预设时间; 通信模块,所述通信模块连接至所述超时时间检测模块,用于在所述超时时间检测模 块检测到所述一级隧道IKE SA的超时时间或者二级隧道IPsec SA的超时时间达到预设时 间后,发送协商报文;以及 判断模块,所述判断模块连接至所述通信模块和所述IPsec隧道设置模块,用于在所 述通信模块没有收到回应报文后,判断所述协商报文的出物理接口的报文处理速度是否等 于或大于预设上限,如果是则进一步判断所述IPsec隧道是否可以对报文正常加密和解 密,如果是则判断所述IPsec隧道可使用,等待预设时长后,由所述通信模块重新发送所述 协商报文。
7. 根据权利要求6所述的设备的IPsec隧道的控制系统,其中,如果所述判断模块判断 协商报文的出物理接口的报文处理速度小于预设上限,则所述IPsec隧道设置模块断开所 述IPsec隧道。
8. 根据权利要求6所述的用于网络设备的IPsec隧道的控制系统,其中,所述判断模块 在检测到所述IPsec隧道设置有入加密报文时,判断所述IPsec隧道可以对报文正常加密。
9. 根据权利要求6所述的用于网络设备的IPsec隧道的控制系统,其中,如果所述判断 模块判断所述IPsec隧道不可以对报文正常加密或解密,则所述IPsec隧道设置模块断开 所述IPsec隧道。
10.根据权利要求6所述的用于网络设备的IPsec隧道的控制系统,其中,所述预设时 长由用户根据网络状态进行配置。
【文档编号】H04L12/46GK104104573SQ201410382421
【公开日】2014年10月15日 申请日期:2014年8月6日 优先权日:2014年8月6日
【发明者】陈海滨, 于立洋, 章敏, 王禹, 王智民 申请人:汉柏科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1