JP5549304B2 - 判定装置、判定方法および判定プログラム - Google Patents

判定装置、判定方法および判定プログラム Download PDF

Info

Publication number
JP5549304B2
JP5549304B2 JP2010067027A JP2010067027A JP5549304B2 JP 5549304 B2 JP5549304 B2 JP 5549304B2 JP 2010067027 A JP2010067027 A JP 2010067027A JP 2010067027 A JP2010067027 A JP 2010067027A JP 5549304 B2 JP5549304 B2 JP 5549304B2
Authority
JP
Japan
Prior art keywords
packet
address
session
transmission
client
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
JP2010067027A
Other languages
English (en)
Other versions
JP2011199788A (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.)
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 JP2010067027A priority Critical patent/JP5549304B2/ja
Publication of JP2011199788A publication Critical patent/JP2011199788A/ja
Application granted granted Critical
Publication of JP5549304B2 publication Critical patent/JP5549304B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、判定装置、判定方法および判定プログラムに関する。
従来から、ネットワークを介して通信装置を接続し、送信元のアドレスと送信先のアドレスを含むパケットを送受信する通信技術が使用されてきた。かかるパケット通信では、クライアント側の通信装置がサーバ側の通信装置に対してリクエストを行ない、サーバ側の通信装置がクライアント側の通信装置にレスポンスを返す。このようなリクエストとレスポンスを含む1つのセッションは、複数のパケットの送受信によって成立する。
通信装置がコネクション管理を行なうトランスポートプロトコル(以下、プロトコルと呼ぶ)を使用する場合、コネクションの確立時などに送受信するコネクション管理用のパケットを取得すれば、クライアント側の通信装置とサーバ側の通信装置とを識別できる。コネクション管理を行なうプロトコルとしては、例えばTCP(Transmission Control Protocol)がある。
また、特定のサービスに使用することが想定されるポートを指定した通信では、パケットに示されたポート番号からクライアント側の通信装置とサーバ側の通信装置とを推定できる。また、パケット自体に情報を追加すれば、追加された情報を参照してクライアント側の通信装置とサーバ側の通信装置とを識別することができる。
特許第3030729号公報
しかしながら、従来の技術では、TCPのようにコネクション管理を行なうプロトコルを使用する場合であってもコネクション管理用のパケットを取得できない場合に、コネクション管理用のパケット以外のパケットからはサーバ側とクライアント側とを識別することができなかった。
また、UDP(User Datagram Protocol)のようにコネクション管理を行なわないプロトコルを用いる場合には、サーバ側とクライアント側とを識別することができなかった。また、パケットに追加された情報を参照してクライアント側の通信装置とサーバ側の通信装置とを識別する技術は、各通信装置が情報の付加を行なうことが求められるという問題点があった。
一方で、ネットワーク構成が複雑になり、通信装置間の利用関係を簡易に把握することが重要な課題となっている。通信装置間の利用関係を把握することが求められる例として、1つの通信装置がサーバとしてクライアントからの要求を処理しつつ、他の通信装置に対してはクライアントとして動作する場合がある。このような場合、装置間の配線など物理的な接続関係から装置の利用関係を把握することが困難になる。
開示の技術は、上記に鑑みてなされたものであって、パケットが有する情報からクライアントに対応する通信装置とサーバに対応する通信装置とを識別する判定装置、判定方法および判定プログラムを提供することを目的とする。
本願の開示する判定装置、方法、プログラムは、通信装置が送受信したパケットを取得し、取得したパケットの送信先のアドレスと送信元のアドレスとの組み合わせに基づいて、パケットの送信先と送信元が入れ替わる時間の間隔を同一のセッション内で集計する。そして、開示の装置、方法、プログラムは、集計結果に基づいて、パケットの送信元又はパケットの送信先が、サーバに対応するか、クライアントに対応するかを判定する。
本願の開示する判定装置、方法、プログラムによれば、パケットが有する情報からクライアントに対応する通信装置とサーバに対応する通信装置とを識別する判定装置、判定方法および判定プログラムを得ることができるという効果を奏する。
図1は、実施例にかかる判定装置であるセッション方向判定装置の構成図である。 図2は、セッション方向判定装置10を接続したネットワークの説明図である。 図3は、ネットワークの利用関係についての説明図である。 図4は、パケットと利用関係についての説明図である。 図5は、コンピュータc1,c2がパケットを受信してから送信するまでの時間の間隔の平均値と、標準偏差の説明図である。 図6は、所定の時間あたりのパケットの送受信回数と受信から送信まで時間についての説明図である。 図7は、所定時間あたりの集計回数と、パケット間隔の平均値をプロットした回帰直線の説明図である。 図8は、セッション管理テーブル23の具体例である。 図9は、パケット間隔集計データ24の具体例である。 図10は、セッション方向判定部25による判定結果の具体例である。 図11は、パケット間隔集計部22の処理動作を説明するフローチャートである。 図12は、セッション方向判定部25の処理動作について説明するフローチャートである。 図13は、回帰直線を用いる場合のセッション方向判定部25の処理動作について説明するフローチャートである。 図14は、コンピュータがセッション方向判定プログラムを実行する構成についての説明図である。
以下に、本願の開示する判定装置、判定方法および判定プログラムを図面に基づいて詳細に説明する。なお、以下の具体的な実施例に本発明を限定するものではない。
[装置の構成]
図1は、実施例にかかる判定装置であるセッション方向判定装置の構成図である。図1に示したセッション方向判定装置10は、パケットデータ取得部21、パケット間隔集計部22、セッション管理テーブル23、パケット間隔集計データ24、セッション方向判定部25を有する。
パケットデータ取得部21は、ネットワークを介して接続された通信装置がネットワークを介して送受信したパケットを取得し、取得時のタイムスタンプを付加したパケットデータを生成する処理部である。パケット間隔集計部22はパケットの送信先として指定されたアドレスと送信元として指定されたアドレスとの組み合わせに基づいて、同一のセッション内でパケットの送信先と送信元が入れ替わる時間の間隔を集計する処理部である。
具体的には、パケット間隔集計部22は、アドレスとポート番号の組み合わせ及びプロトコルが一致したパケットを同一セッションのパケットとしてセッション管理テーブル23に登録する。また、パケット間隔集計部22は、同一セッションの最新のパケットについて、タイムスタンプと通信方向をセッション管理テーブル23に登録する。
さらに、パケット間隔集計部22は、同一のセッション内でパケットの送信先と送信元が入れ替わる時間の間隔を算出し、パケット間隔集計データ24に登録する。
セッション方向判定部25は、セッション管理テーブル23とパケット間隔集計データ24を参照し、セッションにおけるクライアント側の通信装置とサーバ側の通信装置とを判定する処理部である。
[ネットワークの構成例]
図2は、セッション方向判定装置10を接続したネットワークの説明図である。図2に示したネットワークは、クライアント端末41,42、サーバ51〜53がスイッチ40を介して接続した構成を有する。このネットワーク構成では、クライアント端末41,42、サーバ51〜53が送受信するパケットは、全てスイッチ40を経由する。このため、スイッチ40にセッション方向判定装置10を接続し、例えばポートミラーリングすることで、ネットワークを介して送受信するパケットを取得することができる。
図2に示した例では、スイッチ40を全てのパケットが通過する構成を例示したが、全てのパケットが経由するスイッチが存在しない場合には、ネットワーク上の複数のノードからパケットを取得すればよい。
図3は、ネットワークの利用関係についての説明図である。図3に示した例では、アドレス192.168.10.1を有する装置は、ウェブサーバ61のアドレス192.168.10.2に対して80番ポートでアクセスするクライアントである。また、アドレス192.168.10.1を有する装置は、ウェブサーバ61のアドレス192.168.10.2に対して8080番ポートでアクセスするクライアントである。加えて、アドレス192.168.10.1を有する装置は、ウェブサーバ62のアドレス192.168.1.2に対して80番ポートでアクセスするクライアントである。
同様に、アドレス192.168.10.2を有する装置は、ウェブサーバ62のアドレス192.168.1.2に対して80番ポートでアクセスするクライアントである。また、アドレス192.168.10.2を有する装置は、メールサーバ63のアドレス192.168.4.1に対して25番ポートでアクセスするクライアントである。加えて、アドレス192.168.10.2を有する装置は、メールサーバ63のアドレス192.168.4.1に対して110番ポートでアクセスするクライアントである。
また、ウェブサーバ61は、アドレス192.168.2.1を使用し、アプリケーションサーバ64のアドレス192.168.2.10に対して8002番ポートでアクセスする。すなわち、ウェブサーバ61は、アドレス192.168.10.1を有する装置に対してサーバとして動作するとともに、アプリケーションサーバ64に対してはクライアントとして動作する。
同様に、ウェブサーバ62は、アドレス192.168.2.2を使用し、アプリケーションサーバ64のアドレス192.168.2.10に対して8002番ポートでアクセスする。すなわち、ウェブサーバ62は、アドレス192.168.10.1及びアドレス192.168.10.2を有する装置に対してサーバとして動作するとともに、アプリケーションサーバ64に対してはクライアントとして動作する。
さらに、アプリケーションサーバ64は、アドレス192.168.3.10を使用し、データベースサーバ65のアドレス192.168.3.1に対して1521番ポートでアクセスする。すなわち、アプリケーションサーバ62は、ウェブサーバ61,62に対してサーバとして動作するとともに、データベースサーバ65に対してはクライアントとして動作する。
このようなネットワーク上での利用関係は、装置の物理的な筐体や配線からだけでは決まらない。そこで、本実施例に開示するセッション方向判定装置10は、ネットワーク上で送受信されるパケットから利用関係を判定する。
[セッション方向の判定]
図4は、パケットと利用関係についての説明図である。図4に示した例では、コンピュータc1がコンピュータc2に対してリクエストを送信するクライアントである。そして、コンピュータc2はコンピュータc1からのリクエストに対してレスポンスを返すサーバである。
コンピュータc1,c2が使用する通信が、コネクション管理を行なうTCPである場合、コネクションを確立するときに送受信するSYNやACKを検知することで、コンピュータc1がクライアントであり、コンピュータc2がサーバであることが分かる。
本実施例に開示するセッション方向判定装置10は、コネクション確立後のリクエストやレスポンスに用いるパケットからであっても利用関係を判定することができる。具体的には、セッション方向判定装置10は、同一のセッション内でパケットの送信先と送信元が入れ替わる時間の間隔から利用関係を判定する。
サーバ側の装置は、クライアント側の装置からリクエストを受信してレスポンスを返す。このため、サーバ側の装置では、同一のセッション内でパケットを受信してから送信するまでの時間の間隔はリクエストを受信してからレスポンスを返すまでの間となる。
クライアント側の装置は、サーバ側の装置にリクエストを送信してレスポンスを受信する。このため、クライアント側の装置では、同一のセッション内でパケットを受信してから送信するまでの時間の間隔はレスポンスを受信してから次のリクエストを送信するまでの間となる。
サーバ側の装置は、リクエストを受信後、すぐにレスポンスを返そうとする。一方、クライアント側の装置は、レスポンスを受信後、すぐに次のリクエストを送信するとは限らない。このため、クライアント側の装置がパケットを受信してから送信するまでの時間の間隔の平均は、サーバ側の装置がパケットを受信してから送信するまでの時間の間隔に比して長く、また時間の間隔のばらつきは大きくなる。なお、クライアント側の装置であっても、管理用のパケットを受信した場合には、すぐに応答してパケットを送信する。このため、管理用以外のパケット、例えばデータ部を有するパケットについて受信から送信までの時間の間隔を集計することが好ましい。また、サーバ側の装置はリクエストを受信するとレスポンスを送信するが、クライアント側の装置はレスポンスを受信しても次のリクエストを送信するとは限らない。このため、一方の通信装置についてパケットを受信してからの送信回数が0である場合は、当該通信装置をクライアント側と判定すればよい。
図4に示した例では、コンピュータc1がクライアント側の装置であり、コンピュータc2がサーバ側の装置である。クライアント側の装置であるコンピュータc1がパケットを受信してから送信するまでの時間t11は、サーバ側の装置であるコンピュータc2がパケットを受信してから送信するまでの時間t21,22に比して長くなっている。
図5は、コンピュータc1,c2がパケットを受信してから送信するまでの時間の間隔の平均値と、標準偏差の説明図である。コンピュータc1がパケットを受信してから送信するまでの時間の間隔の平均値t1aと標準偏差t1sは、コンピュータc2がパケットを受信してから送信するまでの時間の間隔の平均値t2aと標準偏差t2sに比して大きい。
セッション方向判定装置10は、同一のセッション内でパケットの送信先と送信元が入れ替わる時間の間隔について平均値とばらつきを求めて比較する。そして、パケットを受信してから送信するまでの時間の間隔の平均値やばらつきが大きい側の装置をクライアント側、小さい側の装置をサーバ側と判定する。
また、セッション方向判定装置10は、所定の時間あたりのパケットの送受信回数が増加した場合に、パケットを受信してから送信するまでの時間が減少する通信装置をクライアント側と判定してもよい。
図6は、所定の時間あたりのパケットの送受信回数と受信から送信まで時間についての説明図である。図6に示した例では、コンピュータc1がクライアント側の装置であり、コンピュータc2がサーバ側の装置である。
コンピュータc1について、時間t11,12は、所定時間あたりのパケットの送受信回数が少ない場合におけるパケットを受信してから送信するまでの時間である。そして、コンピュータc1について、時間t13〜15は、所定時間あたりのパケットの送受信回数が大きい場合におけるパケットを受信してから送信するまでの時間である。図6に示したように、クライアント側であるコンピュータc1では、所定時間あたりのパケットの送受信回数が多い場合の時間t13〜15は、所定時間あたりのパケットの送受信回数が少ない場合の時間t11〜12に比して短くなる。
一方、コンピュータc2について、時間t21,22は、所定時間あたりのパケットの送受信回数が少ない場合におけるパケットを受信してから送信するまでの時間である。そして、コンピュータc2について、時間t23〜25は、所定時間あたりのパケットの送受信回数が大きい場合におけるパケットを受信してから送信するまでの時間である。図6に示したように、サーバ側であるコンピュータc2では、所定時間あたりのパケットの送受信回数が多い場合の時間t23〜25は、所定時間あたりのパケットの送受信回数が少ない場合の時間t23〜25に比して同じか長くなる。コンピュータc2がパケットを受信してから送信するまでの時間が長くなるのは、受信するリクエストの数の増加にしたがって処理負荷が増え、遅延が発生する場合である。
図7は、所定時間あたりの集計回数と、パケット間隔の平均値をプロットした回帰直線の説明図である。集計回数は、装置がパケットを受信してから送信した場合に1増加する値である。図7に示した回帰直線L1は、所定時間当たりの集計回数が増えるに従って、パケットを受信してから送信するまでの間隔の平均値が小さくなることを示す。また、図7に示した回帰直線L2は、所定時間あたりの集計回数が増えるに従って、パケットを受信してから送信するまでの間隔の平均値が大きくなることを示す。
セッション方向判定装置10は、所定時間あたりの集計回数と、パケット間隔の平均値とが回帰直線L1の関係となる装置をクライアント側の装置と判定し、所定時間あたりの集計回数と、パケット間隔の平均値とが回帰直線L2の関係となる装置をサーバ側の装置と判定する。
[データの具体例]
図8は、セッション管理テーブル23の具体例である。セッション管理テーブル23は、セッションID、第1IPアドレス、第1ポート番号、第2IPアドレス、第2ポート番号、プロトコル、タイムスタンプ、通信方向の項目を有する。
パケット間隔集計部22は、パケットデータ取得部21が取得したパケットについて、送信先のアドレスとポート番号が第1IPアドレスと第1ポート番号に一致し、送信元のアドレスとポート番号が第2IPアドレスと第2ポート番号に一致し、プロトコルが一致するセッションが登録済みかを判定する。登録済みであれば、パケット間隔集計部22は、タイムスタンプを最新のパケットの値に更新する。さらに、パケット間隔集計部22は、通信方向の値が1であれば0に変更する。
また、パケット間隔集計部22は、送信先のアドレスとポート番号が第2IPアドレスと第2ポート番号に一致し、送信元のアドレスとポート番号が第1IPアドレスと第1ポート番号に一致し、プロトコルが一致するセッションが登録済みかを判定する。登録済みであれば、パケット間隔集計部22は、タイムスタンプを最新のパケットの値に更新する。さらに、パケット間隔集計部22は、通信方向の値が0であれば1に変更する。
そして、パケット間隔集計部22は、送信先と送信元のアドレスとポート番号、プロトコルの組み合わせが、第1IPアドレスとポート番号、第2IPアドレスとポート番号、プロトコルの組み合わせに存在しなければ、新規セッションとしてセッションIDを付与して登録する。この時、パケット間隔集計部22は、送信先のIPアドレスとポート番号を第1IPアドレスと第1ポート番号とする。また、パケット間隔集計部22は、送信元のIPアドレスとポート番号を第2IPアドレスと第2ポート番号とする。加えて、パケット間隔集計部22は、パケットのプロトコルからプロトコルの項目の値を登録し、パケットデータのタイムスタンプからタイムスタンプの値を登録する。また、パケット間隔集計部22は、通信方向の値を0とする。
すなわち、セッション管理テーブル23において、セッションを登録した時のパケットと最新のパケットの送受信アドレス及びポート番号が一致する場合に通信方向の項目の値は0となる。そして、セッションを登録した時のパケットと最新のパケットの送受信アドレス及びポート番号が反転した場合に通信方向の項目の値は1となる。
図8に示した例では、セッションIDが1のエントリは、第1IPアドレスが192.168.3.1、第1ポート番号が1521、第2IPアドレスが192.168.3.10、第2ポート番号が24222、プロトコルがTCP、タイムスタンプが0:00:00.001、通信方向が0である。
同様に、セッションIDが2のエントリは、第1IPアドレスが192.168.10.1、第1ポート番号が24223、第2IPアドレスが192.168.4.1、第2ポート番号が49152、プロトコルがUDP、タイムスタンプが0:00:00.003、通信方向が1である。
また、セッションIDが3のエントリは、第1IPアドレスが192.168.4.1、第1ポート番号が49152、第2IPアドレスが192.168.10.2、第2ポート番号が24224、プロトコルがUDP、タイムスタンプが0:00:00.005、通信方向が0である。
図9は、パケット間隔集計データ24の具体例である。パケット間隔集計データ24は、セッションID、第1IPアドレスの集計回数、平均値、標準偏差、第2IPアドレスの集計係数、平均値、標準偏差の項目を有する。
第1IPアドレスの集計回数は、通信方向が0から1に変化した時に1増加する。通信方向が0から1に変化するのは、送信先が第1IPアドレスであり、送信元が第2IPアドレスであるパケットを取得した後、送信先が第2IPアドレスであり、送信元が第1IPアドレスであるパケットを取得した場合である。
第1IPアドレスの平均値は、送信先が第1IPアドレスであり、送信元が第2IPアドレスであるパケットを取得した後、送信先が第2IPアドレスであり、送信元が第1IPアドレスであるパケットを取得するまでの時間の平均値である。送信先が第1IPアドレスであり、送信元が第2IPアドレスであるパケットを取得した後、送信先が第2IPアドレスであり、送信元が第1IPアドレスであるパケットを取得するまでの時間は、通信方向が0から1に変わる時に取得したパケットのタイムスタンプとセッション管理テーブル23が保持しているタイムスタンプの差分によって得ることができる。
パケット間隔集計部22は、このタイムスタンプの差分を第1IPアドレスのパケット間隔とし、パケット間隔の平均値と標準偏差を算出してパケット間隔集計データ24に保持する。
第2IPアドレスの集計回数は、通信方向が1から0に変化した時に1増加する。通信方向が1から0に変化するのは、送信先が第2IPアドレスであり、送信元が第1IPアドレスであるパケットを取得した後、送信先が第1IPアドレスであり、送信元が第2IPアドレスであるパケットを取得した場合である。
第2IPアドレスの平均値は、送信先が第2IPアドレスであり、送信元が第1IPアドレスであるパケットを取得した後、送信先が第1IPアドレスであり、送信元が第2IPアドレスであるパケットを取得するまでの時間の平均値である。送信先が第2IPアドレスであり、送信元が第1IPアドレスであるパケットを取得した後、送信先が第1IPアドレスであり、送信元が第2IPアドレスであるパケットを取得するまでの時間は、通信方向が1から0に変わる時に取得したパケットのタイムスタンプとセッション管理テーブル23が保持しているタイムスタンプの差分によって得ることができる。
パケット間隔集計部22は、このタイムスタンプの差分を第2IPアドレスのパケット間隔とし、パケット間隔の平均値と標準偏差を算出してパケット間隔集計データ24に保持する。
図9に示した例では、セッションIDが1のエントリは、第1IPアドレスの集計回数が5、平均値が100、標準偏差が150、第2IPアドレスの集計回数が5、平均値が10、標準偏差が30である。
同様に、セッションIDが2のエントリは、第1IPアドレスの集計回数が10、平均値が15、標準偏差が30、第2IPアドレスの集計回数が10、平均値が60、標準偏差が100である。
また、セッションIDが3のエントリは、第1IPアドレスの集計回数が30、平均値が50、標準偏差が100、第2IPアドレスの集計回数が30、平均値が40、標準偏差が70である。
セッション方向判定部25は、パケット間隔集計データ24を参照し、平均値や標準偏差が大きい側をクライアント側、小さい側をサーバ側とする。従って、図9の例では、セッションID1は、第1IPアドレス側がクライアント、第2IPアドレス側がサーバとなる。同様に、セッションID2は、第2IPアドレス側がクライアント、第1IPアドレス側がサーバとなる。また、セッションID3では、第1IPアドレス側がクライアント、第2IPアドレス側がサーバとなる。
図10は、セッション方向判定部25による判定結果の具体例である。判定結果は、セッションごとにクライアント側IPアドレス、サーバ側IPアドレス、サーバ側ポート番号、プロトコルの項目を有する。
セッション方向判定部25は、クライアント側IPアドレスとサーバ側アドレスをパケット間隔集計データ24から判定する。そして、セッション管理テーブル23を参照してクライアント側IPアドレス、サーバ側IPアドレス、サーバ側ポート番号、プロトコルを得る。
図10に示した例では、セッションID1のクライアント側IPアドレスが192.168.3.10、サーバ側のIPアドレスが192.168.3.1、サーバ側のポート番号が1521、プロトコルがTCPである。
同様に、セッションID2のクライアント側IPアドレスが192.168.10.1、サーバ側のIPアドレスが192.168.4.1、サーバ側のポート番号が49152、プロトコルがUDPである。
また、セッションID3のクライアント側IPアドレスが192.168.10.2、サーバ側のIPアドレスが192.168.4.1、サーバ側のポート番号が49152、プロトコルがUDPである。
[動作の説明]
図11は、パケット間隔集計部22の処理動作を説明するフローチャートである。パケット間隔集計部22は、パケットデータ取得部21が取得したパケットデータを読み込み(S101)、パケットを解析する(S102)。
パケット間隔集計部22は、読み込んだパケットにデータ部が存在しなければ(S103,No)、読み込んだパケットに対する処理を終了し、ステップS112に進む。
読み込んだパケットにデータ部が存在する場合(S103,Yes)、パケット間隔集計部22は、セッション管理テーブル23を参照し(S104)、読み込んだパケットが属するセッションが存在するか判定する(S105)。パケット間隔集計部22は、読み込んだパケットが属するセッションが存在するか否かの判定について、既に述べたように送信先及び送信元のアドレスとポート番号、プロトコルを用いる。
読み込んだパケットが属するセッションがセッション管理テーブル23に存在しない場合(S105,No)、パケット間隔集計部22は、読み込んだパケットに基づいて新たなセッションをセッション管理テーブル23に登録し(S111)、ステップS112に進む。
セッションが存在する場合(S105,Yes)、パケット間隔集計部22は、通信方向の変化を検出する(S106)。この通信方向の変化は、セッション管理テーブル23の通信方向の値が0から1、もしくは1から0に変化することを示す。
通信方向が変化した場合(S107,Yes)、パケット間隔集計部22は、パケット間隔を算出する(S108)。パケット間隔集計部22は、算出したパケット間隔とパケット間隔集計データ24に既に登録したデータとを用いて集計し(S109)、平均値や標準偏差を求めてパケット間隔集計データ24を更新する。
パケット間隔の集計(S109)の後、もしくは通信方向が変化しなかった場合(S107,No)、パケット間隔集計部22は、セッション管理テーブル23を更新する。
セッション管理テーブルの更新(S110)の後、パケット間隔集計部22は、全てのパケットについて読み込みが終了したかを判定する(S112)。また、セッション管理テーブルへの新規登録を行なった(S111)後や、読み込んだパケットにデータ部が存在しない場合(S103,No)にも、パケット間隔集計部22は、全てのパケットについて読み込みが終了したかを判定する(S112)。
読み込んでいないパケットが残っている場合(S112,No)、パケット間隔集計部22は、ステップS101に戻り、次のパケットデータを読み込む。そして、全てのパケットを読み込んだ後、パケット間隔集計部22は、パケット間隔集計データの作成を完了したことを示す出力を行い(S113)、処理を終了する。
図12は、セッション方向判定部25の処理動作について説明するフローチャートである。セッション方向判定部25は、パケット間隔集計データ24を読み込み(S201)、セッションを選択する(S202)。セッション方向判定部25は、選択したセッションの第1IPアドレスと第2IPアドレスのうち、一方の集計回数が0である場合(S203,Yes)、集計回数が0でないIPアドレスをサーバ側と判定し(S205)、判定結果を出力する(S206)。
また、セッション方向判定部25は、選択したセッションの第1IPアドレスと第2IPアドレスの双方が0でなければ(S203,No)、集計値を比較してクライアント側とサーバ側を判定し(S204)、判定結果を出力する(S206)。集計値の比較による判定では、セッション方向判定部25は、例えば平均値が大きい側をクライアント側と判定し、平均値が同一である場合には、標準偏差が大きい側をクライアント側と判定すればよい。
判定結果の出力(S206)の後、セッション方向判定部25は、全てのセッションについて方向の判定が終了したかを判定する(S207)。方向を判定していないセッションが残っている場合(S207,No)、セッション方向判定部は、ステップS202に戻り、セッションを選択する。そして、全てのセッションについて方向の判定を行なった場合(S207,Yes)に、処理を終了する。
図13は、回帰直線を用いる場合のセッション方向判定部25の処理動作について説明するフローチャートである。セッション方向判定部25は、パケット間隔集計データ24を読み込み(S301)、セッションを選択する(S302)。セッション方向判定部25は、選択したセッションの第1IPアドレスと第2IPアドレスのうち、一方の集計回数が0である場合(S303,Yes)、集計回数が0でないIPアドレスをサーバ側と判定し(S305)、判定結果を出力する(S307)。
また、セッション方向判定部25は、選択したセッションの第1IPアドレスと第2IPアドレスの双方が0でなければ(S303,No)、第1IPアドレスと第2IPアドレスについて集計値回数と平均値の回帰直線を算出する(S304)。セッション方向判定部25は、算出した回帰直線の傾きを比較して(S306)、判定結果を出力する(S307)。回帰直線の比較による判定では、セッション方向判定部25は、例えば傾きが負になる側をクライアント側と判定し、双方の傾きが負にならない場合には、回帰直線の傾きが小さい側をクライアント側と判定すればよい。
判定結果の出力(S307)の後、セッション方向判定部25は、全てのセッションについて方向の判定が終了したかを判定する(S308)。方向を判定していないセッションが残っている場合(S308,No)、セッション方向判定部は、ステップS302に戻り、セッションを選択する。そして、全てのセッションについて方向の判定を行なった場合(S308,Yes)に、処理を終了する。
[セッション方向判定プログラム]
図1に示したセッション方向判定装置10の各機能部をソフトウェアによって実現することで、セッション方向判定プログラムを得ることができる。図14は、コンピュータがセッション方向判定プログラムを実行する構成についての説明図である。図14に示したコンピュータ70は、バス71がCPU(Central Processing Unit)72、メモリ73、HDD(Hard Disk Drive)74を接続する。
HDD74は、セッション方向判定プログラム80を記憶する。CPU72は、セッション方向判定プログラム80を読み出してメモリ73に展開し、セッション方向判定プログラム80が有するプロセスを順次実行する。セッション方向判定プログラム80は、パケットデータ取得プロセス81、パケット間隔集計プロセス82、セッション管理テーブル83、パケット間隔集計データ84、セッション方向判定プロセス85を有する。
CPU72は、パケットデータ取得プロセス81を実行することで、図1に示したパケットデータ取得部21と同様の動作を行なう。また、CPU72は、パケット間隔集計プロセス82を実行することで、図1に示したパケット間隔集計部22と同様の動作を行なう。
CPU72がパケット間隔集計プロセス82を実行することで作成したセッション管理テーブル83とパケット間隔集計データ84は、メモリ73もしくはHDD74が保持する。そして、CPU72は、セッション方向判定プロセス85を実行することで、図1に示したセッション方向判定部25と同様の動作を行なう。
このように、セッション方向判定プログラム80を実行したコンピュータ70は、セッション方向判定装置として機能することとなる。なお、ここでは、セッション方向判定プログラム80をHDD74から読み出す場合を例示したが、セッション方向判定プログラム80は、CD(Compact Disc)など任意の記録媒体から読み出して実行することかできる。
上述してきたように、本実施例にかかるセッション方向判定装置10及びセッション方向判定プログラム80は、パケットを受信してから送信するまでのパケット間隔を集計し、集計結果からパケットが有する情報からクライアント側の通信装置とサーバ側の通信装置とを識別する。このため、コネクション管理用のパケットを取得するという制約や、パケットに情報を付加するなどの制約を受けることなく、データ部を有するデータパケットからであってもセッション方向を判定することができる。
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)通信装置が送受信したパケットを取得するパケット取得部と、
前記パケット取得部が取得したパケットの送信先のアドレスと送信元のアドレスとの組み合わせに基づいて、パケットの送信先と送信元が入れ替わる時間の間隔を同一のセッション内で集計する集計部と、
前記集計部による集計結果に基づいて、前記パケットの送信元又は前記パケットの送信先が、サーバに対応するか、クライアントに対応するかを判定する判定部と
を備えたことを特徴とする判定装置。
(付記2)前記集計部は、パケットの送信先のアドレスとポート番号と送信元のアドレスとプロトコル種別との組み合わせに基づいて、集計することを特徴とする付記1に記載の判定装置。
(付記3)前記判定部は、パケットを受信してから送信するまでの時間の平均値が大きい側の通信装置がクライアントに対応し、前記時間の平均値が小さい側の通信装置がサーバに対応すると判定することを特徴とする付記1または2に記載の判定装置。
(付記4)前記判定部は、パケットを受信してから送信するまでの時間のばらつきが大きい側の通信装置がクライアントに対応し、前記時間のばらつきが小さい側の通信装置がサーバに対応すると判定することを特徴とする付記1〜3のいずれか一つに記載の判定装置。
(付記5)前記判定部は、所定の時間当たりのパケットの送受信回数が増加した場合に、パケットを受信してから送信するまでの時間が減少する通信装置がクライアントに対応すると判定することを特徴とする付記1〜4のいずれか一つに記載の判定装置。
(付記6)前記判定部は、一方の通信装置についてパケットを受信してからの送信回数が0である場合に、当該通信装置がクライアントに対応すると判定することを特徴とする付記1〜5のいずれか一つに記載の判定装置。
(付記7)通信装置が送受信したパケットを取得するステップと、
前記パケットの送信先のアドレスと送信元のアドレスとの組み合わせに基づいて、パケットの送信先と送信元が入れ替わる時間の間隔を同一のセッション内で集計するステップと、
前記集計の結果に基づいて、前記パケットの送信元又は前記パケットの送信先が、サーバに対応するか、クライアントに対応するかを判定するステップと
を含んだことを特徴とする判定方法。
(付記8)通信装置が送受信したパケットを取得する手順と、
前記パケットの送信先のアドレスと送信元のアドレスとの組み合わせに基づいて、パケットの送信先と送信元が入れ替わる時間の間隔を同一のセッション内で集計する手順と、
前記集計の結果に基づいて、前記パケットの送信元又は前記パケットの送信先が、サーバに対応するか、クライアントに対応するかを判定する手順と
をコンピュータに実行させることを特徴とする判定プログラム。
10 セッション方向判定装置
21 パケットデータ取得部
22 パケット間隔集計部
23 セッション管理テーブル
24 パケット間隔集計データ
25 セッション方向判定部
40 スイッチ
41,42 クライアント端末
51〜53 サーバ
61〜62 ウェブサーバ
63 メールサーバ
64 アプリケーションサーバ
65 データベースサーバ
70,c1,c2 コンピュータ
71 バス
72 CPU
73 メモリ
74 HDD
80 セッション方向判定プログラム
81 パケットデータ取得プロセス
82 パケット間隔集計プロセス
83 セッション管理テーブル
84 パケット間隔集計データ
85 セッション方向判定プロセス

