JP5667009B2 - ルータ装置及びデータ解析方法 - Google Patents

ルータ装置及びデータ解析方法 Download PDF

Info

Publication number
JP5667009B2
JP5667009B2 JP2011173412A JP2011173412A JP5667009B2 JP 5667009 B2 JP5667009 B2 JP 5667009B2 JP 2011173412 A JP2011173412 A JP 2011173412A JP 2011173412 A JP2011173412 A JP 2011173412A JP 5667009 B2 JP5667009 B2 JP 5667009B2
Authority
JP
Japan
Prior art keywords
packet
signature
dpi
router
unit
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
JP2011173412A
Other languages
English (en)
Other versions
JP2013038610A (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 JP2011173412A priority Critical patent/JP5667009B2/ja
Publication of JP2013038610A publication Critical patent/JP2013038610A/ja
Application granted granted Critical
Publication of JP5667009B2 publication Critical patent/JP5667009B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、IPネットワークにおいてパケットを解析するルータ装置及びデータ解析方法に関する。
現在のIP(Internet Protocol)ネットワークでは、データが保存されているサーバ(HTTPサーバやFTPサーバなど)とユーザ端末(携帯端末やパーソナルコンピュータなど)との間で、又はユーザ端末間で、動画、画像、音楽などの各種マルチメディア情報が通信されたり、またウェブアプリケーションサービスなどの各種サービスが提供されている。このようなIPネットワークでは、通常、サーバとユーザ端末との間にある、又はユーザ端末間にあるルータやスイッチなどのIPネットワーク中継装置が、通信フローを制御及び解析している。
このような通信フローを解析する1つの方法として、DPI(Deep Packet Inspection)という技術が知られている。DPI処理では、IPネットワーク中継装置を通過するパケットのペイロードパターンに対して、予め指定されたパターンに対するパターンマッチングを実行することによってパケットが識別される。このようなDPI処理を利用するパケット解析装置は、ネットワークの光ファイバなどを分岐したものからデータを入力し解析を行うか、ルータとルータとの間に設置されるか、ルータなどの装置においてコピーされたパケットを受信し解析を行っている。
具体的なDPIパケット解析のための方法として、典型的には、フルプロセッシングタイプとフローベースプロセッシングタイプの2つのDPIパケット解析方法が知られている。フルプロセッシングタイプのDPIパケット解析方法は、ルータに入力されるすべてのフローを解析するものであり、図1に示されるように、典型的には2種類の実装が利用されている。図1の上部に示される実装では、ルータ基本機能部が、入力されるトラヒックフローの一部をDPIプロセッサにわたし、DPIが一部のトラヒックを解析する。他方、図1の下部に示される実装では、すべてのトラヒックがDPIプロセッサにより解析される。
他方、フローベースプロセッシングタイプのDPIパケット解析方法は、ルータ基本機能部が、入力されるトラヒックフローの最初の一部のパケットのみをDPIプロセッサにわたす。一般に、トラヒックフローの最初の部分は、当該トラヒックの特徴的な動きやビット列が存在する可能性が高いためである。DPIプロセッサは、受信したパケットを解析し、受信したパケットがDPI処理の対象であると判断すると、当該パケットの送信者と宛先とのアドレス及びポート番号を特定してルータ基本機能部に通知する。ルータ基本機能部は、DPIプロセッサにより通知された送信者と宛先とのアドレス及びポート番号に基づき、以降に入力されるトラヒックフローを解析する。
NetOptics TAP(http://www.bitrieve.co.jp/netoptics/netoptics tap.html ファイアウォールの基礎から応用(http://www.soi.wide.ad.jp/class/20060031/slides/18/50.html)
上述したような従来のシステムでは、DPI処理のようなパケットペイロードの特定のビットシーケンスを検索する複雑な処理は、パケット転送のための固定位置にある固定長のビットシーケンスしか参照しないIPルータには困難であった。このため、ルータとは別のDPI装置を用意し、当該DPI装置にパケットを転送するため、ルータ間にデータ分岐用のタップやスイッチを挿入するか、DPI装置自体をルータ間に挿入することによってDPIパケット解析処理が実装されていた。
しかしながら、この場合、DPI装置を導入するため通信回線を一度切断する必要があり、またDPI装置が故障した場合には通信回線が全断するなどのおそれがあった。
また、上述したパケット解析処理を単一のDPIプロセッサに実行させる場合、DPIプロセッサに大きな処理負荷がかかり、パフォーマンスが低下する可能性もある。
従って、上述した問題点を鑑み、本発明の課題は、複数のDPIプロセッサを用いて高速かつ複雑なパケット解析処理を実現すると共に、DPIプロセッサのアドオンによりルータへの機能増設及び外部装置へのリダイレクトを容易に実現することである。
上記課題を解決するため、本発明の一特徴は、データ解析機能を有するルータ装置であって、入力されたパケットのヘッダから所定のデータ要素を抽出し、前記抽出されたデータ要素が第1シグネチャテーブルに登録されているシグネチャに一致するか判定することによって、前記パケットに対してさらなる解析が必要か判断するルータ基本機能部と、前記ルータ基本機能部から前記パケットを受信すると、前記パケットのペイロードから所定のビット長のビットシーケンスを抽出し、前記抽出されたビットシーケンスが第2シグネチャテーブルに登録されているシグネチャに一致するか判定することによって、前記パケットに対してさらなる解析が必要か判断する1以上のDPI部と、前記DPI部から前記パケットを受信すると、前記パケットが第3シグネチャテーブルに登録されているシグネチャに一致するビットシーケンスを含むか判定することによって、前記パケットを解析するパケット分析機能部とを有するルータ装置に関する。
本発明によると、複数のDPIプロセッサを用いて高速かつ複雑なパケット解析処理を実現すると共に、DPIプロセッサのアドオンによりルータへの機能増設及び外部装置へのリダイレクトを容易に実現することができる。
図1は、従来技術によるパケット解析方法(フルプロセッシング)を説明する概略図である。 図2は、従来技術によるパケット解析方法(フローベースプロセッシング)を説明する概略図である。 図3は、本発明の第1実施例によるルータ装置の構成を示す図である。 図4は、本発明の第1実施例によるルータ装置の動作を示すシーケンス図である。 図5は、本発明の第2実施例によるルータ装置の構成を示す図である。 図6は、本発明の第2実施例によるルータ装置の動作を示すシーケンス図である。
以下、図面に基づいて本発明の実施の形態を説明する。
図3〜4を参照して、本発明の第1実施例によるルータ装置を説明する。まず、図3を参照して、本発明の第1実施例によるルータ装置の構成を説明する。図3は、本発明の第1実施例によるルータ装置の構成を示す図である。
図3に示されるように、ルータ装置10は、入力部110と、出力部120と、ルータ基本機能部130と、1次DPI部140−1〜N次DPI部140−N(以下において、DPI部140と総称される)と、パケット分析機能部150とを有する。
入力部110は、外部装置(図示せず)からの入力信号を受信し、受信した入力信号からパケットデータフローを抽出し、ルータ基本機能部130に送信する。抽出されたパケットデータフローの各パケットは、制御データを収容するヘッダと、実データを収容するペイロードとから構成される。ヘッダは、典型的には、固定長のデータであり、当該データの固定位置に送信元IPアドレス(SIP)、宛先IPアドレス(DIP)、IPプロトコルタイプ(PR)、送信元ポート番号(SPT)及び宛先ポート番号(DPT)という5つの要素(5タプル)を含んでいる。
出力部120は、ルータ基本機能部130、DPI部140及びパケット分析機能部150から出力されたパケットデータを適切な転送先に送信する。
ルータ基本機能部130は、ルーティングテーブルを参照して、入力部110から受信したパケットデータフローの各パケットを適切な転送先にルーティングすると共に、ルータシグネチャテーブルを参照して、当該テーブルに登録されている検索対象の5タプルに一致するパケットを検出する。ルータシグネチャテーブルには、検索条件となるヘッダの5タプルと、検索条件に一致したパケットに対して実行すべき処理内容(ACT)とが登録されている。例えば、ルータシグネチャテーブルに登録される各検索条件は、「SIP="aaa";DIP="bbb";PR="ccc";SPT="ddd";DPT="eee"→ACT="fff"」から構成されてもよい。この場合、当該検索条件は、SIPが "aaa"、DIPが"bbb"、PRが"ccc"、SPTが"ddd"、かつDPTが"eee"である場合、付随条件である処理"fff"が実行されることを表している。
このようなルータシグネチャテーブルを参照して、ルータ基本機能部130は、入力部110から送信されるパケットデータフローの各パケットのヘッダを確認し、確認したヘッダの5タプルが登録されている検索条件の5タプルに一致するか判断する。確認したヘッダの5タプルが検索条件の5タプルに一致しない場合、ルータ基本機能部130は、当該パケットを通常のパケットであると判断し、ルーティングテーブルを参照して転送先を指定して出力部120に転送する。他方、検索条件の5タプルに一致したパケットが検出されると、ルータ基本機能部130は、検出されたパケットに対して付随条件"fff"に対応する処理を実行する。この付随条件の処理内容としては、典型的には、DPI部140に転送する、所定の処理を実行して出力部120に転送する、などが設定されてもよい。DPI部140にパケットを転送する場合、ルータ基本機能部130は、1次DPI部140−1〜N次DPI部140−Nのそれぞれに並列的にパケットを転送する。
各DPI部140は、典型的には、CPU(Central Processing Unit)とメモリとを備える個別のプロセッサ装置から構成され、互いに独立して動作可能とされる。また、DPI部140は、DPI部140及びパケット分析機能部150とのロードバランスを考慮して、必要に応じて増設されてもよい。ルータ基本機能部130からパケットを受信すると、各DPI部140は、各自のDPIシグネチャテーブルを参照して、当該テーブルに登録されているDPIシグネチャに一致する文字列が受信したパケットのペイロードにあるか検索する。
ここで、各DPI部140に設定されるDPIシグネチャのビット長は予め設定される。すなわち、1次DPI部140−1にはビット長mのDPIシグネチャが設定され、2次DPI部140−2にはビット長mのDPIシグネチャが設定され、・・・、N次DPI部140−1にはビット長mのDPIシグネチャが設定される。各DPI部140は、受信したパケットのペイロードに含まれている設定されたビット長のビットシーケンスをチェックし、設定されているDPIシグネチャに一致するものがあるか判断する。例えば、i次DPI部140−iのビット長mが5であって(m=5)、"abcde"のDPIシグネチャが設定されている場合、i次DPI部140−iは、受信したパケットのペイロードに含まれるビット長5の各ビットシーケンスをチェックし、設定されたDPIシグネチャに一致するものがあるか判断する。このように、各DPI部140に固有のビット長を設定し、設定されたビット長のビットシーケンスのみを検索させる。この場合、設定することを所望するDPIシグネチャのビット長の種類に応じた個数のDPI部140を設けることによって、すなわち、1以上のDPI部が前記ペイロードにおいて検索されるべきビットシーケンスの異なるビット長の個数に対応して設けられることによって、複数種類の任意のビット長のビットシーケンスを高速かつ簡易に検索することが可能になる。
なお、DPIシグネチャに設定されるビットシーケンスのビットは、任意の文字を示すワイルドカード"*"を含むものであってもよい。すなわち、"ab*de"がDPIシグネチャとして設定されている場合、"abcde","abade","abbde"なども検索条件に一致することになる。また、DPIシグネチャテーブルに複数のDPIシグネチャが設定され、このうち2以上のDPIシグネチャが一致した場合に、検索条件に一致したと設定するようにしてもよい。
DPIシグネチャテーブルには、検索条件となるビット長mのビットシーケンスと、検索条件に一致したパケットに対して実行すべき処理内容(ACT)とが登録されている。例えば、DPIシグネチャテーブルに登録される各検索条件は、ビット長xのビットシーケンス「"a・・・a"→ACT="ggg"」から構成されてもよい。この場合、ビットシーケンスが"a・・・a"である場合、付随条件である処理"ggg"が実行されることを表している。
このようなDPIシグネチャテーブルを参照して、DIP部140は、ルータ基本機能部130から送信されるパケットのペイロードに含まれるビット長xのビットシーケンスを確認し、確認した各ビットシーケンスが登録されている検索条件のシグネチャに一致するか判断する。確認した各ビットシーケンスが検索条件のシグネチャに一致しない場合、DPI部140は、当該パケットをルータ基本機能部130に送り返し、出力部120を介し適切な転送先に転送する。他方、検索条件のシグネチャに一致したビットシーケンスが検出されると、DPI部140は、検出されたパケットに対して付随条件"ggg"に対応する処理を実行する。この付随条件の処理内容としては、典型的には、パケット分析機能部150に転送する、所定の処理を実行してルータ基本機能部130を介し出力部120に転送する、などが設定されてもよい。
パケット分析機能部150は、DPI部140からパケットを受信すると、パケット分析シグネチャテーブルを参照して、当該テーブルに登録されているシグネチャに一致する文字列が受信したパケットにあるか検索する。パケット分析シグネチャテーブルには、検索条件となる1以上のシグネチャが登録されている。パケット分析シグネチャテーブルに登録されているシグネチャは、異なるビット長のビットシーケンスが登録可能であり、典型的には、DPI部140により検索されるビットシーケンスのビット長mより大きなビット長nが登録される(m<n)。すなわち、相対的に短いシグネチャはDPI部140により検索され、相対的に長いシグネチャはパケット分析機能部150により検索されることになる。短いシグネチャの検索は、一定長のパケットに含まれる検索対象のビットシーケンスがより多く含まれることになるため、シグネチャとビットシーケンスとの比較回数も増大し、計算量が多くなる。このような相対的に短いシグネチャの検索処理をDPI部140に任せることによって、パケット分析機能部150の処理負荷を低減することが可能となる。また、パケット分析機能部150の処理負荷に応じて、DPI部140を自由に増設することによって、DPI部140とパケット分析機能部150との間の適切なロードバランスを実現することが可能になる。
パケット分析シグネチャテーブルには、検索条件となるシグネチャと、検索条件に一致したパケットに対して実行すべき処理内容(ACT)とが登録されている。例えば、パケット分析シグネチャテーブルに登録される各検索条件は、「"b・・・b"→ACT="hhh"」から構成されてもよい。この場合、ビットシーケンスが"b・・・b"である場合、付随条件である処理"hhh"が実行されることを表している。
このようなパケット分析シグネチャテーブルを参照して、パケット分析機能部150は、当該テーブルに登録されている各シグネチャに対して、当該シグネチャに一致するパケットに含まれるビットシーケンスがあるか検索する。具体的には、DPI部140から送信されるパケットをシグネチャのビット長nのビットシーケンスに分解し、分解されたビットシーケンスに当該シグネチャに一致するものがあるか検索する。パケットに含まれるビット長nの各ビットシーケンスがシグネチャに一致しない場合、パケット分析機能部150は、当該パケットをルータ基本機能部130に送り返し、出力部120を介し適切な転送先に転送する。登録されているシグネチャに一致するビットシーケンスが検出された場合、パケット分析機能部150は、当該シグネチャに対応する付随条件となる処理を実行する。この付随条件の処理内容としては、典型的には、パケットを破棄する、QoSを制御する、などが設定されてもよい。なお、これらの処理は、パケット分析機能部150によって実行されてもよいし、又は他の装置により実行されてもよい。
なお、図示された実施例では、単一のパケット分析機能部150が設けられたが、本発明はこれに限定されず、複数のパケット分析機能部150が設けられてもよい。この場合、DPI部140は、パケット分析機能部150に転送すべきパケットが検出されると、各パケット分析機能部150のトラヒック量を確認し、トラヒック量の少ないパケット分析機能部150に検出したパケットを転送するようにしてもよい。あるいは、DPI部140は、各DPI部に対して転送先として予め設定されているパケット分析機能部150に検出したパケットを転送するようにしてもよい。
次に、図4を参照して、本発明の第1実施例によるルータ装置における処理を説明する。図4は、本発明の第1実施例によるルータ装置の動作を示す示すシーケンス図である。
図4に示されるように、外部装置からパケットデータフローを受信すると、入力部110は、受信したパケットデータフローからパケットを抽出し、ルータ基本機能部130に転送する。
ステップS101において、ルータ基本機能部130は、転送されたパケットのヘッダから、所定のビット長を有する所定のビット位置に配置された送信元IPアドレス(SIP)、宛先IPアドレス(DIP)、IPプロトコルタイプ(PR)、送信元ポート番号(SPT)及び宛先ポート番号(DPT)の5タプルを抽出し、ルータシグネチャテーブルを参照して、抽出したタプルが当該テーブルに登録されているシグネチャに一致するか検索する。抽出したタプルが何れのシグネチャにも一致しない場合(S101:N)、ルータ基本機能部130は、受信したパケットが通常のパケットであると判断し、ルーティングテーブルを参照して、出力部120を介しパケットを対応する転送先に送信する。他方、抽出したタプルに一致するシグネチャが検出された場合(S101:Y)、当該フローは、ステップS102に移行する。
ステップS102において、ルータ基本機能部130は、ルータシグネチャテーブルを参照して、検出されたシグネチャの付随条件に対応する処理を特定し、当該パケットに対して特定された処理を実行し、DPI部140に転送する。
ステップS103において、ルータ基本機能部130からパケットを受信すると、各DPI部140−iは、受信したパケットのペイロードに含まれるパケット長mのビットシーケンスを抽出し、各自のDPIシグネチャテーブルに登録されているシグネチャに一致するビットシーケンスを検索する。登録されているシグネチャに一致するビットシーケンスがない場合(S103:N)、DPI部140−iは、受信したパケットをルータ基本機能部130を介し出力部120に転送する。他方、登録されているシグネチャに一致するビットシーケンスが検出された場合(S103:Y)、当該フローは、ステップS104に移行する。
ステップS104において、DPI部140−iは、DPIシグネチャテーブルを参照して、検出されたシグネチャの付随条件に対応する処理を特定し、当該パケットに対して特定された処理を実行し、パケット分析機能部150に転送する。
ステップS105において、DPI部140−iからパケットを受信すると、パケット分析機能部150は、パケット分析シグネチャテーブルを参照して、当該テーブルに登録されている各シグネチャに対して、当該シグネチャに一致するビットシーケンスが受信したパケットに含まれているか検索する。登録されているシグネチャに一致するビットシーケンスがない場合(S105:N)、パケット分析機能部150は、受信したパケットをルータ基本機能部130を介し出力部120に転送する。他方、登録されているシグネチャに一致するビットシーケンスが検出された場合(S105:Y)、当該フローは、ステップS106に移行する。
ステップS106において、パケット分析機能部150は、パケット分析シグネチャテーブルを参照して、検出されたシグネチャの付随条件に対応する処理を特定し、当該パケットに対して特定された処理を実行する。
上述した第1実施例によると、複数のDPIプロセッサを利用した階層化されたDPI処理を実行することによって、DPIプロセッサを用いて高速かつ複雑なパケット解析処理を実現することが可能になると共に、DPIプロセッサのアドオンによりルータへの機能増設及び外部装置へのリダイレクトを容易に実現することが可能となる。
次に、図5〜6を参照して、本発明の第2実施例によるルータ装置を説明する。第1実施例では、ルータ基本機能部130、DPI部140−i及びパケット分析機能部150のそれぞれが、検索条件となるシグネチャを予め登録したテーブルを有していた。第2実施例では、パケット分析機能部250のみが検索条件のシグネチャが予め登録されたテーブルを有し、ルータ基本機能部230及びDPI部240−iの各自のテーブルには、初期的には検索条件のシグネチャが登録されておらず、パケット分析機能部250からの検索条件設定指示によって順次検索条件が登録される。
まず、図5を参照して、本発明の第2実施例によるルータ装置の構成を説明する。図5は、本発明の第2実施例によるルータ装置の構成を示す図である。
図5に示されるように、ルータ装置20は、入力部210と、出力部220と、ルータ基本機能部230と、1次DPI部240−1〜N次DPI部240−N(以下において、DPI部240と総称される)と、パケット分析機能部250とを有する。上述したように、本実施例では、ルータ基本機能部230とDPI部240とは、初期的には各自のテーブルにシグネチャが登録されておらず、パケット分析機能部250のみが、予め登録されたシグネチャを有するパケット分析シグネチャテーブルを有している。ルータ装置20に入力されたパケットは、初期的にはパケット分析機能部250にわたされて解析され、パケット分析機能部250においてシグネチャに一致した場合、当該シグネチャが対応するルータ基本機能部230とDPI部240に検索条件として設定される。以降、ルータ装置20が同じパケットを受信すると、当該パケットはルータ基本機能部230又はDPI部240において検出されることになる。このようにして、パケット分析機能部250において未解析なパケットが入力される毎にパケット分析機能部250において解析され、解析結果に応じてルータ基本機能部230とDPI部240のテーブルが更新されるため、パケット分析機能部250における解析処理を順次ルータ基本機能部230とDPI部240に分担させることが可能となる。なお、入力部210と出力部220とは、第1実施例の入力部110と出力部120と同様であり、重複した説明は省く。
入力部210は、外部装置(図示せず)からの入力信号を受信し、受信した入力信号からパケットデータフローを抽出し、ルータ基本機能部230に送信する。
出力部220は、ルータ基本機能部230、DPI部240及びパケット分析機能部250から出力されたパケットデータを適切な送信先に送信する。
ルータ基本機能部230は、ルーティングテーブルを参照して、入力部210から受信したパケットデータフローの各パケットを適切な転送先にルーティングすると共に、ルータシグネチャテーブルを参照して、当該テーブルに登録されている検索対象の5タプルに一致するパケットを検出する。本実施例では、初期的にはルータシグネチャテーブルには、検索条件となるシグネチャは登録されていない。従って、最初に受信したパケットに対して、ルータ基本機能部230は、検出処理を実行することなく受信したパケットをDPI部240に単に転送すると共に、さらに当該パケットを転送済みパケットとして記憶する。
以降に受信されるパケットについては、ルータ基本機能部230は、後述されるようにパケット分析機能部250からの指示に従って更新されたルータシグネチャテーブルを参照して、当該テーブルに登録されている検索対象の5タプルに一致するパケットがあるか検索する。一致するパケットが検出された場合、ルータ基本機能部230は、当該シグネチャの付随条件に対応する処理を実行する。他方、一致するパケットが検出されなかった場合、ルータ基本機能部230はさらに、当該パケットが転送済みパケットとして記憶されているか判断する。
転送済みパケットとして記憶されていた場合、ルータ基本機能部230は、当該パケットは以前にDPI部240及び/又はパケット分析機能部250に転送されたが、設定されたシグネチャに該当せず通常のパケットであると判断されたものであると判断し、ルーティングテーブルを参照して転送先を指定して出力部220に転送する。他方、転送済みパケットとして記憶されていない場合、ルータ基本機能部230は、当該パケットはDPI部240及び/又はパケット分析機能部250により未解析なパケットであると判断し、DPI部240に転送し、さらに転送済みパケットとして記憶する。
各DPI部240は、ルータ基本機能部230からパケットを受信すると、各自のDPIシグネチャテーブルを参照して、当該テーブルに登録されているDPIシグネチャに一致する文字列が受信したパケットのペイロードにあるか検索する。本実施例では、初期的にはDIPシグネチャテーブルには、検索条件となるシグネチャは登録されていない。従って、最初に受信したパケットに対して、DPI部240は、検出処理を実行することなく受信したパケットをパケット分析機能部250に単に転送すると共に、さらに当該パケットを転送済みパケットとして記憶する。
以降に受信されるパケットについては、DPI部240は、後述されるようにパケット分析機能部250からの指示に従って更新されたDPIシグネチャテーブルを参照して、当該テーブルに登録されている検索対象のシグネチャに一致するパケットがあるか検索する。一致するパケットが検出された場合、DPI部240は、当該シグネチャの付随条件に対応する処理を実行する。他方、一致するパケットが検出されなかった場合、DPI部240は、当該パケットが転送済みパケットとして記憶されているか判断する。
転送済みパケットとして記憶されていた場合、DPI部240は、当該パケットは以前にパケット分析機能部250に転送されたが、通常のパケット又は他のDPI部240の対象パケットであると判断されたものであると判断し、ルータ基本機能部230を介し転送先を指定して出力部220に転送する。他方、転送済みパケットとして記憶されていない場合、DPI部240は、当該パケットはパケット分析機能部250により未解析なパケットであると判断し、パケット分析機能部250に転送し、転送済みパケットとして記憶する。
パケット分析機能部250は、ルータ基本機能部230のルータシグネチャテーブル及びDPI部240のDPIシグネチャテーブルに検索条件を設定するための検索条件設定部251を有する。パケット分析機能部250は、DPI部240からパケットを受信すると、パケット分析シグネチャテーブルを参照して、当該テーブルに登録されているシグネチャに一致する文字列が受信したパケットにあるか検索する。パケット分析シグネチャテーブルには、検索条件となる1以上のシグネチャが登録されている。また、パケット分析シグネチャテーブルには、検索条件となるビットシーケンスと、検索条件に一致したパケットに対して実行すべき処理内容(ACT)とが登録されている。パケット分析機能部250は、当該テーブルに登録されている各シグネチャに対して、当該シグネチャに一致するパケットに含まれるビットシーケンスがあるか検索する。具体的には、DPI部240から送信されるパケットをシグネチャのビット長nのビットシーケンスに分解し、分解されたビットシーケンスに当該シグネチャに一致するものがあるか検索する。パケットに含まれるビット長nの各ビットシーケンスがシグネチャに一致しない場合、パケット分析機能部250は、当該パケットをルータ基本機能部230に送り返し、出力部220を介し適切な転送先に転送する。登録されているシグネチャに一致するビットシーケンスが検出された場合、パケット分析機能部250は、当該シグネチャに対応する付随条件となる処理を実行すると共に、検索条件設定部251に当該シグネチャと対応する付随条件とを通知する。
検索条件設定部251は、通知されたシグネチャと付随条件とをルータ基本機能部230とDPI部240の対応する要素に設定するよう指示する。すなわち、通知されたシグネチャがヘッダの5タプルに関するものである場合、検索条件設定部251は、通知されたシグネチャと付随条件とをルータ基本機能部230に通知し、ルータシグネチャテーブルに登録するよう指示する。また、通知されたシグネチャがペイロードのビット長mのビットシーケンスに関するものである場合、検索条件設定部251は、通知されたシグネチャと付随条件とをi次DPI部240−iに通知し、DPIシグネチャテーブルに登録するよう指示する。
次に、図6を参照して、本発明の第2実施例によるルータ装置における処理を説明する。図6は、本発明の第2実施例によるルータ装置の動作を示す示すシーケンス図である。
図6に示されるように、外部装置からパケットデータフローを受信すると、入力部210は、受信したパケットデータフローからパケットを抽出し、ルータ基本機能部230に転送する。
ステップS201において、ルータ基本機能部230は、転送されたパケットのヘッダから、所定のビット長を有する所定のビット位置に配置された送信元IPアドレス(SIP)、宛先IPアドレス(DIP)、IPプロトコルタイプ(PR)、送信元ポート番号(SPT)及び宛先ポート番号(DPT)の5タプルを抽出し、ルータシグネチャテーブルを参照して、抽出したタプルが当該テーブルに登録されているシグネチャに一致するか検索すると共に、一致しない場合にはさらに当該パケットが転送済みパケットであるか判断する。抽出したタプルが何れのシグネチャにも一致しておらず、かつ当該パケットがパケット分析機能部250への転送済みパケットである場合(S201:N)、ルータ基本機能部230は、受信したパケットが通常のパケットであると判断し、ルーティングテーブルを参照して、出力部220を介しパケットを対応する転送先に送信する。他方、抽出したタプルに一致するシグネチャが検出されたか、又は当該パケットが転送済みパケットでない場合(S201:Y)、当該フローは、ステップS202に移行する。
ステップS202において、抽出したタプルに一致するシグネチャが検出された場合には、ルータ基本機能部230は、ルータシグネチャテーブルを参照して、検出されたシグネチャの付随条件に対応する処理を特定し、当該パケットに対して特定された処理を実行し、必要に応じてDPI部240に転送する。また、当該パケットが転送済みパケットでない場合には、ルータ基本機能部230は、当該パケットをDPI部240に転送する。DPI部240への転送後、ルータ基本機能部230は、当該パケットを転送済みパケットとして記憶する。
ステップS203において、ルータ基本機能部230からパケットを受信すると、各DPI部240−iは、受信したパケットのペイロードに含まれるパケット長mのビットシーケンスを抽出し、DPIシグネチャテーブルに登録されているシグネチャに一致するビットシーケンスを検索すると共に、一致しない場合にはさらに当該パケットが転送済みパケットであるか判断する。抽出したビットシーケンスが何れのシグネチャにも一致しておらず、かつ当該パケットがパケット分析機能部250への転送済みパケットである場合(S203:N)、DPI部240は、受信したパケットが通常のパケットか、又は他のDPI部240による処理対象のパケットであると判断し、出力部220を介しパケットを対応する転送先に送信する。他方、抽出したビットシーケンスに一致するシグネチャが検出されたか、又は当該パケットが転送済みパケットでない場合(S203:Y)、当該フローは、ステップS204に移行する。
ステップS204において、抽出したビットシーケンスに一致するシグネチャが検出された場合には、DPI部240は、DPIシグネチャテーブルを参照して、検出されたシグネチャの付随条件に対応する処理を特定し、当該パケットに対して特定された処理を実行し、必要に応じてパケット分析機能部250に転送する。また、当該パケットが転送済みパケットでない場合には、DPI部240は、当該パケットをパケット分析機能部250に転送する。パケット分析機能部250への転送後、DPI部240は、当該パケットを転送済みパケットとして記憶する。
ステップS205において、DPI部240−iからパケットを受信すると、パケット分析機能部250は、パケット分析シグネチャテーブルを参照して、当該テーブルに登録されている各シグネチャに対して、当該シグネチャに一致するビットシーケンスが受信したパケットに含まれているか検索する。登録されているシグネチャに一致するビットシーケンスがない場合(S205:N)、パケット分析機能部250は、受信したパケットをルータ基本機能部230を介し出力部220に転送する。他方、登録されているシグネチャに一致するビットシーケンスが検出された場合(S205:Y)、パケット分析機能部250は、検索条件設定部251に検出されたシグネチャと当該シグネチャの付随条件とを通知する。
ステップS206において、検索条件設定部251は、通知されたシグネチャと付随条件とがルータ基本機能部230とDPI部240の何れに関連するものであるか決定し、決定した要素に当該シグネチャと付随条件とをテーブルに登録するよう指示する。すなわち、検索条件がヘッダに関するものである場合、検索条件設定部251は、当該シグネチャと付随条件とをルータ基本機能部230に設定する。他方、検索条件がペイロードに関するものであって、シグネチャのビット長がmである場合、検索条件設定部251は、当該シグネチャと付随条件とをi次DPI部240−iに設定する。
ステップS207において、パケット分析機能部250は、パケット分析シグネチャテーブルを参照して、当該パケットに対して付随条件に対応する処理を実行する。
第2実施例によると、初期的にはパケット分析機能部250にしかシグネチャが設定されていない場合でも、パケットを順次解析するに従って、ルータ基本機能部230及びDPI部240にシグネチャを自動的に設定することが可能となる。これにより、パケット分析機能部250のみに検索条件のシグネチャを設定しさえすればよく、設定作業の省力化が可能となる。
以上、本発明の実施例について詳述したが、本発明は上述した特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
10,20 ルータ装置
110,210 入力部
120,220 出力部
130,230 ルータ基本機能部
140,240 DPI部
150,250 パケット分析機能部
251 検索条件設定部

Claims (8)

  1. データ解析機能を有するルータ装置であって、
    入力されたパケットのヘッダから所定のデータ要素を抽出し、前記抽出されたデータ要素が第1シグネチャテーブルに登録されているシグネチャに一致するか判定することによって、前記パケットに対してさらなる解析が必要か判断するルータ基本機能部と、
    前記ルータ基本機能部から前記パケットを受信すると、前記パケットのペイロードから所定のビット長のビットシーケンスを抽出し、前記抽出されたビットシーケンスが第2シグネチャテーブルに登録されているシグネチャに一致するか判定することによって、前記パケットに対してさらなる解析が必要か判断する1以上のDPI部と、
    前記DPI部から前記パケットを受信すると、前記パケットが第3シグネチャテーブルに登録されているシグネチャに一致するビットシーケンスを含むか判定することによって、前記パケットを解析するパケット分析機能部と、
    を有するルータ装置であって、
    前記1以上のDPI部の各DPI部は、前記パケットのペイロードから固有のビット長のビットシーケンスを検索するよう設定されるルータ装置
  2. 前記シグネチャは、検索対象となる前記データ要素及び/又は前記ビットシーケンスと一致した場合に前記データ要素及び/又は前記ビットシーケンスに対して実行されるべき付随処理と関連付けされる、請求項1記載のルータ装置。
  3. 前記1以上のDPI部の個数は、前記ペイロードにおいて検索されるべきビットシーケンスの異なるビット長の個数に対応する、請求項2記載のルータ装置。
  4. 前記第2シグネチャテーブルに登録されているシグネチャのビット長は、前記第3シグネチャテーブルに登録されているシグネチャのビット長より小さい、請求項3記載のルータ装置。
  5. 前記パケット分析機能部は、前記パケットが第3シグネチャテーブルに登録されているシグネチャに一致するビットシーケンスを含むと判定した場合、前記一致したシグネチャと関連する付随処理とを、前記シグネチャに対応する前記ルータ基本機能部の第1シグネチャテーブル又は前記1以上のDPI部の第2シグネチャテーブルに設定する検索条件設定部を有する、請求項2乃至4何れか一項記載のルータ装置。
  6. 前記一致したシグネチャと関連する付随処理とが、前記ルータ基本機能部の第1シグネチャテーブルに設定され、
    前記ルータ基本機能部は、前記さらなる解析のため前記1以上のDPI部に送信した転送済みパケットを記憶し、前記抽出されたデータ要素が前記第1シグネチャテーブルに登録されているシグネチャに一致せず、かつ前記パケットが前記転送済みパケットである場合、前記パケットに対してさらなる解析が不要であると判断する、請求項5記載のルータ装置。
  7. 前記一致したシグネチャと関連する付随処理とが、前記1以上のDPI部の第2シグネチャテーブルに設定され、
    前記1以上のDPI部は、前記さらなる解析のため前記パケット分析機能部に送信した転送済みパケットを記憶し、前記抽出されたビットシーケンスが前記第2シグネチャテーブルに登録されているシグネチャに一致せず、かつ前記パケットが前記転送済みパケットである場合、前記パケットに対してさらなる解析が不要であると判断する、請求項5記載のルータ装置。
  8. ルータ装置によるデータ解析方法であって、
    前記ルータ装置のルータ基本機能部が、入力されたパケットのヘッダから所定のデータ要素を抽出し、前記抽出されたデータ要素が第1シグネチャテーブルに登録されているシグネチャに一致するか判定することによって、前記パケットに対してさらなる解析が必要か判断するステップと、
    前記ルータ装置の1以上のDPI部が、前記ヘッダに対する判定に基づき前記パケットに対してさらなる解析が必要であると判断すると、前記パケットのペイロードから所定のビット長のビットシーケンスを抽出し、前記抽出されたビットシーケンスが第2シグネチャテーブルに登録されているシグネチャに一致するか判定することによって、前記パケットに対してさらなる解析が必要か判断するステップと、
    前記ルータ装置のパケット分析機能部が、前記ペイロードに対する判定に基づき前記パケットに対してさらなる解析が必要であると判断すると、前記パケットが第3シグネチャテーブルに登録されているシグネチャに一致するビットシーケンスを含むか判定することによって、前記パケットを解析するステップと、
    を有する方法であって、
    前記1以上のDPI部の各DPI部は、前記パケットのペイロードから固有のビット長のビットシーケンスを検索するよう設定される方法
JP2011173412A 2011-08-08 2011-08-08 ルータ装置及びデータ解析方法 Expired - Fee Related JP5667009B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011173412A JP5667009B2 (ja) 2011-08-08 2011-08-08 ルータ装置及びデータ解析方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011173412A JP5667009B2 (ja) 2011-08-08 2011-08-08 ルータ装置及びデータ解析方法

Publications (2)

Publication Number Publication Date
JP2013038610A JP2013038610A (ja) 2013-02-21
JP5667009B2 true JP5667009B2 (ja) 2015-02-12

Family

ID=47887795

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011173412A Expired - Fee Related JP5667009B2 (ja) 2011-08-08 2011-08-08 ルータ装置及びデータ解析方法

Country Status (1)

Country Link
JP (1) JP5667009B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104348677A (zh) * 2013-08-05 2015-02-11 华为技术有限公司 一种深度报文检测方法、设备及协处理器
JP6306441B2 (ja) * 2014-06-09 2018-04-04 日本電信電話株式会社 パケット解析装置およびパケット解析方法
JP6285828B2 (ja) * 2014-09-08 2018-02-28 日本電信電話株式会社 パケットヘッダ識別制御装置、制御方法、及び制御プログラム
CN107615720B (zh) * 2015-05-21 2020-08-04 日本电气株式会社 包分析装置和包分析方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1738531B1 (en) * 2004-04-19 2014-06-11 The Regents of the University of California Deep Packet Filter and Respective Method
KR100624483B1 (ko) * 2004-10-06 2006-09-18 삼성전자주식회사 네트워크에서의 차등 침입탐지 장치 및 방법

Also Published As

Publication number Publication date
JP2013038610A (ja) 2013-02-21

Similar Documents

Publication Publication Date Title
EP2544417B1 (en) Communication system, path control apparatus, packet forwarding apparatus and path control method
US8300532B1 (en) Forwarding plane configuration for separation of services and forwarding in an integrated services router
US7095742B2 (en) Packet processing unit
US20130163427A1 (en) System for flexible and extensible flow processing in software-defined networks
US10122735B1 (en) Switch having dynamic bypass per flow
EP2963870A1 (en) Control apparatus, communication system, switch control method and program
US20140211795A1 (en) Communication system, control device, node, node control method, and program
US10200293B2 (en) Dynamically offloading flows from a service chain
US9419910B2 (en) Communication system, control apparatus, and communication method
US10069648B2 (en) Communication system, control apparatus, communication control method and program
US9288159B2 (en) Systems and methods for deep packet inspection with a virtual machine
US20150207675A1 (en) Path Control System, Control Apparatus, Edge Node, Path Control Method, And Program
JP5667009B2 (ja) ルータ装置及びデータ解析方法
KR20130052031A (ko) 스위치 시스템, 및 데이터 전송 방법
JP5720340B2 (ja) 制御サーバ、通信システム、制御方法およびプログラム
US9705791B2 (en) Route setting device and route setting method
EP2922250A1 (en) Control apparatus, communication system, control information creating method and program
CN107566298B (zh) 一种生成表项的方法和设备
JP2009260873A (ja) 伝送情報転送装置及び方法
KR101707355B1 (ko) 통신 노드, 통신 시스템, 제어 장치, 패킷 전송 방법 및 프로그램
JPWO2006073066A1 (ja) 通信装置、ルーティング方法及びプログラム
JP2009135772A (ja) ルータ装置
KR102286466B1 (ko) 기능 기반 라우팅 방법 및 시스템
JP6985081B2 (ja) 転送装置
JP5201046B2 (ja) ネットワークノード、ネットワーク及びそれらに用いるトンネルスイッチング方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130820

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20131004

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140509

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140520

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140722

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141211

R150 Certificate of patent or registration of utility model

Ref document number: 5667009

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees