JP5952240B2 - トラヒック走査方法および装置 - Google Patents

トラヒック走査方法および装置 Download PDF

Info

Publication number
JP5952240B2
JP5952240B2 JP2013180555A JP2013180555A JP5952240B2 JP 5952240 B2 JP5952240 B2 JP 5952240B2 JP 2013180555 A JP2013180555 A JP 2013180555A JP 2013180555 A JP2013180555 A JP 2013180555A JP 5952240 B2 JP5952240 B2 JP 5952240B2
Authority
JP
Japan
Prior art keywords
hash
pattern
traffic
collation
data
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.)
Expired - Fee Related
Application number
JP2013180555A
Other languages
English (en)
Other versions
JP2015050598A (ja
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 JP2013180555A priority Critical patent/JP5952240B2/ja
Publication of JP2015050598A publication Critical patent/JP2015050598A/ja
Application granted granted Critical
Publication of JP5952240B2 publication Critical patent/JP5952240B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、パターン照合問題、とりわけ通信ネットワーク上で転送されるパケットに含まれるデータが所定のデータ集合に属するか否かを、特定用途向けプロセッサで効率的かつ柔軟に弁別するためのトラヒック走査技術に関する。
パターン照合問題は、幅広いアプリケーションで生じる重要な問題である。例えば、次に示す応用範囲に限定されるものではないが、インターネットのテキスト検索システムや遺伝子工学、データベース、通信工学などの分野において、種々の技術課題の克服が必要とされている。とりわけ、通信ネットワーク上で転送されるパケットに含まれるデータが所定のデータ集合に属するか否かを効率的に弁別する技術は、異常トラヒックを早期に検出・遮断して安定化を図ることで保安上のリスク低減に繋がるため、安心・安全な通信インフラを支え続けていくにあたって不可欠な要素技術である。
一般に、このようなデータ弁別技術では、予め弁別に用いる条件を登録する機能部と、各パケットから抽出したパターンを照合するための機能部で構成され、直接照合の負担を軽減するためにハッシュ演算が用いられることがある。
具体的には、照合したいパターンのハッシュ値を生成するハッシュ演算部を設けて、予め条件となるハッシュ値をハッシュ演算部で生成し、これを照合データとして照合データ記憶部に格納しておく。そして、実際にパケットデータを弁別する際、弁別対象となるトラヒックからパケットバイパケットに抽出した各トラヒックのパターンについて、同ハッシュ演算部でハッシュ値を生成し、照合データ記憶部から読み出した照合データとパターン照合することになる。
このため、パターン照合問題では、ハッシュ演算部において、いかに効率よくハッシュ値を生成するかが重要となる。
図11は、従来のハッシュ演算部の要部構成を示す説明図である。従来、トラヒック弁別技術で用いるハッシュ演算部について、非特許文献1に示すような、照合するパターンの検査データ長に応じて複数のブルームフィルタ(Bloomfilter)を並列に構成し、トラヒックパターンの弁別をハードウェアで高速に処理する技術が提案されている。
ブルームフィルタは、非特許文献2に示す通り、データベースのようなデータサイエンス分野で考案された古典的なデータ構造であり、実用上問題ない水準において所定の偽陽性確率を許容することで、空間計算量を効率化する工夫がなされている。応用範囲として、データサイエンス分野に限定されるものではないため、通信分野においても、非特許文献1に代表されるような数多くの提案がなされている。
特許登録第3860575号公報
S. Dharmapurikar, et al., "Deep Packet Inspection Using Parallel Bloom Filters", IEEE Micro, January/February 2004, Volume24, Issue1, p.52-61. Burton H. Bloom, "Space/Time Trade-offs in Hash Coding with Allowable Errors", Communications of the ACM, 1970. S. Dharmapurikar, et al., "Longest Prefix Matching Using Bloom Filters", Proceedings of the 2003 conference on ACM SIGCOMM 2003, p.201-212.
このような従来技術によれば、ハッシュ演算部において、異なる検査データ長ごとにハッシュ値を一斉並列に生成する構成となっているため、検査データ長1バイトごとに個別のブルームフィルタを備えることになり、回路規模が増大するという問題点があった。また、ブルームフィルタは通常、複数のハッシュ演算の組み合わせで構成されるが、ハードウェアで別種のハッシュ演算アルゴリズムを実装するには複数の回路構成を持たせなければならないため、さらに回路希望が増大することになる。
ハッシュ種別については、一般に約数十種類ほど存在し、トラヒック走査に要求される照合精度(偽陽性確率の高低)に応じて、いずれかのハッシュ種別を複数組み合わせることにより、照合に用いるハッシュ値を生成することになる。
また、データ長については、標準的なパケットでは1500バイトであるが、9000バイトや16000バイトのデータ長を有する、いわゆるジャンボフレームと呼ばれるパケットも弁別対象となる場合もある。
したがって、従来技術を用いて各種のトラヒック走査を行う場合、ハッシュ種別数をNhとしデータ長をWとすると、ハッシュ演算部に備えるべきブルームフィルタの数は、おおよそNh×W個(ただし、W=通常時〜1500、最悪の場合16000)となり、極めて膨大な数のブルームフィルタを実装する必要がある。このため、多数のハッシュ演算部の出力を一時的に保持するレジスタ数も膨大なものとなるだけでなく、得られた複数の演算結果から適切な値を選択するためのセレクタ回路も多数の信号線を要するという問題がある。
このようなハッシュ値を照合データ記憶部に登録するエントリ登録部の具体例としては、ハッシュ演算部の外部にCPUを設けて、ハッシュ演算部で生成された各ハッシュ値のうちから、指定されたハッシュ種別および検査データ長に応じたハッシュ値を選択して登録する構成が考えられる。
しかしながら、このような外部CPUを用いたエントリ登録部の構成例では、エントリ登録処理を実行する外部CPUにかかるハードウェアに加えて、この外部CPUとハッシュ演算部や照合データ記憶部との間でハッシュ値をやり取りするための周辺回路が必要となるため、エントリ登録部においても回路規模および消費電力が大幅に増大するという問題点があった。
本発明はこのような課題を解決するためのものであり、エントリ登録に要する回路規模および消費電力を削減できるトラヒック弁別技術を提供することを目的としている。
このような目的を達成するために、本発明にかかるトラヒック走査方法は、弁別条件として予め登録されたエントリパターンと、走査対象となる通信ネットワーク上のトラヒックのパケットから抽出したトラヒックパターンとをパターン照合することにより、これらパケットのデータが所定のデータ集合に属するか否かを弁別するトラヒック走査装置で用いられるトラヒック走査方法であって、ハッシュ演算部が、前記エントリパターンまたは前記トラヒックパターンからなるキーの射像となるハッシュ値を生成するハッシュ演算ステップと、エントリ登録部が、前記エントリパターンからなるキーをもとにハッシュ値の生成を前記ハッシュ演算ステップに要求し、得られたハッシュ値をパターン照合時に陽性と判定される照合データとして照合データ記憶部に登録するエントリ登録ステップと、パターン照合部が、前記トラヒックの各パケットから順次抽出した前記トラヒックパターンごとに、当該トラヒックパターンからなるキーをもとにハッシュ値の生成を前記ハッシュ演算ステップに要求し、得られたハッシュ値と前記照合データ記憶部から読み出した前記照合データとを比較することにより前記パターン照合を行うパターン照合ステップと、照合結果弁別部が、前記パターン照合の結果、前記トラヒックパターンのハッシュ値のうちから前記照合データと一致する被疑パターンが検出された場合に、当該トラヒックパターンにかかるパケットのデータを陽性と弁別し、当該被疑パターンが検出されなかった場合に当該トラヒックパターンにかかるパケットのデータを陰性と弁別する照合結果弁別ステップとを備え、前記エントリ登録部は、特定用途向けプロセッサにより構成されるとともに、当該特定用途向けプロセッサに、前記照合データ記憶部への照合データの登録に用いるレジスタファイルを、パターン照合に用いる照合ハッシュ種別ごとにそれぞれ内蔵し、前記エントリ登録ステップは、前記照合ハッシュ種別ごとにエントリ登録専用命令をそれぞれ有し、これらエントリ登録専用命令を前記特定用途向けプロセッサで実行することにより、当該照合ハッシュ種別と対応する前記レジスタファイルを介して、前記ハッシュ演算ステップで生成された当該照合ハッシュ種別のハッシュ値を前記照合データとして前記照合データ記憶部へ登録するようにしたものである。
また、本発明にかかる上記トラヒック走査方法の一構成例は、前記特定用途向けプロセッサが、前記照合ハッシュ種別ごとのレジスタファイルとして、登録する照合データのハッシュ種別を指定するためのハッシュ種別指定用レジスタ、当該照合データを保持するための照合データ保持用レジスタ、および当該照合データの登録先アドレスを保持するためのアドレス指定用レジスタを備えるものである。
また、本発明にかかる上記トラヒック走査方法の一構成例は、前記特定用途向けプロセッサが、前記照合データ記憶部で照合データ保持する照合データ用記憶空間の大きさを設定するためのメモリサイズ設定用レジスタを備え、前記エントリ登録ステップは、メモリサイズ設定専用命令を前記特定用途向けプロセッサで実行することにより、入力パラメータで指定されたメモリサイズを、前記メモリサイズ設定用レジスタを用いて前記照合データ用記憶空間の大きさを設定するようにしたものである。
また、本発明にかかるトラヒック走査装置は、弁別条件として予め登録されたエントリパターンと、走査対象となる通信ネットワーク上のトラヒックのパケットから抽出したトラヒックパターンとをパターン照合することにより、これらパケットのデータが所定のデータ集合に属するか否かを弁別するトラヒック走査装置であって、前記エントリパターンまたは前記トラヒックパターンからなるキーの射像となるハッシュ値を生成するハッシュ演算部と、前記エントリパターンからなるキーをもとにハッシュ値の生成を前記ハッシュ演算部に要求し、得られたハッシュ値をパターン照合時に陽性と判定される照合データとして照合データ記憶部に登録するエントリ登録部と、前記トラヒックの各パケットから順次抽出した前記トラヒックパターンごとに、当該トラヒックパターンからなるキーをもとにハッシュ値の生成を前記ハッシュ演算部に要求し、得られたハッシュ値と前記照合データ記憶部から読み出した前記照合データとを比較することにより前記パターン照合を行うパターン照合部と、前記パターン照合の結果、前記トラヒックパターンのハッシュ値のうちから前記照合データと一致する被疑パターンが検出された場合に、当該トラヒックパターンにかかるパケットのデータを陽性と弁別し、当該被疑パターンが検出されなかった場合に当該トラヒックパターンにかかるパケットのデータを陰性と弁別する照合結果弁別部とを備え、前記エントリ登録部は、特定用途向けプロセッサにより構成されるとともに、当該特定用途向けプロセッサに、前記照合データ記憶部への照合データの登録に用いるレジスタファイルを、パターン照合に用いる照合ハッシュ種別ごとにそれぞれ内蔵し、前記照合ハッシュ種別ごとにエントリ登録専用命令を当該特定用途向けプロセッサで実行することにより、当該照合ハッシュ種別と対応する前記レジスタファイルを介して、前記ハッシュ演算部で生成された当該照合ハッシュ種別のハッシュ値を前記照合データとして前記照合データ記憶部へ登録するようにしたものである。
また、本発明にかかる上記トラヒック走査装置の一構成例は、前記特定用途向けプロセッサは、前記照合ハッシュ種別ごとのレジスタファイルとして、登録する照合データのハッシュ種別を指定するためのハッシュ種別指定用レジスタ、当該照合データを保持するための照合データ保持用レジスタ、および当該照合データの登録先アドレスを保持するためのアドレス指定用レジスタを備えるものである。
また、本発明にかかる上記トラヒック走査装置の一構成例は、前記特定用途向けプロセッサは、前記照合データ記憶部で照合データ保持する照合データ用記憶空間の大きさを設定するためのメモリサイズ設定用レジスタを備え、前記エントリ登録部は、メモリサイズ設定専用命令を前記特定用途向けプロセッサで実行することにより、入力パラメータで指定されたメモリサイズを、前記メモリサイズ設定用レジスタを用いて前記照合データ用記憶空間の大きさを設定するようにしたものである。
本発明によれば、特定用途向けプロセッサにエントリ登録部を内蔵する構成をとることにより、エントリ登録専用命令が実行されて、任意のハッシュ種別に関するハッシュ値が、高々10個程度の専用レジスタを介することにより、照合データとして照合データ記憶部へ登録される。
したがって、本実施の形態によれば、従来のようにハッシュ演算部の一時出力を受けるための多数のレジスタや巨大なセレクタ回路を必要とすることなく、また外部CPUを付加する構成と比較して、より小規模な回路でエントリ登録部を実現することができ、エントリ登録に要する回路規模を大幅に削減することができる。
第1の実施の形態にかかるトラヒック走査装置の構成を示すブロック図である。 一般的なRISCプロセッサの構成を示すブロック図である。 エントリ登録処理を示すフローチャートである。 パターン照合処理および照合結果弁別処理を示すフローチャートである。 第1の実施の形態にかかる全体的なトラヒック走査方法を示す説明図である。 ハッシュ演算専用命令セットの具体的な構成を示す説明図である。 エントリ登録専用命令セットを示す説明図である。 エントリ登録専用命令による動作を示すミュレーション例である。 第2の実施の形態にかかるトラヒック走査装置の構成を示すブロック図である。 第2の実施の形態にかかる全体的なトラヒック走査方法を示す説明図である。 従来のハッシュ演算部の要部構成を示す説明図である。
次に、本発明の実施の形態について図面を参照して説明する。
[第1の実施の形態]
まず、図1を参照して、本発明の第1の実施の形態にかかるトラヒック走査装置10について説明する。図1は、第1の実施の形態にかかるトラヒック走査装置の構成を示すブロック図である。
このトラヒック走査装置10は、弁別条件として予め登録されたエントリパターンと、走査対象となる通信ネットワーク上のトラヒックのパケットから抽出したトラヒックパターンとをパターン照合することにより、これらパケットのデータが所定のデータ集合に属するか否かを弁別する機能を有している。本実施の形態では、これらエントリパターンのハッシュ値からなる照合データの登録に、RISC(Reduced Instruction Set Computer:縮小命令セットコンピュータ)プロセッサなどの特定用途向けプロセッサ(ASIP:Application Specific Instruction Processor)を用いる点が特徴になる。
まず、本実施の形態にかかるトラヒック走査方法が前提とする一般的な特定用途向けプロセッサについて説明する。図2は、一般的なRISCプロセッサの構成を示すブロック図である。このようなRISCプロセッサの構成に対して、例えば特許文献1(構成可能な実行ユニットを有する高性能のハイブリッドプロセッサ)に開示されているASIP設計手法を適用することにより、特定用途向けの専用命令を実行するための演算ユニットないしレジスタを追加できることは、当業者であれば容易に理解することができる。
一般に、プロセッサが備えるロードストア命令はメモリおよびレジスタファイル間のデータ移動を伴うため、高性能な処理を指向する際に支配的なボトルネックとなる。本実施形態によれば、RISCプロセッサのパイプラインにおける実行ステージで結合された、算術論理演算ユニットおよびレジスタファイルを拡張してトラヒック走査専用命令を実行することができるため、一般的なRISCプロセッサで多発するようなロードストア命令の発行を抑制することができる。
また、算術論理演算ユニット内部は、アプリケーション設計者が独自に走査処理の効率化を加味した命令および並列化論理を構成できるため、結果としてトラヒック走査に要する処理サイクル数を大幅に削減することができる。
次に、図1を参照して、本実施の形態にかかるトラヒック走査装置10の構成について詳細に説明する。
図1に示すように、トラヒック走査装置10には、主な機能部として、ハッシュ演算部11、エントリ登録部12、照合データ記憶部13、走査パラメータ指定部14、パターン照合部15、照合結果弁別部16、信号入出力部17、および信号制御部18が設けられている。
ハッシュ演算部11は、エントリパターンまたはトラヒックパターンからなる検査キーデータの射像となるハッシュ値を生成する機能を有している。本実施の形態では、ハッシュ演算部11を特定用途向けプロセッサに内蔵する構成を例として説明する。
エントリ登録部12は、エントリパターンからなるキーをもとにハッシュ値の生成をハッシュ演算部11に要求し、得られたハッシュ値をパターン照合時に陽性と判定される照合データとして照合データ記憶部13に登録する機能を有している。本実施の形態は、エントリ登録部12を特定用途向けプロセッサ内部に構成したものであり、詳細について後述する。この特定用途向けプロセッサは、ハッシュ演算部11と兼用してもよく、別個に実装してもよい。
照合データ記憶部13は、エントリ登録部12により登録された各種照合データを記憶する機能を有している。
走査パラメータ指定部14は、走査データ長や演算するハッシュ種別などの各種入力パラメータを、信号制御部18の制御に基づいて予め静的に指定する機能を有している。指定した走査データ長に応じて、エントリ登録部12およびパターン照合部15のキー長が変更される。
パターン照合部15は、走査対象となるトラヒックの各パケットから順次抽出したトラヒックパターンごとに、当該トラヒックパターンからなるキーをもとにハッシュ値の生成をハッシュ演算部11に要求し、得られたハッシュ値と照合データ記憶部13から読み出した照合データとを比較してパターン照合を行うことにより、各トラヒックパターンが目的のエントリパターンに合致するか否かを検査する機能とを有している。
照合結果弁別部16は、パターン照合部15でのパターン照合の結果、トラヒックパターンのハッシュ値のうちから照合データと一致する被疑パターンが検出された場合に、当該トラヒックパターンにかかるパケットのデータを陽性と弁別し、当該被疑パターンが検出されなかった場合に当該トラヒックパターンにかかるパケットのデータを陰性と弁別する機能を有している。
信号入出力部17は、信号線Lを介して各機能部間においてトラヒックおよび各種値を転送する機能を有している。
信号制御部18は、信号線Lを介して各機能部の値を設定し、動作命令全体を制御する機能を有している。各機能部のパラメータは、信号制御部18により走査パラメータ指定部が制御され、図2の汎用レジスタにロードされる。
本実施の形態は、これらの機能部を用いて、所定の処理手順により、柔軟かつ高速にトラヒックを走査するようにしたものである。
本実施の形態では、エントリ登録部12とハッシュ演算部11の両方が、特定用途向けプロセッサから構成されている場合を例として説明する。
[第1の実施の形態の動作]
次に、図3〜図5を参照して、本実施の形態にかかるトラヒック走査装置10の動作について説明する。図3は、エントリ登録処理を示すフローチャートである。図4は、パターン照合処理および照合結果弁別処理を示すフローチャートである。図5は、第1の実施の形態にかかる全体的なトラヒック走査方法を示す説明図である。
トラヒック走査装置10では、対象となるトラヒックを走査する場合、まず、エントリ登録部12によりエントリ登録処理を実行して、弁別条件であるエントリパターンの登録を行った後、パターン照合部15によりパターン照合処理を実行して、登録済のエントリパターンとトラヒックのパケットから抽出したトラヒックパターンとのパターン照合を行うことにより、各パケットのデータが所定のデータ集合に属するか否かを弁別する。なお、照合に先だって、トラヒック走査装置10の信号制御部18は、走査データ長や演算するハッシュ種別が走査パラメータ指定部14により予め静的に指定されているものとし、登録・照合時には、図2に示す一般的な汎用レジスタにそれらをロードした値を用いる構成をとる。
まず、図3を参照して、エントリ登録処理の全体的な流れについて説明する。
エントリ登録部12は、まず、信号制御部18の照合設定情報からハッシュ種別および走査データ長を取得するとともに(ステップ100)、エントリパターンを取得する(ステップ101)。図5の例では、エントリパターンとして「10101010」、「01010101」、および「11111111」という3つのエントリパターンが用いられている。
続いて、エントリ登録部12は、これらエントリパターンに関するハッシュ値の生成をハッシュ演算部11に要求する(ステップ102)。この際、ハッシュ演算部11には、予めパターン照合に使用されうるハッシュ種別ごとにハッシュ演算専用命令が設けられており、エントリ登録部12は、走査パラメータ指定部14が指定するハッシュ種別のハッシュ演算専用命令を用いて、ハッシュ値を生成するよう要求する。
ハッシュ演算部11は、指定されたハッシュ演算命令を特定用途向けプロセッサの内部に構成した専用の演算器およびレジスタで実行することにより、ハッシュ値hentryを生成して出力する。
図5の例では、sax、sdbm、およびbernsteinからなる3種類のハッシュ種別について、それぞれのハッシュ値を生成するためのハッシュ演算専用命令sax_hash、sdbm_hash、およびbernstein_hashが、ハッシュ種別ごとに個別に設けられている。
したがって、これらハッシュ演算専用命令により、例えばエントリパターン「10101010」をkeyとして、照合ハッシュ種別として指定されたsax、sdbm、およびbernsteinからなる異なる3種類のハッシュ演算が3回繰り返された後、1つのハッシュ値hentryが生成される。
エントリ登録部12は、このようにしてハッシュ演算部11で生成されたハッシュ値hentryを受け取り、これらハッシュ値hentryを、パターン照合時における陽性判定となる被疑パターンを示す照合データ(positive値)として照合データ記憶部13にそれぞれ登録し(ステップ103)、一連のエントリ登録処理を終了する。
次に、図4を参照して、パターン照合処理の全体的な流れについて説明する。
パターン照合部15は、まず、エントリ登録処理と同様にして、走査パラメータ指定部14により信号制御部18に指定された値からハッシュ種別および走査データ長を取得する(ステップ110)。
続いて、パターン照合部15は、照合データ記憶部13から前述したエントリ登録処理で予め登録されている照合データを取得する(ステップ111)。この照合データは、走査パラメータであるハッシュ種別および走査データ長に基づき生成されたものである。
次に、パターン照合部15は、信号入出力部17により、走査対象となるトラヒックからパケットバイパケットにトラヒックパターンを抽出し(ステップ112)、このトラヒックパターンに関するハッシュ値の生成をハッシュ演算部11に要求する(ステップ113)。この際、パターン照合部15は、エントリ登録処理12と同様にして、ハッシュ演算部11にハッシュ値の生成を要求する。
これにより、エントリ登録処理と同様にして、ハッシュ演算部11により、照合ハッシュ種別および検査データ長に応じた1つのハッシュ値hcheckが生成される。
パターン照合部15は、このようにしてハッシュ演算部11で生成されたハッシュ値hcheckを受け取り、これらハッシュ値hcheckを、被疑パターンを示す照合データ(positive値)と照合する(ステップ114)。
この照合において、ハッシュ値hcheckと照合データとが一致せず、被疑パターンが検出されなかった場合(ステップ115:NO)、照合結果弁別部16は、当該トラヒックパターンに関する照合結果が陰性であると判定し(ステップ116)、ステップ112へ移行して新たなパケットに関するパターン照合を開始する。
一方、ハッシュ値hcheckと照合データとが一致し、被疑パターンが検出された場合(ステップ115:YES)、照合結果弁別部16は、当該トラヒックパターンに関する照合結果が陽性であると判定し(ステップ117)、ステップ112へ移行して新たなパケットに関するパターン照合を繰り返す。当該装置の利用者が照合プログラムの停止を指示するとき、一連のパターン照合処理を終了する。
これにより、被疑パターンを検出でき、信号制御部18を用いて該当トラヒックの分離や遮断、規制、廃棄等の制御を行うことができる。
[ハッシュ演算部の詳細]
次に、図5を参照して、本実施の形態にかかるハッシュ演算部11の詳細を説明する。
通信トラヒックの走査において目的とするトラヒックパターンを検出するため、弁別条件として、予め検出したいパターンを示すエントリパターンを、エントリ登録部12により照合データ記憶部13に登録しておく必要がある。この際、登録できるエントリパターンの数は実装するプロセッサ、論理回路およびシステムによって区々であるが、エントリパターン数nと記憶空間上のハッシュテーブルのサイズmが決定しているとき、偽陽性確率pを最小化できるようなハッシュ演算数kが定式化され、広く知られている。非特許文献1および非特許文献2に詳述されているため、詳細は割愛するが、関係式は次の式(1)の通りである。また、偽陽性確率pは次の式(2)のようになる。
Figure 0005952240
Figure 0005952240
ブルームフィルタを用いることにより、照合データ(positive値)中に偽陽性確率pの分だけ、擬陽性(false positive)が生じることを許容することにより、記憶空間の効率(m/n)を高めながらハッシュ演算量kを決めることができる。ただし、非特許文献1および非特許文献2に示されているブルームフィルタによれば、エントリパターンの登録はできても削除ができない。このため、エントリパターンの登録数nが増えるにしたがってハッシュテーブルサイズmが大きくなり、偽陽性確率pが増えてしまうという課題がある。
このような課題に関する対処手法も広く知られており、CBF(Counting Bloom Filter)と呼ばれる。オリジナルのブルームフィルタにおけるハッシュテーブルの最小構成要素が1ビットのメモリであるのに対し、CBFは数ビットに拡張してカウンタを構成し、カウンタをインクリメントおよびデクリメントすることによりエントリの削除ができるように拡張したデータ構造を有している。非特許文献3は、通信トラヒックのデータ内部の走査とは異なるアプリケーションであるが、パケットのヘッダ部分を最長一致検索する際にCBFを応用している。
説明を簡略化するため、図5に例示したトラヒック走査方法において、ブルームフィルタをCBFにした場合のエントリの削除手段については図示していない。ただし、当業者であれば容易にエントリの削除手段の実装方法を着想することができるため、本実施の形態にかかるエントリ登録部12および照合データ記憶部13は、エントリの削除に対応することを含意する。
ハッシュ演算部11は、エントリ登録部12から入力されたエントリパターンの値をキーとして、単一種類のハッシュ演算手順をk回繰り返す。あるいは、複数種類のハッシュ演算手順を組み合わせてk回演算してもよい。いずれにせよ、入力されたエントリパターンに対し、射影関係となるハッシュ値を1つ生成し、エントリ登録部12に出力する機能を持つ。
一方、パターン照合部15から入力されたトラヒックパターンについて、エントリパターンに対応する長さのフィールドの値をキーとして、単一種類のハッシュ演算手順をk回繰り返す。あるいは、複数種類のハッシュ演算を組み合わせてk回演算してもよい。いずれにせよ、入力されたトラヒックパターンに対して射影関係となるハッシュ値を生成し、パターン照合部15に出力する機能を持つ。
ハッシュ値の演算手順に関しては、アルゴリズム単体でも数十種類の方式があるため、本実施の形態では、図5に示すよう、sax_hash,sdbm_hash,bernstein_hashからなる3種類のハッシュ演算アルゴリズムを例として用いる。ハッシュ演算専用の命令セットを構成する際には、もちろん3種類のみに限定されるものではなく、他の方式を採用することによりハッシュ値の分散特性を改善させることができ、偽陽性確率pの低減に繋がる。本実施の形態では、例として3種類のハッシュ演算手順を組み合わせてhentryおよびhcheckを求めている。
図6は、ハッシュ演算専用命令セットの具体構成を示す説明図である。ここでは、専用命令ごとに、当該処理を実現するハッシュ演算用回路の基本構成例が示されている。命令フォーマットのビット幅は一般的には32ビット長であることが多いが、選択するASIP設計技術によって16ビットや24ビットなど複数の実装解があり得る。選択したASIP設計技術が提供する専用言語を用いて図6に示すハッシュ演算回路を記述する。尚、演算ハッシュ種別および走査データ長は、走査パラメータ指定部14により図2の汎用レジスタにロードされた値が用いられる。
図6において、機械語へのマッピングを担う命令は、sax_hash,sdbm_hash,bernstein_hashである。各ハッシュ演算用回路では、入力レジスタファイルから各々32ビットのキー(key)および暫定ハッシュ値(h)を取得し、所定の手順を経て最終的にはhentryおよびhcheckとして用いられるハッシュ値を出力レジスタファイルに出力する。
[エントリ登録部]
次に、図7を参照して、本実施の形態にかかるエントリ登録部12の詳細を説明する。図7は、エントリ登録専用命令セットを示す説明図である。
本実施の形態にかかるエントリ登録部12は、パターン照合に用いるハッシュ種別ごとに、エントリ登録専用の命令セットを備えている。
図7の例では、前述したsax_hash,sdbm_hash,bernstein_hashからなる3種類のハッシュ種別ごとに、sax_set_bit,sdbm_set_bit,bernstein_set_bitからなる専用命令が設けられており、これら専用命令ごとに、当該専用命令を備える対応機能部、当該専用命令の拡張レジスタファイル構成、当該レジスタファイルのビット幅、および当該レジスタファイルに対する外部アクセスの可否が示されている。
これらのビット操作命令は、図6に示すように、各々独立した32ビットの拡張レジスタファイルを有する。これらはエントリ登録部12だけでなく、ハッシュ演算部11からもアクセスされるため、エントリ登録時の利用に限定されるものではなく、パターン照合部15においても間接的に利用される。
照合データ記憶部13に登録する照合データのハッシュ種別を指定するためのハッシュ種別指定用レジスタEx_hash_selは、sax,sdbm,bernstein各々について利用され、プログラムにより切り替えるため、外部アクセス可能となっている。照合データ記憶部13に登録する照合データを保持するための照合データ保持用レジスタEx_sax_hash_bit、Ex_sdbm_hash_bit、Ex_bernstein_hash_bit、および、照合データ記憶部13における照合データ登録先アドレスを保持するためのアドレス指定用レジスタEx_sax_hash_addr、Ex_sdbm_hash_addr、Ex_bernstein_hash_addrは内部レジスタであり、プログラムからの直接アクセスはできない。
これらエントリ登録専用命令は、それぞれのレジスタを用いて、ハッシュ演算部11で生成された各ハッシュ値のうちから、自己の命令と対応するハッシュ種別のハッシュ値を選択し、照合データとして照合データ記憶部13へ登録する。
図8は、エントリ登録専用命令による動作を示すミュレーション例である。ここでは、ハッシュ演算部およびエントリ登録部の各命令の動作関係について、1000件のエントリを登録した場合のシミュレーション結果が示されている。
これらエントリ登録専用命令は、エントリパターン登録の都度、独立並行にレジスタアクセスおよびメモリのロードストアを実施する。
命令の起動順序は、各ハッシュ演算専用命令の実行直後にエントリ登録専用命令がハッシュ演算種別ごとに起動される。つまり、sax_hashとsax_set_bitを実行後、sdbm_hashとsdbm_set_bitを実行し、最後にbernstein_hashとbernstein_set_bitを実行する。これらの専用命令は、C言語等の高級言語で実装されたエントリ登録用の関数から、組み込み関数として起動することができる。
また、図7には、照合データ記憶専用命令であるset_sizeについても示されている。照合データ記憶部13は、ブルームフィルタにおける陽性の照合データを保持する記憶空間の大きさを規定するため、32ビットの拡張レジスタファイルEx_bloom_sizeを有する。このレジスタは、外部アクセスが可能なため、ハードウェアとして別途指定したメモリ容量の範囲内で、プログラム側から照合データ記憶専用命令であるset_sizeにより、予め記憶空間の大きさを任意に設定することができる。
以下は、例示であって限定するものではないが、本実施形態においては256Kbit×8を指定し、1000件の固定長エントリを登録後、50000件のパケットデータを用いたシミュレーションを実施したところ、偽陽性出現率は0であった。いずれにせよ、偽陽性確率pおよびハッシュテーブルのサイズmを考慮の上、Ex_bloom_sizeを決定すればよい。命令の起動順序としては、ブルームフィルタの構築時にset_size命令が起動され、レジスタEx_bloom_sizeの初期設定を実施する。
図6の各レジスタファイルを追加することによるハードウェア規模の増加率は、全体の10%程度に抑えることができるため、効率的なエントリ登録および照合データ記憶が可能となっている。
以下、本発明のトラヒック走査方法における、エントリ登録部12以降の処理動作について説明する。
エントリ登録部12に入力されたhentryは、エントリパターンがハッシュ値に射影された縮約表現と見なすことができ、トラヒックパターン照合時に陽性を示すための照合データ、すなわちpositive値となる。エントリ登録部12は、この照合データをビット操作により照合データ記憶部13に登録する。
パターン照合部15は、走査対象となるトラヒックからパケットバイパケットに抽出したトラヒックパターンのうち、エントリパターンに対応するフィールドの値をキーとして指定してハッシュ演算部11にハッシュ値の生成を要求し、演算結果としてハッシュ値hcheckを得る。
照合結果弁別部16は、このhcheckを照合データ記憶部13から読み出した照合データと比較照合した結果、陽性と判別された場合、被疑パターンの検出を完了し、信号制御部18を用いてトラヒックの分離や遮断、規制、廃棄等の制御を行うことができる。
エントリパターンに該当列が存在していることから陽性判定は明らかであるが、図5では簡単のため「Field ”10101010” is probably a member.」と表記している。実際にそのようなメッセージが出力されるとは限らない。ただし、本実施例では偽陽性無しの真の陽性と判別されているが、ブルームフィルタの原理として、あくまでも該当列が存在している「可能性がある」ことだけが分かる。つまり、偽陽性(false positive)が含まれる可能性もある。
一方、陰性の場合は、被疑パターンの検出無しを意味する「Field“11101110”is definitely not a member.」と表記している。この場合、ブルームフィルタの原理より、被疑パターンはエントリの集合には絶対に存在しないことが分かる。すなわち、偽陰性(false positive)の可能性は一切ない。そのため、陰性のトラヒックは信号制御部18を用いて透過する等の制御を実施することができる。
[第1の実施の形態の効果]
このように、本実施の形態は、エントリ登録部12を特定用途向けプロセッサにより構成するとともに、この特定用途向けプロセッサに、照合データ記憶部13への照合データの登録に用いるレジスタファイルを、パターン照合に用いる照合ハッシュ種別ごとにそれぞれ内蔵し、この特定用途向けプロセッサで、照合ハッシュ種別ごとに設けたエントリ登録専用命令を実行することにより、当該照合ハッシュ種別と対応するレジスタファイルを介して、ハッシュ演算部11で生成された当該照合ハッシュ種別のハッシュ値を照合データとして照合データ記憶部13へ登録するようにしたものである。
この際、より具体的には、特定用途向けプロセッサに、照合ハッシュ種別ごとのレジスタファイルとして、登録する照合データのハッシュ種別を指定するためのハッシュ種別指定用レジスタ、当該照合データを保持するための照合データ保持用レジスタ、および当該照合データの登録先アドレスを保持するためのアドレス指定用レジスタを備えるようにしたものである。
これにより、特定用途向けプロセッサに内蔵するエントリ登録部12において、エントリ登録専用命令が実行されて、任意のハッシュ種別に関するハッシュ値が、高々10個程度の専用レジスタを介することにより、照合データとして照合データ記憶部13へ登録される。
したがって、本実施の形態によれば、従来のようにハッシュ演算部の一時出力を受けるための多数のレジスタや巨大なセレクタ回路を必要とすることなく、また外部CPUを付加する構成と比較して、より小規模な回路でエントリ登録部を実現することができ、エントリ登録に要する回路規模を大幅に削減することができる。
また、本実施の形態において、エントリ登録部12の特定用途向けプロセッサに、照合データ記憶部13で照合データ保持する照合データ用記憶空間の大きさを設定するためのメモリサイズ設定用レジスタを設け、メモリサイズ設定専用命令を特定用途向けプロセッサで実行することにより、入力パラメータで指定されたメモリサイズを、メモリサイズ設定用レジスタを介して照合データ用記憶空間の大きさを設定するようにしてもよい。
これにより、ハードウェアとして別途指定したメモリ容量の範囲内で、プログラム側からメモリサイズ設定専用命令により、記憶空間の大きさを任意に設定できるため、所望の擬陽性確率でトラヒック走査を実行することができる。
また、本実施の形態において、ハッシュ演算部11を特定用途向けプロセッサにより構成するとともに、この特定用途向けプロセッサに、特定の照合ハッシュ種別に関するハッシュ演算手順を実行することにより当該照合ハッシュ種別に関するハッシュ値を算出するハッシュ演算用回路を、パターン照合に用いる照合ハッシュ種別ごとにそれぞれ内蔵し、この特定用途向けプロセッサで、照合ハッシュ種別ごとに設けたハッシュ演算専用命令を実行することにより、入力パラメータとして指定されたキーおよび検査データ長に基づいて当該ハッシュ演算用回路の動作を制御して、当該照合ハッシュ種別のハッシュ値を生成して出力するようにしてもよい。
これにより、特定用途向けプロセッサからなるハッシュ演算部11において、ハッシュ演算専用命令が実行されて、ハッシュ種別ごとに1つずつ設けられているハッシュ演算用回路で、任意のハッシュ種別および検査データ長に関するハッシュ値が生成される。したがって、従来技術のように、ハッシュ種別ごとのブルームフィルタを検査データ長ごとに別個に設ける必要がなくなるため、本実施の形態によれば、ハッシュ演算に要する回路規模を大幅に削減することができる。
このため、ハッシュ種別数をNhとしデータ長をWとするとき、従来のハッシュ演算部に備えるべきブルームフィルタの数は、おおよそNh×W個(ただし、W=通常時〜1500、最悪の場合16000)であったのに対し、本発明によればNh×W個(ただし、W=数個)で構成することができる。したがって、9000バイトや16000バイトのデータ長を有する、いわゆるジャンボフレームと呼ばれるパケットを弁別対象とする場合でも、1500バイトのデータ長を有する標準的なパケットと同様、ハッシュ種別ごとに1つずつ設けた少数のハッシュ演算用回路で対応することができ、極めて高い実装効率を実現することが可能となる。
[第2の実施の形態]
次に、図9を参照して、本発明の第2の実施の形態にかかるトラヒック走査装置10について説明する。図9は、第2の実施の形態にかかるトラヒック走査装置の構成を示すブロック図である。
第1の実施の形態と比較して、本実施の形態にかかるトラヒック走査装置10には、走査パラメータ指定部14に代えて、走査ウィンドウ設定部19が追加されている。
走査ウィンドウ設定部19は、パターン照合部15において、トラヒックパターンのハッシュ値と、照合データ記憶部13から読み出した照合データ(positive値)とをパターン照合する際、予め登録されているプログラムに従って、プログラムに従って、演算するハッシュ種別(アルゴリズム)や走査位置(オフセット)および走査データ長(マスク)を動的に変更する機能を有している。
図10は、第2の実施の形態にかかる全体的なトラヒック走査方法を示す説明図である。
走査ウィンドウ設定部19は、前述したアルゴリズムやオフセットおよびマスクを、対応する各機能部に指定する。
これに応じて、パターン照合部15は、ハッシュ値および照合データの全ビットをパターン照合するのではなく、プログラムで指定された走査ウィンドウ内のビットについてのみパターン照合する。このため、走査ウィンドウ設定部19によりマスクされたビット部分については、パターン照合されなくなる。
また、被疑パターンが検出されて、照合結果が陽性であると判定されるまでの一連のパターン照合処理において、処理の途中で走査位置および走査データ長を変更することができる。
したがって、トラヒック走査パラメータを動的に調整することが可能となり、極めて柔軟性の高いトラヒック走査を実現することが可能となる。
また、従来技術のようにハードウェアからなるブルームフィルタを並列に配置する構成では、所望の検査データ長を設定する方法として、対応するレジスタを制御CPU等を用いて直接再指定するなどの対応が考えられるが、柔軟性が高い構成とは言い難い。本実施の形態によれば、ハッシュ種別やマスク、オフセット等のパラメータを走査ウィンドウ設定部19で動的に変更することができ、極めて柔軟性の高い構成を実現することが可能となる。
[実施の形態の拡張]
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解しうる様々な変更をすることができる。また、各実施形態については、矛盾しない範囲で任意に組み合わせて実施することができる。
以上、実施の形態の説明において「〜部」と記載した各機能部については、「〜手段」、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜処理」であってもよい。
また、本実施の形態で示した従来技術に比べて極めてコンパクトな回路構成による走査処理の効率性、およびプログラムによるトラヒック走査設定の柔軟性の両立を可能とするような命令セットを、特定用途向けプロセッサが具備する構成を最良の形態と見なしているものの、「〜部」と記載した各機能部は、ROMに記憶されたファームウェアおよび再構成型デバイス・素子・基板・配線などのハードウェアで実現されていても構わない。
また、各機能部は、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPUにより読み出されて実行される。すなわち、プログラムは、本実施の形態にかかる各機能部としてコンピュータを機能させるものである。あるいは、各機能部の手順や方法をコンピュータに実行させるものである。
10…トラヒック走査装置、11…ハッシュ演算部、12…エントリ登録部、13…照合データ記憶部、14…走査パラメータ設定部、15…パターン照合部、16…照合結果弁別部、17…信号入出力部、18…信号制御部、19…走査ウィンドウ設定部、L…信号線。

Claims (6)

  1. 弁別条件として予め登録されたエントリパターンと、走査対象となる通信ネットワーク上のトラヒックのパケットから抽出したトラヒックパターンとをパターン照合することにより、これらパケットのデータが所定のデータ集合に属するか否かを弁別するトラヒック走査装置で用いられるトラヒック走査方法であって、
    ハッシュ演算部が、前記エントリパターンまたは前記トラヒックパターンからなるキーの射像となるハッシュ値を生成するハッシュ演算ステップと、
    エントリ登録部が、前記エントリパターンからなるキーをもとにハッシュ値の生成を前記ハッシュ演算ステップに要求し、得られたハッシュ値をパターン照合時に陽性と判定される照合データとして照合データ記憶部に登録するエントリ登録ステップと、
    パターン照合部が、前記トラヒックの各パケットから順次抽出した前記トラヒックパターンごとに、当該トラヒックパターンからなるキーをもとにハッシュ値の生成を前記ハッシュ演算ステップに要求し、得られたハッシュ値と前記照合データ記憶部から読み出した前記照合データとを比較することにより前記パターン照合を行うパターン照合ステップと、
    照合結果弁別部が、前記パターン照合の結果、前記トラヒックパターンのハッシュ値のうちから前記照合データと一致する被疑パターンが検出された場合に、当該トラヒックパターンにかかるパケットのデータを陽性と弁別し、当該被疑パターンが検出されなかった場合に当該トラヒックパターンにかかるパケットのデータを陰性と弁別する照合結果弁別ステップとを備え、
    前記エントリ登録部は、特定用途向けプロセッサにより構成されるとともに、当該特定用途向けプロセッサに、前記照合データ記憶部への照合データの登録に用いるレジスタファイルを、パターン照合に用いる照合ハッシュ種別ごとにそれぞれ内蔵し、
    前記エントリ登録ステップは、前記照合ハッシュ種別ごとにエントリ登録専用命令をそれぞれ有し、これらエントリ登録専用命令を前記特定用途向けプロセッサで実行することにより、当該照合ハッシュ種別と対応する前記レジスタファイルを介して、前記ハッシュ演算ステップで生成された当該照合ハッシュ種別のハッシュ値を前記照合データとして前記照合データ記憶部へ登録する
    ことを特徴とするトラヒック走査方法。
  2. 請求項1に記載のトラヒック走査方法において、
    前記特定用途向けプロセッサは、前記照合ハッシュ種別ごとのレジスタファイルとして、登録する照合データのハッシュ種別を指定するためのハッシュ種別指定用レジスタ、当該照合データを保持するための照合データ保持用レジスタ、および当該照合データの登録先アドレスを保持するためのアドレス指定用レジスタを備えることを特徴とするトラヒック走査方法。
  3. 請求項1または請求項2に記載のトラヒック走査方法において、
    前記特定用途向けプロセッサは、前記照合データ記憶部で照合データ保持する照合データ用記憶空間の大きさを設定するためのメモリサイズ設定用レジスタを備え、
    前記エントリ登録ステップは、メモリサイズ設定専用命令を前記特定用途向けプロセッサで実行することにより、入力パラメータで指定されたメモリサイズを、前記メモリサイズ設定用レジスタを用いて前記照合データ用記憶空間の大きさを設定する
    ことを特徴とするトラヒック走査方法。
  4. 弁別条件として予め登録されたエントリパターンと、走査対象となる通信ネットワーク上のトラヒックのパケットから抽出したトラヒックパターンとをパターン照合することにより、これらパケットのデータが所定のデータ集合に属するか否かを弁別するトラヒック走査装置であって、
    前記エントリパターンまたは前記トラヒックパターンからなるキーの射像となるハッシュ値を生成するハッシュ演算部と、
    前記エントリパターンからなるキーをもとにハッシュ値の生成を前記ハッシュ演算部に要求し、得られたハッシュ値をパターン照合時に陽性と判定される照合データとして照合データ記憶部に登録するエントリ登録部と、
    前記トラヒックの各パケットから順次抽出した前記トラヒックパターンごとに、当該トラヒックパターンからなるキーをもとにハッシュ値の生成を前記ハッシュ演算部に要求し、得られたハッシュ値と前記照合データ記憶部から読み出した前記照合データとを比較することにより前記パターン照合を行うパターン照合部と、
    前記パターン照合の結果、前記トラヒックパターンのハッシュ値のうちから前記照合データと一致する被疑パターンが検出された場合に、当該トラヒックパターンにかかるパケットのデータを陽性と弁別し、当該被疑パターンが検出されなかった場合に当該トラヒックパターンにかかるパケットのデータを陰性と弁別する照合結果弁別部とを備え、
    前記エントリ登録部は、特定用途向けプロセッサにより構成されるとともに、当該特定用途向けプロセッサに、前記照合データ記憶部への照合データの登録に用いるレジスタファイルを、パターン照合に用いる照合ハッシュ種別ごとにそれぞれ内蔵し、前記照合ハッシュ種別ごとにエントリ登録専用命令を当該特定用途向けプロセッサで実行することにより、当該照合ハッシュ種別と対応する前記レジスタファイルを介して、前記ハッシュ演算部で生成された当該照合ハッシュ種別のハッシュ値を前記照合データとして前記照合データ記憶部へ登録する
    ことを特徴とするトラヒック走査装置。
  5. 請求項4に記載のトラヒック走査装置において、
    前記特定用途向けプロセッサは、前記照合ハッシュ種別ごとのレジスタファイルとして、登録する照合データのハッシュ種別を指定するためのハッシュ種別指定用レジスタ、当該照合データを保持するための照合データ保持用レジスタ、および当該照合データの登録先アドレスを保持するためのアドレス指定用レジスタを備えることを特徴とするトラヒック走査装置。
  6. 請求項4または請求項5に記載のトラヒック走査装置において、
    前記特定用途向けプロセッサは、前記照合データ記憶部で照合データ保持する照合データ用記憶空間の大きさを設定するためのメモリサイズ設定用レジスタを備え、
    前記エントリ登録部は、メモリサイズ設定専用命令を前記特定用途向けプロセッサで実行することにより、入力パラメータで指定されたメモリサイズを、前記メモリサイズ設定用レジスタを用いて前記照合データ用記憶空間の大きさを設定する
    ことを特徴とするトラヒック走査装置。
JP2013180555A 2013-08-30 2013-08-30 トラヒック走査方法および装置 Expired - Fee Related JP5952240B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013180555A JP5952240B2 (ja) 2013-08-30 2013-08-30 トラヒック走査方法および装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013180555A JP5952240B2 (ja) 2013-08-30 2013-08-30 トラヒック走査方法および装置

Publications (2)

Publication Number Publication Date
JP2015050598A JP2015050598A (ja) 2015-03-16
JP5952240B2 true JP5952240B2 (ja) 2016-07-13

Family

ID=52700269

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013180555A Expired - Fee Related JP5952240B2 (ja) 2013-08-30 2013-08-30 トラヒック走査方法および装置

Country Status (1)

Country Link
JP (1) JP5952240B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7444515B2 (en) * 2003-08-14 2008-10-28 Washington University Method and apparatus for detecting predefined signatures in packet payload using Bloom filters
JP5127670B2 (ja) * 2008-11-04 2013-01-23 三菱電機株式会社 フィルタ装置及びフィルタ方法及びプログラム
US8788766B2 (en) * 2010-02-18 2014-07-22 Oracle America, Inc. Software-accessible hardware support for determining set membership

Also Published As

Publication number Publication date
JP2015050598A (ja) 2015-03-16

Similar Documents

Publication Publication Date Title
KR101615915B1 (ko) 어드밴스드 피처를 갖는 정규 표현식 패턴에 대한 비결정성 유한 오토마톤 (nfa) 생성
JP6804668B2 (ja) ブロックデータ検証方法および装置
US9495479B2 (en) Traversal with arc configuration information
US10819633B2 (en) Data-plane stateful processing units in packet processing pipelines
US20200204501A1 (en) Data-plane stateful processing units in packet processing pipelines
US8180803B2 (en) Deterministic finite automata (DFA) graph compression
US7949683B2 (en) Method and apparatus for traversing a compressed deterministic finite automata (DFA) graph
US10523764B2 (en) Data-plane stateful processing units in packet processing pipelines
US20150039626A1 (en) Building a hash table using vectorized instructions
JP2021512426A (ja) ポリシ実行処理のためのシステムおよび方法
US10204046B1 (en) High-speed and memory-efficient flow cache for network flow processors
US20180183574A1 (en) Efficient cryptographically secure control flow integrity protection
CN115917520A (zh) 用于通过分布式算法为可编程数据平面提供lpm实现的系统
CN115917473A (zh) 用分布式lpm实现的高度可扩展算法构建数据结构的系统
US10601711B1 (en) Lens table
JP5952240B2 (ja) トラヒック走査方法および装置
US12019606B1 (en) Hash operation manipulations
JP5952239B2 (ja) トラヒック走査方法および装置
US10511531B1 (en) Enhanced lens distribution
JP6096084B2 (ja) トラヒック走査装置及び方法
US9104866B2 (en) Pattern matching engine, terminal apparatus using the same, and method thereof
US10355994B1 (en) Lens distribution
US20220113969A1 (en) Techniques for use of a large scale multi-literal matching algorithm
CN109802824A (zh) 一种移位处理的方法、装置、计算机存储介质及终端
US9304917B2 (en) Flush control apparatus, flush control method and cache memory apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150703

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160527

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160609

R150 Certificate of patent or registration of utility model

Ref document number: 5952240

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees