JP6306441B2 - Packet analysis apparatus and packet analysis method - Google Patents

Packet analysis apparatus and packet analysis method Download PDF

Info

Publication number
JP6306441B2
JP6306441B2 JP2014118568A JP2014118568A JP6306441B2 JP 6306441 B2 JP6306441 B2 JP 6306441B2 JP 2014118568 A JP2014118568 A JP 2014118568A JP 2014118568 A JP2014118568 A JP 2014118568A JP 6306441 B2 JP6306441 B2 JP 6306441B2
Authority
JP
Japan
Prior art keywords
dpi
unit
packet
hash value
bit sequence
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
JP2014118568A
Other languages
Japanese (ja)
Other versions
JP2015233181A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2014118568A priority Critical patent/JP6306441B2/en
Publication of JP2015233181A publication Critical patent/JP2015233181A/en
Application granted granted Critical
Publication of JP6306441B2 publication Critical patent/JP6306441B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、通信フローのパケットを解析するパケット解析装置およびパケット解析方法に関する。   The present invention relates to a packet analysis device and a packet analysis method for analyzing a packet of a communication flow.

現在のIP(Internet Protocol)ネットワークでは、サーバとユーザ端末との間や、ユーザ端末間に、スイッチやIPルータなどのパケット転送装置を配置し、パケット転送装置が通信フローを解析することにより、効率的なパケット転送制御を行っている。   In the current IP (Internet Protocol) network, a packet transfer device such as a switch or an IP router is arranged between a server and a user terminal or between user terminals, and the packet transfer device analyzes a communication flow, thereby improving efficiency. Packet transfer control is performed.

通信フローの実体であるパケットを解析する1つの方法として、DPI(Deep Packet Inspection)という技術が知られており、DPI処理を実行する様々な装置が実現されている。DPI処理では、パケット転送装置を通過するパケットのペイロードのパターンを、予め設定しておいたパターンと照合し、一致するかどうかを判定することによって、通信フローが識別される。   As one method for analyzing a packet that is a substance of a communication flow, a technique called DPI (Deep Packet Inspection) is known, and various apparatuses that execute DPI processing are realized. In the DPI processing, the communication flow is identified by comparing the payload pattern of the packet passing through the packet transfer device with a preset pattern and determining whether or not they match.

非特許文献1には、パケットのペイロードの特定のビットシーケンスを検索する複雑なDPI処理を、高速に実現するための装置構成が開示されている。非特許文献1の装置構成によれば、複数のDPIプロセッサを並列に配置し、DPIにおける計算量の大きいビットシーケンスの処理を複数段に分割し、分割した各処理を複数のDPIプロセッサで実行する。これにより、複数のDPIプロセッサにDPI処理の負荷を分散させることができるため、効率的かつ高速なDPI処理を実現することができる(以下、非特許文献1のように、複数のDPIプロセッサを並列に配置し、DPI処理を複数のDPIプロセッサに実行させる機能を、階層化フロー識別機能と称する)。   Non-Patent Document 1 discloses a device configuration for realizing high-speed complex DPI processing for searching for a specific bit sequence in a packet payload. According to the device configuration of Non-Patent Document 1, a plurality of DPI processors are arranged in parallel, a bit sequence process with a large calculation amount in DPI is divided into a plurality of stages, and each divided process is executed by a plurality of DPI processors. . As a result, the load of DPI processing can be distributed to a plurality of DPI processors, so that efficient and high-speed DPI processing can be realized (hereinafter, a plurality of DPI processors are connected in parallel as in Non-Patent Document 1). A function that is arranged in (1) and causes a plurality of DPI processors to execute DPI processing is referred to as a hierarchical flow identification function).

DPI処理を実行する装置の1つとして、ネットワークプロセッサが挙げられる。非特許文献2には、高性能なネットワークプロセッサが例示されている。ネットワークプロセッサには、DPI処理を担うコプロセッサを有するものがあり、また、パケット転送装置には、DPIプロセッサとしてネットワークプロセッサが良く実装される。これらのことから、ネットワークプロセッサをDPIプロセッサとして用いて、階層化フロー識別機能を実現することは当業者であれば容易に想到し得る。   One example of a device that executes DPI processing is a network processor. Non-Patent Document 2 illustrates a high-performance network processor. Some network processors include a coprocessor that performs DPI processing, and a network processor is often implemented as a DPI processor in a packet transfer apparatus. From these facts, those skilled in the art can easily conceive of using the network processor as the DPI processor to realize the hierarchical flow identification function.

しかし、非特許文献2に示されるように、高性能なネットワークプロセッサは、一般にチップあたり数十ワット以上の電力を消費するものが多い。そのため、ネットワークプロセッサを用いて階層化フロー識別機能を実現する場合、ネットワークプロセッサの並列度をNとすると、数十ワット×N個分の電力供給が必要となるため、パケット転送装置の運用コストが上昇する点が問題となる。   However, as shown in Non-Patent Document 2, high-performance network processors generally consume many tens of watts or more of power per chip. Therefore, when realizing the hierarchical flow identification function using a network processor, if the parallelism of the network processor is N, it is necessary to supply several tens of watts × N power supplies, so the operation cost of the packet transfer apparatus is reduced. The rising point becomes a problem.

また、ネットワークプロセッサは、DPI処理以外のネットワーク処理にも汎用的に使用可能な大規模な論理回路を搭載しており、チップサイズも数十ミリ角と大きなものとなるため、パケット転送装置の高密度化が困難となる。   In addition, the network processor has a large-scale logic circuit that can be used for general network processing other than DPI processing, and the chip size is as large as several tens of millimeters square. Densification becomes difficult.

このように、ネットワークプロセッサを用いて階層化フロー識別機能を実現することは、パケット転送装置の消費電力が増大し、運用コストが上昇すると共に、高密度化が困難となることから、経済的ではない。   As described above, realizing the hierarchical flow identification function using the network processor increases the power consumption of the packet transfer device, increases the operation cost, and makes it difficult to increase the density. Absent.

大坂ほか、“エッジノードへのスケーラブルな拡張機能実装方式に関する検討”、電子情報通信学会ソサイエティ大会講演論文集、B−6−16、Aug.2011Osaka et al., “Examination of scalable extended function implementation method on edge node”, Proceedings of Society Conference of IEICE, B-6-16, Aug. 2011 MICROPROCESSOR report、Oct.2012、[2014年5月23日検索]、インターネット<URL:http://www.linleygroup.com/mpr/article.php?id=10946>MICROPROCESSOR report, Oct. 2012, [Search May 23, 2014], Internet <URL: http: // www. linleygroup. com / mpr / article. php? id = 10946> 山崎ほか、“パケット走査のための専用命令セット設計に関する検討”、電子情報通信学会ソサイエティ大会講演論文集、C−12−29、Sep.2013Yamazaki et al., “Examination of Design of Dedicated Instruction Set for Packet Scanning”, IEICE Society Conference Proceedings, C-12-29, Sep. 2013

上述したように、DPIプロセッサとしてネットワークプロセッサを用いて階層化フロー識別機能を実現する場合、ネットワークプロセッサの並列度Nが上がるにしたがって消費電力が線形的に増加する等の理由で、経済性が悪化する。   As described above, when a hierarchical flow identification function is realized using a network processor as a DPI processor, the economic efficiency deteriorates due to a linear increase in power consumption as the parallelism N of the network processor increases. To do.

他方、単一のDPIプロセッサにDPI処理を実行させる場合、そのDPIプロセッサに大きな負荷がかかり、パケット転送装置の処理性能が低下するおそれがある。また、長大なビットシーケンスの検索に対応するために大規模なTCAM(Ternary Content Addressable Memory)が必要となり、パケット転送装置の消費電力および実装コストが増大する。   On the other hand, when the DPI processing is executed by a single DPI processor, a large load is applied to the DPI processor, and the processing performance of the packet transfer apparatus may be degraded. In addition, a large-scale TCAM (Ternary Content Addressable Memory) is required to cope with a search for a long bit sequence, which increases the power consumption and mounting cost of the packet transfer apparatus.

本発明は、上記課題を考慮してなされたものであり、その目的は、パケット転送装置における階層化フロー識別機能を複数のDPIプロセッサを用いて実現することで処理性能を向上しつつ、消費電力および実装密度の抑制を図ることができる技術を提供することにある。   The present invention has been made in consideration of the above-described problems, and an object of the present invention is to realize a hierarchical flow identification function in a packet transfer apparatus using a plurality of DPI processors, thereby improving processing performance and power consumption. It is another object of the present invention to provide a technique capable of suppressing the mounting density.

上記目的を達成するために本発明のパケット解析装置は、
通信フローのパケットを解析するパケット解析装置であって、
各々がDPIシグネチャテーブルを備える複数のDPI部と、
前記複数のDPI部の各々の検索条件を管理する検索条件管理部と、
専用命令部と、を有し、
前記検索条件管理部が前記DPI部に対して検索条件の登録を指示した場合、前記DPI部は、前記検索条件管理部により登録を指示された検索条件を登録し、前記専用命令部は、該検索条件に含まれる検索パターンのビットシーケンスの特徴をビット列で表現したシグネチャを演算し、演算したシグネチャのDPIシグネチャテーブルへの登録を前記DPI部に対して指示し、前記DPI部は、前記専用命令部により登録を指示されたシグネチャをDPIシグネチャテーブルに登録し、
前記DPI部が通信フローのパケットを受信した場合、前記専用命令部は、該パケットのペイロードからビットシーケンスを抽出し、抽出したビットシーケンスのシグネチャを演算し、演算したシグネチャがDPIシグネチャテーブルに登録された検索パターンのビットシーケンスのシグネチャと一致するかを判定する。
In order to achieve the above object, the packet analysis apparatus of the present invention provides:
A packet analysis device for analyzing a packet of a communication flow,
A plurality of DPI units each comprising a DPI signature table;
A search condition management unit that manages each search condition of the plurality of DPI units;
A dedicated command section,
When the search condition management unit instructs the DPI unit to register the search condition, the DPI unit registers the search condition instructed to be registered by the search condition management unit, and the dedicated command unit A signature that represents the characteristics of the bit sequence of the search pattern included in the search condition as a bit string is calculated, and the DPI unit is instructed to register the calculated signature in the DPI signature table. Register the signature instructed to register in the DPI signature table,
When the DPI unit receives a packet of a communication flow, the dedicated command unit extracts a bit sequence from the payload of the packet, calculates a signature of the extracted bit sequence, and the calculated signature is registered in the DPI signature table. It is determined whether it matches the signature of the bit sequence of the retrieved pattern.

