JP5814830B2 - Destination search apparatus and search method for flow unit packet transfer - Google Patents
Destination search apparatus and search method for flow unit packet transfer 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
本発明は、フロースイッチの宛先検索において、ワイルドカードを含むフローテーブル上の宛先検索を行うための、宛先検索装置および検索方法に関するものである。 The present invention relates to a destination search apparatus and a search method for searching for a destination on a flow table including a wild card in a destination search of a flow switch.
近年、通信制御をフロー単位で行うことにより、より粒度の細かいサービス品質制御を可能とするフローベースネットワーキングが検討されている。フローとは、IPとポート番号で識別される、アプリケーション毎の一連の通信のまとまりであり、フローベースネットワーキングではユーザやアプリケーションに応じたQoS制御や経路制御が可能となる。 In recent years, flow-based networking that enables finer granularity of service quality control by performing communication control in units of flows has been studied. A flow is a series of communication for each application identified by IP and port number. In flow-based networking, QoS control and path control according to users and applications are possible.
フローベースネットワーキングの中継ノードであるフロースイッチでは、フローテーブルに登録されたエントリを参照して、パケットを適切な転送先へ送出する。フローエントリは、エントリの優先度、受信IFやヘッダの各情報に相当するフィールド(一致条件)、転送先情報によって構成される。 A flow switch, which is a relay node for flow-based networking, refers to an entry registered in the flow table and sends a packet to an appropriate transfer destination. The flow entry is composed of entry priority, fields (matching conditions) corresponding to each information of the reception IF and header, and transfer destination information.
フローに対する柔軟な制御を可能とするため、GPU等により高速化したソフトウェアベースのフロースイッチに関する検討が進められている。 In order to enable flexible control over flows, studies on software-based flow switches that have been speeded up by GPUs and the like are underway.
従来の宛先検索に関する手法としては、ソフトウェアルータにおける経路表検索、フロールータにおける完全一致検索、線形検索といった方法が取られてきた。 Conventional methods relating to destination search include methods such as routing table search in software routers, exact match search in flow routers, and linear search.
非特許文献1では、Patricia-Treeという二分木検索の応用手法が述べられている。本手法はIP経路検索における最長プレフィックス一致を実現する検索方法として、LinuxやFreeBSD等OSの宛先検索に利用されている。
Non-Patent
非特許文献2では、商用のフロールータにおけるフロー検索方法が述べられている。全てのフローを完全一致エントリとすることで、ハッシュによるフローの高速検索を可能としている。
Non-Patent
上記課題を解決するため本発明のフロー単位パケット転送のための宛先検索装置は、線形検索を行う、ワイルドカードを含むエントリで構成されるフロー制御情報テーブルと、 ハッシュ検索を行う、完全一致エントリで構成されるパケット転送テーブルと、前記フロー制御情報テーブルのワイルドカードでないフィールドに対して、受信パケット情報と一致判定をGPUで並列実施することで、一致するエントリを検索する、およびパケット転送テーブルにハッシュ検索を行うことで、一致するエントリを検索する検索処理制御手段と、を備え、
前記検索処理制御手段は、前記フロー制御情報テーブルから複数エントリを選択し、各エントリのワイルドカードが設定されているフィールドに1を、それ以外には0を代入した一致判定行列を生成する手段と、前記一致判定行列のカラム単位で0が設定されているフィールドの受信パケット情報との一致判定をGPUで並列実施し、一致したフィールドに対応する前記一致判定行列の行列要素に1を代入する手段と、前記一致判定行列で全てのフィールドが1であるエントリを一致エントリとする手段と、を含む。
In order to solve the above-mentioned problems, the destination search apparatus for flow unit packet transfer according to the present invention includes a flow control information table composed of entries including a wild card for performing a linear search, and a perfect match entry for performing a hash search. The packet forwarding table configured and the field that is not a wild card in the flow control information table perform matching determination with the received packet information in parallel by the GPU to search for matching entries, and hash the packet forwarding table. Search processing control means for searching for a matching entry by performing a search ,
The search processing control means selects a plurality of entries from the flow control information table, and generates a match determination matrix in which 1 is assigned to a field in which a wild card of each entry is set, and 0 is assigned to other fields. A means for executing a match determination with received packet information of a field in which 0 is set in a column unit of the match determination matrix in parallel by the GPU, and substituting 1 into a matrix element of the match determination matrix corresponding to the matched field And means for setting an entry in which all fields are 1 in the match determination matrix as a match entry.
しかしながら、非特許文献1に代表される従来のIP経路検索は、最長プレフィックス一致検索を前提としており、複数フィールドを一致条件に含むフローテーブルの検索には適用できない。非特許文献2に示される完全一致検索を適用するには、全てのフローに対してフローエントリを定義する必要がある。運用を考えると大量のフローエントリの設定はスケール性に乏しい。非特許文献3ではワイルドカード検索も考慮されているが、線形検索のためエントリ数が増えた場合に性能劣化の影響が大きくなる。
However, the conventional IP route search represented by Non-Patent
したがって、本発明では、ソフトウェアベースのフロースイッチにおいて、ワイルドカードを含むフローテーブルの検索処理を高速化するフロー単位パケット転送のための宛先検索装置および検索方法を提供することを目的とする。 Therefore, an object of the present invention is to provide a destination search apparatus and a search method for packet-based packet transfer that speeds up a search process of a flow table including a wild card in a software-based flow switch.
上記課題を解決するため本発明のフロー単位パケット転送のための宛先検索装置は、線形検索を行う、ワイルドカードを含むエントリで構成されるフロー制御情報テーブルと、ハッシュ検索を行う、完全一致エントリで構成されるパケット転送テーブルと、前記フロー制御情報テーブルのワイルドカードでないフィールドに対して、受信パケット情報と一致判定をGPUで並列実施することで、一致するエントリを検索する、およびパケット転送テーブルにハッシュ検索を行うことで、一致するエントリを検索する検索処理制御手段とを備える。 In order to solve the above problems, a destination search apparatus for flow unit packet transfer according to the present invention includes a flow control information table configured by entries including a wild card for performing a linear search, and a perfect match entry for performing a hash search. The packet forwarding table configured and the field that is not a wild card in the flow control information table perform matching determination with the received packet information in parallel by the GPU to search for matching entries, and hash the packet forwarding table. Search processing control means for searching for a matching entry by performing a search.
また、前記検索処理制御手段は、最初に前記パケット転送テーブルを検索し、該当するエントリが存在しない場合に前記フロー制御情報テーブルを検索することも好ましい。 Further, it is preferable that the search processing control means first searches the packet forwarding table and searches the flow control information table when there is no corresponding entry.
また、前記検索処理制御手段は、前記フロー制御情報テーブルに一致するエントリが存在した場合に、前記パケット転送テーブルに当該受信パケット情報に相当するエントリを追加することも好ましい。 The search processing control means preferably adds an entry corresponding to the received packet information to the packet forwarding table when there is an entry that matches the flow control information table.
また、前記パケット転送テーブルは、削除フラグを備え、前記検索処理制御手段は、検索されたエントリの削除フラグを「非対象」で上書きし、前記削除フラグが「対象」であるエントリを削除し、前記削除フラグが「非対象」であるエントリの削除フラグを「対象」で上書きするパケット転送テーブル管理手段をさらに備えることも好ましい。 Further, the packet forwarding table includes a deletion flag, and the search processing control unit overwrites the deletion flag of the searched entry with “non-target”, deletes the entry whose deletion flag is “target”, It is also preferable to further include a packet forwarding table management means for overwriting the deletion flag of the entry whose deletion flag is “non-target” with “target”.
上記課題を解決するため本発明のフロー単位パケット転送のための宛先検索方法は、線形検索を行う、ワイルドカードを含むエントリで構成されるフロー制御情報テーブルのワイルドカードでないフィールドに対して、受信パケット情報と一致判定をGPUで並列実施することで、一致するエントリを検索するステップと、完全一致エントリで構成されるパケット転送テーブルにハッシュ検索を行うことで、一致するエントリを検索するステップと、前記フロー制御情報テーブルから複数エントリを選択し、各エントリのワイルドカードが設定されているフィールドに1を、それ以外には0を代入した一致判定行列を生成するステップと、前記一致判定行列のカラム単位で0が設定されているフィールドの受信パケット情報との一致判定をGPUで並列実施し、一致したフィールドに対応する前記一致判定行列の行列要素に1を代入するステップと、前記一致判定行列で全てのフィールドが1であるエントリを一致エントリとするステップとを有する。 In order to solve the above-described problem, a destination search method for transferring a packet in a flow unit according to the present invention performs a linear search on a received packet for a non-wildcard field in a flow control information table including entries including a wildcard. match determination information by parallel implemented in GPU, retrieving the matching entry, by performing a hash search packet constructed forwarding table exact match entry, retrieving a matching entry, the Selecting a plurality of entries from the flow control information table, generating a match determination matrix in which 1 is assigned to a field in which a wild card of each entry is set, and 0 in other cases, and a column unit of the match determination matrix The match judgment with the received packet information of the field set to 0 in G Parallel performed in U, it has a step of substituting one matrix element of the match determination matrix corresponding to the matched field; and all the fields in the match determination matrix and matching entry entry is 1.
本発明のワイルドカードの適用により、フローテーブル上の管理エントリ数が削減されるという特徴によれば、アプリケーション単位や宛先ネットワーク単位等でフローエントリを集約して設定できるため、運用上のスケール性向上という効果が得られる。 According to the feature that the number of management entries on the flow table is reduced by applying the wild card of the present invention, the flow entries can be set and set in units of applications, destination networks, etc., so that the operational scalability is improved. The effect is obtained.
また、ワイルドカードを含むフローテーブルをGPUにより高速検索するという特徴によれば、処理スループットの向上により、コア網等、より大容量なネットワークへ適用可能になるという効果が得られる。 Further, according to the feature that the flow table including the wild card is searched at high speed by the GPU, an effect that the processing throughput is improved can be applied to a larger capacity network such as a core network.
本発明を実施するための最良の実施形態について、以下では図面を用いて詳細に説明する。図1に、本発明のフロー宛先検索装置のシステム構成図を示す。 The best mode for carrying out the present invention will be described in detail below with reference to the drawings. FIG. 1 shows a system configuration diagram of a flow destination search apparatus of the present invention.
本発明のフロー宛先検索装置1は、パケット送受信部2からパケット情報を取得し、2つのフローテーブル(フロー制御情報テーブル13、パケット転送テーブル15)を参照し、一致するエントリを検索して、パケットの宛先情報を返す。また、制御ポリシーに従いフロー制御情報テーブル13を管理する。
The flow
フロー宛先検索装置1は、検索処理制御部11、フロー制御情報テーブル管理部12、フロー制御情報テーブル13、パケット転送テーブル管理部14、パケット転送テーブル15で構成される。フロー宛先検索装置1はパケット送受信部2と接続し、受信パケットの取得及び転送先の通知を行う。また、フロー宛先検索装置1は制御ポリシー管理部3と接続し、フロー制御情報の更新を受け付ける。
The flow
検索処理制御部11は、受信パケットの情報に基づき適切な転送先情報を取得するため、パケット転送テーブル15及びフロー制御情報テーブル13を検索し、得られた転送先情報をパケット送受信部2に通知する。また、パケット転送テーブル15に必要なエントリが無かった場合、エントリ追加処理を行う。
The search
フロー制御情報テーブル13は、フロー制御情報の定義をエントリとして保持している。各エントリは任意のフィールドにワイルドカードを指定可能であり、全てのエントリには一致優先度を示すエントリ優先度が設定される。本テーブルに対する検索は線形検索に基づき行われる。 The flow control information table 13 holds the definition of the flow control information as an entry. Each entry can specify a wild card in an arbitrary field, and an entry priority indicating a matching priority is set for all entries. The search for this table is performed based on a linear search.
パケット転送テーブル15は、現在流れているフローの完全一致エントリ情報を保持している。パケットの一致情報から得られるハッシュ値をキーとする完全一致エントリと削除可能なフロー情報であるかどうかを示す削除フラグで構成されており、ハッシュによる検索が行われる。 The packet transfer table 15 holds complete match entry information of the current flow. It consists of a complete match entry with a hash value obtained from packet match information as a key and a deletion flag indicating whether or not the flow information can be deleted, and a search by hash is performed.
フロー制御情報テーブル管理部12は、制御ポリシー管理部3からの要求に基づき、フロー制御情報テーブル13の更新を行う。
The flow control information
パケット転送テーブル管理部14は、パケット転送テーブル15上で既に使われなくなったフロー情報がないかを監視し、不要エントリの削除を行う。
The packet transfer
フロー制御情報テーブル13及びパケット転送テーブル15は、データアクセスの高速性のため、GPU上のメモリに展開しておいてもよい。 The flow control information table 13 and the packet forwarding table 15 may be developed in a memory on the GPU for high speed data access.
制御ポリシー管理部3は、フロー制御情報管理テーブル13へのエントリ追加、削除を要求する。要求形態は、例えば運用者画面からの手動設定、ルーティングデーモン等からの経路情報更新、およびシグナリングデーモンからのフロー情報設定である。
The control
図2は、宛先検索手順を示すフローチャート図である。以下、本フローチャートに基づき、フロー宛先検索装置1の動作を説明する。
FIG. 2 is a flowchart showing a destination search procedure. The operation of the flow
ステップ1:パケット情報の受信、パケット送受信部2は、パケット情報(受信IF、MAC、VLAN、IP、ポート番号)を受信し、検索処理制御部11に送信する。
ステップ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:不一致応答、転送先がないものとして、パケットは破棄される。
Step 1: Reception of packet information, the packet transmitting / receiving
Step 2: Hash value calculation and search
Step 3: Packet transfer table search and search
Step 4: Judgment of presence / absence of matching entry. If there is a corresponding entry in the packet forwarding table 15, the process proceeds to Step 5, and if there is no corresponding entry, the process proceeds to Step 6.
Step 5: The transfer destination information of the corresponding entry is notified, and the search
Step 6: Search and search
Step 7: Determination of presence / absence of matching entry. If there is a corresponding entry in the flow control information table 13, the process proceeds to Step 8. If there is no corresponding entry, the process proceeds to Step 10.
Step 8: Adding a new entry to the packet transfer table, the search
Step 9: The transfer destination information of the corresponding entry is notified, and the search
Step 10: The packet is discarded assuming that there is no mismatch response and transfer destination.
図3は、フロー制御情報テーブル13の検索フローチャートを示す。以下、本フローチャートに基づいて、フロー制御情報テーブル13の検索を説明する。 FIG. 3 shows a search flowchart of the flow control information table 13. Hereinafter, the search of the flow control information table 13 will be described based on this flowchart.
ステップ31:一致判定行列生成、最初に優先度の高い方から複数エントリを選択し、それらエントリ群に対する一致判定行列を生成する。一致判定行列は、各フィールドの一致状況を保持するための行列である。各エントリのワイルドカードが設定されているフィールドに相当する行列要素には1を、それ以外には0を代入する。
ステップ32:一致判定必要フィールド選出、一致判定行列上の各列において、0が設定されている部分は、エントリとの一致判定が必要となるフィールドであるため、選出する。
ステップ33:フィールド一致判定処理、同一インストラクションで実行可能なカラム単位の受信パケット情報との一致判定を、GPU上で並列実施する。エントリ群の全てのエントリに対しフィールドの一致判定が終了したら、一致したフィールドに相当する一致判定行列の行列要素に1を代入する。
ステップ34:一致エントリ抽出、ここで、全フィールドが一致しているエントリ(全てが1になったエントリ)があれば、そのなかで最も優先度の高いエントリを当該パケットに対する一致エントリとする。一致エントリが存在しなければ、フロー制御情報テーブル13の次のエントリ群に対する一致判定を繰り返していく。なお、エントリが全フィールド一致しているかの判定は、フィールドのビット論理積を全エントリに対して行うことから、GPUによる並列処理を行うことが望ましい。
Step 31: Generation of a coincidence determination matrix, a plurality of entries are first selected from the higher priority, and a coincidence determination matrix for these entry groups is generated. The coincidence determination matrix is a matrix for holding the coincidence status of each field. 1 is assigned to the matrix element corresponding to the field in which the wild card of each entry is set, and 0 is assigned to the other elements.
Step 32: Match determination required field selection, In each column on the match determination matrix, a portion where 0 is set is a field that requires a match determination with an entry, and is therefore selected.
Step 33: The field match determination process and the match determination with the received packet information in units of columns that can be executed in the same instruction are performed in parallel on the GPU. When field match determination is completed for all entries in the entry group, 1 is assigned to the matrix element of the match determination matrix corresponding to the matched field.
Step 34: Extract matching entry. If there is an entry in which all the fields match (all entries are 1), the entry with the highest priority among them is set as the matching entry for the packet. If there is no matching entry, the matching determination for the next entry group in the flow control information table 13 is repeated. Note that it is desirable to perform parallel processing by the GPU because the determination of whether the entries match in all fields is performed by performing bitwise AND of the fields on all entries.
図4に、パケット転送テーブル15の検索フローチャートを示す。以下、本フローチャートに基づいて、パケット転送テーブル15の検索を説明する。 FIG. 4 shows a search flowchart of the packet forwarding table 15. Hereinafter, the search of the packet forwarding table 15 will be described based on this flowchart.
ステップ41:ハッシュ値による検索、検索処理制御部11は受信パケット情報に対するハッシュ値をキーとして、パケット転送テーブル15を検索する。
ステップ42:一致条件判定、該当するハッシュ値に紐づくエントリがあった場合、一致条件がすべて等しいか判定する。等しい場合はステップ43に進み、等しくない場合は、ステップ44に進む。
ステップ43:削除フラグ上書、等しければ一致エントリとし、テーブルの削除フラグを0(削除非対象)で上書きする。
ステップ44:再検索、等しくなければ、適用しているハッシュのアルゴリズムに基づき、一致エントリの検索を続ける。例えば、オープンハッシュ法の場合、リハッシュによりハッシュ値を再計算して検索する。チェーンハッシュ法の場合、当該ハッシュ値に紐づくエントリで構成されるリストを順にたどって検索する。
Step 41: Search by hash value, search
Step 42: Matching condition determination, if there is an entry associated with the corresponding hash value, it is determined whether all the matching conditions are equal. If they are equal, the process proceeds to step 43. If they are not equal, the process proceeds to step 44.
Step 43: Overwrite the deletion flag, if it is equal, the entry is matched and the table deletion flag is overwritten with 0 (non-deletion target).
Step 44: Re-search, if not equal, continue searching for matching entries based on applied hash algorithm. For example, in the case of the open hash method, the hash value is recalculated and searched by rehashing. In the case of the chain hash method, search is performed by sequentially tracing a list including entries associated with the hash value.
なお、パケット転送テーブル15は、新規フローが到着するたびにフロー制御情報テーブル13の情報に基づきエントリが追加されるため、不要エントリを削除しないとテーブルの容量上限に達してしまい、新規エントリの追加ができなくなる。よって、下記の手順で不要エントリを削除する。パケット転送テーブル管理部14は、宛先検索とは別に、各エントリの削除フラグを順次チェックし、削除フラグが1(削除対象)の場合は不要エントリとして情報を削除する。削除フラグが0(削除非対象)の場合はエントリを削除せず、削除フラグを1に上書きして次のエントリのチェックへ進む。そのため、次回チェック時までに参照されなかったエントリは、不要エントリとして削除される。
In the packet forwarding table 15, an entry is added based on the information in the flow control information table 13 every time a new flow arrives. Therefore, if an unnecessary entry is not deleted, the capacity limit of the table is reached, and a new entry is added. Can not be. Therefore, unnecessary entries are deleted by the following procedure. The packet forwarding
以下に、本発明の実施例を示す。図5は、本発明の実施例における、フロー制御情報テーブル検索を示す。図5(a)は、フロー制御情報テーブルの例であり、図5(b)、図5(c)は、一致判定行列の例を示す。
ステップ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のエントリが一致エントリとして、抽出される。
Examples of the present invention are shown below. FIG. 5 shows a flow control information table search in the embodiment of the present invention. FIG. 5A shows an example of a flow control information table, and FIGS. 5B and 5C show examples of a coincidence determination matrix.
Step 31 and FIG. 5B show an entry group of the coincidence determination matrix generated from the flow control information table of FIG.
In
Step 33, FIG. 5C shows a match determination matrix in which 1 is assigned to the matched field in the GPU match determination calculation. In FIG. 5C, the field enclosed by a square is an entry to which 1 is substituted.
In step 34, the example of FIG. 5C, the shaded entry is an entry in which all fields match. An entry with a higher priority and a priority of 20 is extracted as a matching entry.
図6は、本発明の実施例における、パケット転送テーブル検索を示す。
ステップ41、受信パケット情報(IF=eth1,D−MAC=D:D:D,S−MAC=E:E:E,...)から、ハッシュ値H(受信パケット情報)=0x0001を求め、検索する。
ステップ42、ハッシュ値0x0001は、図6で点線が引かれているエントリである。受信パケット情報と一致条件がすべて等しいか判定する。ここでは、全て等しいため、ステップ43に進む。
ステップ43、削除フラグを0で上書する。
FIG. 6 shows a packet forwarding table search in the embodiment of the present invention.
Step 41, from the received packet information (IF = eth1, D-MAC = D: D: D, S-MAC = E: E: E,...), A hash value H (received packet information) = 0x0001 is obtained. Search for.
Step 42, the hash value 0x0001 is an entry that is dotted in FIG. It is determined whether the received packet information and the matching conditions are all equal. Here, since all are equal, it progresses to step 43.
Step 43, overwrite the deletion flag with 0.
図7に、本発明の実施例における、パケット転送テーブルの不要エントリ削除を示す。ハッシュ値0x0001と0x0010のエントリは、削除フラグが1であるため、巡回チェックで削除される。ハッシュ値0x0000と0x0011のエントリは、削除フラグが0であるため、1に上書きされる。 FIG. 7 shows unnecessary entry deletion in the packet forwarding table in the embodiment of the present invention. The entries having the hash values 0x0001 and 0x0010 are deleted by the cyclic check because the deletion flag is 1. The entries with hash values 0x0000 and 0x0011 are overwritten with 1 because the deletion flag is 0.
本発明の宛先検索装置を用いた高速フロースイッチを通信キャリアのコア網に適用することにより、従来のインターネットでは不可能であったエンドツーエンドでのフロー単位制御が可能になる。それにより、アプリケーション毎に適した通信品質の提供が可能となり、サービス品質の向上を実現することができる。また、ネットワーク資源利用の効率化が可能となり、線路設備コストの抑制につながる。 By applying the high-speed flow switch using the destination search apparatus of the present invention to the core network of the communication carrier, end-to-end flow unit control that is impossible with the conventional Internet becomes possible. As a result, communication quality suitable for each application can be provided, and improvement in service quality can be realized. In addition, network resources can be used more efficiently, which leads to a reduction in track facility costs.
また、以上述べた実施形態は全て本発明を例示的に示すものであって限定的に示すものではなく、本発明は他の種々の変形態様および変更態様で実施することができる。従って本発明の範囲は特許請求の範囲およびその均等範囲によってのみ規定されるものである。 Moreover, all the embodiments described above are illustrative of the present invention and are not intended to limit the present invention, and the present invention can be implemented in other various modifications and changes. Therefore, the scope of the present invention is defined only by the claims and their equivalents.
1 フロー宛先検索装置
2 パケット送受信部
3 制御ポリシー管理部
11 検索処理制御部
12 フロー制御情報テーブル管理部
13 フロー制御情報テーブル
14 パケット転送テーブル管理部
15 パケット転送テーブル
DESCRIPTION OF
Claims (4)
ハッシュ検索を行う、完全一致エントリで構成されるパケット転送テーブルと、
前記フロー制御情報テーブルのワイルドカードでないフィールドに対して、受信パケット情報と一致判定をGPUで並列実施することで、一致するエントリを検索する、およびパケット転送テーブルにハッシュ検索を行うことで、一致するエントリを検索する検索処理制御手段と、
を備え、
前記検索処理制御手段は、
前記フロー制御情報テーブルから複数エントリを選択し、各エントリのワイルドカードが設定されているフィールドに1を、それ以外には0を代入した一致判定行列を生成する手段と、
前記一致判定行列のカラム単位で0が設定されているフィールドの受信パケット情報との一致判定をGPUで並列実施し、一致したフィールドに対応する前記一致判定行列の行列要素に1を代入する手段と、
前記一致判定行列で全てのフィールドが1であるエントリを一致エントリとする手段と、
を含むことを特徴とするフロー単位パケット転送のための宛先検索装置。 A flow control information table composed of entries including wildcards for performing a linear search;
A packet forwarding table consisting of exact match entries that perform a hash search;
Match the received packet information with the field that is not a wild card in the flow control information table by matching the received packet information in parallel by searching for a matching entry and performing a hash search on the packet forwarding table. Search processing control means for searching for entries;
Equipped with a,
The search processing control means includes
Means for selecting a plurality of entries from the flow control information table, and generating a match determination matrix in which 1 is assigned to a field in which a wild card of each entry is set, and 0 is assigned to other fields;
Means for executing a match determination with received packet information of a field in which 0 is set in a column unit of the match determination matrix in parallel by the GPU, and substituting 1 into a matrix element of the match determination matrix corresponding to the matched field; ,
Means for making an entry in which all fields are 1 in the match determination matrix as a match entry;
A destination retrieval apparatus for flow unit packet transfer characterized by comprising:
前記フロー制御情報テーブルに一致するエントリが存在した場合に、前記パケット転送テーブルに当該受信パケット情報に相当するエントリを追加することを特徴とする請求項1に記載の宛先検索装置。 The search processing control means includes
2. The destination search apparatus according to claim 1 , wherein when there is a matching entry in the flow control information table, an entry corresponding to the received packet information is added to the packet forwarding table.
前記検索処理制御手段は、検索されたエントリの削除フラグを「非対象」で上書きし、
前記削除フラグが「対象」であるエントリを削除し、前記削除フラグが「非対象」であるエントリの削除フラグを「対象」で上書きするパケット転送テーブル管理手段を、
さらに備えることを特徴とする請求項1又は請求項2に記載の宛先検索装置。 The packet forwarding table includes a deletion flag,
The search processing control means overwrites the deletion flag of the searched entry with “non-target”,
A packet forwarding table management means for deleting an entry whose deletion flag is “target” and overwriting the deletion flag of an entry whose deletion flag is “non-target” with “target”;
The destination search device according to claim 1 , further comprising:
完全一致エントリで構成されるパケット転送テーブルにハッシュ検索を行うことで、一致するエントリを検索するステップと、
前記フロー制御情報テーブルから複数エントリを選択し、各エントリのワイルドカードが設定されているフィールドに1を、それ以外には0を代入した一致判定行列を生成するステップと、
前記一致判定行列のカラム単位で0が設定されているフィールドの受信パケット情報との一致判定をGPUで並列実施し、一致したフィールドに対応する前記一致判定行列の行列要素に1を代入するステップと、
前記一致判定行列で全てのフィールドが1であるエントリを一致エントリとするステップと、
を有することを特徴とするフロー単位パケット転送のための宛先検索方法。 Searching for a matching entry by performing a parallel search on a non-wildcard field of a flow control information table composed of entries including a wildcard by performing a linear search in parallel with the received packet information on the GPU; ,
Searching for a matching entry by performing a hash search on a packet forwarding table comprising exact match entries; and
Selecting a plurality of entries from the flow control information table, and generating a match determination matrix in which 1 is assigned to a field in which a wild card of each entry is set, and 0 is assigned to other fields;
A step of performing a match determination with the received packet information of a field in which 0 is set in a column unit of the match determination matrix in parallel by the GPU, and substituting 1 into a matrix element of the match determination matrix corresponding to the matched field; ,
Making an entry in which all fields are 1 in the match determination matrix as a match entry;
A destination search method for packet-based packet transfer.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012047731A JP5814830B2 (en) | 2012-03-05 | 2012-03-05 | Destination search apparatus and search method for flow unit packet transfer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012047731A JP5814830B2 (en) | 2012-03-05 | 2012-03-05 | Destination search apparatus and search method for flow unit packet transfer |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013183397A JP2013183397A (en) | 2013-09-12 |
JP5814830B2 true JP5814830B2 (en) | 2015-11-17 |
Family
ID=49273749
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012047731A Active JP5814830B2 (en) | 2012-03-05 | 2012-03-05 | Destination search apparatus and search method for flow unit packet transfer |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5814830B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103905311B (en) * | 2012-12-28 | 2017-02-22 | 华为技术有限公司 | Flow table matching method and device and switch |
RU2651143C1 (en) | 2014-06-30 | 2018-04-18 | Хуавей Текнолоджиз Ко., Лтд. | Method, device and system of steam recording configuration |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4351505B2 (en) * | 2003-09-10 | 2009-10-28 | 富士通株式会社 | Packet transfer method, packet transfer system, and packet transfer apparatus |
US7464181B2 (en) * | 2003-09-11 | 2008-12-09 | International Business Machines Corporation | Method for caching lookups based upon TCP traffic flow characteristics |
JP2009017439A (en) * | 2007-07-09 | 2009-01-22 | Sii Network Systems Kk | Packet transfer device and method |
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/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2013183397A (en) | 2013-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8767757B1 (en) | Packet forwarding system and method using patricia trie configured hardware | |
CN104769884B (en) | Optimized using the forwarding table of flow data | |
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 | |
EP2997702B1 (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 | |
US10348646B2 (en) | Two-stage port-channel resolution in a multistage fabric switch | |
US8059658B1 (en) | Method and system for automatic expansion and contraction of IP host forwarding database | |
US9794111B2 (en) | Communication system, virtual network management apparatus, virtual network management method and program | |
JP6437693B2 (en) | Multicast data packet forwarding | |
US10313154B2 (en) | Packet forwarding | |
US8923298B2 (en) | Optimized trie-based address lookup | |
US10326712B2 (en) | Multicast data packet forwarding | |
JP6323547B2 (en) | COMMUNICATION SYSTEM, CONTROL DEVICE, COMMUNICATION CONTROL METHOD, AND PROGRAM | |
US20180351879A1 (en) | Multicast data packet forwarding | |
US20170373974A1 (en) | Method and system for interest groups in a content centric network | |
Ge et al. | H‐SOFT: a heuristic storage space optimisation algorithm for flow table of OpenFlow | |
US7327744B2 (en) | Fibre channel forwarding information base | |
US7487255B2 (en) | Routing cache management with route fragmentation | |
JP5814830B2 (en) | Destination search apparatus and search method for flow unit packet transfer | |
JP6085577B2 (en) | Retrieval tree generation / retrieval apparatus, method, and program | |
US7843927B1 (en) | Methods, systems, and computer program products for routing packets at a multi-mode layer 3 packet forwarding device | |
US10764177B2 (en) | Efficient implementation of complex network segmentation | |
US9553829B2 (en) | Apparatus and method for fast search table update in a network switch |
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 |