一种应用于SRv6SFC系统的报文转发方法、装置与流程

    专利2025-05-01  41


    本技术涉及信息处理,尤其涉及一种应用于srv6 sfc系统的报文转发方法、装置。


    背景技术:

    1、业务功能链(service function chaining,sfc)是一种部署增值业务的机制。在网络通信中,将具有业务处理功能(如防火墙(firewall)、网络地址转换(network addresstranslation,nat)、深度报文检测(deep packet inspection,dpi)等)的一组设备有序地组合起来,让流量通过这些业务功能就构成了sfc。sfc的基本架构包括控制节点、分类节点、业务功能转发节点和业务功能节点等。sfc的标准是网络服务头(network serviceheader,nsh),nsh额外新增了一层报文头,在这个报文头里面可以保存需要绕行的服务序列等信息。头节点引流的时候,只要在nsh报文头中,把需要绕行的服务序列填写在报文中,就能实现业务链功能。

    2、srv6(segment routing ipv6,ipv6源路由)技术是,源路由在头节点通过编排段id(segment id,sid)列表,指定流量转发路径,并且srv6的sid支持灵活的转发可编程能力,srv6技术能满足sfc的需求。

    3、srv6 sfc技术是使用srv6的源路由技术,在头节点把网络上的设备和服务在逻辑层面串联起来形成了一个有序的服务组合,从而实现业务链功能。

    4、目前,在srv6 sfc系统中,对于业务流量转发,需要为每一个转发设备以及需要绕行的第三方服务分配一个sid,通过在sr头节点编排sid序列,从而实现sfc业务链的功能。因为srv6只在头节点引流,在转发节点不会重新引流,那么在转发节点就需要针对不同的业务流量,必须生成不同的代理(proxy)sid。在头节点引流的时候,区分不同业务流量,使用不同的proxy sid。例如,业务1需要经过sf1(作为sff1的代理),业务2需要经过sf1和sf2(作为sff2的代理),因此在sff1设备,必须分配两个proxy sid,一个proxy sid1给业务1使用,另一个proxy sid2给业务2使用,在头节点r1引流的时候,业务1会在sid序列中编排上proxy sid1,而业务2会在sid序列中编排上proxy sid2。当业务流量越多时,采用这种方案,占用更多的sid资源,且配置复杂。

    5、因此,在业务流量转发过程中,如何简化系统对待转发报文相关信息的配置,以及减少sid的占用是目前亟需解决的问题。


    技术实现思路

    1、本发申请提供了一种应用于srv6 sfc系统的报文转发方法,用以简化系统对待转发报文相关信息的配置,以及减少sid的占用。

    2、第一方面,提供一种应用于srv6 sfc系统的报文转发方法,所述srv6sfc系统包括头节点、业务功能转发sff节点和业务功能sf节点,所述sff节点与所述sf节点连接,包括:

    3、所述sff节点接收来自于所述头节点的n个srv6报文;其中,所述n个srv6报文是所述头节点接收到来自于用户端的m个原始报文后,根据配置的srv6 te policy对所述m个原始报文分别进行srv6封装后的报文,所述n=m,且为大于0的整数;所述sff节点对所述n个srv6报文进行识别,当识别得到所述n个srv6报文的sid为动态流分类类型sid时,根据所述n个srv6报文,动态生成重引流转发表;其中,所述动态流分类类型sid用于表征需经由所述sf节点的n个srv6报文共用所述动态流分类类型sid;所述sff节点从所述n个srv6报文中剥离各自的srh,得到所述m个原始报文,并将所述m个原始报文发送给所述sf节点处理;所述sff节点接收来自于所述sf节点处理后的第一原始报文,根据所述重引流转发表确定所述第一原始报文的srh,所述第一原始报文为所述m个原始报文中的任意一个;所述sff节点根据所述第一原始报文的srh,对所述第一原始报文进行重新封装后转发。

    4、可选的,所述sff节点包括转发层、控制层;所述根据所述n个srv6报文,动态生成重引流转发表,包括:

    5、所述sff节点的转发层复制所述n个srv6报文后,发送给所述sff节点的控制层;所述sff节点的控制层对所述n个srv6报文进行解析,得到所述n个srv6报文各自对应的报文五元组信息、srh;所述sff节点的控制层根据所述n个srv6报文各自对应的报文五元组信息、srh,动态生成所述重引流转发表。

    6、可选的,所述重引流转发表包括所述n个srv6报文的报文五元组信息、所述n个srv6报文的srh之间的映射关系;所述sff节点接收来自于所述sf节点处理后的第一原始报文,根据所述重引流转发表确定所述第一原始报文的srh,包括:根据所述第一原始报文中的报文五元组信息查询所述重引流转发表;若查询到所述重引流转发表中的所述第一报文五元组信息与所述第一原始报文中的报文五元组信息相匹配,则将所述重引流转发表中,与所述第一报文五元组信息对应的第一srh作为所述第一原始报文的srh。

    7、可选的,所述sff节点配置有所述动态流分类类型入接口,所述动态流分类类型入接口用于表征经由所述动态流分类类型入接口的原始报文需执行动态重引流操作;所述sff节点接收来自于所述sf节点处理后的第一原始报文,根据所述重引流转发表确定所述第一原始报文的srh,包括:

    8、若所述sff节点接收来自于所述sf节点的第一原始报文,所占用的入接口为所述动态流分类类型sid占用的入接口,则根据所述重引流转发表确定所述第一原始报文的srh。

    9、可选的,所述报文五元组信息包括源ip地址、源端口、目的地址、目的端口中的至少一项。

    10、第二方面,提供一种应用于srv6 sfc系统的报文转发装置,包括:

    11、接收模块,用于接收来自于所述头节点的n个srv6报文;其中,所述n个srv6报文是所述头节点接收到来自于用户端的m个原始报文后,根据配置的srv6 te policy对所述m个原始报文分别进行srv6封装后的报文,所述n=m,且为大于0的整数;重引流转发表生成模块,用于对所述n个srv6报文进行识别,当识别得到所述n个srv6报文的sid为动态流分类类型sid时,根据所述n个srv6报文,动态生成重引流转发表;其中,所述动态流分类类型sid用于表征需经由所述sf节点的n个srv6报文共用所述动态流分类类型sid;转发流程处理模块,用于从所述n个srv6报文中剥离各自的srh,得到所述m个原始报文,并将所述m个原始报文发送给所述sf节点处理;以及,接收来自于所述sf节点处理后的第一原始报文,指示所述重引流转发表生成模块根据所述重引流转发表确定所述第一原始报文的srh,所述第一原始报文为所述m个原始报文中的任意一个,以及,根据所述第一原始报文的srh,对所述第一原始报文进行重新封装后转发。

    12、可选的,所述装置包括转发层、控制层;所述重引流转发表生成模块,具体用于:

    13、指示所述转发层复制所述n个srv6报文后,发送给所述控制层;指示控制层对所述n个srv6报文进行解析,得到所述n个srv6报文各自对应的报文五元组信息、srh;指示控制层根据所述n个srv6报文各自对应的报文五元组信息、srh,动态生成所述重引流转发表。

    14、可选的,所述重引流转发表包括所述n个srv6报文的报文五元组信息、所述n个srv6报文的srh之间的映射关系;所述转发流程处理模块,具体用于:

    15、指示所述重引流转发表生成模块根据所述第一原始报文中的报文五元组信息查询所述重引流转发表;若查询到所述重引流转发表中的第一报文五元组信息与所述第一原始报文中的报文五元组信息相匹配,则将所述重引流转发表中,与所述第一报文五元组信息对应的第一srh作为所述第一原始报文的srh。

    16、第三方面,提供一种电子设备,包括:

    17、存储器,用于存放计算机程序;处理器,用于执行所述存储器上所存放的计算机程序时,实现如第一方面中任一项所述的方法步骤。

    18、第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时第一方面中任一项所述的方法步骤。

    19、本技术实施例中,基于srv6 sfc系统,由于可在sff节点中预先配置经由sf节点的srv6报文共用一个动态流分类类型sid,以及在头节点预先配置srv6 te policy,因此,可以避免srv6报文占用一个sid,节省了sid空间;再由于sff节点接收来自于头节点对m个原始文件进行srv6封装后的n个srv6报文,sff节点对该n个srv6报文进行识别,当识别得到该n个srv6报文的sid为动态流分类类型sid时,根据n个srv6报文,动态生成重引流转发表,sff节点再从n个srv6报文中剥离各自的扩展路由报头srh,得到各自对应的m个原始报文,并将m个原始报文发送给sf节点处理,sff节点接收来自于sf节点处理后的第一原始报文(m个原始报文中的任意一个),根据重引流转发表确定第一原始报文的srh;sff节点根据第一原始报文的srh,对第一原始报文进行重新封装,并转发至sff节点,因此sff节点无需针对每一个srv6报文预先配置好相关的srh信息,而是对各srv6报文进行解析,通过动态生成的重引流转发表,实时缓存各srv6报文各自对应的特征信息(例如,各自的报文五元组信息、srh等),进一步简化了sff节点的配置,节约了资源,满足了用户体验。

    20、上述第二方面至第四方面中的各个方面以及各个方面可能达到的技术效果请参照上述针对第一方面或第一方面中的各种可能方案可以达到的技术效果说明,这里不再重复赘述。


    技术特征:

    1.一种应用于srv6 sfc系统的报文转发方法,所述srv6 sfc系统包括头节点、业务功能转发sff节点和业务功能sf节点,所述sff节点与所述sf节点连接,其特征在于,包括:

    2.如权利要求1所述的方法,其特征在于,所述sff节点包括转发层、控制层;

    3.如权利要求1或2所述的方法,其特征在于,所述重引流转发表包括所述n个srv6报文的报文五元组信息、所述n个srv6报文的srh之间的映射关系;

    4.如权利要求1所述的方法,其特征在于,所述sff节点配置有动态流分类类型入接口,所述动态流分类类型入接口用于表征经由所述动态流分类类型入接口的原始报文需执行动态重引流操作;

    5.如权利要求1-4任一项所述的方法,其特征在于,所述报文五元组信息包括源ip地址、源端口、目的地址、目的端口中的至少一项。

    6.一种应用于srv6 sfc系统的报文转发装置,其特征在于,包括:

    7.如权利要求6所述的装置,其特征在于,所述装置包括转发层、控制层;

    8.如权利要求6或7所述的装置,其特征在于,所述重引流转发表包括所述n个srv6报文的报文五元组信息、所述n个srv6报文的srh之间的映射关系;

    9.一种电子设备,其特征在于,包括:

    10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-5中任一项所述的方法步骤。


    技术总结
    本申请公开了一种应用于SRv6SFC系统的报文转发方法、装置,涉及信息处理技术领域。该方法包括:SFF节点接收来自于头节点的N个SRv6报文;该N个SRv6报文是头节点进行SRv6封装后的报文;SFF节点对N个SRv6报文进行识别,当识别得到N个SRv6报文的SID为动态流分类类型SID时,根据N个SRv6报文,动态生成重引流转发表;SFF节点从N个SRv6报文中剥离各自的SRH,得到M个原始报文,并将M个原始报文发送给SF节点处理;SFF节点接收来自于SF节点处理后的第一原始报文,根据重引流转发表确定第一原始报文的SRH;SFF节点根据第一原始报文的SRH,对第一原始报文进行重新封装后转发。

    技术研发人员:苗青
    受保护的技术使用者:锐捷网络股份有限公司
    技术研发日:
    技术公布日:2024/4/29
    转载请注明原文地址:https://wp.8miu.com/read-86355.html

    最新回复(0)