上記目的を達成するために本発明のパケット解析方法は、
通信フローのパケットを解析するパケット解析装置によるパケット解析方法であって、
前記パケット解析装置に、
各々がDPIシグネチャテーブルを備える複数のDPI部と、
前記複数のDPI部の各々の検索条件を管理する検索条件管理部と、
専用命令部と、を設け、
前記検索条件管理部が前記DPI部に対して検索条件の登録を指示した場合、前記DPI部は、前記検索条件管理部により登録を指示された検索条件を登録し、前記専用命令部は、該検索条件に含まれる検索パターンのビットシーケンスの特徴をビット列で表現したシグネチャを演算し、演算したシグネチャのDPIシグネチャテーブルへの登録を前記DPI部に対して指示し、前記DPI部は、前記専用命令部により登録を指示されたシグネチャをDPIシグネチャテーブルに登録し、
前記DPI部が通信フローのパケットを受信した場合、前記専用命令部は、該パケットのペイロードからビットシーケンスを抽出し、抽出したビットシーケンスのシグネチャを演算し、演算したシグネチャがDPIシグネチャテーブルに登録された検索パターンのビットシーケンスのシグネチャと一致するかを判定する。
In order to achieve the above object, the packet analysis method of the present invention provides:
A packet analysis method by a packet analysis device for analyzing a packet of a communication flow,
In the packet analysis device,
A plurality of DPI units each comprising a DPI signature table;
A search condition management unit that manages each search condition of the plurality of DPI units;
A dedicated command section,
When the search condition management unit instructs the DPI unit to register the search condition, the DPI unit registers the search condition instructed to be registered by the search condition management unit, and the dedicated command unit A signature that represents the characteristics of the bit sequence of the search pattern included in the search condition as a bit string is calculated, and the DPI unit is instructed to register the calculated signature in the DPI signature table. Register the signature instructed to register in the DPI signature table,
When the DPI unit receives a packet of a communication flow, the dedicated command unit extracts a bit sequence from the payload of the packet, calculates a signature of the extracted bit sequence, and the calculated signature is registered in the DPI signature table. It is determined whether it matches the signature of the bit sequence of the retrieved pattern.

本発明によれば、複数のDPI部を用いて階層化フロー識別機能を実現する一方で、専用命令部を設け、この専用命令部が、検索パターンのビットシーケンス、および、通信フローのパケットのペイロードから抽出したビットシーケンスの特徴をビット列で表現したシグネチャを演算した上で、両者の一致判定を行う。これにより、パケット解析処理において計算頻度が高いシグネチャの一致判定に必要な命令を1〜2サイクルで行うことができる。そのため、DPI部によるパケット解析処理の低遅延化が可能であり、DPI部は不要な機能やハードウェアを一切持つ必要がなくなり、小規模な論理回路で高密度な実装が可能となる。また、DPI部をネットワークプロセッサで構成する必要が無いため、DPI部の消費電力を低減することができ、DPI処理の並列度を上げるためにDPI部の数を増加させた場合でも、消費電力を抑えることができる。   According to the present invention, a hierarchical flow identification function is realized using a plurality of DPI units, while a dedicated command unit is provided, and the dedicated command unit includes a bit sequence of a search pattern and a payload of a packet of a communication flow. After calculating the signature expressing the characteristics of the bit sequence extracted from the above in the form of a bit string, the matching between the two is determined. As a result, it is possible to execute an instruction necessary for signature matching determination, which is frequently calculated in the packet analysis process, in one to two cycles. Therefore, it is possible to reduce the delay of packet analysis processing by the DPI unit, and the DPI unit does not need to have any unnecessary functions or hardware, and high-density mounting is possible with a small logic circuit. In addition, since it is not necessary to configure the DPI unit with a network processor, the power consumption of the DPI unit can be reduced, and even when the number of DPI units is increased to increase the parallelism of DPI processing, the power consumption can be reduced. Can be suppressed.

したがって、複数のDPI部を用いて階層化フロー識別機能を実現することで処理性能を向上しつつ、消費電力および実装密度の抑制を図ることができ、電力性能比(消費電力に対する処理性能の比率)を飛躍的に高めたパケット解析装置を実現することができる。   Therefore, by realizing the hierarchical flow identification function using a plurality of DPI units, the processing performance can be improved and the power consumption and the mounting density can be suppressed, and the power performance ratio (the ratio of the processing performance to the power consumption) ) Can be dramatically improved.

本発明のパケット解析装置を含むパケット転送装置の構成を示す図である。It is a figure which shows the structure of the packet transfer apparatus containing the packet analysis apparatus of this invention. 第1の比較例のパケット解析装置の構成を示す図である。It is a figure which shows the structure of the packet analysis apparatus of a 1st comparative example. 第2の比較例のパケット解析装置の構成を示す図である。It is a figure which shows the structure of the packet analysis apparatus of the 2nd comparative example. 第3の比較例のパケット解析装置の構成を示す図である。It is a figure which shows the structure of the packet analysis apparatus of the 3rd comparative example. 本発明の第1の実施形態のパケット解析装置の構成を示す図である。It is a figure which shows the structure of the packet analysis apparatus of the 1st Embodiment of this invention. 本発明の第1〜第3の実施形態のパケット解析装置における専用命令部の構成を示す図である。It is a figure which shows the structure of the exclusive command part in the packet analysis apparatus of the 1st-3rd embodiment of this invention. 本発明の第1の実施形態のパケット解析装置におけるパケット解析方法を表すシーケンス図である。It is a sequence diagram showing the packet analysis method in the packet analysis apparatus of the 1st Embodiment of this invention. 本発明の第2の実施形態のパケット解析装置の構成を示す図である。It is a figure which shows the structure of the packet analysis apparatus of the 2nd Embodiment of this invention. 本発明の第3の実施形態のパケット解析装置の構成を示す図である。It is a figure which shows the structure of the packet analysis apparatus of the 3rd Embodiment of this invention.

以下に、本発明を実施するための形態について図面を参照して説明する。
(1)パケット転送装置
図1は、本発明のパケット解析装置を含むパケット転送装置の構成を示す図である。
EMBODIMENT OF THE INVENTION Below, the form for implementing this invention is demonstrated with reference to drawings.
(1) Packet Transfer Device FIG. 1 is a diagram showing a configuration of a packet transfer device including a packet analysis device of the present invention.

図1に示すように、本発明のパケット転送装置10は、入力部110と、出力部120と、パケット解析装置11と、を有している。   As shown in FIG. 1, the packet transfer device 10 of the present invention includes an input unit 110, an output unit 120, and a packet analysis device 11.

入力部110は、サーバやユーザ端末などの外部装置(図示せず)からの入力信号を受信し、受信した入力信号からパケットを抽出する。抽出された各パケットは、制御データを収容するヘッダと、実データを収容するペイロードと、から構成される。ヘッダは、典型的には、固定長のデータであり、そのデータの固定位置に送信元IPアドレス(SIP)、宛先IPアドレス(DIP)、IPプロトコルタイプ(PR)、送信元ポート番号(SPT)、および宛先ポート番号(DPT)という5つの要素(5タプル)を含んでいる。   The input unit 110 receives an input signal from an external device (not shown) such as a server or a user terminal, and extracts a packet from the received input signal. Each extracted packet includes a header that accommodates control data and a payload that accommodates actual data. The header is typically fixed-length data, and the source IP address (SIP), the destination IP address (DIP), the IP protocol type (PR), and the source port number (SPT) are fixed at the fixed position of the data. And five elements (5 tuples) of destination port number (DPT).

パケット解析装置11は、入力部110で抽出されたパケットを解析し、その解析結果を基に、そのパケットの転送先を決定する等の処理を行う。なお、パケット解析装置11の詳細は後述する。   The packet analysis device 11 analyzes the packet extracted by the input unit 110, and performs processing such as determining the transfer destination of the packet based on the analysis result. Details of the packet analysis device 11 will be described later.

出力部120は、パケット解析装置11で決定された転送先にパケットを送信する。
(2)パケット解析装置
以下、本発明のパケット解析装置を、比較例と対比して説明する。なお、以下で説明する本発明および比較例のパケット解析装置は、図1に示したパケット転送装置10へパケット解析装置11として組み込まれるものとする。
The output unit 120 transmits the packet to the transfer destination determined by the packet analysis device 11.
(2) Packet Analysis Device Hereinafter, the packet analysis device of the present invention will be described in comparison with a comparative example. Note that the packet analysis devices of the present invention and the comparative example described below are incorporated as the packet analysis device 11 in the packet transfer device 10 shown in FIG.

まず、比較例のパケット解析装置について説明する。
(2−1)比較例のパケット解析装置
(2−1−1)第1の比較例のパケット解析装置
図2は、第1の比較例のパケット解析装置1100Aの構成を示す図である。
First, a packet analysis device of a comparative example will be described.
(2-1) Packet Analysis Device of Comparative Example (2-1-1) Packet Analysis Device of First Comparative Example FIG. 2 is a diagram illustrating a configuration of a packet analysis device 1100A of the first comparative example.

図2に示すように、第1の比較例のパケット解析装置1100Aは、基本転送機能部130と、1次DPI部140−1〜N(Nは2以上の自然数)次DPI部140−N(以下、どのDPI部であるかを特定しないときはDPI部140と称する)と、パケット分析機能部150と、を有する。   As shown in FIG. 2, the packet analysis apparatus 1100A of the first comparative example includes a basic transfer function unit 130 and primary DPI units 140-1 to N (N is a natural number greater than or equal to 2), next DPI unit 140-N ( Hereinafter, when it is not specified which DPI unit is specified, it is referred to as a DPI unit 140) and a packet analysis function unit 150.

基本転送機能部130は、転送テーブル(図示せず)と、転送シグネチャテーブル(図示せず)と、を有している。転送テーブルには、パケットの転送先として、そのパケットのヘッダの5タプルに応じた転送先が登録されている。転送シグネチャテーブルには、検索パターンとなるヘッダの5タプルと、その検索パターンが検索されたパケットに対して実行すべき処理内容であるアクション(ACT)と、が登録されている。基本転送機能部130は、入力部110にて抽出された各パケットのヘッダを確認し、確認したヘッダの5タプルが、転送シグネチャテーブルに登録されている検索パターンの5タプルに一致するかを判定する。一致しない場合、基本転送機能部130は、そのパケットを通常のパケットであると判定し、転送テーブルに登録されている転送先を指定して出力部120に転送する。他方、一致した場合、基本転送機能部130は、そのパケットに対して、転送シグネチャテーブルに登録されている処理(アクション)を選択して実行する。この付随条件の処理内容としては、典型的には、DPI部140に転送する、所定の処理を実行して出力部120に転送する、などが設定されてもよい。DPI部140にパケットを転送する場合、基本転送機能部130は、1次DPI部140−1〜N次DPI部140−Nのそれぞれに並列的にパケットを転送する。   The basic transfer function unit 130 has a transfer table (not shown) and a transfer signature table (not shown). In the transfer table, a transfer destination corresponding to the 5-tuple in the header of the packet is registered as the transfer destination of the packet. In the transfer signature table, five tuples of headers serving as search patterns and actions (ACT) that are processing contents to be executed on packets for which the search patterns are searched are registered. The basic transfer function unit 130 checks the header of each packet extracted by the input unit 110, and determines whether the 5-tuple of the confirmed header matches the 5-tuple of the search pattern registered in the transfer signature table. To do. If they do not match, the basic transfer function unit 130 determines that the packet is a normal packet, specifies the transfer destination registered in the transfer table, and transfers the packet to the output unit 120. On the other hand, if they match, the basic transfer function unit 130 selects and executes a process (action) registered in the transfer signature table for the packet. As processing contents of the accompanying conditions, typically, transfer to the DPI unit 140, execution of a predetermined process and transfer to the output unit 120, and the like may be set. When transferring a packet to the DPI unit 140, the basic transfer function unit 130 transfers the packet in parallel to each of the primary DPI unit 140-1 to the N-order DPI unit 140-N.

各DPI部140は、DPIシグネチャテーブル(図示せず)を有している。DPIシグネチャテーブルには、検索パターンとなる所定のビット長のビットシーケンスと、その検索パターンが検索されたパケットに対して実行すべき処理内容であるアクション(ACT)と、が登録されている。DPI部140は、基本転送機能部130から受信したパケットの各ペイロードに含まれる所定のビット長のビットシーケンスを抽出し、各自のDPIシグネチャテーブルに登録されている検索パターンのビットシーケンスに一致するかを判定する。一致しない場合、DPI部140は、そのパケットを基本転送機能部130に送り返し、出力部120を介し適切な転送先に転送する。他方、一致した場合、DPI部140は、そのパケットに対して、各自のDPIシグネチャテーブルに登録されている処理(アクション)を選択して実行する。この付随条件の処理内容としては、典型的には、パケット分析機能部150に転送する、所定の処理を実行して基本転送機能部130を介し出力部120に転送する、などが設定されてもよい。   Each DPI unit 140 has a DPI signature table (not shown). Registered in the DPI signature table are a bit sequence having a predetermined bit length as a search pattern and an action (ACT) which is a processing content to be executed on a packet in which the search pattern is searched. The DPI unit 140 extracts a bit sequence having a predetermined bit length included in each payload of the packet received from the basic transfer function unit 130, and matches the bit sequence of the search pattern registered in its own DPI signature table. Determine. If they do not match, the DPI unit 140 sends the packet back to the basic transfer function unit 130 and transfers the packet to an appropriate transfer destination via the output unit 120. On the other hand, if they match, the DPI unit 140 selects and executes a process (action) registered in its own DPI signature table for the packet. As processing contents of this incidental condition, typically, transfer to the packet analysis function unit 150, execution of predetermined processing and transfer to the output unit 120 via the basic transfer function unit 130, and the like are set. Good.

パケット分析機能部150は、パケット分析シグネチャテーブル(図示せず)を有している。パケット分析シグネチャテーブルには、検索パターンとなるビットシーケンスと、その検索パターンが検索されたパケットに対して実行すべき処理内容であるアクション(ACT)と、が登録されている。パケット分析機能部150は、DPI部140から受信したパケットの各ペイロードに含まれるビットシーケンスを抽出し、DPIシグネチャテーブルに登録されている検索パターンのビットシーケンスと一致するかを判定する。一致しない場合、パケット分析機能部150は、そのパケットを基本転送機能部130に送り返し、出力部120を介し適切な転送先に転送する。他方、一致した場合、パケット分析機能部150は、そのパケットに対して、パケット分析シグネチャテーブルに登録されている処理(アクション)を選択して実行する。この付随条件の処理内容としては、典型的には、パケットを破棄する、QoS(Quality of Service)を制御する、などが設定されてもよい。なお、パケット分析シグネチャテーブルには、検索パターンとして2以上のビットシーケンスを登録可能であるため、異なるビット長のビットシーケンスを登録することができる。   The packet analysis function unit 150 has a packet analysis signature table (not shown). In the packet analysis signature table, a bit sequence serving as a search pattern and an action (ACT) that is a processing content to be executed on a packet for which the search pattern is searched are registered. The packet analysis function unit 150 extracts a bit sequence included in each payload of the packet received from the DPI unit 140, and determines whether or not it matches the bit sequence of the search pattern registered in the DPI signature table. If they do not match, the packet analysis function unit 150 sends the packet back to the basic transfer function unit 130 and transfers it to an appropriate transfer destination via the output unit 120. On the other hand, if they match, the packet analysis function unit 150 selects and executes a process (action) registered in the packet analysis signature table for the packet. As processing contents of this accompanying condition, typically, discarding of a packet, control of QoS (Quality of Service), and the like may be set. Since two or more bit sequences can be registered as search patterns in the packet analysis signature table, bit sequences having different bit lengths can be registered.

しかし、第1の比較例の構成は、各部に分散した検索条件を多元的に管理する必要があり、各部の検索条件を矛盾なく設定する手間も大きなものとなる。
(2−1−2)第2の比較例のパケット解析装置
図3は、第2の比較例のパケット解析装置1100Bの構成を示す図である。
However, in the configuration of the first comparative example, it is necessary to manage search conditions distributed to each part in a multi-factorial manner, and it takes a lot of time to set the search conditions for each part consistently.
(2-1-2) Packet Analysis Device of Second Comparative Example FIG. 3 is a diagram illustrating a configuration of a packet analysis device 1100B of the second comparative example.

図3に示すように、第2の比較例のパケット解析装置1100Bは、第1の比較例と比べて、検索条件管理部160を追加している。   As shown in FIG. 3, the packet analysis device 1100B of the second comparative example has a search condition management unit 160 added as compared to the first comparative example.

なお、図3においては、図2と同様に、パケット分析機能部150だけでなく、基本転送機能部130および各DPI部140も、出力部120に接続されているものとする(以降の図4、図5、図8、および図9において同じ)。   3, not only the packet analysis function unit 150 but also the basic transfer function unit 130 and each DPI unit 140 are connected to the output unit 120 as in FIG. 2 (hereinafter, FIG. 4). , FIG. 5, FIG. 8, and FIG. 9).

検索条件管理部160は、基本転送機能部130、DPI部140、およびパケット分析機能部150の検索条件を統合的に管理する部分であり、これら検索条件を一元的に設定・変更することができる。   The search condition management unit 160 is a part that integrally manages the search conditions of the basic transfer function unit 130, the DPI unit 140, and the packet analysis function unit 150, and these search conditions can be set and changed centrally. .

各DPI部140には、検索パターンのビットシーケンスとして、固有のビット長のビットシーケンスが設定される。すなわち、1次DPI部140−1にはビット長mのビットシーケンスが設定され、2次DPI部140−2にはビット長mのビットシーケンスが設定され、・・・、N次DPI部140−1にはビット長mのビットシーケンスが設定される。例えば、i(1≦i≦Nの自然数)次DPI部140−iのビット長mが5であって(m=5)、検索パターンとしてビットシーケンス“abcde”が設定されている場合、i次DPI部140−iは、受信したパケットのペイロードに含まれるビット長5の各ビットシーケンスをチェックし、検索パターンのビットシーケンス“abcde”に一致するものがあるか判定する。 In each DPI unit 140, a bit sequence having a unique bit length is set as the bit sequence of the search pattern. That is, a bit sequence with a bit length m 1 is set in the primary DPI unit 140-1, a bit sequence with a bit length m 2 is set in the secondary DPI unit 140-2,... bit sequence having a bit length m N is set to 140-1. For example, when the bit length mi of the i (natural number of 1 ≦ i ≦ N) order DPI unit 140- i is 5 (m i = 5) and the bit sequence “abcde” is set as the search pattern, The i-th DPI unit 140-i checks each bit sequence having a bit length of 5 included in the payload of the received packet, and determines whether there is a match with the bit sequence “abcde” of the search pattern.

このように、各DPI部140に対しては、固有のビット長を設定し、設定したビット長のビットシーケンスのみを検索させる。すなわち、パケットのペイロードにおいて検索されるべき異なるビット長のビットシーケンス数に応じた数のDPI部140の数を設けることによって、複数種類の任意のビット長のビットシーケンスを高速かつ簡易に検索することが可能になる。例えば、パケットのペイロードにおいて検索されるべきビット長のビットシーケンスが3種類である場合(ビット長=32,64,128)、DPI部140は3段で構成される。   In this manner, each DPI unit 140 is set with a unique bit length, and only the bit sequence having the set bit length is searched. That is, by providing the number of DPI units 140 corresponding to the number of bit sequences having different bit lengths to be searched in the packet payload, a plurality of types of bit sequences having arbitrary bit lengths can be searched quickly and easily. Is possible. For example, when there are three types of bit sequences having a bit length to be searched in the packet payload (bit length = 32, 64, 128), the DPI unit 140 is configured in three stages.

検索条件管理部160は、基本転送機能部130、各DPI部140、およびパケット分析機能部150に対し、検索条件として検索パターンを設定し、また、これらの設定した値を必要に応じて変更することができる。ここで、基本転送機能部130に設定する検索パターンはヘッダの5タプルの値であり、DPI部140に設定する検索パターンはペイロードのビットシーケンス(ビット長m1〜N)の値であり、パケット分析機能部150に設定する検索パターンはペイロードのビットシーケンス(ビット長n)の値である。 The search condition management unit 160 sets a search pattern as a search condition for the basic transfer function unit 130, each DPI unit 140, and the packet analysis function unit 150, and changes these set values as necessary. be able to. Here, the search pattern set in the basic transfer function unit 130 is a 5-tuple value of the header, the search pattern set in the DPI unit 140 is the value of the payload bit sequence (bit length m 1 to N ), and the packet The search pattern set in the analysis function unit 150 is a value of the payload bit sequence (bit length n).

また、検索条件管理部160は、特に、DPI部140およびパケット分析機能部150に対しては、ペイロードのビット長、抽出位置、およびマスク長などの値を指定した抽出方法をプログラムから再定義し、その抽出方法を検索条件として設定することができる。この場合、例えば、DPI部140は、検索条件として設定された抽出方法を基に、パケットのペイロードから解析対象のビットシーケンスを抽出し、抽出したビットシーケンスが、検索条件として設定された検索パターンのビットシーケンスに一致するかを判定することになる。   The search condition management unit 160 redefines from the program an extraction method that specifies values such as the bit length, extraction position, and mask length of the payload, particularly for the DPI unit 140 and the packet analysis function unit 150. The extraction method can be set as a search condition. In this case, for example, the DPI unit 140 extracts the bit sequence to be analyzed from the payload of the packet based on the extraction method set as the search condition, and the extracted bit sequence is the search pattern set as the search condition. It will be determined whether it matches the bit sequence.

検索条件管理部160を設けることにより、各部に分散した検索条件間で一貫性を保つことができる。また、検出条件として抽出方法を設定することにより、解析しない実データをフィルタリングして、解析するビットシーケンスのみをDPI部140およびパケット分析機能部150に設定することができる。このように複数の検索条件を統合的に管理することにより、検索条件間の不整合を防ぎ、設定作業を省力化することが可能となる。   By providing the search condition management unit 160, it is possible to maintain consistency among the search conditions distributed in each unit. Further, by setting an extraction method as a detection condition, it is possible to filter actual data that is not analyzed, and set only the bit sequence to be analyzed in the DPI unit 140 and the packet analysis function unit 150. Thus, by managing a plurality of search conditions in an integrated manner, inconsistencies between search conditions can be prevented and setting work can be saved.

パケット分析機能部150における検索パターンであるビットシーケンスは、典型的には、DPI部140における検索条件であるビットシーケンスのビット長mよりも大きなビット長nが設定される(m<n)。すなわち、相対的に短いビットシーケンスはDPI部140により検索され、相対的に長いビットシーケンスはパケット分析機能部150により検索されることになる。相対的に短いビットシーケンスは、一定長のパケットにより多く含まれるため、検索時に検索パターンのビットシーケンスとの一致判定回数が増大し、計算量が大きくなる。検索条件管理部160は、このような相対的に短いビットシーケンスの検索処理をDPI部140に任せ、パケット分析機能部150の処理負荷を低減する。   The bit sequence that is the search pattern in the packet analysis function unit 150 is typically set to a bit length n that is larger than the bit length m of the bit sequence that is the search condition in the DPI unit 140 (m <n). That is, a relatively short bit sequence is searched by the DPI unit 140, and a relatively long bit sequence is searched by the packet analysis function unit 150. Since a relatively short bit sequence is more often included in a fixed-length packet, the number of matching determinations with the bit pattern of the search pattern increases during search, and the amount of calculation increases. The search condition management unit 160 leaves such a relatively short bit sequence search process to the DPI unit 140 to reduce the processing load on the packet analysis function unit 150.

また、パケット解析装置1100Bが未解析のパケットを受信した場合、比較的複雑な検索条件に対応できるパケット分析機能部150でパケットを順次解析し、その解析により特定した検索条件を基本転送機能部130およびDPI部140に自動的に設定するように検索条件管理部160が制御することにより、未知の通信フローの未解析のパケットに対しても、パケット転送制御が可能となる。   Further, when the packet analysis apparatus 1100B receives an unanalyzed packet, the packet analysis function unit 150 that can deal with a relatively complicated search condition sequentially analyzes the packet, and the search condition specified by the analysis is determined as the basic transfer function unit 130. The search condition management unit 160 controls to automatically set the DPI unit 140 so that packet transfer control can be performed even for an unanalyzed packet of an unknown communication flow.

DPI部140は、典型的にはCPU(Central Processing Unit)とメモリとを備える個別のDPIプロセッサから構成され、互いに独立して動作可能である。また、DPI部140は、DPI部140とパケット分析機能部150とのロードバランスを考慮して、必要に応じて増設されてもよい。   The DPI unit 140 is typically composed of individual DPI processors including a CPU (Central Processing Unit) and a memory, and can operate independently of each other. The DPI unit 140 may be added as necessary in consideration of the load balance between the DPI unit 140 and the packet analysis function unit 150.

しかし、DPI部140を必要に応じて増設する場合、デバイスの構成方法によってパケット解析装置1100Bの処理性能および消費電力が大きく異なってしまう。
(2−1−3)第3の比較例のパケット解析装置
図4は、第3の比較例のパケット解析装置1100Cの構成を示す図である。
However, when the DPI unit 140 is added as necessary, the processing performance and power consumption of the packet analysis device 1100B vary greatly depending on the device configuration method.
(2-1-3) Packet Analysis Device of Third Comparative Example FIG. 4 is a diagram illustrating a configuration of a packet analysis device 1100C of the third comparative example.

図4に示すように、第3の比較例のパケット解析装置1100Cは、第2の比較例と比べて、検索条件管理部160を削除し、また、1次DPI部140−1〜N次DPI部140−Nをネットワークプロセッサで構成し、また、1次DPI部140−1〜N次DPI部140−Nにそれぞれ対応する、基本命令部170−1〜170−N(以下、どの基本命令部であるかを特定しないときは基本命令部170と称する)および汎用命令部180−1〜180−N(以下、どの汎用命令部であるかを特定しないときは汎用命令部180と称する)を設けている。   As illustrated in FIG. 4, the packet analysis apparatus 1100C of the third comparative example deletes the search condition management unit 160 and compares the primary DPI unit 140-1 to the N-th order DPI as compared to the second comparative example. Unit 140-N is composed of a network processor, and basic instruction units 170-1 to 170-N (hereinafter, which basic instruction units correspond to primary DPI unit 140-1 to N-order DPI unit 140-N, respectively). And general-purpose instruction units 180-1 to 180-N (hereinafter, referred to as general-purpose instruction unit 180 when not specifying which general-purpose instruction unit). ing.

DPI部140を構成するネットワークプロセッサ内は、典型的には、パケット処理に適したアーキテクチャで構成される。パケット処理を行うネットワークプロセッサとしては、多数のパケットを蓄積するためのパケットバッファ、検索パターンとの一致検索を高速に実行するためのTCAM、主記憶部、キャッシュ、および、これらに保持されるパケットに対して後述する基本命令部170および汎用命令部180から与えられた命令を演算するために1以上の演算コアを有するものが多い。   The network processor constituting the DPI unit 140 is typically configured with an architecture suitable for packet processing. As a network processor that performs packet processing, there are a packet buffer for storing a large number of packets, a TCAM for executing a search for matching with a search pattern at high speed, a main storage unit, a cache, and packets held in these. On the other hand, many have one or more calculation cores for calculating instructions given from a basic instruction section 170 and a general-purpose instruction section 180 described later.

基本命令部170は、DPI部140をプロセッサとして動作させるために必要な最小限の基本命令の命令セット、すなわち典型的には、四則演算、算術演算、論理演算、比較、ロードストア、シフト、および条件分岐などの命令群を有し、これらをDPI部140に与える。これらの基本命令の形式および言語処理系はネットワークプロセッサによって区々であるが、これらの基本命令の中には、どのようなネットワークプロセッサでも基本機能として備える共通的な命令が多く含まれる。   The basic instruction unit 170 is an instruction set of a minimum basic instruction necessary to operate the DPI unit 140 as a processor, that is, typically four arithmetic operations, arithmetic operations, logical operations, comparisons, load stores, shifts, and An instruction group such as a conditional branch is included, and these are given to the DPI unit 140. The format and language processing system of these basic instructions vary depending on the network processor, but these basic instructions include many common instructions provided as basic functions in any network processor.

汎用命令部180は、IPネットワークにおけるパケット処理向けに汎用的に利用できる機能を実現するために必要な汎用命令の命令セット、すなわち典型的には、MAC(Media Access Control address)、IPv4(Internet Protocol version 4)、IPv6(Internet Protocol version 6)、TCP(Transmission Control Protocol)、およびUDP(User Datagram Protocol)などのヘッダ演算、MPLS(Multi Protocol Label Switching)、QinQ(Queue−in−Queue)、およびGRE(General Routing Encapsulation)などのカプセル化演算、チェックサムやCRC(Cyclic Redundancy Check)などのエラーチェック演算などの命令群を有し、これらをDPI部140に与える。これらパケット処理向け汎用命令の形式および言語処理系はネットワークプロセッサによって区々であるが、これらの汎用命令の中には、どのような品種のネットワークプロセッサでも基本機能として備える共通的な命令が多く含まれる。   The general-purpose command unit 180 is a command set of general-purpose commands necessary for realizing a function that can be used universally for packet processing in an IP network, that is, typically, a media access control address (MAC), an IPv4 (Internet Protocol). header operations such as version 4), IPv6 (Internet Protocol version 6), TCP (Transmission Control Protocol), and UDP (User Datagram Protocol) (MPR (Multi Protocol QuinQ), MPLS (Q) (General Routing Encapsul tion) encapsulation operations, such as having a set of instructions such as error checking operations, such as checksum or CRC (Cyclic Redundancy Check), giving them to the DPI 140. The formats and language processing systems of these general-purpose instructions for packet processing vary depending on the network processor, but these general-purpose instructions include many common instructions that are provided as basic functions for any type of network processor. It is.

図4に示した第3の比較例の構成は、パケット処理に適した内部構造と汎用的に利用できる命令セットとにより、DPI部140においても、一定水準の処理性能を得ることができる。しかし、非特許文献2に示されるように、高性能なネットワークプロセッサの消費電力は一般にチップあたり数十ワット以上であるため、DPI部140の並列度Nが上がるにつれてDPI部140の消費電力が増大する。また、第3の比較例の構成は、検索条件管理部160を持たないため、各部に分散した検索条件を多元的に管理する必要があり、各部の検索条件を矛盾なく設定する手間も大きなものとなる。さらに、ネットワークプロセッサは、DPI処理以外のネットワーク処理にも汎用的に使用可能な大規模な論理回路を搭載しており、チップサイズも数十ミリ角と大きなものとなるため、パケット解析装置1100Cの高密度化が困難となる。したがって、複数のネットワークプロセッサを用いて階層化フロー識別機能を実現することは経済的ではない。
(2−2)本発明のパケット解析装置
続いて、本発明のパケット解析装置の実施形態について説明する。
(2−2−1)本発明の第1の実施形態のパケット解析装置
図5は、第1の実施形態のパケット解析装置11Aの構成を示す図である。
The configuration of the third comparative example shown in FIG. 4 can obtain a certain level of processing performance even in the DPI unit 140 by using an internal structure suitable for packet processing and a general-purpose instruction set. However, as shown in Non-Patent Document 2, since the power consumption of a high-performance network processor is generally several tens of watts or more per chip, the power consumption of the DPI unit 140 increases as the parallelism N of the DPI unit 140 increases. To do. In addition, since the configuration of the third comparative example does not have the search condition management unit 160, it is necessary to manage the search conditions distributed to each part in a multi-dimensional manner, and it takes a lot of trouble to set the search conditions for each part consistently. It becomes. Furthermore, the network processor is equipped with a large-scale logic circuit that can be used for general network processing other than DPI processing, and the chip size is as large as several tens of millimeters square. Densification becomes difficult. Therefore, it is not economical to realize a hierarchical flow identification function using a plurality of network processors.
(2-2) Packet Analysis Device of the Present Invention Next, an embodiment of the packet analysis device of the present invention will be described.
(2-2-1) Packet Analysis Device According to First Embodiment of the Present Invention FIG. 5 is a diagram illustrating a configuration of a packet analysis device 11A according to the first embodiment.

図5に示すように、第1の実施形態のパケット解析装置11Aは、第3の比較例と比べて、1次DPI部140−1〜N次DPI部140−Nを専用組込みプロセッサで構成し、また、検索条件管理部160を追加し、また、汎用命令部180−1〜180−Nの代わりに、専用命令部190−1〜190−N(以下、どの専用命令部であるかを特定しないときは専用命令部190と称する)を設けている。   As shown in FIG. 5, the packet analysis device 11A according to the first embodiment is configured by configuring the primary DPI unit 140-1 to the N-th order DPI unit 140-N with dedicated embedded processors as compared with the third comparative example. In addition, the search condition management unit 160 is added, and the dedicated command units 190-1 to 190-N (hereinafter, which dedicated command unit is specified) instead of the general command units 180-1 to 180-N When not, it is referred to as a dedicated instruction unit 190).

DPI部140を構成する専用組込みプロセッサ内は、典型的には、オーソドックスなパイプライン構造を備えるRISC(Reduced Instruction Set Computer)アーキテクチャで構成される。初期的には、ネットワークプロセッサのように大規模なパケットバッファ、TCAM、主記憶部、およびキャッシュなどは有しておらず、また、パケット処理向けに汎用的に利用できる汎用命令部は有しておらず、DPI部140をプロセッサとして動作させるために必要な最小限の基本命令を実行する要素のみを備える。このようにプリミティブな組込みプロセッサを、用途に応じて特定用途向けに専用化できるASIP(Application Specific Instruction−set Processor)設計手法が一般に知られている。上述したように、ある程度ベースとなるプロセッサ構成が規定されており、特定用途向けに専用命令の設計やデータパスの拡張を許容する手法から、ほぼフルスクラッチで演算コアを設計できる手法まで、手法によって設計手順は区々であるが、単一プロセッサからマルチプロセッサまで処理性能および消費電力を最適化しながら所望の機能を実現することができる。また、必要に応じて後からバッファ、キャッシュ、およびTCAMを増設してもよい。   The dedicated embedded processor constituting the DPI unit 140 is typically configured with a RISC (Reduced Instruction Set Computer) architecture having an orthodox pipeline structure. Initially, it does not have a large-scale packet buffer, TCAM, main memory, cache, etc. unlike a network processor, and has a general-purpose command part that can be used for packet processing. In addition, only elements that execute the minimum basic instructions necessary for operating the DPI unit 140 as a processor are provided. In general, an ASIP (Application Specific Instruction-set Processor) design method that can dedicate a primitive embedded processor for a specific application according to the application is known. As mentioned above, the processor configuration that is based on a certain level is specified, depending on the method, from the method that allows the design of dedicated instructions and the expansion of the data path for specific applications to the method that can design the arithmetic core with almost full scratches. Although the design procedure varies, a desired function can be realized while optimizing the processing performance and power consumption from a single processor to a multiprocessor. Moreover, you may add a buffer, a cache, and TCAM later as needed.

検索条件管理部160は、図3に示したものと同様であるため説明を割愛する。   The search condition management unit 160 is the same as that shown in FIG.

基本命令部170は、構成としては図4に示したネットワークプロセッサ用のものと同様である。すなわち、基本命令部170は、DPI部140をプロセッサとして動作させるために必要な最小限の基本命令の命令セット、すなわち典型的には、四則演算、算術演算、論理演算、比較、ロードストア、シフト、および条件分岐などの命令群を有し、これらをDPI部140に与える。これらの基本命令の形式および言語処理系は組込みプロセッサによって区々であるが、これらの基本命令の中には、どのような組込みプロセッサでも基本機能として備える共通的な命令が多く含まれる。   The basic command unit 170 has the same configuration as that for the network processor shown in FIG. That is, the basic instruction unit 170 is an instruction set of a minimum basic instruction necessary for operating the DPI unit 140 as a processor, that is, typically four arithmetic operations, arithmetic operations, logical operations, comparisons, load stores, shifts. , And an instruction group such as a conditional branch, and these are given to the DPI unit 140. The types and language processing systems of these basic instructions vary depending on the embedded processor, but these basic instructions include many common instructions provided as basic functions in any embedded processor.

専用命令部190は、図4に示したネットワークプロセッサ用の汎用命令部180とは異なる。専用命令部190は、IPネットワークにおけるパケット処理向けに汎用的に利用できる機能を実現するために必要な汎用命令の命令セットを持たない代わりに、DPI部140を実現するために必要な専用命令の命令セット、最適化された演算器、およびデータパスによって構成することができる。非特許文献3には、ASIP設計手法を用いた、粗粒度方式のパケット走査機能を有する専用組込みプロセッサの概要構成が開示されている。専用命令部190の上記構成は、非特許文献3に開示されたASIP設計手法を適用することで実現可能になる。そのため、DPI部140におけるパケット解析処理を極小サイクル数で実行することが可能となる。したがって、DPI部140は不要な機能やハードウェアを一切持つ必要がなくなり、小規模な論理回路で高密度な実装が可能となる。また、アプリケーションによっては、組込みプロセッサあたりの消費電力を高々数百ミリワット以下で構成できるため、DPI部140の並列度Nが上がったとしても、DPI部140の消費電力を、ネットワークプロセッサでDPI部140を構成する場合と比較して、百分の1程度に抑えることが可能となる。   The dedicated instruction unit 190 is different from the general-purpose instruction unit 180 for the network processor shown in FIG. The dedicated instruction unit 190 does not have a general-purpose instruction set necessary for realizing a function that can be used for general purposes for packet processing in the IP network, but instead of a dedicated instruction necessary for realizing the DPI unit 140. It can be composed of an instruction set, an optimized arithmetic unit, and a data path. Non-Patent Document 3 discloses a schematic configuration of a dedicated embedded processor having a coarse-grained packet scanning function using an ASIP design method. The above configuration of the dedicated instruction unit 190 can be realized by applying the ASIP design method disclosed in Non-Patent Document 3. Therefore, the packet analysis process in the DPI unit 140 can be executed with the minimum number of cycles. Therefore, the DPI unit 140 does not need to have any unnecessary functions and hardware, and high-density mounting is possible with a small-scale logic circuit. Further, depending on the application, the power consumption per embedded processor can be configured to be several hundred milliwatts or less, so even if the parallelism N of the DPI unit 140 is increased, the power consumption of the DPI unit 140 is reduced by the DPI unit 140 using the network processor. As compared with the case of configuring the above, it is possible to suppress to about one hundredth.

なお、専用命令部190は、対応するDPI部140上の命令用RAM(Random Access Memory。図示せず)に保持される。   The dedicated instruction unit 190 is held in a command RAM (Random Access Memory (not shown)) on the corresponding DPI unit 140.

図6は、専用命令部190の構成を示す図である。なお、図6は、専用命令部190の演算器の部分の構成を示している。   FIG. 6 is a diagram illustrating a configuration of the dedicated instruction unit 190. FIG. 6 shows the configuration of the arithmetic unit of the dedicated instruction unit 190.

図6に示すように、専用命令部190は、シグネチャ演算部191と、シグネチャ設定部192と、シグネチャ照合部193と、アクション選択部194と、を有している。   As illustrated in FIG. 6, the dedicated instruction unit 190 includes a signature calculation unit 191, a signature setting unit 192, a signature collation unit 193, and an action selection unit 194.

なお、図6に示した専用命令部190内の各構成要素の動作は、以下の図7の説明の中で詳細に説明する。   The operation of each component in the dedicated command unit 190 shown in FIG. 6 will be described in detail in the following description of FIG.

図7は、第1の実施形態のパケット解析装置11Aにおけるパケット解析方法を表すシーケンス図である。なお、図7に示したパケット解析方法は、非特許文献3には非開示である。   FIG. 7 is a sequence diagram illustrating a packet analysis method in the packet analysis device 11A of the first embodiment. The packet analysis method shown in FIG. 7 is not disclosed in Non-Patent Document 3.

図7に示したパケット解析方法は、検索条件設定ステップS101と、検索条件更新ステップS102と、シグネチャ演算ステップS103と、シグネチャ設定ステップS104と、シグネチャ更新ステップS105と、シグネチャ演算ステップS106と、シグネチャ照合ステップS107と、一致判定ステップS108と、アクション選択ステップS109と、を有している。   The packet analysis method shown in FIG. 7 includes a search condition setting step S101, a search condition update step S102, a signature calculation step S103, a signature setting step S104, a signature update step S105, a signature calculation step S106, and a signature verification Step S107, match determination step S108, and action selection step S109 are included.

ステップS101においては、検索条件管理部160は、基本転送機能部130、各i次DPI部140−i、およびパケット分析機能部150に対し、ユーザが所望する検索条件を設定し、その検索条件を登録するよう指示する。   In step S101, the search condition management unit 160 sets search conditions desired by the user for the basic transfer function unit 130, each i-th order DPI unit 140-i, and the packet analysis function unit 150, and sets the search conditions. Instruct to register.

このとき、検索条件管理部160は、基本転送機能部130、各i次DPI部140−i、およびパケット分析機能部150に対しては、検索パターンを検索条件として設定する。具体的には、検索条件管理部160は、検索パターンとして、基本転送機能部130に対してはヘッダの5タプルの値を設定し、各i次DPI部140−iに対してはペイロードのビットシーケンス(ビット長m1〜N)の値を設定し、パケット分析機能部150に対してはペイロードのビットシーケンス(ビット長n)の値を設定する。 At this time, the search condition management unit 160 sets a search pattern as a search condition for the basic transfer function unit 130, each i-th order DPI unit 140-i, and the packet analysis function unit 150. Specifically, the search condition management unit 160 sets a 5-tuple value of the header for the basic transfer function unit 130 as a search pattern, and a payload bit for each i-th order DPI unit 140-i. The value of the sequence (bit length m 1 to N ) is set, and the value of the bit sequence (bit length n) of the payload is set for the packet analysis function unit 150.

また、検索条件管理部160は、i次DPI部140−iおよびパケット分析機能部150に対しては、上記の検索パターンと共に抽出方法を検索条件として設定する。具体的には、検索条件管理部160は、抽出方法として、プログラムから再定義した、ペイロードのビット長L、ビットシーケンスの抽出位置を指定するオフセット値O、およびマスク長Mの値を設定する。なお、通信フローのパケットから、ビット長L、オフセット値O、およびマスク長Mで指定された抽出方法を基にビットシーケンスを抽出する動作については後述する。   The search condition management unit 160 sets the extraction method as a search condition together with the above search pattern for the i-th DPI unit 140-i and the packet analysis function unit 150. Specifically, the search condition management unit 160 sets the value of the payload bit length L, the offset value O that specifies the extraction position of the bit sequence, and the mask length M, which are redefined from the program, as the extraction method. The operation of extracting the bit sequence from the communication flow packet based on the extraction method specified by the bit length L, the offset value O, and the mask length M will be described later.

ステップS102においては、i次DPI部140−iは、自身のデータ用RAM(図示せず)に保持している現在の検索条件の値を、検索条件管理部160によりステップS101で設定された検索条件の値と比較し、変更があれば、データ用RAMに保持している検索条件の値を更新する。   In step S102, the i-th DPI unit 140-i uses the search condition management unit 160 to set the current search condition value held in its own data RAM (not shown) in step S101. Compared with the value of the condition, if there is a change, the value of the search condition held in the data RAM is updated.

ステップS103においては、専用命令部190−iのシグネチャ演算部191は、i次DPI部140−iで更新された検索条件に検索パターンとして含まれるビット長mのビットシーケンスのシグネチャを演算する。シグネチャは、ビットシーケンスの特徴をビット列で表現したものであり、通信フローにおいて実際に解析するパケット内の解析対象のビットシーケンス(以下、フローと表記)が、検索パターンのビットシーケンス(以下、パターンと表記)に一致するかの検索を高速に実行するために演算される。具体的なシグネチャとしては、一般に広く用いられるハッシュ値を用いることができるが、非特許文献3に開示されている粗粒度方式の演算手段を用いて演算した値であってもよい。 In step S103, the signature computation unit 191 of the dedicated instruction unit 190-i computes a signature bit sequences having a bit length m i included in the search condition is updated in the i-th order DPI unit 140-i as a search pattern. The signature represents the characteristics of the bit sequence as a bit string, and the bit sequence to be analyzed in the packet actually analyzed in the communication flow (hereinafter referred to as “flow”) is the bit sequence of the search pattern (hereinafter referred to as “pattern”). Is calculated in order to perform a high-speed search. As a specific signature, a hash value that is widely used can be used, but it may be a value calculated using a coarse-grained calculation means disclosed in Non-Patent Document 3.

ステップS104においては、専用命令部190−iのシグネチャ設定部192は、ステップS103で演算されたシグネチャ(パターン)をi次DPI部140−iに設定し、そのシグネチャ(パターン)を登録するよう指示する。   In step S104, the signature setting unit 192 of the dedicated instruction unit 190-i instructs the i-th DPI unit 140-i to set the signature (pattern) calculated in step S103 and register the signature (pattern). To do.

ステップS105においては、i次DPI部140−iは、専用命令部190−iによりステップS104で登録を指示されたシグネチャ(パターン)を、自身のDPIシグネチャテーブルに登録し、自身のDPIシグネチャテーブルに検索パターンとして登録されたシグネチャ(パターン)を更新する。DPIシグネチャテーブルは、検索条件の値と同様に、自身のデータ用RAMに保持される。   In step S105, the i-th DPI unit 140-i registers the signature (pattern) instructed to be registered in step S104 by the dedicated instruction unit 190-i in its own DPI signature table, and stores it in its own DPI signature table. The signature (pattern) registered as the search pattern is updated. The DPI signature table is held in its own data RAM, as is the value of the search condition.

以降、ステップS101〜S105を繰り返し、所望の数のシグネチャ(パターン)の登録が済んだ時点で、パケット解析装置11Aの事前設定が完了する。   Thereafter, steps S101 to S105 are repeated, and when the desired number of signatures (patterns) has been registered, the presetting of the packet analysis device 11A is completed.

ステップS106以降の手順は、パケット解析装置11Aを通信フローが通過するごとに発生する手順である。   The procedure after step S106 is a procedure that occurs every time the communication flow passes through the packet analysis device 11A.

ステップS106においては、専用命令部190−iのシグネチャ演算部191は、基本転送機能部130からの通信フローのパケットがi次DPI部140−iで受信されると、i次DPI部140−iによりステップS102で更新された検索条件に含まれる抽出方法を基に、受信されたパケットから解析対象のビットシーケンスを抽出する。   In step S106, when the packet of the communication flow from the basic transfer function unit 130 is received by the i-th order DPI unit 140-i, the signature calculation unit 191 of the dedicated instruction unit 190-i receives the i-th order DPI unit 140-i. Based on the extraction method included in the search condition updated in step S102, the bit sequence to be analyzed is extracted from the received packet.

