JP2020502829A5 - - Google Patents

Download PDF

Info

Publication number
JP2020502829A5
JP2020502829A5 JP2018549514A JP2018549514A JP2020502829A5 JP 2020502829 A5 JP2020502829 A5 JP 2020502829A5 JP 2018549514 A JP2018549514 A JP 2018549514A JP 2018549514 A JP2018549514 A JP 2018549514A JP 2020502829 A5 JP2020502829 A5 JP 2020502829A5
Authority
JP
Japan
Prior art keywords
key
primitive
lookup
network
classification
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.)
Granted
Application number
JP2018549514A
Other languages
English (en)
Other versions
JP2020502829A (ja
JP7208008B2 (ja
Filing date
Publication date
Priority claimed from US15/377,303 external-priority patent/US10341242B2/en
Application filed filed Critical
Publication of JP2020502829A publication Critical patent/JP2020502829A/ja
Publication of JP2020502829A5 publication Critical patent/JP2020502829A5/ja
Application granted granted Critical
Publication of JP7208008B2 publication Critical patent/JP7208008B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Claims (16)

  1. 高性能ネットワークにおけるネットワークデバイスにおいてプログラマブルパケット分類フレームワークを提供するためのシステムであって、
    高性能ネットワークにおけるネットワークデバイスを含み、前記ネットワークデバイスは、キー合成プリミティブと、キー合成規則プリミティブと、1つ以上のルックアップテーブルと、一致アクションテーブルとを含む、複数の分類プリミティブを含み、
    前記キー合成プリミティブは、前記キー合成規則プリミティブに基づいてルックアップキーを構築し、前記ルックアップキーをルックアップテーブルへ提示するように構成されており、
    前記ルックアップテーブルにおける前記ルックアップキーとの一致は、前記一致アクションテーブルにおけるアクション一致をもたらし、
    前記アクション一致は、次のルックアップキーを構築する際に使用するための情報に関連付けられている、システム。
  2. 複数の分類プリミティブは、前記ネットワークデバイスで受信されたデータパケットの処理が完了するまで、ある分類プリミティブからの結果が次の分類プリミティブへ供給されることにより、論理的につなぎ合わされている、請求項1に記載のシステム。
  3. 前記キー合成規則プリミティブは、前記ネットワークデバイスにおけるTCAMに存在する構造であり、キーIDと、バイト選択アレイと、前記ルックアップキーの長さと、テーブルIDとを含む、請求項1または2に記載のシステム。
  4. 前記ネットワークデバイスは、インフィニバンドネットワークまたはイーサネットネットワークにおけるネットワークインターフェイスカードまたはスイッチである請求項1〜3のいずれか1項に記載のシステム。
  5. データパケット処理の状態を追跡するように構成されたステートマシンをさらに含む請求項1〜4のいずれか1項に記載のシステム。
  6. 初めに前記ネットワークデバイスによってデータパケットが受信されると、ルックアップキーを構築するために、前記キー合成プリミティブによってデフォルトキー合成規則プリミティブが使用される請求項1〜5のいずれか1項に記載のシステム。
  7. 高性能ネットワークにおけるネットワークデバイスにおいてプログラマブルパケット分類フレームワークを提供するための方法であって、
    高性能ネットワークにおけるネットワークデバイスを提供するステップを含み、前記ネットワークデバイスは、キー合成プリミティブと、キー合成規則プリミティブと、1つ以上のルックアップテーブルと、一致アクションテーブルとを含む、複数の分類プリミティブを含み、前記方法はさらに、
    前記キー合成プリミティブを使用して、前記キー合成規則プリミティブに基づいてルックアップキーを構築するステップと、
    前記ネットワークデバイスにおけるルックアップテーブルにおいて前記ルックアップキーとの一致を検出するステップと、
    前記一致アクションテーブルにおける一致に関連付けられた1つ以上のアクションをトリガするステップとを含み、
    前記一致アクションテーブルにおける前記一致は、次のルックアップキーを構築する際に使用するための情報に関連付けられている、方法。
  8. 複数の分類プリミティブは、前記ネットワークデバイスで受信されたデータパケットの処理が完了するまで、ある分類プリミティブからの結果が次の分類プリミティブへ供給されることにより、論理的につなぎ合わされている、請求項に記載の方法。
  9. 複数の分類プリミティブの各々はプログラマブルであり、三値連想メモリ(TCAM)または静的ランダムアクセスメモリ(SRAM)に基づいている、請求項に記載の方法。
  10. 前記データパケットは複数のプロトコルのうちの1つに基づいており、前記複数の分類プリミティブによって再帰的に構文解析されるように構成されている、請求項に記載の方法。
  11. 前記キー合成規則プリミティブは、前記ネットワークデバイスにおけるTCAMに存在する構造であり、キーIDと、バイト選択アレイと、前記ルックアップキーの長さと、テーブルIDとを含む、請求項7〜10のいずれか1項に記載の方法。
  12. 前記バイト選択アレイは、データパケットにおけるバイト位置を指す索引を含み、前記索引は、前記データパケットの開始位置、または処理中の現在のネットワーク層の開始位置に関連しており、もしくは、一致規則の結果導き出される、請求項11に記載の方法。
  13. 前記ネットワークデバイスは、インフィニバンドネットワークまたはイーサネットネットワークにおけるネットワークインターフェイスカードまたはスイッチである、請求項7〜12のいずれか1項に記載の方法。
  14. データパケット処理の状態を追跡するように構成されたステートマシンをさらに含む、請求項7〜13のいずれか1項に記載の方法。
  15. 初めに前記ネットワークデバイスによってデータパケットが受信されると、ルックアップキーを構築するために、前記キー合成プリミティブによってデフォルトキー合成規則プリミティブが使用される、請求項7〜14のいずれか1項に記載の方法。
  16. コンピュータシステムによって実行されると、前記コンピュータシステムに請求項7〜15のいずれか1項に記載の方法を行なわせる、マシン読取可能フォーマットのプログラム命令を含む、コンピュータプログラム。
JP2018549514A 2016-12-13 2017-11-10 ネットワークデバイスで使用するためのプログラマブルパケット分類フレームワークを提供するためのシステムおよび方法 Active JP7208008B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/377,303 2016-12-13
US15/377,303 US10341242B2 (en) 2016-12-13 2016-12-13 System and method for providing a programmable packet classification framework for use in a network device
PCT/US2017/061142 WO2018111472A1 (en) 2016-12-13 2017-11-10 System and method for providing a programmable packet classification framework for use in a network device

Publications (3)

Publication Number Publication Date
JP2020502829A JP2020502829A (ja) 2020-01-23
JP2020502829A5 true JP2020502829A5 (ja) 2020-12-17
JP7208008B2 JP7208008B2 (ja) 2023-01-18

Family

ID=60452796

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018549514A Active JP7208008B2 (ja) 2016-12-13 2017-11-10 ネットワークデバイスで使用するためのプログラマブルパケット分類フレームワークを提供するためのシステムおよび方法

Country Status (5)

Country Link
US (1) US10341242B2 (ja)
EP (1) EP3476087B1 (ja)
JP (1) JP7208008B2 (ja)
CN (1) CN108781185B (ja)
WO (1) WO2018111472A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10015048B2 (en) 2014-12-27 2018-07-03 Intel Corporation Programmable protocol parser for NIC classification and queue assignments
US9825862B2 (en) 2015-08-26 2017-11-21 Barefoot Networks, Inc. Packet header field extraction
US9912774B2 (en) 2015-12-22 2018-03-06 Intel Corporation Accelerated network packet processing
US10419366B1 (en) 2017-01-31 2019-09-17 Barefoot Networks, Inc. Mechanism for communicating to remote control plane from forwarding element
US10694006B1 (en) 2017-04-23 2020-06-23 Barefoot Networks, Inc. Generation of descriptive data for packet fields
US10601732B1 (en) 2017-07-23 2020-03-24 Barefoot Networks, Inc. Configurable packet processing pipeline for handling non-packet data
US10771387B1 (en) 2017-09-28 2020-09-08 Barefoot Networks, Inc. Multiple packet data container types for a processing pipeline
US11070575B2 (en) * 2019-03-06 2021-07-20 Cisco Technology, Inc. Verifying accuracy of ML pipelines using third party co-ordination
CN110933001B (zh) * 2019-11-18 2020-11-27 清华大学 一种可扩展的可重构交换机包解析器基本处理单元结构
CN112688924A (zh) * 2020-12-15 2021-04-20 中国海洋大学 网络协议分析***
CN113037634B (zh) * 2021-03-31 2022-12-06 深圳市芯源网络科技有限公司 基于fpga的匹配动作表的处理方法、逻辑电路和设备
US20240015110A1 (en) * 2022-07-06 2024-01-11 Cisco Technology, Inc. Intelligent packet distribution control for optimizing system performance and cost
CN115883681B (zh) * 2023-02-08 2023-06-23 天翼云科技有限公司 报文解析方法、装置、电子设备及存储介质

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3645734B2 (ja) * 1999-02-24 2005-05-11 株式会社日立製作所 ネットワーク中継装置及びネットワーク中継方法
US7002965B1 (en) * 2001-05-21 2006-02-21 Cisco Technology, Inc. Method and apparatus for using ternary and binary content-addressable memory stages to classify packets
US7154888B1 (en) * 2002-02-08 2006-12-26 Cisco Technology, Inc. Method for classifying packets using multi-class structures
JP3936883B2 (ja) 2002-04-08 2007-06-27 株式会社日立製作所 フロー検出装置およびフロー検出機能を備えたパケット転送装置
US8040886B2 (en) * 2003-04-08 2011-10-18 Cisco Technology, Inc. Programmable packet classification system using an array of uniform content-addressable memories
US8295286B2 (en) 2003-12-31 2012-10-23 Stmicroelectronics, Inc. Apparatus and method using hashing for efficiently implementing an IP lookup solution in hardware
CN100387028C (zh) * 2005-04-01 2008-05-07 清华大学 基于tcam的解决范围匹配的并行ip包分类器及方法
US7567567B2 (en) * 2005-04-05 2009-07-28 Sun Microsystems, Inc. Network system including packet classification for partitioned resources
US7783654B1 (en) * 2006-09-19 2010-08-24 Netlogic Microsystems, Inc. Multiple string searching using content addressable memory
US7949794B2 (en) 2006-11-02 2011-05-24 Intel Corporation PCI express enhancements and extensions
CN100488174C (zh) 2006-11-24 2009-05-13 中兴通讯股份有限公司 流分类中基于硬件的差异化组织方法
US20080134283A1 (en) 2006-12-05 2008-06-05 Electronics And Telecommunications Research Institute Security apparatus and method for supporting IPv4 and IPv6
US20080186971A1 (en) * 2007-02-02 2008-08-07 Tarari, Inc. Systems and methods for processing access control lists (acls) in network switches using regular expression matching logic
TWI348297B (en) * 2008-01-25 2011-09-01 Univ Nat Taiwan Two-stage computer network packet classification method and system
WO2011060436A1 (en) * 2009-11-16 2011-05-19 Marvell Semiconductor, Inc. Iterative parsing and classification
WO2012081148A1 (en) 2010-12-15 2012-06-21 Nec Corporation Packet classifier, packet classification method and packet classification program
US20120155472A1 (en) 2010-12-16 2012-06-21 Electronics Telecommunications Research Institute Apparatus and method for classifying packets
US8954700B2 (en) * 2011-08-02 2015-02-10 Cavium, Inc. Method and apparatus for managing processing thread migration between clusters within a processor
KR101331018B1 (ko) 2011-10-11 2014-01-15 주식회사 시큐아이 패킷 분류 방법 및 그 장치
US8711860B2 (en) * 2011-12-22 2014-04-29 Telefonaktiebolaget L M Ericsson (Publ) Controller for flexible and extensible flow processing in software-defined networks
KR20130093707A (ko) * 2011-12-23 2013-08-23 한국전자통신연구원 패킷 분류 장치 및 그것의 패킷 분류 방법
CN103546378B (zh) * 2013-05-20 2018-06-01 北京百卓网络技术有限公司 基于tcam的范围多匹配2级分层查找方法
US9363178B2 (en) * 2013-12-18 2016-06-07 Telefonaktiebolaget L M Ericsson (Publ) Method, apparatus, and system for supporting flexible lookup keys in software-defined networks
US10362093B2 (en) * 2014-01-09 2019-07-23 Netronome Systems, Inc. NFA completion notification
US9509809B2 (en) * 2014-02-25 2016-11-29 Alcatel-Lucent Usa Inc. Packet classification using multiple processing units
US9729512B2 (en) * 2014-06-04 2017-08-08 Nicira, Inc. Use of stateless marking to speed up stateful firewall rule processing
US11178051B2 (en) * 2014-09-30 2021-11-16 Vmware, Inc. Packet key parser for flow-based forwarding elements
US10153972B2 (en) 2015-02-13 2018-12-11 Nxp Usa, Inc. Method and apparatus for coding a user defined constant into a key composition rule using variable length command
US9729680B2 (en) 2015-04-23 2017-08-08 Nxp Usa, Inc. Methods and systems to embed valid-field (VF) bits in classification keys for network packet frames
US9984144B2 (en) * 2015-08-17 2018-05-29 Mellanox Technologies Tlv Ltd. Efficient lookup of TCAM-like rules in RAM
US9825862B2 (en) * 2015-08-26 2017-11-21 Barefoot Networks, Inc. Packet header field extraction

Similar Documents

Publication Publication Date Title
JP2020502829A5 (ja)
CN107005555B (zh) 上下文感知的分布式防火墙
US9569561B2 (en) Label masked addressable memory
US9781042B2 (en) Network controller security monitor
JP5921666B2 (ja) パケットスイッチングのための方法及び装置
EP3476087B1 (en) System and method for providing a programmable packet classification framework for use in a network device
JP6428296B2 (ja) 情報処理システム、情報処理装置、および情報処理システムの制御方法
CN105247831A (zh) 流表修改方法、流表修改装置和开放流网络***
US9906449B2 (en) System and method for reduced forwarding information storage
US9159420B1 (en) Method and apparatus for content addressable memory parallel lookup
US20140071988A1 (en) Compressing Singly Linked Lists Sharing Common Nodes for Multi-Destination Group Expansion
US20170005943A1 (en) Maximum transmission unit installation for switches in a software-defined network
CN105450525B (zh) 用于路由交换设备使用的方法和设备
US9473395B2 (en) Ultra low latency multi-protocol network device
CN106506315B (zh) 一种报文转发的透明配置方法
WO2017036291A1 (zh) 一种访问控制列表acl的实现方法、装置及存储介质
CN105282133A (zh) 从分组内容形成哈希输入的方法及其装置
CN107637053A (zh) 网络环境中可扩展的网络地址转换
WO2016202113A1 (zh) 一种队列管理方法、装置及存储介质
WO2016091027A1 (zh) 一种网络地址转换与访问控制列表规则聚合方法和装置
US8724473B2 (en) Locating signatures in packets
JP6762911B2 (ja) パケット識別装置およびパケット識別方法
CN107667516A (zh) 用于改进的普通文件传输协议的***和方法
US9413662B1 (en) Intra-term logical or operation in a network filter
CN105282134A (zh) 从分组提取数据的方法及其装置