本申请涉及信息,具体涉及一种数据转发方法及数据转发系统。
背景技术:
1、传统协议流水只能解析、处理芯片规格内的协议报文,并按照既定流程进行查表转发和报文编辑,对于位置协议需要进行上送至cpu或丢弃处理。
2、当芯片需要增加支持的协议规格时,需要在传统协议流水线中做增量增加,有时甚至需要修改协议处理流程和架构,耗费资源较多。修改以及增加大量资源和逻辑,往往也只能增加特定的一两种协议,应用范围有限。
技术实现思路
1、本申请提供了一种数据转发方法及数据转发系统,具有可灵活处理自定义协议报文,大大增加了协议报文的灵活处理流程,不再固化逻辑,应用范围广等优点。
2、为实现本申请的目的,本申请提供了如下的技术方案:
3、第一方面,本申请提供了一种数据转发系统,所述数据转发系统包括:
4、多级转发模块,依次串接;
5、多级调度器,分别连接于相邻所述转发模块之间;各级所述调度器依次对与其输入端相连接的转发模块转发的协议报文进行调度;各所述调度器均包括模块行为调度器及表项行为调度器;所述模块行为调度器包括第一输入端、第二输入端及输出端;所述模块行为调度器的第一输入端与当前级转发模块相连接;所述表项行为调度器包括输入端及输出端;所述表项行为调度器的输入端与所述模块行为调度器的输出端相连接,所述表项行为调度器的输出端与下一级转发模块的输入端及与其相连接的模块行为调度器的第二输入端均相连接;所述模块行为调度器用于对与其输入端相连接的转发模块的内部行为进行模块行为操作调度;所述表项行为调度器用于对与其相连接的模块行为调度器当前执行的模块行为操作调度进行标签表项行为调度。
6、本申请的数据转发系统中,通过增设调度器,调度器包括模块行为调度器和表项行为调度器,通过模块行为调度和标签表项行为调度相结合,可以完成对所有协议报文的处理,大大增加了协议报文的灵活处理流程,不再固化逻辑,应用范围广。
7、在其中一个实施例中,各级所述转发模块均包括多个内部行为,所述模块行为调度器依次对与其输入端相连接的转发模块的内部行为进行模块行为操作调度;各所述模块行为操作调度均需要执行多项标签表项行为调度,各所述表项行为调度器依次执行各项标签表项行为调度。
8、在其中一个实施例中,各所述转发模块内部均包括寄存器,所述寄存器用于向所述模块行为调度器下发第一个内部行为的行为标签。
9、在其中一个实施例中,还包括多个ip转发核,所述ip转发核连接于所述转发模块与所述调度器之间,与所述转发模块及所述调度器均通过总线相连接。
10、在其中一个实施例中,所述模块行为操作调度包括移位、复制或删除。
11、第二方面,本申请还提供一种数据转发方法,所述数据转发方法基于第一方面中所述的数据转发系统而执行;所述数据转发方法包括:各级所述调度器依次对与其输入端相连接的转发模块转发的协议报文进行调度,各级所述调度器对与其输入端相连接的转发模块转发的协议报文进行调度均包括:
12、所述模块行为调度器对与其输入端相连接的转发模块的内部行为进行模块行为操作调度;
13、所述表项行为调度器对与其相连接的模块行为调度器当前执行的模块行为操作调度进行标签表项行为调度。
14、本申请的数据转发方法中,通过增设调度器,调度器包括模块行为调度器和表项行为调度器,通过模块行为调度和标签表项行为调度相结合,可以完成对所有协议报文的处理,大大增加了协议报文的灵活处理流程,不再固化逻辑,应用范围广。
15、在其中一个实施例中,各级所述转发模块均包括多个内部行为,各所述模块行为操作调度均需要执行多项标签表项行为调度;
16、所述表项行为调度器对与其相连接的模块行为调度器当前执行的模块行为操作调度依次进行各项标签表项行为调度;
17、所述模块行为调度器对与其输入端相连接的转发模块的内部行为依次进行各模块行为操作调度;各所述模块行为操作调度过程中,所有所述标签表项行为调度均完成后,执行下一模块行为操作调度。
18、在其中一个实施例中,所述模块行为调度器对与其输入端相连接的转发模块的各内部行为进行模块行为操作调度均包括:
19、查找当前模块行为调度器的配置,确认当前内部行为是否需要执行模块行为操作调度;
20、若是,则调度需要修改的协议报文的报文信息;
21、若否,则所述模块行为调度器对与其输入端相连接的转发模块的下一内部行为进行模块行为操作调度。
22、在其中一个实施例中,所述表项行为调度器对与其相连接的模块行为调度器当前执行的模块行为操作调度进行各项标签表项行为调度均包括:
23、读取当前表项行为调度器的配置;
24、将自与其相连接的所述模块行为调度器获取的报文信息依次进行各标签表项行为调度。
25、在其中一个实施例中,各所述转发模块内部均包括寄存器;所述模块行为调度器对与其输入端相连接的转发模块的内部行为依次进行模块行为操作调度之前,所述寄存器向所述模块行为调度器下发第一个内部行为的行为标签。
1.一种数据转发系统,其特征在于,所述数据转发系统包括:
2.根据权利要求1所述的数据转发系统,其特征在于,各级所述转发模块均包括多个内部行为,所述模块行为调度器依次对与其输入端相连接的转发模块的内部行为进行模块行为操作调度;各所述模块行为操作调度均需要执行多项标签表项行为调度,各所述表项行为调度器依次执行各项标签表项行为调度。
3.根据权利要求2所述的数据转发系统,其特征在于,各所述转发模块内部均包括寄存器,所述寄存器用于向所述模块行为调度器下发第一个内部行为的行为标签。
4.根据权利要求1所述的数据转发系统,其特征在于,还包括多个ip转发核,所述ip转发核连接于所述转发模块与所述调度器之间,与所述转发模块及所述调度器均通过总线相连接。
5.根据权利要求1所述的数据转发系统,其特征在于,所述模块行为操作调度包括移位、复制或删除。
6.一种数据转发方法,其特征在于,所述数据转发方法基于如权利要求1至5中任一项所述的数据转发系统而执行;所述数据转发方法包括:各级所述调度器依次对与其输入端相连接的转发模块转发的协议报文进行调度,各级所述调度器对与其输入端相连接的转发模块转发的协议报文进行调度均包括:
7.根据权利要求6所述的数据转发方法,其特征在于,各级所述转发模块均包括多个内部行为,各所述模块行为操作调度均需要执行多项标签表项行为调度;
8.根据权利要求7所述的数据转发方法,其特征在于,所述模块行为调度器对与其输入端相连接的转发模块的各内部行为进行模块行为操作调度均包括:
9.根据权利要求8所述的数据转发方法,其特征在于,所述表项行为调度器对与其相连接的模块行为调度器当前执行的模块行为操作调度进行各项标签表项行为调度均包括:
10.根据权利要求6所述的数据转发方法,其特征在于,各所述转发模块内部均包括寄存器;所述模块行为调度器对与其输入端相连接的转发模块的内部行为依次进行模块行为操作调度之前,所述寄存器向所述模块行为调度器下发第一个内部行为的行为标签。