CN112272134B - IPSec隧道建立方法及装置、分支设备、中心端设备 - Google Patents

IPSec隧道建立方法及装置、分支设备、中心端设备 Download PDF

Info

Publication number
CN112272134B
CN112272134B CN202011366555.XA CN202011366555A CN112272134B CN 112272134 B CN112272134 B CN 112272134B CN 202011366555 A CN202011366555 A CN 202011366555A CN 112272134 B CN112272134 B CN 112272134B
Authority
CN
China
Prior art keywords
ipsec
hub
message
tunnel
spoke
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
Application number
CN202011366555.XA
Other languages
English (en)
Other versions
CN112272134A (zh
Inventor
林小洁
刘浩圻
卢祖友
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Maipu Communication Technology Co Ltd
Original Assignee
Maipu Communication Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Maipu Communication Technology Co Ltd filed Critical Maipu Communication Technology Co Ltd
Priority to CN202011366555.XA priority Critical patent/CN112272134B/zh
Publication of CN112272134A publication Critical patent/CN112272134A/zh
Application granted granted Critical
Publication of CN112272134B publication Critical patent/CN112272134B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2592Translation of Internet protocol [IP] addresses using tunnelling or encapsulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供一种IPSec隧道建立方法及装置、分支设备、中心端设备,应用于计算机网络领域,当Spoke向Hub发送第一IPSec协商报文以建立IPSec隧道时,Hub若判断第一IPSec协商报文对应的五元组与已建立的IPSec隧道对应的五元组存在冲突,则Hub可以告知Spoke将初始协议值修改为修改协议值,以利用第二IPSec协商报文再次与Hub建立IPSec隧道。因此,在IPSec隧道的建立过程出现冲突时,通过修改五元组中协议值的方式,得到与已建立的IPSec隧道对应的五元组不冲突的五元组,从而成功建立Spoke与Hub之间的IPSec隧道。

Description

IPSec隧道建立方法及装置、分支设备、中心端设备
技术领域
本申请涉及计算机网络领域,具体而言,涉及一种IPSec隧道建立方法及装置、分支设备、中心端设备。
背景技术
互联网线路上一般都有网络地址转换(Network Address Translation,NAT),在建立动态虚拟私有网络技术(Dynamic Virtual Private Network,DVPN)的过程中,DVPN网络中的分支设备Spoke一般接入互联网链路的接口的互联网协议地址(Internet ProtocolAddress,IP地址)为一个私网地址,而DVPN网络中的中心端设备Hub一般接入互联网接链路的接口的IP地址为公网地址。
在建立DVPN的基础上,可以使用互联网安全协议(Internet Protocol Security,IPSec)来保证数据传输的安全,也就是说,所有路由到DVPN隧道接口的报文都可以被IPsec保护,即实现了DVPN over IPsec。
由于DVPN封装后的报文中只有IP头信息,没有端口信息,而IPSec的数据流使用的五元组包括源IP地址、目的IP地址、协议值、源端口以及目的端口,此外,还可能出现多个Spoke的IP地址在访问Hub时被NAT成同一个IP地址。这样,在建立DVPN over IPsec时,Hub对应的多个Spoke的五元组可能一样,从而导致IPSec隧道的建立过程出现冲突。
发明内容
本申请实施例的目的在于提供一种IPSec隧道建立方法及装置、分支设备、中心端设备,用以解决IPSec隧道的建立过程出现冲突的技术问题。
为了实现上述目的,本申请实施例所提供的技术方案如下所示:
第一方面,本申请实施例提供一种IPSec隧道建立方法,应用于分支设备Spoke,包括:向中心端设备Hub发送第一IPSec协商报文;其中,所述第一IPSec协商报文的五元组中携带的协议值为初始协议值;若所述第一IPSec协商报文对应的五元组与已建立的IPSec隧道对应的五元组存在冲突,接收所述Hub根据所述第一IPSec协商报文返回的第一响应报文;其中,所述第一响应报文包括修改协议值;根据所述第一响应报文将所述初始协议值修改为所述修改协议值;向所述Hub发送第二IPSec协商报文;其中,所述第二IPSec协商报文的五元组中携带的协议值为所述修改协议值;接收所述Hub根据所述第二IPSec协商报文返回的第二响应报文;根据所述第二响应报文建立与所述Hub之间的IPSec隧道。在上述方案中,当Spoke向Hub发送第一IPSec协商报文以建立IPSec隧道时,Hub若判断第一IPSec协商报文对应的五元组与已建立的IPSec隧道对应的五元组存在冲突,则Hub可以告知Spoke将初始协议值修改为修改协议值,得到与第一IPSec协商报文对应的五元组不同的与第二IPSec协商报文对应的五元组,以利用第二IPSec协商报文再次与Hub建立IPSec隧道。因此,在IPSec隧道的建立过程出现冲突时,通过修改五元组中协议值的方式,得到与已建立的IPSec隧道对应的五元组不冲突的五元组,从而成功建立Spoke与Hub之间的IPSec隧道。
在本申请的可选实施例中,所述方法还包括:在建立所述IPSec隧道后,向所述Hub发送DVPN协商报文;接收所述Hub根据所述DVPN协商报文返回的第三响应报文;根据所述第三响应报文建立与所述Hub之间的DVPN隧道。在上述方案中,在建立IPSec隧道之后,可以向Hub发送DVPN协商报文,以根据DVPN协商报文建立Spoke与Hub之间的DVPN隧道,从而实现DVPN over IPsec。
第二方面,本申请实施例提供一种IPSec隧道建立方法,应用于中心端设备Hub,包括:接收分支设备Spoke发送的第一IPSec协商报文;其中,所述第一IPSec协商报文的五元组中携带的协议值为初始协议值;判断所述第一IPSec协商报文对应的五元组与已建立的IPSec隧道对应的五元组是否存在冲突;若所述第一IPSec协商报文对应的五元组与所述已建立的IPSec隧道对应的五元组存在冲突,则获取修改协议值,并根据所述第一IPSec协商报文生成第一响应报文;其中,所述第一响应报文包括所述修改协议值;向所述Spoke发送所述第一响应报文,并接收所述Hub发送的第二IPSec协商报文;其中,所述第二IPSec协商报文的五元组中携带的协议值为所述修改协议值;根据所述第二IPSec协商报文生成第二响应报文,并向所述Spoke发送所述第二响应报文,以使所述Spoke根据所述第二响应报文建立与所述Hub之间的IPSec隧道。在上述方案中,当Spoke向Hub发送第一IPSec协商报文以建立IPSec隧道时,Hub若判断第一IPSec协商报文对应的五元组与已建立的IPSec隧道对应的五元组存在冲突,则Hub可以告知Spoke将初始协议值修改为修改协议值,得到与第一IPSec协商报文对应的五元组不同的与第二IPSec协商报文对应的五元组,以利用第二IPSec协商报文再次与Hub建立IPSec隧道。因此,在IPSec隧道的建立过程出现冲突时,通过修改五元组中协议值的方式,得到与已建立的IPSec隧道对应的五元组不冲突的五元组,从而成功建立Spoke与Hub之间的IPSec隧道。
在本申请的可选实施例中,所述判断所述第一IPSec协商报文对应的五元组与已建立的IPSec隧道对应的五元组是否存在冲突,包括:判断所述第一IPSec协商报文对应的五元组与所述已建立的IPSec隧道对应的五元组是否相同,若相同,则存在冲突,若不相同,则不存在冲突。在上述方案中,第一IPSec协商报文对应的五元组与已建立的IPSec隧道对应的五元组相同时,可以认为第一IPSec协商报文对应的五元组与已建立的IPSec隧道对应的五元组存在冲突,此时,无法正常建立Spoke与Hub之间的IPSec隧道。
在本申请的可选实施例中,所述方法还包括:在建立所述IPSec隧道后,接收所述Spoke发送的DVPN协商报文;根据所述DVPN协商报文生成DVPN隧道对应的关联表项以及第三响应报文;其中,所述关联表项包括所述修改协议值;向所述Spoke发送所述第三响应报文,以使所述Spoke根据所述第三响应报文建立与所述Hub之间的所述DVPN隧道。在上述方案中,在建立IPSec隧道之后,可以向Hub发送DVPN协商报文,以根据DVPN协商报文建立Spoke与Hub之间的DVPN隧道,从而实现DVPN over IPsec。
在本申请的可选实施例中,所述方法还包括:在建立所述DVPN隧道之后,接收原始数据报文;通过所述DVPN隧道对所述原始数据报文进行封装,得到DVPN隧道封装后的GRE报文;其中,所述GRE报文包括所述修改协议值;根据所述修改协议值所在的五元组查找所述IPSec隧道对应的所述IPSec安全策略;利用所述IPSec安全策略对所述GRE报文进行封装,得到封装后的IPsec报文;其中,所述IPsec报文包括所述初始协议值;向所述Spoke发送所述IPsec报文。在上述方案中,在建立DVPN隧道之后,Hub可以向Spoke传输数据,Hub在接收到原始数据报文后,可以得到包括修改协议值的DVPN隧道封装后的GRE报文,然后利用IPSec安全策略对GRE报文进行封装,得到包括初始协议值的封装后的IPsec报文,以实现对原始报文进行IPSec封装。
第三方面,本申请实施例提供一种IPSec隧道建立装置,应用于分支设备Spoke,包括:第一发送模块,用于向中心端设备Hub发送第一IPSec协商报文;其中,所述第一IPSec协商报文的五元组中携带的协议值为初始协议值;第一接收模块,用于若所述第一IPSec协商报文对应的五元组与已建立的IPSec隧道对应的五元组存在冲突,接收所述Hub根据所述第一IPSec协商报文返回的第一响应报文;其中,所述第一响应报文包括修改协议值;修改模块,用于根据所述第一响应报文将所述初始协议值修改为所述修改协议值;第二发送模块,用于向所述Hub发送第二IPSec协商报文;其中,所述第二IPSec协商报文的五元组中携带的协议值为所述修改协议值;第二接收模块,用于接收所述Hub根据所述第二IPSec协商报文返回的第二响应报文;第一建立模块,用于根据所述第二响应报文建立与所述Hub之间的IPSec隧道。在上述方案中,当Spoke向Hub发送第一IPSec协商报文以建立IPSec隧道时,Hub若判断第一IPSec协商报文对应的五元组与已建立的IPSec隧道对应的五元组存在冲突,则Hub可以告知Spoke将初始协议值修改为修改协议值,得到与第一IPSec协商报文对应的五元组不同的与第二IPSec协商报文对应的五元组,以利用第二IPSec协商报文再次与Hub建立IPSec隧道。因此,在IPSec隧道的建立过程出现冲突时,通过修改五元组中协议值的方式,得到与已建立的IPSec隧道对应的五元组不冲突的五元组,从而成功建立Spoke与Hub之间的IPSec隧道。
在本申请的可选实施例中,所述装置还包括:第四发送模块,用于在建立所述IPSec隧道后,向所述Hub发送DVPN协商报文;第四接收模块,用于接收所述Hub根据所述DVPN协商报文返回的第三响应报文;第二建立模块,用于根据所述第三响应报文建立与所述Hub之间的DVPN隧道。在上述方案中,在建立IPSec隧道之后,可以向Hub发送DVPN协商报文,以根据DVPN协商报文建立Spoke与Hub之间的DVPN隧道,从而实现DVPN over IPsec。
第四方面,本申请实施例提供一种IPSec隧道建立装置,应用于中心端设备Hub,包括:第三接收模块,用于接收分支设备Spoke发送的第一IPSec协商报文;其中,所述第一IPSec协商报文的五元组中携带的协议值为初始协议值;判断模块,用于判断所述第一IPSec协商报文对应的五元组与已建立的IPSec隧道对应的五元组是否存在冲突;获取模块,用于若所述第一IPSec协商报文对应的五元组与所述已建立的IPSec隧道对应的五元组存在冲突,则获取修改协议值,并根据所述第一IPSec协商报文生成第一响应报文;其中,所述第一响应报文包括所述修改协议值;第三发送模块,用于向所述Spoke发送所述第一响应报文,并接收所述Hub发送的第二IPSec协商报文;其中,所述第二IPSec协商报文的五元组中携带的协议值为所述修改协议值;第一生成模块,用于根据所述第二IPSec协商报文生成第二响应报文,并向所述Spoke发送所述第二响应报文,以使所述Spoke根据所述第二响应报文建立与所述Hub之间的IPSec隧道。在上述方案中,当Spoke向Hub发送第一IPSec协商报文以建立IPSec隧道时,Hub若判断第一IPSec协商报文对应的五元组与已建立的IPSec隧道对应的五元组存在冲突,则Hub可以告知Spoke将初始协议值修改为修改协议值,得到与第一IPSec协商报文对应的五元组不同的与第二IPSec协商报文对应的五元组,以利用第二IPSec协商报文再次与Hub建立IPSec隧道。因此,在IPSec隧道的建立过程出现冲突时,通过修改五元组中协议值的方式,得到与已建立的IPSec隧道对应的五元组不冲突的五元组,从而成功建立Spoke与Hub之间的IPSec隧道。
在本申请的可选实施例中,所述判断模块还用于:判断所述第一IPSec协商报文对应的五元组与所述已建立的IPSec隧道对应的五元组是否相同,若相同,则存在冲突,若不相同,则不存在冲突。在上述方案中,第一IPSec协商报文对应的五元组与已建立的IPSec隧道对应的五元组相同时,可以认为第一IPSec协商报文对应的五元组与已建立的IPSec隧道对应的五元组存在冲突,此时,无法正常建立Spoke与Hub之间的IPSec隧道。
在本申请的可选实施例中,所述装置还包括:第五接收模块,用于在建立所述IPSec隧道后,接收所述Spoke发送的DVPN协商报文;第二生成模块,用于根据所述DVPN协商报文生成DVPN隧道对应的关联表项以及第三响应报文;其中,所述关联表项包括所述修改协议值;第五发送模块,用于向所述Spoke发送所述第三响应报文,以使所述Spoke根据所述第三响应报文建立与所述Hub之间的所述DVPN隧道。在上述方案中,在建立IPSec隧道之后,可以向Hub发送DVPN协商报文,以根据DVPN协商报文建立Spoke与Hub之间的DVPN隧道,从而实现DVPN over IPsec。
在本申请的可选实施例中,所述装置还包括:第六接收模块,用于在建立所述DVPN隧道之后,接收原始数据报文;第一封装模块,用于通过所述DVPN隧道对所述原始数据报文进行封装,得到DVPN隧道封装后的GRE报文;其中,所述GRE报文包括所述修改协议值;查找模块,用于根据所述修改协议值所在的五元组查找所述IPSec隧道对应的所述IPSec安全策略;第二封装模块,用于利用所述IPSec安全策略对所述GRE报文进行封装,得到封装后的IPsec报文;其中,所述IPsec报文包括所述初始协议值;第六发送模块向所述Spoke发送所述IPsec报文。在上述方案中,在建立DVPN隧道之后,Hub可以向Spoke传输数据,Hub在接收到原始数据报文后,可以得到包括修改协议值的DVPN隧道封装后的GRE报文,然后利用IPSec安全策略对GRE报文进行封装,得到包括初始协议值的封装后的IPsec报文,以实现对原始报文进行IPSec封装。
第五方面,本申请实施例提供一种分支设备Spoke,包括:处理器、存储器和总线;所述处理器和所述存储器通过所述总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如第一方面中的IPSec隧道建立方法。
第六方面,本申请实施例提供一种中心端设备Hub,包括:处理器、存储器和总线;所述处理器和所述存储器通过所述总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如第二方面中的IPSec隧道建立方法。
第七方面,本申请实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如第一方面中的IPSec隧道建立方法或者如第二方面中的IPSec隧道建立方法。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举本申请实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种电子设备的结构框图;
图2为本申请实施例提供的一种IPSec隧道建立系统的结构示意图;
图3为本申请实施例提供的一种IPSec隧道建立方法的交互图;
图4为本申请实施例提供的一种DVPN隧道建立方法的交互图;
图5为本申请实施例提供的Spoke将数据传输给Hub的传输过程的交互图;
图6为本申请实施例提供的Hub将数据传输给Spoke的传输过程的交互图;
图7为本申请实施例提供的一种应用于Spoke的IPSec隧道建立装置的结构框图;
图8为本申请实施例提供的一种应用于Hub的IPSec隧道建立装置的结构框图。
图标:100-电子设备;101-处理器;102-通信接口;103-存储器;104-总线;200-IPSec隧道建立系统;201-Spoke;202-Hub;203-网络地址转换设备。
具体实施方式
在介绍本申请实施例提供的网络通信方法之前,先介绍本申请实施例所涉及的一些概念,本申请实施例所涉及的一些概念如下:
网络地址转换(Network Address Translation,NAT),是指内网的IP地址与公网的地址之间的相互转换的技术,该技术将大量的内网IP地址转换为一个或少量的公网IP地址,减少对公网IP地址的占用。
动态虚拟私有网络技术(Dynamic Virtual Private Network,DVPN),通过动态获取对端的信息建立虚拟专用网络(Virtual Private Network,VPN)连接。
互联网安全协议(Internet Protocol Security,IPSec),是一个协议包,通过对互联网协议(Internet Protocol,IP)的分组进行加密和认证来保护IP协议的网络传输协议族(一些相互关联的协议的集合)。
IPsec传输模式,保护原始IP头部后面的数据,在原始IP头和载荷间插入IPSec头部(ESP或AH)。
IPsec中的五元组,包括源IP地址、目的IP地址、协议值、源端口以及目的端口,用于匹配不同的IPSec安全策略。
通用路由封装(Generic Routing Encapsulation,GRE),可以对某些网络层协议的数据报进行封装,使这些被封装的数据报能够在IPv4网络中传输。其中,在GRE中,协议值可以默认为47。
DVPN over IPSec,原始报文经过DVPN隧道封装后,再进行IPSec隧道加密封装。
请参照图1,图1为本申请实施例提供的一种电子设备的结构框图,其中,本申请实施例中的分支设备Spoke以及中心端设备Hub均可以采用本申请实施例提供的电子设备100实现。该电子设备100包括:至少一个处理器101,至少一个通信接口102,至少一个存储器103和至少一个通信总线104。其中,通信总线104用于实现这些组件直接的连接通信,通信接口102用于与其他节点设备进行信令或数据的通信,存储器103存储有处理器101可执行的机器可读指令。当电子设备100运行时,处理器101与存储器103之间通过通信总线104通信,机器可读指令被处理器101调用时执行本申请实施例中的IPSec隧道建立方法。
处理器101可以是一种集成电路芯片,具有信号处理能力。上述处理器101可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。其可以实现或者执行本申请实施例中公开的各种方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器103可以包括但不限于随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
可以理解,图1所示的结构仅为示意,电子设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。于本申请实施例中,电子设备100可以是,但不限于台式机、笔记本电脑、智能手机、智能穿戴设备、车载设备等实体设备,还可以是虚拟机等虚拟设备。另外,电子设备100也不一定是单台设备,还可以是多台设备的组合,例如服务器集群,等等。
请参照图2,图2为本申请实施例提供的一种IPSec隧道建立系统的结构示意图,该IPSec隧道建立系统200可以包括至少一个Spoke201、至少一个Hub202以及至少一个网络地址转换设备203。其中,Spoke201与Hub202之间可以建立IPSec隧道以及DVPN隧道,以通过DVPN over IPSec实现Spoke201与Hub202之间额数据传输;网络地址转换设备203可以将向不同的Spoke201分配相同的公网地址。
可以理解的是,本申请实施例对IPSec隧道建立系统200中Spoke201、Hub202以及网络地址转换设备203的数量均不作具体的限定,本领域技术人员可以根据实际情况进行合适的选择。在本申请实施例中,以图2所示的IPSec隧道建立系统200为例,即以IPSec隧道建立系统200中包括三个Spoke201(SpokeA、SpokeB、SpokeC)、一个Hub202以及两个网络地址转换设备203(网络地址转换设备A、网络地址转换设备B)为例,对IPSec隧道建立系统200的运行原理进行详细的介绍。
如图2所示,SpokeA以及SpokeB通过同一个网络地址转换设备A分配了相同的公网地址IP3,而SpokeA的私网地址为IP1,SpokeB的私网地址为IP2;SpokeC通过与SpokeA相同的互联网服务提供商(Internet Service Provider,ISP)获取到了与SpokeA相同的私网地址IP1,SpokeC通过网络地址转换设备B分配了相同的公网地址IP4;Hub的私网地址为IP5。
因此,在SpokeA、SpokeB、SpokeC分别与Hub建立IPSec隧道的过程中,SpokeA提供的五元组为:IP3 IP5 47any any;SpokeB提供的五元组为:IP3 IP5 47any any;SpokeC提供的五元组为:IP4 IP5 47any any。可以看出,SpokeA提供的五元组与SpokeB提供的五元组相同,SpokeC提供的五元组与SpokeA提供的五元组以及SpokeB提供的五元组均不相同。因此,若SpokeA与Hub已建立IPSec隧道,SpokeB在建立IPSec隧道的过程中会出现冲突,导致IPSec隧道建立失败,而SpokeC可以正常建立IPSec隧道。
基于上述分析,本申请实施例还提供了一种IPSec隧道建立方法,在该IPSec隧道建立方法中,当某一Spoke向Hub发送IPSec协商报文以建立IPSec隧道时,Hub若判断IPSec协商报文中的五元组与已建立的IPSec隧道对应的五元组存在冲突,则Spoke可以通过将五元组中初始协议值修改为修改协议值的方式,得到不同的五元组,以利用修改后不同的五元组再次与Hub建立IPSec隧道。
下面将结合本申请实施例中的附图,对本申请实施例提供的IPSec隧道建立方法进行详细介绍。
请参照图3,图3为本申请实施例提供的一种IPSec隧道建立方法的交互图,该IPSec隧道建立方法可以包括以下步骤:
步骤S301:Spoke向中心端设备Hub发送第一IPSec协商报文。
步骤S302:Hub接收分支设备Spoke发送的第一IPSec协商报文。
步骤S303:Hub判断第一IPSec协商报文对应的五元组与已建立的IPSec隧道对应的五元组是否存在冲突。
步骤S304:若第一IPSec协商报文对应的五元组与已建立的IPSec隧道对应的五元组存在冲突,Hub则获取修改协议值,并根据第一IPSec协商报文生成第一响应报文。
步骤S305:Hub向Spoke发送第一响应报文。
步骤S306:Spoke接收Hub根据第一IPSec协商报文返回的第一响应报文。
步骤S307:Spoke根据第一响应报文将初始协议值修改为修改协议值。
步骤S308:Spoke向Hub发送第二IPSec协商报文。
步骤S309:Hub接收Spoke发送的第二IPSec协商报文。
步骤S310:Hub根据第二IPSec协商报文生成第二响应报文,并向Spoke发送第二响应报文。
步骤S311:Spoke接收Hub根据第二IPSec协商报文返回的第二响应报文。
步骤S312:Spoke根据第二响应报文建立与Hub之间的IPSec隧道。
在可选的实施方式中,当某一个Spoke与对应的Hub之间需要建立IPSec隧道时,Spoke可以向Hub发送一个第一IPSec协商报文。其中,该第一IPSec协商报文的五元组中携带的协议值为初始协议值。
作为一种实施方式,上述步骤S301的执行时机可以为IKE Phase2阶段,也就是建立IPSec隧道的第二个阶段,因此对应的,第一IPSec协商报文表示在IKE Phase2阶段中,Spoke向Hub发送的协商报文。
Hub在接收到上述第一IPSec协商报文之后,可以判断该Spoke是否可以成功与Hub建立IPSec隧道,也就是判断上述第一协商报文对应五元组与已建立的其他IPSec隧道对应的五元组是否存在冲突。
可以理解的是,当上述Spoke为第一个与Hub建立IPSec隧道的Spoke时,尚不存在已建立的其他IPSec隧道,自然不存在上述冲突。
以图2中的IPSec隧道建立系统为例,上述IPSec隧道建立系统中可能存在三种情况:第一种情况,该Spoke与另一Spoke通过同一个网络地址转换设备分配了相同的公网地址,但另一Spoke未与Hub建立IPSec隧道;第二种情况,该Spoke未与其他Spoke通过同一个网络地址转换设备分配相同的公网地址;第三种情况,该Spoke与另一Spoke通过同一个网络地址转换设备分配了相同的公网地址,且另一Spoke已经与Hub建立了IPSec隧道。
针对上述第一种情况以及第二种情况,Hub判断上述第一协商报文对应的五元组与已建立的其他IPSec隧道对应的五元组不存在冲突,此时,Spoke与Hub可以正常执行建立IPSec隧道的步骤:
第一步,Spoke向Hub发送第一IPSec协商报文。
第二步,Hub接收Spoke发送的第一IPSec协商报文。
第三步,Hub根据第一IPSec协商报文判断第一协商报文对应的五元组与已建立的IPSec隧道对应的五元组不存在冲突,则根据第一IPSec协商报文生成对应的响应报文,并向Spoke发送上述响应报文。
第四步,Spoke接收上述响应报文,并根据上述响应报文建立与Hub之间的IPSec隧道。
可以理解的是,上述建立IPSec隧道的步骤仅为本申请实施例提供的实施方式,其详细的实现方式可以参考现有技术中的实现方式,此处不进行具体阐述。
针对上述第三种情况,Hub判断上述第一协商报文对应的五元组与已建立的其他IPSec隧道对应的五元组存在冲突,此时,Hub可以向Spoke返回一个包括修改协议值的第一响应报文。Spoke在接收到上述第一响应报文之后,可以执行将第一协商报文对应的五元组中的初始协议值进行修改,修改为上述修改协议值的步骤,以使修改后得到的五元组与已建立的其他IPSec隧道对应的五元组不一样。
其中,Hub获取修改协议值的方式有多种。举例来说,Hub可以接收用户输入的协议值作为修改协议值;或者,Hub可以从一个预设范围内的协议值中选取一个协议值作为修改协议值,其中,Hub可以从预设范围内的协议值中选取一个在之前建立IPSec隧道的过程中没有使用过的协议值,从而避免重复协商。可以理解的是,在上述实施例中,预设范围可以表示从数值大小为a的协议值到数值大小为b的协议值,例如:141-255。
Hub在获取到修改协议值之后,可以将修改协议值发送给Spoke,Spoke将初始协议值修改为上述修改协议值。然后,Spoke可以根据修改协议值生成新的第二IPSec协商报文,并将第二IPSec协商报文发送给Hub,并与Hub建立IPSec隧道。
在上述方案中,当Spoke向Hub发送第一IPSec协商报文以建立IPSec隧道时,Hub若判断第一IPSec协商报文对应的五元组与已建立的IPSec隧道对应的五元组存在冲突,则Hub可以告知Spoke将初始协议值修改为修改协议值,得到与第一IPSec协商报文对应的五元组不同的与第二IPSec协商报文对应的五元组,以利用第二IPSec协商报文再次与Hub建立IPSec隧道。因此,在IPSec隧道的建立过程出现冲突时,通过修改五元组中协议值的方式,得到与已建立的IPSec隧道对应的五元组不冲突的五元组,从而成功建立Spoke与Hub之间的IPSec隧道。
进一步的,在建立了Spoke与Hub之间的IPSec隧道之后,为了实现两端的DVPNover IPSec,还可以基于建立好的IPSec隧道建立Spoke与Hub之间的DVPN隧道。请参照图4,图4为本申请实施例提供的一种DVPN隧道建立方法的交互图,该DVPN隧道建立方法可以包括如下步骤:
步骤S401:Spoke向Hub发送DVPN协商报文。
步骤S402:Hub接收Spoke发送的DVPN协商报文。
步骤S403:Hub根据DVPN协商报文生成DVPN隧道对应的关联表项以及第三响应报文。
步骤S404:Hub向Spoke发送第三响应报文。
步骤S405:Spoke接收Hub根据DVPN协商报文返回的第三响应报文。
步骤S406:Spoke根据第三响应报文建立与Hub之间的DVPN隧道。
在可选的实施方式中,与IPSec隧道建立方法类似,当某一个Spoke与对应的Hub之间需要建立DVPN隧道时,Spoke可以向Hub发送一个DVPN协商报文,作为一种实施方式,Spoke可以通过下一跳解析协议(Next Hop Resolution Protocol,NHRP)扩展字段携带修改后的修改协议值,以通知Hub对应Spoke的协议值已经修改。
然后,Hub可以生成一个DVPN隧道对应的关联表项以及对应的第三响应报文,并将修改后的修改协议值记录在关联表项中。最后,Spoke可以根据第三响应报文建立与Hub之间的DVPN隧道。
可以理解的是,上述建立DVPN隧道的步骤同样仅为本申请实施例提供的实施,其详细的实现方式可以参考现有技术中的实现方式,此处不进行具体阐述。
在上述方案中,在建立IPSec隧道之后,在建立IPSec隧道之后,可以向Hub发送DVPN协商报文,以根据DVPN协商报文建立Spoke与Hub之间的DVPN隧道,从而实现DVPN overIPsec。
进一步的,在完成IPSec隧道以及DVPN隧道的建立之后,便可以在Spoke与Hub之间进行数据传输。其中,数据传输的过程根据传输方向的不同分为两种情况:第一种情况,Spoke将数据传输给Hub;第二种情况,Hub将数据传输给Spoke。
下面分别对两种情况下的传输过程进行详细的介绍。
请参照图5,图5为本申请实施例提供的Spoke将数据传输给Hub的传输过程的交互图,该传输过程可以包括如下步骤:
步骤S501:Spoke接收原始数据报文。
步骤S502:Spoke通过DVPN隧道对原始数据报文进行封装,得到DVPN隧道封装后的GRE报文。
步骤S503:Spoke通过IPSec安全策略对GRE报文进行封装,得到封装后的IPsec报文。
步骤S504:Spoke向Hub发送IPsec报文。
步骤S505:Hub接收Spoke发送的IPsec报文。
步骤S506:Hub根据IPsec报文中的SPI字段查找对应的IPSec隧道。
步骤S507:Hub利用查找到的IPSec隧道对IPsec报文进行IPSec解封装,得到IPSec解封装后的报文。
步骤S508:Hub利用DVPN隧道对IPSec解封装后的报文进行DVPN解封装,得到DVPN解封后的报文。
在可选的实施方式中,Spoke在接收到原始数据报文后,可以按照现有技术中的方式对原始数据报文进行DVPN封装以及IPSec加密封装,并将封装后得到的IPSec报文转发给Hub。
Hub在接收到IPSec报文后,首先可以根据IPsec报文中的AH或者ESP协议头中的SPI字段查找对应的IPSec隧道对IPsec报文进行IPSec解封装。然后,再利用DVPN隧道对解封装后的报文进行DVPN解封装。
在上述方案中,在建立DVPN隧道之后,Spoke可以向Hub传输数据,Hub在接收到Spoke发送的IPSec报文后,可以查找对应的IPsec隧道,以实现对IPSec报文进行IPSec解封装。
请参照图6,图6为本申请实施例提供的Hub将数据传输给Spoke的传输过程的交互图,该传输过程可以包括如下步骤:
步骤S601:Hub接收原始数据报文。
步骤S602:Hub通过DVPN隧道对原始数据报文进行封装,得到DVPN隧道封装后的GRE报文。
步骤S603:Hub根据修改协议值所在的五元组查找IPSec隧道对应的IPSec安全策略。
步骤S604:Hub利用IPSec安全策略对GRE报文进行封装,得到封装后的IPsec报文。
步骤S605:Hub向Spoke发送IPsec报文。
步骤S606:Spoke接收Hub发送的IPsec报文。
步骤S607:Spoke利用IPSec隧道对IPsec报文进行IPSec解封装,得到IPSec解封装后的报文。
步骤S608:Spoke利用DVPN隧道对IPSec解封装后的报文进行DVPN解封装,得到DVPN解封装后的报文。
在可选的实施方式中,Hub在接收到原始数据报文后,由于在建立IPSec隧道的过程中,该第一协商报文对应的五元组中的协议值进行了修改,Hub在Dvpn封装完成后,其得到的DVPN隧道封装后的GRE报文中的IP头部是修改后的协议值。
然后,Hub可以根据修改后的协议值查找对应的IPSec安全策略对GRE报文进行加密封装,且在完成IPSec封装后,其得到的封装后的IPsec报文中的IP头部已经修改为了修改前的初始协议值。
Spoke可以按照现有技术中的方式对IPSec报文进行IPSec解封装以及DVPN解封装。
在上述方案中,在建立DVPN隧道之后,Hub可以向Spoke传输数据,Hub在接收到原始数据报文后,可以得到包括修改协议值的DVPN隧道封装后的GRE报文,然后利用IPSec安全策略对GRE报文进行封装,得到包括初始协议值的封装后的IPsec报文,以实现对原始报文进行IPSec封装。
请参照图7,图7为本申请实施例提供的一种应用Spoke的IPSec隧道建立装置的结构框图,该IPSec隧道建立装置700可以包括:第一发送模块701,用于向中心端设备Hub发送第一IPSec协商报文;其中,所述第一IPSec协商报文的五元组中携带的协议值为初始协议值;第一接收模块702,用于若所述第一IPSec协商报文对应的五元组与已建立的IPSec隧道对应的五元组存在冲突,接收所述Hub根据所述第一IPSec协商报文返回的第一响应报文;其中,所述第一响应报文包括修改协议值;修改模块703,用于根据所述第一响应报文将所述初始协议值修改为所述修改协议值;第二发送模块704,用于向所述Hub发送第二IPSec协商报文;其中,所述第二IPSec协商报文的五元组中携带的协议值为所述修改协议值;第二接收模块705,用于接收所述Hub根据所述第二IPSec协商报文返回的第二响应报文;第一建立模块706,用于根据所述第二响应报文建立与所述Hub之间的IPSec隧道。
在本申请实施例中,当Spoke向Hub发送第一IPSec协商报文以建立IPSec隧道时,Hub若判断第一IPSec协商报文对应的五元组与已建立的IPSec隧道对应的五元组存在冲突,则Hub可以告知Spoke将初始协议值修改为修改协议值,得到与第一IPSec协商报文对应的五元组不同的与第二IPSec协商报文对应的五元组,以利用第二IPSec协商报文再次与Hub建立IPSec隧道。因此,在IPSec隧道的建立过程出现冲突时,通过修改五元组中协议值的方式,得到与已建立的IPSec隧道对应的五元组不冲突的五元组,从而成功建立Spoke与Hub之间的IPSec隧道。
进一步的,所述IPSec隧道建立装置700还包括:第四发送模块,用于在建立所述IPSec隧道后,向所述Hub发送DVPN协商报文;第四接收模块,用于接收所述Hub根据所述DVPN协商报文返回的第三响应报文;第二建立模块,用于根据所述第三响应报文建立与所述Hub之间的DVPN隧道。
在本申请实施例中,在建立IPSec隧道之后,可以向Hub发送DVPN协商报文,以根据DVPN协商报文建立Spoke与Hub之间的DVPN隧道,从而实现DVPN over IPsec。
请参照图8,图8为本申请实施例提供的一种应用于Hub的IPSec隧道建立装置的结构框图,该IPSec隧道建立装置800可以包括:第三接收模块801,用于接收分支设备Spoke发送的第一IPSec协商报文;其中,所述第一IPSec协商报文的五元组中携带的协议值为初始协议值;判断模块802,用于判断所述第一IPSec协商报文对应的五元组与已建立的IPSec隧道对应的五元组是否存在冲突;获取模块803,用于若所述第一IPSec协商报文对应的五元组与所述已建立的IPSec隧道对应的五元组存在冲突,则获取修改协议值,并根据所述第一IPSec协商报文生成第一响应报文;其中,所述第一响应报文包括所述修改协议值;第三发送模块804,用于向所述Spoke发送所述第一响应报文,并接收所述Hub发送的第二IPSec协商报文;其中,所述第二IPSec协商报文的五元组中携带的协议值为所述修改协议值;第一生成模块805,用于根据所述第二IPSec协商报文生成第二响应报文,并向所述Spoke发送所述第二响应报文,以使所述Spoke根据所述第二响应报文建立与所述Hub之间的IPSec隧道。
在本申请实施例中,当Spoke向Hub发送第一IPSec协商报文以建立IPSec隧道时,Hub若判断第一IPSec协商报文对应的五元组与已建立的IPSec隧道对应的五元组存在冲突,则Hub可以告知Spoke将初始协议值修改为修改协议值,得到与第一IPSec协商报文对应的五元组不同的与第二IPSec协商报文对应的五元组,以利用第二IPSec协商报文再次与Hub建立IPSec隧道。因此,在IPSec隧道的建立过程出现冲突时,通过修改五元组中协议值的方式,得到与已建立的IPSec隧道对应的五元组不冲突的五元组,从而成功建立Spoke与Hub之间的IPSec隧道。
进一步的,所述判断模块802还用于:判断所述第一IPSec协商报文对应的五元组与所述已建立的IPSec隧道对应的五元组是否相同,若相同,则存在冲突,若不相同,则不存在冲突。
在本申请实施例中,第一IPSec协商报文对应的五元组与已建立的IPSec隧道对应的五元组相同时,可以认为第一IPSec协商报文对应的五元组与已建立的IPSec隧道对应的五元组存在冲突,此时,无法正常建立Spoke与Hub之间的IPSec隧道。
进一步的,所述IPSec隧道建立装置800还包括:第五接收模块,用于在建立所述IPSec隧道后,接收所述Spoke发送的DVPN协商报文;第二生成模块,用于根据所述DVPN协商报文生成DVPN隧道对应的关联表项以及第三响应报文;其中,所述关联表项包括所述修改协议值;第五发送模块,用于向所述Spoke发送所述第三响应报文,以使所述Spoke根据所述第三响应报文建立与所述Hub之间的所述DVPN隧道。
在本申请实施例中,在建立IPSec隧道之后,可以向Hub发送DVPN协商报文,以根据DVPN协商报文建立Spoke与Hub之间的DVPN隧道,从而实现DVPN over IPsec。
进一步的,所述IPSec隧道建立装置800还包括:第六接收模块,用于在建立所述DVPN隧道之后,接收原始数据报文;第一封装模块,用于通过所述DVPN隧道对所述原始数据报文进行封装,得到DVPN隧道封装后的GRE报文;其中,所述GRE报文包括所述修改协议值;查找模块,用于根据所述修改协议值所在的五元组查找所述IPSec隧道对应的所述IPSec安全策略;第二封装模块,用于利用所述IPSec安全策略对所述GRE报文进行封装,得到封装后的IPsec报文;其中,所述IPsec报文包括所述初始协议值;第六发送模块向所述Spoke发送所述IPsec报文。
在本申请实施例中,在建立DVPN隧道之后,Hub可以向Spoke传输数据,Hub在接收到原始数据报文后,可以得到包括修改协议值的DVPN隧道封装后的GRE报文,然后利用IPSec安全策略对GRE报文进行封装,得到包括初始协议值的封装后的IPsec报文,以实现对原始报文进行IPSec封装。
本申请实施例还提供一种计算机程序产品,包括存储在非暂态计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被计算机执行时,计算机能够执行上述实施例中IPSec隧道建立方法的步骤,例如包括:向中心端设备Hub发送第一IPSec协商报文;其中,所述第一IPSec协商报文的五元组中携带的协议值为初始协议值;若所述第一IPSec协商报文对应的五元组与已建立的IPSec隧道对应的五元组存在冲突,接收所述Hub根据所述第一IPSec协商报文返回的第一响应报文;其中,所述第一响应报文包括修改协议值;根据所述第一响应报文将所述初始协议值修改为所述修改协议值;向所述Hub发送第二IPSec协商报文;其中,所述第二IPSec协商报文的五元组中携带的协议值为所述修改协议值;接收所述Hub根据所述第二IPSec协商报文返回的第二响应报文;根据所述第二响应报文建立与所述Hub之间的IPSec隧道。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种IPSec隧道建立方法,其特征在于,应用于分支设备Spoke,包括:
向中心端设备Hub发送第一IPSec协商报文;其中,所述第一IPSec协商报文的五元组中携带的协议值为初始协议值;
若所述第一IPSec协商报文对应的五元组与已建立的IPSec隧道对应的五元组相同,接收所述Hub根据所述第一IPSec协商报文返回的第一响应报文;其中,所述第一响应报文包括修改协议值;
根据所述第一响应报文将所述初始协议值修改为所述修改协议值;
向所述Hub发送第二IPSec协商报文;其中,所述第二IPSec协商报文的五元组中携带的协议值为所述修改协议值;
接收所述Hub根据所述第二IPSec协商报文返回的第二响应报文;
根据所述第二响应报文建立与所述Hub之间的IPSec隧道。
2.根据权利要求1所述的IPSec隧道建立方法,其特征在于,所述方法还包括:
在建立所述IPSec隧道后,向所述Hub发送DVPN协商报文;
接收所述Hub根据所述DVPN协商报文返回的第三响应报文;
根据所述第三响应报文建立与所述Hub之间的DVPN隧道。
3.一种IPSec隧道建立方法,其特征在于,应用于中心端设备Hub,包括:
接收分支设备Spoke发送的第一IPSec协商报文;其中,所述第一IPSec协商报文的五元组中携带的协议值为初始协议值;
判断所述第一IPSec协商报文对应的五元组与已建立的IPSec隧道对应的五元组是否存在冲突;
若所述第一IPSec协商报文对应的五元组与所述已建立的IPSec隧道对应的五元组存在冲突,则获取修改协议值,并根据所述第一IPSec协商报文生成第一响应报文;其中,所述第一响应报文包括所述修改协议值;
向所述Spoke发送所述第一响应报文,并接收所述Spoke发送的第二IPSec协商报文;其中,所述第二IPSec协商报文的五元组中携带的协议值为所述修改协议值;
根据所述第二IPSec协商报文生成第二响应报文,并向所述Spoke发送所述第二响应报文,以使所述Spoke根据所述第二响应报文建立与所述Hub之间的IPSec隧道;
所述判断所述第一IPSec协商报文对应的五元组与已建立的IPSec隧道对应的五元组是否存在冲突,包括:
判断所述第一IPSec协商报文对应的五元组与所述已建立的IPSec隧道对应的五元组是否相同,若相同,则存在冲突,若不相同,则不存在冲突。
4.根据权利要求3所述的IPSec隧道建立方法,其特征在于,所述方法还包括:
在建立所述IPSec隧道后,接收所述Spoke发送的DVPN协商报文;
根据所述DVPN协商报文生成DVPN隧道对应的关联表项以及第三响应报文;其中,所述关联表项包括所述修改协议值;
向所述Spoke发送所述第三响应报文,以使所述Spoke根据所述第三响应报文建立与所述Hub之间的所述DVPN隧道。
5.根据权利要求4所述的IPSec隧道建立方法,其特征在于,所述方法还包括:
在建立所述DVPN隧道之后,接收原始数据报文;
通过所述DVPN隧道对所述原始数据报文进行封装,得到DVPN隧道封装后的GRE报文;其中,所述GRE报文包括所述修改协议值;
根据所述修改协议值所在的五元组查找所述IPSec隧道对应的IPSec安全策略;
利用所述IPSec安全策略对所述GRE报文进行封装,得到封装后的IPsec报文;其中,所述IPsec报文包括所述初始协议值;
向所述Spoke发送所述IPsec报文。
6.一种IPSec隧道建立装置,其特征在于,应用于分支设备Spoke,包括:
第一发送模块,用于向中心端设备Hub发送第一IPSec协商报文;其中,所述第一IPSec协商报文的五元组中携带的协议值为初始协议值;
第一接收模块,用于若所述第一IPSec协商报文对应的五元组与已建立的IPSec隧道对应的五元组相同,接收所述Hub根据所述第一IPSec协商报文返回的第一响应报文;其中,所述第一响应报文包括修改协议值;
修改模块,用于根据所述第一响应报文将所述初始协议值修改为所述修改协议值;
第二发送模块,用于向所述Hub发送第二IPSec协商报文;其中,所述第二IPSec协商报文的五元组中携带的协议值为所述修改协议值;
第二接收模块,用于接收所述Hub根据所述第二IPSec协商报文返回的第二响应报文;
第一建立模块,用于根据所述第二响应报文建立与所述Hub之间的IPSec隧道。
7.一种IPSec隧道建立方法,其特征在于,应用于中心端设备Hub,包括:
第三接收模块,用于接收分支设备Spoke发送的第一IPSec协商报文;其中,所述第一IPSec协商报文的五元组中携带的协议值为初始协议值;
判断模块,用于判断所述第一IPSec协商报文对应的五元组与已建立的IPSec隧道对应的五元组是否存在冲突;
获取模块,用于若所述第一IPSec协商报文对应的五元组与所述已建立的IPSec隧道对应的五元组存在冲突,则获取修改协议值,并根据所述第一IPSec协商报文生成第一响应报文;其中,所述第一响应报文包括所述修改协议值;
第三发送模块,用于向所述Spoke发送所述第一响应报文,并接收所述Hub发送的第二IPSec协商报文;其中,所述第二IPSec协商报文的五元组中携带的协议值为所述修改协议值;
第一生成模块,用于根据所述第二IPSec协商报文生成第二响应报文,并向所述Spoke发送所述第二响应报文,以使所述Spoke根据所述第二响应报文建立与所述Hub之间的IPSec隧道;
所述判断模块还用于:判断所述第一IPSec协商报文对应的五元组与所述已建立的IPSec隧道对应的五元组是否相同,若相同,则存在冲突,若不相同,则不存在冲突。
8.一种分支设备Spoke,其特征在于,包括:处理器、存储器和总线;
所述处理器和所述存储器通过所述总线完成相互间的通信;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1或2所述的IPSec隧道建立方法。
9.一种中心端设备Hub,其特征在于,包括:处理器、存储器和总线;
所述处理器和所述存储器通过所述总线完成相互间的通信;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求3-5任一项所述的IPSec隧道建立方法。
10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令被计算机运行时,使所述计算机执行如权利要求1或2所述的IPSec隧道建立方法或者如权利要求3-5任一项所述的IPSec隧道建立方法。
CN202011366555.XA 2020-11-26 2020-11-26 IPSec隧道建立方法及装置、分支设备、中心端设备 Active CN112272134B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011366555.XA CN112272134B (zh) 2020-11-26 2020-11-26 IPSec隧道建立方法及装置、分支设备、中心端设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011366555.XA CN112272134B (zh) 2020-11-26 2020-11-26 IPSec隧道建立方法及装置、分支设备、中心端设备

Publications (2)

Publication Number Publication Date
CN112272134A CN112272134A (zh) 2021-01-26
CN112272134B true CN112272134B (zh) 2021-12-17

Family

ID=74350114

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011366555.XA Active CN112272134B (zh) 2020-11-26 2020-11-26 IPSec隧道建立方法及装置、分支设备、中心端设备

Country Status (1)

Country Link
CN (1) CN112272134B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114039812B (zh) * 2021-10-26 2023-06-30 南方电网数字电网研究院有限公司 数据传输通道建立方法、装置、计算机设备和存储介质
CN114301704B (zh) * 2021-12-30 2023-11-10 北京天融信网络安全技术有限公司 一种ipsec隧道协商方法、本端设备、对端设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101217435A (zh) * 2008-01-16 2008-07-09 中兴通讯股份有限公司 一种L2TP over IPSEC远程接入的方法及装置
CN104427010A (zh) * 2013-08-30 2015-03-18 杭州华三通信技术有限公司 应用于动态虚拟专用网络的网络地址转换方法和装置
CN106850672A (zh) * 2017-03-08 2017-06-13 迈普通信技术股份有限公司 IPSec隧道的安全联盟查找方法及装置
CN108574607A (zh) * 2017-03-08 2018-09-25 中兴通讯股份有限公司 基于虚拟专用网络的共享上网检测方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040010594A1 (en) * 2002-07-11 2004-01-15 International Business Machines Corporation Virtualizing the security parameter index, marker key, frame key, and verification tag
US7840701B2 (en) * 2007-02-21 2010-11-23 Array Networks, Inc. Dynamic system and method for virtual private network (VPN) packet level routing using dual-NAT method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101217435A (zh) * 2008-01-16 2008-07-09 中兴通讯股份有限公司 一种L2TP over IPSEC远程接入的方法及装置
CN104427010A (zh) * 2013-08-30 2015-03-18 杭州华三通信技术有限公司 应用于动态虚拟专用网络的网络地址转换方法和装置
CN106850672A (zh) * 2017-03-08 2017-06-13 迈普通信技术股份有限公司 IPSec隧道的安全联盟查找方法及装置
CN108574607A (zh) * 2017-03-08 2018-09-25 中兴通讯股份有限公司 基于虚拟专用网络的共享上网检测方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
The design and implementation of IPSec conflict avoiding and recovering system;Hungmin Sun,Shihying Chang,Yaohsin Chen,Bingzhe He,Changkai Chen;《TENCON 2007 - 2007 IEEE Region 10 Conference》;20080114;全文 *
高可用IPSec虚拟专用网研究;张云鹤;《中国博士论文全文数据库》;20111115;全文 *

Also Published As

Publication number Publication date
CN112272134A (zh) 2021-01-26

Similar Documents

Publication Publication Date Title
CN112272134B (zh) IPSec隧道建立方法及装置、分支设备、中心端设备
CN109728984B (zh) 一种接入系统、方法及装置
US9445384B2 (en) Mobile device to generate multiple maximum transfer units and data transfer method
US10742768B2 (en) Relaying system and method of transmitting IP address of client to server using encapsulation protocol
CN113259497A (zh) 传输报文的方法、装置、存储介质和系统
CN108512755B (zh) 一种路由信息的学习方法及装置
CN112866206A (zh) 一种单向数据传输方法及装置
CN107733930B (zh) 用于在多个wan网络网关处转发互联网协议(ip)数据包的方法和系统
CN114024741A (zh) 请求处理方法、装置、流量代理端、设备及可读存储介质
CN112242943B (zh) IPSec隧道建立方法及装置、分支设备、中心端设备
CN107483369B (zh) 一种报文处理方法及虚拟交换机
CN111130978B (zh) 网络流量转发方法、装置、电子设备及机器可读存储介质
US20170127273A1 (en) Method and System for Secure Distribution of Mobile Data Traffic to Closer Network Endpoints
WO2024000137A1 (zh) 报文处理
CN113542395B (zh) 报文处理方法和报文处理系统
CN115632963A (zh) 一种确认隧道连接状态的方法、设备、装置及介质
CN113067910B (zh) 一种nat穿越方法、装置、电子设备和存储介质
CN114301993A (zh) 一种数据传输方法、装置、终端设备和存储介质
CN110086702B (zh) 报文转发方法、装置、电子设备及机器可读存储介质
EP4333382A1 (en) Packet transmission method, apparatus and system, network device, and storage medium
CN114221898B (zh) 报文处理方法及网络系统
CN113098954B (zh) 报文转发方法、装置、计算机设备和存储介质
CN115277164B (zh) 基于二层组网环境的报文处理方法及装置
WO2022063075A1 (zh) 计费方法、装置、通信设备及可读存储介质
CN113595848B (zh) 一种通信隧道建立方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant