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 PDF

Info

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
Application number
JP2012047731A
Other languages
Japanese (ja)
Other versions
JP2013183397A (en
Inventor
延孝 松本
延孝 松本
林 通秋
通秋 林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KDDI Corp
Original Assignee
KDDI Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by KDDI Corp filed Critical KDDI Corp
Priority to JP2012047731A priority Critical patent/JP5814830B2/en
Publication of JP2013183397A publication Critical patent/JP2013183397A/en
Application granted granted Critical
Publication of JP5814830B2 publication Critical patent/JP5814830B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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 Document 1 describes an application method of binary tree search called Patricia-Tree. This method is used for searching destinations of OSs such as Linux and FreeBSD as a search method for realizing longest prefix matching in IP route search.

非特許文献2では、商用のフロールータにおけるフロー検索方法が述べられている。全てのフローを完全一致エントリとすることで、ハッシュによるフローの高速検索を可能としている。   Non-Patent Document 2 describes a flow search method in a commercial flow router. By making all the flows completely coincident entries, it is possible to perform a high-speed flow search by hash.

上記課題を解決するため本発明のフロー単位パケット転送のための宛先検索装置は、線形検索を行う、ワイルドカードを含むエントリで構成されるフロー制御情報テーブルと、 ハッシュ検索を行う、完全一致エントリで構成されるパケット転送テーブルと、前記フロー制御情報テーブルのワイルドカードでないフィールドに対して、受信パケット情報と一致判定を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.

Donald R. Morrisonら著 "PATRICIA: Practical Algorithm To Retrieve Information Coded in Alpha numeric" Journal of the ACM,Volume 15 Issue 4 1968年10月Donald R. Morrison et al. "PATRICIA: Practical Algorithm To Retrieve Information Coded in Alpha numeric" Journal of the ACM, Volume 15 Issue 4 October 1968 L. G. Roberts著 "The Next Generation of IP - Flow Routing" SSGRR 2003S 2003年7月L. G. Roberts "The Next Generation of IP-Flow Routing" SSGRR 2003S July 2003 Sangjin Hanら著 "PacketShader: a GPU-accelerated Software Router" Proceedings of ACM SIGCOMM 2010 2010年 8月Sangjin Han et al. "PacketShader: a GPU-accelerated Software Router" Proceedings of ACM SIGCOMM 2010 August 2010

しかしながら、非特許文献1に代表される従来のIP経路検索は、最長プレフィックス一致検索を前提としており、複数フィールドを一致条件に含むフローテーブルの検索には適用できない。非特許文献2に示される完全一致検索を適用するには、全てのフローに対してフローエントリを定義する必要がある。運用を考えると大量のフローエントリの設定はスケール性に乏しい。非特許文献3ではワイルドカード検索も考慮されているが、線形検索のためエントリ数が増えた場合に性能劣化の影響が大きくなる。   However, the conventional IP route search represented by Non-Patent Document 1 is based on the longest prefix match search and cannot be applied to a flow table search including a plurality of fields as a match condition. To apply the exact match search shown in Non-Patent Document 2, it is necessary to define flow entries for all flows. Considering the operation, setting a large number of flow entries is poor in scale. In Non-Patent Document 3, wild card search is also considered, but when the number of entries increases due to linear search, the effect of performance degradation becomes large.

したがって、本発明では、ソフトウェアベースのフロースイッチにおいて、ワイルドカードを含むフローテーブルの検索処理を高速化するフロー単位パケット転送のための宛先検索装置および検索方法を提供することを目的とする。   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 shows a system configuration diagram of a flow destination search apparatus of the present invention. FIG. 宛先検索手順を示すフローチャートを示す。5 is a flowchart showing a destination search procedure. フロー制御情報テーブルの検索フローチャートを示す。The flow chart of a search of a flow control information table is shown. パケット転送テーブルの検索フローチャートを示す。The flowchart of a packet forwarding table search is shown. 本発明の実施例における、フロー制御情報テーブルと一致判定行列の構成及び検索時の更新内容を示す。In the embodiment of the present invention, the configuration of the flow control information table and the coincidence determination matrix and the update contents at the time of retrieval are shown. 本発明の実施例における、パケット転送テーブルの構成及び検索時の更新内容を示す。4 shows the structure of a packet forwarding table and the update contents at the time of retrieval in an embodiment of the present invention. 本発明の実施例における、パケット転送テーブルの不要エントリの削除時の更新内容を示す。The update contents at the time of deleting the unnecessary entry of the packet forwarding table in the embodiment of the present invention are shown.

本発明を実施するための最良の実施形態について、以下では図面を用いて詳細に説明する。図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 destination search device 1 of the present invention acquires packet information from the packet transmitting / receiving unit 2, refers to two flow tables (flow control information table 13, packet transfer table 15), searches for matching entries, and Returns destination information for. Further, the flow control information table 13 is managed according to the control policy.

フロー宛先検索装置1は、検索処理制御部11、フロー制御情報テーブル管理部12、フロー制御情報テーブル13、パケット転送テーブル管理部14、パケット転送テーブル15で構成される。フロー宛先検索装置1はパケット送受信部2と接続し、受信パケットの取得及び転送先の通知を行う。また、フロー宛先検索装置1は制御ポリシー管理部3と接続し、フロー制御情報の更新を受け付ける。   The flow destination search apparatus 1 includes a search processing control unit 11, a flow control information table management unit 12, a flow control information table 13, a packet transfer table management unit 14, and a packet transfer table 15. The flow destination search apparatus 1 is connected to the packet transmission / reception unit 2 to acquire a received packet and notify a transfer destination. In addition, the flow destination search device 1 is connected to the control policy management unit 3 and receives an update of the flow control information.

検索処理制御部11は、受信パケットの情報に基づき適切な転送先情報を取得するため、パケット転送テーブル15及びフロー制御情報テーブル13を検索し、得られた転送先情報をパケット送受信部2に通知する。また、パケット転送テーブル15に必要なエントリが無かった場合、エントリ追加処理を行う。   The search processing control unit 11 searches the packet transfer table 15 and the flow control information table 13 to obtain appropriate transfer destination information based on the information of the received packet, and notifies the packet transmission / reception unit 2 of the obtained transfer destination information. To do. If there is no necessary entry in the packet transfer table 15, entry addition processing is performed.

フロー制御情報テーブル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 table management unit 12 updates the flow control information table 13 based on a request from the control policy management unit 3.

パケット転送テーブル管理部14は、パケット転送テーブル15上で既に使われなくなったフロー情報がないかを監視し、不要エントリの削除を行う。   The packet transfer table management unit 14 monitors whether there is flow information that is no longer used on the packet transfer table 15 and deletes unnecessary entries.

フロー制御情報テーブル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 policy management unit 3 requests entry addition and deletion to the flow control information management table 13. The request form is, for example, manual setting from the operator screen, route information update from the routing daemon, and flow information setting from the signaling daemon.

図2は、宛先検索手順を示すフローチャート図である。以下、本フローチャートに基づき、フロー宛先検索装置1の動作を説明する。   FIG. 2 is a flowchart showing a destination search procedure. The operation of the flow destination search device 1 will be described below based on this flowchart.

ステップ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 unit 2 receives packet information (reception IF, MAC, VLAN, IP, port number) and transmits it to the search processing control unit 11.
Step 2: Hash value calculation and search processing control unit 11 calculates a hash value for packet transfer table search based on the received packet information received from packet transmission / reception unit 2.
Step 3: Packet transfer table search and search processing control unit 11 searches packet transfer table 15 based on the calculated hash value.
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 processing control unit 11 notifies the packet transmitting / receiving unit 2 of the transfer destination information of the corresponding entry.
Step 6: Search and search processing control unit 11 of flow control information table 11 searches the flow control information table 13 for an entry corresponding to the received packet.
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 processing control unit 11 adds a new entry to the packet transfer table 15 based on the received packet information and the corresponding transfer destination information.
Step 9: The transfer destination information of the corresponding entry is notified, and the search processing control unit 11 notifies the packet transmitting / receiving unit 2 of the transfer destination information of the corresponding entry.
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 processing control unit 11 searches packet forwarding table 15 using a hash value for received packet information as a key.
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 table management unit 14 sequentially checks the deletion flag of each entry separately from the destination search, and deletes information as an unnecessary entry when the deletion flag is 1 (deletion target). If the deletion flag is 0 (non-deletion target), the entry is not deleted, the deletion flag is overwritten with 1, and the process proceeds to the next entry check. Therefore, an entry that has not been referenced until the next check is deleted as an unnecessary entry.

以下に、本発明の実施例を示す。図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. Entry priorities 10 to 40 are shown. In the wild card field of FIG. 5A, 1 is substituted, and 0 is substituted otherwise. In this example, the entry group has only four rows, but actually, more rows are selected, and parallel computation of GPUs is performed with many multiplicity.
In step 32, FIG. 5B, the field enclosed by the square is the selected entry.
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 SYMBOLS 1 Flow destination search apparatus 2 Packet transmission / reception part 3 Control policy management part 11 Search process control part 12 Flow control information table management part 13 Flow control information table 14 Packet transfer table management part 15 Packet transfer table

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:
線形検索を行う、ワイルドカードを含むエントリで構成されるフロー制御情報テーブルのワイルドカードでないフィールドに対して、受信パケット情報と一致判定をGPUで並列実施することで、一致するエントリを検索するステップと、
完全一致エントリで構成されるパケット転送テーブルにハッシュ検索を行うことで、一致するエントリを検索するステップと、
前記フロー制御情報テーブルから複数エントリを選択し、各エントリのワイルドカードが設定されているフィールドに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.
JP2012047731A 2012-03-05 2012-03-05 Destination search apparatus and search method for flow unit packet transfer Active JP5814830B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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