JP6306441B2 - Packet analysis apparatus and packet analysis method - Google Patents
Packet analysis apparatus and packet analysis method Download PDFInfo
- 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
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
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.
上述したように、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.
以下に、本発明を実施するための形態について図面を参照して説明する。
(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
入力部110は、サーバやユーザ端末などの外部装置(図示せず)からの入力信号を受信し、受信した入力信号からパケットを抽出する。抽出された各パケットは、制御データを収容するヘッダと、実データを収容するペイロードと、から構成される。ヘッダは、典型的には、固定長のデータであり、そのデータの固定位置に送信元IPアドレス(SIP)、宛先IPアドレス(DIP)、IPプロトコルタイプ(PR)、送信元ポート番号(SPT)、および宛先ポート番号(DPT)という5つの要素(5タプル)を含んでいる。
The
パケット解析装置11は、入力部110で抽出されたパケットを解析し、その解析結果を基に、そのパケットの転送先を決定する等の処理を行う。なお、パケット解析装置11の詳細は後述する。
The
出力部120は、パケット解析装置11で決定された転送先にパケットを送信する。
(2)パケット解析装置
以下、本発明のパケット解析装置を、比較例と対比して説明する。なお、以下で説明する本発明および比較例のパケット解析装置は、図1に示したパケット転送装置10へパケット解析装置11として組み込まれるものとする。
The
(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
まず、比較例のパケット解析装置について説明する。
(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
図2に示すように、第1の比較例のパケット解析装置1100Aは、基本転送機能部130と、1次DPI部140−1〜N(Nは2以上の自然数)次DPI部140−N(以下、どのDPI部であるかを特定しないときはDPI部140と称する)と、パケット分析機能部150と、を有する。
As shown in FIG. 2, the
基本転送機能部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
各DPI部140は、DPIシグネチャテーブル(図示せず)を有している。DPIシグネチャテーブルには、検索パターンとなる所定のビット長のビットシーケンスと、その検索パターンが検索されたパケットに対して実行すべき処理内容であるアクション(ACT)と、が登録されている。DPI部140は、基本転送機能部130から受信したパケットの各ペイロードに含まれる所定のビット長のビットシーケンスを抽出し、各自のDPIシグネチャテーブルに登録されている検索パターンのビットシーケンスに一致するかを判定する。一致しない場合、DPI部140は、そのパケットを基本転送機能部130に送り返し、出力部120を介し適切な転送先に転送する。他方、一致した場合、DPI部140は、そのパケットに対して、各自のDPIシグネチャテーブルに登録されている処理(アクション)を選択して実行する。この付随条件の処理内容としては、典型的には、パケット分析機能部150に転送する、所定の処理を実行して基本転送機能部130を介し出力部120に転送する、などが設定されてもよい。
Each
パケット分析機能部150は、パケット分析シグネチャテーブル(図示せず)を有している。パケット分析シグネチャテーブルには、検索パターンとなるビットシーケンスと、その検索パターンが検索されたパケットに対して実行すべき処理内容であるアクション(ACT)と、が登録されている。パケット分析機能部150は、DPI部140から受信したパケットの各ペイロードに含まれるビットシーケンスを抽出し、DPIシグネチャテーブルに登録されている検索パターンのビットシーケンスと一致するかを判定する。一致しない場合、パケット分析機能部150は、そのパケットを基本転送機能部130に送り返し、出力部120を介し適切な転送先に転送する。他方、一致した場合、パケット分析機能部150は、そのパケットに対して、パケット分析シグネチャテーブルに登録されている処理(アクション)を選択して実行する。この付随条件の処理内容としては、典型的には、パケットを破棄する、QoS(Quality of Service)を制御する、などが設定されてもよい。なお、パケット分析シグネチャテーブルには、検索パターンとして2以上のビットシーケンスを登録可能であるため、異なるビット長のビットシーケンスを登録することができる。
The packet
しかし、第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
図3に示すように、第2の比較例のパケット解析装置1100Bは、第1の比較例と比べて、検索条件管理部160を追加している。
As shown in FIG. 3, the
なお、図3においては、図2と同様に、パケット分析機能部150だけでなく、基本転送機能部130および各DPI部140も、出力部120に接続されているものとする(以降の図4、図5、図8、および図9において同じ)。
3, not only the packet
検索条件管理部160は、基本転送機能部130、DPI部140、およびパケット分析機能部150の検索条件を統合的に管理する部分であり、これら検索条件を一元的に設定・変更することができる。
The search
各DPI部140には、検索パターンのビットシーケンスとして、固有のビット長のビットシーケンスが設定される。すなわち、1次DPI部140−1にはビット長m1のビットシーケンスが設定され、2次DPI部140−2にはビット長m2のビットシーケンスが設定され、・・・、N次DPI部140−1にはビット長mNのビットシーケンスが設定される。例えば、i(1≦i≦Nの自然数)次DPI部140−iのビット長miが5であって(mi=5)、検索パターンとしてビットシーケンス“abcde”が設定されている場合、i次DPI部140−iは、受信したパケットのペイロードに含まれるビット長5の各ビットシーケンスをチェックし、検索パターンのビットシーケンス“abcde”に一致するものがあるか判定する。
In each
このように、各DPI部140に対しては、固有のビット長を設定し、設定したビット長のビットシーケンスのみを検索させる。すなわち、パケットのペイロードにおいて検索されるべき異なるビット長のビットシーケンス数に応じた数のDPI部140の数を設けることによって、複数種類の任意のビット長のビットシーケンスを高速かつ簡易に検索することが可能になる。例えば、パケットのペイロードにおいて検索されるべきビット長のビットシーケンスが3種類である場合(ビット長=32,64,128)、DPI部140は3段で構成される。
In this manner, each
検索条件管理部160は、基本転送機能部130、各DPI部140、およびパケット分析機能部150に対し、検索条件として検索パターンを設定し、また、これらの設定した値を必要に応じて変更することができる。ここで、基本転送機能部130に設定する検索パターンはヘッダの5タプルの値であり、DPI部140に設定する検索パターンはペイロードのビットシーケンス(ビット長m1〜N)の値であり、パケット分析機能部150に設定する検索パターンはペイロードのビットシーケンス(ビット長n)の値である。
The search
また、検索条件管理部160は、特に、DPI部140およびパケット分析機能部150に対しては、ペイロードのビット長、抽出位置、およびマスク長などの値を指定した抽出方法をプログラムから再定義し、その抽出方法を検索条件として設定することができる。この場合、例えば、DPI部140は、検索条件として設定された抽出方法を基に、パケットのペイロードから解析対象のビットシーケンスを抽出し、抽出したビットシーケンスが、検索条件として設定された検索パターンのビットシーケンスに一致するかを判定することになる。
The search
検索条件管理部160を設けることにより、各部に分散した検索条件間で一貫性を保つことができる。また、検出条件として抽出方法を設定することにより、解析しない実データをフィルタリングして、解析するビットシーケンスのみをDPI部140およびパケット分析機能部150に設定することができる。このように複数の検索条件を統合的に管理することにより、検索条件間の不整合を防ぎ、設定作業を省力化することが可能となる。
By providing the search
パケット分析機能部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
また、パケット解析装置1100Bが未解析のパケットを受信した場合、比較的複雑な検索条件に対応できるパケット分析機能部150でパケットを順次解析し、その解析により特定した検索条件を基本転送機能部130およびDPI部140に自動的に設定するように検索条件管理部160が制御することにより、未知の通信フローの未解析のパケットに対しても、パケット転送制御が可能となる。
Further, when the
DPI部140は、典型的にはCPU(Central Processing Unit)とメモリとを備える個別のDPIプロセッサから構成され、互いに独立して動作可能である。また、DPI部140は、DPI部140とパケット分析機能部150とのロードバランスを考慮して、必要に応じて増設されてもよい。
The
しかし、DPI部140を必要に応じて増設する場合、デバイスの構成方法によってパケット解析装置1100Bの処理性能および消費電力が大きく異なってしまう。
(2−1−3)第3の比較例のパケット解析装置
図4は、第3の比較例のパケット解析装置1100Cの構成を示す図である。
However, when the
(2-1-3) Packet Analysis Device of Third Comparative Example FIG. 4 is a diagram illustrating a configuration of a
図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
DPI部140を構成するネットワークプロセッサ内は、典型的には、パケット処理に適したアーキテクチャで構成される。パケット処理を行うネットワークプロセッサとしては、多数のパケットを蓄積するためのパケットバッファ、検索パターンとの一致検索を高速に実行するためのTCAM、主記憶部、キャッシュ、および、これらに保持されるパケットに対して後述する基本命令部170および汎用命令部180から与えられた命令を演算するために1以上の演算コアを有するものが多い。
The network processor constituting the
基本命令部170は、DPI部140をプロセッサとして動作させるために必要な最小限の基本命令の命令セット、すなわち典型的には、四則演算、算術演算、論理演算、比較、ロードストア、シフト、および条件分岐などの命令群を有し、これらをDPI部140に与える。これらの基本命令の形式および言語処理系はネットワークプロセッサによって区々であるが、これらの基本命令の中には、どのようなネットワークプロセッサでも基本機能として備える共通的な命令が多く含まれる。
The
汎用命令部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-
図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
(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
図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
DPI部140を構成する専用組込みプロセッサ内は、典型的には、オーソドックスなパイプライン構造を備えるRISC(Reduced Instruction Set Computer)アーキテクチャで構成される。初期的には、ネットワークプロセッサのように大規模なパケットバッファ、TCAM、主記憶部、およびキャッシュなどは有しておらず、また、パケット処理向けに汎用的に利用できる汎用命令部は有しておらず、DPI部140をプロセッサとして動作させるために必要な最小限の基本命令を実行する要素のみを備える。このようにプリミティブな組込みプロセッサを、用途に応じて特定用途向けに専用化できるASIP(Application Specific Instruction−set Processor)設計手法が一般に知られている。上述したように、ある程度ベースとなるプロセッサ構成が規定されており、特定用途向けに専用命令の設計やデータパスの拡張を許容する手法から、ほぼフルスクラッチで演算コアを設計できる手法まで、手法によって設計手順は区々であるが、単一プロセッサからマルチプロセッサまで処理性能および消費電力を最適化しながら所望の機能を実現することができる。また、必要に応じて後からバッファ、キャッシュ、およびTCAMを増設してもよい。
The dedicated embedded processor constituting the
検索条件管理部160は、図3に示したものと同様であるため説明を割愛する。
The search
基本命令部170は、構成としては図4に示したネットワークプロセッサ用のものと同様である。すなわち、基本命令部170は、DPI部140をプロセッサとして動作させるために必要な最小限の基本命令の命令セット、すなわち典型的には、四則演算、算術演算、論理演算、比較、ロードストア、シフト、および条件分岐などの命令群を有し、これらをDPI部140に与える。これらの基本命令の形式および言語処理系は組込みプロセッサによって区々であるが、これらの基本命令の中には、どのような組込みプロセッサでも基本機能として備える共通的な命令が多く含まれる。
The
専用命令部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
なお、専用命令部190は、対応するDPI部140上の命令用RAM(Random Access Memory。図示せず)に保持される。
The
図6は、専用命令部190の構成を示す図である。なお、図6は、専用命令部190の演算器の部分の構成を示している。
FIG. 6 is a diagram illustrating a configuration of the
図6に示すように、専用命令部190は、シグネチャ演算部191と、シグネチャ設定部192と、シグネチャ照合部193と、アクション選択部194と、を有している。
As illustrated in FIG. 6, the
なお、図6に示した専用命令部190内の各構成要素の動作は、以下の図7の説明の中で詳細に説明する。
The operation of each component in the
図7は、第1の実施形態のパケット解析装置11Aにおけるパケット解析方法を表すシーケンス図である。なお、図7に示したパケット解析方法は、非特許文献3には非開示である。
FIG. 7 is a sequence diagram illustrating a packet analysis method in the
図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
このとき、検索条件管理部160は、基本転送機能部130、各i次DPI部140−i、およびパケット分析機能部150に対しては、検索パターンを検索条件として設定する。具体的には、検索条件管理部160は、検索パターンとして、基本転送機能部130に対してはヘッダの5タプルの値を設定し、各i次DPI部140−iに対してはペイロードのビットシーケンス(ビット長m1〜N)の値を設定し、パケット分析機能部150に対してはペイロードのビットシーケンス(ビット長n)の値を設定する。
At this time, the search
また、検索条件管理部160は、i次DPI部140−iおよびパケット分析機能部150に対しては、上記の検索パターンと共に抽出方法を検索条件として設定する。具体的には、検索条件管理部160は、抽出方法として、プログラムから再定義した、ペイロードのビット長L、ビットシーケンスの抽出位置を指定するオフセット値O、およびマスク長Mの値を設定する。なお、通信フローのパケットから、ビット長L、オフセット値O、およびマスク長Mで指定された抽出方法を基にビットシーケンスを抽出する動作については後述する。
The search
ステップS102においては、i次DPI部140−iは、自身のデータ用RAM(図示せず)に保持している現在の検索条件の値を、検索条件管理部160によりステップS101で設定された検索条件の値と比較し、変更があれば、データ用RAMに保持している検索条件の値を更新する。
In step S102, the i-th DPI unit 140-i uses the search
ステップS103においては、専用命令部190−iのシグネチャ演算部191は、i次DPI部140−iで更新された検索条件に検索パターンとして含まれるビット長miのビットシーケンスのシグネチャを演算する。シグネチャは、ビットシーケンスの特徴をビット列で表現したものであり、通信フローにおいて実際に解析するパケット内の解析対象のビットシーケンス(以下、フローと表記)が、検索パターンのビットシーケンス(以下、パターンと表記)に一致するかの検索を高速に実行するために演算される。具体的なシグネチャとしては、一般に広く用いられるハッシュ値を用いることができるが、非特許文献3に開示されている粗粒度方式の演算手段を用いて演算した値であってもよい。
In step S103, the
ステップS104においては、専用命令部190−iのシグネチャ設定部192は、ステップS103で演算されたシグネチャ(パターン)をi次DPI部140−iに設定し、そのシグネチャ(パターン)を登録するよう指示する。
In step S104, the
ステップ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
ステップS106以降の手順は、パケット解析装置11Aを通信フローが通過するごとに発生する手順である。
The procedure after step S106 is a procedure that occurs every time the communication flow passes through the
ステップ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
具体的には、専用命令部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が解析対象のビットシーケンスの具体値となる。このようにして、解析しない実データをフィルタリングし、解析するビット長miのビットシーケンスのみを解析対象として抽出することができる。
Specifically, the
ステップS106においては、専用命令部190−iのシグネチャ演算部191は、さらに、パケットから抽出した解析対象のビットシーケンスのシグネチャ(フロー)をステップS103と同様の手順で演算する。
In step S106, the
ステップS107においては、専用命令部190−iのシグネチャ照合部193は、ステップS106で演算されたシグネチャ(フロー)を、ステップS105で更新されたDPIシグネチャテーブル内のシグネチャ(パターン)と照合する。
In step S107, the
ステップS108においては、専用命令部190−iのシグネチャ照合部193は、ステップS105で更新されたシグネチャ(パターン)に、ステップS106で演算されたシグネチャ(フロー)が一致するかを判定する。一致するシグネチャ(パターン)がない場合(S108:N)、シグネチャ照合部193は、パケットを基本転送機能部130に送り返し、出力部120を介し適切な転送先に転送する。他方、一致するシグネチャ(パターン)がある場合(S108:Y)、ステップS109に移行する。
In step S108, the
ステップS109においては、専用命令部190−iのアクション選択部194は、DPIシグネチャテーブルを参照して、一致したシグネチャ(パターン)に対応する処理内容(アクション)を選択し、選択された処理をパケットに対して実行した後、そのパケットを後段のパケット分析機能部150に転送する。
In step S109, the
第1の実施形態のDPIシグネチャテーブルには、検索パターンとなるビット長miのビットシーケンスのシグネチャと、そのシグネチャが検索されたパケットに対して実行すべき処理内容であるアクション(ACT)と、が登録されている。例えば、DPIシグネチャテーブルには、ビット長xのビットシーケンス「“a1a2・・・am”→ACT=“fff”」が登録される。この場合、解析対象のビットシーケンスが“a1a2・・・am”である場合、付随条件である処理“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
図8は、第2の実施形態のパケット解析装置11Bの構成を示す図である。
FIG. 8 is a diagram illustrating a configuration of the
図8に示すように、第2の実施形態のパケット解析装置11Bは、N個のDPI部140をそれぞれ構成するN個の専用組込みプロセッサを、単一チップに集積している。
As shown in FIG. 8, in the
すなわち、図5に示した第1の実施形態のパケット解析装置11Aは、N個のDPI部140をそれぞれ構成するN個の専用組込みプロセッサを個々に独立させたマルチチップ構成であった。これに対して、図8に示した第2の実施形態のパケット解析装置11Bは、N個のDPI部140をそれぞれ構成するN個の専用組込みプロセッサを集積し、単一チップのマルチコアのプロセッサとして構成している点が特徴となる。このような構成とすることにより、第2の実施形態のパケット解析装置11Bは、第1の実施形態のパケット解析装置11Bと比べて、DPI部140の実装密度や電力性能比(消費電力に対する処理性能の比率)をより一層高めることが期待できる。
That is, the
また、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
基本命令部170および専用命令部190の構成も変更される。第1の実施形態のパケット解析装置11Aでは、各DPI部140に1組の基本命令部170および専用命令部190が付属する構成であった。これに対して、第2の実施形態のパケット解析装置11Bでは、単一チップのマルチコア構成となるため、DPI部140全体で1組の基本命令部170と専用命令部190で構わない。これは、別途マルチコアに対応した言語処理系を組み込むことにより実現することができる。
The configurations of the
さらに、第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
(2-2-3) Packet analysis apparatus according to the third embodiment of the present invention The
図9は、本発明の第3の実施形態のパケット解析装置11Cの構成を示す図である。
FIG. 9 is a diagram illustrating a configuration of a
図9に示すように、本発明の第3の実施形態のパケット解析装置11Cは、N個のDPI部140を、単一チップ化されたN個の専用組込みプロセッサでそれぞれ構成し、パケット分析機能部150を単一のネットワークプロセッサで構成し、両者を相互補完的に動作させる、異種マルチコアによる構成である。
As shown in FIG. 9, the
パケット分析機能部150は、ネットワークプロセッサで構成されるため、図3に示した第3の比較例において、DPI部140をネットワークプロセッサで構成した場合と同様に、基本命令部170Aおよび汎用命令部180Aが付属している。なお、この基本命令部170Aおよび汎用命令部180Aは、図3に示した基本命令部170および汎用命令部180とそれぞれ同様であるため説明を割愛する。
Since the packet
非特許文献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
なお、図9では、単一のパケット分析機能部150が設けられているが、本発明はこれに限定されず、複数のパケット分析機能部150が設けられてもよい。この場合、DPI部140は、パケット分析機能部150に転送すべきパケットが検出されると、各パケット分析機能部150のトラヒック量を確認し、トラヒック量の少ないパケット分析機能部150に、検出されたパケットを転送するようにしてもよい。あるいは、DPI部140は、各DPI部140に対して転送先として予め設定されているパケット分析機能部150に、検出されたパケットを転送するようにしてもよい。
Although a single packet
以上、本発明の実施形態が示され、説明がなされた。実施形態の説明において「〜部」と説明しているもの(基本転送機能部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
本発明は、設計ツールおよび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シグネチャテーブルを参照して、前記パケットに対して実行すべきアクションを選択するアクション選択部と、を有する、請求項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.
前記検索条件管理部は、前記パケット分析機能部の検索条件も管理し、
前記パケット分析機能部は、
前記検索条件管理部が前記パケット分析機能部に対して検索条件の登録を指示すると、該検索条件に含まれる検索パターンのビットシーケンスをパケット分析シグネチャテーブルに登録し、
前記パケット分析機能部が通信フローのパケットを受信すると、該パケットのペイロードからビットシーケンスを抽出し、抽出したビットシーケンスがパケット分析シグネチャテーブルに登録された検索パターンのビットシーケンスと一致するかを判定する、請求項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シグネチャテーブルを参照して、前記パケットに対して実行すべきアクションを選択する、請求項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.
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)
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)
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 |
-
2014
- 2014-06-09 JP JP2014118568A patent/JP6306441B2/en active Active
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 |