JP7208008B2 - ネットワークデバイスで使用するためのプログラマブルパケット分類フレームワークを提供するためのシステムおよび方法 - Google Patents
ネットワークデバイスで使用するためのプログラマブルパケット分類フレームワークを提供するためのシステムおよび方法 Download PDFInfo
- Publication number
- JP7208008B2 JP7208008B2 JP2018549514A JP2018549514A JP7208008B2 JP 7208008 B2 JP7208008 B2 JP 7208008B2 JP 2018549514 A JP2018549514 A JP 2018549514A JP 2018549514 A JP2018549514 A JP 2018549514A JP 7208008 B2 JP7208008 B2 JP 7208008B2
- Authority
- JP
- Japan
- Prior art keywords
- key
- lookup
- network
- data packet
- network device
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/54—Organization of routing tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
- H04L45/7452—Multiple parallel or consecutive lookup operations
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
- H04L45/7453—Address table lookup; Address filtering using hashing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
この特許文献の開示の一部は、著作権保護の対象となる資料を含む。この特許文献または特許開示は特許商標庁の特許ファイルまたは記録に記載されているため、著作権保有者は、何人によるその複写複製に対して異議はないが、その他の場合には如何なるときもすべての著作権を保有する。
この発明の実施形態は概して高性能ネットワークに関し、特に、高性能ネットワークにおけるネットワークデバイスで使用するためのプログラマブルパケット分類フレームワークを提供するためのシステムおよび方法に関する。
高性能ネットワークは、異機種ネットワーク、たとえばイーサネット(登録商標)データセンターおよびインフィニバンド(InfiniBand)データセンターで構築可能であり、イーサネットゲートウェイがこれら2つのタイプのネットワーク間をつないでいる。業界では、高性能ネットワークにおける既存のネットワークの上にオーバーレイネットワークが作成されることを可能にする技術が進化してきた。オーバーレイネットワークは、データセンターが、ネットワークオーバーレイプロトコルを使用して、既存のネットワークの制限を超えてスケーリングすることを可能にする。
一実施形態によれば、ここに説明されるのは、高性能ネットワークにおけるネットワークデバイスで使用するためのプログラマブルパケット分類フレームワークを提供するためのシステムおよび方法である。パケット分類フレームワークは、キー合成プリミティブと、キー合成規則プリミティブと、一致アクション論理構造と、次のアクションプリミティブとを含む、複数のハードウェアベースのプログラマブル分類プリミティブを含み得る。これらの分類プリミティブは、データパケットの処理が完了するまで、ある分類プリミティブからの結果が次の分類プリミティブへ供給されることにより、論理的につなぎ合わされ得る。分類フレームワークは、ステートマシンを使用してデータパケット処理の状態を追跡し、データパケットの処理状態に基づいて分類プリミティブの挙動を動的に調節することができる。プログラマブル分類プリミティブにより、分類フレームワークは、ハードウェア変更をまったく必要とすることなく、複数のプロトコルのデータパケットを再帰的に構文解析することができる。
高性能ネットワークでは、パケット分類とは、同じフローに属するすべてのデータパケットが予め規定されたルールに従い、同じ態様で処理されるように、データパケットを「フロー」へと類別するプロセスを指す。たとえば、パケット分類は、ファイアウォールおよびサービス品質といった非ベストエフォート型サービスにとって必要とされ得る。
インフィニバンド(登録商標)(IB)は、上述のシステムおよび方法が使用され得る例示的な高性能ネットワークである。
Claims (16)
- 高性能ネットワークにおけるネットワークデバイスにおいてプログラマブルなパケット分類フレームワークを提供するためのシステムであって、
高性能ネットワークにおけるネットワークデバイスを含み、前記ネットワークデバイスは、データパケットを分類するための複数の分類プリミティブ手段を含み、前記複数の分類プリミティブ手段は、キー合成プリミティブプログラムと、キー合成規則と、1つ以上のルックアップテーブルと、データパケットの構文に応じて当該データパケットに対するアクションを規定する一致アクションテーブルとを含み、
前記キー合成プリミティブプログラムは、前記キー合成規則に基づいてルックアップキーを構築し、前記ルックアップキーをルックアップテーブルへ提示するように構成されており、
前記ルックアップテーブルにおける前記ルックアップキーとの一致は、前記一致アクションテーブルにおけるアクション一致をもたらし、
前記アクション一致は、次のルックアップキーを構築する際に使用するための情報に関連付けられている、システム。 - 前記複数の分類プリミティブ手段は、前記ネットワークデバイスで受信されたデータパケットの処理が完了するまで、ある分類プリミティブ手段からの結果が次の分類プリミティブ手段へ供給されることにより、論理的につなぎ合わされている、請求項1に記載のシステム。
- 前記キー合成規則は、前記ネットワークデバイスにおけるTCAMに存在する構造であり、キーIDと、バイト選択アレイと、前記ルックアップキーの長さと、テーブルIDとを含む、請求項1または2に記載のシステム。
- 前記ネットワークデバイスは、インフィニバンドネットワークまたはイーサネットネットワークにおけるネットワークインターフェイスカードまたはスイッチである、請求項1~3のいずれか1項に記載のシステム。
- データパケット処理の状態を追跡するように構成されたステートマシンをさらに含む、請求項1~4のいずれか1項に記載のシステム。
- 初めに前記ネットワークデバイスによってデータパケットが受信されると、ルックアップキーを構築するために、前記キー合成プリミティブプログラムによってデフォルトのキー合成規則が使用される、請求項1~5のいずれか1項に記載のシステム。
- 高性能ネットワークにおけるネットワークデバイスにおいてプログラマブルなパケット分類フレームワークを提供するための方法であって、
高性能ネットワークにおけるネットワークデバイスを提供するステップを含み、前記ネットワークデバイスは、データパケットを分類するための複数の分類プリミティブ手段を含み、前記複数の分類プリミティブ手段は、キー合成プリミティブプログラムと、キー合成規則と、1つ以上のルックアップテーブルと、データパケットの構文に応じて当該データパケットに対するアクションを規定する一致アクションテーブルとを含み、前記方法はさらに、
前記キー合成プリミティブプログラムを使用して、前記キー合成規則に基づいてルックアップキーを構築するステップと、
前記ネットワークデバイスにおけるルックアップテーブルにおいて前記ルックアップキーとの一致を検出するステップと、
前記一致アクションテーブルにおける一致に関連付けられた1つ以上のアクションをトリガするステップとを含み、
前記一致アクションテーブルにおける前記一致は、次のルックアップキーを構築する際に使用するための情報に関連付けられている、方法。 - 前記複数の分類プリミティブ手段は、前記ネットワークデバイスで受信されたデータパケットの処理が完了するまで、ある分類プリミティブ手段からの結果が次の分類プリミティブ手段へ供給されることにより、論理的につなぎ合わされている、請求項7に記載の方法。
- 前記複数の分類プリミティブ手段の各々はプログラマブルであり、三値連想メモリ(TCAM)または静的ランダムアクセスメモリ(SRAM)に基づいている、請求項8に記載の方法。
- 前記データパケットは複数のプロトコルのうちの1つに基づいており、前記複数の分類プリミティブ手段によって再帰的に構文解析されるように構成されている、請求項8に記載の方法。
- 前記キー合成規則は、前記ネットワークデバイスにおけるTCAMに存在する構造であり、キーIDと、バイト選択アレイと、前記ルックアップキーの長さと、テーブルIDとを含む、請求項7~10のいずれか1項に記載の方法。
- 前記バイト選択アレイは、データパケットにおけるバイト位置を指す索引を含み、前記索引は、前記データパケットの開始位置、または処理中の現在のネットワーク層の開始位置に関連しており、もしくは、一致規則の結果導き出される、請求項11に記載の方法。
- 前記ネットワークデバイスは、インフィニバンドネットワークまたはイーサネットネットワークにおけるネットワークインターフェイスカードまたはスイッチである、請求項7~12のいずれか1項に記載の方法。
- ステートマシンを用いてデータパケット処理の状態を追跡するステップをさらに含む、請求項7~13のいずれか1項に記載の方法。
- 初めに前記ネットワークデバイスによってデータパケットが受信されると、ルックアップキーを構築するために、前記キー合成プリミティブプログラムによってデフォルトのキー合成規則が使用される、請求項7~14のいずれか1項に記載の方法。
- コンピュータシステムによって実行されると、前記コンピュータシステムに請求項7~15のいずれか1項に記載の方法を行なわせる、マシン読取可能フォーマットのプログラム命令を含む、コンピュータプログラム。
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 JP2020502829A5 (ja) | 2020-12-17 |
JP7208008B2 true 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)
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 |
US11245572B1 (en) | 2017-01-31 | 2022-02-08 | Barefoot Networks, Inc. | Messaging between remote controller and forwarding element |
US10757028B1 (en) | 2017-04-23 | 2020-08-25 | Barefoot Networks, Inc. | Configurable forwarding element deparser |
US10505861B1 (en) | 2017-07-23 | 2019-12-10 | Barefoot Networks, Inc. | Bus for providing traffic management statistics to processing pipeline |
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 | 天翼云科技有限公司 | 报文解析方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000244571A (ja) | 1999-02-24 | 2000-09-08 | Hitachi Ltd | ネットワーク中継装置及びネットワーク中継方法 |
US20130163475A1 (en) | 2011-12-22 | 2013-06-27 | Ludovic Beliveau | Controller for flexible and extensible flow processing in software-defined networks |
US20150172189A1 (en) | 2013-12-18 | 2015-06-18 | Telefonaktiebolaget L M Ericsson (Publ) | Method, apparatus, and system for supporting flexible lookup keys in software-defined networks |
JP2016001897A (ja) | 2009-11-16 | 2016-01-07 | マーベル ワールド トレード リミテッド | 反復解析及び分類 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
JP5807676B2 (ja) | 2010-12-15 | 2015-11-10 | 日本電気株式会社 | パケット分類器、パケット分類方法、及びパケット分類プログラム |
US20120155472A1 (en) | 2010-12-16 | 2012-06-21 | Electronics Telecommunications Research Institute | Apparatus and method for classifying packets |
US10277510B2 (en) * | 2011-08-02 | 2019-04-30 | Cavium, Llc | System and method for storing lookup request rules in multiple memories |
KR101331018B1 (ko) | 2011-10-11 | 2014-01-15 | 주식회사 시큐아이 | 패킷 분류 방법 및 그 장치 |
KR20130093707A (ko) * | 2011-12-23 | 2013-08-23 | 한국전자통신연구원 | 패킷 분류 장치 및 그것의 패킷 분류 방법 |
CN103546378B (zh) * | 2013-05-20 | 2018-06-01 | 北京百卓网络技术有限公司 | 基于tcam的范围多匹配2级分层查找方法 |
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 |
-
2016
- 2016-12-13 US US15/377,303 patent/US10341242B2/en active Active
-
2017
- 2017-11-10 CN CN201780015786.6A patent/CN108781185B/zh active Active
- 2017-11-10 WO PCT/US2017/061142 patent/WO2018111472A1/en unknown
- 2017-11-10 EP EP17804401.2A patent/EP3476087B1/en active Active
- 2017-11-10 JP JP2018549514A patent/JP7208008B2/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000244571A (ja) | 1999-02-24 | 2000-09-08 | Hitachi Ltd | ネットワーク中継装置及びネットワーク中継方法 |
JP2016001897A (ja) | 2009-11-16 | 2016-01-07 | マーベル ワールド トレード リミテッド | 反復解析及び分類 |
US20130163475A1 (en) | 2011-12-22 | 2013-06-27 | Ludovic Beliveau | Controller for flexible and extensible flow processing in software-defined networks |
US20150172189A1 (en) | 2013-12-18 | 2015-06-18 | Telefonaktiebolaget L M Ericsson (Publ) | Method, apparatus, and system for supporting flexible lookup keys in software-defined networks |
Also Published As
Publication number | Publication date |
---|---|
CN108781185B (zh) | 2021-08-03 |
US20180167329A1 (en) | 2018-06-14 |
JP2020502829A (ja) | 2020-01-23 |
EP3476087B1 (en) | 2021-08-18 |
WO2018111472A1 (en) | 2018-06-21 |
CN108781185A (zh) | 2018-11-09 |
EP3476087A1 (en) | 2019-05-01 |
US10341242B2 (en) | 2019-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7208008B2 (ja) | ネットワークデバイスで使用するためのプログラマブルパケット分類フレームワークを提供するためのシステムおよび方法 | |
US10892987B2 (en) | Segment routing network processing of packets including packets having a segment identifier structure providing processing and/or memory efficiencies | |
US10581711B2 (en) | System and method for policing network traffic flows using a ternary content addressable memory in a high performance computing environment | |
US10320664B2 (en) | Cloud overlay for operations administration and management | |
CN108702326B (zh) | 检测sdn控制平面循环的方法、设备和非暂时性机器可读介质 | |
EP2985959B1 (en) | Progressive mac address learning | |
US8913613B2 (en) | Method and system for classification and management of inter-blade network traffic in a blade server | |
US10958481B2 (en) | Transforming a service packet from a first domain to a second domain | |
US7007101B1 (en) | Routing and forwarding table management for network processor architectures | |
US10715439B2 (en) | Longest prefix matching providing packet processing and/or memory efficiencies in processing of packets | |
US11165693B2 (en) | Packet forwarding | |
US10397116B1 (en) | Access control based on range-matching | |
AU4620801A (en) | Method and apparatus for multi-protocol redundant router support | |
EP4109830A1 (en) | Packet processing method, device, system, and storage medium | |
US20220263746A1 (en) | Method for monitoring running state of peer, apparatus, and storage medium | |
US20120106555A1 (en) | Low latency carrier class switch-router | |
US10805436B2 (en) | Deliver an ingress packet to a queue at a gateway device | |
WO2023231438A1 (zh) | 报文发送的方法、网络设备及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20201109 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201109 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210825 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211026 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20220126 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220325 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220823 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20221115 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20221206 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230105 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7208008 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |