JP2020184690A - パケット分類プログラム、パケット分類方法、および、情報処理装置 - Google Patents

パケット分類プログラム、パケット分類方法、および、情報処理装置 Download PDF

Info

Publication number
JP2020184690A
JP2020184690A JP2019088452A JP2019088452A JP2020184690A JP 2020184690 A JP2020184690 A JP 2020184690A JP 2019088452 A JP2019088452 A JP 2019088452A JP 2019088452 A JP2019088452 A JP 2019088452A JP 2020184690 A JP2020184690 A JP 2020184690A
Authority
JP
Japan
Prior art keywords
packet
classification
time
information
identification information
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.)
Pending
Application number
JP2019088452A
Other languages
English (en)
Inventor
克彦 大久保
Katsuhiko Okubo
克彦 大久保
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2019088452A priority Critical patent/JP2020184690A/ja
Priority to US16/850,057 priority patent/US20200358706A1/en
Publication of JP2020184690A publication Critical patent/JP2020184690A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】パケットの分類処理を並列化する。【解決手段】複数のスレッドの各々は、入力パケットが端末の識別情報を含む場合、入力パケットの送信に使用されるセッションの識別情報を、端末に対応付けられた分類先と入力パケットの時刻情報に対応付けて記憶部に記憶する。入力パケットの分類処理を行う複数の分類スレッドの各々は、対象パケットの送信に使用されたセッションの識別情報と対象パケットの時刻情報以前の時刻に対応付けられた分類先を、記憶部を参照して特定する。この処理は、分類処理の対象パケットが対象パケットを処理する端末の識別情報を含まない場合に行われる。複数の分類スレッドの各々は、特定した分類先のうち相対的に遅い時刻に対応付けられた分類先に、対象パケットを分類する。【選択図】図2

Description

本発明は、パケット分類プログラム、パケット分類方法、および、情報処理装置に関する。
3GPP(3rd Generation Partnership Project)で標準化されている移動体通信技術(LTE、Long Term Evolution)が普及している。LTEネットワークの例を図1に示す。端末7(7a、7b)は、eNB(Evolved Node B)1に接続して通信を行う。eNB1は、MME(Mobility Management Entity)2とSGW(Serving Gateway)4に接続されている。MME2は、HSS(Home Subscriber Server)3とSGW4に接続されている。SGW4は、PGW(Packet Data Network Gateway)5を介してインターネット6に接続されている。
このようなネットワークで障害が発生した場合、予めキャプチャしておいたパケットを、そのパケットを送受信する端末ごとに分類し、原因の特定に使用できる。図1の例では、MME2がeNB1から送信されたパケットをキャプチャしている。図1の例では、端末7bから送信されたパケットを白抜きの四角形で示し、端末7aから送信されたパケットを斜線入りの四角形で示している。eNB1は、端末7aと端末7bの各々からパケットを受信すると受信パケットをMME2に転送するので、MME2は、端末7aから送信されたパケットと端末7bから送信されたパケットが混在したパケット群を受信する。ここで、各端末7は、加入者認識番号(IMSI、International Mobile Subscriber Identity)を用いて識別される。図1の例では、端末7aのIMSIはAであり、端末7bのIMSIはBである。各端末7から送信されるパケットには、送信元を識別するIMSIとパケットの送受信に使用されるセッションの識別情報の両方を含むパケットと、IMSIを含まずセッションの識別情報のみを含むパケットがある。IMSIを含まないパケットは、そのパケットの前に処理されたパケットに含まれているIMSIとセッションの識別情報の組み合わせの情報を用いて分類される。このため、図1に示すように、MME2がキャプチャしている各パケットが送信元に対応付けて分類され得る。
関連する技術として、受信パケットと送信パケットに呼処理装置で付加されたシーケンスの再現に使用する情報と、送信パケットと受信パケットのペイロードが一致することを利用してシーケンスを識別するシステムがある(例えば、特許文献1)。パケット網で転送されるパケットを収集して属性情報に応じてグループ分けし、グループごとに分類されたパケット挙動に対応するサービス種別を決定した上で、サービス種別に対応する品質指標を測定するシステムが提案されている(例えば、特許文献2)。
特開2015−204538号公報 特開2018−137499号公報
端末7の普及に伴い、ネットワークで送受信されるパケットの量も増加しているので、パケットの分類を並列処理することなどによりパケットの分類にかかる時間を短縮することが望ましい。しかし、並列処理を行うと、各スレッドにおいて、IMSIとセッションの識別情報の両方を含むパケットを処理した後でないと、IMSIを含まないパケットの分類先が特定されない。このため、IMSIとセッションの識別情報の両方を含むパケットをあるスレッドで処理し、IMSIを含まない後続のパケットを別のスレッドに入力すると、IMSIを含まないパケットの分類に失敗してしまう。従って、パケットの分類処理の並列化は困難である。また、関連する技術として述べた技術を用いても、この問題は解決されない。
本発明は、1つの側面として、パケットの分類処理を並列化することを目的とする。
ある1つの態様にかかるパケット分類プログラムは情報処理装置で実行される。複数のスレッドの各々は、入力パケットが端末の識別情報を含む場合、前記入力パケットの送信に使用されるセッションの識別情報を、前記端末に対応付けられた分類先と前記入力パケットの時刻情報に対応付けて記憶部に記憶する。前記入力パケットの分類処理を行う複数の分類スレッドの各々は、前記対象パケットの送信に使用されたセッションの識別情報と前記対象パケットの時刻情報以前の時刻に対応付けられた前記分類先を、前記記憶部を参照して特定する。この処理は、前記分類処理の対象パケットが前記対象パケットを処理する端末の識別情報を含まない場合に行われる。複数の分類スレッドの各々は、特定した前記分類先のうち相対的に遅い時刻に対応付けられた分類先に、前記対象パケットを分類する。
パケットの分類処理が並列化できる。
パケットの分類処理の例を説明する図である。 実施形態にかかるパケットの分類処理の例を説明するシーケンス図である。 情報処理装置の構成の例を説明する図である。 情報処理装置のハードウェア構成の例を説明する図である。 ネットワークの例を説明する図である。 パケットのフォーマットの例を説明する図である。 並列処理でのパケットの処理分担の例を説明する図である。 マップ情報とマップ補助情報の例を説明する図である。 マップ情報の更新処理の例を説明する図である。 マップ情報とマップ補助情報の更新処理の例を説明するフローチャートである。 マッピングテーブルの生成処理の例を説明するフローチャートである。 マージ処理の例を説明するフローチャートである。 マッピングテーブルの生成例を説明する図である。 パケットの分類処理の例を説明するフローチャートである。 分類先の決定方法の例を説明するフローチャートである。 パケットの分類処理の例を説明する図である。 第2の実施形態にかかる情報処理装置の構成の例を説明する図である。 検索式の生成方法の例を説明するフローチャートである。 検索式の生成方法の例を説明するフローチャートである。 検索式の生成方法の例を説明する図である。 パケットの検索処理の例を説明する図である。
図2は、実施形態にかかるパケットの分類処理の例を説明するシーケンス図である。実施形態にかかる方法では、パケットに含まれる送信元の識別情報、セッションの識別情報、および、時刻情報は、複数のパケット情報抽出スレッド35での並列処理によって抽出される。パケット情報抽出スレッド35は、1つのパケットから抽出した情報が送信元の識別情報とセッション識別情報の組み合わせを含む場合、抽出した情報をマップ情報81に登録する。例えば、パケット情報抽出スレッド35aは、時刻情報=T1のパケットP1から送信元の情報とセッション識別情報の組み合わせ(X,SE1)を抽出したとする(手順Pr1)。すると、パケット情報抽出スレッド35aは、抽出した情報を他のスレッドがアクセスできるようにするために、抽出した情報を他のスレッドと共通で使用する記憶部80に記憶する。また、パケット情報抽出スレッド35aは、パケットの送信元Xに関連するパケットを格納先αに格納することを決定したとする。パケット情報抽出スレッド35aは、パケットP1に含まれている送信元の情報とセッション識別情報(X,SE1)の各々を、パケットP1の時刻情報T1、および、送信元Xに対応付けて決定した格納先に対応付けて記憶部80に記憶させる(手順Pr2)。記憶部80は、時刻T1および格納先αを(X,SE1)に対応付けて記憶する(手順Pr3)。
一方、パケット情報抽出スレッド35bは、時刻情報=T3のパケットP3から送信元の情報とセッション識別情報の組み合わせ(Y,SE1)を抽出したとする(手順Pr4)。また、パケット情報抽出スレッド35bはパケットの送信元Yに関連するパケットを格納先βに格納することを決定したとする。すると、パケット情報抽出スレッド35bは、パケットP3に含まれている送信元の情報とセッション識別情報の組み合わせ(Y,SE1)、パケットP3の時刻情報T3、および、格納先βを記憶部80に通知する(手順Pr5)。記憶部80は、時刻T3と格納先βを(Y,SE1)に対応付けて記憶する。このため、記憶部80に記憶されている情報は、
時刻T1、(X,SE1)、α
時刻T3、(Y,SE1)、β
となる(手順Pr6)。
実施形態にかかる方法では、パケットの分類も複数の分類スレッド65(65a、65b)での並列処理によって行われる。このとき、各分類スレッド65は、記憶部80に記憶されている情報を用いて、パケットを分類する。例えば、分類スレッド65aが時刻情報=T2を含むパケットP2を分類処理の対象として取得したとする。ここで、時刻T2は時刻T1より後で時刻T3より前(T1<T2<T3)であるとする。また、パケットP2には、送信元の識別情報が含まれていないが、セッション識別情報=SE1が含まれているとする。分類スレッド65は、パケットP2中のセッション識別情報SE1を抽出する(手順7)。分類スレッド65aは、パケットP2中のセッション識別情報SE1が、時刻T2の時点ではどの送信元に対応付けられるかを判定するために記憶部80を参照する(手順Pr8)。手順Pr8の時点では、セッション識別情報=SE1という情報について、XとYの2つの送信元が対応付けられている。時刻T3では、セッション識別情報=SE1に対して送信元Yが対応付けられているので、時刻T3以降ではセッション識別情報=SE1のセッションはYが使用している。一方、時刻T1の時点では、セッション識別情報=SE1に対応付けられた送信元はXであるので、時刻T1以降で時刻T3まではセッション識別情報=SE1のセッションはXが使用している。分類スレッド65aは、パケットP2の時刻情報T2は時刻T1より後で時刻T3より前であるので、パケットP2が送信された時点では、セッション識別情報=SE1で識別されるセッションは送信元Xによって使用されていたと判定する。そこで、分類スレッド65aは、時刻情報=T2のパケットP2を、送信元Xに対応付けられた格納先αに分類する(手順Pr9)。
このように、実施形態にかかる方法では、パケットからの情報の抽出やパケットの分類は複数のスレッドが並列的に行うが、各パケット情報抽出スレッド35は、共通に使用する記憶部80に抽出した情報を記録する。このため、分類スレッド65は、処理対象のパケット中に送信元を識別する情報が含まれていなくても、処理対象のパケットの送信元を記憶部80中の情報を用いて特定することができ、送信元に対応付けてパケットを分類できる。従って、実施形態にかかる方法では、複数のパケットを複数のスレッドで並列処理することによりパケットの分類処理にかかる時間を短縮することができる。また、並列処理を行っても、パケットの分類に使用する情報がスレッド間で共有されるため、パケット情報抽出スレッド35や各分類スレッド65での処理対象のパケットの割り当て状況によらず、全てのパケットが処理可能である。
<装置構成とネットワークの例>
以下、送信元の識別情報がIMSIであり、パケットの送受信に使用されるプロトコルがGTP(GPRS Tunneling Protocol)である場合を例として説明する。パケットの送受信に使用されるセッションの識別情報として、IP(Internet Protocol)アドレスとTEID(tunnel endpoint identifier)の組み合わせが使用されるものとする。以下、セッションの識別情報として使用されるIPアドレスとTEIDの組み合わせをIP_TEIDと記載することがある。
図3は、情報処理装置10の構成の例を説明する図である。情報処理装置10は、通信部15、制御部20、および、記憶部80を備える。記憶部80は、マップ情報81、マップ補助情報82、および、マッピングテーブル83を有する。マップ情報81は、IMSIとパケットの送受信に使用されるセッション識別情報の両方を含むパケットから得られるマッピングのための情報である。マップ補助情報82は、複数のセッションの識別情報を含むパケットの分析から得られた情報である。マッピングテーブル83は、マップ情報81とマップ補助情報82の両者の情報を統合することにより生成される。
制御部20は、作成部30、マージ処理部50、および、分類制御部60を有する。作成部30は、抽出処理部40を有する。図3では、抽出処理部40aと抽出処理部40bを図示しているが、抽出処理部40の数は1つ以上の任意の数である。なお、個々の抽出処理部40は、パケットの分類処理に使用する情報を抽出するために動作するプログラムのスレッドによって実現され得る。抽出処理部40は、抽出部41(41a、41b)と登録処理部42(42a、42b)を有する。抽出部41は、入力されたパケット中のIMSI、セッションの識別情報などを抽出するとともに、パケット中の時刻情報も抽出する。登録処理部42は、IMSIを含むパケットから抽出された情報をマップ情報81に記録する。さらに、登録処理部42は、IMSIを含まないが複数のIP_TEIDを含むパケットから抽出された情報をマップ補助情報82に登録する。マージ処理部50は、マップ情報81とマップ補助情報82を統合することによりマッピングテーブル83を生成する。
分類制御部60は分類処理部70を有する。図3では分類処理部70aと分類処理部70bを図示しているが、分類処理部70の数は1つ以上の任意の数である。個々の分類処理部70は、パケットの分類処理を行うプログラムのスレッドによって実現され得る。分類処理部70は、決定部71(71a、71b)と分類部72(72a、72b)を有する。決定部71は、パケットの分類先を決定する。分類部72は、決定部71によって決定された分類先にパケットを分類する。
図4は、情報処理装置10のハードウェア構成の例を説明する図である。情報処理装置10は、プロセッサ101、メモリ102、バス105、ネットワークインタフェース109を備える。さらに、情報処理装置10は、入力装置103、出力装置104、記憶装置106、可搬記憶媒体駆動装置107の1つ以上を有していても良い。情報処理装置10は、例えば、コンピュータ、サーバ装置などによって実現され得る。
プロセッサ101は、任意の処理回路であり、例えば、Central Processing Unit(CPU)とすることができる。プロセッサ101は、例えば、メモリ102や記憶装置106に記憶されたプログラムを実行することができる。メモリ102は、プロセッサ101の動作により得られたデータや、プロセッサ101の処理に用いられるデータを、適宜、記憶する。記憶装置106は、プログラムやデータなどを格納し、格納している情報を、適宜、プロセッサ101などに提供する。ネットワークインタフェース109は、情報処理装置10が他の装置と通信するための処理を行う。
バス105は、プロセッサ101、メモリ102、入力装置103、出力装置104、記憶装置106、可搬記憶媒体駆動装置107、ネットワークインタフェース109を、相互にデータの送受信が可能になるように接続する。入力装置103は、キーボード、マウス、マイク、カメラなど、情報の入力に使用される任意の装置であり、出力装置104は、ディスプレイなど、データの出力に使用される任意の装置である。可搬記憶媒体駆動装置107は、メモリ102や記憶装置106のデータを可搬記憶媒体108に出力することができ、また、可搬記憶媒体108からプログラムやデータ等を読み出すことができる。ここで、可搬記憶媒体108は、Compact Disc Recordable(CD−R)やDigital Versatile Disk Recordable(DVD−R)を含む、持ち運びが可能な任意の記憶媒体とすることができる。
情報処理装置10において、プロセッサ101は、制御部20として動作する。メモリ102および記憶装置106は、記憶部80として動作する。ネットワークインタフェース109は通信部15として動作する。
図5は、ネットワークの例を説明する図である。図5も、図1を参照しながら説明したネットワークと同様のLTEネットワークを含む。図5でも、eNB1に端末7aと端末7bが接続している。また、端末7aのIMSIはAであり端末7bのIMSIはBである。eNB1はMME2とSGW4に接続されており、MME2はHSS3とSGW4に接続されている。SGW4は、PGW5を介してインターネット6に接続されている。情報処理装置10は、MME2、HSS3、SGW4、および、PGW5の1つ以上に接続され得る。情報処理装置10は、MME2、HSS3、SGW4、および、PGW5のうちでパケットをキャプチャしている装置から、その装置がキャプチャしたパケットを取得し、パケットの送信元の端末7ごとに分類する。なお、パケットのキャプチャの際に、パケットをキャプチャした装置は、パケットをキャプチャしたときの時刻情報を含むpcap(packet capture)ヘッダをパケットに付加する。
<第1の実施形態>
図6は、パケットのフォーマットの例を説明する図である。ネットワーク中で送受信されるパケットは、IMSIの有無とパケット中のIP_TEIDの数を用いると、以下の3通りに分類される。
タイプ1:IMSIを含み、1つのIP_TEIDを含む
タイプ2:IMSIを含まず、1つのIP_TEIDを含む
タイプ3:IMSIを含まず、2つのIP_TEIDを含む
いずれのタイプのパケットもpcapヘッダ、IPヘッダ、gtpv2ヘッダ、および、ペイロードを含む。なお、図6では、ペイロード部分は省略している。pcapヘッダには、タイムスタンプが含まれる。タイムスタンプは、そのパケットがキャプチャされた時刻を示す。
F1は、タイプ1のパケットのフォーマットの例である。タイプ1のパケットは、gtpv2ヘッダ中に、パケットの送信元の端末7に割り当てられたIMSI、通信に使用するセッションの終点のうちの送信元の端末側のセッションの終点(source TEID)、送信元のIPアドレスを含む。なお、IPヘッダには、パケットの送信元のIPアドレスと宛先のIPアドレスが含まれる。タイプ1のパケットは、セッション開始要求などに使用され得る。
F2は、タイプ2のパケットのフォーマットの例である。タイプ2のパケットは、gtpv2ヘッダ中に、通信に使用するセッションの終点のうちの宛先の端末側のセッションの終点(destination TEID)を含む。すなわち、タイプ2のパケットには、IPヘッダ中の宛先アドレスの情報と、パケットの宛先側のIP_TEIDが含まれている。タイプ2のパケットは、セッション確立後の通信に使用され得る。
F3は、タイプ3のパケットのフォーマットの例である。タイプ3のパケットは、gtpv2ヘッダ中に、通信に使用するセッションの変更前における送信元の端末側のセッションの終点、セッションの変更後における送信元の端末側のセッションの終点、および、送信元のIPアドレスを含む。すなわち、タイプ3のパケットのgtpv2ヘッダとIPヘッダを用いると、パケットの送信元側のIP_TEIDの変更の前後のIP_TEIDが特定され得る。タイプ3のパケットは、セッション開始応答やノード移動時に送受信されるパケットとして使用され得る。
以下、情報処理装置10で行われる処理の例を、(1)パケット中の情報の抽出と登録、(2)マッピングテーブル83の生成、および、(3)パケットの分類処理に分けて説明する。
(1)パケット中の情報の抽出と登録
図7は、並列処理でのパケットの処理分担の例を説明する図である。以下、処理対象のパケット群からの情報の抽出が抽出処理部40aと抽出処理部40bで並列に行われる場合について説明する。なお、抽出処理部40aと抽出処理部40bのいずれも、記憶部80中のマップ情報81やマップ補助情報82の更新が可能である。
分類される対象となるパケット群をPI1に示す。以下の図では、見やすくするために、各パケットについて、タイムスタンプ、IMSIの有無、IP_TEIDのみを示す。PI1の例では、Time=202までの時刻に対応付けられたパケットが含まれている。ここで、PI1に示すパケットのうち、Time=100以前の時刻に対応付けられたパケットが抽出処理部40aで処理され、Time=101〜202に対応付けられたパケットが抽出処理部40bで処理されるとする。抽出処理部40aで処理するパケット群をPI2、抽出処理部40bで処理するパケット群をPI3に示す。
図8は、抽出処理部40bの処理によって得られるマップ情報81とマップ補助情報82の例を説明する図である。抽出部41bは、タイプ1のパケットからIMSI、IP_TEID、および、時刻情報を抽出し、タイプ3のパケットから2つのIP_TEIDと時刻情報を抽出する。一方、タイプ2のパケットについては、抽出部41bは抽出処理を行わない。また、登録処理部42bは、抽出部41bが抽出した情報をマップ情報81かマップ補助情報82に登録する。例えば、抽出部41bと登録処理部42bは、PI3に示すパケットをTimeの値が小さいものから順に処理するとする。
Time=101のパケットはタイプ2のパケットであるので、抽出部41bと登録処理部42bのいずれもTime=101のパケットを処理しない。Time=102のパケットはタイプ3のパケットであるので、抽出部41bは、以下の情報を抽出する。
Time =102
IP_TEID=CCC
IP_TEID=EEE
登録処理部42bは、抽出された情報にIMSIが含まれていないので、抽出された情報をマップ補助情報82に登録する。登録処理部42bの登録処理により、マップ補助情報82は図8のマップ補助情報82_1に示すとおりに更新される。マップ補助情報82は、1つのパケットに含まれている2つのIP_TEIDの組み合わせと、時刻情報を含む。
Time=103のパケットはタイプ2のパケットであるので、抽出部41bと登録処理部42bのいずれもTime=103のパケットを処理しない。Time=200のパケットはタイプ1のパケットである。このため、抽出部41bは、Time=200のパケットから以下の情報を抽出する。
Time =200
IMSI =B
IP_TEID=CCC
登録処理部42bは、抽出された情報にIMSIが含まれているので、抽出された情報をマップ情報81に登録する。登録に際して、登録処理部42bは、IMSI=Bの端末7のパケットの分類先をbに決定したとする。マップ情報81は、IMSI、IP_TEID、時刻情報(Time)、および、分類先を含む。マップ情報81への登録の際に、登録処理部42bは、IMSIとIP_TEIDを各々別のエントリとして、時刻情報と分類先に対応付ける。このため、登録処理部42bは、IMSI=Bについて、以下の情報を登録する。
Time =200
IMSI =B
分類先 =b
Time=200のパケットに示すように、IP_TEID=CCCはIMSI=Bを含むパケットに含まれているので、Time=200以降はIP_TEID=CCCのパケットの分類先も、IMSI=Bを含むパケットと同じbとなる。従って、IP_TEID=CCCについて以下の情報が登録される。
Time =200
IP_TEID=CCC
分類先 =b
Time=200のパケットから抽出された情報を登録処理部42bが登録することにより、マップ情報81は図8のマップ情報81_1に示すとおりに更新される。
Time=201のパケットはタイプ2のパケットであるので、抽出部41bと登録処理部42bのいずれもTime=201のパケットを処理しない。Time=202のパケットはタイプ3のパケットであるので、Time=102のパケットと同様に、抽出部41bによる抽出処理と登録処理部42bによる登録処理が行われる。このため、Time=202のパケット中の情報が登録されると、マップ補助情報82_1はマップ補助情報82_2に示すように更新される。
なお、図8を参照しながら抽出処理部40bの処理対象のパケットのうちの一部のパケットの処理について説明したが、その他のパケットもパケットのタイプに応じて同様に処理される。
図9は、抽出処理部40aの処理によるマップ情報の更新処理の例を説明する図である。抽出処理部40aは抽出処理部40bと同様に、PI2に含まれているTime=100以前の時刻に対応付けられたパケットを処理する。Time=99までのパケットは全てタイプ2のパケットであるとする。このため、Time=99までのパケットの処理の際に抽出処理部40aはマップ情報81とマップ補助情報82のいずれも更新しない。このため、Time=100のパケットの処理の際には、記憶部80にマップ情報81_1とマップ補助情報82_2(図8)が保持されているとする。
Time=100のパケットはタイプ1のパケットであるので、抽出部41aは、以下の情報を抽出する。
Time =100
IMSI =A
IP_TEID=CCC
抽出された情報にIMSIが含まれているので、登録処理部42aは、IMSIとIP_TEIDの各々について以下の情報を登録する。なお、登録処理部42aは、IMSI=Aで識別される送信元が使用するパケットの分類先をaに決定したものとする
Time =100
IMSI =A
分類先 =a
Time=100のパケットに示すように、IP_TEID=CCCはIMSI=Aを含むパケットに含まれている。このため、Time=100以降で、かつ、IMSI=Aの端末7以外の端末7がIP_TEID=CCCの使用を開始するまでは、IP_TEID=CCCを含むパケットの分類先も、IMSI=Aを含むパケットと同じaとなる。従って、IP_TEID=CCCについて以下の情報が登録される。
Time =100
IP_TEID=CCC
分類先 =a
Time=100のパケットから抽出された情報を登録処理部42aが登録することにより、図8のマップ情報81_1は、図9のマップ情報81_2に示すように更新される。
図10は、マップ情報とマップ補助情報の更新処理の例を説明するフローチャートである。図10の処理は1つ以上の抽出処理部40によって並列に行われ得る。抽出部41は、処理対象のパケットのIMSI、IP_TEID、および、時刻情報を取得する(ステップS1)。なお、IMSIの取得は、処理対象のパケットがタイプ1のIMSIを含むパケットである場合に行われる。登録処理部42は、抽出された情報にIMSIがあるかを判定する(ステップS2)。抽出された情報にIMSIが含まれている場合、登録処理部42は、抽出された情報をマップ情報81に登録する(ステップS2でYes、ステップS3)。抽出された情報にIMSIが含まれていない場合、登録処理部42は、抽出された情報をマップ補助情報82に登録する(ステップS2でNo、ステップS4)。
(2)マッピングテーブル83の生成
図11は、マッピングテーブル83の生成処理の例を説明するフローチャートである。マッピングテーブル83の生成はマージ処理部50によって行われる。図11では変数nと定数Nが使用される。変数nは処理対象としたIP_TEIDの数の計数に用いられる。Nはマップ補助情報82に登録されているIP_TEIDの総数である。なお、図11は処理の一例であり、実装に応じて変形され得る。例えば、ステップS11とステップS12の順序は任意に変更され得る。
マージ処理部50は、マップ補助情報82を取得する(ステップS11)。この時点において、マージ処理部50は、マッピングテーブル83の生成の開始時点での最新のマップ情報81をマッピングテーブル83にコピーしておく。次に、マージ処理部50は、変数nを1に設定する(ステップS12)。マージ処理部50は、n番目のIP_TEIDをキーとしてマップ情報81を検索する(ステップS13)。マージ処理部50は、n番目のIP_TEIDがマップ情報81に登録済みであるかを判定する(ステップS14)。
n番目のIP_TEIDがマップ情報81に登録されていない場合、マップ補助情報82においてn番目のIP_TEIDと対になっているIP_TEIDをキーとしてマップ情報81を検索する(ステップS14でNo、ステップS15)。n番目のIP_TEIDと対になっているIP_TEIDがマップ情報81に登録されている場合、マージ処理部50はマージ処理を行う(ステップS16でYes、ステップS17)。マージ処理では、n番目のIP_TEIDを含むパケットの分類先を、n番目のIP_TEIDと対になっているIP_TEIDを含むパケットの分類先に設定することにより、パケットの分類先を統合する。マージ処理を行うために、マージ処理部50は、マージ先のエントリ中の分類先と同じ分類先に対応付けて、処理対象のIP_TEIDをマッピングテーブル83に記録する。マージ処理の詳細については、図12を参照しながら説明する。その後、マージ処理部50は、変数nを1つインクリメントしてから定数Nと比較する(ステップS18、S19)。変数nが定数N以下の場合、全てのIP_TEIDに対する処理が終わっていないので、ステップS13以降の処理が繰り返される(ステップS19でNo)。一方、変数nが定数Nを超えた場合、全てのIP_TEIDに対する処理が終わっているので、マージ処理部50は処理を終了する(ステップS19でYes)。
n番目のIP_TEID、および、n番目のIP_TEIDと対になっているIP_TEIDの両方がマップ情報81に登録されていない場合、ステップS18以降の処理が行われる(ステップS16でNo)。また、n番目のIP_TEIDが既に登録済みである場合も、ステップS18以降の処理が行われる(ステップS14でYes)。
図12は、マージ処理の例を説明するフローチャートである。図12は、図11のステップS17で行われる処理の詳細である。図12では変数xと定数Xが使用される。変数xは処理対象としたマップ情報81中のエントリの数の計数に用いられる。定数Xは処理対象のIP_TEIDと対になっているIP_TEIDを用いた検索でヒットしたエントリの総数である。なお、図12は処理の一例であり、実装に応じて変形され得る。例えば、ステップS31とステップS32の順序は任意に変更され得る。
マージ処理部50は、マージ処理の対象のIP_TEIDに対応付けられた時刻(Ti)を特定する(ステップS31)。マージ処理部50は、変数xを1に設定する(ステップS32)。マージ処理部50は、処理対象のIP_TEIDとマップ補助情報82において対になっているIP_TEIDをキーとしてマップ情報81を検索することにより、マッチしたx番目のエントリの時刻(Tm_x)を取得する(ステップS33)。マージ処理部50は、時刻Tm_xが処理対象のIP_TEIDに対応付けられた時刻Ti以前であるかを判定する(ステップS34)。時刻Tm_xが時刻Tiより後である場合、x番目のエントリ中の分類先を処理対象のIP_TEIDに対応付けられたパケットの分類先とはしない(ステップS34でNo)。そこで、マージ処理部50は、変数xをインクリメントし、定数Xと比較する(ステップS36、ステップS37)。変数xが定数X以下の場合、処理対象のIP_TEIDと対になっているIP_TEIDを用いた検索でヒットしたエントリの全てについて、時刻情報の比較処理を行っていない(ステップS37でNo)。このため、ステップS33以降の処理が行われる。
時刻Tm_xが時刻Ti以前である場合、マージ処理部50は、時刻Tm_xを含むエントリをマージ先の候補とする(ステップS34でYes、ステップS35)。ここで、マージ先は処理対象のIP_TEIDを含むパケットの分類先を統合するエントリである。マージ処理部50は、変数xをインクリメントし、ステップS37以降の処理を行う(ステップS36、ステップS37)。
変数xが定数Xを超えている場合、マージ処理部50は、処理対象のIP_TEIDと対になっているIP_TEIDを用いた検索でヒットしたエントリの全てについて、時刻情報の比較処理を行っている(ステップS37でYes)。そこで、マージ処理部50は、マージ先の候補の中で最も遅い時刻のエントリ中の分類先を特定し、特定した分類先を処理対象のIP_TEIDの分類先に設定する。(ステップS38、S39)。ステップS39において、マージ処理部50は、特定した分類先と同じ分類先に対応付けて、処理対象のIP_TEIDをマッピングテーブル83に記録する。
図13は、マッピングテーブルの生成例を説明する図である。図13を参照しながら、図11および図12のフローチャートに示した処理の具体例を述べる。マージ処理部50は、マップ補助情報82_2中に含まれているIP_TEIDの各々を処理対象とする。ここで、マップ補助情報82_2では、Time=102とTime=202の各々について、CCCとEEEというIP_TEIDが登録されている。時刻情報が異なる場合、同じIP_TEIDであってもマージ先が異なることがあるので、マージ処理部50は、同じIP_TEIDであっても時刻が異なる場合には別個の処理対象とする。このため、マージ処理部50は、IP_TEIDと時刻情報の組み合わせがマップ補助情報82_2に4種類あると認識する。
最初に、マージ処理部50は、Time=102、IP_TEID=CCCの組み合わせを処理対象としたとする。この時点では、マッピングテーブル83には、マップ情報81_2と同じ情報が含まれている。マップ情報81_2には、IP_TEID=CCCが登録されているので、マージ処理部50は時刻情報とIP_TEIDの他の組み合わせを処理対象とする(図11のステップS14でYes)。Time=202、IP_TEID=CCCの組み合わせを処理対象とした場合も、マージ処理部50は同様に処理する。
次に、マージ処理部50は、Time=102、IP_TEID=EEEの組み合わせを処理対象としたとする。この場合、IP_TEID=EEEはマップ情報81に登録されていない(図11のステップS14でNo)。そこで、マージ処理部50は、マップ補助情報82_2においてIP_TEID=EEEと対になっているIP_TEID=CCCをキーとしてマップ情報81_2を検索する(図11のステップS15)。この処理によりヒットしたエントリを、図13のテーブルTa1に示す。テーブルTa1には2つのエントリが含まれているので、このケースでは、図12で使用される定数Xは2である。マージ処理部50は、処理対象のIP_TEIDに対応付けられている時刻情報がTime=102であるため、Ti=102とする。テーブルTa1の1つ目のエントリの時刻(Tm_1)が100であり、Tm_1<Tiであるので、マージ処理部50は、1つ目のエントリをマージ先の候補にする(図12のステップS33〜S35)。一方、2つ目のエントリでは、時刻(Tm_2)が200であり、Tm_2>Tiであるので、マージ処理部50は、2つ目のエントリをマージ先の候補にしない(図12のステップS34でNo)。マージ先の候補が1つなので、マージ処理部50は、Time=102、IP_TEID=EEEの組み合わせについてのマージ先をテーブルTa1の1番目のエントリとし、Time=102、IP_TEID=CCCの組み合わせを分類先aに対応付ける。マージ処理部50は、得られた結果を図13のマッピングテーブル83の上から5番目のエントリに示すように記録する。
さらに、マージ処理部50は、Time=202、IP_TEID=EEEの組み合わせを処理対象としたとする。この場合も、IP_TEID=EEEはマップ情報81に登録されていないので、マージ処理部50は、マップ補助情報82_2においてIP_TEID=EEEと対になっているIP_TEID=CCCをキーとしてマップ情報81_2を検索する。従って、このケースでも、図11のステップS15の処理により、テーブルTa1が得られる。マージ処理部50は、処理対象のIP_TEIDに対応付けられている時刻情報がTime=202であるため、Ti=202とする。テーブルTa1の1つ目のエントリの時刻(Tm_1)が100であり、Tm_1<Tiであるので、マージ処理部50は、1つ目のエントリをマージ先の候補にする。さらに、2つ目のエントリでは、時刻(Tm_2)が200であり、Tm_2<Tiであるので、マージ処理部50は、2つ目のエントリもマージ先の候補にする。マージ先の候補が2つなので、マージ処理部50は、候補のエントリのうちで最も遅い時間に対応付けられたエントリをマージ先とする(図12のステップS38)。その結果、マージ先は、テーブルTa1の2つ目のエントリとなる。マージ処理部50は、Time=202、IP_TEID=EEEの組み合わせについての分類先をテーブルTa1の2番目のエントリ中の格納先と同じbにする。さらに、マージ処理部50は、得られた結果を図13のマッピングテーブル83の一番下のエントリに示すように記録する。
図11〜図13を参照しながら説明したように、マージ処理部50の処理により、マップ情報81とマップ補助情報82から、マッピングテーブル83が生成される。このため、マッピングテーブル83が生成された後は、キャプチャされたパケットで使用されているIMSIとIP_TEIDの全てについて、分類先がマッピングテーブル83に登録される。
(3)パケットの分類
図14は、パケットの分類処理の例を説明するフローチャートである。以下、パケットの分類処理が分類処理部70aと分類処理部70bで並列に行われる場合について説明する。分類処理部70aと分類処理部70bのいずれも、記憶部80中のマッピングテーブル83を参照でき、図14および図15で説明する処理を行う。
分類部72は、処理対象のパケットのIMSI、IP_TEID、時刻情報を取得する(ステップS51)。なお、IMSIの取得は、処理対象のパケットがタイプ1のIMSIを含むパケットである場合に行われる。分類部72は、取得した情報にIMSIが含まれているかを判定する(ステップS52)。取得した情報にIMSIが含まれている場合、分類部72は、マッピングテーブル83を参照することにより、IMSIに対応付けられた分類先を特定する(ステップS52でYes、ステップS53)。分類部72は分類先に処理対象のパケットを分類する(ステップS57)。
一方、処理対象のパケットから取得した情報にIMSIが含まれていない場合、分類部72は、IP_TEIDをキーとしてマッピングテーブル83を検索する(ステップS52でNo、ステップS54)。分類部72は、検索によって複数の分類先の候補が得られたかを判定する(ステップS55)。複数の分類先候補が得られていない場合、分類部72は得られた分類先に処理対象のパケットを分類する(ステップS55でNo、ステップS57)。複数の分類先の候補が得られた場合、決定部71は、複数の分類先の候補の中から分類先を決定する(ステップS55でYes、ステップS56)。決定部71は得られた分類先を分類部72に通知する。すると、分類部72は、決定部71から通知された分類先に処理対象のパケットを分類する(ステップS57)。
図15は、分類先の決定方法の例を説明するフローチャートである。図15は、図14のステップS56で行われる処理の詳細を示す。図15では、変数yと定数Yが使用される。変数yは処理対象とした分類先候補の数の計数に用いられる。定数Yは図14のステップS54の検索でヒットした分類先の候補の総数である。なお、図15は処理の一例であり、実装に応じて変形され得る。例えば、ステップS71とステップS72の順序は任意に変更され得る。
決定部71は、処理対象のパケットの時刻情報(Ti)を特定する(ステップS71)。このとき、決定部71は、分類部72から複数の分類先の情報とともに、分類部72がパケットから抽出した時刻情報を取得してもよい。決定部71は、変数yを1に設定する(ステップS72)。決定部71は、適宜、マッピングテーブル83を参照して、y番目の分類先候補のエントリ中の時刻(Tm_y)を取得する(ステップS73)。決定部71は、y番目の分類先候補のエントリ中の時刻が処理対象のパケットの時刻情報以前であるか、すなわち、Tm_y≦Tiであるかを判定する(ステップS74)。y番目の分類先候補のエントリ中の時刻が処理対象のパケットの時刻情報より後の場合、その分類先候補に処理対象のパケットが分類される可能性はないので、決定部71はy番目の候補を分類先の候補から除外する(ステップS74でNo、ステップS75)。一方、y番目の分類先候補のエントリ中の時刻が処理対象のパケットの時刻情報以前の場合、その分類先候補に処理対象のパケットが分類される可能性があると判定する(ステップS74でYes)。
ステップS75の処理後かステップS74でYesと判定した場合、決定部71は、変数yを1つインクリメントしてから定数Yと比較する(ステップS76、S77)。変数yが定数Yを超えていない場合、処理対象としていない分類先候補があるので、決定部71はステップS73以降の処理を繰り返す(ステップS77でNo)。一方、変数yが定数Yを超えた場合、決定部71は、全ての分類先候補を処理対象としたと判定する(ステップS77でYes)。全ての分類先候補を処理対象とした後で分類先候補として残っている候補は、いずれも処理対象のパケットが含むIP_TEIDに対応付けられ、かつ、処理対象のパケットの時刻情報以前の時刻に対応付けられた分類先である。そこで、決定部71は、分類先の候補のうちで最も遅い時刻に対応付けられた候補を分類先に決定する(ステップS78)。
図16は、パケットの分類処理の例を説明する図である。図16を参照しながら、図14および図15のフローチャートに示した処理の具体例を述べる。例えば、Time=101のパケットが分類処理部70bでの分類処理の対象であり、マッピングテーブル83が図16に示すとおりであるとする。ここで、Time=101のパケットに含まれている情報は以下のとおりであるとする。
Time=101
IMSI:なし
IP_TEID=CCC
分類部72bは、IP_TEID=CCCをキーとして、マッピングテーブル83を検索する。すると、テーブルTa2に示す2つのエントリがヒットするので、テーブルTa2の2つのエントリに含まれる各々の分類先が、処理対象の分類先の候補となる。分類先の候補が複数であるので、決定部71bでの処理が行われる。決定部71bは、処理対象のパケットに含まれる時刻情報(Time=101)より後の時刻に対応付けられた分類先を分類先の候補から除外する。テーブルTa2のうちの2つ目のエントリ中の分類先に含まれる時刻情報はTime=200なので、決定部71bは、テーブルTa2のうちの2つ目のエントリ中の分類先を分類先の候補から除外する。このケースでは、処理対象のパケットの分類先は、テーブルTa2のうちの1つ目のエントリ中の分類先aに絞られるので、決定部71bは、分類先aをパケットの分類先に決定する。すると、分類部72bは、処理対象のパケットを分類先aに分類する。従って、Time=101のパケットは、IMSI=Aの端末7aに対応付けられる。
他の例として、Time=201のパケットが分類処理部70aによって分類される場合の例を説明する。Time=201のパケットに含まれている情報は以下のとおりであるとする。
Time=201
IMSI:なし
IP_TEID=CCC
分類部72aは、IP_TEID=CCCをキーとして、マッピングテーブル83を検索するので、テーブルTa2の2つのエントリに含まれる各々の分類先が、処理対象の分類先の候補となる。この場合も、分類先の候補が複数であるので、決定部71aでの処理が行われる。決定部71aは、処理対象のパケットに含まれる時刻情報(Time=201)より後の時刻に対応付けられた分類先を分類先の候補から除外するが、テーブルTa2のエントリはいずれもTime=201以前の時刻情報を有する。パケットの時刻情報を用いても分類先の候補が1つに絞られないため、決定部71aは、テーブルTa2のエントリのうちで時刻情報が最も遅いエントリ中の分類先bを処理対象のパケットの分類先に決定する。このため、分類部72aは、Time=201を含むパケットを分類先bに分類する。従って、Time=201のパケットは、IMSI=Bの端末7bに対応付けられる。
このように、実施形態にかかる方法では、パケットからの情報の抽出やパケットの分類が複数のスレッドによって並列的に行われても、パケットの分類のために使用されるマッピングテーブル83は各スレッドからアクセス可能な記憶部80に保持される。このため、分類処理部70の各々は、処理対象のパケット中にIMSIを含むパケットが含まれていなくても、処理対象のパケットの分類先を記憶部80中の情報を用いて特定することができる。また、分類先は、そのパケットを用いた通信を行っている端末7に対応付けられている。従って、実施形態にかかる方法では、複数のパケットを複数のスレッドで並列処理することによりパケットの分類処理にかかる時間を短縮することができる。また、並列処理を行っても、パケットの分類に使用する情報がスレッド間で共有されるため、各分類処理部70での処理対象のパケットの割り当て状況によらず、全てのパケットが処理可能である。従って、実施形態にかかる情報処理装置10を用いると、ネットワークで発生した障害に対する分析に使用するための情報が、より早く得られるようになる。
<第2の実施形態>
第2の実施形態では、分類処理の対象を特定の端末7から送受信されたパケットに限定することで、ネットワークで発生した障害に対する分析に使用するための情報の取得をさらに効率化する場合について説明する。すなわち、第2の実施形態では、分類処理の対象を特定のIMSIと同じ分類先に分類され得るパケットに限定できる。
図17は、第2の実施形態にかかる情報処理装置95の構成の例を説明する図である。情報処理装置95は、通信部15、制御部96、記憶部80を備える。制御部96は、検索処理部90を備え、さらに、作成部30、マージ処理部50、および、分類制御部60を有する。第2の実施形態でも、通信部15、作成部30、マージ処理部50の処理は第1の実施形態と同様である。さらに、第2の実施形態でも、記憶部80は、第1の実施形態と同様に、マップ情報81、マップ補助情報82、および、マッピングテーブル83を保持し、制御部96中の任意の処理部からアクセスされ得る。
検索処理部90は、生成部91と検索部92を備える。生成部91は、分析の対象となるパケットを特定するための検索式を生成する。なお、生成部91は、例えば、入力装置103を介してオペレータから入力されたIMSIを受け付け、入力されたIMSIの分類先と同じ分類先に対応付けられるパケットを処理するための検索式を生成する。検索部92は、生成部91によって生成された検索式に合致するパケットを検索し、得られたパケットを分類制御部60に出力する。分類制御部60に含まれる各分類処理部70は、検索部92から入力されたパケットの分類処理を行う。なお、分類処理部70が行う分類処理は、第1の実施形態と同様である。
図18Aと図18Bは、検索式の生成方法の例を説明するフローチャートである。図18Aと図18Bでは、変数u、変数z、定数U、および、定数Zを用いる。変数zは処理対象のIMSIを含むパケットの分類先と同じ分類先を含むエントリのうち、処理対象としたエントリの数を計数するために用いる。定数Zは、処理対象のIMSIを含むパケットの分類先と同じ分類先を含むエントリの総数である。変数uは、検索キーとするIP_TEIDを有し、かつ、処理対象のIMSIと同じ分類先を含むエントリのうち、処理対象としたエントリの数の計数に使用する。定数Uは、検索キーとするIP_TEIDを有し、かつ、処理対象のIMSIと同じ分類先を含むエントリの総数である。なお、図18Aおよび図18Bは処理の一例であり、実装に応じて変形され得る。例えば、ステップS91とステップS92の順序は任意に変更され得る。
生成部91は、処理対象のIMSIの情報を取得すると、処理対象のIMSIと同じ分類先を含むエントリをマッピングテーブル83から抽出する(ステップS91)。生成部91は、変数zを1に設定する(ステップS92)。生成部91は、z番目のエントリ中のIP_TEIDをキーとして、マッピングテーブル83を検索する(ステップS93)。生成部91は、z番目のエントリ中のIP_TEIDを含むエントリの検索において、複数のエントリがヒットしたかを判定する(ステップS94)。z番目のエントリ中のIP_TEIDを含むエントリの検索において、複数のエントリがヒットしなかった場合、処理対象となっているIP_TEIDは、複数の端末7によって使用されていない(ステップS94でNo)。このため、z番目のIP_TEIDを含むパケットを分類処理の対象とすることができる。そこで、生成部91は、z番目のIP_TEIDと処理対象のIMSIに対応付けられたパケットを検索するための検索式を生成する(ステップS95)。その後、生成部91は、変数zを1つインクリメントした後、変数zを定数Zと比較する(ステップS105、S106)。変数zが定数Zを超えていない場合、未処理のエントリがあるので、生成部91はステップS93以降の処理を繰り返す(ステップS106でNo)。一方、変数zが定数Zを超えた場合、生成部91は、処理対象のIMSIを含むエントリの全てを処理したと判定して処理を終了する(ステップS106でYes)。
ステップS94において複数のエントリがヒットしている場合、z番目のIP_TEIDは、複数の端末7によって使用されている(ステップS94でYes)。このため、生成部91は、処理対象のIMSIが割り当てられている端末7がz番目のIP_TEIDを使用している期間を特定する条件を検索式に含めるための処理を行う。まず、生成部91は、キーとしているIP_TEIDを含み、分類先が処理対象のIMSIの分類先となっているエントリの時刻Tsを特定する(ステップS96)。なお、時刻Tsは、キーとしているIP_TEIDを含み、分類先が処理対象のIMSIの分類先となっているエントリ中の時刻であるので、処理対象のIMSIが割り当てられている端末7がz番目のIP_TEIDの使用を開始した時刻である。
生成部91は、変数uを1に設定する(ステップS97)。生成部91は、ステップS93の検索処理でヒットしたエントリのうち、u番目のエントリに含まれている時刻(Tu)を特定する(ステップS98)。生成部91は、時刻Tuが時刻Tsより後であるか(Tu>Ts)を判定する(ステップS99)。時刻Tuが時刻Tsより後である場合、時刻Tuは処理対象のIMSIが割り当てられている端末7がz番目のIP_TEIDの使用を終了した時刻より後の時刻である(ステップS99でYes)。そこで、生成部91は、u番目のエントリを、期間設定に使用可能なエントリの候補とする(ステップS100)。一方、時刻Tuが時刻Ts以前である場合、時刻Tuは処理対象のIMSIが割り当てられている端末7がz番目のIP_TEIDの使用を開始した時刻以前の時刻である(ステップS99でYes)。このため、時刻Tuが時刻Ts以前である場合、生成部91は、u番目のエントリを、期間設定に使用可能なエントリの候補としない。ステップS100の処理後かステップS99でNoと判定した場合、生成部91は、変数uを1つインクリメントして、定数Uと比較する(ステップS101、S102)。変数uが定数Uを超えていない場合、ステップS93でヒットしたエントリのうち処理対象としていないエントリがあるので、生成部91は、ステップS98以降の処理を繰り返す。一方、変数uが定数Uを超えた場合、生成部91は、ステップS93でヒットしたエントリの全てを処理対象としている(ステップS102でYes)。そこで、生成部91は、設定に使用可能なエントリの候補のうち、最も時間の早いエントリの時刻Tを特定する(ステップS103)。生成部91は、z番目のIP_TEIDを含み、かつ、得られた期間Ts≦Time<Tに対応付けられたパケットを処理対象のIMSIに関連付けられるパケットとするための検索式を生成する(ステップS104)。ステップS104で生成される検索式は例えば、次式である。IMSI=処理対象のIMSI||IP_TEID=z番目のIP_TEID&&Ts≦Time<T。その後、生成部91は、ステップS105以降の処理を行う。
図19は、検索式の生成方法の例を説明する図である。図19を参照しながら、IMSI=Aの端末7aに関連付けられるパケットの検索式を生成する場合の例を説明する。例えば、マッピングテーブル83が図19に示すとおりであるとする。生成部91は、処理対象のIMSIに対応付けられている分類先がaであることを特定する。次に、生成部91は、分類先=aをキーとしてマッピングテーブル83を検索する(図18AのステップS91)。すると、図19のαで示すように、IP_TEID=CCC、Time=100を含むエントリと、IP_TEID=EEE、Time=102を含むエントリがヒットする。
生成部91は、まず、IP_TEID=CCCについての処理を行うとする。この場合、生成部91は、IP_TEID=CCCをキーとしてマッピングテーブル83を検索するので、図19のβで示すように、分類先=aおよびTime=100を含むエントリと、分類先=bおよびTime=200を含むエントリが得られる。そこで、生成部91は、キーとしているIP_TEID=CCCを含み、分類先がaであるエントリ中の時刻Time=100を、IP_TEID=CCCでの検索式のTsに設定する(図18AのステップS96)。時刻Tsの特定に使用していないエントリ中の時刻はTime=200であり、IP_TEID=CCCでの検索式のTsよりも遅い。そこで、生成部91は、Time=200をIP_TEID=CCCでの検索式のTに設定する(図18AのステップS103)。このため、IP_TEID=CCCについての検索式の期間条件は、100≦Time<200となる。
生成部91は、IP_TEID=EEEについても同様に処理を行う。すなわち、IP_TEID=EEEをキーとしてマッピングテーブル83を検索することで、以下のエントリを抽出する。
ヒットしたエントリ1
IP_TEID=EEE
Time=102
分類先=a
ヒットしたエントリ2
IP_TEID=EEE
Time=202
分類先=b
そこで、生成部91は、分類先がaであるエントリ中の時刻Time=102を、IP_TEID=EEEでの検索式のTsに設定する(図18AのステップS96)。さらに、生成部91は、Time=202をIP_TEID=EEEでの検索式のTに設定する(図18AのステップS103)。このため、IP_TEID=EEEについての検索式の期間条件は、102≦Time<202となる。
これらの2つの条件を合わせて、生成部91は、IMSI=Aの端末7aに関連するパケットの検索式を以下のように生成する。
IMSI=A||
IP_TEID=CCC&&(100≦Time<200)||
IP_TEID=EEE&&(102≦Time<202)
生成部91は、生成した検索式を検索部92に出力する。
図20は、パケットの検索処理の例を説明する図である。図20の例でも、第1の実施形態と同様に、情報処理装置10にPI1に示すパケット群が入力されたとする。入力されたパケット群からの情報抽出は、第1の実施形態と同様に行われる(ステップS121)。このため、マップ情報81、マップ補助情報82、および、マッピングテーブル83が生成される。また、マッピングテーブル83を用いて、図19を参照しながら説明した検索式が生成されたとする。
次に、ループ端L1とL2で挟まれたループ処理が行われる。以下、ループ端L1とL2で挟まれたループのことを「分類ループ」と記載することがある。検索部92は、処理対象のパケットが検索式にマッチしているかを判定する(ステップS122)。処理対象のパケットが検索式にマッチしている場合、検索部92は、パケットを分類制御部60に出力する。分類制御部60では、複数のスレッドで実現される複数の分類処理部70により、第1の実施形態と同様に分類処理が行われる(ステップS122でYes、ステップS123)。一方、処理対象のパケットが検索式にマッチしていない場合、検索部92は、処理対象のパケットに対する処理を終了する(ステップS122でNo)。ステップS122でNoと判定した場合とステップS123の処理が終わった場合、検索部92は、全てのパケットを処理対象としたかを判定する(ループ端L2)。全てのパケットを処理対象としていない場合、検索部92は、他の未処理のパケットを処理対象としてステップS122以降の処理を繰り返す(ループ端L2でNo)。一方、全てのパケットを処理対象としている場合、検索部92は処理を終了する(ループ端L2でYes)。このため、テーブルTa3に示すように、IMSI=Aの端末7aから送受信されたパケットが分類先aに格納される。
第2の実施形態では、分類処理の対象を特定の端末7から送受信されたパケットに限定できるので、ネットワークで発生した障害に対する分析に使用するための情報の取得がさらに効率化される。さらに、第2の実施形態でも、マッピングテーブル83などの情報は記憶部80に格納されているので、複数のスレッドによって平行してパケットの処理が行われても、各スレッドは、処理対象のパケットの分類先を記憶部80中の情報を用いて特定することができる。このため、パケットの分類処理にかかる時間を短縮しつつ、各分類処理部70での処理対象のパケットの割り当て状況によらず、全てのパケットが処理可能である。従って、実施形態にかかる情報処理装置95を用いると、ネットワークで発生した障害に対する分析に使用するための情報が、より早く得られるようになる。
<その他>
なお、実施形態は上記に限られるものではなく、様々に変形可能である。以下にその例をいくつか述べる。
以上の説明では、パケットの送受信に使用されるプロトコルがGTPである場合を例として説明したが、使用されるプロトコルがGTP以外であっても、同様にパケットの分類処理が行われ得る。
なお、分類処理によって得られた情報の出力先は任意である。例えば、分類処理によって得られた情報は、適宜、情報処理装置10や情報処理装置95の備える出力装置104に出力され得る。また、分類処理によって得られた情報は、適宜、情報処理装置10や情報処理装置95から、通信部15を介して、オペレータが操作する装置などに送信され得る。
第2の実施形態において、時刻Tが求まらない場合もあり得る。例えば、処理対象のIMSIと同じ分類先に分類されているIP_TEIDについて、時刻Ts以降の時刻を含むエントリがマッピングテーブル83にない場合もあり得る。この場合、処理対象のIMSIに対応する端末7以降にそのIP_TEIDを使用している端末7が確認されていないことになるので、検索式には、期間の条件として、時刻Ts≦Timeが含まれる。
以上の説明で述べたパケットやテーブルは一例であり、パケットやテーブルに含まれる情報要素は、実装に応じて変更され得る。
さらに、パケットから分類に使用する情報を抽出するスレッドの数とパケットの分類処理を行うスレッドの数はいずれも任意である。また、パケットから分類に使用する情報を抽出するスレッドの数とパケットの分類処理を行うスレッドの数は、同じであっても良く、異なっていても良い。
1 eNB
2 MME
3 HSS
4 SGW
5 PGW
6 インターネット
7 端末
10、95 情報処理装置
15 通信部
20、96 制御部
30 作成部
40 抽出処理部
41 抽出部
42 登録処理部
50 マージ処理部
60 分類制御部
70 分類処理部
71 決定部
72 分類部
80 記憶部
81 マップ情報
82 マップ補助情報
83 マッピングテーブル
90 検索処理部
91 生成部
92 検索部
101 プロセッサ
102 メモリ
103 入力装置
104 出力装置
105 バス
106 記憶装置
107 可搬記憶媒体駆動装置
108 可搬記憶媒体
109 ネットワークインタフェース

Claims (6)

  1. 複数のスレッドの各々は、入力パケットが端末の識別情報を含む場合、前記入力パケットの送信に使用されるセッションの識別情報を、前記端末に対応付けられた分類先と前記入力パケットの時刻情報に対応付けて記憶部に記憶し、
    前記入力パケットの分類処理を行う複数の分類スレッドの各々は、
    前記分類処理の対象パケットが前記対象パケットを処理する端末の識別情報を含まない場合、前記対象パケットの送信に使用されたセッションの識別情報と前記対象パケットの時刻情報以前の時刻に対応付けられた前記分類先を、前記記憶部を参照して特定し、
    特定した前記分類先のうち相対的に遅い時刻に対応付けられた分類先に、前記対象パケットを分類する
    処理を情報処理装置に行わせることを特徴とするパケット分類プログラム。
  2. 前記複数のスレッドの各々は、
    前記入力パケットが当該入力パケットを処理する端末の識別情報を含まず、第1のセッションの識別情報と第2のセッションの識別情報を含む場合、前記第1および第2のセッションの識別情報を対応付けて、前記記憶部に記憶し、
    前記第1のセッションの識別情報が複数の前記分類先に対応付けられていない場合、前記第2のセッションの識別情報を含むパケットを、前記第1のセッションの識別情報に対応付けられた前記分類先に分類するための設定を行う
    ことを特徴とする請求項1に記載のパケット分類プログラム。
  3. 前記複数のスレッドの各々は、
    前記第1のセッションの識別情報が、第1の分類先および前記第1の分類先の特定に使用したパケットに含まれる第1の時刻情報を含む第1のエントリと、第2の分類先および前記第2の分類先の特定に使用したパケットに含まれる第2の時刻情報を含む第2のエントリとに対応付けて前記記憶部に記憶されている場合、前記入力パケットに含まれる第3の時刻を特定し、
    前記第1の時刻と前記第2の時刻のうち、前記第3の時刻以前であり、かつ、相対的に遅い時刻を決定し、
    前記第2のセッションの識別情報を含むパケットを前記決定した時刻と同じエントリに含まれる分類先に分類するための設定を行う
    ことを特徴とする請求項2に記載のパケット分類プログラム。
  4. 前記複数の分類スレッドによる分類処理の対象とするパケットの検索条件を表す検索式を、入力情報に基づいて生成し、
    前記検索式を満たすパケットを前記複数の分類スレッドのいずれかに入力する
    処理をさらに前記情報処理装置に行わせることを特徴とする、請求項1〜3のいずれか1項に記載のパケット分類プログラム。
  5. 複数のスレッドの各々を用いて、入力パケットが端末の識別情報を含む場合、前記入力パケットの送信に使用されるセッションの識別情報を、前記端末に対応付けられた分類先と前記入力パケットの時刻情報に対応付けて記憶部に記憶し、
    前記入力パケットの分類処理を行う複数の分類スレッドの各々を用いて、
    前記分類処理の対象パケットが前記対象パケットを処理する端末の識別情報を含まない場合、前記対象パケットの送信に使用されたセッションの識別情報と前記対象パケットの時刻情報以前の時刻に対応付けられた前記分類先を、前記記憶部を参照して特定し、
    特定した前記分類先のうち相対的に遅い時刻に対応付けられた分類先に、前記対象パケットを分類する
    処理を情報処理装置が行うことを特徴とするパケット分類方法。
  6. 入力パケットが端末の識別情報を含む場合、前記入力パケットの送信に使用されるセッションの識別情報を、前記端末に対応付けられた分類先と前記入力パケットの時刻情報に対応付けて記憶部に記憶する複数の抽出処理部と、
    分類処理の対象パケットが前記対象パケットを処理する端末の識別情報を含まない場合、前記対象パケットの送信に使用されたセッションの識別情報と前記対象パケットの時刻情報以前の時刻に対応付けられた前記分類先のうち、相対的に遅い時刻に対応付けられた分類先を、前記記憶部を参照して決定する決定部と、
    前記決定した分類先に対応付けて、前記対象パケットを分類する分類部
    を含むことを特徴とする情報処理蔵置。
