JP6783501B2 - 情報伝送システム、情報通信装置、情報伝送装置、及びプログラム - Google Patents

情報伝送システム、情報通信装置、情報伝送装置、及びプログラム Download PDF

Info

Publication number
JP6783501B2
JP6783501B2 JP2015017901A JP2015017901A JP6783501B2 JP 6783501 B2 JP6783501 B2 JP 6783501B2 JP 2015017901 A JP2015017901 A JP 2015017901A JP 2015017901 A JP2015017901 A JP 2015017901A JP 6783501 B2 JP6783501 B2 JP 6783501B2
Authority
JP
Japan
Prior art keywords
information
packet data
communication
processing
communication device
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.)
Active
Application number
JP2015017901A
Other languages
English (en)
Other versions
JP2015164295A (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.)
University of Tokyo NUC
Original Assignee
University of Tokyo NUC
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 University of Tokyo NUC filed Critical University of Tokyo NUC
Priority to JP2015017901A priority Critical patent/JP6783501B2/ja
Publication of JP2015164295A publication Critical patent/JP2015164295A/ja
Application granted granted Critical
Publication of JP6783501B2 publication Critical patent/JP6783501B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/306Route determination based on the nature of the carried application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering

Landscapes

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

Description

本発明は、情報の伝送を行う情報伝送システム、情報通信装置、情報伝送装置、及びプログラムに関する。
近年では、ネットワークの構成を動的に変化させるなどの要望に応えるため、ネットワーク上でのデータの伝送経路をソフトウエアによって動的に制御する、ソフトウエア・デファインド・ネットワーク(SDN:Software Defined Network)が研究・開発されている。
一例として、OpenFlow(オープンフロー)と呼ばれるSDNでは、ネットワーク上に配されたスイッチ装置が、中央に配されたコントローラからの指示に従ってデータ伝送処理を行う。オープンフローでは、コントローラはパケットデータのヘッダ部に含まれる情報についてのパターンと、当該パターンがヘッダ部に含まれるパケットデータについて実行するべき処理とをスイッチ装置側へ伝達する。スイッチ装置では、このパターンと処理とを関連付けて記憶しておく。また、スイッチ装置は、入力されたパケットデータのヘッダ部を参照し、コントローラから指定されたパターンに合致する場合に、当該パターンに関連付けられた処理を実行する。
なお、パケットデータのヘッダ部には、パケットデータの通信フローを識別するための情報、具体的には受信ポートの識別情報、送信元MAC(Media Access Controller)アドレス、宛先MACアドレス、VLAN(Virtual Local Area Network)の情報、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号等が含まれる。
また、実行するべき処理としては、パケットデータを特定のポートを介して送出する処理や、破棄する処理、ヘッダ部の情報を書き換える処理等が指定され、スイッチ装置において実行される。
国際公開第2010−103909号
しかしながら、上記従来のオープンフロー等のSDN技術においては、パケットデータは、その通信フローを識別する情報、つまりはヘッダ情報に基づいて制御が行われるため、設定が容易でないことが多い。例えば、動画配信を行うサイトからのパケットデータと、そうでないパケットデータとで送信経路を異ならせたい場合に、当該動画配信を行うサイトのIPアドレスを予め知らなければならず、設定の利便性が低い。
また通信先のIPアドレスが固定されているとは限らないピア・ツー・ピアの通信等に対応したい場合、ヘッダ部の情報では設定が困難な場合もある。また、送信元端末のアプリケーションや、ユーザの操作状況、端末の地理的位置等に依存した通信経路制御を行うことが可能となれば、応用範囲は広いが、現状ではアプリケーション種別がヘッダ等に記録されないため、現状のままではネットワーク機器側での制御を行うことができない。
本発明は上記実情に鑑みて為されたもので、データの伝送制御に係る設定を容易にできる情報伝送システム、情報通信装置、情報伝送装置、及びプログラムを提供することを、その目的の一つとする。
上記従来例の問題点を解決するための本発明は、情報通信装置と、情報伝送装置とを含む情報伝送システムであって、前記情報通信装置は、通信に係るパケットデータを、前記情報伝送装置との間で送受する通信手段と、情報通信装置側で取得可能な情報を保持する保持手段と、前記保持手段が保持する情報を付加情報として、当該付加情報を送出する手段と、を含み、前記情報伝送装置は、前記情報通信装置からパケットデータを受け入れる手段と、受信される付加情報に基づく条件と、処理指示情報とを関連付けて記憶する記憶手段と、前記記憶手段に記憶されている前記条件のうち、前記情報通信装置から受け入れた付加情報が満足する条件を探索し、当該付加情報が満足する条件があれば、当該情報通信装置から受信したパケットデータに関する所定の特徴情報を抽出し、当該条件に関連付けて記憶している処理指示情報に基づいて、当該パケットデータを処理するとともに、当該抽出した特徴情報と処理指示情報とを関連付けて記憶する第1の処理と、前記情報通信装置から受け入れたパケットデータから所定の特徴情報を抽出し、当該抽出した特徴情報と処理指示情報とが関連付けて記憶されているときに、当該記憶された特徴情報に関連付けられた処理指示情報に基づいて、受け入れたパケットデータを処理する第2の処理と、を実行する処理手段と、を有することとしたものである。
また、本発明の一態様に係る情報通信装置は、通信に係るパケットデータを送受する通信手段と、通信に係るパケットデータを、前記情報伝送装置との間で送受する通信手段と、情報通信装置側で取得可能な情報を保持する保持手段と、前記保持手段が保持する情報を付加情報として、当該付加情報を送出する手段と、を含むこととしたものである。
さらに本発明の別の態様に係る情報伝送装置は、情報通信装置側で取得可能な情報を付加情報として、当該付加情報とパケットデータとを送出する情報通信装置と通信可能に接続され、前記情報通信装置からパケットデータを受け入れる手段と、受信される付加情報に基づく条件と、処理指示情報とを関連付けて記憶する記憶手段と、前記記憶手段に記憶されている前記条件のうち、前記情報通信装置から受け入れた付加情報が満足する条件を探索し、当該付加情報が満足する条件があれば、当該情報通信装置から受け入れたパケットデータに関する所定の特徴情報を抽出し、当該条件に関連付けて記憶している処理指示情報に基づいて、当該パケットデータを処理するとともに、当該抽出した特徴情報と処理指示情報とを関連付けて記憶する第1の処理と、前記情報通信装置から受け入れたパケットデータから所定の特徴情報を抽出し、当該抽出した特徴情報と処理指示情報とが関連付けて記憶されているときに、当該記憶された特徴情報に関連付けられた処理指示情報に基づいて、受け入れたパケットデータを処理する第2の処理と、を実行する処理手段と、を有することとしたものである。
ここで前記特徴情報は、パケットデータの送信元を特定する情報と、パケットデータの送信先を特定する情報との少なくとも一方であることとしてもよい。
また前記処理手段は、さらに、一連の通信の終了を表す情報を含むパケットデータを受け入れた時に、前記記憶している、当該パケットデータから抽出される特徴情報とそれに関連付けられた処理指示情報とを削除する処理を実行することとしてもよい。
さらに本発明の一態様に係るプログラムは、情報通信装置側で取得可能な情報を付加情報として、当該付加情報とパケットデータとを送出する情報通信装置と通信可能に接続されるコンピュータを、前記情報通信装置からパケットデータを受け入れる手段と、受信される付加情報に基づく条件と、処理指示情報とを関連付けて記憶する記憶手段と、前記記憶手段に記憶されている前記条件のうち、前記情報通信装置から受け入れた付加情報が満足する条件を探索し、当該付加情報が満足する条件があれば、当該情報通信装置から受け入れたパケットデータに関する所定の特徴情報を抽出し、当該条件に関連付けて記憶している処理指示情報に基づいて、当該パケットデータを処理するとともに、当該抽出した特徴情報と処理指示情報とを関連付けて記憶する第1の処理と、前記情報通信装置から受け入れたパケットデータから所定の特徴情報を抽出し、当該抽出した特徴情報と処理指示情報とが関連付けて記憶されているときに、当該記憶された特徴情報に関連付けられた処理指示情報に基づいて、受け入れたパケットデータを処理する第2の処理と、を実行する処理手段と、として機能させることとしたものである。
さらに、本発明の別の態様に係るプログラムは、コンピュータを、通信に係るパケットデータを、前記情報伝送装置との間で送受する通信手段と、情報通信装置側で取得可能な情報を保持する保持手段と、前記保持手段が保持する情報を付加情報として、当該付加情報を送出する手段と、として機能させることとしたものである。
本発明によると、データの伝送制御に係る設定を容易にできる。
本発明の実施の形態に係る情報伝送システムの構成例を表すブロック図である。 本発明の実施の形態に係る情報伝送システムが送受するパケットデータの内容例を表す説明図である。 本発明の実施の形態に係る情報伝送装置が保持するフロー設定データベースの内容例を表す説明図である。 本発明の実施の形態に係る情報通信装置の例を表す機能ブロック図である。 本発明の実施の形態に係る情報伝送装置の例を表す機能ブロック図である。 本発明の実施の形態に係る情報伝送装置が記憶する通信フローデータベースの内容例を表す説明図である。 本発明の実施の形態に係る情報伝送装置の動作例を表すフローチャート図である。
本発明の実施の形態について図面を参照しながら説明する。本実施の形態に係る情報伝送システムは、図1に示すように、情報通信装置1と、情報伝送装置2とを含んで構成されている。またこれら情報通信装置1と情報伝送装置2とは互いにゲートウェイ装置やネットワークを介して通信可能に接続されている。本実施の形態の一例において情報通信装置1は、ネットワークを介したデータ通信が可能な携帯端末(スマートフォン等)であり、情報伝送装置2は、例えばスイッチである。
本実施の形態の一例に係る情報通信装置1は、図1に例示するように、制御部11と、記憶部12と、操作部13と、表示部14と、通信部15とを含んで構成される。また、情報伝送装置2は、制御部21と、記憶部22と、複数の通信ポート230a,b,…を備えた通信部23と、を含んで構成されている。
制御部11は、CPU等のプログラム制御デバイスであり、記憶部12に格納されたプログラムに従って動作する。本実施の形態の制御部11は、情報通信装置1としての本来の処理(例えば情報通信装置1がスマートフォンであれば、電話の着信や発信等の処理を含む)を実行するほか、情報伝送装置2との間で通信を行う。ここでの通信は、具体的にはソケット通信(例えばBSDソケット、及びそれと互換性のあるAPI(Application Program Interface)を用いた通信)である(IEEE Std. 1003.1-2001 Standard for Information Technology -- Portable Operating System Interface(POSIX) )。このソケット通信では、アプリケーションプログラム(以下、アプリケーションと略称する)は、少なくとも一つのソケット(仮想的な通信インタフェース)を介してパケットデータの送受を行う。
またこの制御部11は、情報通信装置1において取得可能な情報(アプリケーションが送出しようとするデータそのものとは異なる情報)を取得して、当該取得した情報を記憶部12に格納して保持する。具体的にここでの取得可能な情報は、通信中のソケットに関する情報であり、例えば、通信中のソケットを用いて通信を行っているアプリケーションの名称や、プロセス・ステータス(フォアグラウンドで実行されているか、バックグラウンドで実行されているか、あるいは、アイドル状態か、停止された状態か、など)、アプリケーションを実行中の利用者名や、端末の地理的な位置情報などである。さらに制御部11は、通信を行う際、送出するパケットデータの少なくとも一つに対して、ここで保持した情報を付加情報として付加し、当該付加情報を付加したパケットデータを送出する。この制御部11の詳しい動作については、後に述べる。
記憶部12は、メモリ素子あるいは、ディスクデバイス等であり、制御部11によって実行されるプログラムを保持している。このプログラムは、DVD−ROM等の、非一時的(non-transitory)かつ、コンピュータ可読な記録媒体に格納されて提供され、この記憶部12に複写されたものであってもよい。本実施の形態では、この記憶部12は制御部11のワークメモリとしても動作する。
操作部13は、タッチパネル等であり、利用者の操作を受け入れて、当該操作の内容を制御部11に出力する。表示部14は、ディスプレイ等であり、制御部11から入力される指示に従って情報を表示出力する。通信部15は、無線LAN(Local Area Network)による通信を行うネットワークインタフェース等であり、制御部11から入力される指示に従い、ネットワークを介してパケットデータを送出する。またこの通信部15はネットワークを介して到来する自己宛のパケットデータ、またはブロードキャストされたパケットデータを受信して制御部11に出力する。
情報伝送装置2の制御部21は、CPU等のプログラム制御デバイスであり、記憶部22に格納されたプログラムに従って動作する。本実施の形態の制御部21は、通信部23のいずれかの通信ポート230を介して、パケットデータを受け入れて次の処理を行う。ここでパケットデータは図2に例示するようにヘッダ部(H)と、ペイロード部(P)とを含んでなる。このパケットデータには、トレイラ部(T)が付加されてもよい。
ヘッダ部には、パケットデータの通信フローを識別するための情報、具体的には受信ポートの識別情報、送信元MAC(Media Access Controller)アドレス、宛先MACアドレス、VLAN(Virtual Local Area Network)の情報、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号等が含まれる。またペイロード部はユーザデータを含む部分である。ここでユーザデータは、例えばHTTPプロトコルにより、URL「http://aaa.bbb.ccc/ddd」を要求するデータであれば、「GET http://aaa.bbb.ccc/ddd」といったコマンド文字列を含むものとなる。
本実施の形態の制御部21は、情報通信装置1からパケットデータを受け入れたとき、当該パケットデータに付加情報が付加されていれば次の処理を行う。すなわちこの制御部21は、後に述べる記憶部12に格納された付加情報に基づく条件のうち、受け入れたパケットデータに付加されている付加情報が満足する条件があるか否かを探索する。ここで当該付加情報が満足する条件があれば、制御部21は、当該付加情報が付加されたパケットデータに関する所定の特徴情報を抽出する。一例としてこの特徴情報は、一般にフロー情報と呼ばれる、送信元と送信先の間の通信を特定するために必要な、ヘッダ部に含まれる情報の組み合わせ、あるいはその一部である。例えばオープンフロー(OpenFlow 1.3)では40個のヘッダ部に含まれる情報の部分をフロー情報として用いているが、ここでの例でもこのオープンフローの場合と同じフロー情報を特徴情報として用いてもよい。また複数の通信をまとめて扱う時には、ヘッダ部に含まれる情報の一部だけをフロー情報として指定してもよい。つまり、ここでの特徴情報は例えばヘッダ部(H)に含まれる情報として例えば送信元IPアドレスまたは宛先IPアドレスそのものでもよい。そして制御部21は、当該付加情報が満足する条件に関連付けて記憶部22に格納されている処理指示情報を読み出し、当該受け入れたパケットデータを読み出した処理指示情報に従って処理するとともに、抽出した特徴情報と当該読み出した処理指示情報とを関連付けて記憶する(第1の処理)。
またこの制御部21は、情報通信装置1からパケットデータを受け入れたとき、当該パケットデータに付加情報が付加されているか否かに関わらず(もっとも、既に第1の処理において処理指示情報に従った処理が行われていれば、以下の処理を行う必要はない)、受け入れたパケットデータから所定の特徴情報を抽出する。この特徴情報は、第1の処理において抽出したものと同じものとする。制御部21は、当該抽出した特徴情報と共通した特徴情報が記憶されているときに、当該記憶された特徴情報に関連付けられた処理指示情報に基づいて、受け入れたパケットデータを処理する(第2の処理)。この制御部21の具体的な処理についても、後に述べる。
記憶部22は、メモリ素子あるいは、ディスクデバイス等であり、制御部21によって実行されるプログラムを保持している。このプログラムは、DVD−ROM等の非一時的に(non-transitory)、かつコンピュータ可読な記録媒体に格納されて提供され、この記憶部22に複写されたものであってもよい。
本実施の形態において、この記憶部22には、予め、図3に例示するように、情報通信装置1が付加する付加情報に係る複数の条件の各々に対し、それぞれ処理指示情報が関連付けて、フロー設定データベースとして記憶されている。具体的に付加情報としてアプリケーションの名称が用いられる場合、例えばYouTube動画再生アプリケーションのように、アプリケーション名に「YouTube」(YouTubeは登録商標)が含まれる、との条件に対し、特定の通信ポート230nを介してパケットデータを送出するべき旨の処理指示情報が関連付けられ、またアプリケーション名にウェブブラウザの名称(Chromeなど)が含まれる、との条件に対し、また別の通信ポート230mを介してパケットデータを送出するべき旨の処理指示情報が関連付けて記憶されている。
またこの記憶部22は、制御部21のワークメモリとしても動作し、特徴情報と処理指示情報とを関連付けて記憶する。
通信部23は、ネットワークインタフェース等であり、本実施の形態では複数の通信ポート230a,b…を含んで構成されている。この通信部23は、いずれかの通信ポート230に到来したパケットデータに、当該パケットデータを受け入れた通信ポートを識別する情報(受信ポートの識別情報)を追加して、制御部21に出力する。またこの通信部23は、いずれかの通信ポート230を特定する情報とともに、制御部21からパケットデータを受け入れると、当該情報で特定される通信ポート230を介して、当該パケットデータを送出する。
次に本実施の形態の制御部11の動作について説明する。本実施の形態の制御部11は、機能的には、図4に例示するように、情報取得部31と、情報保持部32と、パケットデータ生成部33と、ソケット通信部34とを含んで構成される。
情報取得部31は、情報通信装置1で取得可能な情報(アプリケーションが送出しようとするデータそのものとは異なる情報)を取得する。ここではかかる情報として、通信に用いられているソケットに関する情報を取得するものとする。この例では、情報取得部31は、netstatコマンドまたはlsofコマンドなどを用いて、開かれている(LISTEN(待機中)やCLOSE_WAIT(終了待ち)等の状態にあるものを含む)ソケットを特定する情報(送信元となる情報通信装置1のIPアドレスと、ポート番号とを含む情報)と、各ソケットを用いて通信を行っているアプリケーションの名称とを取得する。なお、この情報取得部31は、オペレーティングシステムのカーネルの機能として実装されてもよく、その場合はコマンド実行ではなく、システムコールプログラムによって各種情報を取得することとしてもよいし、カーネルが管理している情報を読み出すことにより、各種情報を取得することとしてもよい。
情報保持部32は、情報取得部31が取得した情報を格納する。具体的にここでの例では、ソケットを特定する情報の各々に対して、当該情報で特定される各ソケットを用いて通信を行っているアプリケーションの名称を関連付けて記憶部12に格納する。
パケットデータ生成部33は、アプリケーション側からソケットを特定する情報と、送出しようとするデータとを受け入れる。そしてパケットデータ生成部33は、当該受け入れたデータを複数のパケットデータに分割する。パケットデータ生成部33は、分割して得たパケットデータの少なくとも一つに、情報保持部32が保持する情報を付加情報として付加する。上述のように、情報保持部32が、ソケットを特定する情報の各々に対して、当該情報で特定される各ソケットを用いて通信を行っているアプリケーションの名称を関連付けて保持している場合、このパケットデータ生成部32は、分割して得たパケットデータの少なくとも一つに、当該パケットデータを送出する際に用いるソケットに関する情報(例えばアプリケーションの名称)を付加情報として付加する。ここで付加情報は、例えばトレイラ部に含めてもよいし、ペイロード部が空(データサイズが「0」)であれば、ペイロード部に含めてもよい。また、IPヘッダにおけるオプションとして定義しておき、IPヘッダに含めてもよい。パケットデータ生成部33は、生成したパケットデータ(付加情報を付加したものを含む)と、当該パケットデータの元となったデータとともにアプリケーション側から受け入れた、ソケットを特定する情報とを出力する。
ソケット通信部34は、パケットデータ生成部33からパケットデータとソケットを特定する情報とを受け入れ、当該情報で特定されるソケットを介して各パケットデータを逐次的に送出する。
本実施の形態の一例では、この情報通信装置1は、TCP(Transmission Control Protocol)を用いたソケット通信を行う際に、その先頭のパケットデータ(ソケットを開設した後、通信を開始するときに最初に送出するパケットデータ)に、ソケットに関する情報を付加する。TCPを用いた通信において、この先頭のパケットデータはSYNパケットデータと呼ばれる、ペイロード部にデータを含まない(ペイロード部のデータサイズが「0」である)パケットデータである。
次に、情報伝送装置2の制御部21の動作について説明する。制御部21は、機能的には、図5に例示するように、受入部41と、分類部42と、判断部43と、処理部44とを含んで構成される。
受入部41は、通信部23の通信ポート230のいずれかを介して受信されたパケットデータを受け入れる。分類部42は、受入部41が受け入れたパケットデータから所定の特徴情報を抽出して、次の処理を行う。本実施の形態の一例では、パケットデータから抽出する所定の特徴情報として、パケットデータの送信元を特定する情報と、パケットデータの送信先を特定する情報との少なくとも一方を用いるものとする。これらの情報は、パケットデータのヘッダ部(H)に、送信元IPアドレスと宛先IPアドレスとして含まれるものである。
そして本実施の形態のこの例では、後に述べる処理により、図6に例示するように、特徴情報としてのヘッダ部(H)に含まれる情報(例えば送信元IPアドレスまたは宛先IPアドレス)に対し、処理指示情報を関連付けた組を少なくとも一つ含む、通信フローデータベースが記憶部22に格納されるものとする。ここで処理指示情報は、例えば特定の通信ポート230を介してパケットデータを送出するべき旨の指示や、パケットデータを破棄するべき旨などの指示、あるいはヘッダ部の情報を書き換えるべき旨の指示などである。
そこでこの例に係る分類部42は、受入部41が受け入れたパケットデータに付加情報が含まれているか否かを調べる。例えば付加情報はトレイラ部に含められる場合、この分類部42は受入部41が受け入れたパケットデータに、トレイラ部が含まれるか否かを調べることとすればよい。あるいはTCPを用いた通信において最初に送出されるSYNパケットに必ず付加情報を付加することとしておき、この分類部42はSYNパケットから付加情報を検出することとしてもよい。またさらに別の方法として、情報通信装置1が送出する全てのパケットデータのトレイラ部に必ず付加情報を付加しておき、情報伝送装置2が送出するパケットデータを中継するゲートウェイ装置が、トレイラ部を検出して判断を行い、その後トレイラ部を除去して送出して、その後に通過するネットワーク機器(トレイラ部があることで誤動作をする可能性がある)ではトレイラ部がない通信を行わせることとしても良い。受入部41が受け入れたパケットデータに、付加情報が付加されていると判断すると、分類部42は、当該パケットデータを処理対象として判断部43に出力する。
またこの分類部42は、受入部41が受け入れたパケットデータに付加情報が含まれていない場合には、当該パケットデータのヘッダ部に含まれる情報が、通信フローデータベースに保持されているか否かを調べる。ここで当該ヘッダ部に含まれる情報に対して処理指示情報が関連付けられて記憶部22の通信フローデータベースに保持されていれば、分類部42は、当該処理指示情報(ヘッダ部に含まれる情報に関連付けられている処理指示情報)を読み出して、受け入れたパケットデータと読み出した処理指示情報とを処理部44に出力する。つまり、この分類部42は、本発明における第2の処理を実現するものである。またこの分類部42は、参照したヘッダ部に含まれる情報が記憶部22の通信フローデータベースに保持されていなければ、当該パケットデータをそのまま処理部44に出力する。
さらにこの分類部42は、受入部41が受け入れたパケットデータのヘッダ部に含まれる情報が、通信フローデータベースに保持されている場合であって、かつ、当該受け入れたパケットデータが、一連の通信の終了を表す情報を含むパケットデータ(TCPを用いた通信であればFINパケットデータ)である場合に、当該通信フローデータベースに保持されているデータ(受入部41が受け入れたパケットデータのヘッダ部に含まれる情報と、それに関連付けられた処理指示情報)を、通信フローデータベースから削除してもよい。
判断部43は、分類部42から、受入部41が受け入れたパケットデータのうち、処理対象となったパケットデータの入力を受け入れる。そして判断部43は、処理対象となったパケットデータから付加情報を取り出す。
本実施の形態では、記憶部22には予め、受信されるパケットデータに付加される付加情報に基づく条件と、処理指示情報とが関連付けられて、フロー設定データベースとして格納されている。このフロー設定データベースは、図3に例示したように、付加情報に基づく条件と、処理指示情報とを関連付けたものであり、ここで付加情報に基づく条件は、既に述べたように、例えばアプリケーション名そのものでよい。またこの条件は、付加情報に係るパターン(例えば正規表現パターンなど)であってもよい。
ここでフロー設定データベースは、管理者によって書き換え可能なものであり、具体的には制御部21は、外部(例えば通信ポート230のいずれか、または図示しないUSB(Universal Serial Bus)等のインタフェースを介して接続されたパーソナルコンピュータ等)からフロー設定データベースの書き換え指示を受け入れて、当該指示に従って、フロー設定データベース内に、付加情報に基づく条件と処理指示情報とを関連付けて記録し、またいずれかの付加情報に基づく条件と処理指示情報とを関連付けたエントリを、フロー設定データベースから削除する等の処理を行う。またこのフロー設定データベースは、オープンフローと同様に、コントローラからの指示によって書き換えられてもよい。この場合制御部21は、通信ポート230のいずれかを介して接続されたネットワークを介して、コントローラからの指示を受け入れ、当該指示に従って、フロー設定データベースを書き換える。
判断部43は、記憶部22のフロー設定データベースに格納された条件のうち、処理対象となったパケットデータから取り出した付加情報が満足する条件を探索する。例えば条件としてアプリケーション名そのものがフロー設定データベースに格納されている場合、判断部43は、取り出した付加情報に含まれるアプリケーション名に一致するアプリケーション名がフロー設定データベースに格納されているか否かを調べることになる。そして当該付加情報が満足する条件があれば、判断部43は、当該条件に関連付けられた処理指示情報を読み出す。
また判断部43は、処理対象となったパケットデータから特徴情報を抽出する。ここで抽出する特徴情報は分類部42におけるものと同じ種類の情報とする。すなわち本実施の形態の一例では、ヘッダ部に含まれる送信元IPアドレスや宛先IPアドレス等の情報を抽出することになる。判断部43は、ここで読み出した処理指示情報と処理対象のパケットデータとを処理部44に出力する。また判断部43は、抽出した特徴情報(ここではヘッダ部に含まれる情報)に対して、読み出した処理指示情報を関連付けて、通信フローデータベースに追記して格納する。つまり本実施の形態では、この判断部43が本発明における第1の処理を実行することになる。なお、ここで一旦、特徴情報が抽出された後は(通信において以降に通過するネットワーク機器では、この特徴情報を共有し、通信制御をすることが可能となるため)トレイラ部を用いた処理をする必要はない。従って、ここで情報伝送装置2はトレイラ部を除去することとしてもよい。
処理部44は、基本的には一般的なスイッチ、またはOpenFlowスイッチのようなSDNスイッチとしての動作を行う。すなわち、この処理部44は、通信ポート230a,b…ごとに、当該通信ポート230に対して外部から到来するパケットデータの送信元MACアドレスを関連付けて記憶する(ラーニング)。そして処理部44は、入力されたパケットデータのヘッダ部を参照し、当該ヘッダ部に含まれる宛先MACアドレスが関連付けられた通信ポート230を介して当該パケットデータを送出する(フォワーディング)。また、処理部44は、入力されたパケットデータのヘッダ部に含まれる宛先MACアドレスがどの通信ポート230にも関連付けられて記憶されていない場合、すべての通信ポート230を介して当該パケットデータを送出する(フラッディング)。そのほか、フィルタリング、エージングといった一般的なスイッチとしての動作をこの処理部44が行うか、またはOpenFlowスイッチ等のSDNスイッチとしての動作(フロー情報にパターンマッチの処理を行い、条件に合致するパケットデータに対して予め設定された処理を実行する動作)を行ってもよい。
また本実施の形態の処理部44は、分類部42または判断部43から、処理指示情報とともにパケットデータが入力された場合、当該処理指示情報によって特定される処理を実行し、例えば、パケットデータを特定の通信ポート230を介して送出し、または当該パケットデータを破棄するなどの処理を行う。
具体的に処理部44は、分類部42または判断部43から、パケットデータとともに入力される処理指示情報が、特定の通信ポート230xを介してパケットデータを送出するべき旨を表すものである場合、当該入力されたパケットデータを、指定された特定の通信ポート230xを介して送出する。
本実施の形態の情報伝送システムは、以上の構成を備えており、一例として次のように動作する。以下の例では、情報伝送装置2が、通信ポート230aを介して情報通信装置1との間で通信可能に接続されており、通信ポート230xが比較的低速なネットワークを介してインターネットに接続され、また通信ポート230yが比較的高速なネットワークを介してインターネットに接続され、デフォルトの送出先として設定されているものとする。
またここでは記憶部22内のフロー設定データベースに、エントリ(A)として動画データをネットワーク上のコンピュータから取得して再生するアプリケーション名の文字列「MoviePlayer」が、付加情報に係る条件として設定される。またこの条件に関連付けて、特定の通信ポート230xを介して送出するべき旨の処理指示情報が設定されているものとする。
情報通信装置1の利用者が、ブラウザ(アプリケーション名が「MoviePlayer」でない)を用いてIPアドレスがαであるサーバへアクセスすると、ヘッダ部に宛先IPアドレスとしてαを含むSYNパケットデータP1や、データを要求するユーザデータを含んだ後続のパケットデータP2,P3…を生成する。また情報通信装置1はソケットを開設し、この開設したソケットを介して、生成したパケットデータを送出する。
さらに情報通信装置1は、所定のタイミングごとに繰返してnetstatやlsofなどのプロセスを実行してソケットの情報を取得して記録している。そしてブラウザとしての動作を行っているときに開設したソケットに関する情報として、例えば当該ソケットを特定する情報(情報通信装置1のIPアドレスとポート番号との組など)と、ブラウザのアプリケーション名とを取得する。
情報通信装置1は、SYNパケットデータP1の、例えばペイロード部(本来データサイズが「0」である部分)に、このソケットに関する情報を含めて情報伝送装置2へ送出する。また情報通信装置1は、後続のパケットデータP2,P3…を続けて送出する。
情報伝送装置2は、通信ポート230aを介してパケットデータP1,P2…を受け入れる。すると情報伝送装置2の制御部21が、分類部42としての動作を開始する。すなわち制御部21は、図7に例示するように、通信フローデータベースを参照し、このパケットデータの特徴情報(ここではヘッダ部に含まれる宛先IPアドレス)に対し、処理指示情報を関連付けた組が保持されているか否かを調べる(S1)。
ここで保持されていない(Noである)と判断すると、制御部21は、当該パケットデータP1に付加情報が含まれているか否かを調べる(S2)。ここでパケットデータP1はSYNパケットデータであり、そのペイロード部に付加情報が含まれていることが事前に定められているとすると、制御部21はパケットデータP1がSYNパケットデータであるか否かを調べることになる。ここではパケットデータP1はSYNパケットデータなので、制御部21は、付加情報が含まれると判断して(処理S2にてYesと判断して)、判断部43としての動作を開始する。
制御部21は、判断部43の動作として、受け入れたパケットデータP1のペイロード部から付加情報を取り出す。そして記憶部22に格納されているフロー設定データベースに含まれる条件のうち、当該取り出した付加情報が満足する条件を探索する。具体的にここでは付加情報が満足する条件として、付加情報に含まれるアプリケーション名が一致するものを探索する(S3)。
ここでフロー設定データベースに、ブラウザのアプリケーション名と処理指示情報とを関連付けたエントリが記録されていなかった(処理S3にてNoであった)とすると、制御部21は、受け入れたパケットデータをそのまま処理部44としての処理に供する(S4)。
この場合、制御部21は、処理部44の動作として、当該受け入れたパケットデータP1を、デフォルトの送出先となっている通信ポート230yを介してインターネット側へ送出する。なお、このとき制御部21は、付加情報を取り除いて(SYNパケットデータであるパケットデータP1のペイロード部を元の通り空にして)から、パケットデータP1を送出してもよい。
また以降のパケットデータP2,P3…には、付加情報が付加されていないので、制御部21は、処理S2の動作において、当該パケットデータP2,P3…をそのまま処理部44としての処理に供する。すなわち、以降のパケットデータP2,P3…は、いずれも、デフォルトの送出先となっている通信ポート230yを介してインターネット側へ送出される(処理S4)。なお、ここで処理部44がOpenFlowスイッチ等SDNスイッチとしての動作をする場合は、設定された処理により定めた通信ポートを介してパケットデータを送出してもよい。
一方、情報通信装置1の利用者が、動画閲覧のためのアプリケーション(アプリケーション名が「MoviePlayer」のもの)を用いてIPアドレスがβであるサーバへアクセスすると、情報通信装置1は、ヘッダ部に宛先IPアドレスとしてβを含むSYNパケットデータP′1や、データを要求するユーザデータを含んだ後続のパケットデータP′2,P′3…を生成する。また情報通信装置1はソケットを開設し、この開設したソケットを介して、当該生成したパケットデータを送出する。
情報通信装置1は、所定のタイミングごとに繰返してnetstatやlsofなどのプロセスを実行してソケットの情報を取得して記録しており、アプリケーション名「MoviePlayer」のアプリケーションとしての動作を行っているときに開設したソケットに関する情報として、例えば当該ソケットを特定する情報(情報通信装置1のIPアドレスとポート番号との組など)と、アプリケーション名「MoviePlayer」とを取得する。
情報通信装置1は、SYNパケットデータP′1の、例えばペイロード部(本来データサイズが「0」である部分)に、このソケットに関する情報を含めて情報伝送装置2へ送出する。また情報通信装置1は、後続のパケットデータP′2,P′3…を続けて送出する。
情報伝送装置2は、通信ポート230aを介してパケットデータP′1,P′2…を受け入れる。すると情報伝送装置2の制御部21が、分類部42としての動作を開始する。すなわち制御部21は、図7に例示したように、通信フローデータベースを参照し、このパケットデータの特徴情報(ここではヘッダ部に含まれる宛先IPアドレス)に対し、処理指示情報を関連付けた組が保持されているか否かを調べる(S1)。
ここで保持されていない(Noである)と判断すると、制御部21は、当該パケットデータP′1に付加情報が含まれているか否かを調べる(S2)。ここでパケットデータP′1はSYNパケットデータであり、そのペイロード部に付加情報が含まれていることが事前に定められているとすると、制御部21はパケットデータP′1がSYNパケットデータであるか否かを調べることになる。ここではパケットデータP′1はSYNパケットデータなので、制御部21は、付加情報が含まれると判断して、判断部43としての動作を開始する。
制御部21は、判断部43の動作として、受け入れたパケットデータP′1のペイロード部から付加情報を取り出す。そして記憶部22に格納されているフロー設定データベースに含まれる条件のうち、当該取り出した付加情報が満足する条件を探索する。具体的にここでは付加情報が満足する条件として、付加情報に含まれるアプリケーション名が一致するものを探索する(S3)。
ここでフロー設定データベースに、アプリケーション名「MoviePlayer」と、処理指示情報として「通信ポート230xを介してデータを送出するべき旨の指示」とを関連付けたエントリが記録されていた(処理S3にてYesであった)とすると、制御部21は、パケットデータP′1から特徴情報としてヘッダ部に含まれる宛先IPアドレスを取り出し、この取り出した宛先IPアドレスと、通信ポート230xを介してデータを送出するべき旨の指示を表す処理指示情報とを関連付けて、通信フローデータベースに格納する(S5)。
また制御部21は、受け入れたパケットデータP′1と、当該通信ポート230xを介してデータを送出するべき旨の指示を表す処理指示情報とを処理部44としての処理に供する(S6)。そして制御部21は、処理部44の処理として、このパケットデータP′1を、処理指示情報に従い、通信ポート230xを介してインターネット側へ送出する。なお、このとき制御部21は、付加情報を取り除いて(SYNパケットデータであるパケットデータP′1のペイロード部を元の通り空にして)から、パケットデータP′1を送出してもよい。
また以降のパケットデータP′2,P′3…ついては、上記処理S5の処理により、それぞれのヘッダに含まれる宛先IPアドレス(特徴情報に相当)が、通信フローデータベースに保持されている。そこで制御部21は、処理S1の動作において、通信フローデータベースから当該宛先IPアドレスに関連付けられた処理指示情報を読み出し、当該処理指示情報とパケットデータP′2,P′3…のそれぞれとを処理部44としての処理に供する(S6)。そうして制御部21は、処理部44の処理として、このパケットデータP′1を、処理指示情報に従い、通信ポート230xを介してインターネット側へ送出するようになる。
その後、制御部21は、宛先IPアドレスとしてヘッダ部にIPアドレスβを含んだFINパケットデータが受信されると、当該宛先IPアドレスと、それに関連付けられた処理指示情報とを通信フローデータベースから削除する。
本実施の形態のこの動作例によると、専ら動画の再生に用いられるアプリケーションから送出されるパケットを、故意に通信速度の比較的遅いネットワークを介して送出することで、通信品質を低下させ、例えば学校等のネットワーク環境において授業と関わりの少ないパケットの送出を控えさせることが可能になる。
またここでの例では、SYNパケットデータのペイロード部に付加情報を含めていた。このように、そもそもペイロード部に含まれるデータが空であり、かつセッションの開始時に必ず送出されるパケットデータを用いることで、パケットデータ長が増大したパケットデータを送出する必要をなくし、ネットワークにおいてパケットデータ長の最大値(MTU)が比較的小さく定められている場合にも対応できる。
なお、ここまでの説明では主としてTCPを用いる例について述べたが、ソケット通信を行うものであれば、UDP(User Datagram Protocol)を用いるものであっても、その他のプロトコルを用いるものであってもよい。
[プロキシを異ならせる例]
またここまでの説明においてフロー設定データベースに格納される処理指示情報は、ウェブプロキシやメールプロキシ(以下、総称して単にプロキシと呼ぶ)を特定する情報と、当該情報で特定されるプロキシを利用して情報を送受するべき旨の指示であってもよい。
具体的に付加情報としてアプリケーションの名称が用いられるときには、例えばアプリケーション名に「YouTube」が含まれる、との条件に対し、第1のプロキシを特定する情報(第1のプロキシのURLでよい)と、当該情報で特定される第1のプロキシを介して情報を送受するべき旨の処理指示情報が関連付けられ、またアプリケーション名にウェブブラウザの名称(Chromeなど)が含まれる、との条件に対し、また別の第2のプロキシを特定する情報(第2のプロキシのURLでよい)と、当該情報で特定される第2のプロキシを介して情報を送受するべき旨の処理指示情報が関連付けてフロー設定データベースに記憶される。このようにすることで、例えばアプリケーションごとに異なるプロキシを介して、ウェブサーバ等にアクセスさせることが可能となる。
[ネットワークを異ならせる例]
さらにフロー設定データベースに格納される処理指示情報は、仮想LAN(VLAN)タグを付加する指示であってもよい。この場合、具体的に付加情報としてアプリケーションの名称などアプリケーションを特定する情報を用い、例えばアプリケーション名に「YouTube」が含まれる、との条件に対し、第1のVLANのタグ情報を付加するべき旨の処理指示情報が関連付けられ、またアプリケーション名にウェブブラウザの名称(Chromeなど)が含まれる、との条件に対し、また別の第2のVLANのタグ情報を付加するべき旨の処理指示情報が関連付けてフロー設定データベースに記憶される。
この例では情報伝送装置2は、タグVLANに対応した他のスイッチ装置等(もう一つの、本実施の形態に係る情報伝送装置であってもよい)に対していずれかの通信ポート230を介して有線にて接続され、この、他のスイッチ装置等を介してインターネット等のWANに接続されるものとする。なお本実施の形態の一例ではこの通信ポート230をトランクポートとして設定しておく。
そして、例えば情報通信装置1の利用者がウェブブラウザを起動し、当該ウェブブラウザを用いてインターネット上のウェブサイトに対してデータを要求するパケットデータを送出すると、情報伝送装置2は、このパケットデータを受け入れて、第2のVLANのタグ情報を付して、トランクポートとして設定された通信ポート230を介して他のスイッチ装置等へ送出する。
なお、上記ウェブサイトのサーバが上記要求に応答して送出するデータを、上記他のスイッチ装置等から受信する。このとき、当該データ(の各部)を含むパケットデータには、第2のVLANのタグ情報が付されることとなるが、この動作はタグVLANの広く知られた動作と同じものとなるので、詳しい説明を省略する。
本実施の形態のこの例では、例えばアプリケーションごとに、異なるVLANを介してパケットデータの送受を行わせることが可能となる。つまり、アプリケーションごとのVLANが構築できることとなる。
[UDPによる例]
またここまでの例において、情報通信装置1は、TCP(Transmission Control Protocol)を用いたソケット通信を行う際に、その先頭のパケットデータであるSYNパケットデータ(ソケットを開設した後、通信を開始するときに最初に送出するパケットデータ)に、ソケットに関する情報を付加することとしていた。このように情報伝送装置2において、先頭のパケットデータが他のパケットデータと区別できるプロトコルが用いられる場合には、当該先頭のデータにソケットに関する情報を付加すればよい。しかしUDP(User Datagram Protocol)等、先頭のパケットデータと他のパケットデータとが区別し難いプロトコルが用いられる場合もある。このときには次のようにして、情報伝送装置2が、ソケットに関する情報を含むパケットデータを識別できるようにすればよい。
すなわち本実施の形態のある例では、パケットデータのTOS(Type of Service)としてソケットに関する情報を付加してもよい。もっとも、広く利用されているネットワーク機器のうちには、TOSフィールドを削除するものがあるので、このような機器が利用されている場合には、TOSにソケットに関する情報を付加することが適当でないことがある。
そこで、本実施の形態の別の例では、上記のUDP等のプロトコルに係る、専ら付加情報を含んだパケットデータを伝送するために用いるポート番号T0を定めておく。そしてこのポート番号T0を情報通信装置1と情報伝送装置2とに記憶させておく。またこの例において情報通信装置1は、ポート番号T0のソケットを、情報伝送装置2との間に設定しておく。
この例に係る情報通信装置1の制御部11は、図4に例示した機能的構成と同様の構成をとるが、パケットデータ生成部33とソケット通信部34との動作が少々異なるので、以下、パケットデータ生成部33とソケット通信部34との動作について説明する。
本実施の形態のこの例におけるパケットデータ生成部33は、既に説明した例と同様に、アプリケーション側からソケットを特定する情報と、送出しようとするデータとを受け入れる。そしてパケットデータ生成部33は、当該受け入れたデータを複数のパケットデータに分割する。パケットデータ生成部33は、分割して得たパケットデータの少なくとも一つに、情報保持部32が保持する情報を付加情報として付加する。上述のように、情報保持部32が、ソケットを特定する情報の各々に対して、当該情報で特定される各ソケットを用いて通信を行っているアプリケーションの名称を関連付けて保持している場合、このパケットデータ生成部32は、分割して得たパケットデータの少なくとも一つに、当該パケットデータを送出する際に用いるソケットに関する情報(例えばアプリケーションの名称)を付加情報として付加する。ここで付加情報は、例えばトレイラ部に含めてもよいし、ペイロード部が空(データサイズが「0」)であれば、ペイロード部に含めてもよい。また、IPヘッダにおけるオプションとして定義しておき、IPヘッダに含めてもよい。パケットデータ生成部33は、生成したパケットデータ(付加情報を付加したものを含む)と、当該パケットデータの元となったデータとともにアプリケーション側から受け入れた、ソケットを特定する情報(送信元となる情報通信装置1のIPアドレスと、ポート番号(本来当該パケットデータを送受するのに用いるべきであったポート番号であってT0とは一般に異なるポート番号である)とを含む情報)とをソケット通信部34に出力する。
本実施の形態のここでの例では、パケットデータ生成部33は、付加情報を付加したパケットデータを出力するときにはさらに、付加情報を付加した旨の情報をソケット通信部34に出力する。
そしてソケット通信部34は、パケットデータ生成部33からパケットデータとソケットを特定する情報とを受け入れる。またソケット通信部34は、パケットデータ生成部33からパケットデータとともに付加情報を付加した旨の情報の入力を受け入れたときには、当該パケットデータに対して、パケットデータ生成部33から受け入れた、ソケットを特定する情報を付加する。この情報も付加情報と同様、トレイラ部に付加することとしてもよい。そして当該パケットデータを、ポート番号T0のソケットを介して送出する。これにより当該パケットデータのヘッダ部に含まれる宛先のポート番号が、本来当該パケットデータを送出するのに用いるべきポート番号(アプリケーション側の処理で指定されたポート番号)ではなく、ポート番号T0となる。
また、ソケット通信部34は、パケットデータ生成部33からパケットデータとともに付加情報を付加した旨の情報の入力を受け入れていないときには、パケットデータ生成部33から受け入れた情報で特定されるソケットを介して、各パケットデータを逐次的に送出する。
情報伝送装置2では、分類部42が、受入部41が受け入れたパケットデータに付加情報が含まれているか否かを調べる。本実施の形態のここでの例では、付加情報が付加されているパケットデータは専らポート番号T0のソケットを介して受信される。そこでこの分類部42はポート番号T0のソケットを介して受信したパケットデータから付加情報を取り出す。分類部42は、取り出した付加情報に含まれるソケットを特定する情報を参照し、本来当該パケットデータを送受するのに用いるべきであったポート番号を読み出して、当該パケットデータのヘッダ部に含まれる、宛先ポート番号を、当該読み出したポート番号に書き換え、当該書き換えを行った後のパケットデータを処理対象として、判断部43に出力する。
またこの分類部42は、受入部41が受け入れたパケットデータがポート番号T0以外のポートに係るソケットを介して受信されている場合、付加情報が含まれていないと判断して、当該パケットデータのヘッダ部に含まれる情報(ヘッダ部に含まれる送信元ポート番号や宛先ポート番号等)が、通信フローデータベースに保持されているか否かを調べる。ここで当該ヘッダ部に含まれる情報に対して処理指示情報が関連付けられて記憶部22の通信フローデータベースに保持されていれば、分類部42は、当該処理指示情報(ヘッダ部に含まれる情報に関連付けられている処理指示情報)を読み出して、受け入れたパケットデータと読み出した処理指示情報とを処理部44に出力する。またこの分類部42は、参照したヘッダ部に含まれる情報が記憶部22の通信フローデータベースに保持されていなければ、当該パケットデータをそのまま処理部44に出力する。
さらにこの分類部42は、通信フローデータベースに保持されているヘッダ部に含まれる情報ごとに、当該情報がヘッダ部に含まれているパケットデータを最後に受信した時刻の情報を関連付けて記憶しておいてもよい。分類部42は、通信フローデータベースに保持されているヘッダ部に含まれる情報ごとに、当該情報がヘッダ部に含まれているパケットデータを最後に受信した時刻からの経過時間が、予め定めた時間を経過したか否かを調べ、経過していれば、当該情報と、それに関連付けられた処理指示情報とを、通信フローデータベースから削除してもよい。
判断部43は、分類部42から、受入部41が受け入れたパケットデータのうち、処理対象となったパケットデータの入力を受け入れる。そして判断部43は、処理対象となったパケットデータから付加情報を取り出す。
判断部43は、記憶部22のフロー設定データベースに格納された条件のうち、処理対象となったパケットデータから取り出した付加情報が満足する条件を探索する。例えば条件としてアプリケーション名そのものがフロー設定データベースに格納されている場合、判断部43は、取り出した付加情報に含まれるアプリケーション名に一致するアプリケーション名がフロー設定データベースに格納されているか否かを調べることになる。そして当該付加情報が満足する条件があれば、判断部43は、当該条件に関連付けられた処理指示情報を読み出す。
また判断部43は、処理対象となったパケットデータから特徴情報を抽出する。ここで抽出する特徴情報は分類部42におけるものと同じ種類の情報とする。すなわちここでの例では、ヘッダ部に含まれる送信元ポート番号や宛先ポート番号等の情報を抽出することになる。判断部43は、ここで読み出した処理指示情報と処理対象のパケットデータとを処理部44に出力する。
また判断部43は、抽出した特徴情報(ここではヘッダ部に含まれる情報)に対して、読み出した処理指示情報を関連付けて、通信フローデータベースに追記して格納する。ここで一旦、特徴情報が抽出された後は(通信において以降に通過するネットワーク機器では、この特徴情報を共有し、通信制御をすることが可能となるため)付加情報を用いた処理をする必要はない。従って、ここで情報伝送装置2は付加情報を除去することとしてもよい。
本実施の形態のこの例によれば、UDPを用いる場合であっても、付加情報が含まれるパケットデータを確実に識別できる。
[変形例]
またここまでの説明において、付加情報に含めるソケットに関する情報は、アプリケーション名であるものとしたが、本実施の形態はこれに限られない。例えば、ここでソケットに関する情報は、当該ソケットを利用しているアプリケーション名だけでなく、当該アプリケーションのプロセスの状態を含んでもよい。ここでプロセスの状態とは、アプリケーションが、利用者から指示入力を直ちに受け入れ可能な状態にある(フォアグラウンド)か、直ちに受け入れ可能な状態にない(バックグラウンド)であるか等の情報であり、情報通信装置1において例えばプロセスコマンド(psコマンド)を用いて取得可能な情報である。
このような情報を用いると、情報伝送装置2において、例えば、バックグラウンドで動作しているメールアプリケーションが送出したパケットデータについては、比較的低速なネットワークを介して送出し、どんなアプリケーションであっても終了待ち合わせ中(ウェイト、またはゾンビ・プロセス)となっている場合には当該アプリケーションが送出したパケットデータを破棄するといった処理が可能となる。
また、ここまでの例では、ソケットに関する情報を、netstatや、lsof等の別のプロセスにより取得する例について述べたが、オペレーティングシステムのカーネルやサービスにおいてソケットに関する情報を取得することとしてもよい。例えば、ソケットを実装するライブラリ自体において、ソケットをオープンしたアプリケーションの名称等を管理するようにしてもよい。
またさらに情報通信装置1が付加情報に含める情報(情報通信装置1にて取得可能な情報)は、ソケットに関する情報のみならず、またはソケットに関する情報に代えて、情報通信装置1の機種名や、デバイス種類(スマートフォンであるか、パーソナルコンピュータであるか、などの別)や、バッテリ残量(バッテリで駆動されている場合)、端末固有情報(携帯電話機におけるIMEIや、キャリアが付与する個体識別情報など)、利用者の操作履歴、行動履歴(例えばアップル社のiPhone(登録商標)5sのモーション・コプロセッサ等から得られる情報など)、各通信インタフェース(物理的なインタフェース)のオン、オフや、接続されている外部機器の種類、マウントされている記憶媒体の種類や容量など、機器に関する情報を含んでもよい。またGPS(Global Positioning System)等により位置情報が得られた場合は当該位置情報や、信号を受信できたGPS衛星の数など、利用者の位置に関する情報がソケットに関する情報とともに、またはソケットに関する情報に代えて、この付加情報に含まれてもよい。
これらを用いると、情報伝送装置2において、例えば、屋外にいる(GPSから得られる位置情報が付加情報に含まれるなどにより判断する)場合にパケットを破棄する、あるいは、屋外に居て、かつバッテリ残量が所定しきい値より大きい場合には比較的低速な回線を介してパケットを送出するなどの処理が可能となる。
なお、ここまでの説明では、情報通信装置1で得られた付加情報が、当該情報通信装置1が送出するパケットデータに付加されて情報伝送装置2に伝達されるものとしていた(いわゆるインバウンド方式)。しかしながら、本実施の形態はこれに限られず、別の通信路(仮想的な通信路でもよい)があれば、当該別の通信路を介して、情報通信装置1から情報伝送装置2へと付加情報を伝達してもよい(いわゆるアウトオブバウンド方式)。このような別の通信を用いる例は、例えば情報通信装置に、Open vSwitchを実装することで実現できる。
さらに本実施の形態では、例えば情報伝送装置2において、付加情報に含まれる情報と、通信フローデータベースに保持した情報とを用いて、アプリケーションの種類ごとの時間別のトラフィック(パケットデータの分量)情報を集計してもよい。このような集計情報は、ネットワークサービスの計画策定に役立てることができる。
また本実施の形態の情報伝送装置2を用いると、例えば、予め設定されたアプリケーション名のアプリケーションからのパケットデータのみ通過させる動作や、時間ごとにフロー設定データベースの内容を変更することなどにより、夜間は特定の端末からのパケットデータを通過させないなどといった処理、さらには、特定の端末を用いた特定の通信先との通信を阻害するなどといった動作も可能であり、いわゆるペアレンタルコントロールを実現でき、またマルウェア攻撃等を抑制できる。
11,21 制御部、12,22 記憶部、13 操作部、14 表示部、15,23 通信部、31 情報取得部、32 情報保持部、33 パケットデータ生成部、34 ソケット通信部、41 受入部、42 分類部、43 判断部、44 処理部、230 通信ポート。

Claims (7)

  1. 情報通信装置と、情報伝送装置とを含む情報伝送システムであって、
    前記情報通信装置は、
    ペイロード部を含む、通信に係るパケットデータを、前記情報伝送装置との間で送受する通信手段と、
    情報通信装置側で取得可能な情報として、通信中のソケットを用いて通信を行っているアプリケーションの名称の情報を含む情報を保持する保持手段と、
    前記保持手段が保持する情報を付加情報として、当該付加情報を前記通信手段が送受するパケットデータのうち、所定のパケットデータのペイロード部に含めて、あるいはトレイラ部に含めて送出する手段と、
    を含み、
    前記情報伝送装置は、
    前記情報通信装置からパケットデータを受け入れる手段と、
    受信した前記所定のパケットデータのペイロード部またはトレイラ部に含められた付加情報に基づく条件と、処理指示情報とを関連付けて記憶する記憶手段と、
    前記記憶手段に記憶されている前記条件のうち、前記情報通信装置から受け入れた、アプリケーションの名称の情報を含む付加情報が満足する条件を探索し、当該付加情報が満足する条件があれば、当該情報通信装置から受信した、前記所定のパケットデータに後続するパケットデータに関する所定の特徴情報を抽出し、当該条件に関連付けて記憶している処理指示情報に基づいて、当該所定のパケットデータに後続するパケットデータを処理するとともに、当該抽出した特徴情報と処理指示情報とを関連付けて記憶する第1の処理と、
    前記情報通信装置から受け入れた、前記所定のパケットデータに後続するパケットデータから所定の特徴情報を抽出し、当該抽出した特徴情報と処理指示情報とが関連付けて記憶されているときに、当該記憶された特徴情報に関連付けられた処理指示情報に基づいて、前記所定のパケットデータに後続して受け入れたパケットデータを処理する第2の処理と、を実行する処理手段と、
    前記処理手段から入力されるパケットデータを送出する手段と、
    を有する情報伝送システム。
  2. ペイロード部を含む、通信に係るパケットデータを、情報伝送装置を介して送受する通信手段と、
    通信に係るパケットデータを、前記情報伝送装置を介して送受する通信手段と、
    情報通信装置側で取得可能な情報を保持する保持手段と、
    前記保持手段が保持する情報を付加情報として、当該付加情報を前記通信手段が送受するパケットデータのうち、所定のパケットデータのペイロード部に含めて、あるいはトレイラ部に含めて送出する手段と、
    を含み、前記付加情報が、前記情報伝送装置における、前記所定のパケットデータに後続するパケットデータに関する処理に供される情報通信装置。
  3. 情報通信装置側で取得可能な情報として、通信中のソケットを用いて通信を行っているアプリケーションの名称の情報を含む情報を付加情報として、当該付加情報を、所定のパケットデータのペイロード部に含めて、あるいはパケットデータのトレイラ部に含めて送出する情報通信装置と通信可能に接続され、
    前記情報通信装置からパケットデータを受け入れる手段と、
    受信される付加情報に基づく条件と、処理指示情報とを関連付けて記憶する記憶手段と、
    前記記憶手段に記憶されている前記条件のうち、前記情報通信装置から受け入れた所定のパケットデータに含まれる付加情報であって、アプリケーションの名称の情報を含む付加情報が満足する条件を探索し、当該付加情報が満足する条件があれば、当該情報通信装置から受け入れた、前記所定のパケットデータに後続するパケットデータに関する所定の特徴情報を抽出し、当該条件に関連付けて記憶している処理指示情報に基づいて、当該所定のパケットデータに後続するパケットデータを処理するとともに、当該抽出した特徴情報と処理指示情報とを関連付けて記憶する第1の処理と、
    前記情報通信装置から受け入れた、前記所定のパケットデータに後続するパケットデータから所定の特徴情報を抽出し、当該抽出した特徴情報と処理指示情報とが関連付けて記憶されているときに、当該記憶された特徴情報に関連付けられた処理指示情報に基づいて、前記所定のパケットデータに後続して受け入れたパケットデータを処理する第2の処理と、を実行する処理手段と、
    前記処理手段から入力されるパケットデータを送出する手段と、
    を有する情報伝送装置。
  4. 請求項3記載の情報伝送装置であって、
    前記特徴情報は、パケットデータの送信元を特定する情報と、パケットデータの送信先を特定する情報との少なくとも一方であることを特徴とする情報伝送装置。
  5. 請求項3または4記載の情報伝送装置であって、
    前記処理手段は、さらに、一連の通信の終了を表す情報を含むパケットデータを受け入れた時に、前記記憶している、当該パケットデータから抽出される特徴情報とそれに関連付けられた処理指示情報とを削除する処理を実行する情報伝送装置。
  6. 情報通信装置側で取得可能な情報として、通信中のソケットを用いて通信を行っているアプリケーションの名称の情報を含む情報を付加情報として、当該付加情報、所定のパケットデータのペイロード部に含めて、あるいはパケットデータのトレイラ部に含めて送出する情報通信装置と通信可能に接続されるコンピュータを、
    前記情報通信装置からパケットデータを受け入れる手段と、
    受信される付加情報に基づく条件と、処理指示情報とを関連付けて記憶する記憶手段と、
    前記記憶手段に記憶されている前記条件のうち、前記情報通信装置から受け入れた所定のパケットデータに含まれる付加情報であって、アプリケーションの名称の情報を含む付加情報が満足する条件を探索し、当該付加情報が満足する条件があれば、当該情報通信装置から受け入れた、前記所定のパケットデータに後続するパケットデータに関する所定の特徴情報を抽出し、当該条件に関連付けて記憶している処理指示情報に基づいて、当該所定のパケットデータに後続するパケットデータを処理するとともに、当該抽出した特徴情報と処理指示情報とを関連付けて記憶する第1の処理と、
    前記情報通信装置から受け入れた、前記所定のパケットデータに後続するパケットデータから所定の特徴情報を抽出し、当該抽出した特徴情報と処理指示情報とが関連付けて記憶されているときに、当該記憶された特徴情報に関連付けられた処理指示情報に基づいて、前記所定のパケットデータに後続して受け入れたパケットデータを処理する第2の処理と、を実行する処理手段と、
    前記処理手段から入力されるパケットデータを送出する手段と、
    として機能させるプログラム。
  7. コンピュータを、
    ペイロード部を含む、通信に係るパケットデータを、情報伝送装置を介して送受する通信手段と、
    情報通信装置側で取得可能な情報を保持する保持手段と、
    前記保持手段が保持する情報として、通信中のソケットを用いて通信を行っているアプリケーションの名称の情報を含む情報を付加情報として、当該付加情報を前記通信手段が送受するパケットデータのうち、所定のパケットデータのペイロード部に含めて、あるいはトレイラ部に含めて送出する手段と、
    として機能させ、前記付加情報を、前記情報伝送装置における、前記所定のパケットデータに後続するパケットデータに関する処理に供するプログラム。
JP2015017901A 2014-01-31 2015-01-30 情報伝送システム、情報通信装置、情報伝送装置、及びプログラム Active JP6783501B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015017901A JP6783501B2 (ja) 2014-01-31 2015-01-30 情報伝送システム、情報通信装置、情報伝送装置、及びプログラム

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2014017959 2014-01-31
JP2014017959 2014-01-31
JP2015017901A JP6783501B2 (ja) 2014-01-31 2015-01-30 情報伝送システム、情報通信装置、情報伝送装置、及びプログラム

Publications (2)

Publication Number Publication Date
JP2015164295A JP2015164295A (ja) 2015-09-10
JP6783501B2 true JP6783501B2 (ja) 2020-11-11

Family

ID=53755773

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015017901A Active JP6783501B2 (ja) 2014-01-31 2015-01-30 情報伝送システム、情報通信装置、情報伝送装置、及びプログラム

Country Status (2)

Country Link
US (1) US9680739B2 (ja)
JP (1) JP6783501B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106921637B (zh) 2015-12-28 2020-02-14 华为技术有限公司 网络流量中的应用信息的识别方法和装置
GB201802347D0 (en) * 2018-02-13 2018-03-28 Nchain Holdings Ltd Computer-implemented system and method
US20210377161A1 (en) * 2018-08-06 2021-12-02 Nec Corporation Communication device, communication method, recording medium storing communication program
JP2020028074A (ja) * 2018-08-16 2020-02-20 富士通株式会社 通信装置、通信プログラム、及び通信方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020078585A (ko) * 2001-04-06 2002-10-19 엘지전자 주식회사 부가정보 송수신 방법
US7885248B2 (en) * 2006-04-17 2011-02-08 Starent Networks Llc System and method for traffic localization
US20100222037A1 (en) * 2009-03-02 2010-09-02 First Data Corporation Systems, Methods, and Apparatus for Providing Terms and Conditions and Program Enrollment Information to a Mobile Device
WO2010103909A1 (ja) 2009-03-09 2010-09-16 日本電気株式会社 OpenFlow通信システムおよびOpenFlow通信方法
JP5408332B2 (ja) * 2010-03-10 2014-02-05 富士通株式会社 中継装置および通信プログラム

