基于ESP封装和压缩IP在overlay层实现源路由的报文及发送方法与流程

文档序号:26238660发布日期:2021-08-10 16:41阅读:217来源:国知局
基于ESP封装和压缩IP在overlay层实现源路由的报文及发送方法与流程

本发明涉及ip网络技术领域,具体是一种基于esp封装和压缩ip在overlay层实现源路由的报文及发送方法。



背景技术:

思科公司提出的segmentrouting(sr)协议就是在已有的网络基础上进行演进式的扩展,提供了网络可编程能力。sr是一种源路由协议,支持在路径的起点,向报文中插入转发操作指令来指导报文在网络中的转发,从而支持网络可编程。

目前sr支持mpls和ipv6两种数据平面,基于mpls数据平面的sr称为sr-mpls;基于ipv6数据平面的sr称为srv6。

在sr-mpls中,由于使用了传统的mpls标签栈,对于overlay的网络,当前的主流隧道协议中,没有对应的标签栈的定义。在srv6中,由于指导转发的源信息在ip扩展头中,可以方便地实现overlay层的源路由,但其方案无法适用于ipv4网络中。

esp是ipsec的一种封装协议,在当前sd-wan的overlay网络中,大多使用ipsec的esp隧道封装,为了支持穿越nat,其报文封装格式如图1所示。

为区分ike报文和esp报文,rfc3948定义了non-esp-marker,即一个4字节的全0字段,标识为是ike报文。当该4字节为非0时,代表了esp的spi字段,esp通过spi字段去查询其sa。在rfc4303中,将1-255范围内的spi作为iana的保留数值。



技术实现要素:

本发明为了解决现有技术的问题,提供了一种基于esp封装和压缩ip在overlay层实现源路由的报文及发送方法,通过扩展定义esp的spi语义,结合现有的sr技术和压缩ip地址方案,提供了ipv4中overlay层面的源路由功能,且当分段比较多时,增加的负荷比较少。

本发明提供了一种基于esp封装和压缩ip在overlay层实现源路由的报文,报文由头至尾依次包括mac头、ip头、udp头、标志位字段、ipv4选路头、esp报文;

其中,ipv4选路头的地址均从相同的ipv4地址网段中分配,这些ip地址都具有相同的地址前缀prefix,若ip头的目的地址已经携带了公共前缀,那么list中的ipv4地址只携带差异部分。

进一步改进,所述的ip头中的目的ip指向下一跳节点;

设定标志位字段大于0,其中,基于标志位字段构成spi字段,spi字段用于指向安全关联,定义标志位字段大于255;或者基于标志位字段构成sr-flag,实现分别与不同分段路由操作之间的对应,定义标志位字段对应1至255范围中各个不同数值。

进一步改进,所述定义标志位字段对应1至255范围中任意一个数值,构成sr-flag。

进一步改进,所述的esp报文中由头至尾依次包括esp头、内层ip报文、esp尾。

本发明还提供了一种发送基于esp封装和压缩ip在overlay层实现源路由的报文的方法,所述的报文由头至尾依次包括mac头、ip头、udp头、标志位字段、ipv4选路头、esp报文,具体过程包括以下步骤:

1)将iana保留的数值中的某一数值作为控制标记,指明需要进行压缩ipv4地址的源路由;

2)源节点基于网络中各节点分别所对应唯一标识的标签,根据源节点到目的节点的预设报文发送路径,确定esp隧道封装数据格式中的ip头中的目的ip,ipv4选路头的地址均从相同的ipv4地址网段中分配,这些ip地址都具有相同的地址前缀prefix;

3)针对原始报文,按esp隧道封装数据格式进行加密封装,构成发送报文,然后根据发送报文中ip头中的目的ip,将发送报文发往目的ip所对应的节点,若ip头的目的地址已经携带了公共前缀,那么list中的ipv4地址只携带差异部分;

4)地址更新时,将差异部分更新到ipv4报文头的目的地址中,恢复原来的ipv4地址;

5)将发送报文发往目的ip所对应节点,即将发送报文发往目的节点,目的节点接收发送报文,完成esp报文从源节点到目的节点的发送。

本发明还提供了一种针对基于esp封装和压缩ip在overlay层实现源路由的报文的系统,基于esp封装和压缩ip的封装数据格式由头至尾依次包括mac头、ip头、udp头、标志位字段、ipv4选路头、esp报文;

所述系统包括标志位字段识别模块和ip压缩模块;

其中,标志位字段识别模块根据标志位字段大于255,定义标志位字段构成spi字段,且spi字段用于指向安全关联;以及标志位字段识别模块根据标志位字段对应1至255范围中各个不同数值,定义标志位字段构成sr-flag,实现分别与不同分段路由操作之间的对应;

ip压缩模块在域内的选路头的ipv4地址均从相同的ipv4地址网段中分配,这些ip地址都具有相同的地址前缀prefix;如果ip报文头的目的地址已经携带了公共前缀,那么list中的ipv4地址只携带差异部分,在地址更新时,将差异部分更新到ipv4报文头的目的地址中,即可完整恢复原来的ipv4地址。

进一步改进,所述定义标志位字段对应1至255范围中任意一个数值,构成sr-flag。

进一步改进,所述的ip压缩模块包括ipv4地址分配模块、ipv4地址压缩模块和ipv4地址恢复模块;ipv4地址分配模块在分配地址时,选路头的ipv4地址均从相同的ipv4地址网段中分配,这些ip地址都具有相同的地址前缀prefix;如果ip报文头的目的地址已经携带了公共前缀,ipv4地址压缩模块使list中的ipv4地址只携带差异部分;在地址更新时,ipv4地址恢复模块将差异部分更新到ipv4报文头的目的地址中,即可完整恢复原来的ipv4地址。

本发明还提供了一种针对基于esp封装和压缩ip在overlay层实现源路由的报文发送方法的设备,至少包括处理器和存储器,所述存储器存储计算机执行指令,所述处理器执行所述存储器存储的计算机执行指令,使得基于esp封装和压缩ip在overlay层实现源路由的报文的设备,执行所述的基于esp封装和压缩ip在overlay层实现源路由的报文的发送方法。

本发明还提供了一种计算机可读存储介质,存储有计算机程序或指令,当所述计算机程序或指令被运行时,实现所述的基于esp封装和压缩ip在overlay层实现源路由的报文的发送方法。

本发明有益效果在于:通过扩展定义esp的spi语义,结合现有的sr技术和压缩ip地址方案,提供了ipv4中overlay层面的源路由功能,且当分段比较多时,增加的负荷比较少。

附图说明

图1为现有技术esp报文封装格式示意图;

图2为基于压缩ipv4地址的esp源路由中转发报文的格式;

图3为场景示意图。

图4为基于压缩ip的转发示意图。

具体实施方式

下面结合附图对本发明作进一步说明。

esp(encapsulatingsecuritypayloads),即封装安全载荷是ipsec的一种封装协议,在当前sd-wan的overlay网络中,大多使用ipsec的esp隧道封装,为了支持穿越nat,其报文封装格式如图1所示,其中的udp头是为了穿越nat而添加,为区分ike报文和esp报文,rfc3948定义了non-esp-marker,即一个4字节的全0字段,标识为是ike报文。当该4字节为非0时,代表了esp的spi字段,esp通过spi字段去查询其sa。

基于现有esp报文的封装格式,本发明设计了一种基于esp封装和压缩ip在overlay层实现源路由的报文,报文如图2所示,由头至尾依次包括mac头、ip头、udp头、标志位字段、ipv4选路头、esp报文;

其中,ipv4选路头的地址均从相同的ipv4地址网段中分配,这些ip地址都具有相同的地址前缀prefix,若ip头的目的地址已经携带了公共前缀,那么list中的ipv4地址只携带差异部分。

所述的ip头中的目的ip指向下一跳节点;

设定标志位字段大于0,其中,基于标志位字段构成spi字段,spi字段用于指向安全关联,定义标志位字段大于255;或者基于标志位字段构成sr-flag,实现分别与不同分段路由操作之间的对应,定义标志位字段对应1至255范围中各个不同数值。

所述定义标志位字段对应1至255范围中任意一个数值,构成sr-flag。

所述的esp报文中由头至尾依次包括esp头、内层ip报文、esp尾。

本发明还提供了一种发送基于esp封装和压缩ip在overlay层实现源路由的报文的方法,所述的报文由头至尾依次包括mac头、ip头、udp头、标志位字段、ipv4选路头、esp报文,具体过程包括以下步骤:

1)将iana保留的数值中的某一数值作为控制标记,指明需要进行压缩ipv4地址的源路由;

2)源节点基于网络中各节点分别所对应唯一标识的标签,根据源节点到目的节点的预设报文发送路径,确定esp隧道封装数据格式中的ip头中的目的ip,ipv4选路头的地址均从相同的ipv4地址网段中分配,这些ip地址都具有相同的地址前缀prefix;

3)针对原始报文,按esp隧道封装数据格式进行加密封装,构成发送报文,然后根据发送报文中ip头中的目的ip,将发送报文发往目的ip所对应的节点,若ip头的目的地址已经携带了公共前缀,那么list中的ipv4地址只携带差异部分;

4)地址更新时,将差异部分更新到ipv4报文头的目的地址中,恢复原来的ipv4地址;

5)将发送报文发往目的ip所对应节点,即将发送报文发往目的节点,目的节点接收发送报文,完成esp报文从源节点到目的节点的发送。

本发明还提供了一种针对基于esp封装和压缩ip在overlay层实现源路由的报文的系统,基于esp封装和压缩ip的封装数据格式由头至尾依次包括mac头、ip头、udp头、标志位字段、ipv4选路头、esp报文;

所述系统包括标志位字段识别模块和ip压缩模块;

其中,标志位字段识别模块根据标志位字段大于255,定义标志位字段构成spi字段,且spi字段用于指向安全关联;以及标志位字段识别模块根据标志位字段对应1至255范围中各个不同数值,定义标志位字段构成sr-flag,实现分别与不同分段路由操作之间的对应;

ip压缩模块在域内的选路头的ipv4地址均从相同的ipv4地址网段中分配,这些ip地址都具有相同的地址前缀prefix;如果ip报文头的目的地址已经携带了公共前缀,那么list中的ipv4地址只携带差异部分,在地址更新时,将差异部分更新到ipv4报文头的目的地址中,即可完整恢复原来的ipv4地址。

所述定义标志位字段对应1至255范围中任意一个数值,构成sr-flag。

所述的ip压缩模块包括ipv4地址分配模块、ipv4地址压缩模块和ipv4地址恢复模块;ipv4地址分配模块在分配地址时,选路头的ipv4地址均从相同的ipv4地址网段中分配,这些ip地址都具有相同的地址前缀prefix;如果ip报文头的目的地址已经携带了公共前缀,ipv4地址压缩模块使list中的ipv4地址只携带差异部分;在地址更新时,ipv4地址恢复模块将差异部分更新到ipv4报文头的目的地址中,即可完整恢复原来的ipv4地址。

本发明还提供了一种针对基于esp封装和压缩ip在overlay层实现源路由的报文发送方法的设备,至少包括处理器和存储器,所述存储器存储计算机执行指令,所述处理器执行所述存储器存储的计算机执行指令,使得基于esp封装和压缩ip在overlay层实现源路由的报文的设备,执行所述的基于esp封装和压缩ip在overlay层实现源路由的报文的发送方法。

本发明还提供了一种计算机可读存储介质,存储有计算机程序或指令,当所述计算机程序或指令被运行时,实现所述的基于esp封装和压缩ip在overlay层实现源路由的报文的发送方法。

本发明一种具体实施例如下:

如图3所示,a-b之间建立ipsec隧道,期望转发流量路径为a->c->d->b。

控制器给节点a下发ip路由信息(ip-c,ip-d,ip-b,地址前缀长度)并关联到对应的ipsec隧道上。

图4为基于压缩ip的转发示意图。

1、a通过esp封装报文,发现有对应的srip路由信息,则在esp封装后,添加地址个数2,剩余个数为2,前缀长度24,将10.10.10.50封装在外层目的ip中发出。

2、c收到报文后,根据udp目的端口号4500知道是ipsec相关报文,根据spi知道需要做sr压缩ip处理,根据ip地址个数和剩余地址个数计算选择c-ip1(100)进行封装报文的目的ip封装,并将剩余ip个数减1,根据c-ip1、prefix长度和外层目的ip计算出新的目的ip(10.10.10.100)填写到报文中发出。

3、d收到报文后,和c类似。

4、b收到报文后,发现剩余ip地址为0,弹出相关字段,进行普通的esp报文,做正常的解密处理。

本发明具体应用途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进,这些改进也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1