【24h】

Dynamically Accessing Packet Header Fields at High-Speed

机译:高速动态访问数据包头字段

获取原文

摘要

A significant part of packet processing consists of detecting whether certain standard protocol headers are present, where they are located and whether they include optional information. Packet processing programs are on tight time budgets, especially to handle speeds in the gigabits per second (gbps) range. Thus, high-speed mechanisms for finding and accessing headers are critical. Our approach lets users define headers as C-style structures in a high-level language, packetC [1], and specify header locations in terms of offsets from the start of the current packet, which is treated as an array of unsigned bytes. These offsets can be expressed in terms of network layer offsets, constant values, runtime-calculated variables and combinations of all of these. This paper focuses on the principal forms these offset expressions can take and on how our FPGAs (Field Programmable Gate Arrays), compiler and interpreter collectively handle them at runtime. For simple and complex header offset scenarios we provide users with intuitive, high-level ways to describe offsets and provide effective runtime mechanisms to access header fields.
机译:数据包处理的重要部分包括检测某些标准协议标头是否存在,它们的位置以及它们是否包含可选信息。数据包处理程序的时间预算很紧,特别是要处理每秒千兆位(gbps)范围内的速度。因此,用于查找和访问标头的高速机制至关重要。我们的方法允许用户使用高级语言packetC [1]将标头定义为C样式的结构,并以相对于当前数据包开头的偏移量来指定标头位置,该偏移量被视为无符号字节的数组。这些偏移可以用网络层偏移,常数值,运行时计算的变量以及所有这些的组合来表示。本文重点介绍这些偏移量表达式可以采用的主要形式,以及我们的FPGA(现场可编程门阵列),编译器和解释器如何在运行时共同处理它们。对于简单和复杂的标头偏移情况,我们为用户提供了直观,高级的方式来描述偏移,并提供了有效的运行时机制来访问标头字段。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号