当前位置: 首页 > 专利查询>卡雷公司专利>正文

用于在处理资源之间调度网络帧的方法技术

技术编号:13360606 阅读:40 留言:0更新日期:2016-07-17 20:18
本发明专利技术涉及一种处理到达网络接口上的数据帧的方法,包括在所述网络接口中实现的以下步骤:存储一组目标位置(tgtPOS),所述位置是期望描述子帧(ETH_TYPE)的至少一个参数和描述客户端‑服务器会话的参数(SRC_IP,DST_IP)的帧中的位置;存储用于子帧参数的期望值(xpVAL);接收当前帧,并将在所述子帧参数的位置接收的值(xtVAL)和期望值相比较;如果相等,则根据在会话参数的位置接收的值计算索引(IDX);以及将当前帧路由到与所述索引关联的处理资源。

【技术实现步骤摘要】

本专利技术涉及网络处理设备,尤其用于以太网网络。
技术介绍
图1A至图1C显示了示例性的以太网帧起始处的报头(header)序列。以太网帧通常包括分层嵌套的、对应于互联网协议组不同层的一系列子帧.图1A示出了以太网帧的第一个报头。以太网协议为互联网协议组中的“数据链路层”,例如TokenRing、PPP、HDLC、ATM、Wi-Fi等。前6个字节B0至B5传递目的地MAC地址,接下来6个字节B6至B11传送源MAC地址,字节B12和B13(ETHTYPE)定义嵌套于所述以太网帧中字节B14的“网络层”或“互联网层”的协议,例如IP(IPv4、IPv6)、ICMP、IPX等。图1B示出了可以始于字节B14的IPv4子帧的报头。IPv4帧的报头包括各种参数,尤其是用字节B24标识的“协议”,用8个字节B26至B33标识的源和目的地IP地址。所述“协议”字节从字节B37定义了IPv4帧中嵌套的“传输层”,例如TCP、UDP、或SCTP。图1C示出了可以始于字节B37的TCP子帧的报头。B37至B40这4个字节标识源端口和目的地端口。用以太网帧的字节B12至B13传递的ETHTYPE参数还可以规定所述以太网帧包含具有与所述以太网一样层级的数个子帧,例如多个以太网子帧。例如当ETHTYPE参数规定TRILL协议(“大量链路的透明互连”)时,情况就是如此。图2示出了嵌套于图1A的以太网帧中字节B14的TRILL帧的起始。TRILL帧可以传递多个以太网子帧,各具有和图1A相同结构的报头。各以太网子帧之前有6个字节的前同步码,其中第三、四个字节传递参数ERBN(“EgressRBridgeName”)。以太网帧可以在所谓的VLAN模式中定义虚拟本地网络。在此情况下,ETHTYPE参数之前有用于标识所述VLAN的一至三个4字节标记。IEEE802.3ba标准提供了一种以太网连接,其可以在4条双绞线电缆上达到40Gbits/s的数据速率,即每双绞线10Gbits/s。能够充分利用这一数据速率的网络接口卡牵涉大量计算资源,尤其是解码所述报头、计算错误校验签名、提取数据包和将所述数据包导向其最终目的地。
技术实现思路
提供了一种用于处理在网络接口上到达的数据帧的方法,包括在所述网络接口中实现的以下步骤:存储一组目标位置,期望描述子帧的至少一个参数和描述客户端-服务器会话的参数在帧中的位置;存储用于子帧参数的期望值;接收当前帧,并将在所述子帧参数的位置接收的值与期望值比较;如果相等,根据在会话参数的位置接收的值计算索引;以及将当前帧路由至与所述索引关联的处理资源。所述方法可以包括步骤:以固定大小的字生成当前帧的数据;当所述帧的当前字包括目标位置时,将所述字存储在提取值寄存器组的相应存储器内;配置所述提取值寄存器组上的索引掩码,以除了那些在所述会话参数的位置的值外,取消所有值;以及通过所述索引掩码,计算所述提取值寄存器组上的所述索引。所述方法可以包括步骤:将用于数个子帧参数的期望值存储在对应于所述提取值寄存器的期望值寄存器组内;配置所述提取值寄存器组上的比较掩码,以除了那些在所述子帧参数的位置的值外,取消所有值;通过所述比较掩码,将所述提取值寄存器组的内容与所述期望值寄存器组的内容相比较。所述方法可以包括步骤:将所述目标位置存储在目标位置寄存器组的、分别与所述提取值寄存器关联的相应寄存器中;同时将所有目标位置寄存器的内容与接收到的帧的当前位置计数相比较;在所述位置计数与目标位置寄存器的内容对应的情况下,将所述帧的当前字存储在与目标位置寄存器关联的提取值寄存器中。所述方法可以包括步骤:提供多条独立的调度规则,各调度规则使用一组目标位置、提取值寄存器组、索引掩码、比较掩码和期望值寄存器组;设置所述调度规则之间的优先权;对当前帧并行评估所述调度规则;使用在同时满足的多条规则之间具有最高优先级的调度规则所生成的索引。所述方法可以包括步骤:定义所述会话参数的目标位置,使得将在会话参数位置接收的各值存储在不同的提取值寄存器中;如果两个提取值寄存器设计为分别包含源参数和目的地参数,以相同顺序使用两个寄存器的内容的最大值和两个寄存器的内容的最小值来计算所述索引。附图说明根据以下对仅出于示例目的提供、并由附图表示的本专利技术特定实施例的描述,其它优点和特征将更清晰明显,其中:图1A至图1C和图2,如之前描述的,表示以太网帧中可以存在的示例性报头;图3为操作多核处理器用于处理以高数据速率到达的帧的网络接口卡的框图;图4为示出一种向处理器内核调度到来的帧的方法的框图;图5为实现图4原理的调度器的实施例的图;图6A示出了提取值寄存器组的示例性内容,例如由图5的调度器生成的;图6B示出了所述提取值寄存器组的其它示例性内容;图7为可以生成图6B的寄存器组内容的调度器实施例的图;以及图8示意性显示了可以根据数条规则调度帧的电路的实施例。具体实施方式当前的网络接口卡,其数据速率可以高达1Gbits/s,设计为转发原始帧给主处理器。所述主处理器然后有处理所述帧的负担,例如用于提取有效负载、差错管理、转发数据给目标服务,等等。利用根据IEEE802.3ba的网络接口卡,数据速率可以乘以40。如果对于1Gbit卡,所述主处理器设计为执行相同的任务,它可能受不了网络数据包处理,且不会有用于其主要任务的资源。出于这一原因,新的网络卡设计为用硬件实现用于分配给所述主处理器的某些任务。然而,当标准和协议发展时,此类卡变得过时了。因而需要可编程的网络卡,这样它能通过简单的固件更新适配变化的标准和协议。图3为40Gbit网络接口卡(NIC)的框图,包括设计为卸载网络数据包的处理的主CPU的嵌入式多核处理器10。处理器10可以包括数百个内核,例如Kalray制造的MPPA型处理器。所述卡进一步包括物理层控制电路12,可以集成常规网络卡的功能,即经串行-并行转换提供并接受原始以太网帧。本公开文件集中于要用处理器10处理的到来的以太网流量。这一配置的困难在于数百个处理器内核10上执行接收到的帧的优化的实时调度14。多个处理器内核之间的帧调度不是小事。例如,以循环方式将内核分配给帧是不够的。实际上,数个不同的内核接着可能独立地终结处理属于同一客户端-服务器会话的数据,借以在分配给所述内核的不同存储区域内拆分这一会话的数据。那么重装所述会话的数据在资源方面是很难的,或者至少成本很高,因此它们成为可利用的。图4为示出一种由调度器电路14本文档来自技高网
...

【技术保护点】
一种处理到达网络接口上的数据帧的方法,包括在所述网络接口中实现的以下步骤:存储一组目标位置,所述位置是期望描述子帧的至少一个参数和描述客户端‑服务器会话的参数的帧中的位置;存储用于子帧参数的期望值;接收当前帧,并比较在所述子帧参数的位置接收的值与所述期望值;如果相等,根据在会话参数的位置接收的值计算索引;以及将所述当前帧路由至与所述索引关联的处理资源。

【技术特征摘要】
2014.11.07 FR 14607731.一种处理到达网络接口上的数据帧的方法,包括在所述网络接口中实现的以下步
骤:
存储一组目标位置,所述位置是期望描述子帧的至少一个参数和描述客户端-服务器
会话的参数的帧中的位置;
存储用于子帧参数的期望值;
接收当前帧,并比较在所述子帧参数的位置接收的值与所述期望值;
如果相等,根据在会话参数的位置接收的值计算索引;以及
将所述当前帧路由至与所述索引关联的处理资源。
2.权利要求1的所述方法,包括步骤:
以固定大小的字生成当前帧的数据;
当所述帧的当前字包括目标位置时,将所述字存储在提取值寄存器组的相应寄存器
内;
配置所述提取值寄存器组上的索引掩码,以取消除了在所述会话参数的位置的值以外
的所有值;以及
通过所述索引掩码计算所述提取值寄存器组上的索引。
3.权利要求2的所述方法,包括步骤:
在与所述提取值寄存器对应的期望值寄存器组中存储用于数个子帧参数的期望值;
配置所述提取值寄存器组上的比较掩码,以取消除了在所述子帧参数的位置的值以外
的所有值;以及
...

【专利技术属性】
技术研发人员:P·库弗特M·雷布津斯卡S·马里琼Y·卡莱姆卡里安B·甘尼A·布兰佩
申请(专利权)人:卡雷公司
类型:发明
国别省市:法国;FR

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

1