报文传输方法、代理节点及存储介质技术

技术编号:28429383 阅读:17 留言:0更新日期:2021-05-11 18:38
本申请公开了一种报文传输方法、代理节点及存储介质,属于通信技术领域。本申请提供了一种将报文绕行至对端来恢复SRH的方法,通过为End.AD.SID扩展了一种具有绕行功能的新的SID,本端代理节点未能从本地缓存中查找到SRH的情况下,将这种新的SID以及用于指示恢复SRH的控制信息携带在需要恢复SRH的报文中,利用这种新的SID将报文传输至对端代理节点,从而指示对端代理节点来代替本端代理节点恢复SRH,使得报文能够通过对端代理节点恢复对应的SRH,进而通过SRH继续在网络中转发,避免了报文由于无法恢复SRH而导致传输失败的问题。

【技术实现步骤摘要】
报文传输方法、代理节点及存储介质
本申请涉及通信
,特别涉及一种报文传输方法、代理节点及存储介质。
技术介绍
分段路由(英文:segmentrouting,简称:SR)是基于源路由的理念来转发报文的技术,基于互联网协议第6版(英文:internetprotocolversion6,简称:IPv6)的分段路由(简称:SRv6)是一种将SR技术与IPv6协议结合起来的技术。具体来讲,SRv6报文会在携带IPv6头(英文:IPv6header)的基础上,还携带分段路由头(英文:segmentroutingheader,简称:SRH)。SRH包括段标识(英文:segmentID,简称:SID,也称segment)列表(英文:SIDlist,也称SegmentsList)以及剩余段数量(英文:segmentleft,简称:SL)等信息。段列表中包含一个或多个依次排列的SID,每个SID在形式上是一个128比特的IPv6地址,每个SID在实质上能够表示拓扑、指令或服务。SL相当于指针,是个不小于0的数值,会指向段列表中的活跃SID(英文:activeSID),该活跃SID为IPv6头中的目的地址。当支持SRv6的节点接收到报文时,会读取报文的目的地址,根据目的地址查询本地SID表(英文:localSIDtable),当目的地址为本地SID表中的SID时,将报文识别为SRv6报文,基于该SID对应的拓扑、指令或服务,来执行相应的操作。业务功能链(英文:servicefunctionchain,简称:SFC,也称业务链)是一个有序的业务功能集合,能够让流量按照指定的顺序经过多个业务功能(英文:servicefunction,简称:SF)节点,通过多个SF节点对报文依次进行处理,来完成业务处理流程。在报文为SRv6报文而SF节点不支持SRv6的情况下,为了让SF节点能够正常处理报文,引入了代理(英文:proxy)节点。代理节点用于代理SF节点处理SRH,代理节点可分为动态代理、静态代理、共享内存代理以及伪代理等类型。其中,动态代理的处理流程为:代理节点接收SRv6报文,根据SRv6报文的目的地址,查询localSIDtable;当目的地址为localSIDtable中的端点动态代理SID(End.AD.SID,End表示endpoint,意为端点;AD表示dynamic,意为动态,SID意为段标识)时,代理节点执行End.AD.SID对应的动态代理操作。其中,动态代理操作包括:从SRv6报文解封装SRH,得到不包含SRH的报文,将不包含SRH的报文发送给SF。并且,代理节点会以报文的五元组为索引,在缓存表项中存储SRH;SF节点会接收到不包含SRH的报文,对报文进行处理,将处理后的报文返回给代理节点;代理节点会以处理后的报文的五元组为索引,查询缓存表项,得到SRH;代理节点会向处理后的报文封装SRH,从而恢复SRH,得到包含SRH的SRv6报文;代理节点会将SRv6报文的SL减一,将SRv6报文的目的地址更新为段列表中减一后的SL对应的SID,即End.AD.SID的下一个SID,得到更新后的SRv6报文;代理节点会向下一个节点发送更新后的SRv6报文。代理节点接收到SF节点返回的报文后,经常会出现查询SRH失败的情况,即发生cachemiss(缓存未命中)事件,在这种情况下,由于代理节点无法恢复SRH,代理节点会丢弃SF节点返回的报文,造成报文传输失败。
技术实现思路
本申请实施例提供了一种报文传输方法、代理节点及存储介质,能够解决相关技术中缓存未命中的场景下会导致报文传输失败的技术问题。所述技术方案如下:第一方面,提供了一种报文传输方法,在该方法中,第一代理节点与第二代理节点与连接到同一个SF节点,第一代理节点从SF节点接收第一报文,第一代理节点会查询本地的缓存,而未找到第一报文对应的SRH。那么,第一代理节点会根据第一报文和对应于第二代理节点的第一绕行SID,生成第二报文,将第二报文发送给对端,即第二代理节点。其中,第二报文包括第一绕行段标识SID、第一控制信息和第一报文的载荷。第一绕行SID用于标识第二报文的目的节点为所述第二代理节点,以使第二报文通过第一绕行SID传输至对端。第一控制信息用于指示第二代理节点恢复第一报文对应的SRH,因此第二代理节点能够通过识别第一控制信息,来恢复第一报文对应的SRH。本实施例提供了一种将报文绕行至对端来恢复SRH的方法,通过为End.AD.SID扩展了一种具有绕行功能的新的SID,本端代理节点未能从本地缓存中查找到SRH的情况下,将这种新的SID以及用于指示恢复SRH的控制信息携带在需要恢复SRH的报文中,利用这种新的SID将报文传输至对端代理节点,从而指示对端代理节点来代替本端代理节点恢复SRH,使得报文能够通过对端代理节点恢复对应的SRH,进而通过SRH继续在网络中转发,从而避免报文由于无法恢复SRH而导致传输失败的问题。可选地,第二报文包括互联网协议(英文:internetprotocol,简称:IP)头,IP头的目的地址为第一绕行SID。通过这种方式,可以通过目的地址,来指明第二报文要发送至第二代理节点,以保证第二报文从第一代理节点路由至第二代理节点。此外,第二代理节点可以接收到第二报文后,识别IP头的目的地址,发现目的地址是本地SID表中的第一绕行SID,即可确定要根据第一绕行SID执行对应的操作。此外,这种方式可以应用在第一代理节点与第二代理节点位于一跳IP链路(on-link)、第一代理节点与第二代理节点位于多跳IP链路(off-link),而第一代理节点与第二代理节点之间的中间节点未使能SR功能、第一代理节点与第二代理节点位于多跳IP链路,而没有指定转发第二报文的中间节点的业务需求等多种应用场景下,适用范围广泛,灵活性强。可选地,第二报文可以不仅包括IP头,还包括SRH。第二报文的SRH包括第一绕行SID和一个或多个目标SID,IP头的目的地址为这一个或多个目标SID中对应于下一个SR节点的SID。其中,一个或多个目标SID用于指示目标转发路径,目标转发路径为第一代理节点至第二代理节点之间的路径。通过这种方式,可以适于第一代理节点与第二代理节点位于多跳IP链路,且具有指定转发第二报文的中间节点的业务需求的场景。第一代理节点可以通过在目的地址携带对应于下一个SR节点的SID,来指明第二报文要从本端转发至该SR节点,以使该第二报文经过该SR节点的转发,到达第二代理节点。那么,第一代理节点能够根据业务需求,指定转发第二报文的中间节点,从而灵活地选择第二报文的转发路径,便于进行路径规划,实现流量调优的效果。可选地,在生成第二报文的过程中,第一代理节点可以为第二报文生成IP头,向第一报文封装第二报文的IP头。通过这种方式来生成第二报文,对接收到的第一报文进行重新封装,添加IP头即可得到第二报文,相对于从0开始生成整个报文的方式而言,处理操作十分简单,因此生成报文的过程可以由代理节点的数据面(如转发芯片)执本文档来自技高网
...

【技术保护点】
1.一种报文传输方法,其特征在于,应用于第一代理节点,所述方法包括:/n从业务功能节点接收第一报文;/n查询所述第一代理节点的缓存,未得到所述第一报文对应的分段路由头SRH;/n根据所述第一报文和对应于第二代理节点的第一绕行段标识SID,生成第二报文,所述第二代理节点与所述第一代理节点连接到同一个业务功能节点,所述第二报文包括所述第一绕行SID、第一控制信息和所述第一报文的载荷,所述第一绕行SID用于标识所述第二报文的目的节点为所述第二代理节点,所述第一控制信息用于指示所述第二代理节点恢复所述第一报文对应的SRH;/n向所述第二代理节点发送所述第二报文。/n

【技术特征摘要】
1.一种报文传输方法,其特征在于,应用于第一代理节点,所述方法包括:
从业务功能节点接收第一报文;
查询所述第一代理节点的缓存,未得到所述第一报文对应的分段路由头SRH;
根据所述第一报文和对应于第二代理节点的第一绕行段标识SID,生成第二报文,所述第二代理节点与所述第一代理节点连接到同一个业务功能节点,所述第二报文包括所述第一绕行SID、第一控制信息和所述第一报文的载荷,所述第一绕行SID用于标识所述第二报文的目的节点为所述第二代理节点,所述第一控制信息用于指示所述第二代理节点恢复所述第一报文对应的SRH;
向所述第二代理节点发送所述第二报文。