Claims (3)

  1. 通信装置が送受信したパケットを取得するパケット取得部と、
    前記パケット取得部が取得したパケットの送信先のアドレスと送信元のアドレスとの組み合わせに基づいて、パケットの送信先と送信元が入れ替わる時間の間隔を同一のセッション内で集計する集計部と、
    前記集計部による集計結果に基づいて、前記パケットの送信元又は前記パケットの送信先の通信装置のうち、所定の時間当たりのパケットの送受信回数が増加した場合に、パケットを受信してから送信するまでの時間が減少する通信装置がクライアントに対応すると判定する判定部と
    を備えたことを特徴とする判定装置。
  2. 通信装置が送受信したパケットを取得するステップと、
    前記パケットの送信先のアドレスと送信元のアドレスとの組み合わせに基づいて、パケットの送信先と送信元が入れ替わる時間の間隔を同一のセッション内で集計するステップと、
    前記集計の結果に基づいて、前記パケットの送信元又は前記パケットの送信先の通信装置のうち、所定の時間当たりのパケットの送受信回数が増加した場合に、パケットを受信してから送信するまでの時間が減少する通信装置がクライアントに対応すると判定するステップと
    を含んだことを特徴とする判定方法。
  3. 通信装置が送受信したパケットを取得する手順と、
    前記パケットの送信先のアドレスと送信元のアドレスとの組み合わせに基づいて、パケットの送信先と送信元が入れ替わる時間の間隔を同一のセッション内で集計する手順と、
    前記集計の結果に基づいて、前記パケットの送信元又は前記パケットの送信先の通信装置のうち、所定の時間当たりのパケットの送受信回数が増加した場合に、パケットを受信してから送信するまでの時間が減少する通信装置がクライアントに対応すると判定する手順と
    をコンピュータに実行させることを特徴とする判定プログラム。
