一种数据传输的方法及装置与流程

文档序号:16246048发布日期:2018-12-11 23:35阅读:116来源:国知局
一种数据传输的方法及装置与流程
本申请涉及通信
技术领域
,特别是涉及一种数据传输的方法及装置。
背景技术
互联网协议安全(英文:internetprotocolsecurity,简称:ipsec)协议是一种国际互联网工程任务组(英文:theinternetengineeringtaskforce,简称ietf)制定的三层隧道加密协议,它为互联网上传输的数据提供了高质量的、基于密码学的安全保证,是一种实现三层虚拟专用网络(英文:virtualprivatenetwork,简称:vpn)的安全技术。人们可以通过在通信双方的安全网关(即ipsec对等体)之间建立ipsec隧道,来为通信报文提供高质量、基于密码学的安全保护。每个ipsec对等体中可以设置安全策略实现对数据流的保护,以被配置的安全策略为访问控制列表(英文:accesscontrollist,简称:acl)为例,acl包含预设的源ip地址范围和目的ip地址范围。当通信双方之间传输数据时,ipsec对等体基于acl中配置的地址范围、以及通信报文的源ip地址和目的ip地址进行匹配,将满足该地址范围的通信报文确定为待保护的通信报文,然后根据预先协商的ipsecsa对待保护的通信报文进行安全保护。点到多点网络(比如轴辐式(hubandspoke)网络)中包含多个ipsec对等体,这些ipsec对等体可分为一个中心设备和多个分支设备。其中,中心设备分别与各分支设备建立ipsec隧道,中心设备与各分支设备之间可以直接进行数据通信,而分支设备之间进行数据通信时需要通过中心设备进行数据的转发。技术人员会根据各分支设备中的安全策略,配置中心设备中的安全策略,以使中心设备识别各分支设备对应的待保护的通信报文。然而,各分支设备的管理人员在分支设备中配置安全策略时,可能会出现安全策略的匹配条件重叠的情况。例如,第一分支设备配置的acl中,源ip地址的范围为192.168.4.0/24,目的ip地址的范围为192.168.1.0/24;第二分支设备配置的acl中,源ip地址的范围为192.168.4.0/24,目的ip地址的范围为192.168.2.0/16,第二分支设备配置的acl范围包括第一分支设备配置的acl范围。后续,如果中心设备接收到的某一通信报文的源ip地址和目的ip地址与多个分支设备的acl匹配,则中心设备可能会将该通信随机发送给上述多个分支设备中的任意一个分支设备,可能会导致通信报文的错误转发。技术实现要素:本申请实施例的目的在于提供一种数据传输的方法及装置,可以保证通信报文的正确转发。具体技术方案如下:第一方面,提供了一种数据传输的方法,所述方法应用于互联网协议安全ipsec网络中的中心设备,所述ipsec网络还包括多个分支设备,所述方法包括:获取第一通信报文,所述第一通信报文中携带有第一源互联网协议ip地址和第一目的ip地址;根据所述第一源ip地址和所述第一目的ip地址,在预先存储的ipsec会话表中查询对应的目的分支设备的标识,其中,所述ipsec会话表包括源ip地址、目的ip地址和目的分支设备的标识的对应关系;如果所述ipsec会话表中存在与所述第一源ip地址和所述第一目的ip地址对应的目的分支设备的标识,则根据所述第一源ip地址、所述第一目的ip地址和所述目的分支设备的标识,在预先协商的ipsec安全联盟sa中查询目标ipsecsa;根据所述目标ipsecsa,对所述第一通信报文进行封装,得到第一隧道报文,并将所述第一隧道报文发送给所述目的分支设备。第二方面,提供了一种数据传输的方法,所述方法应用于互联网协议安全ipsec网络中的分支设备,所述ipsec网络还包括中心设备,所述方法包括:根据与所述中心设备预先协商的ipsec安全联盟sa,对第一通信报文进行封装,得到目标隧道报文,所述第一通信报文中携带有第一源互联网协议ip地址和第一目的ip地址;向所述中心设备发送目标隧道报文,以使所述中心设备根据所述第一源ip地址和所述第一目的ip地址,在预先存储的ipsec会话表中查询对应的目的分支设备的标识,并在查询到目的分支设备的标识时,根据所述第一源ip地址、所述第一目的ip地址和所述目的分支设备的标识,在与各分支设备预先协商的ipsec安全联盟sa中查询目标ipsecsa,根据所述目标ipsecsa,对所述第一通信报文进行封装,得到第一隧道报文,并将所述第一隧道报文发送给所述目的分支设备。第三方面,提供了一种数据传输的装置,所述装置应用于互联网协议安全ipsec网络中的中心设备,所述ipsec网络还包括多个分支设备,所述装置包括:获取模块,用于获取第一通信报文,所述第一通信报文中携带有第一源互联网协议ip地址和第一目的ip地址;第一查询模块,用于根据所述第一源ip地址和所述第一目的ip地址,在预先存储的ipsec会话表中查询对应的目的分支设备的标识,其中,所述ipsec会话表包括源ip地址、目的ip地址和目的分支设备的标识的对应关系;第二查询模块,用于如果所述ipsec会话表中存在与所述第一源ip地址和所述第一目的ip地址对应的目的分支设备的标识,则根据所述第一源ip地址、所述第一目的ip地址和所述目的分支设备的标识,在预先协商的ipsec安全联盟sa中查询目标ipsecsa;发送模块,用于根据所述目标ipsecsa,对所述第一通信报文进行封装,得到第一隧道报文,并将所述第一隧道报文发送给所述目的分支设备。可选的,所述装置还包括:第一协商模块,用于如果所述ipsec会话表中不存在与所述第一源ip地址和所述第一目的ip地址对应的目的分支设备的标识,则根据所述第一源ip地址、所述第一目的ip地址和各分支设备对应的安全策略,确定与所述第一源ip地址、所述第一目的ip地址对应的至少一目标分支设备,并确定与所述目标分支设备协商的ipsecsa,其中,所述ipsecsa包括所述目标分支设备的标识;第一添加模块,用于如果确定出的目标分支设备的数目为多个,则针对每个目标分支设备,根据该目标分支设备对应的ipsecsa,对所述第一通信报文进行封装,得到第二隧道报文,将所述第二隧道报文发送给该目标分支设备,并在所述ipsec会话表中添加所述第一源ip地址、所述第一目的ip地址和该目标分支设备的标识的对应关系;第一接收模块,用于接收多个目标分支设备中的第一分支设备发送的第三隧道报文,所述第三隧道报文中携带有所述第一分支设备的标识,所述第三隧道报文中的源ip地址为所述第一目的ip地址,目的ip地址为所述第一源ip地址;删除模块,用于在所述ipsec会话表中删除源ip地址为所述第一源ip地址,目的ip地址为所述第一目的ip地址,且目的分支设备的标识与所述第一分支设备的标识不同的表项。可选的,所述装置还包括:第二添加模块,用于如果所述目标分支设备的数目为一个,则根据所述目标分支设备对应的ipsecsa对所述第一通信报文进行封装,得到第四隧道报文,将所述第四隧道报文发送给所述目标分支设备,并在所述ipsec会话表中添加所述第一源ip地址、所述第一目的ip地址和该目标分支设备的标识的对应关系。可选的,所述获取模块,具体用于:解析源分支设备发送的隧道报文,获得第一通信报文和源分支设备的标识;所述第一添加模块或第二添加模块,具体用于:在所述ipsec会话表中添加所述第一源ip地址、所述第一目的ip地址、所述源分支设备的标识和该目标分支设备的标识的对应关系。可选的,所述装置还包括:第二接收模块,用于接收所述目的分支设备发送的互联网密钥交换ike报文,所述ike报文中携带有所述目的分支设备的标识;第二协商模块,用于基于所述ike报文,与所述目的分支设备协商ikesa,所述ikesa包括所述目的分支设备的标识;第三协商模块,用于基于所述ikesa,与所述目的分支设备协商ipsecsa,所述ipsecsa包括所述目的分支设备的标识、所述第一源ip地址和所述第一目的ip地址。第四方面,提供了一种数据传输的装置,所述装置应用于互联网协议安全ipsec网络中的分支设备,所述ipsec网络还包括中心设备,所述装置包括:第一封装模块,用于根据与所述中心设备协商的ipsec安全联盟sa,对第一通信报文进行封装,得到目标隧道报文,所述第一通信报文中携带有第一源互联网协议ip地址和第一目的ip地址;第一发送模块,用于向所述中心设备发送目标隧道报文,以使所述中心设备根据所述第一源ip地址和所述第一目的ip地址,在预先存储的ipsec会话表中查询对应的目的分支设备的标识,并在查询到目的分支设备的标识时,根据所述第一源ip地址、所述第一目的ip地址和所述目的分支设备的标识,在预先协商的ipsec安全联盟sa中查询目标ipsecsa,根据所述目标ipsecsa,对所述第一通信报文进行封装,得到第一隧道报文,并将所述第一隧道报文发送给所述目的分支设备。可选的,所述装置还包括:第一接收模块,用于向所述中心设备发送互联网密钥交换ike报文,所述ike报文中携带有所述分支设备的标识;第一协商模块,用于基于所述ike报文,与所述中心设备协商ikesa,所述ikesa包括所述分支设备的标识;第二协商模块,用于基于所述ikesa,与所述中心设备协商ipsecsa,所述ipsecsa包括所述分支设备的标识和安全策略,所述安全策略包括所述第一源ip地址和所述第一目的ip地址。可选的,所述装置还包括:第二接收模块,用于接收所述中心设备发送的第二隧道报文,其中,所述第二隧道报文为根据协商的ipsecsa,对第一通信报文封装得到,所述第一通信报文包括第一源ip地址和所述第一目的ip地址;所述协商的ipsecsa包括本地分支设备的标识;第二发送模块,用于判断与本地连接的终端地址是否存在第一目的ip地址,若是,则向所述第一目的ip地址对应的终端发送所述第一通信报文;第二封装模块,用于接收所述第一目的ip地址对应的终端返回的第二通信报文,根据与所述中心设备协商的ipsecsa,对所述第二通信报文进行封装,得到第三隧道报文,第三隧道报文携带本地分支设备的标识;第三发送模块,用于向所述中心设备发送所述第三隧道报文。第五方面,提供了一种中心设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现第一方面所述的方法步骤。第六方面,提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器:实现第一方面所述的方法步骤。第七方面,提供了一种分支设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现第二方面所述的方法步骤。第八方面,提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器:实现第二方面所述的方法步骤。本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的数据传输的方法。附图说明图1为本申请实施例提供的ipsec网络的系统框架图;图2为本申请实施例提供的一种分支设备执行数据传输的方法的流程图;图3为本申请实施例提供的一种中心设备执行数据传输的方法的示例图;图4为本申请实施例提供的一种数据传输的方法的示例图;图5为本申请实施例提供的一种数据传输的方法的示例图;图6为本申请实施例提供的一种数据传输的方法的示例图;图7为本申请实施例提供的一种数据传输的装置的结构示意图;图8为本申请实施例提供的一种数据传输的装置的结构示意图;图9为本申请实施例提供的一种数据传输的装置的结构示意图;图10为本申请实施例提供的一种数据传输的装置的结构示意图;图11为本申请实施例提供的一种数据传输的装置的结构示意图;图12为本申请实施例提供的一种数据传输的装置的结构示意图;图13为本申请实施例提供的一种数据传输的装置的结构示意图;图14为本申请实施例提供的一种中心设备的结构示意图;图15为本申请实施例提供的一种分支设备的结构示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。图1为本申请实施例提供的ipsec网络的系统框架图。如图1所示,ipsec网络包括中心设备10、第一分支设备21、第二分支设备22、第三分支设备23。其中,中心设备10通过互联网分别与第一分支设备21、第二分支设备22和第三分支设备23建立ipsec隧道。中心设备10、第一分支设备21、第二分支设备22和第三分支设备23可以为路由器、交换机、防火墙、安全网关等网络设备,本申请实施例不作限定。如图2所示,本申请实施例提供了一种分支设备执行数据传输的方法时的处理流程图,具体包括以下步骤。以分支设备为图1所示的第一分支设备为例进行说明。步骤201,第一分支设备根据与中心设备预先协商的ipsecsa,对第一通信报文进行封装,得到目标隧道报文。其中,第一通信报文中携带有第一源互联网协议ip地址和第一目的ip地址。在实施中,第一分支设备可以与中心设备预先协商ipsecsa,具体的协商过程后续会进行详细说明。ipsec网络中还可以包括终端(图1中未示出),终端可以与第一分支设备连接,以便与其他分支设备连接的终端进行通信。以第一终端与第二终端进行通信为例,其中,第一终端与ipsec网络中的第一分支设备连接,第二终端与与ipsec网络中的第二分支设备连接。第一终端可以向第一分支设备发送通信报文(即第一通信报文)。其中,该第一通信报文中的源ip地址为第一终端的ip地址(即第一源ip地址),目的ip地址为第二终端的ip地址(即第一目的ip地址)。第一分支设备可以根据预先协商的ipsecsa中存储的封装信息(比如隧道源ip地址、隧道目的ip地址、工作模式、认证算法、加密算法等),对该第一通信报文进行隧道封装,并可以在封装后的报文中添加第一分支设备的标识,得到目标隧道报文。其中,分支设备的标识用于唯一标识分支设备。分支设备的标识可以由技术人员预先配置,或者,也可以由分支设备根据本地ipsec隧道接口的mac地址和预设的标识生成算法(比如哈希算法)计算得到,本申请实施例不作限定。第一分支设备添加第一分支设备的标识的方式可以是多种多样的。例如,第一分支设备可以在报文的ip头中添加第一分支设备的标识。示例性的,第一分支设备可以在目标隧道报文/第一通信报文的预设的字段(比如厂商标识(英文:vendoridentification,简称:vid)载荷)中添加第一分支设备的标识,本申请实施例不作限定。vid载荷可以包括标识字段和载荷字段。其中,标识字段可以设置为1,以表示该目标隧道报文/第一通信报文携带有分支设备的标识,载荷字段用于携带第一分支设备的标识。例如:如表一所示,隧道报文可以包括以下字段。表一payloadreservedpayloadlengthvendorid其中,payload为有效载荷,用于承载数据;reserved为保留字段;payloadlength为载荷长度,用于表示有效载荷的长度;vendorid为厂商标识字段。vendorid字段可以位于payloadlength字段的后面。vendorid字段包含的具体内容可以如表二所示。表二vidvalue1xxyy其中,vid为标识字段,可以设置为1,以表示该目标隧道报文/第一通信报文携带有分支设备的标识;value为载荷字段,用于携带第一分支设备的标识,比如xxyy。步骤202,第一分支设备向中心设备发送目标隧道报文。其中,目标隧道报文是分支设备对第一通信报文进行封装得到的隧道报文。在实施中,第一分支设备得到目标隧道报文后,可以根据目标隧道报文的隧道目的ip地址,将该目标隧道报文发送给中心设备。如图3所示,本申请实施例提供了一种中心设备执行上述数据传输的方法时的处理流程图,具体包括以下步骤。步骤301,中心设备获取第一通信报文。其中,第一通信报文中携带有第一源ip地址和第一目的ip地址。第一通信报文可以是与中心设备直连的终端发送的,也可以是中心设备对分支设备发送的隧道报文进行解封装得到的。在实施中,ipsec网络中可能存在直接与中心设备连接的终端(图1中未示出),中心设备可以接收该终端发送的通信报文(即第一通信报文)。中心设备还可以接收第一分支设备发送的目标隧道报文,该目标隧道报文是第一分支设备对第一通信报文进行封装得到的隧道报文,目标隧道报文可以携带有第一分支设备的标识和封装信息(比如隧道源ip地址、隧道目的ip地址、工作模式、认证算法、加密算法等)。中心设备可以从目标隧道报文中获取第一分支设备的标识和封装信息,然后根据第一分支设备的标识和封装信息,从预先协商的各ipsecsa中,确定与第一分支设备协商的ipsecsa,对目标隧道报文进行解封装处理,得到第一通信报文,进而获取第一通信报文携带的第一源ip地址和第一目的ip地址。步骤302,中心设备根据第一源ip地址和第一目的ip地址,在预先存储的ipsec会话表中查询对应的目的分支设备的标识。其中,ipsec会话表包括源ip地址、目的ip地址和目的分支设备的标识的对应关系。在实施中,中心设备中可以预先存储有ipsec会话表,该ipsec会话表可以根据传输的通信报文进行建立,或者,也可以由技术人员预先配置。ipsec会话表具体的建立过程后续会进行详细说明。其中,ipsec会话表可以包括源ip地址、目的ip地址和目的分支设备的标识的对应关系。本申请实施例提供了一种ipsec会话表的示例,如表三所示:表三序号源ip地址目的ip地址目的分支设备的标识1192.168.4.1192.168.1.1a2192.168.3.1192.168.2.1b中心设备得到第一通信报文中携带的第一源ip地址和第一目的ip地址后,可以根据第一源ip地址和第一目的ip地址,在预先存储的ipsec会话表中,查询与第一源ip地址和第一目的ip地址对应的目的分支设备的标识。因此,中心设备可以根据目的终端的ip地址(即ipsec会话表中的目的ip地址),在ipsec会话表中确定目标终端连接的目的分支设备的标识。结合图1所示场景,假设第一终端与第一分支设备连接,第二终端与第二分支设备连接,其中,第一终端的ip地址为192.168.4.1,第二终端的ip地址为192.168.1.1,若第一通信报文携带的第一源ip地址为192.168.4.1、第一目的ip地址为192.168.1.1,则中心设备可以根据第一通信报文的第一源ip地址和第一目的ip地址,确定目的分支设备(即第二分支设备)的标识为a。需要说明的是,ipsec会话表中还可以包括隧道源ip地址、隧道目的ip地址和源分支设备的标识。相应的,ipsec会话表可以如表四所示。表四此时中心设备可以根据目标隧道报文携带的第一分支设备的标识(源分支设备的标识)、第一源ip地址和第一目的ip地址,确定目的分支设备的标识a。步骤303,如果ipsec会话表中存在与第一源ip地址和第一目的ip地址对应的目的分支设备的标识,则中心设备根据第一源ip地址、第一目的ip地址和目的分支设备的标识,在预先协商的ipsec安全联盟sa中查询目标ipsecsa。在一实施方式中,如果ipsec会话表中存在与第一源ip地址和第一目的ip地址对应的目的分支设备的标识,则中心设备可以根据第一源ip地址、第一目的ip地址和目的分支设备的标识,在与各分支设备协商的ipsecsa中查询目标ipsecsa。由于分支设备的标识能够唯一标识分支设备,因此,中心设备可以根据第一源ip地址、第一目的ip地址和分支设备的标识,唯一确定该分支设备对应的ipsecsa。例如,中心设备中第一分支设备对应的ipsecsa中源ip地址的范围为192.168.4.0/24,目的ip地址的范围为192.168.1.0/24,分支设备的标识为a;第二分支设备对应的ipsecsa中源ip地址的范围为192.168.4.0/24,目的ip地址的范围为192.168.2.0/16,分支设备的标识为b。若第一通信报文的第一源ip地址为192.168.4.1,第一目的ip地址为192.168.1.1,对应的目的分支设备的标识为a,此时第一通信报文的第一源ip地址、第一目的ip地址均落入第一分支设备、第二分支设备对应的ipsecsa中,则中心设备可以根据第一源ip地址为192.168.4.1,第一目的ip地址为192.168.1.1、目的分支设备的标识a,唯一确定目标ipsecsa为第一分支设备对应的ipsecsa。在另外的实施方式中,如果ipsec会话表中存在与第一源ip地址和第一目的ip地址对应的目的分支设备的标识,则中心设备可以在与各分支设备协商的ipsecsa中查询目标ipsecsa,具体的处理过为:中心设备根据各ipsecsa中的源ip地址范围、目的ip地址范围和分支设备的标识,确定源ip地址范围包括第一源ip地址、目的ip地址范围包括第一目的ip地址、且分支设备标识为目的分支设备标识的ipsecsa。这样,当中心设备中各分支设备对应的ipsecsa中匹配条件重叠时,中心设备可以根据分支设备的标识,能够唯一确定一个分支设备对应的ipsecsa。步骤304,中心设备根据目标ipsecsa,对第一通信报文进行封装,得到第一隧道报文,并将第一隧道报文发送给目的分支设备。在实施中,中心设备得到目标ipsecsa后,可以根据目标ipsecsa中存储的信息(比如隧道源ip地址、隧道目的ip地址、工作模式、认证算法、加密算法等)对第一通信报文进行封装,得到第一隧道报文。然后,中心设备根据第一隧道报文的隧道目的ip地址,将第一隧道报文发送给目的分支设备。如果ipsec会话表中不存在与第一源ip地址和第一目的ip地址对应的目的分支设备的标识,则可以建立对应的会话表项。本申请实施例还提供了一种建立ipsec会话表的方法,具体的处理过程如下:步骤一,中心设备根据第一源ip地址、第一目的ip地址和各分支设备对应的安全策略,确定与第一源ip地址、第一目的ip地址对应的至少一目标分支设备,并确定与目标分支设备协商的ipsecsa。其中,ipsecsa包括目标分支设备的标识。ipsecsa可以在确定好目标分支设备后与目标分支设备协商,也可以在预先协商好的ipsecsa中查询,例如网络初始化时中心设备分别与各分支设备均协商好ipsecsa,中心设备确定好目标分支设备后,可以在预先协商好的ipsecsa中查询与目标分支设备协商的ipsecsa。在实施中,中心设备可以在各分支设备对应的安全策略中确定匹配第一通信报文的第一源ip地址和第一目的ip地址的分支设备(即目标分支设备)。然后,中心设备可以与目标分支设备协商ipsecsa。具体的ipsecsa的协商过程后续会进行详细说明。如果确定出的目标分支设备的数目为多个,则中心设备可以执行步骤二至步骤四;如果确定出的目标分支设备的数目为一个,则中心设备可以执行步骤五。步骤二,针对每个目标分支设备,中心设备根据目标分支设备对应的ipsecsa,对第一通信报文进行封装,得到第二隧道报文,将第二隧道报文发送给目标分支设备,并在ipsec会话表中添加第一源ip地址、第一目的ip地址和目标分支设备的标识的对应关系。在实施中,如果目标分支设备的数目为多个,则说明各目标分支设备配置的被保护数据流的匹配条件重叠。针对每个目标分支设备,中心设备可以根据目标分支设备对应的ipsecsa中存储的信息(比如隧道源ip地址、隧道目的ip地址、工作模式、认证算法、加密算法等)对第一通信报文进行封装,得到第二隧道报文。然后,中心设备根据第二隧道报文的隧道目的ip地址,将第二隧道报文发送给该目标分支设备。同时,中心设备可以在ipsec会话表中添加第一源ip地址、第一目的ip地址和目标分支设备的标识的对应关系。例如,中心设备中第三分支设备对应的安全策略的源ip地址的范围为192.168.1.0/24,目的ip地址的范围为192.168.3.0/16,第三分支设备的标识为c;第四分支设备对应的安全策略的源ip地址的范围为192.168.1.0/24,目的ip地址的范围为192.168.4.0/16,第四分支设备的标识为d;第五分支设备对应的安全策略的源ip地址的范围为192.168.1.0/24,目的ip地址的范围为192.168.5.0/16,第五分支设备的标识为e。第一通信报文的第一源ip地址为192.168.1.1,第一目的ip地址为192.168.3.1。则第三分支设备对应的安全策略、第四分支设备对应的安全策略以及第五分支设备对应的安全策略均可以匹配第一通信报文的第一源ip地址和第一目的ip地址。如表五所示,中心设备在ipsec会话表中分别添加源ip地址为192.168.1.1,目的ip地址为192.168.3.1,目的分支设备的标识为c的对应关系;源ip地址为192.168.1.1,目的ip地址为192.168.3.1,目的分支设备的标识为d的对应关系;源ip地址为192.168.1.1,目的ip地址为192.168.3.1,目的分支设备的标识为e的对应关系。表五序号源ip地址目的ip地址目的分支设备的标识1192.168.4.1192.168.1.1a2192.168.3.1192.168.2.1b3192.168.1.1192.168.3.1c或空4192.168.1.1192.168.3.1d或空5192.168.1.1192.168.3.1e或空其中,表五中序号3、4、5的目的分支设备的标识暂不清楚,可以暂时为空,也可以暂时把目的分支设备的标识填写进来。这样,当中心设备中各分支设备对应的ipsecsa中匹配条件重叠,且中心设备无法根据分支设备的标识,唯一确定一个ipsecsa时,中心设备可以将第一通信报文发送给上述各目标分支设备,以保证第一通信报文可以正确转发第一通信报文的目的ip地址对应的终端(以下称为第二终端),且获取真正目的分支设备返回的反向报文,以确定哪个目标分支设备为真正的目的分支设备。步骤三,中心设备接收多个目标分支设备中的第一分支设备发送的第三隧道报文。其中,第三隧道报文中携带有第一分支设备的标识,第三隧道报文中的源ip地址为第一目的ip地址,目的ip地址为第一源ip地址。在实施中,第二终端与上述多个目标分支设备中的第一分支设备相连。当第二终端接收到第一通信报文后,可以通过第一分支设备向第一通信报文的源ip地址对应的终端(即第一终端)发送第二通信报文,第二通信报文可以为响应第一通信报文的反向报文。其中,第二通信报文中第二源ip地址为第二终端的ip地址、第二目的ip地址为第一终端的ip地址。第一分支设备接收到第二通信报文后,可以根据第二源ip地址、第二目的ip地址确定对应ipsecsa,然后,第一分支设备可以在第二通信报文中添加第一分支设备的标识。之后,第一分支设备可以根据该ipsecsa中存储的信息对第二通信报文进行封装,得到第三隧道报文,并根据该第三隧道报文的隧道目的ip地址,将该隧道报文发送给中心设备。中心设备接收到第一分支设备发送的第三隧道报文后,可以对该第三隧道报文进行解封装处理,得到第二通信报文。步骤四,中心设备在ipsec会话表中删除源ip地址为第一源ip地址,目的ip地址为第一目的ip地址,且目的分支设备的标识与第一分支设备的标识不同的表项。在实施中,中心设备得到第二通信报文后,中心设备可以在ipsec会话表中删除源ip地址为第二目的ip地址,目的ip地址为第二源ip地址,且目的分支设备的标识与第一分支设备的标识不同的表项。例如,中心设备接收到第一分支设备发送的第二通信报文。其中,第二通信报文中第二源ip地址为192.168.3.1,第二目的ip地址为192.168.1.1,第一分支设备的标识为c。中心设备可以在ipsec会话表中删除源ip地址为192.168.1.1,目的ip地址为192.168.3.1,目的分支设备的标识为d的对应关系以及删除源ip地址为192.168.1.1,目的ip地址为192.168.3.1,目的分支设备的标识为e的对应关系。与表五相对应,最终的ipsec会话表如表六所示。表六序号源ip地址目的ip地址目的分支设备的标识1192.168.4.1192.168.1.1a2192.168.3.1192.168.2.1b3192.168.1.1192.168.3.1c后续,中心设备接收到第一终端通过第一分支设备向第二终端发送的通信报文后,可以根据通信报文中携带的源ip地址和目的ip地址在ipsec会话表中查询对应的目的分支设备的标识,并可以根据源ip地址、目的ip地址和目的分支设备的标识唯一确定一个ipsecsa。在本发明实施例提供的另一种实现方式中,中心设备可以只在ipsec会话表中添加第一源ip地址、第一目的ip地址、隧道源ip地址和隧道目的ip地址的对应关系,而不记录目标分支设备的标识。中心设备在解析第一分支设备发送的隧道报文后,可以获得第一通信报文中和第一分支设备的标识z,ipsec会话表中还可以包括隧道源ip地址、隧道目的ip地址和源分支设备的标识。相应的,ipsec会话表可以如表七所示。表七其中,表七中序号3、4、5的目的分支设备的标识暂不清楚,可以暂时为空,也可以暂时把目的分支设备的标识填写进来。后续,当接收到第一分支设备发送的第二通信报文,再在第一分支设备对应的表项中,添加第一分支设备的标识,作为该表项中目的分支设备的标识这一字段的内容,并删除源ip地址为第一源ip地址、且目的ip地址为第一目的ip地址的其他表项,如表八所示。表八步骤五,中心设备根据目标分支设备对应的ipsecsa对第一通信报文进行封装,得到第四隧道报文,将第四隧道报文发送给目标分支设备,并在ipsec会话表中添加第一源ip地址、第一目的ip地址和目标分支设备的标识的对应关系。在实施中,如果目标分支设备的数目为一个,说明目标分支设备配置的被保护数据流的匹配条件与其他分支设备配置的被保护数据流的匹配条件不重叠。中心设备可以根据目标分支设备对应的ipsecsa中存储的信息(比如隧道源ip地址、隧道目的ip地址、工作模式、认证算法、加密算法等)对第一通信报文进行封装,得到第四隧道报文。然后,中心设备根据第四隧道报文的隧道目的ip地址,将第四隧道报文发送给目的分支设备,同时,中心设备可以在ipsec会话表中添加第一源ip地址、第一目的ip地址和目标分支设备的标识的对应关系。可选的,获取第一通信报文可以包括:解析源分支设备发送的隧道报文,获得第一通信报文和源分支设备的标识。相应的,中心设备在ipsec会话表中添加第一源ip地址、第一目的ip地址和目标分支设备的标识的对应关系,包括:中心设备在ipsec会话表中添加第一源ip地址、第一目的ip地址、源分支设备的标识和目标分支设备的标识的对应关系。在实施中,源分支设备发送的隧道报文中,还可以携带有源分支设备的标识,中心设备解析隧道报文,可以得到第一通信报文和源分支设备的标识。中心设备得到第一通信报文中携带的第一源ip地址、第一目的ip地址和源分支设备的标识、以及确定出的目标分支设备的标识后,可以在ipsec会话表中添加第一源ip地址、第一目的ip地址、源分支设备的标识和目标分支设备的标识的对应关系。这样,对于中心设备中的每个通信报文,都可以建立ipsec会话表项。基于上述建立ipsec会话表的方法,本申请实施例还提供了分支设备在上述建立ipsec会话表的方法中的处理流程,具体的处理过程如下。步骤一,第一分支设备接收中心设备发送的第二隧道报文。其中,第二隧道报文为中心设备根据协商的ipsecsa,对第一通信报文封装得到。第一通信报文包括第一源ip地址和第一目的ip地址,所述协商的ipsecsa包括本地分支设备的标识。第一分支设备解析第二隧道报文,以获取第一通信报文。步骤二,第一分支设备判断与本地连接的终端地址是否存在第一目的ip地址,若是,则向第一目的ip地址对应的终端发送第一通信报文。若否,则丢弃第一通信报文。在实施中,第一分支设备中可以预先存储有转发表,该转发表中可以包含与第一分支设备连接的各终端的ip地址和端口等信息。第一分支设备可以判断本地存储的转发表中,是否存在第一目的ip地址,如果是,则可以从转发表中查询第一目的ip地址对应的端口,然后通过该端口,向第一目的ip地址对应的终端发送第一通信报文。步骤三,第一分支设备接收第一目的ip地址对应的终端返回的第二通信报文,根据与中心设备协商的ipsecsa,对第二通信报文进行封装,得到第三隧道报文。其中,第三隧道报文携带第一分支设备的标识。本步骤的处理过程与步骤201的处理过程类似,此处不再赘述。步骤四,第一分支设备向中心设备发送第三隧道报文。本步骤的处理过程与步骤202的处理过程类似,此处不再赘述。本申请实施例还提供了一种协商ipsecsa的方法,以目的分支设备与中心设备协商ipsecsa为例,具体的处理过程如下,其中目的分支设备可以为图1中第一分支设备。步骤一,目的分支设备向中心设备发送互联网密钥交换ike报文。其中,ike报文中携带有分支设备的标识。在实施中,当中心设备与目的分支设备之间需要协商ipsecsa时,目的分支设备可以向中心设备发送ike报文。其中,ike报文中携带有目的分支设备的标识。例如,当目的分支设备接收到终端发送的通信报文后,如果分支设备当前未存储与中心设备之间的ipsecsa,则可以向中心设备发送ike报文;或者,分支设备可以在上线后,向中心设备发送ike报文。步骤二,中心设备接收目的分支设备发送的ike报文。其中,ike报文中携带有目的分支设备的标识。在实施中,中心设备接收到目的分支设备发送的ike报文后,可以对ike报文进行解析,得到ike报文中携带的目的分支设备的标识。步骤三,中心设备基于ike报文,与目的分支设备协商ikesa。其中,ikesa包括目的分支设备的标识。在实施中,中心设备接收到目的分支设备发送的ike报文后,可以根据ike报文与目的分支设备协商ikesa。其中,ikesa可以包括目的分支设备的标识。技术人员可以在中心设备中输入displayikesa命令查看协商的ikesa,中心设备则可以显示ikesa的内容,具体可以包括目的分支设备的标识(比如a),还可以包括连接标识符(比如1)和隧道目的ip地址(比如5.5.5.5)。中心设备根据ike报文与目的分支设备协商ikesa的具体处理流程与现有技术相同,本申请实施例不再赘述。步骤四,目的分支设备基于ike报文,与中心设备协商ikesa,ikesa包括分支设备的标识。在实施中,目的分支设备根据ike报文与目的分支设备协商ikesa的具体处理流程与现有技术相同,本申请实施例不再赘述。步骤五,中心设备基于ikesa,与目的分支设备协商ipsecsa。其中,ipsecsa包括目的分支设备的标识、第一源ip地址和第一目的ip地址。在实施中,中心设备和目的分支设备协商ikesa后,中心设备可以基于ikesa,与目的分支设备协商ipsecsa。其中,ipsecsa可以包括目的分支设备的标识和安全策略,安全策略包括第一源ip地址和第一目的ip地址。技术人员可以在中心设备中输入displayipsecsa命令查看与目的分支设备协商的ipsecsa,中心设备则可以显示ipsecsa的内容,具体可以包括目的分支设备的标识,比如a;隧道源ip地址,比如3.3.3.3);隧道目的ip地址,比如5.5.5.5;兴趣流信息(被保护数据流信息),比如源ip地址为192.168.1.1/255.255.255.0、源端口为port:0、协议为ip、目的ip地址为192.168.3.1/255.255.255.0、目的端口为port:0、协议为ip。中心设备根据ikesa与目的分支设备协商ipsecsa的具体处理流程与现有技术相同,本申请实施例不再赘述。步骤六,目的分支设备基于ikesa,与中心设备协商ipsecsa。其中,ipsecsa包括分支设备的标识和安全策略,安全策略包括第一源ip地址和第一目的ip地址。在实施中,目的分支设备根据ikesa与目的分支设备协商ipsecsa的具体处理流程与现有技术相同,本申请实施例不再赘述。其中,上述步骤三和步骤四没有先后顺序关系,对此顺序不做限制;上述步骤五和步骤六没有先后顺序关系,对此顺序不做限制。本申请实施例提供的数据传输的方法中,中心设备可以获取第一通信报文,其中,第一通信报文中携带有第一源ip地址和第一目的ip地址。然后,中心设备根据第一源ip地址和第一目的ip地址,在预先存储的ipsec会话表中查询对应的目的分支设备的标识。如果ipsec会话表中存在与第一源ip地址和第一目的ip地址对应的目的分支设备的标识,则中心设备根据第一源ip地址、第一目的ip地址和目的分支设备的标识,确定目标ipsecsa。最后,中心设备根据目标ipsecsa,对第一通信报文进行封装,得到第一隧道报文,并将第一隧道报文发送给目的分支设备。这样,即使多个分支设备对应的安全策略的匹配条件重叠,中心设备也可以保证通信报文的正确转发。如图4所示,本申请实施例提供了一种数据传输的方法,结合图1所示应用场景,该方法可以由中心设备和第一分支设备共同实现,具体包括以下步骤。步骤401,第一分支设备根据与所述中心设备预先协商的ipsec安全联盟sa,对第一通信报文进行封装,得到目标隧道报文。本步骤的处理过程可以参照上述步骤201的相关说明,此处不再赘述。步骤402,第一分支设备向中心设备发送目标隧道报文。本步骤的处理过程可以参照上述步骤202的相关说明,此处不再赘述。步骤403,中心设备解析目标隧道报文,获取第一通信报文。本步骤的处理过程可以参照上述步骤301的相关说明,此处不再赘述。步骤404,中心设备根据第一源ip地址和第一目的ip地址,在预先存储的ipsec会话表中查询对应的目的第一分支设备的标识。本步骤的处理过程可以参照上述步骤302的相关说明,此处不再赘述。步骤405,如果ipsec会话表中存在与第一源ip地址和第一目的ip地址对应的目的第一分支设备的标识,则中心设备根据第一源ip地址、第一目的ip地址和目的第一分支设备的标识,在预先协商的ipsec安全联盟sa中查询目标ipsecsa。本步骤的处理过程可以参照上述步骤303的相关说明,此处不再赘述。步骤406,中心设备根据目标ipsecsa,对第一通信报文进行封装,得到第一隧道报文,并将第一隧道报文发送给目的分支设备。本步骤的处理过程可以参照上述步骤304的相关说明,此处不再赘述。图5为本发明实施例还提供的了一种数据传输的方法的示例,结合图1所示应用场景,该方法可以由中心设备和分支设备共同实现。以中心设备和第一分支设备为例,如图5所示,具体的处理过程如下:步骤501,第一分支设备根据与所述中心设备预先协商的ipsec安全联盟sa,对第一通信报文进行封装,得到目标隧道报文。本步骤的处理过程可以参照上述步骤201的相关说明,此处不再赘述。步骤502,第一分支设备向中心设备发送目标隧道报文。本步骤的处理过程可以参照上述步骤202的相关说明,此处不再赘述。其中,目标隧道报文是所述分支设备对第一通信报文进行封装得到的隧道报文,第一通信报文中携带有第一源互联网协议ip地址和第一目的ip地址。步骤503,中心设备解析目标隧道报文,获取第一通信报文。本步骤的处理过程可以参照上述步骤301的相关说明,此处不再赘述。其中,第一通信报文中携带有第一源互联网协议ip地址和第一目的ip地址。步骤504,中心设备根据第一源ip地址和第一目的ip地址,在预先存储的ipsec会话表中查询对应的目的分支设备的标识。如果ipsec会话表中存在与第一源ip地址和第一目的ip地址对应的目的分支设备的标识,则执行步骤504;如果ipsec会话表中不存在与第一源ip地址和第一目的ip地址对应的目的分支设备的标识,则执行步骤506。步骤505,中心设备根据第一源ip地址、第一目的ip地址和目的分支设备的标识,在预先协商的ipsecsa中查询目标ipsecsa。步骤506,中心设备根据目标ipsecsa,对第一通信报文进行封装,得到第一隧道报文,并将第一隧道报文发送给目的分支设备。步骤507,中心设备根据第一源ip地址、第一目的ip地址和各分支设备对应的安全策略,确定与第一源ip地址、第一目的ip地址对应的至少一目标分支设备,并与目标分支设备协商ipsecsa。步骤508,中心设备判断确定出的目标分支设备的数目是否为多个。如果确定出的目标分支设备的数目为多个,则执行步骤508;如果确定出的目标分支设备的数目为一个,则执行步骤511步骤509,针对每个目标分支设备,中心设备根据目标分支设备对应的ipsecsa,对第一通信报文进行封装,得到第二隧道报文,将第二隧道报文发送给目标分支设备,并在ipsec会话表中添加第一源ip地址、第一目的ip地址和目标分支设备的标识的对应关系。步骤510,中心设备接收多个目标分支设备中的第二分支设备发送的第三隧道报文。其中,第三隧道报文中携带有第二分支设备的标识,第三隧道报文中的源ip地址为第一目的ip地址,目的ip地址为第一源ip地址。步骤511,中心设备在ipsec会话表中删除源ip地址为第一源ip地址,目的ip地址为第一目的ip地址,且目的分支设备的标识与第二分支设备的标识不同的表项。步骤512,中心设备根据目标分支设备对应的ipsecsa对第一通信报文进行封装,得到第四隧道报文,将第四隧道报文发送给目标分支设备,并在ipsec会话表中添加第一源ip地址、第一目的ip地址和目标分支设备的标识的对应关系。图6为本发明实施例还提供的了一种数据传输的方法的示例,结合图1所示应用场景,该方法可以由中心设备和分支设备共同实现,其中,第一分支设备可以与第一终端连接,第二分支设备可以与第二终端连接。如图6所示,具体的处理过程如下。在网络初始化时,中心设备与所有分支设备协商ikesa、ipsecsa。此过程体现在步骤600~6072,应当说明的是,图6仅示出了中心设备与第一分支设备、第二分支设备协商ikesa、ipsecsa的交互过程,未示出中心设备与第三分支设备协商ikesa、ipsecsa的交互过程。中心设备、第三分支设备协商ikesa和ipsecsa的交互过程可以参阅中心设备、第一/二分支设备协商ikesa和ipsecsa的交互过程。步骤600、第一分支设备向中心设备发送第一ike报文,第一ike报文携带有第一分支设备的标识第一vid。步骤601、中心设备接收目的分支设备发送的第一ike报文,基于第一ike报文,与第一分支设备协商第一ikesa,其中,第一ikesa中携带第一vid。步骤602、第二分支设备向中心设备发送第二ike报文,第二ike报文携带有第二分支设备的标识第二vid。步骤603、中心设备接收目的分支设备发送的第二ike报文,基于第二ike报文,与第二分支设备协商第二ikesa,其中,第二ikesa中携带第二vid。步骤6041、中心设备记录第一ikesa,同时中心设备会记录第一分支设备的地址和第一vid的对应关系。步骤6042、中心设备记录第二ikesa,同时中心设备会记录第二分支设备的地址和第二vid的对应关系。应当说明的是,步骤600、601和步骤6041中第一分支设备与中心设备协商ikesa的过程,步骤602、603和步骤6042中第二分支设备与中心设备协商ikesa的过程。上面几个步骤的顺序并无特定的限定,只要能够完成协商ikesa即可。此时,中心设备还会记录与第三分支设备协商的ikesa、第三分支设备的地址和第三vid。步骤605、中心设备基于第一ikesa与第一分支设备协商第一ipsecsa,第一ipsecsa携带第一vid。由于ipsecsa是单向的,第一分支设备同样会基于第一ikesa与中心设备协商ipsecsa,该协商出来的ipsecsa携带第一vid。步骤606、中心设备基于第二ikesa与第二分支设备协商第二ipsecsa,第二ipsecsa携带第二vid。由于ipsecsa是单向的,第二分支设备同样会基于第二ikesa与中心设备协商ipsecsa,该协商出来的ipsecsa携带第二vid。步骤6071、中心设备记录第一ipsecsa。步骤6072、中心设备记录第二ipsecsa。应当说明的是,步骤605和步骤6071第一分支设备与中心设备协商ipsecsa的过程,步骤606和步骤6072中第二分支设备与中心设备协商ipsecsa的过程。上面几个步骤的顺序并无特定的限定,只要能够完成协商ipsecsa即可。此时,中心设备还会记录与第三分支设备协商的ipsecsa。下面以第一分支设备向第二分支设备发送报文为例进行说明。步骤608、第一分支设备接收到第一终端发送的首个第一通信报文。其中,第一通信报文携带第一源ip地址、第一目的ip地址,第一源ip地址为第一终端的ip地址、第一目的ip地址为第二终端的ip地址。第一分支设备根据与中心设备协商的ipsecsa,封装第一通信报文,然后在封装后的报文中添加第一vid,得到目标隧道报文。该目标隧道报文携带第一vid。第一分支设备向中心设备发送目标隧道报文。步骤609、中心设备解析目标隧道报文,得到第一通信报文和第一vid。中心设备查询本地ipsec会话表,并未查询到第一源ip地址、第一目的ip地址对应的目的分支设备的标识,则根据第一源ip地址、第一目的ip地址和各分支设备对应的安全策略,确定与第一源ip地址、第一目的ip地址对应的至少一目标分支设备。若目标分支设备为一个,则执行步骤6010。若目标分支设备为多个,则执行步骤6011。步骤6010、中心设备若确定出的目标分支设备为一个:第二分支设备,则根据与第二分支设备协商的第二ipsecsa,封装第一通信报文,得到第四隧道报文。向第二分支设备发送第四隧道报文。此时,中心设备也可以在ipsec会话表中增加第一源ip地址、第一目的ip地址、源vid(第一vid)、目的vid(第二vid)的对应关系。该对应关系还可以包括第一源ip地址、第一目的ip地址、源vid、目的vid、隧道源ip地址、隧道目的ip地址。步骤6011、中心设备若确定出的目标分支设备为多个:第二分支设备和第三分支设备,则分别利用第二ipsecsa、第三ipsecsa,封装第一通信报文,对应得到第二隧道报文、第六隧道报文。向第二分支设备发送第二隧道报文。向第三分支设备发送第六隧道报文。此时中心设备可以在ipsec会话表中增加第一源ip地址、第一目的ip地址、源vid(第一vid)、目的vid(第二vid和第三vid,或为空)的对应关系。该对应关系还可以包括第一源ip地址、第一目的ip地址、源vid、目的vid(第二vid和第三vid,或空)、隧道源ip地址、隧道目的ip地址。如下表九所示。表九步骤6012、第三分支设备解析第六隧道报文,获得第一通信报文。第三分支设备判断与本地连接的终端地址不存在第一目的ip地址,丢弃第一通信报文。步骤6013、第二分支设备解析第二隧道报文,获得第一通信报文。第二分支设备判断与本地连接的终端地址存在第一目的ip地址,向第一目的ip地址对应的第二终端发送第一通信报文。接收第二终端返回的第二通信报文,根据与中心设备协商的ipsecsa,对第二通信报文进行封装,然后在封装后的报文中添加第二vid,得到第三隧道报文。向中心设备发送第三隧道报文。步骤6014、中心设备解析第三隧道报文,获得第二通信报文和第二vid。中心设备在ipsec会话表中删除源ip地址为第一源ip地址、目的ip地址为第一目的ip地址、且目的分支设备的标识不为第二vid的表项。得到的ipsec会话表如表十所示。表十中心设备根据第一ipsecsa,对第二通信报文进行封装,得到第五隧道报文。向第一分支设备发送第五隧道报文。步骤6015、第一分支设备解析第五隧道报文,获得响应第一通信报文的反向报文:第二通信报文。步骤6016、第一分支设备接收到第一终端后续发送的第一通信报文。其中,第一通信报文携带第一源ip地址、第一目的ip地址,第一源ip地址为第一终端的ip地址、第一目的ip地址为第二终端的ip地址。第一分支设备根据与中心设备协商的ipsecsa,封装第一通信报文,然后在封装后的报文中添加第一vid,得到目标隧道报文。该目标隧道报文携带第一vid。第一分支设备向中心设备发送目标隧道报文。步骤6017、中心设备解析目标隧道报文,得到第一通信报文和第一vid。中心设备查询本地ipsec会话表,查询到第一源ip地址、第一目的ip地址对应的目的分支设备的标识为第二vid。根据第二vid,获取对应的目标ipsecsa:第二ipsecsa。根据第二ipsecsa,对第一通信报文进行封装,得到第四隧道报文也即第一隧道报文。中心设备将第四隧道报文发送给第二分支设备。本发明实施例中,中心设备可以获取第一通信报文,然后,中心设备根据第一通信报文携带的第一源ip地址和第一目的ip地址,在预先存储的ipsec会话表中查询对应的目的分支设备的标识。如果ipsec会话表中存在与第一源ip地址和第一目的ip地址对应的目的分支设备的标识,则中心设备根据第一源ip地址、第一目的ip地址和目的分支设备的标识,确定目标ipsecsa。最后,中心设备根据目标ipsecsa,对第一通信报文进行封装,得到第一隧道报文,并将第一隧道报文发送给目的分支设备。基于本方案,即使多个分支设备对应的安全策略的匹配范围重叠,中心设备也可以确定出唯一的目的分支设备,并将该通信报文转发给该目的分支设备,能够保证通信报文的正确转发。基于相同的技术构思,如图7所示,本申请实施例还提供了一种数据传输的装置,该装置应用于互联网协议安全ipsec网络中的中心设备,ipsec网络还包括多个分支设备,该装置包括:获取模块710,用于获取第一通信报文,第一通信报文中携带有第一源互联网协议ip地址和第一目的ip地址;第一查询模块720,用于根据第一源ip地址和第一目的ip地址,在预先存储的ipsec会话表中查询对应的目的分支设备的标识,其中,ipsec会话表包括源ip地址、目的ip地址和目的分支设备的标识的对应关系;第二查询模块730,用于如果ipsec会话表中存在与第一源ip地址和第一目的ip地址对应的目的分支设备的标识,则根据第一源ip地址、第一目的ip地址和目的分支设备的标识,在预先协商的ipsec安全联盟sa中查询目标ipsecsa;发送模块740,用于根据目标ipsecsa,对第一通信报文进行封装,得到第一隧道报文,并将第一隧道报文发送给目的分支设备。可选的,如图8所示,该装置还包括:第一协商模块750,用于如果ipsec会话表中不存在与第一源ip地址和第一目的ip地址对应的目的分支设备的标识,则根据第一源ip地址、第一目的ip地址和各分支设备对应的安全策略,确定与第一源ip地址、第一目的ip地址对应的至少一目标分支设备,并确定与目标分支设备协商的ipsecsa,其中,ipsecsa包括目标分支设备的标识;第一添加模块760,用于如果确定出的目标分支设备的数目为多个,则针对每个目标分支设备,根据该目标分支设备对应的ipsecsa,对第一通信报文进行封装,得到第二隧道报文,将第二隧道报文发送给该目标分支设备,并在ipsec会话表中添加第一源ip地址、第一目的ip地址和该目标分支设备的标识的对应关系;第一接收模块770,用于接收多个目标分支设备中的第一分支设备发送的第三隧道报文,第三隧道报文中携带有第一分支设备的标识,第三隧道报文中的源ip地址为第一目的ip地址,目的ip地址为第一源ip地址;删除模块780,用于在ipsec会话表中删除源ip地址为第一源ip地址,目的ip地址为第一目的ip地址,且目的分支设备的标识与第一分支设备的标识不同的表项。可选的,如图9所示,该装置还包括:第二添加模块790,用于如果目标分支设备的数目为一个,则根据目标分支设备对应的ipsecsa对第一通信报文进行封装,得到第四隧道报文,将第四隧道报文发送给目标分支设备,并在ipsec会话表中添加第一源ip地址、第一目的ip地址和该目标分支设备的标识的对应关系。可选的,所述获取模块710,具体用于:解析源分支设备发送的隧道报文,获得第一通信报文和源分支设备的标识;第一添加模块760或第二添加模块790,具体用于:在ipsec会话表中添加第一源ip地址、第一目的ip地址、源分支设备的标识和该目标分支设备的标识的对应关系。可选的,如图10所示,该装置还包括:第二接收模块7100,用于接收目的分支设备发送的互联网密钥交换ike报文,ike报文中携带有目的分支设备的标识;第二协商模块7110,用于基于ike报文,与目的分支设备协商ikesa,ikesa包括目的分支设备的标识;第三协商模块7120,用于基于ikesa,与目的分支设备协商ipsecsa,ipsecsa包括目的分支设备的标识、第一源ip地址和第一目的ip地址。基于相同的技术构思,如图11所示,本申请实施例还提供了一种数据传输的装置,该装置应用于互联网协议安全ipsec网络中的分支设备,ipsec网络还包括中心设备,该装置包括:第一封装模块1110,用于根据与中心设备协商的ipsec安全联盟sa,对第一通信报文进行封装,得到目标隧道报文,第一通信报文中携带有第一源互联网协议ip地址和第一目的ip地址;第一发送模块1120,用于向中心设备发送目标隧道报文,以使中心设备根据第一源ip地址和第一目的ip地址,在预先存储的ipsec会话表中查询对应的目的分支设备的标识,并在查询到目的分支设备的标识时,根据第一源ip地址、第一目的ip地址和目的分支设备的标识,在预先协商的ipsec安全联盟sa中查询目标ipsecsa,根据目标ipsecsa,对第一通信报文进行封装,得到第一隧道报文,并将第一隧道报文发送给目的分支设备。可选的,如图12所示,该装置还包括:第一接收模块1130,用于向中心设备发送互联网密钥交换ike报文,ike报文中携带有分支设备的标识;第一协商模块1140,用于基于ike报文,与中心设备协商ikesa,ikesa包括分支设备的标识;第二协商模块1150,用于基于ikesa,与中心设备协商ipsecsa,ipsecsa包括分支设备的标识和安全策略,安全策略包括第一源ip地址和第一目的ip地址。可选的,如图13所示,该装置还包括:第二接收模块1160,用于接收中心设备发送的第二隧道报文,其中,第二隧道报文为根据协商的ipsecsa,对第一通信报文封装得到,第一通信报文包括第一源ip地址和第一目的ip地址;所述协商的ipsecsa包括本地分支设备的标识;第二发送模块1170,用于判断与本地连接的终端地址是否存在第一目的ip地址,若是,则向第一目的ip地址对应的终端发送第一通信报文;第二封装模块1180,用于接收第一目的ip地址对应的终端返回的第二通信报文,根据与中心设备协商的ipsecsa,对第二通信报文进行封装,得到第三隧道报文,第三隧道报文携带本地分支设备的标识;第三发送模块1190,用于向中心设备发送第三隧道报文。本申请实施例提供的数据传输的装置,中心设备可以获取第一通信报文。然后,中心设备根据第一通信报文携带的第一源ip地址和第一目的ip地址,在预先存储的ipsec会话表中查询对应的目的分支设备的标识。如果ipsec会话表中存在与第一源ip地址和第一目的ip地址对应的目的分支设备的标识,则中心设备根据第一源ip地址、第一目的ip地址和目的分支设备的标识,确定目标ipsecsa。最后,中心设备根据目标ipsecsa,对第一通信报文进行封装,得到第一隧道报文,并将第一隧道报文发送给目的分支设备。基于本方案,即使多个分支设备对应的安全策略的匹配范围重叠,中心设备也可以确定出唯一的目的分支设备,并将该通信报文转发给该目的分支设备,能够保证通信报文的正确转发。本申请实施例还提供了一种中心设备,如图14所示,包括处理器1401、通信接口1402、存储器1403和通信总线1404,其中,处理器1401,通信接口1402,存储器1403通过通信总线1404完成相互间的通信,存储器1403,用于存放计算机程序;处理器1401,用于执行存储器1403上所存放的程序时,以使该中心设备执行如下步骤,该步骤包括:获取第一通信报文,所述第一通信报文中携带有第一源互联网协议ip地址和第一目的ip地址;根据所述第一源ip地址和所述第一目的ip地址,在预先存储的ipsec会话表中查询对应的目的分支设备的标识,其中,所述ipsec会话表包括源ip地址、目的ip地址和目的分支设备的标识的对应关系;如果所述ipsec会话表中存在与所述第一源ip地址和所述第一目的ip地址对应的目的分支设备的标识,则根据所述第一源ip地址、所述第一目的ip地址和所述目的分支设备的标识,在预先协商的ipsec安全联盟sa中查询目标ipsecsa;根据所述目标ipsecsa,对所述第一通信报文进行封装,得到第一隧道报文,并将所述第一隧道报文发送给所述目的分支设备。可选的,处理器1401,用于执行存储器1403上所存放的程序时,以使该中心设备执行如下步骤:如果所述ipsec会话表中不存在与所述第一源ip地址和所述第一目的ip地址对应的目的分支设备的标识,则根据所述第一源ip地址、所述第一目的ip地址和各分支设备对应的安全策略,确定与所述第一源ip地址、所述第一目的ip地址对应的至少一目标分支设备,并确定与所述目标分支设备协商的ipsecsa,其中,所述ipsecsa包括所述目标分支设备的标识;如果确定出的目标分支设备的数目为多个,则针对每个目标分支设备,根据该目标分支设备对应的ipsecsa,对所述第一通信报文进行封装,得到第二隧道报文,将所述第二隧道报文发送给该目标分支设备,并在所述ipsec会话表中添加所述第一源ip地址、所述第一目的ip地址和该目标分支设备的标识的对应关系;接收多个目标分支设备中的第一分支设备发送的第三隧道报文,所述第三隧道报文中携带有所述第一分支设备的标识,所述第三隧道报文中的源ip地址为所述第一目的ip地址,目的ip地址为所述第一源ip地址;在所述ipsec会话表中删除源ip地址为所述第一源ip地址,目的ip地址为所述第一目的ip地址,且目的分支设备的标识与所述第一分支设备的标识不同的表项。可选的,处理器1401,用于执行存储器1403上所存放的程序时,以使该中心设备执行如下步骤:如果所述目标分支设备的数目为一个,则根据所述目标分支设备对应的ipsecsa对所述第一通信报文进行封装,得到第四隧道报文,将所述第四隧道报文发送给所述目标分支设备,并在所述ipsec会话表中添加所述第一源ip地址、所述第一目的ip地址和该目标分支设备的标识的对应关系。可选的,所述获取第一通信报文,包括:解析源分支设备发送的隧道报文,获得第一通信报文和源分支设备的标识;所述在所述ipsec会话表中添加所述第一源ip地址、所述第一目的ip地址和该目标分支设备的标识的对应关系,包括:在所述ipsec会话表中添加所述第一源ip地址、所述第一目的ip地址、所述源分支设备的标识和该目标分支设备的标识的对应关系。可选的,处理器1401,用于执行存储器1403上所存放的程序时,以使该中心设备执行如下步骤:接收所述目的分支设备发送的互联网密钥交换ike报文,所述ike报文中携带有所述目的分支设备的标识;基于所述ike报文,与所述目的分支设备协商ikesa,所述ikesa包括所述目的分支设备的标识;基于所述ikesa,与所述目的分支设备协商ipsecsa,所述ipsecsa包括所述目的分支设备的标识、所述第一源ip地址和所述第一目的ip地址。本申请实施例还提供了一种分支设备,如图15所示,包括处理器1501、通信接口1502、存储器1503和通信总线1504,其中,处理器1501,通信接口1502,存储器1503通过通信总线1504完成相互间的通信,存储器1503,用于存放计算机程序;处理器1501,用于执行存储器1503上所存放的程序时,以使该分支设备执行如下步骤,该步骤包括:根据与所述中心设备协商的ipsec安全联盟sa,对第一通信报文进行封装,得到目标隧道报文,所述第一通信报文中携带有第一源互联网协议ip地址和第一目的ip地址;向所述中心设备发送目标隧道报文,以使所述中心设备根据所述第一源ip地址和所述第一目的ip地址,在预先存储的ipsec会话表中查询对应的目的分支设备的标识,并在查询到目的分支设备的标识时,根据所述第一源ip地址、所述第一目的ip地址和所述目的分支设备的标识,在预先协商的ipsec安全联盟sa中查询目标ipsecsa,根据所述目标ipsecsa,对所述第一通信报文进行封装,得到第一隧道报文,并将所述第一隧道报文发送给所述目的分支设备。可选的,处理器1501,用于执行存储器1503上所存放的程序时,以使该分支设备执行如下步骤:向所述中心设备发送互联网密钥交换ike报文,所述ike报文中携带有所述分支设备的标识;基于所述ike报文,与所述中心设备协商ikesa,所述ikesa包括所述分支设备的标识;基于所述ikesa,与所述中心设备协商ipsecsa,所述ipsecsa包括所述分支设备的标识和安全策略,所述安全策略包括所述第一源ip地址和所述第一目的ip地址。可选的,处理器1501,用于执行存储器1503上所存放的程序时,以使该分支设备执行如下步骤:接收所述中心设备发送的第二隧道报文,其中,所述第二隧道报文为根据与所述中心设备协商的ipsecsa,对第一通信报文封装得到,所述第一通信报文包括第一源ip地址和所述第一目的ip地址;所述协商的ipsecsa包括本地分支设备的标识;判断与本地连接的终端地址是否存在第一目的ip地址,若是,则向所述第一目的ip地址对应的终端发送所述第一通信报文;接收所述第一目的ip地址对应的终端返回的第二通信报文,根据与所述中心设备协商的ipsecsa,对所述第二通信报文进行封装,得到第三隧道报文,第三隧道报文携带本地分支设备的标识;向所述中心设备发送所述第三隧道报文。上述电子设备提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于上述电子设备与其他设备之间的通信。存储器可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的数据传输的方法。在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的数据传输的方法。在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1