一种基于ipsec隧道双链路的报文转发方法及系统的制作方法
【技术领域】
[0001]本发明涉及计算机网络技术领域,具体涉及一种基于IPSEC隧道双链路的报文转发方法及系统。
【背景技术】
[0002]因特网协议安全性(InternetProtocol Security, IPSEC)是基于 Internet 工程任务组的一种开放标准的安全框架,通过数据包筛选及受信任通讯的实施来防御网络攻击。当前,在通过IPSEC隧道转发报文的过程中,通常采用IPSEC遂道双链路进行数据报文的转发,且对双链路采用平均分配的方式进行数据流量的分配。
[0003]如图1所示,针对IPSEC隧道双链路的场景,防火墙A通常将数据报文分别通过第一链路和第二链路平均分配流量发送至防火墙B,即每条链路转发1/2的数据报文,这样当有链路阻塞时,就会出现一个链路数据丢失的现象,即带宽不够,另一个链路又有带宽剩余,致使未能高效利用网络带宽,无法避免网络拥堵高峰期的网络带宽动态变化而引起的报文异常丢失等问题,而且报文的转发效果和性能较差。
【发明内容】
[0004]本发明的目的提供一种基于IPSEC隧道双链路的报文转发方法及系统,能够更灵活地利用网络带宽和避免网络拥堵高峰期的网络带宽动态变化而引起的报文异常丢失等冋题。
[0005]根据本发明的一个方面,提供一种基于IPSEC隧道双链路的报文转发方法,所述方法包括:步骤SI,建立两条IPSEC隧道,形成对应第一 IPSEC隧道的第一 IKE协议层和第一链路,以及对应第二 IPSEC遂道的第二 IKE协议层和第二链路;步骤S2,同时向第一 IKE协议层和第二 IKE协议层发送DH)请求报文;步骤S3,根据第一 IKE协议层的DH)请求报文的回应报文的接收情况和第二 IKE协议层Dro请求报文的回应报文的接收情况,在第一链路和第二链路上转发数据报文。
[0006]其中,在本发明中,所述步骤S3进一步包括:步骤S31,当第一 IKE协议层和第二IKE协议层接收到所述回应报文时,记录第一 IKE协议层接收到回应Dro请求报文的回应报文的第一回应时长m,同时记录第二 IKE协议层接收到回应Dro请求报文的回应报文的第二回应时长η ;步骤S32,在第一链路和第二链路上按照η和m的比例转发报文。
[0007]其中,在本发明中,所述步骤S32进一步包括:当m-n大于q/2时,第一链路和第二链路上转发报文的流量比例为n: (m+x);当n-m大于q/2时,第一链路和第二链路上转发报文的流量比例为(n+x):m ;q为预设的DH)回应报文的等待时长,X为等待时长q的正比例影响因子。
[0008]其中,在本发明中,所述步骤S3进一步包括:步骤S33,当第一 IKE协议层未接收到所述回应报文时,将所对应的第一链路设置为关闭状态,将所有待转发的报文通过第二链路转发;步骤S34,当第二 IKE协议层未接收到所述回应报文时,将所对应的第二链路设置为关闭状态,将所有待转发的报文通过第一链路转发;步骤S35,当第一 IKE协议层和第二 IKE协议层均未接收到所述回应报文时,将所对应的第一链路和第二链路设置为转发关闭状态,并停止所有报文的转发。
[0009]其中,在本发明中,所述步骤S3进一步包括:步骤S36,当第一 IKE协议层和/或第二 IKE协议层重新接收到所述回应报文时,将所对应的第一链路和/或第二链路设置为转发开启状态。
[0010]根据本发明的另一方面,提供一种基于IPSEC隧道双链路的报文转发系统,所述系统包括:链路建立单元,用于建立两条IPSEC隧道,形成对应第一 IPSEC隧道的第一 IKE协议层和第一链路,以及对应第二 IPSEC遂道的第二 IKE协议层和第二链路;DH)报文发送和接收单元,与所述链路建立单元相连,用于同时向所述链路建立单元建立的第一 IKE协议层和第二 IKE协议层发送Dro请求报文,并接收所述请求报文的回应报文;报文转发单元,与所述Dro报文发送和接收单元相连,用于根据第一 IKE协议层的Dro请求报文的回应报文的接收情况和第二 IKE协议层Dro请求报文的回应报文的接收情况,在第一链路和第二链路上转发数据报文。
[0011]其中,在本发明中,所述报文转发单元包括:时长记录子单元,用于当第一 IKE协议层和第二 IKE协议层接收到所述回应报文时,记录第一 IKE协议层接收到回应Dro请求报文的回应报文的第一回应时长m,同时记录第二 IKE协议层接收到回应Dro请求报文的回应报文的第二回应时长η ;报文转发子单元,用于在第一链路和第二链路上按照η和m的比例转发报文。
[0012]其中,在本发明中,所述报文转发子单元进一步用于,当m-n大于q/2时,在第一链路和第二链路上转发报文的流量比例为n: (m+x);当n-m大于q/2时,第一链路和第二链路上转发报文的流量比例为(n+x):m ;q为预设的DPD回应报文的等待时长,x为等待时长q的正比例影响因子。
[0013]其中,在本发明中,所述报文转发单元包括:链路关闭和转换子单元,所述链路关闭和转换子单元用于,当第一 IKE协议层未接收到所述回应报文时,将所对应的第一链路设置为关闭状态,将所有待转发的报文通过第二链路转发;当第二 IKE协议层未接收到所述回应报文时,将所对应的第二链路设置为关闭状态,将所有待转发的报文通过第一链路转发;当第一 IKE协议层和第二 IKE协议层均未接收到所述回应报文时,将所对应的第一链路和第二链路设置为转发关闭状态,并停止所有报文的转发。
[0014]其中,在本发明中,所述报文转发单元还包括:链路开启子单元,所述链路开启子单元用于当第一 IKE协议层和/或第二 IKE协议层重新接收到所述回应报文时,将所对应的第一链路和/或第二链路设置为转发开启状态。
[0015]根据本发明的一种基于IPSEC隧道双链路的报文转发方法及系统,通过两链路中DPD报文回应延时的比值来确定两链路转发报文的数量比值,能够更灵活地利用网络带宽和避免网络拥堵高峰期的网络带宽动态变化而引起的报文异常丢失等问题,提高了报文的转发效果和性能。
【附图说明】
[0016]图1显示了现有技术的基于IPSEC隧道双链路的报文转发的原理图;
[0017]图2显示了本发明的基于IPSEC隧道双链路的报文转发的原理图;
[0018]图3显示了本发明优选实施例的基于IPSEC隧道双链路的报文转发方法的流程图;
[0019]图4显示了图3中步骤S3的流程图;
[0020]图5显示了本发明优选实施例的基于IPSEC隧道双链路的报文转发系统的结构示意图;
[0021]图6显示了图5中报文转发单元的结构示意图。
【具体实施方式】
[0022]为使本发明的目的、技术方案和优点更加清楚明了,下面结合【具体实施方式】并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
[0023]图2显示了本发明的基于IPSEC隧道双链路的报文转发的原理图。
[0024]如图2所示,与现有技术不同的是,本发明的每条链路按照可调的比例转发数据报文,以充分发挥每条链路的报文转发效率。具体来说,本发明在防火墙A上和防火墙B上分别建立两条IPSEC隧道,每条隧道分别生成一条对应的链路,形成第一链路和第二链路,并使用独立的Dro报文对第一链路和第二链路进行状态监测。这样可通过两链路中Dro报文回应延时的比值来确定两链路转发报文的数量比值,而不是一成不变地将报文平均到每一链路上转发,进而能够更灵活地利用网络带宽和避免网络拥堵高峰期的网络带宽动态变化而引起的报文异常丢失等问题,提高了报文的转发效果和性能。
[0025]图3显示了本发明优选实施例的基于IPSEC隧道双链路的报文转发方法的流程图。
[0026]如图3所示,本发明优选实施例的基于IPSEC隧道双链路的报文转发方法包括:
[0027]步骤SI,建立两条IPSEC隧道,形成对应第一 IPSEC隧道的第一 IKE协议层和第一链路,以及对应第二 IPSEC遂道的第二 IKE协议层和第二链路。
[0028]每建立一