JP2010067027A 2010-03-23 2010-03-23 判定装置、判定方法および判定プログラム Expired - Fee Related JP5549304B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010067027A JP5549304B2 (ja) 2010-03-23 2010-03-23 判定装置、判定方法および判定プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010067027A JP5549304B2 (ja) 2010-03-23 2010-03-23 判定装置、判定方法および判定プログラム

Publications (2)

Publication Number Publication Date
JP2011199788A JP2011199788A (ja) 2011-10-06
JP5549304B2 true JP5549304B2 (ja) 2014-07-16

Family

ID=44877379

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010067027A Expired - Fee Related JP5549304B2 (ja) 2010-03-23 2010-03-23 判定装置、判定方法および判定プログラム

Country Status (1)

Country Link
JP (1) JP5549304B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015171052A (ja) * 2014-03-07 2015-09-28 富士通株式会社 識別装置、識別プログラム、及び識別方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4255366B2 (ja) * 2003-11-28 2009-04-15 富士通株式会社 ネットワーク監視プログラム、ネットワーク監視方法、およびネットワーク監視装置
JP4543916B2 (ja) * 2004-12-21 2010-09-15 日本電気株式会社 ネットワーク性能計測方法およびその装置
JP2007221207A (ja) * 2006-02-14 2007-08-30 Hitachi Ltd 管理装置及び通信システム

