(57)【要約】【課題】P2Pプロトコルに依存せずに、P2P端末を検知する。【解決手段】本発明のP2P端末検知及び制御システムおよびその方法は、端末が送受信するパケットの中から接続の属性を有する接続パケットの数と、応答の属性を有する応答パケットの数を計数し、接続パケットの数と応答パケットの数との比が所定の値以下のとき、その端末がP2P端末であると検知し、検知結果を検知情報として送信するP2P端末検知装置と、P2P端末検知装置からの検知情報を受信し、検知情報に対応した端末のトラヒックの制御情報をトラヒック制御装置へ送信するP2P端末制御装置とを備える。【選択図】図7
2009284433.tif 000002
【特許請求の範囲】
【請求項１】
端末が送受信するパケットの中から接続の属性を有する接続パケットの数と、応答の属性を有する応答パケットの数を計数し、前記接続パケットの数と前記応答パケットの数との比が所定の値以下のとき、前記端末がP2P端末であると検知し、前記検知結果を検知情報として送信するP2P端末検知装置と、前記P2P端末検知装置からの検知情報を受信し、前記検知情報に対応した前記端末のトラヒックの制御情報をトラヒック制御装置へ送信するP2P端末制御装置とを備えることを特徴とするP2P端末検知及び制御システム。
【請求項２】
前記接続パケットは前記端末が送信したパケットであり、前記応答パケットは前記端末が受信したパケットであることを特徴とする請求項1記載のP2P端末検知及び制御システム。
【請求項３】
前記検知情報は、前記端末を特定する情報と前記接続パケットの数と前記応答パケットの数との前記比に基づく情報であることを特徴とする請求項２記載のP2P端末検知及び制御システム。
【請求項４】
前記P2P端末検知装置は、前記端末がP2P端末であることの検知は、前記接続パケットの数が所定数に達する毎および所定時間に達する毎のいずれか一方に応じて、前記端末がP2P端末であるか否かを判定することを特徴とする請求項２記載のP2P端末検知及び制御システム。
【請求項５】
前記接続パケットは前記端末が送信したパケットであり、前記応答パケットは、前記送信したパケットに対応した接続及び応答の属性を有するパケットの受信に応答して前記端末が送信したパケットであることを特徴とする請求項1記載のP2P端末検知及び制御システム。
【請求項６】
前記端末のトラヒックの制御情報を受信し、前記制御情報に基づいて前記端末のトラヒックを制御するトラヒック制御装置をさらに設けたことを特徴とする請求項1記載のP2P端末検知及び制御システム。
【請求項７】
端末が送受信するパケットを受信する受信装置と、前記パケットの中から接続の属性を有する接続パケットの数と、応答の属性を有する応答パケットの数を計数し、前記接続パケットの数と前記応答パケットの数との比が所定の値以下のとき、前記端末がP2P端末であると検知するＣＰＵと、前記ＣＰＵによる検知結果を検知情報として出力する出力装置とを備えることを特徴とするP2P端末検知装置。
【請求項８】
前記接続パケットは前記端末が送信したパケットであり、前記応答パケットは前記端末が受信したパケットであることを特徴とする請求項7記載のP2P端末検知装置。
【請求項９】
前記検知情報は、前記端末を特定する情報と前記接続パケットの数と前記応答パケットの数との前記比に基づく情報であることを特徴とする請求項8記載のP2P端末検知装置。
【請求項１０】
前記ＣＰＵは、前記接続パケットの数が所定数に達する毎および所定時間に達する毎のいずれか一方に応じて、前記端末がP2P端末であるか否かを判定することを特徴とする請求項8記載のP2P端末検知装置。
【請求項１１】
前記接続パケットは前記端末が送信したパケットであり、前記応答パケットは、前記送信したパケットに対応した接続及び応答の属性を有するパケットの受信に応答して前記端末が送信したパケットであることを特徴とする請求項7記載のP2P端末検知装置。
【請求項１２】
ネットワークに接続するP2P端末検知装置が、端末が送受信するパケットの中から接続の属性を有する接続パケットの数と、応答の属性を有する応答パケットの数を計数し、前記接続パケットの数と前記応答パケットの数との比が所定の値以下のとき、前記端末がP2P端末であると検知し、前記検知結果を検知情報として出力することを特徴とするP2P端末検知方法。
【請求項１３】
前記接続パケットは前記端末が送信したパケットであり、前記応答パケットは前記端末が受信したパケットであることを特徴とする請求項12記載のP2P端末検知方法。
【請求項１４】
前記検知情報は、前記端末を特定する情報と前記接続パケットの数と前記応答パケットの数との前記比に基づく情報であることを特徴とする請求項13記載のP2P端末検知方法。
【請求項１５】
前記接続パケットの数が所定数に達する毎および所定時間に達する毎のいずれか一方に応じて、前記端末がP2P端末であるか否かを判定することを特徴とする請求項13記載のP2P端末検知方法。
【請求項１６】
前記接続パケットは前記端末が送信したパケットであり、前記応答パケットは、前記送信したパケットに対応した接続及び応答の属性を有するパケットの受信に応答して前記端末が送信したパケットであることを特徴とする請求項12記載のP2P端末検知方法。
【請求項１７】
ネットワークに接続するP2P端末検知装置が、端末が送受信するパケットの中から接続の属性を有する接続パケットの数と、応答の属性を有する応答パケットの数を計数し、前記接続パケットの数と前記応答パケットの数との比が所定の値以下のとき、前記端末がP2P端末であると検知し、前記検知結果を検知情報として出力し、
前記P2P端末検知装置に接続するP2P端末制御装置が、前記P2P端末検知装置からの検知情報を受信し、前記検知情報に対応した前記端末のトラヒックの制御情報をトラヒック制御装置へ送信することを特徴とするP2P端末検知及び制御方法。
【請求項１８】
前記接続パケットは前記端末が送信したパケットであり、前記応答パケットは前記端末が受信したパケットであることを特徴とする請求項17記載のP2P端末検知及び制御方法。
【請求項１９】
前記検知情報は、前記端末を特定する情報と前記接続パケットの数と前記応答パケットの数との前記比に基づく情報であることを特徴とする請求項18記載のP2P端末検知及び制御方法。
【請求項２０】
前記接続パケットは前記端末が送信したパケットであり、前記応答パケットは、前記送信したパケットに対応した接続及び応答の属性を有するパケットの受信に応答して前記端末が送信したパケットであることを特徴とする請求項17記載のP2P端末検知及び制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク上のトラヒックの中からP2P通信を行っている端末を検知し、検知した端末のトラヒックを制御する技術に関する。
【背景技術】
【０００２】
インターネット上で行われる通信の一形態として、P2P通信と呼ばれるものがある。これは不特定多数のコンピュータが相互に接続され、ルータなどを介しファイルなどの情報を送受信するインターネットの利用形態である（以下P2P通信を行っている端末をP2P端末と表記する）。P2P通信は、ファイルの共有などの大きな恩恵を利用者にもたらす一方で、著作権を侵害するファイルの流通に利用されたり、P2P通信のトラヒックの増加が通信ネットワークの大きな負荷となったりするなどの問題を発生させている。また、P2P通信を行うP2Pソフトウェア（以下、P2Pソフト）を悪用したウイルスによる情報漏洩事故が多発し、社会的な問題となっている。
【０００３】
これらの動きを受け、ネットワーク上のP2P端末を検知し、そのトラヒックを制御しようとする試みがなされている。例えば、特許文献１ではルータにおいてP2P通信を識別し、その識別情報を他のルータに通知し、P2P通信情報を共有する制御システムに関する記述がある。
【０００４】
【特許文献１】特開2005-295457号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
P2P端末が行うP2P通信には、この通信を実現するために多種のプロトコルが存在する。従って、プロトコルに依存しない検知方法が必要となる。特許文献１においては、パケットの中身を解析してP2P通信の検知を行うため、P2Pプロトコルが変更になった場合や、新たなP2Pプロトコルが出現した際に検知が不可能となってしまう。そのため、P2P通信の検知漏れ（P2P通信を、P2P通信以外の通常通信であると判別）が発生することが想定される。P2P端末の検知が正しく行われないと、その後のトラヒック制御において、P2P端末のトラヒックを通過させてしまうといった問題があった。
【０００６】
このような問題を背景にして、改良されたP2P端末検知及び制御システムが必要となる。
【課題を解決するための手段】
【０００７】
本発明のP2P端末検知及び制御システムおよびその方法は、端末が送受信するパケットの中から接続の属性を有する接続パケットの数と、応答の属性を有する応答パケットの数を計数し、接続パケットの数と応答パケットの数との比が所定の値以下のとき、その端末がP2P端末であると検知し、検知結果を検知情報として送信するP2P端末検知装置と、P2P端末検知装置からの検知情報を受信し、検知情報に対応した端末のトラヒックの制御情報をトラヒック制御装置へ送信するP2P端末制御装置とを備える。
【０００８】
本発明の他の態様は、端末が送受信するパケットの中から接続の属性を有する接続パケットの数と、応答の属性を有する応答パケットの数を計数し、接続パケットの数と応答パケットの数との比が所定の値以下のとき、その端末がP2P端末であると検知し、検知結果を検知情報として出力するP2P端末検知装置およびその方法である。
【０００９】
本発明の望ましい他の態様は、接続パケットは端末が送信したパケットであり、応答パケットは端末が受信したパケットである。
【００１０】
本発明の望ましいさらに他の態様は、検知情報は、端末を特定する情報と接続パケットの数と応答パケットの数との比に基づく情報である。
【００１１】
本発明の望ましいさらに他の態様は、P2P端末検知装置は、端末がP2P端末であることの検知は、接続パケットの数が所定数に達する毎および所定時間に達する毎のいずれか一方に応じて、端末がP2P端末であるか否かを判定する。
【００１２】
本発明の望ましいさらに他の態様は、接続パケットは端末が送信したパケットであり、応答パケットは、送信したパケットに対応した接続及び応答の属性を有するパケットの受信に応答して端末が送信したパケットである。
【００１３】
本発明の望ましいさらに他の態様は、端末のトラヒックの制御情報に受信し、制御情報に基づいて端末のトラヒックを制御するトラヒック制御装置をさらに設ける。
【発明の効果】
【００１４】
本発明によれば、P2Pプロトコルに依存せずに、P2P端末の検知を行うことが可能となる。さらに検知結果を用いることにより、検知したP2P端末のトラヒック制御が可能となる。
【発明を実施するための最良の形態】
【００１５】
インターネットでは通信の要求元(クライアント)と要求先(サーバ)との間でコネクション(接続)を確立するTCP（Transmission Control Protocol）が用いられる。TCPでは、要求元はコネクションの接続の属性を有する（TCPヘッダ内のSYN（Synchronize：同期）フラグをONにした）パケット（SYNパケット、接続パケット）を要求先へ送信する。要求先はSYNパケットを受信すると、SYNフラグ及びACK（Acknowledge：確認）フラグをONにしたSYN ACKパケット(接続・応答パケット)を要求元に向けて送信する。ACKフラグはSYNパケット（要求元から要求先への接続パケット）に対する確認であり、SYNフラグは要求先から要求元へのコネクション確立要求を示す。したがって、要求元は、SYN ACKパケットを受信すると、要求先から要求元へのコネクション確立要求に対するACKパケット(応答パケット)を送信する。このようにして要求元と要求先との間でコネクションを確立する。要求先(サーバ)は常時運用されていることがほとんどであり、コネクションは高い確率で確立される。
【００１６】
P2P通信では、要求先のP2P端末の電源断などにより、コネクションを確立できない場合が少なくない。P2P端末は、必ずしも他のP2P端末にサービスすることを目的としていないことから、常時運用されることが少ない。コネクションを確立できない状況にある場合、上述のTCPの説明から明らかなように、要求元P2P端末からのSYNパケットに対して、SYN ACKパケットが要求先P2P端末から送信されない。SYNパケットを送信するP2P端末から見ると、SYNパケットの送信に対応したSYN ACKパケットを受信しない。この点に着目し、実施例1として説明する。
【００１７】
またSYN ACKパケットを受信した要求元P2P端末はACKパケットを送信する必要があるが、そもそもSYN ACKパケットを受信しないので、ACKパケットを送信しないことになる。この点に着目し、実施例2として説明する。
【実施例１】
【００１８】
実施例１を、図1から図8を用いて説明する。図1に、本実施例におけるP2P端末の検知及び制御を行うP2P端末検知及び制御システムの構成例を示す。トラヒック制御装置101では、通信路104を流れるトラヒックを受信し、制御ポリシに基づいた制御を行い、制御後のトラヒックを通信路108に送信する。また、通信路104のトラヒックの中から通信路105へ検知対象のトラヒック、例えば、検知を行いたい通信(分析対象の通信)のIPアドレスが送受信を行っているトラヒック、あるいは、検知を行うために必要な属性を有するパケット（たとえばSYNフラグがONのSYNパケット）をコピーし送信する。通信路は例えばバスやケーブルなどの情報伝達用媒体である。P2P端末検知装置102は通信路105を流れるトラヒックを受信し、受信したトラヒックの中からP2P通信の検知を行い、検知情報を通信路106へ送信する。P2P端末制御装置103は通信路106を流れる検知情報を受信し、制御情報を通信路107へ送信する。P2P端末検知装置102は、トラヒック制御装置101が選択してコピーした分析対象のトラヒックを対象にP2P端末の検知処理を実行することが、P2P端末検知装置102の処理負荷の観点から望ましいが、P2P端末検知装置102が十分な性能を持った装置であるならば、分析対象のトラヒックの選択も含めて、P2P端末検知装置102が処理しても良い。このような構成にすることにより、トラヒック制御装置101のトラヒックの選択とコピーに係る負荷を軽減できる。この場合、図１において、P2P端末検知装置102は、通信路105に代えて、通信路104に接続し、トラヒック制御装置101はP2P端末検知装置102と接続しなくて良い。
【００１９】
通信路104及び通信路108は例えばイントラネットやインターネットなどのネットワークに接続しており、通信を行う1台以上の端末が接続されて、例えばウェブアクセスやファイル転送などの通信を行っている。P2P端末制御装置103から送信される制御情報は他のネットワークに接続している複数のトラヒック制御装置に送信し、他のネットワーク上を流れるトラヒックを制御してもよい。
【００２０】
図2に、トラヒック制御装置101の構成例を示す。トラヒック制御装置101は、CPU204と、CPU204が処理を実行するために必要なデータを格納するためのメモリ206と、他装置と通信を行うためのIF（インタフェース）201、IF202、IF203、IF205と、キーボード、ディスプレイなどの入出力を行うための入出力装置207と、これらの各装置間を接続する通信路(バス)208とを備えた、ネットワーク機器（例えばルータ）である。
【００２１】
なお、他の図においてもIF（インタフェース）と呼ぶが、接続先に応じて通信インタフェース、入出力インタフェース、又は動作に応じて通信装置、受信装置、送信装置、入出力装置などと呼んでも良い。
【００２２】
CPU204がメモリ206上のトラヒック制御プログラム210を実行する。メモリ206にはトラヒックを制御するためのトラヒック制御ルール209が格納されている。トラヒック制御ルール209には、通信を制御する情報が含まれており、例えばトラヒック制御装置101を通過する通信のパケットの廃棄、帯域の制限、宛先経路の変更、トラヒックをコピーして他のIFから送信するミラーリング等のルールが格納されている。トラヒック制御ルール209は、入出力装置207あるいは、P2P端末制御装置103からの通信路107及びIF205を介した新たなルール(制御情報)によって、書き換えられる又は追加される。トラヒック制御装置101は通信路104から受信したトラヒックをトラヒック制御ルール209に従い、IF202及び/又はIF203を介して、通信路105及び/又は通信路108へ送信する。
【００２３】
図3に、トラヒックの中からP2P通信を行っている端末を検知するP2P端末検知装置102の構成例を示す。P2P端末検知装置102は、CPU302と、メモリ304と、IF301、IF303と、これらの各装置を接続する通信路(バス)305とを備えたコンピュータである。CPU302がメモリ304上のP2P端末検知プログラム306を実行することにより、P2P通信を行っている端末を検知する。メモリ304にはP2P端末を検知するために用いられるP2P端末検知データ307が格納されている。P2P端末検知プログラム306は、あらかじめ、メモリ304に格納されていてもよいし、必要なときに、IF301あるいはIF303を介して他の装置からロード（インストール）されてもよい。IF303を用いる場合は、P2P端末検知プログラム306はP2P端末制御装置103からロードされる。
【００２４】
P2P端末検知プログラム306は、TCP（Transmission Control Protocol）コネクションの接続の属性を有する（TCPヘッダ内のSYN（Synchronize：同期）フラグをONにした）パケットを受信すると、P2P端末検知データ307の更新を行う。P2P端末検知データ307は、例えば、図4に示すように、端末情報401、SYNパケット送信数402、SYN ACKパケット受信数403の情報を含む。端末情報401とは、例えばIPアドレスなどの端末を識別するための情報である。SYNパケット送信数402とは、端末情報に記述された端末がSYNフラグのみをONにしたパケットを送信した数を示す。SYN ACKパケット受信数403とは、端末情報に記述された端末がSYNフラグ及びACK（Acknowledge：確認）フラグをONにしたパケットを受信した数を示している。
【００２５】
一般に、P2P端末は多数の端末と通信を行っており、接続先の端末の電源が切られているなどの理由によりコネクションの確立に失敗するケースが多い。そこで、P2P端末検知プログラム306は、あるタイミング、例えば端末毎にSYNパケット送信数が既定値（例えば100）に達した時、あるいは既定時間（例えば100秒）に達したときに、SYNパケット送信数402とSYN ACKパケット受信数403に基づき端末情報401の端末がP2P端末であるか判定を行う。この判定結果を検知情報としてIF303を介して通信路106へ送信する。検知情報には少なくとも端末を識別(特定)するための端末情報と、その端末がP2P端末である可能性の大きさを表す確信度が含まれている。P2P端末検知プログラム306による処理については図7を用いて後述する。
【００２６】
図5に、P2P端末の通信を制御するP2P端末制御装置103の構成例を示す。P2P端末制御装置103は、CPU503と、メモリ502と、大量のデータを記録する容量を持つハードディスクやフラッシュメモリなどの記憶装置506と、他装置と通信を行うためのIF501、IF505と、入出力装置504と、これらの各装置間を接続する通信路(バス)507とを備えたコンピュータである。CPU503がメモリ502上のP2P端末制御プログラム508を実行することにより、P2P端末のトラヒック制御を行う。記憶装置506には、P2P端末のトラヒックをどのように制御するのかの制御ポリシを格納した制御ポリシデータ509が格納されている。P2P端末制御プログラム508や制御ポリシデータ509は、あらかじめ、メモリ502または記憶装置506に格納されていてもよいし、入出力装置504からまたはIF501あるいはIF505を介して他の装置から、インストール（ロード）されてもよい。
【００２７】
図6に、制御ポリシデータ509の一例を示す。制御ポリシデータ509は確信度601及び制御情報602の情報を含む。制御ポリシデータ509の確信度601は、確信度601に応じた制御の内容である制御情報602を選択するための基準である。確信度601と制御情報602との対応は、検知情報に含まれる確信度の、P2P端末検知装置102における決め方に応じて調整される。たとえば、P2P端末の検知に応じて、対応する制御情報は「通信の遮断」である場合は、もはや確信度を用いる必要はない。P2P端末制御プログラム508では受信した検知情報に含まれる確信度と制御ポリシデータの確信度601を比較し、適切な制御情報602を、IF505を介して通信路107へ送信する。P2P端末制御プログラム508の処理については図8を用いて後述する。
【００２８】
図7は、P2P端末を検知し、検知情報を送信するP2P端末検知プログラム306の処理フローである。P2P端末検知プログラム306は、通信路105を流れるパケットをIF301を介して受信し（処理701）、受信したパケットのヘッダ部を解析し、SYNフラグがONになっているパケットであれば処理703に進み、SYNフラグがONになっているパケットでなければ処理704に進む（処理702）。なお、トラヒック制御装置101において、SYNフラグがONになっているパケットのみを通信路105へ送信するように設定している場合は処理702を省略し、処理703に進む。
【００２９】
P2P端末検知プログラム306は、受信したパケットのACKフラグがONになっていなければ、P2P端末検知データ307における、パケットの送信元IPに対応する端末情報401のSYNパケット送信数402を+1する。なお、対応する端末情報401が存在しなければ、P2P端末検知データ307に新たな行を追加し、パケットの送信元IPに対応した端末情報401を格納し、SYNパケット送信数402を1とする。受信したパケットのACKフラグがONになっていれば、パケットの宛先IPに対応する端末情報401のSYN ACKパケット受信数403を+1する。なお、対応する端末情報401が存在しなければ、P2P端末検知データ307に新たな行を追加し、パケットの送信元IPに対応した端末情報401を格納し、SYN ACKパケット受信数403を1とする（処理703）。
【００３０】
P2P端末検知プログラム306は、トリガ（例えばSYNパケット送信数が既定値（例えば100）に達する毎に、あるいは既定時間（例えば100秒周期）に達する毎に）が発生した場合、処理705に進み、発生しなかった場合は処理を終了する(処理704)。トリガが発生した場合は、SYNパケット送信数402とSYN ACKパケット受信数403に基づき端末情報401の端末がP2P端末であるかどうかの判定を行う（処理705）。P2P端末の判定は、例えば、SYNパケット送信数に対するSYN ACKパケット受信数の割合（SYN ACKパケット受信数/SYNパケット送信数）を求め、その割合がある基準(閾値)以下の端末をP2P端末として判定する。前述のように、P2P通信ではSYNパケットの送信に対してSYN ACKパケットを受信しない場合が多いので、P2P端末であるかどうかの判定の基準(閾値)として、たとえば0.9を用いる(環境に合わせて基準(閾値)を変えてもよい)。
【００３１】
P2P端末検知プログラム306は、処理705で判定された結果を検知情報として、IF303を介して通信路106へ送信し、送信した端末情報を含む行をP2P端末検知データ307から削除し、処理を終了する（処理706）。検知情報には判定した端末のIPと、その端末がP2P端末である可能性の大きさを表す確信度が含まれている。確信度は、例えば、SYNパケット送信数に対する、SYNパケット送信数とSYN ACKパケット受信数の差の割合｛1−（SYN ACKパケット受信数）/（SYNパケット送信数）｝などにより求める。例示した式によれば、確信度は、送信したSYNパケット数に対する受信したSYN ACKパケット数の比が、0（SYN ACKパケットを受信しない）の場合に1であり、1（送信したSYNパケットのすべてに対してSYN ACKパケットを受信）の場合に0である。
【００３２】
図8は、P2P端末検知装置102の検知情報を受信し、制御情報を送信するP2P端末制御プログラム508の処理フローである。P2P端末制御プログラム508は、通信路106を流れる検知情報をIF501を介して受信し（処理801）、受信した検知情報に含まれている確信度と、制御ポリシデータ509に含まれる確信度601とを比較し、適切なポリシが存在する場合は処理803に進む（処理802）。適切なポリシが存在しない場合は処理を終了する。P2P端末制御プログラム508は、検知情報に含まれている端末情報と、適切な制御情報602を、IF505を介して通信路107へ送信し終了する（処理803）。
【００３３】
本実施例によれば、コネクション確立シーケンスを監視することにより、SYNパケット送信数とSYN ACKパケット受信数との比に基づいて、P2P端末を検知することが可能となり、検知に応じたP2P端末の制御が可能となる。
【００３４】
本実施例の一部を変更して、次のように実施してもよい。P2P端末検知装置102とP2P端末制御装置103を一つの装置で構成することにより、装置の台数を減らし、設置スペースの削減を行うことができる。
【００３５】
P2P端末検知装置プログラム306のP2P端末判定処理705に用いるSYNパケット送信数に対するSYN ACKパケット受信数の割合の閾値を低い値、例えば0.01に設定することで、確立しないＴＣＰ接続を大量に試みるSYN-Flood攻撃（SYN flooding attack）の検知を行うことが可能となる。
【実施例２】
【００３６】
本実施例は、P2P端末検知データ307に格納する計数対象データとそのデータに係る処理を、実施例1と異にする。以下、実施例1と異なる点を中心に、本実施例を説明する。
【００３７】
図9は、図4に示した実施例1におけるP2P端末検知データ307の他の例を示した図である。端末情報901及びSYNパケット送信数902に関しては、実施例1の端末情報401及びSYNパケット送信数402と同様である。本実施例では、実施例1のSYN ACKパケット受信数403の代わりにACKパケット送信数903を計数する。ただし、計数するACKパケット送信数はSYN ACKパケットに対する応答の属性を有するACKパケットとする。
【００３８】
図10は、P2P端末を検知し、検知情報を送信するP2P端末検知プログラム306の処理フローである。P2P端末検知プログラム306は、通信路105を流れるパケットをIF301を介して受信し（処理1001）、受信したパケットのヘッダ部を解析し、SYNフラグがONになっているパケットであれば処理1003に進み、SYNフラグがONになっていないパケットであれば処理1005に進む（処理1002）。
【００３９】
P2P端末検知プログラム306は、パケットのヘッダ部を解析し、ACKフラグがONになっているパケットであれば、パケット中の宛先IPとシーケンス番号+1（あるいは確認応答番号）との値の組をメモリ304に記録する（処理1004）、ACKフラグがONになっていないパケットであれば処理1007に進む（処理1003）。
【００４０】
P2P端末検知プログラム306は、パケットのヘッダ部を解析し、ACKフラグがONになっているパケットであれば処理1006に進み、ACKフラグがONになっていないパケットであれば処理1008に進む（処理1005）。
【００４１】
P2P端末検知プログラム306は、パケット中の送信元IPと確認応答番号（あるいはシーケンス番号）との値の組をメモリ304に格納されている値の組と比較し、一致するものがあれば処理1007に進み、一致するものがなければ分岐1008に進む（処理1006）。
【００４２】
P2P端末検知プログラム306は、処理1003を経由したパケットであれば、パケット中の送信元IPに対応する端末情報901のSYNパケット送信数902を+1する。なお、対応する端末情報901が存在しなければ、P2P端末検知データ307に新たな行を追加し、パケットの送信元IPに対応した端末情報901を格納し、SYNパケット送信数902を1とする。処理1006を経由したパケットであれば、パケット中の送信元IPに対応する端末情報901のACKパケット送信数903を+1する。なお、対応する端末情報901が存在しなければ、P2P端末検知データ307に新たな行を追加しパケットの送信元IPに対応した端末情報901を格納し、ACKパケット送信数903を1とする（処理1007）。
【００４３】
P2P端末検知プログラム306は、トリガ（例えばSYNパケット送信数が既定値（例えば100）に達した時、あるいは既定時間（例えば100秒）に達したとき）が発生した場合、処理1009に進み、トリガが発生しない場合は処理を終了する（処理1008）。
【００４４】
P2P端末検知プログラム306は、SYNパケット送信数902とACKパケット送信数903に基づき端末情報901の端末がP2P端末であるかどうか判定を行う（処理1009）。P2P端末の判定は例えば、SYNパケット送信数に対するACKパケット送信数の割合（ACKパケット送信数/SYNパケット送信数）を求め、その割合がある基準(例えば0.9)以下の端末をP2P端末として判定する。
【００４５】
P2P端末検知プログラム306は、処理1009で判定された結果を検知情報として、IF303を介して通信路106へ送信し、送信した端末情報を含む行をP2P端末検知データ307から削除し、処理を終了する（処理1010）。検知情報には判定した端末のIPと、その端末がP2P端末である可能性の大きさを表す確信度が含まれている。確信度は、ある関数に従い算出される。例えば、SYNパケット送信数に対するSYNパケット送信数とACKパケット送信数の差の割合（1−ACKパケット送信数/SYNパケット送信数）などにより求める。
【００４６】
本実施例によれば、コネクション確立シーケンスを監視することにより、SYNパケット送信数とACKパケット送信数との比に基づいて、P2P端末を検知することが可能となり、検知に応じたP2P端末の制御が可能となる。
【図面の簡単な説明】
【００４７】
【図１】P2P端末検知及び制御システムの構成例である。
【図２】トラヒック制御装置の構成例である。
【図３】P2P端末検知装置の構成例である。
【図４】P2P端末検知データの例である。
【図５】P2P端末制御装置の構成例である。
【図６】制御ポリシデータの一例である。
【図７】P2P端末検知プログラムの処理フロー図である。
【図８】P2P端末制御プログラムの処理フロー図である。
【図９】P2P端末検知データの他の例である。
【図１０】他のP2P端末検知プログラムの処理フロー図である。
【符号の説明】
【００４８】
101…トラヒック制御装置、102…P2P端末検知装置、103…P2P端末制御装置。
【図１】
2009284433.tif 000003
【図２】
2009284433.tif 000004
【図３】
2009284433.tif 000005
【図４】
2009284433.tif 000006
【図５】
2009284433.tif 000007
【図６】
2009284433.tif 000008
【図７】
2009284433.tif 000009
【図８】
2009284433.tif 000010
【図９】
2009284433.tif 000011
【図１０】
2009284433.tif 000012