(57)【要約】【課題】端末からの通信を参照することで、ユーザ名などの通信の発信元情報の特定と発信元情報ごとの通信経路の指定とを、新たな装置の導入なしに可能とする。【解決手段】本発明のネットワークシステムは、端末からパケットを受け、前記パケットの発信元情報を特定し、指示に基づいて前記発信元情報を前記パケットに付与し、前記指示に基づく通信経路に前記発信元情報を付与した前記パケットを送信するスイッチと、前記スイッチに前記指示を出すコントローラと、を備えたことを特徴とする。【選択図】      図１
2015119345.tif 000002
【特許請求の範囲】
【請求項１】
端末からパケットを受け、前記パケットの発信元情報を特定し、指示に基づいて前記発信元情報を前記パケットに付与し、前記指示に基づく通信経路に前記発信元情報を付与した前記パケットを送信する、スイッチと、
前記スイッチに前記指示を出すコントローラと、
を備えたネットワークシステム。
【請求項２】
前記発信元情報は、ユーザ名およびアプリケーション名の少なくともひとつを特定する情報である、請求項１記載のネットワークシステム。
【請求項３】
前記指示は、前記発信元情報を前記パケットに付与する指示、および、前記発信元情報ごとの前記通信経路を指定する指示、を有する、請求項１または２記載のネットワークシステム。
【請求項４】
前記スイッチは、前記パケットの情報に基づいて前記発信元情報を特定し、前記発信元情報を特定できない場合は前記コントローラに前記パケットについての前記指示を求める、請求項１から３の内の１項記載のネットワークシステム。
【請求項５】
前記コントローラは、前記端末から得られる情報と前記パケットの情報とから、前記発信元情報を特定する、請求項１から４の内の１項記載のネットワークシステム。
【請求項６】
前記コントローラは、前記発信元情報ごとに予め定められた、前記通信経路の制御ルールに基づいて前記指示を出す、請求項１から５の内の１項記載のネットワークシステム。
【請求項７】
前記スイッチは、前記パケットの前記通信経路の履歴を前記コントローラに送信し、前記コントローラは、前記履歴を保存する、請求項１から６の内の１項記載のネットワークシステム。
【請求項８】
前記スイッチは、前記発信元情報を前記パケットのヘッダ部に付与する、請求項１から７の内の１項記載のネットワークシステム。
【請求項９】
端末から受信したパケットに基づいて前記パケットの発信元情報を特定し、指示に基づいて前記発信元情報を前記パケットに付与し、前記指示に基づく通信経路に前記発信元情報を付与した前記パケットを送信する、通信方法。
【請求項１０】
前記発信元情報は、ユーザ名およびアプリケーション名の少なくともひとつを特定する、請求項９記載の通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のユーザが共用の端末を介して組織内のシステムを利用するネットワークシステムおよび通信方法に関する。
【背景技術】
【０００２】
組織外のネットワークからインターネットを介して組織内のリソースを利用する際、セキュリティの対策やマシンリソースの削減のため、複数のユーザが共用の端末を介して組織内のシステムを利用する場合が増えている。１台の端末を複数のユーザが共用している場合、端末を発信元とする通信が、どのユーザの発信したものかを特定することは困難である。
【０００３】
特にユーザ認証を伴わないＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）やＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）のａｎｏｎｙｍｏｕｓ通信、ＮＴＰ（Ｎｅｔｗｏｒｋ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ）・ＤＮＳ（Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｙｓｔｅｍ）などのＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）通信などでは、ユーザを特定することは困難である。
【０００４】
複数のユーザが使用している端末がワームに感染するなどのセキュリティインシデントが発生した場合、サーバのログなどを確認しても、どのユーザが行った通信か判別できず、原因を追跡することができないという問題が生じる。このため、発生したセキュリティインシデントに対して、全てのユーザの通信を止めるなどの過剰な対策が実施されてきた。
【０００５】
上記の問題に対して、通信を行ったユーザを一意に特定可能とするための技術が、特許文献１に開示されている。特許文献１では、ネットワーク上に設けた装置に専用のソフトウェアを組み込むことによって、通信の発生時に通信ごとにユーザ情報を埋め込む技術を開示している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００１−４４９９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に開示された技術には、以下の課題があった。
【０００８】
特許文献１では、ネットワーク上に設けた装置に専用のソフトウェアを組み込むことによって、通信の発生時に通信ごとにユーザ情報を埋め込んでいる。しかしながら、そのためには、モニタリング装置の設置や各装置へのエージェントソフトウェアの追加導入が必要であり、新たな設備投資の負担が生じてしまうという課題があった。
【０００９】
本発明は、上記の課題を鑑みてなされたものであり、その目的は、複数のユーザが共用の端末を介して組織内のシステムを利用するネットワークシステムにおいて、端末からの通信を参照することで、ユーザ名などの通信の発信元情報の特定と発信元情報ごとの通信経路の指定とを、新たな装置の導入なしに可能とすることにある。
【課題を解決するための手段】
【００１０】
本発明によるネットワークシステムは、端末からパケットを受け、前記パケットの発信元情報を特定し、指示に基づいて前記発信元情報を前記パケットに付与し、前記指示に基づく通信経路に前記発信元情報を付与した前記パケットを送信する、スイッチと、前記スイッチに前記指示を出すコントローラと、を備えたネットワークシステムである。
【００１１】
本発明による通信方法は、端末から受信したパケットに基づいて、前記パケットの発信元情報を特定し、指示に基づいて、前記発信元情報を前記パケットに付与し、前記指示に基づく通信経路に前記発信元情報を付与した前記パケットを送信する、通信方法である。
【発明の効果】
【００１２】
本発明によれば、複数のユーザが共用の端末を介して組織内のシステムを利用するネットワークシステムにおいて、端末からの通信を参照することで、ユーザ名などの通信の発信元情報の特定と発信元情報ごとの通信経路の指定とが、新たな装置の導入なしに可能となる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１の実施形態のネットワークシステムの構成図である。
【図２】本発明の第１の実施形態のネットワークシステムのコントローラの構成図である。
【図３】本発明の第１の実施形態のパケットの構造を示す図である。
【図４】本発明の第１の実施形態のネットワークシステムの動作を示すタイムチャートである。
【図５】本発明の第１の実施形態のネットワークシステムのコントローラの動作を示すフローチャートである。
【図６】本発明の第１の実施形態のユーザ情報管理テーブルを示す表である。
【図７】本発明の第１の実施形態の制御ルール管理テーブルを示す表である。
【図８】本発明の第１の実施形態のユーザＣが通信を行った場合の経路情報管理テーブルを示す表である。
【図９】本発明の第１の実施形態のユーザＡが通信を行った場合の経路情報管理テーブルを示す表である。
【図１０】本発明の第１の実施形態のセッション履歴管理テーブルを示す表である。
【図１１】本発明の第２の実施形態のアプリケーションを識別するユーザ情報管理テーブルを示す表である。
【図１２】本発明の第２の実施形態のアプリケーションの情報を変換する表である。
【図１３】本発明の第２の実施形態のアプリケーションを識別する制御ルール管理テーブルを示す表である。
【図１４】本発明の第２の実施形態のアプリケーションＩＤの埋め込みを可能にした経路情報管理テーブルを示す表である。
【図１５】本発明の第２の実施形態のアプリケーションを識別するセッション履歴管理テーブルを示す表である。
【発明を実施するための形態】
【００１４】
以下、図を参照しながら、本発明の実施形態を詳細に説明する。但し、以下に述べる実施形態には、本発明を実施するために技術的に好ましい限定がされているが、発明の範囲を以下に限定するものではない。
（第１の実施形態）
（構成の説明）
図１は、本発明の第１の実施形態のネットワークシステムの構成図である。本実施形態のネットワークシステム１００は、コントローラ１０１とスイッチ（スイッチ１（１０２）、スイッチ２（１０３）、スイッチ３（１０４））とを備える。
【００１５】
スイッチ（スイッチ１（１０２）、スイッチ２（１０３）、スイッチ３（１０４））は、共用端末１０５や業務サーバ１０６などに接続し、コントローラ１０１からの指示を受けて、ネットワーク上を流れるパケットの内容および経路の制御が可能な装置である。本実施形態では、図１に示す複数のスイッチ構成を用いて説明を進めるが、スイッチの構成としては図１に限定されない。
【００１６】
前記スイッチは、当該パケットが、当該スイッチの有する、後述する経路情報管理テーブルに基づいたフローテーブルに登録されたパケットであるか否かを判定する。当該パケットが登録されたパケットである場合、当該スイッチは、当該パケットにフローテーブルが特定するユーザ名を付与し、フローテーブルテーブルが指定する経路に当該パケットを送信する。当該パケットがフローテーブルに登録されていないパケットである場合、当該スイッチはコントローラ１０１に、当該パケットの経路について問い合わせる。
【００１７】
なお、経路情報管理テーブルはコントローラからスイッチに送信される。スイッチは、経路情報管理テーブルを受信すると、経路情報管理テーブルに基づいて当該スイッチの有するフローテーブルを更新する。本実施形態では、各スイッチの保有するフローテーブルは、Ｏｐｅｎ  Ｆｌｏｗの仕様に従うものとする。
【００１８】
スイッチ１（１０２）は、共用端末１０５に接続されたスイッチである。スイッチ２（１０３）は、ＩＰＳ（１１１）（Ｉｎｔｒｕｓｉｏｎ  Ｐｒｅｖｅｎｔｉｏｎ  Ｓｙｓｔｅｍ）に接続されたスイッチである。スイッチ３（１０４）は、ユーザに対してサービスを提供する業務サーバ１０６に接続されたスイッチである。
【００１９】
スイッチ１、スイッチ２、スイッチ３は、コントローラ１０１からの指示を受けてネットワーク上を流れるパケットの内容および経路を制御可能な、ＳＤＮ（Ｓｏｆｔｗａｒｅ  Ｄｅｆｉｎｅｄ  Ｎｅｔｗｏｒｋｉｎｇ）に対応したスイッチとすることができ、特に、Ｏｐｅｎ  Ｆｌｏｗに対応したスイッチとすることができる。図１中のｐ１からｐ１０は、各スイッチのネットワークに対する口を一意に識別可能なＩＤを示す記号である。
【００２０】
コントローラ１０１は、当該スイッチに対して、当該パケットの経路を指定する経路情報管理テーブルを作成し送信することができる。図２に、コントローラ１０１の構成を示す。
【００２１】
コントローラ１０１は、スイッチ制御部２０１、通信制御部２０２、端末情報取得部２０３を備える。さらに、各スイッチでのパケットの経路をユーザごとに指定する経路情報管理テーブル２０４、パケットの経路の制御ルールをユーザごとに規定する制御ルール管理テーブル２０５、通信を行っているユーザを特定するための情報を保持しているユーザ情報管理テーブル２０６、パケットの通信履歴を保存するセッション履歴管理テーブル２０７を備える。
【００２２】
スイッチ制御部２０１は、スイッチ（スイッチ１（１０２）、スイッチ２（１０３）、スイッチ３（１０４））から通信履歴を定期的もしくは任意のタイミングで取得し、セッション履歴管理テーブル２０７を更新する機能を有する。また、各スイッチから転送されたパケットを受信して通信制御部２０２に中継する機能と、通信制御部２０２で作成された経路情報管理テーブル２０４を受けて、各スイッチに送信する機能を有する。
【００２３】
通信制御部２０２は、スイッチ制御部２０１から転送されたパケットの内容とユーザ情報管理テーブル２０６と制御ルール管理テーブル２０５とを照らし合わせ、当該パケットのユーザの通信経路を決定して経路情報管理テーブル２０４を作成する機能を有する。作成された経路情報管理テーブル２０４はスイッチ制御部２０１に送られる。さらに、通信制御部２０２は、端末情報取得部２０３に指示して、共用端末１０５から、共通端末１０５にログイン中のユーザ情報などを取得させる機能を有する。
【００２４】
端末情報取得部２０３は、定期的に、もしくは通信制御部２０２からの指示を受けて、共用端末１０５から、共用端末１０５にログイン中のユーザを特定する情報などのユーザ情報を取得し、ユーザ情報管理テーブル２０６を更新する機能を有する。また、外部の管理端末１０７から、ユーザ情報管理テーブル２０６や制御ルール管理テーブル２０５を更新する情報を入手し、ユーザ情報管理テーブル２０６や制御ルール管理テーブル２０５を更新する機能を有する。
【００２５】
共用端末１０５は、複数のユーザが同時にログインし、マシンリソースを共有して利用することのできるネットワーク上の装置である。
【００２６】
業務サーバ１０６は、共用端末１０５からの要求に応じてサービスを提供することのできるネットワーク上の装置である。
【００２７】
管理端末１０７は、コントローラ１０１と接続され、コントローラ１０１の管理機能を有する装置である。
【００２８】
端末１（１０８）、端末２（１０９）、端末３（１１０）は、業務サーバ１０６の提供するサービスを利用する各ユーザの端末である。例えば、ユーザＣが端末１から共用端末１０５にログインし、業務サーバ１０６で動作するＷｅｂサービスを受けることができる、などである。
【００２９】
ＩＰＳ（１１１）は、流れるパケットのヘッダ部やペイロード部を参照して、予め設定されているルールに基づいて通信を破棄するなどの制御が可能な侵入検知防御機能を有する装置である。
【００３０】
図３に、ネットワーク上を流れるパケットの構造を示す。パケット３００は、イーサネット（登録商標）ヘッダ、ＭＰＬＳヘッダ、ＩＰヘッダ、データを有する。イーサネットヘッダは、ＭＡＣアドレスやプロトコル番号を有する。ＩＰヘッダは、ＩＰアドレスを有する。データは、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）もしくはＵＤＰの通信の場合、ポート番号などを有する。
【００３１】
ＭＰＬＳヘッダは、ラベルフィールド（Ｌａｂｅｌ）、Ｅｘｐｅｒｉｍｅｎｔａｌ  Ｕｓｅフィールド（ＥＸＰ）、Ｓ（Ｂｏｔｔｏｍ  ｏｆ  Ｌａｂｅｌ  Ｓｔａｃｋ）フィールド（Ｓ）、Ｔｉｍｅ  ｔｏ  Ｌｉｖｅフィールド（ＴＴＬ）を有する。ＭＰＬＳヘッダが付くのはスイッチを経由してからである。
【００３２】
ラベルフィールドは、ＭＰＬＳラベルがマッピングされるフィールドである。本実施形態では、ユーザＩＤなどのユーザを特定する情報を、ＭＰＬＳヘッダのラベルフィールドの２０ビットの中に格納することができる。
【００３３】
Ｅｘｐｅｒｉｍｅｎｔａｌ  Ｕｓｅフィールドは、ＣｏＳ（Ｃｌａｓｓ  ｏｆ  Ｓｅｒｖｉｃｅ）情報を運ぶためのフィールドである。Ｓフィールドは、スタックされたラベルの最後を示すフィールドで、０は後続ラベル有りを、１は後続ラベル無しを示す。ＴＴＬフィールドは、ＴＴＬ値を格納するフィールドである。なお、本実施形態のパケットの構造は、図９に示す構造に限定されない。
（動作の説明）
図４は、図１に示す本実施形態のネットワークシステムの動作を示すタイムチャートである。図４のタイムチャートを用いて動作を説明する。
【００３４】
ここでは、ユーザＣが、端末１（１０８）からＩＰアドレス１０．１．１．１を持つ共用端末１０５にログインして、ＩＰアドレス１０．１．１．２００を持つ業務サーバ１０６上で動作するＷｅｂサービスに対してリクエスト（宛先ポート番号ｔｃｐ／４４３の通信）を行う場合を例として説明する。
【００３５】
スイッチ１は、共用端末１０５からの要求パケットを受信すると、要求パケットの有する情報（入力ポート、送信元ＭＡＣアドレス、宛先ＭＡＣアドレス、プロトコル番号、送信元ＩＰアドレス、送信元ポート番号、宛先ＩＰアドレス、宛先ポート番号など）を手掛かりとして、スイッチ１の持つフローテーブルを検索し、要求パケットのユーザのフローテーブルが存在するかどうかを確認する。
【００３６】
この時点では当該パケットは、ユーザを特定する情報、例えば、ユーザＩＤなどは有していない。しかしながら、各スイッチの有するフローテーブルは、各スイッチでの生存期間が短く設定されており（後述のＩｄｌｅ  Ｔｉｍｅｏｕｔに相当）、この生存期間内で当該パケットの上記の情報と一致するフローテーブルであれば、当該フローテーブルのユーザによるパケットと判定することができる。すなわち、ユーザを特定することができる。
【００３７】
なお、後述のように、パケットは、ネットワークシステム１００の外からネットワークシステム１００の内に入る際には、ユーザを特定する情報を有さない場合がある。よって、パケットがユーザを特定する情報を有さない場合、スイッチ１に限らず、各スイッチは、上記の方法でユーザを特定することができる。ただし、この方法でユーザを特定するためには、複数の項目の照合が必要となる。
【００３８】
スイッチ１は、スイッチ１に当該パケットに該当するフローテーブルが存在しない場合、当該パケットを、一旦、スイッチ１の有する受信バッファへ格納する。そして、コントローラ１０１に対して未登録の通信として当該パケットを送信し、コントローラに当該パケットおよびその後続パケットの通信経路について指示を仰ぐ（ステップ４０１）。
【００３９】
一方、スイッチ１は、スイッチ１に該当するフローテーブルが存在する場合、当該パケットにユーザを特定する情報を付与し、当該フローテーブルの指定に基づく通信経路に当該パケットを送信する。ここでは、スイッチ２に向けて当該パケットを送信することになる。これは後述のステップ４０７に相当する。
【００４０】
コントローラ１０１は、当該パケットを受信すると、当該パケットのヘッダ情報（送信元ＩＰアドレス、送信元ポート番号、宛先ＩＰアドレス、宛先ポート番号、プロトコル番号）を手掛かりとして、共用端末１０５から入手している、当該パケットのユーザを特定する情報、を有するユーザ情報管理テーブル２０６を検索する（ステップ４０２）。
【００４１】
コントローラ１０１は、ユーザ情報管理テーブル２０６に登録されたユーザのパケットであることが確認された場合、当該パケットの経路情報管理テーブル２０４の作成を行う。この時、コントローラ１０１は、当該ユーザのパケットの経路の制御ルールを規定する制御ルール管理テーブル２０５に基づいて、当該パケットの経路情報管理テーブル２０４の作成を行う（ステップ４０３）。
【００４２】
制御ルール管理テーブル２０５は、管理端末１０７から入力し更新することができる。
【００４３】
コントローラ１０１は、スイッチごとの経路情報管理テーブル２０４を作成し、それぞれの経路情報管理テーブル２０４をスイッチ１、スイッチ２、スイッチ３ごとに送信する（ステップ４０４）。
【００４４】
スイッチ１、スイッチ２、スイッチ３は、それぞれの経路情報管理テーブル２０４を受信すると、経路情報管理テーブル２０４に基づいて、それぞれのスイッチが保有するフローテーブルを更新する（ステップ４０５）。
【００４５】
コントローラ１０１は、スイッチ１、スイッチ２、スイッチ３に経路情報管理テーブル２０４を送信後、スイッチ１に対して、スイッチ１の受信バッファに格納された該当パケットを送信するよう指示する（ステップ４０６）。
【００４６】
スイッチ１は、ステップ４０６の指示を受けて、スイッチ１の保有するフローテーブルに基づいて、スイッチ１のｐ２ポートから当該パケットを送信する。このとき、当該パケットのヘッダ部にユーザを特定する情報を付与してから送信する（ステップ４０７）。
【００４７】
次に、コントローラ１０１からの視点でステップ４０２〜４０４の動作フローを整理すると、図５のようになる。図５は、コントローラ１０１の動作を示すフローチャートである。図５を用いて、本実施形態のコントローラ１０１の動作を説明する。
【００４８】
コントローラ１０１は、スイッチ１から未登録の当該パケットを受信すると、ステップ５０１で、図６に示すユーザ情報管理テーブル２０６−１を参照し、共用端末１０５から定期的に取得しているユーザ情報が、ユーザ情報管理テーブル２０６−１に存在するかどうかを確認する。
【００４９】
図６に、ユーザ情報管理テーブル２０６−１を示す。図６のユーザ情報管理テーブル２０６−１の各カラム、すなわち、Ｕｓｅｒ  ＩＤ、Ｎａｍｅ、Ｌｏｇｏｎ  Ｔｉｍｅ、Ｌｏｇｏｆｆ  Ｆｌａｇ、Ｅｌａｐｓｅｄ  Ｔｉｍｅ、Ｈｏｓｔ  Ｉｄ、Ｓｒｃ  Ｐｏｒｔ、Ｄｓｔ  Ｉｐ、Ｄｓｔ  Ｐｏｒｔ、Ｐｒｏｔｏｃｏｌは、それぞれ、ユーザを一意に識別可能な識別子、ユーザ名、ログオン時刻、ログオフしたことを示すフラグ、情報を取得してからの経過時間、ログオン先ホストを一意に識別可能な識別子、送信元ポート番号、宛先ＩＰアドレス、宛先ポート番号、プロトコル番号を示す。
【００５０】
具体的には、コントローラ１０１は、Ｌｏｇｏｆｆ  Ｆｌａｇのカラムが０、すなわちユーザがログオン中で、かつＨｏｓｔ  Ｉｄのカラムに当該パケットの送信元ＩＰアドレス、すなわち共用端末１０５のＩＰアドレスが格納された行が存在するかどうかを確認する。このとき、正確な情報を参照できるようにするため、Ｅｌａｐｓｅｄ  Ｔｉｍｅのカラムが、例えば、６０秒以上の行は無視するとする。Ｅｌａｐｓｅｄ  Ｔｉｍｅとは、コントローラ１０１が共用端末１０５からユーザ情報を取得してからの経過時間である。ユーザ情報が存在している場合（Ｙ）は、ステップ５０３に進む。ユーザ情報が存在しない場合（Ｎ）は、ステップ５０２に進む。なお、Ｅｌａｐｓｅｄ  Ｔｉｍｅが、上記の６０秒以上の行が存在した場合、Ｎと判定することもできる。
【００５１】
ステップ５０２で、コントローラ１０１は、共用端末１０５から、共用端末１０５にログイン中のユーザ情報と、ログイン中のユーザが行っている通信の情報を取得する。具体的には、ユーザＩＤ、送信元ＩＰアドレス、送信元ポート番号、宛先ＩＰアドレス、宛先ポート番号、プロトコル番号の組を取得し、取得した情報でユーザ情報管理テーブル２０６−１を更新する。図６は、更新後のユーザ情報管理テーブル２０６−１を示す。
【００５２】
コントローラ１０１は、エージェントなどのソフトウェアを共用端末１０５に導入することなく、共用端末１０５から情報取得することが可能である。例えば、Ｒｅｍｏｔｅ  ＲｅｇｉｓｔｏｒｙやＭＳ−ＲＰＣを利用して取得する方法や、ＳＳＨの公開鍵認証を使いリモートからコマンドを実行して取得する方法が可能である。情報取得後、ステップ５０３に進む。
【００５３】
ステップ５０３で、コントローラ１０１は、スイッチ１からの当該パケットの情報に基づいてユーザ情報管理テーブル２０６−１を検索する。具体的には、ユーザ情報管理テーブル２０６−１のＬｏｇｏｆｆ  Ｆｌａｇカラムの値が０、すなわち、ユーザがログイン中で、かつ、Ｈｏｓｔ  Ｉｄ、Ｓｒｃ  Ｐｏｒｔ、Ｄｓｔ  Ｉｐ、Ｄｓｔ  Ｐｏｒｔ、Ｐｒｏｔｏｃｏｌの各カラムの内容と、当該パケットの情報（送信元ＩＰアドレス、送信元ポート番号、宛先ＩＰアドレス、宛先ポート番号、プロトコル番号）が一致する行を抽出する。該当する行が存在する場合（Ｙ）は、ステップ５０５に進む。該当する行が存在しない場合（Ｎ）は、ステップ５０４に進む。
【００５４】
ステップ５０４で、コントローラ１０１は、スイッチ１に、スイッチ１の受信バッファに格納された該当パケットおよびその後続パケットの破棄を指示し、処理終了とする。
【００５５】
ステップ５０５で、コントローラ１０１は、ステップ５０３で抽出した行を順番に参照し、制御ルール管理テーブル２０５から一致する行があるかどうか検索する。
【００５６】
図７に、制御ルール管理テーブル２０５−１を示す。図７の制御ルール管理テーブル２０５−１の各カラム、すなわち、ＩＤ、Ｕｓｅｒ  ＩＤ、Ｓｒｃ  ＩＰ、Ｓｒｃ  Ｐｏｒｔ、Ｄｓｔ  ＩＰ、Ｄｓｔ  Ｐｏｒｔ、Ｐｒｏｔｏｃｏｌ、往路、復路、Ｉｄｌｅ  Ｔｉｍｅｏｕｔは、それぞれ、ルールを一意に識別可能な識別子、ユーザを一意に特定可能な識別子、送信元ＩＰアドレス、送信元ポート番号、宛先ＩＰアドレス、宛先ポート番号、プロトコル番号、通信の往路を特定可能な情報、通信の復路を特定可能な情報、無通信状態となってから経路情報管理テーブル２０４を削除するまでの時間を示す。
【００５７】
具体的には、コントローラ１０１は、ユーザ情報管理テーブル２０６−１のＵｓｅｒ  ＩＤ、Ｈｏｓｔ  Ｉｄ、Ｓｒｃ  Ｐｏｒｔ、Ｄｓｔ  Ｉｐ、Ｄｓｔ  Ｐｏｒｔ、Ｐｒｏｔｏｃｏｌの各カラムの内容と、制御ルール管理テーブル２０５−１のＵｓｅｒ  ＩＤ、Ｓｒｃ  ＩＰ、Ｄｓｔ  ＩＰ、Ｄｓｔ  Ｐｏｒｔ、Ｐｒｏｔｏｃｏｌの各カラムの内容を照合し、一致する行があるかどうかを確認する。一致する行が存在する場合（Ｙ）は、ステップ５０６に進む。一致する行が存在しない場合（Ｎ）は、ステップ５０４に進む。
【００５８】
ステップ５０６で、コントローラ１０１は、ステップ５０５で抽出したユーザ情報管理テーブル２０６−１の情報を参照して、経路情報管理テーブル２０４を作成する。当該パケットがＯｐｅｎＦｌｏｗの制御下に入ってから出るまでの間、当該パケットにＭＰＬＳヘッダを付与しユーザＩＤを格納するように、経路情報管理テーブル２０４を作成する。すなわち、本実施形態では、パケットが、ネットワークシステム１００の内にあるときにはユーザＩＤを付与し、ネットワークシステム１００の外に出るときにはユーザＩＤを取り外す。
【００５９】
ＯｐｅｎＦｌｏｗの制御下から出るタイミングでＭＰＬＳのヘッダを取り外すのは、ＯｐｅｎＦｌｏｗの制御下にない共用端末１０５や業務サーバ１０６、ＩＰＳ１１１は、ＭＰＬＳヘッダの付いたパケットを受信しても解釈できず、パケットを破棄してしまうためである。
【００６０】
経路情報管理テーブル２０４の作成方法の具体的な説明の前に、図７を用いて制御ルール管理テーブル２０５−１の往路と復路のカラムの内容について説明する。制御ルール管理テーブル２０５−１の往路と復路のカラムのデータは以下のフォーマットとなっており、カンマ区切りで複数指定可能となっている。
【００６１】
入口側スイッチ：入口側ポート−出口側スイッチ：出口側ポート
入口側スイッチ、入口側ポートには、それぞれＯｐｅｎＦｌｏｗネットワークへの入口となるスイッチの識別子、パケットが流入してくる側のネットワークの口を示す識別子を指定する。入口側ポートが制御ルール管理テーブル２０５−１のＳｒｃ  ＩＰの情報から一意に特定可能な場合は、入口側ポートの指定を省略可能とする。
【００６２】
出口側スイッチ、出口側ポートには、それぞれＯｐｅｎＦｌｏｗネットワークからの出口となるスイッチの識別子、パケットが流出する側のネットワークの口を示す識別子を指定する。出口側ポートが制御ルール管理テーブル２０５−１のＤｓｔ  ＩＰの情報から一意に特定可能な場合は、出口側ポートの指定を省略可能とする。
【００６３】
経路情報管理テーブル２０４は、この往路、復路のカラムに記載のカンマ区切りのデータを順番に辿り、制御ルール管理テーブル２０５−１の該当行の他のパラメータも参照して作成して行くことになる。以降、具体的な経路情報管理テーブル２０４の作成方法を、該当行の往路のカラムに存在するスイッチ１−スイッチ２：ｐ５の場合を例とし、図７および図８を用いて説明する。
【００６４】
図８は、ここで作成される経路情報管理テーブル２０４−１を示す。経路情報管理テーブル２０４−１は、スイッチごとに作成される。経路情報管理テーブル２０４−１の各カラム、すなわち、Ｍａｔｃｈ列のＩｎｇｒｅｓｓ  Ｐｏｒｔ、ＭＰＬＳ、Ｃｏｏｋｉｅ、Ｓｒｃ  ＩＰ、Ｓｒｃ  Ｐｏｒｔ、Ｄｓｔ  ＩＰ、Ｄｓｔ  Ｐｏｒｔ、Ｐｒｏｔｏｃｏｌ、Ｄｌ  Ｔｙｐｅ、Ａｃｔｉｏｎ列のＥｇｒｅｓｓ  Ｐｏｒｔ、ＭＰＬＳ、Ｉｄｌｅ  Ｔｉｍｅｏｕｔは、それぞれ、入力ポート、ＭＰＬＳヘッダの照合条件、フローを一意に識別可能な識別子（フローの一括削除、一括更新の目的で使用）、送信元ＩＰアドレス、送信元ポート番号、宛先ＩＰアドレス、宛先ポート番号、プロトコル番号、イーサネットタイプ番号、出口ポート、ＭＰＬＳのアクション、無通信状態となってから経路情報管理テーブル２０４を削除するまでの時間を示す。
【００６５】
図７において、ユーザＣは、該当する制御ルール管理テーブル２０５−１のＩＤが２の場合であることから、ＩＤが２の行の往路と復路のカラムを参照して通信経路を決定する。具体的には、制御ルール管理テーブル２０５−１の往路と復路のカラムのカンマで区切られた情報を順番に参照し、経路情報管理テーブル２０４−１の情報を作成する。
【００６６】
ＳＷ１−ＳＷ２：ｐ５という情報からスイッチ１とスイッチ２に対してそれぞれ１つずつ経路情報管理テーブルを生成する。以下、ＳＷ１はスイッチ１に、ＳＷ２はスイッチ２に、また、ＳＷ３はスイッチ３に対応する。
【００６７】
まず、経路情報管理テーブル２０４−１のＩｎｇｒｅｓｓ  ＰｏｒｔとＥｇｒｅｓｓ  Ｐｏｒｔのカラムへ登録する値を決定する。スイッチ１の入口側ポートの情報が省略されているため、制御ルール管理テーブル２０５−１のＳｒｃ  ＩＰの情報から入口側ポートの識別子がｐ１であることを特定する。スイッチ１の出力側ポートはスイッチ２と接続されている口であるためｐ２と特定される。同様にスイッチ２の入口側ポートはｐ４、出口側ポートはｐ５と特定される。
【００６８】
次に、Ａｃｔｉｏｎ列の値を決定する。ＯｐｅｎＦｌｏｗの制御下に入るタイミングでＭＰＬＳヘッダを付与し、ＯｐｅｎＦｌｏｗの制御下から出るタイミングでＭＰＬＳヘッダを除去する処理を登録する。
【００６９】
スイッチ１側にＭＰＬＳヘッダを付与するアクションを、スイッチ２側にＭＰＬＳヘッダを除去するアクションを登録する。ＭＰＬＳヘッダを付与する際、制御ルール管理テーブル２０５−１の内容を参照し、ＭＰＬＳヘッダのラベルフィールドにユーザＣを示す識別子である１０３を埋め込む。スイッチ２側のＭａｔｃｈ列のＭＰＬＳカラムにはユーザＣを示す識別子（１０３）がＭＰＬＳラベルに付与されていることを示す条件を登録する。
【００７０】
次に、制御ルール管理テーブル２０５−１の各カラムの値（Ｕｓｅｒ  ＩＤ、Ｓｒｃ  ＩＰ、Ｄｓｔ  ＩＰ、Ｄｓｔ  Ｐｏｒｔ、Ｐｒｏｔｏｃｏｌ、往路、復路、Ｉｄｌｅ  Ｔｉｍｅｏｕｔ）を参照して、経路情報管理テーブル２０４−１の残りのカラムを作成する。Ｃｏｏｋｉｅのカラムには一連の経路を一意に特定可能なＩＤを登録する。Ｃｏｏｋｉｅのカラムは、経路情報管理テーブル２０４−１の一括更新および一括削除の目的で使用する。Ｄｌ  ＴｙｐｅのカラムにはＩＰｖ４パケットであることを示す０ｘ０８００もしくはＭＰＬＳ  ｕｎｉｃａｓｔを示す０ｘ８８４７を、Ｉｎｇｒｅｓｓ  Ｐｏｒｔのカラムから入ってくるパケットの内容に合わせて登録する。
【００７１】
ここまでで、ＳＷ１−ＳＷ２：ｐ５の情報に基づいて、スイッチ１とスイッチ２のフローテーブルへ登録する経路情報管理テーブル２０４−１をそれぞれ作成できたことになる。同様に往路と復路のカラムに記載のカンマ区切りのデータを順番に処理して経路情報管理テーブル２０４−１を作成して行く。往路、復路の情報をすべて辿って作成した経路情報管理テーブル２０４−１を図８に示す。
【００７２】
ステップ５０７で、コントローラ１０１は、各スイッチに登録する経路情報管理テーブル２０４−１が作成できているかどうかを確認する。経路情報管理テーブル２０４−１が生成できていなかった場合（Ｎ）は、ステップ５０４に進む。経路情報管理テーブル２０４が作成できていた場合（Ｙ）は、ステップ５０８に進む。
【００７３】
ステップ５０８で、コントローラ１０１は、ステップ５０６で作成したスイッチ１、スイッチ２、スイッチ３ごとの経路情報管理テーブル２０４−１を、スイッチ１、スイッチ２、スイッチ３ごとに送信し、処理終了とする。すなわち、コントローラ１０１から、例えば、スイッチ１に送信する経路情報管理テーブルは、スイッチ１に該当するテーブルとする。各スイッチは、コントローラ１０１が作成した経路情報管理テーブルの内、各スイッチに該当するテーブルを受信し、各々のフローテーブルを更新する。経路情報管理テーブル２０４−１は、スイッチ１、スイッチ２、スイッチ３が当該パケットの通信経路を指定する指示となる。
【００７４】
以上がコントローラ１０１の動作である。
【００７５】
経路情報管理テーブル２０４−１のＩｄｌｅ  Ｔｉｍｅｏｕｔの時間を過ぎると、該当する経路情報管理テーブル２０４−１は削除される。そのため、コントローラ１０１は、スイッチからの要求に基づいて、経路情報管理テーブル２０４の作成を、再び図５に示すステップで行う。
【００７６】
図５の動作の後、コントローラ１０１は、スイッチ１に指示して、要求パケットを送信するように指示する（ステップ４０６）。
【００７７】
スイッチ１は、ステップ４０６の指示を受けて、スイッチ１の保有するフローテーブルに基づいて、スイッチ１のｐ２ポートから要求パケットを送信する。このとき、要求パケットにＭＰＬＳヘッダのラベルを付加し、ＭＰＬＳヘッダのラベルにユーザＩＤを格納して送信する（ステップ４０７）。このユーザＩＤの付与により、各スイッチは、要求パケットのヘッダを参照することで要求パケットのユーザを特定でき、かつ、ユーザごとの通信経路の指定が可能となる。
【００７８】
スイッチ２は、要求パケットのＭＰＬＳヘッダのラベルのユーザＩＤを確認し、スイッチ２の保有するフローテーブルに基づいて、Ｅｇｒｅｓｓ  Ｐｏｒｔのカラムに記載のｐ５ポートよりパケットをＩＰＳ１１１に送信する。このとき経路情報管理テーブル２０４−１のＡｃｔｉｏｎ列のＭＰＬＳカラムの通り、ユーザＩＤを格納したＭＰＬＳヘッダのラベルを取り外して当該パケットを送信する（ステップ４０８）。
【００７９】
ＩＰＳ１１１は、受信した要求パケットのヘッダ部と、予め設定されていたフィルタ設定とを比較して、通信の転送可否を判断する（ステップ４０９）。以降では、ＩＰＳ１１１において、転送が許可されていたものとして説明を進める。ＩＰＳ１１１は、要求パケットのヘッダ部および自身のルーティングテーブルを参照して、スイッチ２に当該パケットを送信する（ステップ４１０）。
【００８０】
スイッチ２は、要求パケットの有する情報（入力ポート、送信元ＭＡＣアドレス、宛先ＭＡＣアドレス、プロトコル番号、送信元ＩＰアドレス、送信元ポート番号、宛先ＩＰアドレス、宛先ポート番号など）を手掛かりとして、スイッチ２の保有するフローテーブルを検索し、当該パケットのユーザを特定する。次いで、フローテーブルに基づいて、Ｅｇｒｅｓｓ  Ｐｏｒｔのカラムに記載のｐ７ポートより当該パケットをスイッチ３に送信する。このとき当該パケットに対してＭＰＬＳヘッダのラベルを付加し、ユーザＩＤをＭＰＬＳヘッダのラベルに格納して送信する（ステップ４１１）。
【００８１】
スイッチ３は、要求パケットのＭＰＬＳヘッダのラベルのユーザＩＤを確認し、スイッチ３の保有するフローテーブルに基づいて、Ｅｇｒｅｓｓ  Ｐｏｒｔのカラムに記載のｐ１０ポートより当該パケットを業務サーバ１０６に送信する。このとき経路情報管理テーブル２０４−１の通り、ユーザＩＤを格納したＭＰＬＳヘッダのラベルを取り外して当該パケットを送信する（ステップ４１２）。
【００８２】
業務サーバ１０６は、クライアントからの要求に応じ、応答パケットをスイッチ３に送信する（ステップ４１３）。
【００８３】
スイッチ３は、応答パケットの有する情報（入力ポート、送信元ＭＡＣアドレス、宛先ＭＡＣアドレス、プロトコル番号、送信元ＩＰアドレス、送信元ポート番号、宛先ＩＰアドレス、宛先ポート番号など）を手掛かりとして、フローテーブルを検索し、当該パケットのユーザを特定する。次いで、フローテーブルに基づいて、Ｅｇｒｅｓｓ  Ｐｏｒｔのカラムに記載のｐ９ポートより当該パケットをスイッチ２に送信する。このとき当該パケットに対してＭＰＬＳヘッダのラベルを付加し、ユーザＩＤをＭＰＬＳヘッダのラベルに格納して送信する（ステップ４１４）。
【００８４】
スイッチ２は、応答パケットのＭＰＬＳヘッダのラベルのユーザＩＤを確認し、フローテーブルに基づいて、Ｅｇｒｅｓｓ  Ｐｏｒｔのカラムに記載のｐ６ポートより当該パケットをＩＰＳ１１１に送信する。このときフローテーブルの通り、ユーザＩＤを格納したＭＰＬＳヘッダのラベルを取り外して当該パケットを送信する（ステップ４１５）。
【００８５】
ＩＰＳ１１１は、応答パケットのヘッダ部および自身のルーティングテーブルを参照して、スイッチ２に当該パケットを送信する（ステップ４１６）。
【００８６】
スイッチ２は、応答パケットの有する情報を手掛かりとして、フローテーブルを検索し、当該パケットのユーザを特定する。次いで、フローテーブルに基づいて、Ｅｇｒｅｓｓ  Ｐｏｒｔのカラムに記載のｐ４ポートより当該パケットをスイッチ１に送信する。このとき当該パケットに対してＭＰＬＳヘッダのラベルを付加し、ユーザＩＤをＭＰＬＳヘッダのラベルに格納して送信する（ステップ４１７）。
【００８７】
スイッチ１は、応答パケットのＭＰＬＳヘッダのラベルのユーザＩＤを確認し、フローテーブルに基づいて、Ｅｇｒｅｓｓ  Ｐｏｒｔのカラムに記載のｐ１ポートより当該パケットを共用端末１０５に送信する。このときフローテーブルの通り、ユーザＩＤを格納したＭＰＬＳヘッダのラベルを取り外して当該パケットを送信する（ステップ４１８）。
【００８８】
後続パケットは、ステップ４０５で設定された経路情報管理テーブル２０４−１に基づくフローテーブルに基づいて配送される。スイッチ１、スイッチ２、スイッチ３のフローテーブルが削除されるまでは、ステップ４０７〜ステップ４１８と同様に処理される。
【００８９】
経路情報管理テーブル２０４−１のＩｄｌｅ  Ｔｉｍｅｏｕｔの時間である１５秒を過ぎると、該当するフローテーブルは削除される。削除後は、スイッチからの要求に基づいて、コントローラ１０１は経路情報管理テーブル２０４の作成を、図５に示すステップで行う。
【００９０】
スイッチ１、スイッチ２、スイッチ３のフローテーブルが削除されるタイミング、すなわち、経路情報管理テーブル２０４−１のＩｄｌｅ  Ｔｉｍｅｏｕｔを過ぎるタイミングで、各スイッチは通信履歴をコントローラ１０１に送信する。コントローラ１０１は当該通信履歴に基づいて、図１０に示すセッション履歴管理テーブル２０７−１を更新する。各スイッチが、通信履歴をコントローラ１０１に送信するタイミングは、経路情報管理テーブル２０４−１が削除されるタイミングに限定されず、例えば、コントローラ１０１から送信の指示を受けてのタイミングであってもよい。
【００９１】
図１０にセッション履歴管理テーブル２０７−１を示す。セッション履歴管理テーブル２０７−１の各カラム、すなわち、Ｆｌｏｗ  ＩＤ、Ｕｓｅｒ  ＩＤ、Ｓｒｃ  ＩＰ、Ｓｒｃ  Ｐｏｒｔ、Ｄｓｔ  ＩＰ、Ｄｓｔ  Ｐｏｒｔ、Ｐｒｏｔｏｃｏｌ、ｎ−ｐａｃｋｅｔｓ、ｎ−ｂｙｔｅｓ、往路、復路、Ｓｔａｒｔ  Ｔｉｍｅ、Ｅｎｄ  Ｔｉｍｅは、それぞれ、セッションを一意に識別可能な識別子、通信を行ったユーザを一意に識別可能な識別子、送信元ＩＰアドレス、送信元ポート番号、宛先ＩＰアドレス、宛先ポート番号、プロトコル番号、やり取りされたパケットの数、やり取りされたパケットの量、通信の往路を特定可能な情報、通信の復路を特定可能な情報、セッションの開始時刻、セッションの終了時刻を示す。
【００９２】
セッション履歴管理テーブル２０７−１に通信履歴を記録することにより、通信終了後であっても、例えば、業務サーバ１０６のアクセスログとセッション履歴管理テーブル２０７−１の内容とを照合することで、通信を行ったユーザの特定と通信履歴情報を得ることとが可能となる。
【００９３】
本実施形態では、ユーザＣが発信した通信を例に説明したが、ユーザＡが端末１（１０８）からＩＰアドレス１０．１．１．１を持つ共用端末１０５にログインしてＩＰアドレス１０．１．１．２００を持つ業務サーバ１０６上で動作するＷｅｂサービスに対してリクエスト（宛先ポート番号ｔｃｐ／４４３の通信）を行った場合についても同様に処理することができる。
【００９４】
ユーザＣは一般ユーザであり、ファイアウォールであるＩＰＳ１１１を経由して業務サーバ１０６へパケットが送られる場合を示した。一方、ユーザＡは、図７の制御ルール管理テーブル２０５−１に示すように特定ユーザであり、パケットは、ファイアウォールを経由せずに直接業務サーバ１０６へ送られる。ユーザごとに通信の経路の使い分けをすることで、ＳＤＮにおいてセキュリティレベルの使い分けができる。
【００９５】
図９に、ユーザＡが発信した通信を処理する経路情報管理テーブル２０４−２を示す。ユーザＡが発信したパケットは、スイッチ１から直接スイッチ３に送信され、ファイアウォールを経由するスイッチ２には往路も復路も経由されない。制御ルール管理テーブル２０５に基づいた経路情報管理テーブル２０４の更新で、ユーザごとに通信経路を変えることが可能である。
【００９６】
本実施形態では、ＭＰＬＳヘッダを用いてＩＰデータグラムをカプセル化することができるため、ＩＰｓｅｃなどで暗号化されている場合でも、暗号化の影響を受けることがない。通信が暗号化されていても、パケットのヘッダ情報に基づいて発信元のユーザの特定が可能である。すなわち、本実施形態は暗号化通信に対しても有効である。
【００９７】
ＭＰＬＳの場合、通常、スイッチは、パケットがスイッチを経由する度にラベルの付け替え処理を行う。しかしながら、ラベルを付け替えると通信経路上で通信とユーザとの紐付けが即時に行えなくなる。そのため、本実施形態では、通常のラベルの付け替えをスイッチでは実施しない方法で説明を行った。一方、ラベルとユーザとの対応付けが必要となるが、ＭＰＬＳの仕様通り、ラベルの付け替えをスイッチで行うようにすることもできる。
【００９８】
本実施形態では、ユーザ情報の埋め込み先としてＭＰＬＳヘッダのラベルを利用したが、ユーザ情報の埋め込み領域を確保することによって、ＭＰＬＳヘッダのラベル以外の使用が可能である。例えば、ＩＰｖ６ヘッダのフローラベルやＩＰｖ４ヘッダのＴＯＳフィールドなどを利用する方法がある。
【００９９】
ＩＰｖ６ヘッダやＩＰｖ４ヘッダを使用する場合は、パケットがＯｐｅｎＦｌｏｗの制御下から出る際にもユーザ情報を取り外す必要がない。すなわち、パケットに一度付与したユーザ情報は、その後、保持され続けるため、各スイッチは付与されたユーザ情報によってユーザを特定することができる。また、各スイッチは、ユーザ情報の付与されたパケットに重複してユーザ情報を付与する必要はない。
【０１００】
本実施形態のネットワークシステム１００を構成するコントローラ１０１とスイッチ（スイッチ１（１０２）、スイッチ２（１０３）、スイッチ３（１０４））は、ＯｐｅｎＦｌｏｗに対応したネットワークを構成する機器である。本実施形態はＯｐｅｎＦｌｏｗに対応したネットワークであることから、実施にあたり新たな機器は必要としない。
【０１０１】
以上のように、本実施形態によれば、複数のユーザが共用の端末を介して組織内のシステムを利用するネットワークシステムにおいて、端末からの通信を参照することで、ユーザ名などの通信の発信元情報の特定とユーザ名ごとの通信経路の指定とが、新たな装置の導入なしに可能となる。さらに、ユーザ名ごとの通信履歴を辿ることが可能となる。
（第２の実施形態）
本発明の第２の実施形態として、通信とユーザの紐付けだけでなく、通信経路上を流れるパケット情報で、通信を行ったアプリケーションを一意に特定可能にする方法を説明する。
【０１０２】
これは、図１と図２に示す構成を用いて、コントローラ１０１内のユーザ情報管理テーブル２０６、制御ルール管理テーブル２０５、経路情報管理テーブル２０４、セッション履歴管理テーブル２０７の、それぞれの一部を拡張することで実現可能である。
【０１０３】
図１１に、拡張後のユーザ情報管理テーブル２０６−２を示す。点線枠内が拡張したＡｐｐ  Ｎａｍｅのカラムである。カラムの値は端末情報取得部２０３が共用端末１０５からアプリケーションのプロセス名を取得して格納する。パケットに埋め込める情報量は制限されており、プロセス名のままでは情報量が膨らんでしまうため、パケットの情報を埋め込む前にアプリケーションを一意に識別可能な識別子に変換することができる。
【０１０４】
図１２に、変換のための情報を格納したテーブルを示す。コントローラ１０１の通信制御部２０２を拡張し、経路情報管理テーブル２０４の作成時に、図１１および図１２のテーブルを参照してＡｐｐ  Ｎａｍｅのカラムの値を、アプリケーションを一意に特定可能な識別子Ａｐｐ  ＩＤに変換することができる。
【０１０５】
図１３に、アプリケーションごとの通信制御を実現するため、ユーザ情報管理テーブル２０６の拡張に伴い拡張した制御ルール管理テーブル２０５−２を示す。点線枠内が拡張したカラムである。Ａｐｐ  ＩＤカラムにアプリケーションを識別可能な識別子を格納して、アプリケーションごとの制御を可能にする。
【０１０６】
パケットにアプリケーションを一意に特定可能な情報を埋め込む処理は、第１の実施形態で説明したステップ５０６の動作を拡張して実現する。経路情報管理テーブル２０４を作成する際に、ユーザ情報管理テーブル２０６−２と制御ルール管理テーブル２０５−２に追加したアプリケーションを一意に識別可能な識別子を取得して、ＭＰＬＳヘッダのラベルとしてユーザＩＤと共にパケットへ付与することで実現する。図１４に、スイッチごとに作成した経路情報管理テーブル２０４−３を示す。図１４は図９を更新したものであり、スイッチごとのテーブルの点線枠内が、アプリケーションの識別子を加えて更新したセルである。
【０１０７】
通信の完了後に、ユーザＩＤだけでなく、使用アプリケーションの情報も追跡可能とするため、セッション履歴管理テーブル２０７も制御ルール管理テーブル２０５−２と同様に拡張する。図１５に、拡張後のセッション履歴管理テーブル２０７−２を示す。点線枠内が拡張したカラムである。Ａｐｐ  ＩＤカラムにアプリケーションを識別可能な識別子を格納することで、使用アプリケーションの追跡を可能にする。
【０１０８】
本発明の第２の実施形態として、アプリケーションの識別子を追加でパケットへ埋め込む方法を説明した。パケットに情報を埋め込む際に、ＭＰＬＳヘッダのラベルの仕組みを利用して、ユーザ名やアプリケーション名の場合と同様に、国籍、職業、年齢、出身地などの個人情報や、アプリケーションが参照した機密情報のファイルの識別子などの個別情報を、パケットへ複数多段に埋め込むことも可能である。
【０１０９】
これは、アプリケーション名の場合と同様に、共用端末１０５が前記の個人情報や個別情報を有し、コントローラ１０１が前記の個人情報や個別情報を共用端末１０５から取得することで可能となる。このとき、コントローラ１０１は、図１１に対応するユーザ情報管理テーブル、図１２に対応する変換のための個人情報や個別情報を格納したテーブル、図１３に対応する制御ルール管理テーブルを有し、図１４に対応する経路情報管理テーブルを作成し、図１５に対応するセッション履歴管理テーブルを保存すればよい。
【０１１０】
本実施形態によれば、パケットのヘッダ部の参照で、通信の発信元情報であるユーザ名やアプリケーション名や個人情報や個別情報の特定が可能となる。よって、前記の複数の情報を組み合わせての通信制御が可能となるため、ネットワークセキュリティの面での活用も可能である。
【０１１１】
以上のように、本実施形態によれば、複数のユーザが共用の端末を介して組織内のシステムを利用するネットワークシステムにおいて、端末からの通信を参照することで、通信の発信元情報であるユーザ名やアプリケーション名や個人情報や個別情報の特定と、発信元情報ごとの通信経路の指定とが、新たな装置の導入なしに可能となる。さらに、発信元情報ごとの通信履歴を辿ることが可能となる。
【０１１２】
本発明は上記実施形態に限定されることなく、特許請求の範囲に記載した発明の範囲内で、種々の変形が可能であり、それらも本発明の範囲内に含まれるものであることはいうまでもない。
【０１１３】
また、上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
【０１１４】
付記
（付記１）
端末からパケットを受け、前記パケットの発信元情報を特定し、指示に基づいて前記発信元情報を前記パケットに付与し、前記指示に基づく通信経路に前記発信元情報を付与した前記パケットを送信するスイッチと、前記スイッチに前記指示を出すコントローラと、を備えたネットワークシステム。
（付記２）
前記発信元情報は、ユーザ名およびアプリケーション名の少なくともひとつを特定する情報である、付記１記載のネットワークシステム。
（付記３）
前記指示は、前記発信元情報を前記パケットに付与する指示、および、前記発信元情報ごとの前記通信経路を指定する指示、を有する、付記１または２記載のネットワークシステム。
（付記４）
前記スイッチは、前記パケットの情報に基づいて前記発信元情報を特定し、前記発信元情報を特定できない場合は前記コントローラに前記パケットについての前記指示を求める、付記１から３の内の１項記載のネットワークシステム。
（付記５）
前記コントローラは、前記端末から得られる情報と前記パケットの情報とから、前記発信元情報を特定する、付記１から４の内の１項記載のネットワークシステム。
（付記６）
前記コントローラは、前記発信元情報ごとに予め定められた、前記通信経路の制御ルールに基づいて前記指示を出す、付記１から５の内の１項記載のネットワークシステム。
（付記７）
前記スイッチは、前記パケットの前記通信経路の履歴を前記コントローラに送信し、前記コントローラは、前記履歴を保存する、付記１から６の内の１項記載のネットワークシステム。
（付記８）
前記スイッチは、前記発信元情報を前記パケットのヘッダ部に付与する、付記１から７の内の１項記載のネットワークシステム。
（付記９）
端末から受信したパケットに基づいて前記パケットの発信元情報を特定し、指示に基づいて前記発信元情報を前記パケットに付与し、前記指示に基づく通信経路に前記発信元情報を付与した前記パケットを送信する、通信方法。
（付記１０）
前記発信元情報は、ユーザ名およびアプリケーション名の少なくともひとつを特定する、付記９記載の通信方法。
（付記１１）
前記指示は、前記発信元情報を前記パケットに付与する指示、および、前記発信元情報ごとの前記通信経路を指定する指示、を有する、付記９または１０記載の通信方法。
（付記１２）
前記発信元情報を特定できない場合、前記端末から得られる情報と前記パケットの情報とに基づいて、前記発信元情報を特定する、付記９から１１の内の１項記載の通信方法。
（付記１３）
前記指示は、前記発信元情報ごとに予め定められた、前記通信経路の制御ルールに基づいて出される、付記９から１２の内の１項記載の通信方法。
（付記１４）
前記パケットの前記通信経路の履歴を保存する、付記９から１３の内の１項記載の通信方法。
（付記１５）
前記発信元情報を前記パケットのヘッダ部に付与する、付記９から１４の内の１項記載の通信方法。
【符号の説明】
【０１１５】
１００    ネットワークシステム
１０１    コントローラ
１０２    スイッチ１
１０３    スイッチ２
１０４    スイッチ３
１０５    共用端末
１０６    業務サーバ
１０７    管理端末
１０８    端末１
１０９    端末２
１１０    端末３
１１１    ＩＰＳ
２０１    スイッチ制御部
２０２    通信制御部
２０３    端末情報取得部
２０４、２０４−１、２０４−２、２０４−３    経路情報管理テーブル
２０５、２０５−１、２０５−２    制御ルール管理テーブル
２０６、２０６−１、２０６−２    ユーザ情報管理テーブル
２０７、２０７−１、２０７−２    セッション履歴管理テーブル
３００    パケット
【図１】
2015119345.tif 000003
【図２】
2015119345.tif 000004
【図３】
2015119345.tif 000005
【図４】
2015119345.tif 000006
【図５】
2015119345.tif 000007
【図６】
2015119345.tif 000008
【図７】
2015119345.tif 000009
【図８】
2015119345.tif 000010
【図９】
2015119345.tif 000011
【図１０】
2015119345.tif 000012
【図１１】
2015119345.tif 000013
【図１２】
2015119345.tif 000014
【図１３】
2015119345.tif 000015
【図１４】
2015119345.tif 000016
【図１５】
2015119345.tif 000017