Also Published As

Publication number Publication date
US20150222529A1 (en) 2015-08-06
US9680739B2 (en) 2017-06-13
JP2015164295A (ja) 2015-09-10

Similar Documents

Publication Publication Date Title
US10469597B2 (en) Methods and systems for selecting a tunnel of transmitting packets through an aggregated connection
US10148573B2 (en) Packet processing method, node, and system
JP3717836B2 (ja) ダイナミック・ロード・バランサ
US20190075049A1 (en) Determining Direction of Network Sessions
WO2017000878A1 (zh) 报文处理
EP3331205B1 (en) Data packet transmission method utilized in ipv6 network and device utilizing same
CN106470158B (zh) 报文转发方法及装置
EP2773073A1 (en) Entry generation method, message receiving method, and corresponding device and system
JP6783501B2 (ja) 情報伝送システム、情報通信装置、情報伝送装置、及びプログラム
CN106911778A (zh) 一种流量引导方法和***
EP2482497A1 (en) Data forwarding method, data processing method, system and device thereof
WO2017156908A1 (zh) 一种报文转发的方法和装置
CN108207012B (zh) 一种流量控制方法、装置、终端及***
CN109600318B (zh) 一种监控sdn中应用程序的方法及sdn控制器
US20160142312A1 (en) Packet Forwarding Method and Device
EP1950917B1 (en) Methods for peer-to-peer application message identifying and operating realization and their corresponding devices
CN103281257A (zh) 一种协议报文处理方法和设备
US20150256459A1 (en) Packet processing method and apparatus
WO2015165249A1 (zh) 一种建立业务路径的方法和设备
US8644308B2 (en) Network interface card device and method of processing traffic using the network interface card device
KR101684456B1 (ko) 패킷 저장을 수행하는 네트워크 검사 시스템 및 그 제공방법
CN110224932B (zh) 一种数据快速转发的方法及***
CN106506400B (zh) 一种数据流识别方法及出口设备
CN105939288A (zh) 会话控制方法及装置
CN101958841A (zh) 限制p2p应用的方法及设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180104

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181031

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181127

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20190125

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190325

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190702

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20190828

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191016

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20200407

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200703

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20200713

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201022

R150 Certificate of patent or registration of utility model

Ref document number: 6783501

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250