JP2019088452A 2019-05-08 2019-05-08 パケット分類プログラム、パケット分類方法、および、情報処理装置 Pending JP2020184690A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019088452A JP2020184690A (ja) 2019-05-08 2019-05-08 パケット分類プログラム、パケット分類方法、および、情報処理装置
US16/850,057 US20200358706A1 (en) 2019-05-08 2020-04-16 Computer-readable recording medium recording packet classification program, packet classification method, and information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019088452A JP2020184690A (ja) 2019-05-08 2019-05-08 パケット分類プログラム、パケット分類方法、および、情報処理装置

Publications (1)

Publication Number Publication Date
JP2020184690A true JP2020184690A (ja) 2020-11-12

Family

ID=73044715

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019088452A Pending JP2020184690A (ja) 2019-05-08 2019-05-08 パケット分類プログラム、パケット分類方法、および、情報処理装置

Country Status (2)

Country Link
US (1) US20200358706A1 (ja)
JP (1) JP2020184690A (ja)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012103879A (ja) * 2010-11-10 2012-05-31 Hitachi Ltd セッション管理方法、セッション管理システム及びプログラム
US20140219100A1 (en) * 2013-02-05 2014-08-07 Shardendu Pandey Mobile User Identification And Tracking For Load Balancing In Packet Processing Systems
JP2015204538A (ja) * 2014-04-15 2015-11-16 株式会社日立製作所 呼処理シーケンスの解析装置および通信システム
JP2016021624A (ja) * 2014-07-14 2016-02-04 富士通株式会社 情報処理装置の端末検出方法,情報処理装置,及び情報処理システム
CN105765910A (zh) * 2013-01-17 2016-07-13 埃克索科茨股份有限公司 利用卸载处理器的调度和通信量管理
JP2016152528A (ja) * 2015-02-18 2016-08-22 Kddi株式会社 メッセージ分析装置、メッセージ分析方法およびコンピュータプログラム
JP2016158070A (ja) * 2015-02-24 2016-09-01 株式会社日立製作所 基地局輻輳管理システム、及び基地局輻輳管理方法
JP2018207345A (ja) * 2017-06-06 2018-12-27 日本電信電話株式会社 計算装置及び計算方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012103879A (ja) * 2010-11-10 2012-05-31 Hitachi Ltd セッション管理方法、セッション管理システム及びプログラム
CN105765910A (zh) * 2013-01-17 2016-07-13 埃克索科茨股份有限公司 利用卸载处理器的调度和通信量管理
US20140219100A1 (en) * 2013-02-05 2014-08-07 Shardendu Pandey Mobile User Identification And Tracking For Load Balancing In Packet Processing Systems
JP2015204538A (ja) * 2014-04-15 2015-11-16 株式会社日立製作所 呼処理シーケンスの解析装置および通信システム
JP2016021624A (ja) * 2014-07-14 2016-02-04 富士通株式会社 情報処理装置の端末検出方法,情報処理装置,及び情報処理システム
JP2016152528A (ja) * 2015-02-18 2016-08-22 Kddi株式会社 メッセージ分析装置、メッセージ分析方法およびコンピュータプログラム
JP2016158070A (ja) * 2015-02-24 2016-09-01 株式会社日立製作所 基地局輻輳管理システム、及び基地局輻輳管理方法
JP2018207345A (ja) * 2017-06-06 2018-12-27 日本電信電話株式会社 計算装置及び計算方法

Also Published As

Publication number Publication date
US20200358706A1 (en) 2020-11-12

Similar Documents

Publication Publication Date Title
US10750387B2 (en) Configuration of rules in a network visibility system
US11716262B2 (en) Control method, apparatus, and system for collecting traffic statistics
US10250501B2 (en) Service packet forwarding method and apparatus
EP3116177B1 (en) Service implementation method for nfv system, and communications unit
US10305822B2 (en) Service chain routing method and system, and equipment in system
CN108111432B (zh) 报文转发方法及装置
EP3487120A1 (en) Charging management method, user plane function, and control plane function
US20210160181A1 (en) Architecture for a network visibility system
US10904140B2 (en) Integrated wire and wireless network packet broker and method for GTP correlation assigning method of the same
US20130064100A1 (en) System and Method for Automatic Discovery of Topology in an LTE/SAE Network
US20160373352A1 (en) Configuration of load-sharing components of a network visibility router in a network visibility system
US11540175B2 (en) Smart session load balancer and throttle
KR102174651B1 (ko) 유무선 통합 네트워크 패킷 중개 장치 및 그 패킷 타임 스탬프 부여 방법
US20190190828A1 (en) Method and apparatus for generating acl table
US20160352921A1 (en) Arrangement, computer program code and method for call data record processing
US11700568B2 (en) Dynamic mapping of nodes responsible for monitoring traffic of an evolved packet core
WO2017059707A1 (zh) 一种识别用户位置的方法及装置
Mueller et al. Design and implementation of a carrier grade software defined telecommunication switch and controller
JP2020184690A (ja) パケット分類プログラム、パケット分類方法、および、情報処理装置
US11737166B2 (en) Translating virtual network function
WO2006085161A1 (en) Configurable distribution of signals in a network
US10389626B2 (en) Transfer device
CN108605014B (zh) 控制节点和路径控制系统
KR20210064986A (ko) 오픈 프론트홀 네트워크 시스템 및 그 가상 라우터 슬라이싱 방법
JP6396823B2 (ja) メッセージ分析装置、メッセージ分析方法およびコンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221213

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20230606