2.根据权利要求1所述的方法,其特征在于,所述第二报文包括互联网协议IP头,所述IP头的目的地址为所述第一绕行SID。


3.根据权利要求1所述的方法,其特征在于,所述第二报文包括IP头和第二报文的SRH,所述IP头的目的地址为一个或多个目标SID中对应于下一个分段路由SR节点的SID,所述一个或多个目标SID用于指示目标转发路径,所述目标转发路径为所述第一代理节点至所述第二代理节点之间的路径,所述第二报文的SRH包括所述第一绕行SID和所述一个或多个目标SID。


4.根据权利要求2或3所述的方法,其特征在于,所述根据所述第一报文和对应于第二代理节点的第一绕行段标识SID,生成第二报文,包括:
生成所述第二报文的IP头;
向所述第一报文封装所述第二报文的IP头。


5.根据权利要求2或3所述的方法,其特征在于,所述根据所述第一报文和对应于第二代理节点的第一绕行段标识SID,生成第二报文,包括:
将所述第一报文的IP头更新为所述第二报文的IP头。


6.根据权利要求1至5中任一项所述的方法,其特征在于,所述第二报文还包括第二控制信息,所述第二控制信息用于指示所述第一代理节点与所述第二代理节点之间的中间节点对所述第二报文的合法性进行校验。


7.根据权利要求6所述的方法,其特征在于,
所述第二控制信息携带在所述第二报文的SRH的类型长度值TLV中;或者,
所述第二控制信息携带在所述第二报文的IP头中。


8.根据权利要求1至7中任一项所述的方法,其特征在于,
所述第一控制信息携带在所述第二报文的扩展头中;或者,
所述第一控制信息携带在所述第一绕行SID中;或者,
所述第一控制信息携带在所述第二报文的IP头中;或者,
所述第一控制信息携带在所述第二报文的SRH中的TLV中。


9.根据权利要求1至8中任一项所述的方法,其特征在于,所述第一报文由来自所述第二代理节点的报文经过业务功能处理后得到,所述第一报文包括第二缓存表项的标识,所述第二缓存表项为所述第二代理节点存储所述第一报文对应的SRH的缓存表项;
所述第二报文还包括所述第二缓存表项的标识,所述第一控制信息还用于指示所述第二代理节点以所述第二缓存表项的标识为索引查询所述第一报文对应的SRH。


10.根据权利要求1至8中任一项所述的方法,其特征在于,所述第一报文由来自所述第一代理节点的报文经过业务功能处理后得到,所述第一报文包括第一缓存表项的标识,所述第一缓存表项为所述第一代理节点历史存储所述第一报文对应的SRH的缓存表项;
所述第二报文包括所述第一缓存表项的标识,所述第一控制信息还用于指示所述第二代理节点以所述第一缓存表项的标识相映射的第二缓存表项的标识为索引,查询所述第一报文对应的SRH。


