JP5814830B2 - フロー単位パケット転送のための宛先検索装置および検索方法 - Google Patents
フロー単位パケット転送のための宛先検索装置および検索方法 Download PDFInfo
- Publication number
- JP5814830B2 JP5814830B2 JP2012047731A JP2012047731A JP5814830B2 JP 5814830 B2 JP5814830 B2 JP 5814830B2 JP 2012047731 A JP2012047731 A JP 2012047731A JP 2012047731 A JP2012047731 A JP 2012047731A JP 5814830 B2 JP5814830 B2 JP 5814830B2
- Authority
- JP
- Japan
- Prior art keywords
- entry
- search
- packet
- match
- entries
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Description
前記検索処理制御手段は、前記フロー制御情報テーブルから複数エントリを選択し、各エントリのワイルドカードが設定されているフィールドに1を、それ以外には0を代入した一致判定行列を生成する手段と、前記一致判定行列のカラム単位で0が設定されているフィールドの受信パケット情報との一致判定をGPUで並列実施し、一致したフィールドに対応する前記一致判定行列の行列要素に1を代入する手段と、前記一致判定行列で全てのフィールドが1であるエントリを一致エントリとする手段と、を含む。
ステップ2:ハッシュ値計算、検索処理制御部11は、パケット送受信部2から受け取った受信パケット情報に基づき、パケット転送テーブル検索用のハッシュ値計算を行う。
ステップ3:パケット転送テーブル検索、検索処理制御部11は、算出されたハッシュ値に基づきパケット転送テーブル15を検索する。
ステップ4:一致エントリ有無の判定、パケット転送テーブル15に該当するエントリがあった場合には、ステップ5に進み、該当するエントリが無かった場合には、ステップ6に進む。
ステップ5:該当エントリの転送先情報を通知、検索処理制御部11は、該当するエントリの転送先情報をパケット送受信部2に通知する。
ステップ6:フロー制御情報テーブルの検索、検索処理制御部11は、フロー制御情報テーブル13上で受信パケットに相当するエントリの検索を行う。
ステップ7:一致エントリ有無の判定、フロー制御情報テーブル13に該当するエントリがあった場合には、ステップ8に進み、該当するエントリが無かった場合には、ステップ10に進む。
ステップ8:パケット転送テーブルへの新規エントリ追加、検索処理制御部11は、受信パケット情報と該当した転送先情報に基づきパケット転送テーブル15に新規エントリを追加する。
ステップ9:該当エントリの転送先情報を通知、検索処理制御部11は、該当するエントリの転送先情報をパケット送受信部2に通知する。
ステップ10:不一致応答、転送先がないものとして、パケットは破棄される。
ステップ32:一致判定必要フィールド選出、一致判定行列上の各列において、0が設定されている部分は、エントリとの一致判定が必要となるフィールドであるため、選出する。
ステップ33:フィールド一致判定処理、同一インストラクションで実行可能なカラム単位の受信パケット情報との一致判定を、GPU上で並列実施する。エントリ群の全てのエントリに対しフィールドの一致判定が終了したら、一致したフィールドに相当する一致判定行列の行列要素に1を代入する。
ステップ34:一致エントリ抽出、ここで、全フィールドが一致しているエントリ(全てが1になったエントリ)があれば、そのなかで最も優先度の高いエントリを当該パケットに対する一致エントリとする。一致エントリが存在しなければ、フロー制御情報テーブル13の次のエントリ群に対する一致判定を繰り返していく。なお、エントリが全フィールド一致しているかの判定は、フィールドのビット論理積を全エントリに対して行うことから、GPUによる並列処理を行うことが望ましい。
ステップ42:一致条件判定、該当するハッシュ値に紐づくエントリがあった場合、一致条件がすべて等しいか判定する。等しい場合はステップ43に進み、等しくない場合は、ステップ44に進む。
ステップ43:削除フラグ上書、等しければ一致エントリとし、テーブルの削除フラグを0(削除非対象)で上書きする。
ステップ44:再検索、等しくなければ、適用しているハッシュのアルゴリズムに基づき、一致エントリの検索を続ける。例えば、オープンハッシュ法の場合、リハッシュによりハッシュ値を再計算して検索する。チェーンハッシュ法の場合、当該ハッシュ値に紐づくエントリで構成されるリストを順にたどって検索する。
ステップ31、図5(b)は、図5(a)のフロー制御情報テーブルから生成された一致判定行列のエントリ群を示す。エントリ優先度10から40までが示される。図5(a)のワイルドカードフィールドには、1が代入され、それ以外は0が代入されている。なお、本例で、エントリ群は4行しかないが、実際には、もっと多くの行が選択され、多くの多重度でGPUの並列計算が行われる。
ステップ32、図5(b)で、四角で囲まれているフィールドが選出されたエントリである。
ステップ33、図5(c)は、GPUの一致判定演算で、一致したフィールドに1が代入された一致判定行列を示す。図5(c)で、四角で囲まれているフィールドが、1が代入されたエントリである。
ステップ34、図5(c)の例では、網掛けのエントリが、全フィールドが一致しているエントリである。もっと優先度が高い、優先度20のエントリが一致エントリとして、抽出される。
ステップ41、受信パケット情報(IF=eth1,D−MAC=D:D:D,S−MAC=E:E:E,...)から、ハッシュ値H(受信パケット情報)=0x0001を求め、検索する。
ステップ42、ハッシュ値0x0001は、図6で点線が引かれているエントリである。受信パケット情報と一致条件がすべて等しいか判定する。ここでは、全て等しいため、ステップ43に進む。
ステップ43、削除フラグを0で上書する。
2 パケット送受信部
3 制御ポリシー管理部
11 検索処理制御部
12 フロー制御情報テーブル管理部
13 フロー制御情報テーブル
14 パケット転送テーブル管理部
15 パケット転送テーブル
Claims (4)
- 線形検索を行う、ワイルドカードを含むエントリで構成されるフロー制御情報テーブルと、
ハッシュ検索を行う、完全一致エントリで構成されるパケット転送テーブルと、
前記フロー制御情報テーブルのワイルドカードでないフィールドに対して、受信パケット情報と一致判定をGPUで並列実施することで、一致するエントリを検索する、およびパケット転送テーブルにハッシュ検索を行うことで、一致するエントリを検索する検索処理制御手段と、
を備え、
前記検索処理制御手段は、
前記フロー制御情報テーブルから複数エントリを選択し、各エントリのワイルドカードが設定されているフィールドに1を、それ以外には0を代入した一致判定行列を生成する手段と、
前記一致判定行列のカラム単位で0が設定されているフィールドの受信パケット情報との一致判定をGPUで並列実施し、一致したフィールドに対応する前記一致判定行列の行列要素に1を代入する手段と、
前記一致判定行列で全てのフィールドが1であるエントリを一致エントリとする手段と、
を含むことを特徴とするフロー単位パケット転送のための宛先検索装置。 - 前記検索処理制御手段は、
前記フロー制御情報テーブルに一致するエントリが存在した場合に、前記パケット転送テーブルに当該受信パケット情報に相当するエントリを追加することを特徴とする請求項1に記載の宛先検索装置。 - 前記パケット転送テーブルは、削除フラグを備え、
前記検索処理制御手段は、検索されたエントリの削除フラグを「非対象」で上書きし、
前記削除フラグが「対象」であるエントリを削除し、前記削除フラグが「非対象」であるエントリの削除フラグを「対象」で上書きするパケット転送テーブル管理手段を、
さらに備えることを特徴とする請求項1又は請求項2に記載の宛先検索装置。 - 線形検索を行う、ワイルドカードを含むエントリで構成されるフロー制御情報テーブルのワイルドカードでないフィールドに対して、受信パケット情報と一致判定をGPUで並列実施することで、一致するエントリを検索するステップと、
完全一致エントリで構成されるパケット転送テーブルにハッシュ検索を行うことで、一致するエントリを検索するステップと、
前記フロー制御情報テーブルから複数エントリを選択し、各エントリのワイルドカードが設定されているフィールドに1を、それ以外には0を代入した一致判定行列を生成するステップと、
前記一致判定行列のカラム単位で0が設定されているフィールドの受信パケット情報との一致判定をGPUで並列実施し、一致したフィールドに対応する前記一致判定行列の行列要素に1を代入するステップと、
前記一致判定行列で全てのフィールドが1であるエントリを一致エントリとするステップと、
を有することを特徴とするフロー単位パケット転送のための宛先検索方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012047731A JP5814830B2 (ja) | 2012-03-05 | 2012-03-05 | フロー単位パケット転送のための宛先検索装置および検索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012047731A JP5814830B2 (ja) | 2012-03-05 | 2012-03-05 | フロー単位パケット転送のための宛先検索装置および検索方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013183397A JP2013183397A (ja) | 2013-09-12 |
JP5814830B2 true JP5814830B2 (ja) | 2015-11-17 |
Family
ID=49273749
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012047731A Active JP5814830B2 (ja) | 2012-03-05 | 2012-03-05 | フロー単位パケット転送のための宛先検索装置および検索方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5814830B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103905311B (zh) * | 2012-12-28 | 2017-02-22 | 华为技术有限公司 | 流表匹配方法和装置以及交换机 |
JP6490205B2 (ja) * | 2014-06-30 | 2019-03-27 | 華為技術有限公司Huawei Technologies Co.,Ltd. | フローエントリ構成の方法、装置及びシステム |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4351505B2 (ja) * | 2003-09-10 | 2009-10-28 | 富士通株式会社 | パケット転送方法、パケット転送システム及びパケット転送装置 |
US7464181B2 (en) * | 2003-09-11 | 2008-12-09 | International Business Machines Corporation | Method for caching lookups based upon TCP traffic flow characteristics |
JP2009017439A (ja) * | 2007-07-09 | 2009-01-22 | Sii Network Systems Kk | パケット転送装置およびパケット転送方法。 |
US8553686B2 (en) * | 2010-04-28 | 2013-10-08 | Broadcom Corporation | Performing actions on frame entries in response to receiving bulk instruction |
-
2012
- 2012-03-05 JP JP2012047731A patent/JP5814830B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2013183397A (ja) | 2013-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8767757B1 (en) | Packet forwarding system and method using patricia trie configured hardware | |
CN104769884B (zh) | 利用流数据的转发表优化 | |
US8799507B2 (en) | Longest prefix match searches with variable numbers of prefixes | |
US9584568B2 (en) | Signal processing apparatus and signal processing method thereof for implementing a broadcast or a multicast communication | |
US8432914B2 (en) | Method for optimizing a network prefix-list search | |
US7327744B2 (en) | Fibre channel forwarding information base | |
US9369293B2 (en) | Compressing singly linked lists sharing common nodes for multi-destination group expansion | |
Matsumoto et al. | LightFlow: Speeding up GPU-based flow switching and facilitating maintenance of flow table | |
US9794111B2 (en) | Communication system, virtual network management apparatus, virtual network management method and program | |
EP3476105B1 (en) | Method and system for interest groups in a content centric network | |
US10313154B2 (en) | Packet forwarding | |
US20170237689A1 (en) | Two-Stage Port-Channel Resolution in a Multistage Fabric Switch | |
JP6437693B2 (ja) | マルチキャストデータパケット転送 | |
US10326712B2 (en) | Multicast data packet forwarding | |
US10069648B2 (en) | Communication system, control apparatus, communication control method and program | |
US20180351879A1 (en) | Multicast data packet forwarding | |
Ge et al. | H‐SOFT: a heuristic storage space optimisation algorithm for flow table of OpenFlow | |
US7487255B2 (en) | Routing cache management with route fragmentation | |
JP5814830B2 (ja) | フロー単位パケット転送のための宛先検索装置および検索方法 | |
JP6085577B2 (ja) | 検索木生成・検索装置及び方法及びプログラム | |
US10764177B2 (en) | Efficient implementation of complex network segmentation | |
US7843927B1 (en) | Methods, systems, and computer program products for routing packets at a multi-mode layer 3 packet forwarding device | |
US9553829B2 (en) | Apparatus and method for fast search table update in a network switch | |
JP2016103697A (ja) | ネットワークシステム、制御装置、通信装置、通信装置の制御方法及びプログラム | |
CN107094114A (zh) | 用于模块化转发表可缩放性的技术 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20130607 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20130611 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140725 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150427 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150513 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150706 |
|
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: 20150916 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150918 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5814830 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |