System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及芯片,尤其涉及一种网络接口数据包处理方法、网络接口芯片及网络接口系统。
技术介绍
1、当前网络通信技术和芯片设计领域快速发展,网络传输速率和网络结构复杂度大幅提升,作为网络接口对巨大数据量的处理需求与实际处理能力的矛盾日益突出,而网络接口作为网络处理器和外部设备进行数据交换的关键模块,其性能对网络的正常运行起到至关重要的作用,现有技术网络接口数据处理领域,当网络接口上存在大量的数据包需要处理的时候,现有的解决方案一般都提高处理单元的频率或者提高处理单元的规模来增加计算性能,从而提升数据包处理速度来应对,这些解决方案,一方面增加了系统稳定性风险和功耗,另一方面无法满足网络中一些有高实时性要求的数据包处理,这对网络数据包处理的实时性要求以及指数增长的数据量的处理需求都没办法满足。
技术实现思路
1、针对现有技术中的上述问题,本专利技术的一个方面,提供了一种网络接口数据包处理方法,所述处理方法包括,接收网络数据包,响应于与多个处理单元对应的配置规则,过滤分发单元将所述网络数据包逐个匹配所述配置规则,并将所述网络数据包发送至匹配成功的配置规则对应的处理单元。
2、在一些实施方式中,所述配置规则至少包括目的mac地址正反过滤、源mac地址正反过滤、数据包类型正反过滤、特定内容正反过滤、重复数据包过滤和流量控制过滤中的一种或多种待匹配子规则。
3、在一些实施方式中,所述响应于与多个处理单元对应的配置规则,过滤分发单元将所述网络数据包逐个匹配所述配置规则前,
4、判断当前待匹配的配置规则对应处理单元的接收缓冲区是否有空闲空间,若有空闲,执行所述网络数据包与当前待匹配的配置规则的匹配,若没有空闲,则执行是否存在与所述网络数据包未匹配过的规则的判断。
5、在一些实施方式中,在所述判断当前待匹配的配置规则对应处理单元的接收缓冲区是否有空闲空间前,所述网络接口数据包处理方法还包括,过滤分发单元完成至少包括如下一种或多种的初始化:配置规则、目的mac地址、源mac地址、数据包类型、特定内容、重复数据包、预设控制流量或处理单元单次连续发送的数据包数量。
6、在一些实施方式中,所述网络数据包与当前待匹配的配置规则的匹配,具体包括,
7、判断所述网络数据包是否通过所述当前待匹配的配置规则中第一待匹配子规则,若不通过,则执行步骤h,若通过则判断当前待匹配的配置规则中下一待配套子规则,直至所有待匹配子规则判断完毕,其中
8、步骤h,判断是否存在与所述网络数据包未匹配过的规则。若存在,执行i。若不存在,则执行j,
9、步骤i,判断是否有后续待匹配的配置规则,若有,则执行切换后续待匹配的配置规则的匹配步骤,若没有进行下一步,
10、步骤j,完成所述网络数据包的处理。
11、在一些实施方式中,所述网络数据包与当前待匹配的配置规则的匹配,具体包括,
12、步骤a,判断通过目的mac地址正或反过滤。若通过,执行b。
13、若不通过,则执行h,
14、步骤b,判断通过源mac地址正或反过滤。若通过,执行c。若不通过,则执行h,
15、步骤c,判断通过数据包类型正或反过滤。若通过,执行d。若不通过,则执行h,
16、步骤d,判断通过特定内容正或反过滤。若通过,执行e。若不通过,则执行h,
17、步骤e,判断通过重复数据包过滤。若通过,执行f。若不通过,则执行h,
18、步骤f,判断通过流量控制。若通过,执行g。若不通过,则执行h,
19、步骤g,复制数据包到该套规则对应的接收缓冲区,
20、步骤h,判断是否存在与所述网络数据包未匹配过的规则。若存在,执行i。若不存在,则执行j
21、步骤i,判断是否有后续待匹配的配置规则,若有,则执行切换后续待匹配的配置规则的匹配步骤,若没有进行下一步,
22、步骤j,完成所述网络数据包的处理。
23、在一些实施方式中,所述过滤分发单元发出处理后的数据包,具体包括,判断所述实时发送缓冲区是否有数据包,若有数据包,执行将该数据包从实时发送缓冲区搬走并发出的步骤,若没有数据包,执行发出处理后的数据包的步骤,其中所述实时发送缓冲区配置为所有处理单元共享。
24、在一些实施方式中,所述判断所述实时发送缓冲区是否有数据包步骤前,所述过滤分发单元发出处理后的数据包还包括,
25、所述过滤分发单元初始化所有处理单元单次连续发送的数据包最大值为n。
26、在一些实施方式中,所述发出处理后的数据包的步骤,具体包括,
27、步骤a,配置当前处理单元连续发送数据包计数器为0,
28、步骤b,判断当前处理单元的发送缓冲区是否有数据包。若有数据包,执行步骤c,若没有数据包,执行步骤f,
29、步骤c,从处理单元的发送缓冲区搬走一个数据包并发送,
30、步骤d,将连续发送数据包计数器加1,
31、步骤e,判断所述连续发送数据包计数器值是否大于n,若大于,执行步骤f,执行步骤,若不大于,返回执行判断所述实时发送缓冲区是否有数据包,
32、步骤f,切换至下一处理单元。
33、本专利技术第二方面提供一种执行如上述任一项所述网络接口数据包处理方法的网络接口芯片,所述网络接口芯片包括,
34、网络接口,用于接收和发出网络数据包,
35、过滤分发单元,响应于与多个处理单元对应的配置规则,过滤分发单元将所述网络数据包逐个匹配所述配置规则,并将所述网络数据包发送至与匹配成功的配置规则对应的处理单元,
36、至少一个处理单元,用于对所述网络数据包进行处理,
37、所述过滤分发单元还用于发出处理后的数据包。
38、在一些实施方式中,所述网络接口芯片还包括,至少一个配置寄存器组,与过滤分发单元和处理单元相连接,用于存储和发送与所述网络数据包和所述处理单元关联的控制信息和状态信息。
39、在一些实施方式中,所述网络接口芯片还包括,与配置寄存器组连接的至少一个数据包实时发送缓冲区,所述实时发送缓冲区被所有处理单元共享。
40、在一些实施方式中,所述网络接口芯片中所述过滤分发单元还包括与每个处理单元对应的一个配置区域,所述配置区域用于存储所对应处理单元单次连续发送数据包个数的最大值。
41、本专利技术第三方面提供了一种网络接口系统,所述网络接口系统包括,
42、至少一个执行上述任一实施方式网络接口数据包处理方法的网络接口芯片,
43、网络交换机,用于接收来自一个网络接口芯片的数据,并根据目的地地址将数据转发到另外一个网络接口芯片。
44、在一些实施方式中,所述网络接口系统还包括,所有芯片共享的实时发送缓冲区,用于所述网络接口系统优先处理高实时性要求的数据本文档来自技高网...
【技术保护点】
1.一种网络接口数据包处理方法,其特征在于,所述处理方法包括,
2.如权利要求1所述的网络接口数据包处理方法,其特征在于,所述配置规则至少包括目的MAC地址正反过滤、源MAC地址正反过滤、数据包类型正反过滤、特定内容正反过滤、重复数据包过滤和流量控制过滤中的一种或多种待匹配子规则。
3.如权利要求1所述的网络接口数据包处理方法,其特征在于,所述响应于与多个处理单元对应的配置规则,过滤分发单元将所述网络数据包逐个匹配所述配置规则前,所述处理方法还包括,
4.如权利要求3所述的网络接口数据包处理方法,其特征在于,在所述判断当前待匹配的配置规则对应处理单元的接收缓冲区是否有空闲空间前,所述网络接口数据包处理方法还包括,过滤分发单元完成至少包括如下一项或多项的初始化:配置规则、目的MAC地址、源MAC地址、数据包类型、特定内容数据包、重复数据包、预设控制流量或处理单元单次连续发送的数据包数量。
5.如权利要求2-4任一项所述的网络接口数据包处理方法,其特征在于,所述网络数据包与当前待匹配的配置规则的匹配,具体包括,
6.如权利要
7.如权利要求1所述的网络接口数据包处理方法,其特征在于,所述过滤分发单元发出处理后的数据包,具体包括,
8.如权利要求7所述的网络接口数据包处理方法,其特征在于,所述判断所述实时发送缓冲区是否有数据包步骤前,所述过滤分发单元发出处理后的数据包还包括,
9.如权利要求8所述的网络接口数据包处理方法,其特征在于,所述发出处理后的数据包的步骤,具体包括
10.一种执行如权利要求1-9任一项所述网络接口数据包处理方法的网络接口芯片,其特征在于,所述网络接口芯片包括,
11.如权利要求10所述的网络接口芯片,其特征在于,所述网络接口芯片还包括,至少一个配置寄存器组,与过滤分发单元和处理单元相连接,用于存储和发送与所述网络数据包和所述处理单元关联的控制信息和状态信息。
12.如权利要求11所述的网络接口芯片,其特征在于,所述网络接口芯片还包括,与配置寄存器组连接的至少一个数据包实时发送缓冲区,所述实时发送缓冲区被所有处理单元共享。
13.如权利要求10-11任一项所述的网络接口芯片,其特征在于,所述网络接口芯片还包括所述过滤分发单元还包括与每个处理单元对应的一个配置区域,所述配置区域用于存储所对应处理单元单次连续发送数据包个数的最大值。
14.一种网络接口系统,其特征在于,所述网络接口系统包括,至少一个执行如权利要求1-9任一项所述网络接口数据包处理方法的网络接口芯片。
...【技术特征摘要】
1.一种网络接口数据包处理方法,其特征在于,所述处理方法包括,
2.如权利要求1所述的网络接口数据包处理方法,其特征在于,所述配置规则至少包括目的mac地址正反过滤、源mac地址正反过滤、数据包类型正反过滤、特定内容正反过滤、重复数据包过滤和流量控制过滤中的一种或多种待匹配子规则。
3.如权利要求1所述的网络接口数据包处理方法,其特征在于,所述响应于与多个处理单元对应的配置规则,过滤分发单元将所述网络数据包逐个匹配所述配置规则前,所述处理方法还包括,
4.如权利要求3所述的网络接口数据包处理方法,其特征在于,在所述判断当前待匹配的配置规则对应处理单元的接收缓冲区是否有空闲空间前,所述网络接口数据包处理方法还包括,过滤分发单元完成至少包括如下一项或多项的初始化:配置规则、目的mac地址、源mac地址、数据包类型、特定内容数据包、重复数据包、预设控制流量或处理单元单次连续发送的数据包数量。
5.如权利要求2-4任一项所述的网络接口数据包处理方法,其特征在于,所述网络数据包与当前待匹配的配置规则的匹配,具体包括,
6.如权利要求2至4任一项所述的网络接口数据包处理方法,其特征在于,所述网络数据包与当前待匹配的配置规则的匹配,具体包括,
7.如权利要求1所述的网络接口数据包处理方法,其特征在于,所述过滤分发单...
【专利技术属性】
技术研发人员:王灿峰,袁智巧,
申请(专利权)人:杭州朔天科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。