Also Published As

Publication number Publication date
JP2011199788A (ja) 2011-10-06

Similar Documents

Publication Publication Date Title
US7788522B1 (en) Autonomous cluster organization, collision detection, and resolutions
JP5342696B2 (ja) インスタントメッセージクライアントでのプラグインのダウンロード
JP2003249960A (ja) サービス品質のプロービングと解析を行うピアツーピアの方法およびこの方法を使用する基盤
JP2006304288A5 (ja)
WO2008147578A1 (en) System and/or method for client- driven server load distribution
JP2008187425A (ja) 中継装置、プログラム及び中継方法
US10735326B2 (en) Information processing apparatus, method and non-transitory computer-readable storage medium
US7965655B2 (en) Distributed network distance determination using a distributed hash table overlay network
US7167979B2 (en) Invoking mutual anonymity by electing to become head of a return path
US20110078330A1 (en) Communication system, terminal device and communication control device
US7484055B1 (en) Fast handling of state change notifications in storage area networks
US9270550B2 (en) Session-based traffic analysis system
US9491067B2 (en) Timeout for identifying network device presence
US7991008B2 (en) Method for identifying the transmission control protocol stack of a connection
US20160359950A1 (en) Systems and methods for improved trivial file transfer protocol
JP5549304B2 (ja) 判定装置、判定方法および判定プログラム
RU2008121872A (ru) Ближайший узел для соединений распределенных служб
CN114731297A (zh) 用于计算设备对等方匹配的消息限制的自组织网络组
CN108259576B (zh) 一种软硬件实时信息传输系统和方法
TW201438435A (zh) 管理網路設備方法
CN114338574B (zh) 一种即时通讯方法、管理节点及系统
US8145698B1 (en) Self organizing peer-to-peer system, method, and/or apparatus
US6779054B2 (en) Method and apparatus for operating a network controller
JP2010033145A (ja) 管理装置、管理方法、およびプログラム
TW201006191A (en) UPnP/DLNA device support apparatus, system, and method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131018

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131029

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140204

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140407

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140505

R150 Certificate of patent or registration of utility model

Ref document number: 5549304

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees