CN111614538B - 一种基于IPsec封装协议的报文转发方法 - Google Patents

一种基于IPsec封装协议的报文转发方法 Download PDF

Info

Publication number
CN111614538B
CN111614538B CN202010364666.0A CN202010364666A CN111614538B CN 111614538 B CN111614538 B CN 111614538B CN 202010364666 A CN202010364666 A CN 202010364666A CN 111614538 B CN111614538 B CN 111614538B
Authority
CN
China
Prior art keywords
header
ipsec
encapsulation
protocol
control
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
CN202010364666.0A
Other languages
English (en)
Other versions
CN111614538A (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.)
Network Communication and Security Zijinshan Laboratory
Original Assignee
Network Communication and Security Zijinshan Laboratory
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 Network Communication and Security Zijinshan Laboratory filed Critical Network Communication and Security Zijinshan Laboratory
Priority to CN202010364666.0A priority Critical patent/CN111614538B/zh
Publication of CN111614538A publication Critical patent/CN111614538A/zh
Application granted granted Critical
Publication of CN111614538B publication Critical patent/CN111614538B/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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

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封装协议的报文转发方法,该方法基于一种带拓展控制字段的封装协议,在现有IPsec封装协议封装头部分的下一个报文头中增加控制协议头,并封装对应的TLV控制头,基于IPsec隧道封装功能的扩展协议,提升隧道的控制能力,为上层应用提供必要的信息,能够实现指定路径的流量调度策略。

Description

一种基于IPsec封装协议的报文转发方法
技术领域
本发明属于IP网络技术领域,具体涉及一种基于IPsec封装协议的报文转发方法。
背景技术
IETF定义的IPsec封装协议有两种,一种是AH,一种是ESP。这两种协议的封装模式又分为传输模式和隧道模式。其中,传输模式是基于原始的IP头做一次IPsec封装,隧道模式则封装了新的报文头,在实际的使用中,隧道模式用的较多。
目前,在数据中心以及WAN上,应用的流量通常使用了Overlay技术,而承载应用流量的隧道多为VXLAN隧道或IPsec隧道,又或者两者结合。无论是VXLAN还是IPsec,其封装协议仅考虑了转发层面对应的功能,控制平面功能偏弱。而在云、边、端,应用的需求越来越多样化,单纯的IP转发封装已经无法满足应用越来越多的需求,比如流量控制、带内检测、服务链等。
发明内容
针对上述现有技术中存在的问题,本发明提供了一种基于IPsec技术的数据封装方法,基于IPsec隧道封装功能的扩展协议,提升隧道的控制能力,为上层应用提供必要的信息,能够实现指定路径的流量调度策略。
为了实现发明目的,本发明的技术方案如下,一种基于IPsec封装协议的报文转发方法,所述报文转发方法应用于SD-WAN网络环境中,包括以下过程:
步骤一,控制器给客户前置设备CPE下发路径信息,所述CPE在发送报文时,先加入控制信息,再做IPsec加密封装发送;
步骤二,控制器预先创建IPsec隧道,节点POP间的隧道号以IPsec-tunnelXY标号,为节点POP间隧道分配标签,标签值为其编号;
步骤三,控制器给所述CPE下发策略,确定所需要通过的路径,所述CPE在做封装时,先根据要到
步骤四,所述路径中的各节点POP在收到报文后,经解密确认下一个头是控制协议后,则根据类型做标签解析,得到以该节点POP为起始点的IPsec隧道终点POP,做关于该IPsec隧道的封装,弹出标签以及修改len后继续加密发送报文,直到确定的路径中所有节点POP全部走完,即实现了SD-WAN中节点POP间IPsec隧道的路径指定。
所述报文是在现有IPsec封装协议封装头部分的下一个报文头中增加控制协议,并封装对应的TLV控制头。
进一步的,所述控制协议包括:
Next Header:下一个报文头,8比特大小,用来填充IP报文IANA编号或原始数据的协议IANA编号;
Type:类型字段,根据需求定义填充控制类型;
Len:长度字段,根据控制类型定义对应数据长度,其长度为Value的长度;
Value:控制数据字段,长度根据Len定义。
IPsec封装协议中的AH封装协议、ESP封装协议中,报文头中的下一个报文头指明是IPsec控制头,IPsec控制头中的下一个报文头指明原始报文信息。
进一步的,在AH封装格式的隧道模式中,所述控制协议头添加到AH头之后,原始IP头之前;在AH封装格式的传输模式中,所述控制协议头添加到AH头之后,数据之前。
进一步的,在ESP封装的隧道模式中,所述控制协议头添加到ESP头之后,原始IP头之前;在ESP封装格式的传输模式中,所述控制协议头添加到ESP头之后,数据之前。
有益效果
本发明的优势在于提出了一种可扩展的IPsec控制协议头,该协议头扩展灵活,可以方便地为IPsec本身以及上层应用提供控制信息。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为AH封装协议的数据结构示意图;
图2为ESP封装协议的数据示意图;
图3为本发明新增IPsec控制协议格式示意图;
图4为本发明增加IPsec控制协议后的AH封装格式示意图;
图5为本发明增加IPsec控制协议后的ESP封装格式示意图;
图6为SD-WAN场景使用IPsec控制协议自定义业务流程示意图;
图7为实施例中基于源的IPsec隧道调度协议格式示意图;
图8为实施例中基于源的IPsec隧道调度协议转发流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本发明提供一种基于IPsec封装功能的数据格式,在现有IPsec封装协议封装头部分的下一个报文头中增加控制协议,并封装对应的TLV控制头。
进一步的,所述控制协议包括:
Next Header:下一个报文头,8比特大小,用来填充IP报文IANA编号或原始数据的协议IANA编号;
Type:类型字段,根据需求定义填充控制类型;
Len:长度字段,根据控制类型定义对应数据长度,其长度为Value的长度;
Value:控制数据字段,长度根据Len定义。
IPsec封装协议中的AH封装协议、ESP封装协议中,报文头中的下一个报文头指明是IPsec控制头,IPsec控制头中的下一个报文头指明原始报文信息。
进一步的,在AH封装格式的隧道模式中,所述控制协议头添加到AH头之后,原始IP头之前;在AH封装格式的传输模式中,所述控制协议头添加到AH头之后,数据之前。
进一步的,在ESP封装的隧道模式中,所述控制协议头添加到ESP头之后,原始IP头之前;在ESP封装格式的传输模式中,所述控制协议头添加到ESP头之后,数据之前。
本发明在IPsec封装功能的基础上,定义一种新的扩展协议,对IPsec封装协议做一些扩展,可以提高IPsec的控制功能,进而可以提供更多灵活的应用功能。
原始的IPsec封装协议,包括两种形式:AH封装协议和ESP封装协议,其数据结构分别如图1、图2所示:由图中可以看出,原始的IPsec封装,通过下一个报文头来指示原始的IP报文(隧道模式)或原始的上层数据协议(传输模式)。
IANA中定义的IPsec封装中常用的下一个报文头值:
4:IPv4报文
6:TCP报文
17:UDP报文
41:IPv6报文
新增一种协议报文,其格式如图3所示,其中各字段说明如下:
Next Header:下一个报文头,8比特大小,用来填充IP报文IANA编号或原始数据的协议IANA编号。
Type:类型字段,8比特大小,根据需求定义填充控制类型,范围0-255。
Len:长度字段,16比特大小,根据控制类型定义对应数据长度,其长度为Value的长度,范围0-65535,值为0时代表没有Value字段。
Value:控制数据字段,长度根据Len定义。
在原有的IPsec封装协议中,在原有封装头的下一个报文头中填写此控制协议报文,并封装对应的TLV控制头,其中,IANA号可以使用254或未来IANA为其分配的号。
结合原有的封装示意图4、图5所示:其中,AH/ESP头中的下一个报文头指明是IPsec控制头,IPsec控制头中的下一个报文头指明原始报文信息。AH的认证和ESP的加密与认证中,同样对IPsec控制头起作用,即把现在IPsec控制头和原始数据一起做相关的安全处理。
实施例1
基于上述基于IPsec封装功能的数据格式,本发明提供一种基于IPsec封装协议的报文转发方法,所述报文转发方法应用于SD-WAN网络环境中,包括以下过程:
步骤一,控制器给客户前置设备CPE下发路径信息,所述CPE在发送报文时,先加入控制信息,再做IPsec加密封装发送;
步骤二,控制器预先创建IPsec隧道,节点POP间的隧道号以IPsec-tunnelXY标号,为节点POP间隧道分配标签,标签值为其编号;
步骤三,控制器给所述CPE下发策略,确定所需要通过的路径,所述CPE在做封装时,先根据要到
步骤四,所述路径中的各节点POP在收到报文后,经解密确认下一个头是控制协议后,则根据类型做标签解析,得到以该节点POP为起始点的IPsec隧道终点POP,做关于该IPsec隧道的封装,弹出标签以及修改len后继续加密发送报文,直到确定的路径中所有节点POP全部走完,即实现了SD-WAN中节点POP间IPsec隧道的路径指定。
如图所示,下面以SD-WAN场景中,实现云中的SD-WAN控制器向CPE和POP点下发业务过程做进一步说明。如图6所示,在SD-WAN场景中,用户通过CPE接入到云中的POP点,云中的SD-WAN控制器向CPE和POP点下发业务策略。以一个流量调度策略为例,图中的CPE和POD点可以看做是一个二级运营商提供的服务基础实施。
1.控制下发配置到CPE和POD点,建立基础隧道连接。
2.用户A通过CPE就近连接到POP-1,然后经由POP-5访问云中企业资源。
3.由于POP-1和POP-5之间的流量过多,影响服务质量,需要为用户A换一条高质量的通道,假设POP-1-->POP2-->POP-5满足。
4.二级运营商通过控制器给CPE下发策略,在报文中增加IPsec控制协议报文头,指明自定义的流量调度类型,并指明路径经由POP-1/POP-2/POP-5。
5.POP-1收到报文解析后,根据控制信息做对应的转发。
定义Type为10,此类型为基于源的IPsec隧道调度,具体的控制头封装如下:
如图7所示,其中Value是一个标签栈,其使用方法类似于MPLS的标签栈;Len为标签栈中标签个数*4:
如图8所示,为实现POP-1->POP2->POP5的控制功能,控制器给CPE下发路径信息,CPE在发送报文时,先加入控制信息,再做IPsec加密封装发送。
在SD-WAN中,控制器预先创建IPsec隧道,POP间的隧道号以IPsec-tunnelXY标号,XY为POP点的标号,比如POP-1和POP-2间的编号为12,POP-1和POP-5间的编号为15。为POP间隧道分配标签,标签值为其编号。
控制器给CPE下发策略,指明需要通过POP-1->POP-2->POP5的路径。CPE在做封装时,先根据要到POP-1的要求找到对应的隧道(比如IPsec-tunnel1000),那么在封装报文时,先添加控制协议头,增加Type=10的标签栈,压入12/25,指明后续需要走IPsec-tunnel12和IPsec-tunnel25(即意味着先到POP-2,然后到POP-5),然后再做IPsec-tunnel1000的隧道封装。
POP-1在收到报文后,先解密,然后发现下一个头是控制协议头,根据类型10做标签解析,通过12知道做IPsec-tunnel12的封装,弹出标签以及修改len后继续加密发送报文。
POP-2收到报文后,和POP-1类似,通过25知道做IPsec-tunnel25的封装,由于标签栈已经结束,剥离控制头,直接做原始的ESP封装发送给POP-5。
通过以上方法,实现了SD-WAN中POP点间IPsec隧道的路径指定。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (6)

1.一种基于IPsec封装协议的报文转发方法,其特征在于,所述报文转发方法应用于SD-WAN网络环境中,包括以下过程:
步骤一,控制器给客户前置设备CPE下发路径信息,所述CPE在发送报文时,先加入控制信息,再做IPsec加密封装发送;
步骤二,控制器预先创建IPsec隧道,节点POP间的隧道号以IPsec-tunnelXY标号,为节点POP间隧道分配标签,标签值为其编号;
步骤三,控制器给所述CPE下发策略,确定所需要通过的路径,所述CPE在做封装时,先根据所述路径查询到相应的隧道,再做隧道封装;
步骤四,所述路径中的各节点POP在收到报文后,经解密确认下一个头是控制协议后,则根据类型做标签解析,得到以该节点POP为起始点的IPsec隧道终点POP,做关于该IPsec隧道的封装,弹出标签以及修改len后继续加密发送报文,直到确定的路径中所有节点POP全部走完,即实现了SD-WAN中节点POP间IPsec隧道的路径指定。
2.根据权利要求1所述的一种基于IPsec封装协议的报文转发方法,其特征在于,所述报文是在现有IPsec封装协议封装头部分的下一个报文头中增加控制协议,并封装对应的TLV控制头。
3.根据权利要求2所述的一种基于IPsec封装协议的报文转发方法,其特征在于,所述控制协议包括:
Next Header:下一个报文头,8比特大小,用来填充IP报文IANA编号或原始数据的协议IANA编号;
Type:类型字段,根据需求定义填充控制类型;
Len:长度字段,根据控制类型定义对应数据长度,其长度为Value的长度;
Value:控制数据字段,长度根据Len定义。
4.根据权利要求3所述的一种基于IPsec封装协议的报文转发方法,其特征在于,IPsec封装协议中的AH封装协议、ESP封装协议中,报文头中的下一个报文头指明是IPsec控制头,IPsec控制头中的下一个报文头指明原始报文信息。
5.根据权利要求3所述的一种基于IPsec封装协议的报文转发方法,其特征在于,在AH封装格式的隧道模式中,控制协议头添加到AH头之后,原始IP头之前;在AH封装格式的传输模式中,所述控制协议头添加到AH头之后,数据之前。
6.根据权利要求3所述的一种基于IPsec封装协议的报文转发方法,其特征在于,在ESP封装的隧道模式中,控制协议头添加到ESP头之后,原始IP头之前;在ESP封装格式的传输模式中,所述控制协议头添加到ESP头之后,数据之前。
CN202010364666.0A 2020-04-30 2020-04-30 一种基于IPsec封装协议的报文转发方法 Active CN111614538B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010364666.0A CN111614538B (zh) 2020-04-30 2020-04-30 一种基于IPsec封装协议的报文转发方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010364666.0A CN111614538B (zh) 2020-04-30 2020-04-30 一种基于IPsec封装协议的报文转发方法

Publications (2)

Publication Number Publication Date
CN111614538A CN111614538A (zh) 2020-09-01
CN111614538B true CN111614538B (zh) 2022-03-29

Family

ID=72198103

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010364666.0A Active CN111614538B (zh) 2020-04-30 2020-04-30 一种基于IPsec封装协议的报文转发方法

Country Status (1)

Country Link
CN (1) CN111614538B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112468357A (zh) * 2020-10-26 2021-03-09 网络通信与安全紫金山实验室 IPsec隧道连通性快速检测方法、检测系统及存储介质
CN114244577A (zh) * 2021-11-24 2022-03-25 贵州电网有限责任公司 一种基于esp的报文处理方法
CN114268518B (zh) * 2021-12-21 2023-04-07 深圳市吉祥腾达科技有限公司 一种实现sdwan数据隧道转发加速的方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1450571A1 (en) * 2000-06-29 2004-08-25 Alice Systems AB Method and arrangement for configuring communication session in a communications network
CN1545253A (zh) * 2003-11-13 2004-11-10 中兴通讯股份有限公司 动态发现IPsec隧道PMTU的方法
CN103650436A (zh) * 2013-07-25 2014-03-19 华为技术有限公司 业务路径分配方法、路由器和业务执行实体
CN105025004A (zh) * 2015-07-16 2015-11-04 东南大学 一种双栈IPSec VPN装置
CN106850672A (zh) * 2017-03-08 2017-06-13 迈普通信技术股份有限公司 IPSec隧道的安全联盟查找方法及装置
CN107484439A (zh) * 2015-08-31 2017-12-15 华为技术有限公司 一种数据报文处理方法及设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7310356B2 (en) * 2002-06-24 2007-12-18 Paradyne Corporation Automatic discovery of network core type
CN101572644B (zh) * 2009-06-19 2011-06-08 杭州华三通信技术有限公司 一种数据封装方法和设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1450571A1 (en) * 2000-06-29 2004-08-25 Alice Systems AB Method and arrangement for configuring communication session in a communications network
CN1545253A (zh) * 2003-11-13 2004-11-10 中兴通讯股份有限公司 动态发现IPsec隧道PMTU的方法
CN103650436A (zh) * 2013-07-25 2014-03-19 华为技术有限公司 业务路径分配方法、路由器和业务执行实体
CN105025004A (zh) * 2015-07-16 2015-11-04 东南大学 一种双栈IPSec VPN装置
CN107484439A (zh) * 2015-08-31 2017-12-15 华为技术有限公司 一种数据报文处理方法及设备
CN106850672A (zh) * 2017-03-08 2017-06-13 迈普通信技术股份有限公司 IPSec隧道的安全联盟查找方法及装置

Also Published As

Publication number Publication date
CN111614538A (zh) 2020-09-01

Similar Documents

Publication Publication Date Title
CN111614538B (zh) 一种基于IPsec封装协议的报文转发方法
EP2218223B1 (en) Method and devices for flow classification of encrypted and tunneled packet streams
WO2017215401A1 (zh) 报文处理的方法及设备
US9369550B2 (en) Protocol for layer two multiple network links tunnelling
CN104272674A (zh) 多隧道虚拟专用网络
US10044841B2 (en) Methods and systems for creating protocol header for embedded layer two packets
CN110290093A (zh) Sd-wan网络架构及组网方法、报文转发方法
US20230370298A1 (en) Message header processing method and apparatus, storage medium and electronic device
CN111355698B (zh) 一种传输方法、装置、报文发送端和接收端
KR100748698B1 (ko) 보안 통신 시스템의 패킷 처리 방법 및 그 장치
CN105471827A (zh) 一种报文传输方法及装置
KR20070118535A (ko) 제 1 네트워크 내 송신국과 제 2 네트워크 내 수신국사이의 데이터 전송 방법 및 제 1 네트워크 내 송신국과 제2 네트워크 내 수신국 사이의 통신을 제어하기 위한 장치
CN101764825A (zh) 虚拟专用网的数据传输方法、系统及终端、网关设备
US20240073128A1 (en) Message encapsulation and de-encapsulation method and device, storage medium, and electronic device
CN112637237B (zh) 基于SRoU的业务加密方法、系统、设备及存储介质
CN114650262A (zh) 一种ip流量传输方法、装置及网络侧设备
CN110235417B (zh) 一种sdn及其报文转发的方法和装置
WO2020114083A1 (zh) 一种ioam信息的处理方法和装置
CN112350941A (zh) 基于ESP在overlay层实现源路由的封装报文及发送方法
WO2020228130A1 (zh) 通信设备的网管服务器与网元的通信方法及系统
CN103986637B (zh) 一种差错报文处理方法及隧道设备
US20090073971A1 (en) Per-packet quality of service support for encrypted ipsec tunnels
CN115442121A (zh) 一种流量传输方法、系统、装置及存储介质
US20100166005A1 (en) mechanism for updating the parameters of a pseudowire
CN114338116B (zh) 加密传输方法、装置及sd-wan网络系统

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