11.根据权利要求1至10中任一项所述的方法,其特征在于,
所述第一代理节点通过第一链路与所述第二代理节点相连,所述向所述第二代理节点发送所述第二报文,包括:通过对应于所述第一链路的第一出接口,向所述第二代理节点发送所述第二报文;或者,
所述第一代理节点通过第二链路与路由节点相连,所述路由节点通过第三链路与所述第二代理节点相连,所述向所述第二代理节点发送所述第二报文,包括:通过对应于所述第二链路的第二出接口,向路由节点发送所述第二报文,所述第二报文由所述路由节点通过所述第三链路转发至所述第二代理节点。


12.根据权利要求11所述的方法,其特征在于,所述向所述第二代理节点发送所述第二报文,包括:
对所述第一链路的状态进行检测;
如果所述第一链路处于可用状态,通过对应于所述第一链路的第一出接口,向所述第二代理节点发送所述第二报文;或者,
如果所述第一链路处于不可用状态,通过对应于所述第二链路的第二出接口,向路由节点发送所述第二报文。


13.一种报文传输方法,其特征在于,应用于第二代理节点,所述方法包括:
从第一代理节点接收第二报文,所述第一代理节点与所述第二代理节点连接到同一个业务功能节点,所述第二报文包括对应于所述第二代理节点的第一绕行段标识SID、第一控制信息和第一报文的载荷,所述第一绕行SID用于标识所述第二报文的目的节点为所述第二代理节点,所述第一报文为所述第一代理节点从所述业务功能节点接收的报文;
确定所述第一控制信息指示所述第二代理节点恢复所述第一报文对应的分段路由头SRH;
根据所述第二报文,查询所述第二代理节点的缓存,得到所述第一报文对应的SRH;
根据所述第二报文和所述第一报文对应的SRH,生成第三报文,所述第三报文包括所述第一报文对应的SRH和所述第一报文的载荷;
发送所述第三报文。


14.根据权利要求13所述的方法,其特征在于,所述第二报文包括互联网协议IP头,所述IP头的目的地址为所述第一绕行SID。


15.根据权利要求13所述的方法,其特征在于,所述第二报文包括IP头和第二报文的SRH,所述IP头的目的地址为一个或多个目标SID中对应于下一个分段路由SR节点的SID,所述一个或多个目标SID用于指示目标转发路径,所述目标转发路径为所述第一代理节点至所述第二代理节点之间的路径,所述第二报文的SRH包括所述第一绕行SID和所述一个或多个目标SID。


16.根据权利要求14或15所述的方法,其特征在于,所述根据所述第二报文和所述第一报文对应的SRH,生成第三报文,包括:
从所述第二报文剥离所述第二报文的IP头,封装所述第一报文对应的SRH,得到所述第三报文。


17.根据权利要求14或15所述的方法,其特征在于,所述根据所述第二报文和所述第一报文对应的SRH,生成第三报文,包括:
将所述第二报文的IP头更新为所述第一报文的IP头,封装所述第一报文对应的SRH,得到所述第三报文。


18.根据权利要求13至17中任一项所述的方法,其特征在于,所述第二报文还包括第二控制信息,所述第二控制信息用于指示所述第一代理节点与所述第二代理节点之间的中间节点对所述第二报文的合法性进行校验。


19.根据权利要求18所述的方法,其特征在于,
所述第二控制信息携带在所述第二报文的SRH的类型长度值TLV中;或者,
所述第二控制信息携带在所述第二报文的IP头中。


20.根据权利要求13至19中任一项所述的方法,其特征在于,
所述第一控制信息携带在所述第二报文的扩展头中;或者,
所述第一控制信息携带在所述第一绕行SID中;或者,
所述第一控制信息携带在所述第二报文的IP头中;或者,
所述第一控制信息携带在所述第二报文的SRH中的TLV中。