具体的には、専用命令部190−iのシグネチャ演算部191は、まず、ビット長Lおよびオフセット値Oを基に、パケットのペイロードにおけるオフセット値Oで指定される位置から、ビット長L分のビットシーケンスを、解析対象の基底となるビットシーケンスとして抽出する。ビット長Lはワード単位で所定の長さが指定可能である。例えば、32ビットを1ワードとしてもよいし、64ビットや128ビットを1ワードとしてもよい(L=32,64,128)。オフセット値Oはビット単位で指定される。次に、シグネチャ演算部191は、マスク長Mを基に、上記で抽出された解析対象の基底となるビットシーケンスから、詳細な解析対象のビットシーケンスをビット単位で抽出する。例えば、上記で32ビット基底のビットシーケンス01010101010101010101010101010101が抽出されていた状態で、先頭8ビットのみを解析する場合、マスクデータは11111111000000000000000000000000(M=8)となり、この先頭の8ビットのビットシーケンス01010101が解析対象のビットシーケンスの具体値となる。このようにして、解析しない実データをフィルタリングし、解析するビット長mのビットシーケンスのみを解析対象として抽出することができる。 Specifically, the signature calculation unit 191 of the dedicated instruction unit 190-i firstly, based on the bit length L and the offset value O, from the position specified by the offset value O in the packet payload, the bit length L. A bit sequence is extracted as a base bit sequence to be analyzed. The bit length L can be specified as a predetermined length in words. For example, 32 bits may be one word, or 64 bits or 128 bits may be one word (L = 32, 64, 128). The offset value O is specified in bit units. Next, based on the mask length M, the signature calculation unit 191 extracts a detailed bit sequence to be analyzed in bit units from the bit sequence that is the basis of the analysis target extracted above. For example, when only the first 8 bits are analyzed in the state where the 32-bit-based bit sequence 01010101010101010101010101010101 is extracted as described above, the mask data is 111111111000000000000000000000 (M = 8), and the first 8-bit bit sequence 01010101 is analyzed. This is a specific value of the target bit sequence. In this way, it is possible to extract and filter the real data without analyzing, only the bit sequence of the bit length m i to be analyzed as an analysis target.

ステップS106においては、専用命令部190−iのシグネチャ演算部191は、さらに、パケットから抽出した解析対象のビットシーケンスのシグネチャ(フロー)をステップS103と同様の手順で演算する。   In step S106, the signature calculation unit 191 of the dedicated instruction unit 190-i further calculates the signature (flow) of the analysis target bit sequence extracted from the packet in the same procedure as in step S103.

ステップS107においては、専用命令部190−iのシグネチャ照合部193は、ステップS106で演算されたシグネチャ(フロー)を、ステップS105で更新されたDPIシグネチャテーブル内のシグネチャ(パターン)と照合する。   In step S107, the signature collation unit 193 of the dedicated instruction unit 190-i collates the signature (flow) calculated in step S106 with the signature (pattern) in the DPI signature table updated in step S105.

ステップS108においては、専用命令部190−iのシグネチャ照合部193は、ステップS105で更新されたシグネチャ(パターン)に、ステップS106で演算されたシグネチャ(フロー)が一致するかを判定する。一致するシグネチャ(パターン)がない場合(S108:N)、シグネチャ照合部193は、パケットを基本転送機能部130に送り返し、出力部120を介し適切な転送先に転送する。他方、一致するシグネチャ(パターン)がある場合(S108:Y)、ステップS109に移行する。   In step S108, the signature collation unit 193 of the dedicated instruction unit 190-i determines whether the signature (flow) calculated in step S106 matches the signature (pattern) updated in step S105. If there is no matching signature (pattern) (S108: N), the signature verification unit 193 sends the packet back to the basic transfer function unit 130 and transfers it to an appropriate transfer destination via the output unit 120. On the other hand, if there is a matching signature (pattern) (S108: Y), the process proceeds to step S109.

ステップS109においては、専用命令部190−iのアクション選択部194は、DPIシグネチャテーブルを参照して、一致したシグネチャ(パターン)に対応する処理内容(アクション)を選択し、選択された処理をパケットに対して実行した後、そのパケットを後段のパケット分析機能部150に転送する。   In step S109, the action selection unit 194 of the dedicated instruction unit 190-i refers to the DPI signature table, selects the processing content (action) corresponding to the matched signature (pattern), and packetizes the selected processing. The packet is transferred to the packet analysis function unit 150 in the subsequent stage.

第1の実施形態のDPIシグネチャテーブルには、検索パターンとなるビット長mのビットシーケンスのシグネチャと、そのシグネチャが検索されたパケットに対して実行すべき処理内容であるアクション(ACT)と、が登録されている。例えば、DPIシグネチャテーブルには、ビット長xのビットシーケンス「“a・・・a”→ACT=“fff”」が登録される。この場合、解析対象のビットシーケンスが“a・・・a”である場合、付随条件である処理“ggg”が実行されることを表している。 The DPI signature table according to the first embodiment, the signature sequence of bits of the bit length m i as a search pattern, an action (ACT) is a processing content to be performed on that signature is search packet, Is registered. For example, the bit sequence ““ a 1 a 2 ... A m ”→ ACT =“ fff ”” having a bit length x is registered in the DPI signature table. In this case, when the bit sequence to be analyzed is “a 1 a 2 ... A m ”, this indicates that the process “ggg” that is an accompanying condition is executed.

上述したように第1の実施形態においては、シグネチャ(フロー)とシグネチャ(パターン)との照合がi次DPI部140−iの各部で並列的に実行され、適切な処理内容(アクション)が選択される。また、各i次DPI部140−iおよび各専用命令部190−iが実行する上記の各ステップのうち、ステップS103〜S109は、パケット解析においてとくに計算頻度の大きな処理であるが、第1の実施形態の構成によれば、パケット解析の各処理を高々1〜2サイクルの極小サイクル数で実行することができる。上記の低遅延な処理を可能する技術としては、非特許文献3に開示された、専用命令によるハッシュ計算の低遅延化が挙げられる。この場合、ハッシュ値がシグネチャに相当する。また、非特許文献3に開示されたASIP設計手法を用いて、専用命令部190−iをハッシュ演算専用の演算器およびデータパスによって構成することにより、1〜2サイクルで処理可能な命令を設計することができる。したがって、本発明の第1の実施形態の構成により、高速なフロー識別およびパケット転送制御を実現することができる。
(2−2−2)本発明の第2の実施形態のパケット解析装置
第2の実施形態のパケット解析装置11Bは、そのパケット解析方法については図7に示したシーケンス図と同じであるため説明を割愛し、以下では主に図5に示した第1の実施形態のパケット解析装置11Aとの構成上の差異について説明する。
As described above, in the first embodiment, the matching of the signature (flow) and the signature (pattern) is executed in parallel in each part of the i-th DPI unit 140-i, and an appropriate processing content (action) is selected. Is done. Of the above steps executed by each i-th order DPI unit 140-i and each dedicated instruction unit 190-i, steps S103 to S109 are processes with a particularly high calculation frequency in packet analysis. According to the configuration of the embodiment, each process of packet analysis can be executed with a minimum number of cycles of 1 to 2 cycles. As a technique that enables the low-delay processing described above, there is a reduction in the hash calculation by a dedicated instruction disclosed in Non-Patent Document 3. In this case, the hash value corresponds to the signature. In addition, by using the ASIP design method disclosed in Non-Patent Document 3, the dedicated instruction unit 190-i is configured with an arithmetic unit and a data path dedicated to hash calculation, thereby designing an instruction that can be processed in one to two cycles. can do. Therefore, high-speed flow identification and packet transfer control can be realized by the configuration of the first embodiment of the present invention.
(2-2-2) Packet analysis apparatus according to the second embodiment of the present invention The packet analysis apparatus 11B according to the second embodiment has the same packet analysis method as the sequence diagram shown in FIG. In the following, differences in configuration from the packet analysis apparatus 11A of the first embodiment shown in FIG. 5 will be mainly described.

図8は、第2の実施形態のパケット解析装置11Bの構成を示す図である。   FIG. 8 is a diagram illustrating a configuration of the packet analysis device 11B according to the second embodiment.

図8に示すように、第2の実施形態のパケット解析装置11Bは、N個のDPI部140をそれぞれ構成するN個の専用組込みプロセッサを、単一チップに集積している。   As shown in FIG. 8, in the packet analysis device 11B of the second embodiment, N dedicated embedded processors that respectively configure the N DPI units 140 are integrated on a single chip.

すなわち、図5に示した第1の実施形態のパケット解析装置11Aは、N個のDPI部140をそれぞれ構成するN個の専用組込みプロセッサを個々に独立させたマルチチップ構成であった。これに対して、図8に示した第2の実施形態のパケット解析装置11Bは、N個のDPI部140をそれぞれ構成するN個の専用組込みプロセッサを集積し、単一チップのマルチコアのプロセッサとして構成している点が特徴となる。このような構成とすることにより、第2の実施形態のパケット解析装置11Bは、第1の実施形態のパケット解析装置11Bと比べて、DPI部140の実装密度や電力性能比(消費電力に対する処理性能の比率)をより一層高めることが期待できる。   That is, the packet analysis apparatus 11A of the first embodiment shown in FIG. 5 has a multichip configuration in which N dedicated embedded processors that respectively configure the N DPI units 140 are made independent. On the other hand, the packet analysis device 11B of the second embodiment shown in FIG. 8 integrates N dedicated embedded processors that respectively configure the N DPI units 140, and serves as a single-chip multi-core processor. The point which comprises is a feature. By adopting such a configuration, the packet analysis device 11B of the second embodiment has a higher mounting density and power performance ratio (processing for power consumption) of the DPI unit 140 than the packet analysis device 11B of the first embodiment. It can be expected that the performance ratio) will be further increased.

また、DPIシグネチャテーブルを保持する記憶領域に関して、第1の実施形態のパケット解析装置11Aでは、DPI部140の各自のDPIシグネチャテーブルは、物理的に固有のデータ用RAM(図示せず)に分割されていた。これに対して、第2の実施形態のパケット解析装置11Bでは、各DPI部140に物理的に同一のデータ用RAM(図示せず)を接続し、このデータ用RAMを各DPI部140が共有する。このような構成とする場合、多ポートの共有メモリ(図示せず)の各ポートに各DPI部140を接続し、データの破壊を防ぐために共有メモリをバンクに分割し、上記のステップS104〜S105をメモリコントローラ(図示せず)に制御させ、各自のDPIシグネチャテーブルを保持する記憶領域を構成すればよい。   Further, regarding the storage area holding the DPI signature table, in the packet analysis device 11A of the first embodiment, each DPI signature table of the DPI unit 140 is divided into physically unique data RAMs (not shown). It had been. On the other hand, in the packet analysis device 11B of the second embodiment, physically the same data RAM (not shown) is connected to each DPI unit 140, and each DPI unit 140 shares this data RAM. To do. In such a configuration, each DPI unit 140 is connected to each port of a multi-port shared memory (not shown), the shared memory is divided into banks in order to prevent data destruction, and the above steps S104 to S105 are performed. It is sufficient to control a memory controller (not shown) to configure a storage area that holds each DPI signature table.

基本命令部170および専用命令部190の構成も変更される。第1の実施形態のパケット解析装置11Aでは、各DPI部140に1組の基本命令部170および専用命令部190が付属する構成であった。これに対して、第2の実施形態のパケット解析装置11Bでは、単一チップのマルチコア構成となるため、DPI部140全体で1組の基本命令部170と専用命令部190で構わない。これは、別途マルチコアに対応した言語処理系を組み込むことにより実現することができる。   The configurations of the basic command unit 170 and the dedicated command unit 190 are also changed. In the packet analysis device 11A of the first embodiment, each DPI unit 140 has a configuration in which a set of basic command unit 170 and a dedicated command unit 190 are attached. On the other hand, since the packet analysis apparatus 11B of the second embodiment has a single-chip multi-core configuration, the DPI unit 140 as a whole may include one set of basic instruction unit 170 and dedicated instruction unit 190. This can be realized by separately incorporating a language processing system corresponding to the multi-core.

さらに、第1の実施形態のパケット解析装置11Aの構成と第2の実施形態のパケット解析装置11Bの構成とを折衷させるようなDPI部140を構成することも可能である。すなわち、マルチチップ構成における各DPI部140をマルチコア構成にしてもよい。上述してきたような複数の構成態様は、DPI部140における処理性能、消費電力、実装密度、メンテナンス性など各種要件を考慮して決定すればよく、種々の変形および応用が可能である。
(2−2−3)本発明の第3の実施形態のパケット解析装置
第3の実施形態のパケット解析装置11Cは、そのパケット解析方法については図7に示したシーケンス図と同じであるため説明を割愛し、以下では主に図5に示した第1の実施形態のパケット解析装置11Aとの構成上の差異について説明する。
Furthermore, it is also possible to configure the DPI unit 140 that compromises the configuration of the packet analysis device 11A of the first embodiment and the configuration of the packet analysis device 11B of the second embodiment. That is, each DPI unit 140 in a multichip configuration may be configured in a multicore configuration. The plurality of configuration modes as described above may be determined in consideration of various requirements such as processing performance, power consumption, mounting density, and maintainability in the DPI unit 140, and various modifications and applications are possible.
(2-2-3) Packet analysis apparatus according to the third embodiment of the present invention The packet analysis apparatus 11C according to the third embodiment will be described because its packet analysis method is the same as the sequence diagram shown in FIG. In the following, differences in configuration from the packet analysis apparatus 11A of the first embodiment shown in FIG. 5 will be mainly described.

図9は、本発明の第3の実施形態のパケット解析装置11Cの構成を示す図である。   FIG. 9 is a diagram illustrating a configuration of a packet analysis device 11C according to the third embodiment of this invention.

図9に示すように、本発明の第3の実施形態のパケット解析装置11Cは、N個のDPI部140を、単一チップ化されたN個の専用組込みプロセッサでそれぞれ構成し、パケット分析機能部150を単一のネットワークプロセッサで構成し、両者を相互補完的に動作させる、異種マルチコアによる構成である。   As shown in FIG. 9, the packet analysis apparatus 11C according to the third embodiment of the present invention includes N DPI units 140 each composed of N dedicated embedded processors formed into a single chip, and has a packet analysis function. The unit 150 is configured by a single network processor, and is configured to be a heterogeneous multi-core that operates both complementarily.

パケット分析機能部150は、ネットワークプロセッサで構成されるため、図3に示した第3の比較例において、DPI部140をネットワークプロセッサで構成した場合と同様に、基本命令部170Aおよび汎用命令部180Aが付属している。なお、この基本命令部170Aおよび汎用命令部180Aは、図3に示した基本命令部170および汎用命令部180とそれぞれ同様であるため説明を割愛する。   Since the packet analysis function unit 150 is configured by a network processor, in the third comparative example illustrated in FIG. 3, the basic command unit 170A and the general-purpose command unit 180A are the same as when the DPI unit 140 is configured by a network processor. Comes with. The basic command unit 170A and the general command unit 180A are the same as the basic command unit 170 and the general command unit 180 shown in FIG.

非特許文献3によれば、パケットを解析する方法は、粗粒度方式(Coarse DPI)と細粒度方式(Fine DPI)との2つに大別できる。前者は、ブルームフィルタ等の効率的なデータ構造を用いた簡便なマッチングを行う解析方法であり、シグネチャテーブルを保持する記憶領域における空間効率が良いため、通信フローが検索パターンに合致しないことを効率よく判別することができる。他方、後者は、正規表現等を用いて詳細なパターン照合を実現する解析方法であり、複雑な検索条件に対応するなど高機能なDPI処理を実現できる。ただし、後者の方式では、単一のDPI部140が処理を担う場合、負荷が集中して性能の確保が難しいという問題がある。そこで、両方式を組み合わせるアプローチにより細粒度方式の負荷を軽減する効果が期待でき、効率的なパケット解析装置11Cを構成することができる(Coarse−to−Fine DPI)。   According to Non-Patent Document 3, the method of analyzing a packet can be broadly divided into two types: a coarse-grain method (Coarse DPI) and a fine-grain method (Fine DPI). The former is an analysis method that performs simple matching using an efficient data structure such as a Bloom filter. Since the space efficiency in the storage area that holds the signature table is good, it is efficient that the communication flow does not match the search pattern. Can be distinguished well. On the other hand, the latter is an analysis method that realizes detailed pattern matching using a regular expression or the like, and can realize high-functional DPI processing such as handling complicated search conditions. However, in the latter method, when a single DPI unit 140 is responsible for processing, there is a problem that it is difficult to ensure performance due to concentration of loads. Therefore, an effect of reducing the load of the fine-grain method can be expected by combining both methods, and an efficient packet analysis device 11C can be configured (Coarse-to-Fine DPI).

なお、図9では、単一のパケット分析機能部150が設けられているが、本発明はこれに限定されず、複数のパケット分析機能部150が設けられてもよい。この場合、DPI部140は、パケット分析機能部150に転送すべきパケットが検出されると、各パケット分析機能部150のトラヒック量を確認し、トラヒック量の少ないパケット分析機能部150に、検出されたパケットを転送するようにしてもよい。あるいは、DPI部140は、各DPI部140に対して転送先として予め設定されているパケット分析機能部150に、検出されたパケットを転送するようにしてもよい。   Although a single packet analysis function unit 150 is provided in FIG. 9, the present invention is not limited to this, and a plurality of packet analysis function units 150 may be provided. In this case, when a packet to be transferred to the packet analysis function unit 150 is detected, the DPI unit 140 confirms the traffic amount of each packet analysis function unit 150 and is detected by the packet analysis function unit 150 with a small traffic amount. The packet may be transferred. Alternatively, the DPI unit 140 may transfer the detected packet to the packet analysis function unit 150 that is preset as a transfer destination for each DPI unit 140.

以上、本発明の実施形態が示され、説明がなされた。実施形態の説明において「〜部」と説明しているもの(基本転送機能部130、DPI部140、パケット分析機能部150、検査条件管理部160、基本命令部170、汎用命令部180、および専用命令部190)は、「〜回路」、「〜装置」、「〜機器」、「〜手段」であってもよく、また、「〜ステップ」、「〜処理」であってもよい。本実施形態で示した電力性能比を飛躍的に高めるような命令セットを専用組込みプロセッサが具備する構成を、最良の形態と見なしているものの、「〜部」として説明しているものは、ROM(Read Only Memory)に記憶されたファームウェアおよび再構成型デバイス・素子・基板・配線などのハードウェアで実現されていても構わない。あるいは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD(Digital Versatile Disc)等の記録媒体に記憶される。プログラムはCPUにより読み出されて実行される。すなわち、プログラムは、本発明の実施形態の「〜部」に相当する「〜手段」として、コンピュータを機能させるものである。あるいは、本発明の実施形態の「〜部」の手順や方法をコンピュータに実行させるものである。   The embodiments of the present invention have been shown and described above. What is described as “˜unit” in the description of the embodiment (basic transfer function unit 130, DPI unit 140, packet analysis function unit 150, inspection condition management unit 160, basic command unit 170, general-purpose command unit 180, and dedicated The command unit 190) may be “˜circuit”, “˜device”, “˜device”, “˜means”, and may be “˜step” and “˜processing”. Although the configuration in which the dedicated embedded processor has an instruction set that dramatically increases the power performance ratio shown in the present embodiment is regarded as the best mode, what is described as “˜part” is the ROM It may be realized by firmware stored in (Read Only Memory) and hardware such as a reconfigurable device, element, substrate, and wiring. Alternatively, a combination of software and hardware, or a combination of firmware may be used. Firmware and software are stored as programs in a recording medium such as a magnetic disk, a flexible disk, an optical disk, a compact disk, a mini disk, and a DVD (Digital Versatile Disc). The program is read and executed by the CPU. That is, the program causes the computer to function as “to means” corresponding to “to part” of the embodiment of the present invention. Alternatively, the computer executes the procedure and method of “to part” of the embodiment of the present invention.

本発明は、設計ツールおよびIP(Intellectual Property)の別を問わず、特定用途向けプロセッサの設計手法一般に適用することができる。   The present invention can be applied to a general design method for a processor for a specific application regardless of whether the design tool or the IP (Intellectual Property) is different.

10:パケット転送装置
11:パケット解析装置
110:入力部
120:出力部
130:基本転送機能部
140:DPI部
150:パケット分析機能部
160:検索条件管理部
170:基本命令部
180:汎用命令部
190:専用命令部
191:シグネチャ演算部
192:シグネチャ設定部
193:シグネチャ照合部
194:アクション選択部
10: packet transfer device 11: packet analysis device 110: input unit 120: output unit 130: basic transfer function unit 140: DPI unit 150: packet analysis function unit 160: search condition management unit 170: basic command unit 180: general command unit 190: Dedicated command part 191: Signature calculation part 192: Signature setting part 193: Signature verification part 194: Action selection part

Claims (7)

