本申请要求于2011年12月31日提交中国专利局、申请号为201110459548.9、发明名称为“一种因特网协议安全隧道切换方法、装置及设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
发明内容
有鉴于此,本发明的目的在于提供一种因特网协议安全隧道切换方法、装置及传输系统,以解决现有技术中因特网协议安全隧道在切换过程中造成的断流的问题,具体实施方案如下:
一种因特网协议安全隧道切换方法,包括:
建立第一因特网协议安全IPsec隧道,所述第一IPsec隧道用第一隧道标识进行标识,所述第一隧道标识通过第一IPsec隧道的协商报文发送给接收端,以使接收端识别第一IPsec隧道;
检测传输数据的第一IPsec隧道是否可用;
当检测到所述第一IPsec隧道不可用时,在拆除所述第一IPsec隧道之前,协商建立第二IPsec隧道,并将传输数据切换到所述第二IPsec隧道,其中,所述第二IPsec隧道用第二隧道标识进行标识,所述第二隧道标识通过第二IPsec隧道的协商报文发送给接收端,以使接收端识别第二IPsec隧道。
一种因特网协议安全隧道切换装置,包括:
隧道建立模块,用于建立第一因特网协议安全IPsec隧道,所述第一IPsec隧道用第一隧道标识进行标识,所述第一隧道标识通过第一IPsec隧道的协商报文发送给接收端,以使接收端识别第一IPsec隧道;
隧道检测模块,检测传输数据的第一IPsec隧道是否可用;
隧道切换模块,当所述隧道检测模块检测到所述第一IPsec隧道不可用时,在拆除所述第一IPsec隧道之前,协商建立第二IPsec隧道,并将传输数据切换到所述第二IPsec隧道,其中,所述第二IPsec隧道用第二隧道标识进行标识,所述第二隧道标识通过第二IPsec隧道的协商报文发送给接收端,以使接收端识别第二IPsec隧道。
通过本发明实施例提供的方法,建立第一因特网协议安全IPsec隧道,所述第一IPsec隧道用第一隧道标识进行标识,检测传输数据的第一IPsec隧道是否可用,当检测到所述第一IPsec隧道不可用时,在拆除所述第一IPsec隧道之前,协商建立第二IPsec隧道,并将传输数据切换到所述第二IPsec隧道,通过本发明实施例的方法,不需要等待第一IPsec隧道拆除后,再建立第二IPsec隧道,从而使数据流切换迅速,减少了故障间隔时间。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种因特网协议安全隧道切换方法,用于解决现有技术中,单机设备在建立因特网协议安全隧道时,出现的传输业务中断、传输延时的问题。
本发明实施例一提供了一种因特网协议安全隧道切换方法,其工作流程示意图如图3所示,包括以下步骤:
步骤301、建立第一因特网协议安全IPsec隧道,所述第一IPsec隧道用第一隧道标识进行标识;
其中,所述第一隧道标识通过第一IPsec隧道的协商报文发送给接收端,以使接收端识别第一IPsec隧道;
步骤302、检测传输数据的第一IPsec隧道是否可用;
步骤303、当检测到所述第一IPsec隧道不可用时,在拆除所述第一IPsec隧道之前,协商建立第二IPsec隧道,并将传输数据切换到所述第二IPsec隧道,所述第二IPsec隧道用第二隧道标识进行标识;
其中,所述第二隧道标识通过第二IPsec隧道的协商报文发送给接收端,以使接收端识别第二IPsec隧道。
通过本发明实施例提供的方法,建立第一因特网协议安全IPsec隧道,所述第一IPsec隧道用第一隧道标识进行标识,检测传输数据的第一IPsec隧道是否可用,当检测到所述第一IPsec隧道不可用时,在拆除所述第一IPsec隧道之前,协商建立第二IPsec隧道,并将传输数据切换到所述第二IPsec隧道,通过本发明实施例的方法,不需要等待第一IPsec隧道拆除后,再建立第二IPsec隧道,从而使数据流切换迅速,减少了故障间隔时间。
在现有技术中,由于两条传输数据的IPsec隧道的五元组相同,因而不能同时建立。当一条IPsec隧道出现故障不可用时,必须将其拆除后才能重建另外一条隧道。而通过本发明实施例中提供的方法,在第二IPsec隧道已经协商建立好之后,再拆除所述第一IPsec隧道,使得数据在传输过程中,不再需要经过隧道拆除、重建的过程,使数据流几乎在不间断的情况下就能完成切换。
上述步骤301和步骤303中,为了使得接收端获知隧道标识,以识别第一IPsec隧道和第二IPsec隧道,需要通过协商报文将隧道标识发送给接收端,接收端通过隧道标识区别不同隧道,使得可以在第一IPsec隧道未拆除之前,完成第二IPsec隧道的协商建立过程,而现有技术中,由于两条传输数据的IPsec隧道的五元组相同,在第一IPsec隧道未拆除之前,无法执行第二IPsec隧道的协商建立过程。
其中,当所述协商报文为IKEv1协议报文时,隧道标识承载于隧道协商报文发起者认证数据IDci(ID initiator)和响应者认证数据IDcr(ID responser)字段中;当所述协商报文为IKEv2协议报文时,隧道标识承载于隧道协商报文流量选择符TS(Traffic Selector)字段中。当然,也可以采用其他的方式,承载隧道标识,本发明不做具体限定。
步骤302中,检测传输数据的第一IPsec隧道是否可用,可以包括:
当所述第一IPsec隧道流量小于预设阈值时,发送探测报文,以确定所述第一IPsec隧道不可用。当然,也可以采用其他的检测第一IPsec隧道是否可用方式,本发明不做具体限定。
上述步骤303中,当所述第一IPsec隧道不可用时,说明所述第一IPsec隧道对应的物理链路发生故障,所述故障可能是路由器被损坏、交换机发生故障或者配置被更改等原因所造成的,在拆除所述第一IPsec隧道后,可以对损坏的部件或更改的配置等进行维护,从而修护好所述的物理链路。
上述实施例中,当所述第一IPsec隧道或所述第二IPsec隧道传输数据时,根据隧道标识查找对应的IPsec隧道,通过对应的IPsec隧道发送数据。IPsec隧道协商建立好之后,隧道发送端及隧道接收端记录并保存与不同IPsec隧道对应的隧道标识,在传输数据时,在会话发起端根据隧道标识查找对应的IPsec隧道,对数据进行封装,并通过对应的IPsec隧道发送数据。这里还可以验证隧道的可用性,才能通过隧道标识查找对应的IPsec隧道,对于新建立的IPsec隧道和检测可用的IPsec隧道可以认为是可用的,标记相应的隧道标识为可用状态,发送数据时,验证隧道标识是否为可用状态,当隧道标识为可用状态时,查找对应的IPsec隧道,对数据进行封装,并通过对应的IPsec隧道发送数据。
本发明实施例二提供了一种因特网协议安全隧道切换方法,其工作流程示意图如图4所示,包括以下步骤:
步骤401、根据不同接口类型,为所述第一IPsec隧道和所述第二IPsec隧道分配不同隧道标识;
步骤401中,选择两个以上的接口,便于建立相对应的IPsec隧道,以完成隧道的切换,在实际应用情况下,一般选择单台计算机内的两个接口,并分别为这两个接口分配不同的标识即可;其中,所述接口的类型包括:以太接口、3G接口、wifi接口、令牌环网接口、FDDI网接口、ATM网接口或无线局域网接口,所述分配的不同的标识包括隧道标识,本发明实施例中适用于上述各接口类型,根据不同需求,在实际应用情况下,可以选择多种接口类型,以实现IPsec隧道的建立,其中,在为接口分配隧道标识时,根据传输数据的稳定性,为不同接口分配相对应的隧道标识,有助于先选择较为稳定的接口传输数据,使得数据传输的过程更为稳定,例如,当现有接口为3G接口和以太接口时,由于以太链路在网络中比较稳定,所以以太接口的优先级要高于3G接口。
步骤402、403和404分别与实施例一中的步骤301、302和303对应,这里不再赘述。
通过本发明实施例提供的方法,建立第一因特网协议安全IPsec隧道,所述第一IPsec隧道用第一隧道标识进行标识,检测传输数据的第一IPsec隧道是否可用,当检测到所述第一IPsec隧道不可用时,在拆除所述第一IPsec隧道之前,协商建立第二IPsec隧道,并将传输数据切换到所述第二IPsec隧道,通过本发明实施例的方法,不需要等待第一IPsec隧道拆除后,再建立第二IPsec隧道,从而使数据流切换迅速,减少了故障间隔时间。
本发明实施例还公开了一种因特网协议安全隧道切换装置,如图5所示,包括:
隧道建立模块510,用于建立第一因特网协议安全IPsec隧道,所述第一IPsec隧道用第一隧道标识进行标识,所述第一隧道标识通过第一IPsec隧道的协商报文发送给接收端,以使接收端识别第一IPsec隧道;
隧道检测模块520,用于检测传输数据的第一IPsec隧道是否可用;
隧道切换模块530,用于当所述隧道检测模块520检测到所述第一IPsec隧道不可用时,在拆除所述第一IPsec隧道之前,协商建立第二IPsec隧道,并将传输数据切换到所述第二IPsec隧道,所述第二IPsec隧道用第二隧道标识进行标识,所述第二隧道标识通过第二IPsec隧道的协商报文发送给接收端,以使接收端识别第二IPsec隧道。
所述因特网协议安全隧道切换装置,还可以包括:
标识分配模块540,用于根据不同接口类型,为所述第一IPsec隧道和所述第二IPsec隧道分配不同隧道标识。
所述因特网协议安全隧道切换装置,还可以包括:
发送模块550,用于当所述第一IPsec隧道或所述第二IPsec隧道传输数据时,根据隧道标识查找对应的IPsec隧道,通过对应的IPsec隧道发送数据。
所述隧道检测模块520,包括:
流量检测单元521,用于检测所述第一IPsec隧道流量是否小于预设阈值;
发送单元522,用于当所述流量检测单元检测出所述第一IPsec隧道流量小于预设阈值时,发送探测报文,以确定所述第一IPsec隧道不可用。
本发明实施例还公开了一种因特网协议安全隧道传输系统,包括:发送端和接收端,所述发送端和接收端之间通过IPsec隧道传输数据,
其中,发送端用于建立与接收端第一IPsec隧道,所述第一IPsec隧道用第一隧道标识进行标识,所述第一隧道标识通过第一IPsec隧道的协商报文,被发送给接收端,以使接收端识别第一IPsec隧道;发送端检测传输数据的第一IPsec隧道是否可用;当检测到所述第一IPsec隧道不可用时,在拆除所述第一IPsec隧道之前,与接收端协商建立第二IPsec隧道,并将传输数据切换到所述第二IPsec隧道,所述第二IPsec隧道用第二隧道标识进行标识,所述第二隧道标识通过第二IPsec隧道的协商报文发送给接收端,以使接收端识别第二IPsec隧道;
接收端用于与发送端协商建立IPsec隧道,并通过隧道协商报文,接收并保存隧道标识,接收来自发送端的数据。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上对本发明进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。