21.根据权利要求13至20中任一项所述的方法,其特征在于,所述第二报文还包括第二缓存表项的标识,所述根据所述第二报文,查询所述第二代理节点的缓存,得到所述第一报文对应的SRH,包括:
确定所述第一控制信息还指示以所述第二缓存表项的标识为索引查询所述第一报文对应的SRH;
以所述第二缓存表项的标识为索引,查询所述第二代理节点的缓存,从所述第二缓存表项得到所述第一报文对应的SRH。


22.根据权利要求13至20中任一项所述的方法,其特征在于,所述第二报文还包括第一缓存表项的标识,所述第一缓存表项为所述第一代理节点历史存储所述第一报文对应的SRH的缓存表项,所述根据所述第二报文,查询所述第二代理节点的缓存,得到所述第一报文对应的SRH,包括:
确定所述第一控制信息还指示以所述第一缓存表项的标识相映射的第二缓存表项的标识为索引查询所述第一报文对应的SRH;
根据所述第一缓存表项的标识,查询第一缓存表项的标识与第二缓存表项的标识之间的映射关系,得到所述第二缓存表项的标识;
以所述第二缓存表项的标识为索引,查询所述第二代理节点的缓存,从所述第二缓存表项得到所述第一报文对应的SRH。


23.根据权利要求21或22所述的方法,其特征在于,所述以所述第二缓存表项的标识为索引,查询所述第二代理节点的缓存之前,所述方法还包括:
确定所述业务功能节点的业务功能包括对流标识进行修改。


24.根据权利要求13至20中任一项所述的方法,其特征在于,所述第二报文对应的流标识为所述第一报文对应的流标识,所述根据所述第二报文,查询所述第二代理节点的缓存,得到所述第一报文对应的SRH,包括:
以所述第一报文对应的流标识和所述业务功能节点对应的端点动态代理SID为索引,查询所述第二代理节点的缓存,得到所述第一报文对应的SRH。


25.根据权利要求24所述的方法,其特征在于,所述第二报文包括所述业务功能节点所属的虚拟专用网络VPN的VPN标识,所述以所述第一报文对应的流标识和所述业务功能节点对应的端点动态代理SID为索引,查询所述第二代理节点的缓存之前,所述方法还包括:
根据所述VPN标识,查询端点动态代理SID与VPN标识之间的映射关系,得到所述VPN标识对应的所述端点动态代理SID。


26.根据权利要求25所述的方法,其特征在于,所述根据所述VPN标识,查询端点动态代理SID与VPN标识之间的映射关系之前,所述方法还包括:
接收配置指令,所述配置指令包括每个VPN中的业务功能节点对应的端点动态代理SID;
根据所述配置指令,存储所述端点动态代理SID与VPN标识之间的映射关系。


27.根据权利要求24所述的方法,其特征在于,所述以所述第一报文对应的流标识和所述业务功能节点对应的端点动态代理SID为索引,查询所述第二代理节点的缓存之前,所述方法还包括:
接收第四报文,所述第四报文包括所述第一报文对应的SRH,所述第四报文的目的地址为所述端点动态代理SID,所述第四报文对应的流标识为所述第一报文对应的流标识;
以所述第一报文对应的流标识和所述端点动态代理SID为索引,在第二缓存表项中存储所述第一报文对应的SRH。


28.根据权利要求13至27中任一项所述的方法,其特征在于,
所述第二代理节点通过第一链路与所述第一代理节点相连,所述从第一代理节点接收第二报文,包括:通过对应于所述第一链路的第一入接口,从所述第一代理节点接收所述第二报文;或者,
所述第二代理节点通过第三链路与路由节点相连,所述路由节点通过第二链路与所述第一代理节点相连,所述从第一代理节点接收第二报文,包括:通过对应于所述第三链路的第二入接口,从所述路由节点接收所述第二报文,所述第二报文由所述第一代理节点通过所述第二链路发送至所述路由节点。


29.一种第一代理节点,其特征在于,所述第一代理节点包括:
接收模块,用于从业务功能节点接收...

【专利技术属性】
技术研发人员:张永康
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1