通信フローのパケットを解析するパケット解析装置であって、
各々がDPIシグネチャテーブルを備える複数のDPI部と、
前記複数のDPI部の各々の検索条件を管理する検索条件管理部と、
専用命令部と、を有し、
前記検索条件管理部が前記DPI部に対して検索条件の登録を指示した場合、前記DPI部は、前記検索条件管理部により登録を指示された検索条件を登録し、前記専用命令部は、該検索条件に含まれる検索パターンのビットシーケンスの特徴を表すハッシュ値をシグネチャとして演算し、演算したハッシュ値のDPIシグネチャテーブルへの登録を前記DPI部に対して指示し、前記DPI部は、前記専用命令部により登録を指示されたハッシュ値をDPIシグネチャテーブルに登録し、
前記DPI部が通信フローのパケットを受信した場合、前記専用命令部は、該パケットのペイロードからビットシーケンスを抽出し、抽出したビットシーケンスのハッシュ値を演算し、演算したハッシュ値がDPIシグネチャテーブルに登録された検索パターンのビットシーケンスのハッシュ値と一致するかを判定する、パケット解析装置。
A packet analysis device for analyzing a packet of a communication flow,
A plurality of DPI units each comprising a DPI signature table;
A search condition management unit that manages each search condition of the plurality of DPI units;
A dedicated command section,
When the search condition management unit instructs the DPI unit to register the search condition, the DPI unit registers the search condition instructed to be registered by the search condition management unit, and the dedicated command unit a hash value that represents the characteristics of the bit sequence of the search pattern that is included in the search condition is calculated as the signature, the registration to the DPI signature table computed hash value instructed to the DPI portion, the DPI unit, the dedicated Register the hash value instructed to be registered by the command part in the DPI signature table,
If the DPI unit receives a packet of the communication flow, the dedicated instruction unit extracts the bit sequence from the payload of the packet, calculates a hash value of the extracted bit sequence, the calculated hash value DPI signature table A packet analysis device that determines whether or not a hash value of a bit sequence of a registered search pattern matches.
前記DPIシグネチャテーブルは、検索パターンのビットシーケンスのハッシュ値と、該ハッシュ値が検索されたパケットに対して実行すべき処理内容であるアクションと、が登録されるものであり、
前記専用命令部は、
ビットシーケンスのハッシュ値を演算するシグネチャ演算部と、
前記DPI部が前記検索条件管理部により登録を指示された検索条件を登録した場合、該検索条件に含まれる検索パターンのビットシーケンスのハッシュ値を前記シグネチャ演算部により演算し、演算したハッシュ値のDPIシグネチャテーブルへの登録を前記DPI部に対して指示するシグネチャ設定部と、
前記DPI部が通信フローのパケットを受信した場合、該パケットのペイロードから抽出されたビットシーケンスのハッシュ値を前記シグネチャ演算部により演算し、演算したハッシュ値がDPIシグネチャテーブルに登録された検索パターンのビットシーケンスのハッシュ値と一致するかを判定するシグネチャ照合部と、
前記シグネチャ照合部が一致と判定した場合、前記DPIシグネチャテーブルを参照して、前記パケットに対して実行すべきアクションを選択するアクション選択部と、を有する、請求項1に記載のパケット解析装置。
In the DPI signature table, a hash value of a bit sequence of a search pattern and an action that is a processing content to be executed on a packet in which the hash value is searched are registered.
The dedicated command section is
A signature calculation unit for calculating a hash value of a bit sequence;
When the DPI unit registers a search condition instructed to be registered by the search condition management unit, the signature calculation unit calculates a hash value of a bit sequence of a search pattern included in the search condition, and the calculated hash value A signature setting unit for instructing the DPI unit to register in the DPI signature table;
When the DPI unit receives a packet of a communication flow, the hash value of the bit sequence extracted from the payload of the packet is calculated by the signature calculation unit, and the calculated hash value is a search pattern registered in the DPI signature table. A signature matching unit that determines whether the hash value of the bit sequence matches,
The packet analysis device according to claim 1, further comprising: an action selection unit that selects an action to be performed on the packet with reference to the DPI signature table when the signature collating unit determines that they match.
前記複数のDPI部の各々は、組込みプロセッサで構成される、請求項1または2に記載のパケット解析装置。   The packet analysis apparatus according to claim 1, wherein each of the plurality of DPI units includes an embedded processor. 前記複数のDPI部は、該複数のDPI部の各々を構成する複数の組込みプロセッサが単一チップに集積された、マルチコアのプロセッサとして構成される、請求項3に記載のパケット解析装置。   The packet analysis device according to claim 3, wherein the plurality of DPI units are configured as a multi-core processor in which a plurality of embedded processors constituting each of the plurality of DPI units are integrated on a single chip. 前記複数のDPI部の後段に配置され、単一のネットワークプロセッサで構成され、パケット分析シグネチャテーブルを備えるパケット分析機能部をさらに有し、
前記検索条件管理部は、前記パケット分析機能部の検索条件も管理し、
前記パケット分析機能部は、
前記検索条件管理部が前記パケット分析機能部に対して検索条件の登録を指示すると、該検索条件に含まれる検索パターンのビットシーケンスをパケット分析シグネチャテーブルに登録し、
前記パケット分析機能部が通信フローのパケットを受信すると、該パケットのペイロードからビットシーケンスを抽出し、抽出したビットシーケンがパケット分析シグネチャテーブルに登録された検索パターンのビットシーケンスと一致するかを判定する、請求項4に記載のパケット解析装置。
A packet analysis function unit that is arranged at a subsequent stage of the plurality of DPI units, is configured by a single network processor, and includes a packet analysis signature table;
The search condition management unit also manages the search conditions of the packet analysis function unit,
The packet analysis function unit
When the search condition management unit instructs the packet analysis function unit to register search conditions, the bit sequence of the search pattern included in the search conditions is registered in the packet analysis signature table,
When the packet analyzing function unit receives a packet of the communication flow, determine extracting bit sequences from the payload of the packet, the extracted bit sequence matches the bit sequence of the search patterns registered in the packet analysis Signature table The packet analysis device according to claim 4.
通信フローのパケットを解析するパケット解析装置によるパケット解析方法であって、
前記パケット解析装置に、
各々がDPIシグネチャテーブルを備える複数のDPI部と、
前記複数のDPI部の各々の検索条件を管理する検索条件管理部と、
専用命令部と、を設け、
前記検索条件管理部が前記DPI部に対して検索条件の登録を指示した場合、前記DPI部は、前記検索条件管理部により登録を指示された検索条件を登録し、前記専用命令部は、該検索条件に含まれる検索パターンのビットシーケンスの特徴を表すハッシュ値をシグネチャとして演算し、演算したハッシュ値のDPIシグネチャテーブルへの登録を前記DPI部に対して指示し、前記DPI部は、前記専用命令部により登録を指示されたハッシュ値をDPIシグネチャテーブルに登録し、
前記DPI部が通信フローのパケットを受信した場合、前記専用命令部は、該パケットのペイロードからビットシーケンスを抽出し、抽出したビットシーケンスのハッシュ値を演算し、演算したハッシュ値がDPIシグネチャテーブルに登録された検索パターンのビットシーケンスのハッシュ値と一致するかを判定する、パケット解析方法。
A packet analysis method by a packet analysis device for analyzing a packet of a communication flow,
In the packet analysis device,
A plurality of DPI units each comprising a DPI signature table;
A search condition management unit that manages each search condition of the plurality of DPI units;
A dedicated command section,
When the search condition management unit instructs the DPI unit to register the search condition, the DPI unit registers the search condition instructed to be registered by the search condition management unit, and the dedicated command unit a hash value that represents the characteristics of the bit sequence of the search pattern that is included in the search condition is calculated as the signature, the registration to the DPI signature table computed hash value instructed to the DPI portion, the DPI unit, the dedicated Register the hash value instructed to be registered by the command part in the DPI signature table,
If the DPI unit receives a packet of the communication flow, the dedicated instruction unit extracts the bit sequence from the payload of the packet, calculates a hash value of the extracted bit sequence, the calculated hash value DPI signature table A packet analysis method for determining whether or not a hash value of a bit sequence of a registered search pattern matches.
前記DPIシグネチャテーブルは、検索パターンのビットシーケンスのハッシュ値と、該ハッシュ値が検索されたパケットに対して実行すべき処理内容であるアクションと、が登録されるものであり、
前記DPI部が前記検索条件管理部により登録を指示された検索条件を登録した場合、前記専用命令部は、該検索条件に含まれる検索パターンのビットシーケンスのハッシュ値を演算し、演算したハッシュ値のDPIシグネチャテーブルへの登録を前記DPI部に対して指示し、
前記DPI部が通信フローのパケットを受信した場合、前記専用命令部は、該パケットのペイロードから抽出されたビットシーケンスのハッシュ値を演算し、演算したハッシュ値がDPIシグネチャテーブルに登録された検索パターンのビットシーケンスのハッシュ値と一致するかを判定し、
前記専用命令部が一致と判定した場合、前記専用命令部は、前記DPIシグネチャテーブルを参照して、前記パケットに対して実行すべきアクションを選択する、請求項6に記載のパケット解析方法。
In the DPI signature table, a hash value of a bit sequence of a search pattern and an action that is a processing content to be executed on a packet in which the hash value is searched are registered.
When the DPI unit registers a search condition instructed to be registered by the search condition management unit, the dedicated instruction unit calculates a hash value of a bit sequence of a search pattern included in the search condition, and calculates the calculated hash value And instructing the DPI part to register in the DPI signature table,
When the DPI unit receives a packet of a communication flow, the dedicated command unit calculates a hash value of a bit sequence extracted from the payload of the packet, and a search pattern in which the calculated hash value is registered in the DPI signature table Whether it matches the hash value of the bit sequence of
The packet analysis method according to claim 6, wherein, when it is determined that the dedicated instruction unit matches, the dedicated command unit refers to the DPI signature table and selects an action to be performed on the packet.
JP2014118568A 2014-06-09 2014-06-09 Packet analysis apparatus and packet analysis method Active JP6306441B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014118568A JP6306441B2 (en) 2014-06-09 2014-06-09 Packet analysis apparatus and packet analysis method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014118568A JP6306441B2 (en) 2014-06-09 2014-06-09 Packet analysis apparatus and packet analysis method

Publications (2)

Publication Number Publication Date
JP2015233181A JP2015233181A (en) 2015-12-24
JP6306441B2 true JP6306441B2 (en) 2018-04-04

Family

ID=54934419

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014118568A Active JP6306441B2 (en) 2014-06-09 2014-06-09 Packet analysis apparatus and packet analysis method

Country Status (1)

Country Link
JP (1) JP6306441B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6781109B2 (en) * 2016-07-06 2020-11-04 日本電信電話株式会社 Traffic controls and methods
JP7220814B1 (en) 2022-01-21 2023-02-10 エヌ・ティ・ティ・アドバンステクノロジ株式会社 Data acquisition device and data acquisition method

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1757039A4 (en) * 2004-04-26 2013-01-02 Cisco Tech Inc Programmable packet parsing processor
GB0620043D0 (en) * 2006-10-10 2006-11-22 Univ Belfast Improvements relating to the detection of malicious content in date
JP5667009B2 (en) * 2011-08-08 2015-02-12 日本電信電話株式会社 Router device and data analysis method

Also Published As

Publication number Publication date
JP2015233181A (en) 2015-12-24

Similar Documents

Publication Publication Date Title
US8493979B2 (en) Single instruction processing of network packets
US11418632B2 (en) High speed flexible packet classification using network processors
US8176300B2 (en) Method and apparatus for content based searching
US8854996B2 (en) Accelerating data packet parsing
US11494212B2 (en) Technologies for adaptive platform resource assignment
US8407707B2 (en) Task queuing in a network communications processor architecture
US8391174B2 (en) Data packet routing
US9154418B1 (en) Efficient packet classification in a network device
US20140324900A1 (en) Intelligent Graph Walking
US10862827B1 (en) Network forwarding element with key-value processing in the data plane
KR20150026979A (en) GENERATING A NFA (Non-Deterministic finite automata) GRAPH FOR REGULAR EXPRESSION PATTERNS WITH ADVANCED FEATURES
JP2014508996A (en) Grouping states for element usage
US20160085722A1 (en) Data packet processing
KR20140022535A (en) Destination-based credit-based flow control for power consumption reduction in high-throughput bufferless on-chip network
JP6306441B2 (en) Packet analysis apparatus and packet analysis method
US10015291B2 (en) Host network controller
US9590897B1 (en) Methods and systems for network devices and associated network transmissions
Chiu et al. The design and implementation of a latency-aware packet classification for OpenFlow protocol based on FPGA
US11425036B1 (en) Pipelined match-action circuitry
US7613133B2 (en) Method, system and computer program product for processing packets at forwarder interfaces
US20230060132A1 (en) Coordinating data packet processing between kernel space and user space
WO2015136585A1 (en) Control apparatus, control method and control program
Meitinger et al. A programmable stream processing engine for packet manipulation in network processors
Proudfoot et al. Flexible software-hardware network intrusion detection system
KR101553399B1 (en) Packet parsing processor, system and method thereof

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20151001

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20151005

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160908

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170628

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170704

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170901

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: 20180306

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180308

R150 Certificate of patent or registration of utility model

Ref document number: 6306441

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150