説明

通信システム、制御装置、通信方法

【課題】端末の位置保証機能、位置に応じたアクセス制御機能を持った通信システムの提供。
【解決手段】通信システムは、パケットを転送する複数のノードと、前記複数のノードの少なくとも1つに接続してネットワークにアクセスする端末と、前記複数のノードのうち前記端末が接続されたノードからの要求に応じて、前記複数のノードのうち、前記端末から送信されたパケットの転送経路上のノードを制御してパケット転送を行わせる制御装置とを含む。前記制御装置は、前記複数のノードのそれぞれの位置情報を記憶する手段と、前記端末が接続されるノードのうち、送信先の位置的制約を課すノードについて、当該ノードから送信可能又は不可能な送信先を定義した制約情報を記憶する手段と、前記端末が接続されたノードの位置情報と、前記制約情報とに基づいて、パケットの転送可否を決定する手段と、を含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信システム、制御装置、通信方法およびプログラムに関し、特に、ネットワークに配置されたノードを集中制御する制御装置を有する通信システム、制御装置、通信方法およびプログラムに関する。
【背景技術】
【0002】
インターネットなどのネットワークの普及に伴い、利用者は、コンピュータ等の機器をネットワークに接続して、他の機器と通信を行うことや様々なサービスを受けることが可能となっている。
【0003】
ネットワークに接続された機器同士が互いに通信する際に、各機器は、それぞれの識別情報に基づいて通信を行う。識別情報の一例は、IPアドレスである。IPアドレスは、ネットワークに接続された機器を識別するための識別子(ID)であると共に、機器のネットワーク中の位置を示す位置情報としての役割を持っている。例えば、IPアドレスのプレフィックスが位置情報になる。機器同士が通信する際、この位置情報を参照して、該位置情報に基づく経路制御を実行することができる。
【0004】
一方、近年、携帯型の機器(以下、「移動機器」とする。)の増加に伴い、移動機器を識別する識別子と、移動機器の位置を示す位置情報とを分離して管理する手法が普及している。IPアドレスのように、識別子と位置情報の双方を含む識別情報を用いる場合、移動機器の移動に伴って該移動機器とネットワークとの接続ポイントが変化すると、移動機器に割振られる識別情報も変更されてしまう。接続ポイントが変わると、位置情報が変化するためである。識別情報が変更されると、移動機器の識別子も変わるため、移動機器のネットワーク接続を維持することが難しくなる。これが、移動機器の識別子と位置情報とを分離して管理する手法が普及している理由である。
【0005】
上記のような背景から、特許文献1には、自装置の位置情報を保持し、通信相手の無線通信装置の位置情報を受信する位置受信手段と、通信相手の無線通信装置の位置情報及び自装置の位置情報に基づき、通信相手の無線通信装置との距離を算出する距離算出手段と、通信相手の無線通信装置との距離を測定する距離測定手段と、距離算出手段により算出した通信相手の無線通信装置との距離と距離測定手段により測定した通信相手の無線通信装置との距離に基づき、通信相手の無線通信装置の位置情報が正しいか否かを判定する位置判定手段と、位置判定手段による判定結果に基づき、通信相手の無線通信装置との通信可否を判定する通信可否判定手段とを有する無線通信装置が開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2008−236262号公報
【非特許文献】
【0007】
【非特許文献1】Nick McKeownほか7名、“OpenFlow: Enabling Innovation in Campus Networks”、[online]、[平成22年12月22日検索]、インターネット〈URL:http://www.openflowswitch.org//documents/openflow−wp−latest.pdf〉
【非特許文献2】“OpenFlow Switch Specification” Version 1.0.0. (Wire Protocol 0x01) [平成22年12月22日検索]、インターネット〈URL:http://www.openflowswitch.org/documents/openflow−spec−v1.0.0.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【0008】
以下の分析は、本発明によって与えられたものである。上記したように識別子と位置情報とを分離して管理する手法が普及している状況下では、端末の識別子から当該端末の位置を判別することが困難となり、端末が適切な位置からアクセス先に接続しようとしているかを保証できないという問題点がある。また逆に、端末が適切な位置にあることが確認できれば、一定の範囲でアクセスを許容したいというニーズもある。
【0009】
この点、特許文献1に開示の技術では、移動機器に、それぞれ通信相手との距離測定手段を設けなければならないという問題点がある。
【0010】
本発明は、上記した事情に鑑みてなされたものであって、その目的とするところは、上記した端末の位置保証機能、位置に応じたアクセス制御機能を持った通信システム、制御装置、通信方法およびプログラムを提供することにある。
【課題を解決するための手段】
【0011】
本発明の第1の視点によれば、パケットを転送する複数のノードと、前記複数のノードの少なくとも1つに接続してネットワークにアクセスする端末と、前記複数のノードのうち前記端末が接続されたノードからの要求に応じて、前記複数のノードのうち、前記端末から送信されたパケットの転送経路上のノードを制御してパケット転送を行わせる制御装置とを含み、前記制御装置は、前記複数のノードのそれぞれの位置情報を記憶する手段と、前記端末が接続されるノードのうち、送信先の位置的制約を課すノードについて、当該ノードから送信可能又は不可能な送信先を定義した制約情報を記憶する手段と、前記端末が接続されたノードの位置情報と、前記制約情報とに基づいて、パケットの転送可否を決定する手段と、を含む通信システムが提供される。
【0012】
本発明の第2の視点によれば、端末から送信されたパケットを転送する複数のノードと接続され、前記複数のノードのうち前記端末が接続されたノードからの要求に応じて、前記複数のノードのうち、前記端末から送信されたパケットの転送経路上のノードを制御してパケット転送を行わせる手段と、前記複数のノードのそれぞれの位置情報を記憶する手段と、前記端末が接続されるノードのうち、送信先の位置的制約を課すノードについて、当該ノードから送信可能又は不可能な送信先を定義した制約情報を記憶する手段と、
前記設定要求を送信したノードの位置情報と、前記制約情報とに基づいて、パケットの転送可否を決定する手段と、を備える制御装置が提供される。
【0013】
本発明の第3の視点によれば、端末から送信されたパケットを転送する複数のノードと接続され、前記複数のノードのそれぞれの位置情報を記憶する手段と、前記端末が接続されるノードのうち、送信先の位置的制約を課すノードについて、当該ノードから送信可能又は不可能な送信先を定義した制約情報を記憶する手段と、を備えた制御装置が、前記複数のノードのうち前記端末が接続されたノードからの要求に応じて、前記端末が接続されたノードの位置情報と、前記制約情報とに基づいて、パケットの転送可否を判定するステップと、前記判定の結果、パケットの転送可と判定した場合に、前記複数のノードのうち、前記端末から送信されたパケットの転送経路上のノードを制御してパケット転送を行わせるステップと、を含む通信方法が提供される。本方法は、上記した複数のノードを制御する制御装置という、特定の機械に結びつけられている。
【0014】
本発明の第4の視点によれば、端末から送信されたパケットを転送する複数のノードと接続され、前記複数のノードのそれぞれの位置情報を記憶する手段と、前記端末が接続されるノードのうち、送信先の位置的制約を課すノードについて、当該ノードから送信可能又は不可能な送信先を定義した制約情報を記憶する手段と、を備えた制御装置に搭載されたコンピュータに、前記複数のノードのうち前記端末が接続されたノードからの要求に応じて、前記端末が接続されたノードの位置情報と、前記制約情報とに基づいて、パケットの転送可否を判定する処理と、前記判定の結果、パケットの転送可と判定した場合に、前記複数のノードのうち、前記端末から送信されたパケットの転送経路上のノードを制御してパケット転送を行わせる処理と、を実行させるプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【0015】
本発明によれば、ネットワーク側に、端末の位置保証機能、位置に応じたアクセス制御機能を具備させることが可能になる。
【図面の簡単な説明】
【0016】
【図1】本発明の概要を説明するための図である。
【図2】本発明の第1の実施形態の構成を表わした図である。
【図3】本発明の第1の実施形態のノードの構成を表したブロック図である。
【図4】本発明の第1の実施形態のノードに設定される処理規則の構成を示す図である。
【図5】図4の処理規則のアクションフィールドに設定する処理内容を説明するための図である。
【図6】本発明の第1の実施形態の制御装置の構成を表したブロック図である。
【図7】本発明の第1の実施形態の制御装置のロケーションデータベース(ロケーションDB)に保持されるテーブルの例である。
【図8】本発明の第1の実施形態の制御装置の制約情報データベース(制約情報DB)に保持されるテーブルの例である。
【図9】本発明の第1の実施形態のノードの動作を表わしたフローチャートである。
【図10】本発明の第1の実施形態の制御装置の動作を表わしたフローチャートである。
【図11】本発明の第2の実施形態の構成を表わした図である。
【図12】本発明の第2の実施形態の制御装置の構成を表したブロック図である。
【図13】図11の認証装置の認証情報データベース(認証情報DB)に保持されるテーブルの例である。
【図14】本発明の第2の実施形態の制御装置の動作を表わしたフローチャートである。
【図15】本発明の第2の実施形態の認証装置の動作を表わしたフローチャートである。
【発明を実施するための形態】
【0017】
はじめに本発明の概要について、図1を参照して説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。
【0018】
本発明は、図1に示すように、パケットを転送する複数のノード10A〜10Nと、前記複数のノードのうち端末30が接続されたノード(図1のノード10Aやノード10B)からの要求に応じて、前記複数のノードのうち、前記端末から送信されたパケットの転送経路上のノードを制御してパケット転送を行わせる制御装置20とを含む構成にて実現できる。
【0019】
制御装置20は、複数のノードのそれぞれの位置情報を記憶する手段(ノード位置情報記憶部22A)と、前記端末が接続されるノードのうち、送信先の位置的制約を課すノードについて、当該ノードから送信可能又は不可能な送信先を定義した制約情報を記憶する手段(制約情報記憶部23A)と、端末が接続されたノードの位置情報と、前記制約情報とに基づいて、パケットの転送可否を決定する手段(転送可否判断部26A)と、を含む。
【0020】
例えば、ノード10Aから送信先40Nへは送信不可、ノード10Bから送信先40Nへは送信可であるとの制約情報が設定されている場合において、端末30が送信先40Nに宛てたパケットを送信し、接続されたノードが制御装置20に対し、パケットの転送経路の設定を要求した場合を考える。端末30がノード10Aに接続している場合、制御装置20は、前述のノード10Aから送信先40Nへは送信不可との制約情報に従い、例えば、ノード10Aに端末30から受信したパケットの廃棄を指示する。
【0021】
その後、端末30が移動し、ノード10Bに接続して送信先40N宛てのパケットを送信し、ノード10Bから当該パケットの転送経路の設定要求を受けた場合、制御装置20は、前述のノード10Bから送信先40Nへは送信可との制約情報に従い、端末30と送信先40N間の経路を設定し、当該経路上のノード10B、ノード10A、ノード10Nにパケット転送を行わせる。
【0022】
以上のように、パケット転送経路の設定要求を行ったノードにより、端末の位置を把握し、その位置に基づいて、パケットの転送可否を制御することが可能となる。
【0023】
[第1の実施形態]
続いて、本発明の第1の実施形態について図面を参照して詳細に説明する。図2は、本発明の第1の実施形態の構成を表した図である。図2を参照すると、端末30と、複数のサーバ41B〜41Nと、端末30とサーバ41B〜41Nとの間のパケットを転送する複数のノード10A〜10Nと、複数のノード10A〜10Nを制御する制御装置20とを含む構成が示されている。
【0024】
端末30は、計算機、移動機器、テレビ等のユーザが使用する端末である。なお、図2では1台の端末を示しているが、複数の端末があってよい。
【0025】
サーバ41B〜41Nは、アプリケーションプログラムにて動作し、端末30への情報提供や、各種申込の受付等のサービスを提供する計算機である。なお、図2では3台のサーバを示しているが、3台に限られるものではない。また、各サーバが同一のサービスを提供するものとしてもよいし、各サーバがそれぞれ異なるサービスを提供するものとしてもよい。
【0026】
ノード10A〜10Nは、ネットワークスイッチやルータを用いることができるが、以下、本実施形態では、ノード10A〜10Nとして、非特許文献1、2のオープンフロースイッチを用いるものとして説明する。
【0027】
図3は、ノード10A〜10N(以下、ノード10A〜10Nを特に区別する必要のないときはノード10と記す。)の構成を表したブロック図である。図3を参照すると、ノード10は、制御装置20により送信されたフローエントリ(処理規則)を格納するフローエントリ記憶部12と、フローエントリ記憶部12から、受信パケットに適合するフローエントリ(処理規則)を検索して、パケットの処理を行うパケット処理部11とを含んで構成される。
【0028】
ここで、オープンフロー(OpenFlow)について説明する。オープンフローは、通信をエンドツーエンドのフローとして捉え、フロー単位で経路制御、障害回復、負荷分散、最適化を行うものである。オープンフロースイッチ(ノード10A〜10Nに相当)は、オープンフローコントローラ(制御装置20に相当)との通信用のセキュアチャネルを備え、オープンフローコントローラから適宜追加または書き換え指示される処理規則(フローエントリ)に従って動作する。
【0029】
図4は、フローエントリ記憶部12に格納されるフローエントリ(処理規則)の構成を示す図である。図4の例では、フローエントリ(処理規則)は、受信パケットのパケットヘッダと照合するマッチングルール(照合規則)と、当該マッチングルールに適合するパケットに適用する処理内容を定義したアクション(Actions)と、フロー統計情報(Stats)との組によって構成されている。
【0030】
図5は、非特許文献2に定義されているアクション名とアクションの内容である。OUTPUTは、指定ポート(インタフェース)に出力するアクションである。SET_VLAN_VIDからSET_TP_DSTは、パケットヘッダのフィールドを修正するアクションである。また、アクション名を記載しないことで、当該パケットの破棄が行われる。
【0031】
例えば、ノード10のパケット処理部11は、パケットを受信すると、上記のようなフローエントリ(処理規則)を格納したフローエントリ記憶部12から、受信パケットのヘッダ情報に適合するマッチングルールを持つエントリを検索する。検索の結果、受信パケットに適合するエントリが見つかった場合、ノード10のパケット処理部11は、受信パケットに対して、当該エントリのアクションフィールドに記述された処理内容を実施する。一方、前記検索の結果、受信パケットに適合するエントリが見つからなかった場合、ノード10のパケット処理部11は、セキュアチャネルを介して、制御装置20に対して受信パケット(またはフローエントリ(処理規則)の作成に必要な情報を含んだフローエントリ(処理規則)の設定要求)を転送する。制御装置20が作成したフローエントリ(処理規則)は、フローエントリ記憶部12に格納される。
【0032】
図6は、制御装置20の構成を表わしたブロック図である。図6を参照すると、ノード管理部21と、ロケーションDB(ロケーションデータベース)22と、制約情報DB(制約情報データベース)23と、トポロジーDB(トポロジーデータベース)24と、受信部25と、転送可否判定部26と、経路生成部27と、送信部28とを備えた構成が示されている。
【0033】
受信部25は、ノード10からパケット(またはフローエントリ(処理規則)の作成に必要な情報を含んだフローエントリ(処理規則)の設定要求)を受信すると、ノード管理部21および転送可否判定部26に、ノード10から受信したパケット、当該パケットの送信元のノードおよびその受信ポートの情報等を転送する。
【0034】
ノード管理部21は、受信部25から受信したパケット、当該パケットの送信元のノードおよびその受信ポートの情報に基づいて、トポロジーDB24に、端末30が既知の端末として登録されているか否かを確認し、端末30が既知の端末として登録されていない場合には、ロケーションDB22およびトポロジーDB24に、端末の位置情報を登録する。
【0035】
図7は、ロケーションDB22に保持されるテーブルの例を示す図である。図7の例では、ノード10、端末30、サーバ40B〜40Nを一意に識別するためのノードIDと、そのノードが設置された場所を示す位置情報とを対応付けたエントリが格納されている。
【0036】
なお、図7のノードIDとしては、ノード10に付与されたDatapath ID(DPID)や、IPアドレス、MACアドレス等を用いることができる。なお、サーバ40B〜40Nや端末30のノードIDは、ノード10から受信したパケットのパケットヘッダから取得することができる。また、所定のルールによりノードIDを決定し、その付加情報として、IPアドレス、MACアドレスやDatapath ID(DPID)を用いることとしてもよい。
【0037】
また、図7の位置情報としては、各ノード10およびサーバ40B〜40Nのネットワーク上の位置情報のほか、ヨーロッパ、ユーラシア等の大州名(州名)、国名(領域名)、地方名(地域名)、県、市町村等の行政区画名や、さらに詳細な情報として街路名、番地、建物名等を用いることができる。また、位置情報の記述形態としては、各位置を表す文字列でもよいし、各位置に付与された識別値(郵便番号やZIPコードを含む)でもよい。また、これら位置情報の粒度(階層)は、すべて統一する必要は無く、後記する制約情報DB23のエントリ(制約情報)と整合していればよい。例えば、ユーザの位置に応じて、日本国神奈川県川崎市にあるサーバと、日本国神奈川県川崎市以外にあるサーバと、米国にあるサーバとに、それぞれパケット転送可否を設定したい場合、あるノードは、日本国神奈川県川崎市にあり、またあるノードは米国にあることが記述され、日本国神奈川県川崎市以外にあるノードと区別できるようになっていればよい。
【0038】
図8は、制約情報DB23に保持されるテーブルの例を示す図である。図8の例では、送信元の位置情報、送信先の位置情報、許可あるいは拒否を示す値(allow/deny)とを対応付けたエントリ(制約情報)が格納されている。送信元や送信先の位置情報は、必ずしも特定のノードを指すものでなくともよく、例えば、送信元の位置情報として、位置的制約を課したい地域等の位置情報を記述することで、当該地域からの送信に制約を課すことができる。
【0039】
従って、制約情報DB23に設定する位置情報も、上記したロケーションDB22の各ノードの位置情報に基づいて、送信元から送信先へのパケット転送可否を割り出すことができるものであれば種々のものを用いることができる。例えば、各ノード10およびサーバ40B〜40Nのネットワーク上の位置情報のほか、大州名(州名)、国名(領域名)、地方名(地域名)、県、市町村等の行政区画名や、さらに詳細な情報として街路名、番地、建物名等を用いることができる。また、ロケーションDB22の各ノードの位置情報と、制約情報DB23の位置情報の対応関係を定めた対応表などを併用するようにしてもよい。
【0040】
また、位置情報の粒度(階層)の違いを許容している場合において、各階層に優先順位を設定することも可能である。また、位置情報の粒度が細かく(詳細になる)に従って、優先度が高くなるようにすることができる。例えば、日本国からA国へのパケット転送を原則禁止とするエントリ(制約情報)と、日本国神奈川県からA国へのパケット転送を許可するエントリ(制約情報)や、日本国からA国B州へのパケット転送を許可するエントリ(制約情報)を重畳的に設けることで、日本国の神奈川県からのみA国へのパケット転送を許容したり、A国B州へのパケット転送のみを許容したりすることができる。
【0041】
トポロジーDB24には、ノード10、サーバ40B〜40N、端末30の接続関係を示したネットワークトポロジ情報が格納される。ネットワークトポロジ情報としては、各ノード10の各ポートに接続されたノード10、サーバ40B〜40N、端末30などのノードIDをリスト形式で表わしたものや、各ノードのポートと前記ノードIDとの関係をテーブルに格納したものを用いることができる。なお、サーバ40B〜40Nや端末30のノードIDとしては、ノード10から受信したパケットのパケットヘッダから取得したIPアドレスやMACアドレスを用いることができる。
【0042】
転送可否判定部26は、受信部25から転送されたパケットの送信元のノードID(上記IPアドレスやMACアドレスである場合を含む。)と、当該パケットの送信先のノードID(上記IPアドレスやMACアドレスである場合を含む。)とに対応する位置情報をロケーションDB22から割り出し、制約情報DB23から前記各位置情報に適合するエントリを検索することで、パケットの送信元から送信先へのパケット転送可否を判定する。
【0043】
前記判定の結果、パケット転送不可と判定した場合、転送可否判定部26は、送信部28を介して、パケットの送信元のノード10に、当該パケットおよび後続するパケットの廃棄を行わせるフローエントリ(処理規則)を設定する。
【0044】
一方、前記判定の結果、パケット転送可と判定した場合、転送可否判定部26は、前記パケットを経路生成部27に転送し、経路の生成と、当該経路に従ったパケット転送を実現するためのフローエントリ(処理規則)の作成・設定を依頼する。
【0045】
経路生成部27は、トポロジDB24を参照して、転送可否判定部26から転送されたパケットの送信元から送信先に到る経路を生成する。また、経路生成部27は、前記生成した経路上のノードに、前記経路に従ったパケット転送を行わせるフローエントリ(処理規則)を作成し、送信部28を介して前記経路上の各ノードに設定する。なお、経路生成部27における経路算出方法としては、ダイクストラ法等を用いることができる。
【0046】
なお、上記のような制御装置20は、非特許文献1、2のオープンフローコントローラをベースに、ロケーションDB22、制約情報DB23、転送可否判定部26に相当する機能を追加した構成にて実現することが可能である。
【0047】
続いて、本実施形態の動作について図面を参照して詳細に説明する。図9は、パケット受信時のノード10の動作を表したフローチャートである。図9を参照すると、まず、ノード10のパケット処理部11は、フローエントリ記憶部12から、受信パケットのパケットヘッダと一致するマッチングルールを持つフローエントリ(処理規則)を検索する(S101)。
【0048】
前記検索の結果、受信パケットのパケットヘッダと一致するマッチングルールを持つフローエントリ(処理規則)が見つかった場合(ステップS102のYes)、パケット処理部11は、前記フローエントリ(処理規則)のアクションフィールドに定義された処理内容を実行する(ステップS103)。
【0049】
一方、受信パケットのパケットヘッダと一致するマッチングルールを持つフローエントリ(処理規則)が見つからなかった場合(ステップS102のNo)、パケット処理部11は、制御装置20に対し、受信パケットを転送し、フローエントリ(処理規則)の設定を要求する(ステップS104)。
【0050】
図10は、ノード10からフローエントリ(処理規則)の設定要求を受けた制御装置20の動作を表したフローチャートである。図10を参照すると、まず、受信部25から受信パケットとその送信元のノード、受信ポート等を受け取ったノード管理部21が、受信パケットの送信元の端末30がトポロジーDB24の該当位置(フローエントリ(処理規則)の設定要求元のノードとその受信ポート)に登録されているか否かを確認する(ステップS201)。具体的には、受信パケットの送信元IPアドレスや送信元MACアドレスが、トポロジーDB24の該当ノード10のポートに接続されている機器のIPアドレスとMACアドレスと一致するか否かを確認する。
【0051】
ここで、受信パケットの送信元の端末30がトポロジーDB24に登録されていないことが判明した場合(ステップS201のYes)、ノード管理部21は、当該端末30をトポロジーDB24の該当位置(フローエントリ(処理規則)の設定要求元のノードとその受信ポート)に登録するとともに、フローエントリ(処理規則)の設定要求元のノード10の位置をロケーションDB22から検索し、当該端末30の位置情報としてロケーションDB22に登録する(ステップS202)。
【0052】
他方、受信パケットの送信元の端末30がトポロジーDB24に登録されていた場合(ステップS201のNo)、転送可否判定部26は、受信パケットの送信元IPアドレスや送信元MACアドレス等を用いてロケーションDB22を検索し、送信元機器の位置を特定する。また、転送可否判定部26は、受信パケットの送信先IPアドレスや送信先MACアドレス等を用いてロケーションDB22を検索し送信先機器の位置を特定する(ステップS203)。
【0053】
次に、転送可否判定部26は、制約情報DB23から、前記特定した送信元と送信先の位置に適合するエントリ(制約情報)を検索する(ステップS204)。
【0054】
前記検索の結果、得られたエントリ(制約情報)の送信可否が接続許可(allow)であった場合(ステップS205のYes)、転送可否判定部26は、経路生成部27に対して経路の生成を依頼する。経路生成部27は、トポロジーDB24を参照して、受信パケットの送信元IPアドレスおよびMACアドレスを持つノードから、送信先IPアドレスおよびMACアドレスを持つノードに到る経路を算出する(ステップS206)。
【0055】
次いで、経路生成部27は、前記算出した経路上のノード10に設定すべきフローエントリ(処理規則)を生成し、送信部28を介して、各ノード10のフローエントリ記憶部12に設定する(ステップS207)。具体的には、前記経路上の各ノードについて、受信パケットの送信IPアドレス、受信IPアドレスを指定し、残りのタプルはwildカードとしたマッチングルールを持ち、前記算出した経路の次のノードと接続しているポートからパケットを転送させるアクションを定めたフローエントリ(処理規則)が作成される。
【0056】
次いで、経路生成部27は、送信部28を介して、受信パケットの送信元のノード10に対し、ステップS201で受信したパケットを送信し、前記経路に従ったポートから転送するよう指示する(ステップS208)。
【0057】
一方、ステップS204の検索の結果、得られたエントリ(制約情報)の送信可否情報が接続拒否(deny)であった場合(ステップS205のNo)、転送可否判定部26は、受信パケットに後続するパケットを破棄する処理を行わせるフローエントリ(処理規則)を生成し、送信部28を介して、受信パケットの送信元のノード10のフローエントリ記憶部12に設定する(ステップS209)。
【0058】
以上のように、本実施形態によれば、上記した制約情報DB23に設定した内容に従って、端末の位置に応じたパケット転送可否を制御することが可能となる。また、上記のようにステップS209で、パケット破棄を行わせるフローエントリ(処理規則)を設定することにより、端末30が接続されているノードにおいて、同一のパケットヘッダを持つパケットが破棄されるため、制御装置20のフローエントリ(処理規則)の設定要求に対する応答負荷が低減される。その一方で、ユーザは、端末30を移動して目的とするサーバへのパケット転送が認められたノードに接続し再度パケットを送信することで、制御装置20にパケットの転送経路を設定させることができる。
【0059】
なお、上記した実施形態では、受信パケットの送信元のノードの位置を、端末30の位置として取り扱ったが、ノードの各ポートを位置情報として取り扱うこともできる。このようにすることで、ノード10に、無線LANのアクセスポイントやオープンフロースイッチ以外のスイッチが接続されているような構成においても、その詳細な位置によるパケット転送可否を制御することが可能となる。
【0060】
また、上記した実施形態では、受信パケットの送信元のノード10に対し、受信パケットを返送し、前記経路に従ったポートから転送するよう指示するものとして説明したが、制御装置20が、前記算出した経路の終点に当たるノード10にパケットを転送することも可能である。
【0061】
また、上記した実施形態では、ノード10からパケットの受信を契機に、端末30の位置をロケーションDB22およびトポロジーDB24に登録するものとして説明したが、ノード10のポートがリンクアップし、ステータス更新のメッセージが来たことを契機に、ロケーションDB22およびトポロジーDB24に端末の位置を登録してもよい。
【0062】
また、上記した実施形態では、ロケーションDB22およびトポロジーDB24からの端末の位置情報の削除のタイミングについては触れなかったが、端末30が接続されたノード10からの当該端末30が接続したポートのリンクダウンの通知を契機に行うことができる。具体的には、トポロジーDB24から、該当ノード10の該当ポートに接続されていたノードID(ID、IPアドレス、MACアドレス等)を削除し、ロケーションDB22から、前記ノードID(ID、IPアドレス、MACアドレス等)を持つエントリを削除する処理が行われる。
【0063】
[第2の実施形態]
続いて、認証装置と連携動作により、上記ロケーションDB22と制約情報DB23とを更新するようにした本発明の第2の実施形態について図面を参照して詳細に説明する。
【0064】
図11は、本発明の第2の実施形態の構成を表わした図である。図2に示した第1の実施形態との構成上の相違点は、制御装置20Bに、認証情報データベース(認証情報DB)51を備えた認証装置50が接続されている点である。また、本実施形態では、第1の実施形態と制御装置の構成および動作が異なっているので、これら相違点を中心に説明する。
【0065】
図12は、本発明の第2の実施形態の制御装置の構成を表したブロック図である。図12を参照すると、ロケーションDB22と、制約情報DB23と、トポロジーDB24と、受信部25Aと、転送可否判定部26と、経路生成部27と、送信部28とを備えた構成が示されている。第1の実施形態との構成上の大きな相違は、ノード管理部21が省略され、代わりに認証装置50と情報のやり取りを行う構成となっている点である。
【0066】
受信部25Aは、ノード10から認証用パケットを受信すると、認証装置50に、認証用パケットを転送する。また、受信部25Aは、ノード10からパケット(またはフローエントリ(処理規則)の作成に必要な情報を含んだフローエントリ(処理規則)の設定要求)を受信すると、転送可否判定部26に端末30から受信したパケット、当該パケットの送信元のノードおよびその受信ポートの情報等を転送する。
【0067】
認証装置50は、受信部25Aから受信した認証用パケットに基づいて端末30とユーザ認証処理を行う。そして、ユーザ認証に成功した場合、認証装置50は、ロケーションDB22から取得した当該端末30の位置と、認証情報DB51の内容とに基づいて、制約情報DB23に登録するエントリ(制約情報)を生成し、制約情報DB23に登録する動作を行う。
【0068】
図13は、認証装置50の認証情報DB51に保持されるテーブルの例を示す図である。図13の例では、個々のユーザ毎に、送信元の位置情報、送信先の位置情報、許可あるいは拒否を示す値(allow/deny)とを対応付けたエントリが格納されている。
【0069】
認証情報DB51に設定する位置情報も、制約情報DBに登録するエントリ(制約情報)を生成可能なものであればよく種々のものを用いることができる。例えば、各ノード10およびサーバ40B〜40Nのネットワーク上の位置情報のほか、ヨーロッパ、ユーラシア等の大州名(州名)、国名(領域名)、地方名(地域名)、県、市町村等の行政区画名や、さらに詳細な情報として街路名、番地、建物名等を用いることができる。また、ロケーションDB22や制約情報DB23の各ノードの位置情報と、認証情報DB51の位置情報の対応関係を定めた対応表などを併用するようにしてもよい。
【0070】
その他各構成要素の動作は、第1の実施形態と同様であり、転送可否判定部26が、ロケーションDB22および制約情報DB23に基づいて、送信元と送信先へのパケットの転送可否を判定し、パケット転送可と判定した場合、経路生成部27にて、経路の生成とフローエントリ(処理規則)の設定が行われる。
【0071】
続いて、本実施形態の動作について図面を参照して詳細に説明する。図14は、ノード10から、パケットを受信した制御装置20Bの動作を表したフローチャートである。図14を参照すると、まず、受信部25Aは、ノード10から受信したパケットが認証用のパケットであるか否かを判定する(ステップS300)。例えば、認証規格としてIEEE802.1xを用いる場合、認証用パケットか否かの判定は、パケットのEther typeフィールドが、0x888E(EAPoL(Extensible Authentication Protocol over LAN)フレーム)であるか否かにより識別できる。
【0072】
ノード10から受信したパケットが認証用パケットである場合(ステップS300のYes)、受信部25Aは、認証装置50に認証用パケットを転送する(ステップS301)。また、認証装置50と端末30間でメッセージのやり取りが必要な場合には、認証用パケットの送信元のノード(例えば、図11のノード10A)に、認証装置50からの応答を端末30に転送させるフローエントリ(処理規則)の設定が行われる。具体的には、マッチングルールとして、送信元MACアドレスを認証装置50のMACアドレスとし、送信先MACアドレスとして端末30のMACアドレスを指定し、アクションとして、端末30が接続されたポートへ転送するフローエントリ(処理規則)が設定される。
【0073】
以降、図14のステップS201からS209の制御装置の動作は、上記した第1の実施形態と同様であるので説明を省略する。
【0074】
続いて、上記制御装置20Bの受信部25Aから認証用パケットの転送を受けた認証装置50の動作について図面を参照して詳細に説明する。図15は、認証用パケットの転送を受けた認証装置50の動作を表したフローチャートである。
【0075】
図15を参照すると、まず、認証装置50は、端末30から受信した認証用パケットに基づいてユーザ認証処理を行う(ステップS401)。ここで、ユーザ認証処理に失敗した場合(ステップS402のNo)、以降の処理は行われない。この場合において、認証装置50が、制御装置20にその旨を通知し、当該端末30からのパケットを破棄するフローエントリ(処理規則)を設定するようにしてもよい。
【0076】
一方、ユーザ認証に成功した場合(ステップS402のYes)、認証装置50は、制御装置の20のロケーションDB22から当該端末30の位置情報を取得する(ステップS403)。
【0077】
次に、認証装置50は、認証情報DB51のテーブル(図13参照)と、前記取得した端末30の位置情報およびMACアドレスやIPアドレス等を用いて、制御装置20の制約情報DB23に登録するエントリ(制約情報)を生成し、制御装置20の制約情報DB23に登録する(ステップS404、S405)。
【0078】
具体的には、認証装置50は、認証情報DB51のテーブル(図13参照)から、認証したユーザと一致し、かつ、送信元あるいは送信先のいずれかが、ステップS403で取得した位置の一部に合致するものを抽出する。
【0079】
認証装置50は、前記抽出したエントリ群のそれぞれから、ユーザ情報を削除し、送信先あるいは送信元のうち、ステップS403で取得した位置情報に合致した方を、端末30のMACアドレスやIPアドレス等の端末情報に置き換える処理を行う。
【0080】
以上の結果、下記のようなエントリ(制約情報)が生成される。
【0081】
端末情報、位置、許可(allow)or拒否(deny)
位置、端末情報、許可(allow)or拒否(deny)
上記のようなエントリ(制約情報)を制御装置20の制約情報DB23に登録することで、上記した第1の実施形態と同様に、制御装置20Aの転送可否判定部26による送信元と送信先の位置関係に基づいた転送可否の判定と、その結果を受けた経路生成部27による経路算出、フローエントリ(処理規則)の設定が行われる。
【0082】
以上のように、本発明は、認証装置と連携した構成にて実現することも可能である。
【0083】
なお、上記した実施形態では、認証装置50による制約情報DB23へのエントリ(制約情報)の登録処理を説明したが、認証装置50に、制約情報DB23からのエントリ(制約情報)の削除を行わせることも可能である。
【0084】
例えば、(1)予め定められたエントリ(制約情報)の有効期限の到来、(2)端末30の移動を検出(端末30が異なるノード10に接続)、(3)ユーザのログアウト(接続終了)等を契機として制約情報DB23からのエントリ(制約情報)を削除することができる。もちろん、フローエントリ(処理規則)自体に、タイムアウト値を設定し、一定期間、該当するパケットを受信できなかった場合や、フローエントリ(処理規則)の設定から一定期間経過した場合に、ノード10が当該フローエントリ(処理規則)を削除するようにしてもよい。
【0085】
また、上記した実施形態では、ノード10におけるフローエントリ(処理規則)の検索処理については第1の実施形態と同様であるものとして説明したが、受信パケットに適合するフローエントリ(処理規則)が複数検出された場合、フローエントリ(処理規則)に付与された優先度情報に基づいて、フローエントリ(処理規則)を選択するノードを用いることも好ましい。例えば、認証用パケット以外はパケット破棄するというマッチングルールと、処理内容を定めたフローエントリ(処理規則)を低優先度としてノード10のフローエントリ記憶部12に記憶させておくことで、認証を経ないで送られたユーザパケットをノート10に破棄させることができる。
【0086】
また、ノード10の各ポート毎に、認証用パケット以外のパケットを破棄するフローエントリ(処理規則)を設定することも可能である。また、認証成功後の当該ユーザのためのフローエントリ(処理規則)の設定時に、これらユーザパケットを破棄させるフローエントリ(処理規則)を削除するようにしてもよい。そしてまた、ユーザ認証の有効期限が到来した際には、前記特定のポートからの認証用パケット以外のパケットを破棄するフローエントリ(処理規則)を設定するようにしてもよい。
【0087】
また上記した実施形態では、認証装置50が直接制約情報DB23を更新するものとして説明したが、認証装置50が制御装置20に認証結果のみを通知し、制御装置がこれに基づいて、制約情報DB23を更新する構成も採用可能である。もちろん、制御装置20自体に上記認証装置50相当の機能を設けてもよい。
【0088】
以上、本発明の好適な実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。
【0089】
例えば、上記した第1、第2の実施形態では、送信元から送信先へのパケット転送が認められていない場合に、当該端末からのパケットを破棄する処理を行わせるフローエントリ(処理規則)を設定するものとして説明したが、当該位置からパケット転送が禁じられている旨のメッセージや、当該送信先にパケットを転送可能な位置を知らせるメッセージを送信するサーバに接続する経路を設定してもよい。このようにすることで、ユーザに、パケットを転送できない理由やパケットを転送できるようにするための対象方法を知らせることが可能となる。
【0090】
また同様に、送信元から送信先へのパケット転送が認められていない場合に、認証装置、輸出手続サーバ(データの送信(輸入)手続サーバ)、ユーザ登録サーバに接続する経路を設定するようにしてもよい。これらのサーバが、第2の実施形態の認証装置50と同様の動作を行って、制御装置20の制約情報DB23に、当該端末から送信先へのパケット転送を許可するエントリを追加するようにすればよい。
【0091】
また、これらの処理を使い分けることも可能である。例えば、制御装置20の制約情報DB23の送信可否情報として、許可(allow)または拒否(deny)の2値だけでなく、前記メッセージの送信や、認証装置への接続等の具体的な処理内容を定めた制御情報を設定し、制御装置20がこれに従って動作するようにしてもよい。
【0092】
最後に、本発明の好ましい形態を要約する。
[第1の形態]
(上記第1の視点による通信システム参照)
[第2の形態]
第1の形態の通信システムにおいて、
前記制御装置は、
前記複数のノードのそれぞれの位置情報と、前記複数のノードの接続関係とに基づいて、パケットの転送経路を決定する通信システム。
[第3の形態]
第1または第2の形態の通信システムにおいて、
さらに、端末とユーザ認証を行なう認証装置を含み、
前記制約情報は、ユーザ認証の結果に基づいて更新される通信システム。
[第4の形態]
第1から第3いずれか一の形態の通信システムにおいて、
前記制約情報は、前記送信先の位置的制約を課すノードの位置情報と、送信先の位置情報と、前記送信元から前記送信先への送信可否を示す送信可否情報と、を対応付けたテーブルによって構成されている通信システム。
[第5の形態]
第1から第4いずれか一の形態の通信システムにおいて、
前記制約情報は、階層を持った位置情報によって記述され、
複数の制約情報が競合する場合、予め定められた階層間の優先順位に従って、パケットの転送可否を決定する通信システム。
[第6の形態]
第1から第5いずれか一の形態の通信システムにおいて、
前記制約情報の位置情報は、大州名、国名、地方名、地域名、行政区画名のいずれか一種以上によって記述され、
前記制御装置は、前記端末から送信されたパケットが、前記端末が接続されたノードから送信可能な位置を宛先としているか否かにより、パケットの転送可否を決定する通信システム。
[第7の形態]
(上記第2の視点による制御装置参照)
[第8の形態]
第7の形態の制御装置において、
前記複数のノードのそれぞれの位置情報と、前記複数のノードの接続関係とに基づいて、パケットの転送経路を決定する手段をさらに備える制御装置。
[第9の形態]
第7または第8の形態の制御装置において、
前記端末とユーザ認証を行なう認証装置から受信したユーザ認証の結果に基づいて前記制約情報を更新する制御装置。
[第10の形態]
第7から第9のいずれか一の形態の制御装置において、
前記制約情報は、前記送信先の位置的制約を課すノードの位置情報と、送信先の位置情報と、前記送信元から前記送信先への送信可否を示す送信可否情報と、を対応付けたテーブルによって構成されている制御装置。
[第11の形態]
第7から第10のいずれか一の形態の制御装置において、
前記制約情報は、階層を持った位置情報によって記述され、
複数の制約情報が競合する場合、予め定められた階層間の優先順位に従って、パケットの転送可否を決定する制御装置。
[第12の形態]
第7から第11のいずれか一の形態の制御装置において、
前記制約情報の位置情報は、大州名、国名、地方名、地域名、行政区画名のいずれか一種以上によって記述され、
前記端末から送信されたパケットが、前記端末が接続されたノードから送信可能な位置を宛先としているか否かにより、パケットの転送可否を決定する制御装置。
[第13の形態]
(上記第3の視点による通信方法参照)
[第14の形態]
(上記第4の視点によるプログラム参照)
【0093】
なお、上記の特許文献及び非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【産業上の利用可能性】
【0094】
本発明は、位置に応じたアクセス制御システムのほか、国家間、地域間、企業間といった各種レベルで、データの移動やコンテンツの輸出入を制御するシステムとして利用することができる。
【符号の説明】
【0095】
10、10A〜10N ノード
11 パケット処理部
12 フローエントリ記憶部
20、20A、20B 制御装置
21 ノード管理部
22 ロケーションDB(ロケーションデータベース)
22A ノード位置情報記憶部
23 制約情報DB(制約情報データベース)
23A 制約情報記憶部
24 トポロジーDB(トポロジーデータベース)
25、25A 受信部
26 転送可否判定部
26A 転送可否判断部
27 経路生成部
28 送信部
30 端末
40B〜40N 送信先
41B〜41N サーバ
50 認証装置
51 認証情報DB

【特許請求の範囲】
【請求項1】
パケットを転送する複数のノードと、
前記複数のノードの少なくとも1つに接続してネットワークにアクセスする端末と、
前記複数のノードのうち前記端末が接続されたノードからの要求に応じて、前記複数のノードのうち、前記端末から送信されたパケットの転送経路上のノードを制御してパケット転送を行わせる制御装置とを含み、
前記制御装置は、
前記複数のノードのそれぞれの位置情報を記憶する手段と、
前記端末が接続されるノードのうち、送信先の位置的制約を課すノードについて、当該ノードから送信可能又は不可能な送信先を定義した制約情報を記憶する手段と、
前記端末が接続されたノードの位置情報と、前記制約情報とに基づいて、パケットの転送可否を決定する手段と、
を含むことを特徴とする通信システム。
【請求項2】
さらに、前記端末とユーザ認証を行なう認証装置を含み、
前記制約情報は、前記ユーザ認証の結果に基づいて更新される請求項1の通信システム。
【請求項3】
前記制約情報は、前記送信先の位置的制約を課すノードの位置情報と、送信先の位置情報と、前記送信元から前記送信先への送信可否を含む制御情報と、を対応付けたテーブルによって構成されている請求項1または2の通信システム。
【請求項4】
前記制約情報は、階層を持った位置情報によって記述され、
複数の制約情報が競合する場合、予め定められた階層間の優先順位に従って、パケットの転送可否を決定する請求項1から3いずれか一の通信システム。
【請求項5】
前記制約情報の位置情報は、大州名、国名、地方名、地域名、行政区画名のいずれか一種以上によって記述され、
前記制御装置は、前記端末から送信されたパケットが、前記端末が接続されたノードから送信可能な位置を宛先としているか否かにより、パケットの転送可否を決定する請求項1から4いずれか一の通信システム。
【請求項6】
端末から送信されたパケットを転送する複数のノードと接続され、
前記複数のノードのうち前記端末が接続されたノードからの要求に応じて、前記複数のノードのうち、前記端末から送信されたパケットの転送経路上のノードを制御してパケット転送を行わせる手段と、
前記複数のノードのそれぞれの位置情報を記憶する手段と、
前記端末が接続されるノードのうち、送信先の位置的制約を課すノードについて、当該ノードから送信可能又は不可能な送信先を定義した制約情報を記憶する手段と、
前記設定要求を送信したノードの位置情報と、前記制約情報とに基づいて、パケットの転送可否を決定する手段と、
を備える制御装置。
【請求項7】
前記端末とユーザ認証を行なう認証装置から受信したユーザ認証の結果に基づいて前記制約情報を更新する請求項6の制御装置。
【請求項8】
前記制約情報は、階層を持った位置情報によって記述され、
複数の制約情報が競合する場合、予め定められた階層間の優先順位に従って、パケットの転送可否を決定する請求項6または7の制御装置。
【請求項9】
前記制約情報の位置情報は、大州名、国名、地方名、地域名、行政区画名のいずれか一種以上によって記述され、
前記端末から送信されたパケットが、前記端末が接続されたノードから送信可能な位置を宛先としているか否かにより、パケットの転送可否を決定する請求項6から8いずれか一の制御装置。
【請求項10】
端末から送信されたパケットを転送する複数のノードと接続され、
前記複数のノードのそれぞれの位置情報を記憶する手段と、
前記端末が接続されるノードのうち、送信先の位置的制約を課すノードについて、当該ノードから送信可能又は不可能な送信先を定義した制約情報を記憶する手段と、を備えた制御装置が、
前記複数のノードのうち前記端末が接続されたノードからの要求に応じて、前記端末が接続されたノードの位置情報と、前記制約情報とに基づいて、パケットの転送可否を判定するステップと、
前記判定の結果、パケットの転送可と判定した場合に、前記複数のノードのうち、前記端末から送信されたパケットの転送経路上のノードを制御してパケット転送を行わせるステップと、を含む通信方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate


【公開番号】特開2012−165335(P2012−165335A)
【公開日】平成24年8月30日(2012.8.30)
【国際特許分類】
【出願番号】特願2011−26259(P2011−26259)
【出願日】平成23年2月9日(2011.2.9)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】