CN119071367B - 数据转发方法及数据转发系统 - Google Patents
数据转发方法及数据转发系统 Download PDFInfo
- Publication number
- CN119071367B CN119071367B CN202411570112.0A CN202411570112A CN119071367B CN 119071367 B CN119071367 B CN 119071367B CN 202411570112 A CN202411570112 A CN 202411570112A CN 119071367 B CN119071367 B CN 119071367B
- Authority
- CN
- China
- Prior art keywords
- behavior
- module
- scheduler
- forwarding
- scheduling
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 230000006399 behavior Effects 0.000 claims description 326
- 230000008569 process Effects 0.000 claims description 5
- 230000009471 action Effects 0.000 description 22
- 230000006870 function Effects 0.000 description 8
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 7
- 238000009482 thermal adhesion granulation Methods 0.000 description 7
- 102100033189 Diablo IAP-binding mitochondrial protein Human genes 0.000 description 4
- 101710101225 Diablo IAP-binding mitochondrial protein Proteins 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- HRULVFRXEOZUMJ-UHFFFAOYSA-K potassium;disodium;2-(4-chloro-2-methylphenoxy)propanoate;methyl-dioxido-oxo-$l^{5}-arsane Chemical compound [Na+].[Na+].[K+].C[As]([O-])([O-])=O.[O-]C(=O)C(C)OC1=CC=C(Cl)C=C1C HRULVFRXEOZUMJ-UHFFFAOYSA-K 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007711 solidification Methods 0.000 description 1
- 230000008023 solidification Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及一种数据转发方法及数据转发系统。数据转发系统包括:多级转发模块,依次串接;多级调度器,分别连接于相邻转发模块之间;各级调度器依次对与其输入端相连接的转发模块转发的协议报文进行调度;各调度器均包括模块行为调度器及表项行为调度器;模块行为调度器用于对与其输入端相连接的转发模块的内部行为进行模块行为操作调度;表项行为调度器用于对与其相连接的模块行为调度器当前执行的模块行为操作调度进行标签表项行为调度。本申请可以完成对所有协议报文的处理,大大增加了协议报文的灵活处理流程。
Description
技术领域
本申请涉及信息技术领域,具体涉及一种数据转发方法及数据转发系统。
背景技术
传统协议流水只能解析、处理芯片规格内的协议报文,并按照既定流程进行查表转发和报文编辑,对于位置协议需要进行上送至CPU或丢弃处理。
当芯片需要增加支持的协议规格时,需要在传统协议流水线中做增量增加,有时甚至需要修改协议处理流程和架构,耗费资源较多。修改以及增加大量资源和逻辑,往往也只能增加特定的一两种协议,应用范围有限。
发明内容
本申请提供了一种数据转发方法及数据转发系统,具有可灵活处理自定义协议报文,大大增加了协议报文的灵活处理流程,不再固化逻辑,应用范围广等优点。
为实现本申请的目的,本申请提供了如下的技术方案:
第一方面,本申请提供了一种数据转发系统,所述数据转发系统包括:
多级转发模块,依次串接;
多级调度器,分别连接于相邻所述转发模块之间;各级所述调度器依次对与其输入端相连接的转发模块转发的协议报文进行调度;各所述调度器均包括模块行为调度器及表项行为调度器;所述模块行为调度器包括第一输入端、第二输入端及输出端;所述模块行为调度器的第一输入端与当前级转发模块相连接;所述表项行为调度器包括输入端及输出端;所述表项行为调度器的输入端与所述模块行为调度器的输出端相连接,所述表项行为调度器的输出端与下一级转发模块的输入端及与其相连接的模块行为调度器的第二输入端均相连接;所述模块行为调度器用于对与其输入端相连接的转发模块的内部行为进行模块行为操作调度;所述表项行为调度器用于对与其相连接的模块行为调度器当前执行的模块行为操作调度进行标签表项行为调度。
本申请的数据转发系统中,通过增设调度器,调度器包括模块行为调度器和表项行为调度器,通过模块行为调度和标签表项行为调度相结合,可以完成对所有协议报文的处理,大大增加了协议报文的灵活处理流程,不再固化逻辑,应用范围广。
在其中一个实施例中,各级所述转发模块均包括多个内部行为,所述模块行为调度器依次对与其输入端相连接的转发模块的内部行为进行模块行为操作调度;各所述模块行为操作调度均需要执行多项标签表项行为调度,各所述表项行为调度器依次执行各项标签表项行为调度。
在其中一个实施例中,各所述转发模块内部均包括寄存器,所述寄存器用于向所述模块行为调度器下发第一个内部行为的行为标签。
在其中一个实施例中,还包括多个IP转发核,所述IP转发核连接于所述转发模块与所述调度器之间,与所述转发模块及所述调度器均通过总线相连接。
在其中一个实施例中,所述模块行为操作调度包括移位、复制或删除。
第二方面,本申请还提供一种数据转发方法,所述数据转发方法基于第一方面中所述的数据转发系统而执行;所述数据转发方法包括:各级所述调度器依次对与其输入端相连接的转发模块转发的协议报文进行调度,各级所述调度器对与其输入端相连接的转发模块转发的协议报文进行调度均包括:
所述模块行为调度器对与其输入端相连接的转发模块的内部行为进行模块行为操作调度;
所述表项行为调度器对与其相连接的模块行为调度器当前执行的模块行为操作调度进行标签表项行为调度。
本申请的数据转发方法中,通过增设调度器,调度器包括模块行为调度器和表项行为调度器,通过模块行为调度和标签表项行为调度相结合,可以完成对所有协议报文的处理,大大增加了协议报文的灵活处理流程,不再固化逻辑,应用范围广。
在其中一个实施例中,各级所述转发模块均包括多个内部行为,各所述模块行为操作调度均需要执行多项标签表项行为调度;
所述表项行为调度器对与其相连接的模块行为调度器当前执行的模块行为操作调度依次进行各项标签表项行为调度;
所述模块行为调度器对与其输入端相连接的转发模块的内部行为依次进行各模块行为操作调度;各所述模块行为操作调度过程中,所有所述标签表项行为调度均完成后,执行下一模块行为操作调度。
在其中一个实施例中,所述模块行为调度器对与其输入端相连接的转发模块的各内部行为进行模块行为操作调度均包括:
查找当前模块行为调度器的配置,确认当前内部行为是否需要执行模块行为操作调度;
若是,则调度需要修改的协议报文的报文信息;
若否,则所述模块行为调度器对与其输入端相连接的转发模块的下一内部行为进行模块行为操作调度。
在其中一个实施例中,所述表项行为调度器对与其相连接的模块行为调度器当前执行的模块行为操作调度进行各项标签表项行为调度均包括:
读取当前表项行为调度器的配置;
将自与其相连接的所述模块行为调度器获取的报文信息依次进行各标签表项行为调度。
在其中一个实施例中,各所述转发模块内部均包括寄存器;所述模块行为调度器对与其输入端相连接的转发模块的内部行为依次进行模块行为操作调度之前,所述寄存器向所述模块行为调度器下发第一个内部行为的行为标签。
附图说明
为了更清楚地说明本公开实施例或传统技术中的技术方案,下面将对实施例或传统技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例中提供的数据转发系统的结构框图;
图2是本申请另一实施例中提供的数据转发方法中,各级调度器对与其输入端相连接的转发模块转发的协议报文进行调度的流程图;
图3是本申请又一实施例中提供的数据转发方法中,模块行为调度器对与其输入端相连接的转发模块的各内部行为进行模块行为操作调度的流程图;
图4是本申请又一实施例中提供的数据转发方法中,第X级模块行为调度器对与其输入端相连接的转发模块的各内部行为进行模块行为操作调度的流程图;
图5是本申请又一实施例中提供的数据转发方法中,表项行为调度器对与其相连接的模块行为调度器当前执行的模块行为操作调度进行标签表项行为调度的流程图;
图6是本申请又一实施例中提供的数据转发方法中,第X级项行为调度器对与其相连接的模块行为调度器当前执行的模块行为操作调度进行标签表项行为调度的流程图。
附图标记说明
10:第一级转发模块、11:第二级转发模块、12:第三级转发模块、13:第四级转发模块;20:第一级调度器、21:第二级调度器、22:第三级调度器;201:第一级模块行为调度器、211:第二级模块行为调度器、221:第三级模块行为调度器;202:第一级表项行为调度器、212:第二级表项行为调度器、222:第三级表项行为调度器。
具体实施方式
为了便于理解本申请,下面将参照相关附图对本申请进行更全面的描述。附图中给出了本申请的首选实施例。但是,本申请可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本申请的公开内容更加透彻全面。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在限制本申请。
在一个实施例中,本申请提供了一种数据转发系统,所述数据转发系统可以包括:多级转发模块(module)及多级调度器(Dispatch);多级所述转发模块依次串接;多级所述调度器分别连接于相邻所述转发模块之间;各级所述调度器依次对与其输入端相连接的转发模块转发的协议报文进行调度;各所述调度器均包括模块行为调度器(dispatch moduleaction)及表项行为调度器(dispatch table action);所述模块行为调度器包括第一输入端、第二输入端及输出端;所述模块行为调度器的第一输入端与当前级转发模块相连接;所述表项行为调度器包括输入端及输出端;所述表项行为调度器的输入端与所述模块行为调度器的输出端相连接,所述表项行为调度器的输出端与下一级转发模块的输入端及与其相连接的模块行为调度器的第二输入端均相连接;所述模块行为调度器用于对与其输入端相连接的转发模块的内部行为进行模块行为操作调度;所述表项行为调度器用于对与其相连接的模块行为调度器当前执行的模块行为操作调度进行标签表项行为调度。
本申请的数据转发系统中,通过增设调度器,调度器包括模块行为调度器和表项行为调度器,通过模块行为调度和标签表项行为调度相结合,可以完成对所有协议报文的处理,大大增加了协议报文的灵活处理流程,不再固化逻辑,应用范围广。
作为示例,所述转发模块的级数可以根据实际需要进行设置,所述调度器的级数也可以根据实际需要进行设置;譬如,所述转发模块的级数及所述调度器的级数均可以为N级,N可以为大于或等于1的整数。
具体的,请参阅图1,图1中以所述转发模块的级数为4级,所述调度器的级数为3级作为示例。图1中,4级所述转发模块可以分别为第一级转发模块10、第二级转发模块11、第三级转发模块12及第四级转发模块13;3级所述调度器可以分别为第一级调度器20、第二级调度器21、第三级调度器22。其中,第一级调度器20可以包括第一级模块行为调度器201及第一级表项行为调度器202,第二级调度器21可以包括第二级模块行为调度器211及第二级表项行为调度器212,第三级调度器22可以包括第三级模块行为调度器221及第三级表项行为调度器222。所述第一级转发模块10的输入端可以接收输入的协议报文。所述第一级模块行为调度器201的第一输入端与所述第一级转发模块10的输出端相连接。所述第一级表项行为调度器202的输入端与所述第一级模块行为调度器201的输出端相连接,所述第一级表项行为调度器202的输入端与所述第二级转发模块11的输入端及所述第一级模块行为调度器201的第二输入端均相连接。所述第二级模块行为调度器211的第一输入端与所述第二级转发模块11的输出端相连接。所述第二级表项行为调度器212的输入端与所述第二级模块行为调度器211的输出端相连接;所述第二级表项行为调度器212的输出端与所述第三级转发模块12的输入端及所述第二级模块行为调度器211的第二输入端均相连接。所述第三级模块行为调度器221的第一输入端与所述第三级转发模块12的输出端相连接。所述第三级表项行为调度器222的输入端与所述第三级模块行为调度器221的输出端相连接;所述第三级表项行为调度器222的输出端与所述第四级转发模块13的输入端及所述第三级模块行为调度器221的第二输入端均相连接。所述第四级转发模块13作为最后一级转发模块,所述第四级转发模块13的输出端用于输出经过处理后的协议报文。
需要说明的是,在其他示例中,所述转发模块的级数及所述调度器的级数并不以图1所示的为限。
作为示例,各级所述转发模块之间采用流水线(pipeline)模式,流程固定。在一些示例中,可以基于实际配置跳过(bypass)某个所述转发模块,即一些转发模块可以不对上一级的转发模块转发的协议报文进行处理,而直接跳至下一转发模块。
作为示例,各级所述转发模块均包括多个内部行为,所述模块行为调度器依次对与其输入端相连接的转发模块的内部行为进行模块行为操作调度;各所述模块行为操作调度均需要执行多项标签表项行为调度,各所述表项行为调度器依次执行各项标签表项行为调度。
作为示例,各所述转发模块内部均包括寄存器(未示出),所述寄存器用于向所述模块行为调度器下发第一个内部行为的行为标签,即各所述转发模块的第一标签由该转发模块中的寄存器配置。
作为示例,各级所述模块行为调度器均用于在与其输入端相连接的转发模块中的内部行为之间进行模块行为操作调度,当当前转发模块的所有内部行为均执行完后,才会结束该级调度,跳至下一级转发模块,继续有与下一级转发模块的输出端相连接的模块行为调度器对其内部行为进行标签处理(即模块行为操作调度)。
作为示例,各所述模块行为操作调度均需要执行多项标签表项行为调度,各所述表项行为调度器依次执行各项标签表项行为调度;即当当前内部行为的当前模块行为操作调度中的所有表项调度行为均执行完毕后,才会跳到当前内部行为的下一模块行为操作调度,继续依次执行下一模块行为操作调度的所有表项调度行为。
作为示例,各级所述转发模块的内部行为均可以采用标签(Label)模式,由标签表项(Label_table)配置,标签之间可以采用链表形式级联。
作为示例,各级所述调度器均为转发调度器,包括模块行为调度器和表项行为调度器两种,所述模块行为调度器及所述表项行为调度器可以均基于标签进行调度。
作为示例,所述模块行为调度器的模块行为标签(module_action)和表项行为标签(table_action)可以均以表项形式存放。其中,模块行为标签的数据结构可以如下表1所示。
表1:模块行为标签的数据结构
表1中,Action_Opcode(行为操作类型)表示当前行为的操作类型。行为操作类型支持移位、复制和删除,即所述模块行为操作调度可以包括移位、复制或删除;以比特位(bit)为粒度,将数据从报文内容(SOP)/报文描述符/表项(table)/队列(FIFO)/临时立即寄存器(imm_reg[n])等地搬移/拷贝/删除到SOP/报文描述符/表项/队列/临时立即寄存器等地。
作为示例,当行为操作类型Action_Opcode=0xFF,表示当前转发模块中的所有内部行为均已处理完毕,可以跳至下一级转发模块。
作为示例,关于表1所示的模块行为标签的数据长度,可以采用如下操作方式:dst_len(目的数据的长度)和src_len(源数据的长度)以bit为粒度,原则上二者的值要相等,若二者不相等时,可以采用如下处理方式进行处理:
如果src_len>dst_len:取src_data[dst_len-1:0]与dst_data进行操作/运算;
如果src_len<dst_len:src_data高位填0后再与dst_data进行操作/运算。
作为示例,所述数据转发系统还可以包括多个IP转发核(IP_core),所述IP转发核连接于所述转发模块与所述调度器之间,与所述转发模块及所述调度器均通过总线相连接。
作为示例,所述IP转发核可以为硬件逻辑的数据通道,通过所述调度器基于标签进行转发。为了业务功能的实现,在硬件逻辑上,尽量进行标准化的切割成多个IP转发核;例如,寄存器查询核(CSR_CORE)、表项查询核(TABLE_CORE)、TCAM查询核(TCAM_CORE)、HASH查询核(HASH_CORE)、状态机(STAT_CORE)、限速(METER_CORE)及各种功能核(FUNCTION_CORE);功能核可以包括:校验值检查功能(Checksum)、IPV6转发功能(IPv6 next_header)、L2表项查询功能(L2 searching)、L2学习功能(L2 Learning)、TAG功能(TAG_action)、IP报文检查功能(IP_check)及其他各种功能等等。
作为示例,所述数据转发系统在业务处理过程中,使用到的协议报文的报文描述符的数据结构以预设+用户自定义方式进行设计,硬件逻辑根据用户指令,对自定义字段进行操作。
作为示例,表项数据结构中,Action_Opcode=0xFF,表示当前表项中所有的标签表项行为调度均处理完毕,标签表项行为调度返回数据修改协议报文内容,同时修改协议报文携带的特征信息。
作为示例,所述数据转发系统还可以包括报文缓存容器(Packet buffer),报文缓存容器存储完整的协议报文,同时,复制一份报文数据(SOP),与协议报文描述符并行。
作为示例,本申请的数据转发系统,基于标签行为(Label_action)(标签行为可以包括上述的模块行为调度和标签表项行为调度)可以对报文数据进行随路编辑,同时在报文描述符中修改报文编辑相关参数给报文编辑模块使用。参数可以如下:脏数据长度(dirty_len):被修改的原始报文长度,单位为字节;新数据长度(renew_len):需要替换的新报文长度,单位字节;校验位修改标记位(renew_checksum):是否需要重新计算checksum。
本申请的数据转发系统中,通过增设调度器,调度器包括模块行为调度器和表项行为调度器,通过模块行为调度和标签表项行为调度相结合,可以完成对所有协议报文的处理,大大增加了协议报文的灵活处理流程,不再固化逻辑,应用范围广。
本申请的数据转发系统还具有可灵活处理网络转发流程的有益效果。例如,原始IPv4协议报文不带VLAN-TAG(tag),在入口VLAN模块增加1层tag,在出口封装(egressENCAP)模块再增加1层tag,并修改DSCP。具体流程可以如下:
1)解析协议报文TAG标记(tag_st)=0,协议报文不带tag;
2)在入口VLAN模块,Label_action动作为增加1层tag,编辑随路SOP,同时刷新报文描述符中dirty_len=12(dmac+smac),renew_len=16(dmac+smac+tag);
3)出口封装(egress ENCAP)模块,Label_action动作为增加1层tag,并修改DSCP,编辑随路SOP,同时刷新报文描述符中dirty_len=26(dmac+smac+et+IP headerchecksum),renew_len=34(dmac+smac+tag+tag+et+IP header checksum);
4) 在编辑模块(PE module)中,Label_action pop dirty_len,push renew_len,数据来源随路SOP。
在另一个实施例中,请参阅图2,本申请还提供一种数据转发方法,所述数据转发方法基于图1及其对应的实施例中所述的数据转发系统而执行;所述数据转发方法包括:各级所述调度器依次对与其输入端相连接的转发模块转发的协议报文进行调度,各级所述调度器对与其输入端相连接的转发模块转发的协议报文进行调度均可以包括如下步骤:S11~S12。
S11:所述模块行为调度器对与其输入端相连接的转发模块的内部行为进行模块行为操作调度。
S12:所述表项行为调度器对与其相连接的模块行为调度器当前执行的模块行为操作调度进行标签表项行为调度。
本申请的数据转发方法中,通过增设调度器,调度器包括模块行为调度器和表项行为调度器,通过模块行为调度和标签表项行为调度相结合,可以完成对所有协议报文的处理,大大增加了协议报文的灵活处理流程,不再固化逻辑,应用范围广。
作为示例,各级所述转发模块均可以包括多个内部行为,各所述模块行为操作调度均需要执行多项标签表项行为调度;所述表项行为调度器对与其相连接的模块行为调度器当前执行的模块行为操作调度依次进行各项标签表项行为调度;所述模块行为调度器对与其输入端相连接的转发模块的内部行为依次进行各模块行为操作调度;各所述模块行为操作调度过程中,所有所述标签表项行为调度均完成后,执行下一模块行为操作调度。
作为示例,各所述转发模块内部均包括寄存器;所述模块行为调度器对与其输入端相连接的转发模块的内部行为依次进行模块行为操作调度之前,所述寄存器向所述模块行为调度器下发第一个内部行为的行为标签。
作为示例,请结合图2参阅图3,所述模块行为调度器对与其输入端相连接的转发模块的各内部行为进行模块行为操作调度均包括:S111~S113。
S111:查找当前模块行为调度器的配置,确认当前内部行为是否需要执行模块行为操作调度。
S112:若是,则调度需要修改的协议报文的报文信息。
S113:若否,则所述模块行为调度器对与其输入端相连接的转发模块的下一内部行为进行模块行为操作调度。
作为示例,请参阅图4,以第X级转发模块(ModuleX)及第X级模块行为调度器(ModuleX_action调度器)为例,X大于等于1小于等于N;所述模块行为调度器对与其输入端相连接的转发模块的各内部行为进行模块行为操作调度可以包括如下步骤:第X级转发模块(ModuleX)连接的第X级模块行为调度器(ModuleX_action调度器)在收到第一个内部行为的行为标签(moduleX_first_action_label)之后,查找配置中的moduleX_action_PTR收到的Next_action_label_ptr对应的ACTION_OPCODE为0xFF,则进入下一个moudle,若ACTION_OPCODE不为0xFF,则继续执行后续步骤;查找配置查看该module_action(模块行为标签)是否需要执行,即是否moduleX_actionX_Valid=1;若moduleX_actionX_Valid=1,则为表项行为调度器获取要修改的报文信息(UDF等),并进入表项调度器,完成当前action的标签表项行为调度,然后基于Next_action_Label_ptr信号重新回到“查找配置中的moduleX_action_PTR收到的Next_action_label_ptr对应的ACTION_OPCODE为0xFF,则进入下一个moudle,若ACTION_OPCODE不为0xFF,则继续执行后续步骤”的步骤,并依次执行其后续步骤;若moduleX_actionX_Valid≠1,则基于Next_action_Label_ptr信号重新回到“查找配置中的moduleX_action_PTR收到的Next_action_label_ptr对应的ACTION_OPCODE为0xFF,则进入下一个moudle,若ACTION_OPCODE不为0xFF,则继续执行后续步骤”的步骤,并依次执行其后续步骤。
作为示例,请参阅图5,所述表项行为调度器对与其相连接的模块行为调度器当前执行的模块行为操作调度进行各项标签表项行为调度均包括:S121~S122。
S121:读取当前表项行为调度器的配置。
S122:将自与其相连接的所述模块行为调度器获取的报文信息依次进行各标签表项行为调度。
作为示例,请结合图4参阅图6,所述表项行为调度器对与其相连接的模块行为调度器当前执行的模块行为操作调度进行各项标签表项行为调度可以包括如下步骤:要修改的报文信息达到表项行为调度器之后,读取表项行为调度器配置;将获取的报文信息在本级进行表项行为标签(TABLE_ACTION)处理;本级表项行为标签处理完成,依次进行各级表项行为标签处理,直至最后一级表项行为标签处理完成,将操作交回至第X级模块行为表项调度器(ModuleX_action调度器)执行下一个模块行为标签(MODULE_ACTION)处理。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种数据转发系统,其特征在于,所述数据转发系统包括:
多级转发模块,依次串接;
多级调度器,分别连接于相邻所述转发模块之间;各级所述调度器依次对与其输入端相连接的转发模块转发的协议报文进行调度;各所述调度器均包括模块行为调度器及表项行为调度器;所述模块行为调度器包括第一输入端、第二输入端及输出端;所述模块行为调度器的第一输入端与当前级转发模块相连接;所述表项行为调度器包括输入端及输出端;所述表项行为调度器的输入端与所述模块行为调度器的输出端相连接,所述表项行为调度器的输出端与下一级转发模块的输入端及与其相连接的模块行为调度器的第二输入端均相连接;所述模块行为调度器用于对与其输入端相连接的转发模块的内部行为进行模块行为操作调度;所述表项行为调度器用于对与其相连接的模块行为调度器当前执行的模块行为操作调度进行标签表项行为调度。
2.根据权利要求1所述的数据转发系统,其特征在于,各级所述转发模块均包括多个内部行为,所述模块行为调度器依次对与其输入端相连接的转发模块的内部行为进行模块行为操作调度;各所述模块行为操作调度均需要执行多项标签表项行为调度,各所述表项行为调度器依次执行各项标签表项行为调度。
3.根据权利要求2所述的数据转发系统,其特征在于,各所述转发模块内部均包括寄存器,所述寄存器用于向所述模块行为调度器下发第一个内部行为的行为标签。
4.根据权利要求1所述的数据转发系统,其特征在于,还包括多个IP转发核,所述IP转发核连接于所述转发模块与所述调度器之间,与所述转发模块及所述调度器均通过总线相连接。
5.根据权利要求1所述的数据转发系统,其特征在于,所述模块行为操作调度包括移位、复制或删除。
6.一种数据转发方法,其特征在于,所述数据转发方法基于如权利要求1至5中任一项所述的数据转发系统而执行;所述数据转发方法包括:各级所述调度器依次对与其输入端相连接的转发模块转发的协议报文进行调度,各级所述调度器对与其输入端相连接的转发模块转发的协议报文进行调度均包括:
所述模块行为调度器对与其输入端相连接的转发模块的内部行为进行模块行为操作调度;
所述表项行为调度器对与其相连接的模块行为调度器当前执行的模块行为操作调度进行标签表项行为调度。
7.根据权利要求6所述的数据转发方法,其特征在于,各级所述转发模块均包括多个内部行为,各所述模块行为操作调度均需要执行多项标签表项行为调度;
所述表项行为调度器对与其相连接的模块行为调度器当前执行的模块行为操作调度依次进行各项标签表项行为调度;
所述模块行为调度器对与其输入端相连接的转发模块的内部行为依次进行各模块行为操作调度;各所述模块行为操作调度过程中,所有所述标签表项行为调度均完成后,执行下一模块行为操作调度。
8.根据权利要求7所述的数据转发方法,其特征在于,所述模块行为调度器对与其输入端相连接的转发模块的各内部行为进行模块行为操作调度均包括:
查找当前模块行为调度器的配置,确认当前内部行为是否需要执行模块行为操作调度;
若是,则调度需要修改的协议报文的报文信息;
若否,则所述模块行为调度器对与其输入端相连接的转发模块的下一内部行为进行模块行为操作调度。
9.根据权利要求8所述的数据转发方法,其特征在于,所述表项行为调度器对与其相连接的模块行为调度器当前执行的模块行为操作调度进行各项标签表项行为调度均包括:
读取当前表项行为调度器的配置;
将自与其相连接的所述模块行为调度器获取的报文信息依次进行各标签表项行为调度。
10.根据权利要求6所述的数据转发方法,其特征在于,各所述转发模块内部均包括寄存器;所述模块行为调度器对与其输入端相连接的转发模块的内部行为依次进行模块行为操作调度之前,所述寄存器向所述模块行为调度器下发第一个内部行为的行为标签。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202411570112.0A CN119071367B (zh) | 2024-11-06 | 2024-11-06 | 数据转发方法及数据转发系统 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202411570112.0A CN119071367B (zh) | 2024-11-06 | 2024-11-06 | 数据转发方法及数据转发系统 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN119071367A CN119071367A (zh) | 2024-12-03 |
| CN119071367B true CN119071367B (zh) | 2025-02-11 |
Family
ID=93644967
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202411570112.0A Active CN119071367B (zh) | 2024-11-06 | 2024-11-06 | 数据转发方法及数据转发系统 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN119071367B (zh) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN104821890A (zh) * | 2015-03-27 | 2015-08-05 | 上海博达数据通信有限公司 | 一种基于普通交换芯片的OpenFlow多级流表的实现方法 |
| CN114710571A (zh) * | 2022-04-01 | 2022-07-05 | 中国人民解放军战略支援部队信息工程大学 | 数据包处理系统 |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5938736A (en) * | 1997-06-30 | 1999-08-17 | Sun Microsystems, Inc. | Search engine architecture for a high performance multi-layer switch element |
| CN106961445B (zh) * | 2017-04-28 | 2019-10-29 | 中国人民解放军信息工程大学 | 基于fpga硬件并行流水线的报文解析装置 |
| CN110601983A (zh) * | 2019-10-15 | 2019-12-20 | 南京信息职业技术学院 | 一种协议无感知源路由转发方法及系统 |
| CN116980364A (zh) * | 2022-04-24 | 2023-10-31 | 深圳云豹智能有限公司 | 多级pipe部署方法、装置与交换机 |
-
2024
- 2024-11-06 CN CN202411570112.0A patent/CN119071367B/zh active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN104821890A (zh) * | 2015-03-27 | 2015-08-05 | 上海博达数据通信有限公司 | 一种基于普通交换芯片的OpenFlow多级流表的实现方法 |
| CN114710571A (zh) * | 2022-04-01 | 2022-07-05 | 中国人民解放军战略支援部队信息工程大学 | 数据包处理系统 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN119071367A (zh) | 2024-12-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12166676B2 (en) | Apparatus and method of generating lookups and making decisions for packet modifying and forwarding in a software-defined network engine | |
| US10764181B2 (en) | Pipelined evaluations for algorithmic forwarding route lookup | |
| CN103415836B (zh) | 加速数据包解析的网络处理器及方法 | |
| CN108833299B (zh) | 一种基于可重构交换芯片架构的大规模网络数据处理方法 | |
| US9298437B2 (en) | Unrolling quantifications to control in-degree and/or out-degree of automaton | |
| US8705533B1 (en) | Fast packet encapsulation using templates | |
| US7149216B1 (en) | M-trie based packet processing | |
| TWI543575B (zh) | 封包處理方法以及封包處理裝置 | |
| CN110546640A (zh) | 用于深度数据包分析的分级模式匹配 | |
| US9985885B1 (en) | Aggregating common portions of forwarding routes | |
| HUP0203823A2 (en) | Method and system for frame and protocol classification | |
| CN117880395A (zh) | 百吉比特速率网络交换芯片的可重构包协议解析器设备 | |
| US7725513B2 (en) | Minimum processor instruction for implementing weighted fair queuing and other priority queuing | |
| CN119071367B (zh) | 数据转发方法及数据转发系统 | |
| CN113411290A (zh) | 一种分组头解析方法及装置 | |
| CN110933001B (zh) | 一种可扩展的可重构交换机包解析器基本处理单元结构 | |
| US7369554B1 (en) | Method and apparatus for performing filter operations on data packets using an instruction | |
| US8098674B2 (en) | Queue selection method and scheduling device | |
| US6633880B1 (en) | Method and apparatus for performing distinct types of radix searches | |
| JP3935021B2 (ja) | パケット処理方法及び装置 | |
| US20050163107A1 (en) | Packet processing pipeline | |
| CN119743456A (zh) | 网卡路由的可编程报文解析装置及方法 | |
| Zolfaghari et al. | An Explicitly Parallel Architecture for Packet Processing in Software Defined Networks | |
| WO2025130820A1 (zh) | 一种网络处理器及报文处理方法 | |
| CN116320086A (zh) | 一种基于协同解析的tcam报文处理方法、装置及介质 |
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 |