以下、本発明を実施するための形態について図面を参照しながら詳細に説明する。
まず、仮想ネットワークを用いたアクセスレベルの制御方法の一般的な考え方について説明する。
図1は、アクセスレベルを制御しながらモバイル端末とサーバが通信を行うネットワークシステムの構成例を示す図である。ネットワークシステムは、コントローラ101、スイッチ102、ルータ103、WLAN−AP104、DHCP(Dynamic Host Configuration Protocol)サーバ105、DNSサーバ106、サーバ107(教材サーバ107a、成績サーバ107b等)を含む。また、WLAN−AP104には、端末108(先生端末108aや生徒端末108b等)が接続される。以下の説明では、「端末108」という記載を用いたときには、その記載による説明は、先生端末108aと生徒端末108bを特に区別しない共通の説明であるとする。「サーバ107」という記載を用いたときには、その記載による説明は、教材サーバ107aや成績サーバ107bを特に区別しない共通の説明であるとする。
例えばモバイル端末である端末108(先生端末108aや生徒端末108b)は、無線LANアクセスポイント(Wireless Local Area Network Access Point:WLAN−AP)104に無線接続する。無線接続の方式としては例えば、Wi Fi(Wireless Fidelity)方式を採用できる。なお、「Wi Fi」は、ワイーファイ・アライアンスの登録商標である。WLAN−AP104は、スイッチ102のポートに接続される。なお、WLAN−AP104は1台である必要はなく、スイッチ102の複数のポートまたは異なるスイッチ102のポートに、複数台が接続されてもよい。WLAN−AP104は、端末108から無線LANのフレームを受信し、そのフレームに格納されて送られてきたIP(インターネットプロトコル)パケットをイーサネットフレーム(「イーサネット」は登録商標)に乗せ替えて、そのイーサネットフレームをスイッチ102に転送する。
スイッチ102は、ネットワークスイッチである例えばスイッチングハブ装置であり、複数の物理ポートを備える。教材サーバ107aや成績サーバ107bなどの、ユーザアプリケーション(以下「ユーザアプリ」と記載)のサービスを提供するサーバコンピュータは、それぞれスイッチ102の物理ポートに接続される。
スイッチ102の各ポートに接続された各種ネットワーク機器(以下「NW機器」と記載)によって、1つの物理ネットワークが形成される。以下の説明において、特に言及しない限り、「NW機器」と記載した場合は、端末108、サーバ107、WLAN−AP104、ルータ103、DHCPサーバ105、DNSサーバ106等の、コントローラ101以外の全ての機器を含むものとする。また、端末108がユーザアプリケーションを実行することによりアクセスを認可されたサーバ107を、「ネットワークリソース(以下「NWリソース」と記載)」または「認可リソース」と呼ぶことがある。
なお、1つの物理ネットワーク上で、スイッチ102は1つである必要はなく、複数台含まれていてもよい。
スイッチ102は、ポートごとにVLANを識別するための仮想ネットワーク識別子(以下「仮想NW−ID」と記載)を設定する。そして、スイッチ102は、同一のVLANポート間、すなわち同じ仮想NW−IDが設定されたポート間でのみ、IPパケットを中継する。
このようにして、スイッチ102の同じVLANの仮想NW−IDが設定された各ポートに接続された各NWリソースを、その仮想NW−IDを有する1つのVLANに所属させることができる。仮想NW−IDが異なればVLANも異なる。従って、このような構成のスイッチ102を用いることにより、1つの物理ネットワーク上に複数の仮想ネットワーク(VLAN)を構築することが可能となる。
ここで、1つのWLAN−AP104に無線接続する複数の端末(図1では先生端末108aや生徒端末108b)は、それぞれ別々のVLANに所属してアクセスを行う可能性がある。そこで、WLAN−AP104が接続されるスイッチ102のポートとしては、VLANによる区別をしないトランクポートを用いる。また、WLAN−AP104には、複数のSSID(Service Set Identifire:サービスセット識別子)を設定することができ、さらに、各SSIDには、各VLANが割り当てられる。SSIDは、WLAN−AP104に無線接続するための識別情報である。各端末108は、自分が通信を行うVLANに対応するSSIDでWLAN−AP104に無線接続する。WLAN−AP104は、端末108からの無線接続時のSSIDと端末108から受信した無線LANフレームに付加されている仮想NW−IDの組によって、アクセスの認証を行う。スイッチ102は、端末108からのイーサネットフレームデータ(以下単に「フレーム」と記載)に付加されている仮想NW−IDのタグを認識し、同じ仮想NW−IDが割り当てられているポートに対してのみ、このフレームを中継する。
また、スイッチ102のポートには、ルータ103が接続される。ルータ103は、IPパケット等のネットワークデータを2つ以上の異なるネットワーク間で転送する通信装置である。
ルータ103は、それが接続されるスイッチ102によって形成される物理ネットワーク上に生成されるそれぞれ異なるサブネットアドレスを有する異なる仮想ネットワークであるVLAN間でデータを転送する。
ルータ103が接続されるスイッチ102のポートとしては、VLANによる区別をしないトランクポートを用いる。また、ルータ103がスイッチ102のトランクポートに接続するときの物理インタフェースは1つでよく、その物理インタフェースには、論理的なインタフェースであるサブインタフェースを設定できる。そして、各サブインタフェースには、各VLANに対応するサブネットアドレスに属する各IPアドレスと、各VLANの仮想NW−IDを割り当てることができる。
スイッチ102は、或るVLANに所属するフレームを受信すると、そのフレームにそのVLANの仮想NW−IDのタグを付加して、トランクポートからルータ103に転送する。ルータ103は、スイッチ102から転送されてきたフレームを、そのフレームに付加されている仮想NW−IDが割り当てられているサブインタフェースで受信する。ルータ103は、受信したフレームに格納されているIPパケットの送信元IPアドレスと宛先IPアドレスを取り出し、それらを内部のルーティングテーブルに設定されている経路情報と比較することにより、出力先のサブインタフェースを決定する。ルータ103は、受信したIPパケットを含み、出力先のサブインタフェースに設定されている仮想NW−IDをタグとして含むフレームを生成する。そして、ルータ103は、そのフレームを、出力先のサブインタフェースが設定されている物理イーサネットインタフェースから、スイッチ102のトランクポートに転送する。スイッチ102は、受信したフレームに付加されている仮想NW−IDのタグを認識し、同じ仮想NW−IDが割り当てられているポートにこのフレームを中継する。このようにして、スイッチ102とルータ103を用いることにより、異なるVLAN間でフレームを中継することができる。
また、ルータ103は、それが接続されるスイッチ204を含む物理ネットワークと外部の物理ネットワーク(以下「外部NW」と記載)との間の中継してもよい。ルータ103は、1台である必要はなく、スイッチ102の2つ以上のポートまたは異なるスイッチ102のポートに、2台以上のルータ103が接続されて、2つ以上の外部NWと接続されてもよい。
さらに、スイッチ102のトランクポートには、DHCPサーバ105が接続される。DHCPサーバ105は、スイッチ102に接続される各ネットワーク機器に、IPアドレスを自動的に割り当てる。
加えて、スイッチ102のポートには、DNS(Domain Name System)サーバ106が接続される。DNSサーバ106は、端末やサーバのドメイン名からそのIPアドレスを解決する。例えば、先生端末108aや生徒端末108bが教材サーバ107aや成績サーバ107bにアクセスするときに、サーバ名をDNSサーバ106に問い合わせる。DNSサーバ106は、そのサーバ名に対応付けられているIPアドレスを検索し、そのIPアドレスを先生端末108aや生徒端末108bに返信する。先生端末108aや生徒端末108bは、返信されたIPアドレスを宛先アドレスに設定したIPパケットを生成し、そのIPパケットをフレームに格納して送信する。
コントローラ101は、スイッチ102、ルータ103、またはWLAN−AP104などに対して、VLANの設定を行うネットワークコントローラとして動作する。
図2は、アクセスレベルを制御されながらモバイル端末とサーバが通信を行う図1に例示されるネットワークシステムの利用形態を説明する図である。
いま例えば、図2(a)に示されるように、図1のWLAN−AP104を介してアクセスする端末108の状態が、「先生が使用」する先生端末108aであって、「成績評価アプリを起動」している状態の場合を考える。この場合は、先生端末108aは、成績サーバ107bにはアクセスできるが(図2の201)、教材サーバ107aにはアクセスできないようにアクセス制御したい(図2の202)。
一方、図2(b)に示されるように、「先生が使用」する先生端末108aが、「自習アプリを起動」して採点中は、成績サーバ107b、教材サーバともアクセス可能であるようにアクセス制御したい(図2の203、204)。
さらに、図2(b)に示されるように、図1のWLAN−AP104を介してアクセスする端末108の状態が、「生徒が使用」する生徒端末108bであって、「自習アプリを起動」している状態を考える。この場合は、生徒端末108bは、成績サーバ107bにはアクセス不可だが(図2の206)、教材サーバにはアクセス可能であるようにアクセス制御したい(図2の205)。
すなわち、状態の異なる端末108が、各々ネットワークに接続し、NWリソースを共有することになる。ここでいうNWリソースとは、例えばサーバ107(教材サーバ107aや成績サーバ107b等)をいう。また、端末108の「状態」とは、ユーザが使用する端末の種別(先生端末108a、生徒端末108b等の別)、ユーザが端末で利用するユーザアプリ(成績評価アプリ、自習アプリ等の別)等の組合せをいい、ユーザの利用状況により変化するものをいう。なお、「状態」は、ユーザが端末を利用する場所やユーザのアクセス権限(例えば肩書きや部署)等を含んでもよい。
以上のような利用形態を実現するために、認証VLANを拡張する構成が考えられる。図3および図4は、上述の利用形態におけるアクセス制御を認証VLANの拡張により実現する構成を説明する図である。
認証VLANを使った制御では、教材サーバ107aや成績サーバ107bに対するアクセスレベルは、それらのNWリソースがどのVLANに所属し、先生端末108aや生徒端末108bがどのVLANにアクセスできるかによって定まる。
図3は、先生端末108aのみが成績評価アプリを起動した状態を示している。先生端末108aで成績評価アプリが起動され、その状態が、WLAN−AP104、スイッチ102、およびルータ103を経由して、コントローラ101に渡される。この結果、コントローラ101が、内部に保持する制御ポリシ(アクセス制御ポリシ)と先生端末108aの状態とに基づいて、先生端末108aにVLANを割り当てる。この時の制御ポリシと仮想ネットワーク(ここではVLAN)の設定は、図3の301および302に例示される如くとなる。すなわちまず、制御ポリシ301として予め、次のようなポリシが規定されている。まず、先生端末108aから成績評価アプリが起動された場合には、NWリソースとして成績サーバ107bへのアクセスを認可し、仮想NW−IDとしては、VLAN20を割り当てる。また、生徒端末108bから自習アプリが起動された場合には、NWリソースとして教材サーバ107aへのアクセスを認可し、仮想NW−IDとしてはVLAN10を割り当てる。
ここで、「制御ポリシ」は、認証機能によって特定されたユーザが要求するリソースへのアクセスを制御する。具体的には「制御ポリシ」は、ユーザに対する異なるアクセス制限ごとに、「誰が」「何を」「どうする」を「許可」「禁止」で判定する仕組みとして定義される。より具体的には、「制御ポリシ」は、端末の種別(例えば先生端末108a、生徒端末108b等の別)、ユーザアプリ(例えば成績評価アプリ、自習アプリ等の別)などに応じて、どのサーバ107にアクセスさせるかというアクセス制限が規定される。
この結果、先生端末108aで成績評価アプリが起動された場合には、コントローラ101は、VLANテーブル302を生成し保持する。このVLANテーブル302において例えば、成績サーバ107bには、仮想NW−ID=VLAN20が予め割り当てられている。また、教材サーバ107aには、仮想NW−ID=VLAN10が割り当てられている。なお、コントローラ101とスイッチ102等は例えば仮想NW−ID=VLAN100である専用のVLANによって通信できるように、コントローラ101には、仮想NW−ID=VLAN100が予め割り当てられている。また、成績サーバ107bには、仮想NW−ID=VLAN20に対応するサブネットアドレス「192.168.10.20/24」に属するようにIPアドレスが予め決定され設定されている。一方、教材サーバ107aには、仮想NW−ID=VLAN10に対応するサブネットアドレス「192.168.10.10/24」に属するようにIPアドレスが予め決定され設定されている。さらに、先生端末108aがアクセスした時点で、VLANテーブル302において、先生端末108aに仮想NW−ID=VLAN20が割り当てられる。また、先生端末108aには、仮想NW−ID=VLAN20に対応するサブネットアドレス「192.168.10.20/24」に属するように、IPアドレスが、例えばDHCPサーバ105から割り当てられる。なお、スイッチ102においては予め、コントローラ101が接続されるポートに仮想NW−ID=VLAN100を割り当て、教材サーバ107aと成績サーバ107bが接続される各ポートに仮想NW−ID=VLAN10とVLAN20を割り当てる設定が、固定的になされている。コントローラ101は、先生端末108aに、仮想NW−ID=VLAN20とVLAN20に対応したSSIDを通知する。これにより、先生端末108aは、通知されたSSIDでWLAN−AP104に無線接続し、仮想NW−ID=VLAN20をタグとして含むフレームを送信するようになる。
スイッチ102は、WLAN−AP104を介してトランクポートでこのフレームを受信すると、そのフレームに付加されている仮想NW−ID=VLAN20を認識する。そして、スイッチ102は、受信したフレームを、仮想NW−ID=VLAN20が設定され成績サーバ107bが接続されているポートに中継する。このようにして、先生端末108aは、仮想NW−ID=VLAN20のVLANを使って、成績サーバ107bにアクセスすることができる。
次に、図4は、図3の状態からさらに、生徒端末108bが自習アプリを起動した状態を示している。生徒端末108bで自習アプリが起動され、その状態が、WLAN−AP104およびスイッチ102を経由して、コントローラ101に渡される。この結果、コントローラ101が、内部に保持する制御ポリシと生徒端末108bの状態とに基づいて、生徒端末108bにVLANを割り当てる。この時の制御ポリシとVLANの設定は、図4の401および402に例示される如くとなる。すなわち、図3の制御ポリシ301と同様に、制御ポリシ401において、生徒端末108bから自習アプリが起動された場合には、NWリソースとして教材サーバ107aへのアクセスを認可し、仮想NW−IDとしては、VLAN10を割り当てる。この結果、先生端末108aで成績評価アプリが実行されている状態でさらに、生徒端末108bで自習アプリが起動された場合には、コントローラ101は、図4のVLANテーブル402を生成し保持する。このVLANテーブル402において例えば、図3のVLANテーブル302と同様に、成績サーバ107bには、仮想NW−ID=VLAN20が予め割り当てられている。一方、教材サーバ107aには、仮想NW−ID=VLAN10が予め割り当てられている。コントローラ101には、仮想NW−ID=VLAN100が予め割り当てられている。また、前述したように、教材サーバ107aには、仮想NW−ID=VLAN10に対応するサブネットアドレス「192.168.10.10/24」に属するようにIPアドレスが予め決定され設定されている。さらに、生徒端末108bがアクセスした時点で、VLANテーブル402において、生徒端末108bに仮想NW−ID=VLAN10が割り当てられる。また、生徒端末108bには、仮想NW−ID=VLAN10に対応するサブネットアドレス「192.168.10.10/24」に属するように、IPアドレスが、例えばDHCPサーバ105から割り当てられる。コントローラ101は、生徒端末108bに、仮想NW−ID=VLAN10とVLAN10に対応したSSIDを通知する。これにより、生徒端末108bは、通知されたSSIDでWLAN−AP104に無線接続し、仮想NW−ID=VLAN10をタグとして含むフレームを送信するようになる。スイッチ102は、WLAN−AP104を介してトランクポートでこのフレームを受信すると、そのフレームに付加されている仮想NW−ID=VLAN10を認識する。そして、スイッチ102は、受信したフレームを、仮想NW−ID=VLAN10が設定され教材サーバ107aが接続されているポートに中継する。このようにして、生徒端末108bは、仮想NW−ID=VLAN10のVLANを使って、教材サーバ107aにアクセスすることができる。
ここで、図4に示されるように、生徒端末108bが自習アプリを実行している状態で、先生端末108aが成績評価アプリから例えば採点のために自習アプリにアプリを切り替えた場合を考える。この場合には、図2(b)で説明したように、先生端末108aが自習アプリを起動して採点中は、先生端末108aは成績サーバ107bと教材サーバの両方にアクセス可能であるようにアクセス制御したい(図2の203、204)。なおかつ、生徒端末108bが自習アプリを起動している間は、生徒端末108bは教材サーバ107aのみにアクセス可能であるようにアクセス制御したい(図2の205、206)。ここで、図4の402に示されるように、成績サーバ107bと先生端末108aは仮想NW−ID=VLAN20を使って通信しており、教材サーバ107aと生徒端末108bは仮想NW−ID=VLAN10を使って通信している。従って、このままでは、先生端末108aが自習アプリを起動しても、VLAN10に属する教材サーバ107aにアクセスすることができない。教材サーバ107aの仮想NW−IDをVLAN10からVLAN20に変更してしまうと、仮想NW−ID=VLAN10でアクセスしている生徒端末108bが教材サーバ107aにアクセスできなくなってしまう。
通常の認証VLANであれば、VLANを決定する「状態」は、ユーザの所属などに相当し、ユーザや端末ごとに固定的に決まっており、所属ごとにNWリソースが固定的に割り当てられている。また、スイッチ102における各NWリソースが接続される各ポートにも、予め設定されたVLANが固定的に割り当てられている。しかし、図2のような利用形態を想定すると、ユーザの状態がユーザ端末108の種別と実行されるユーザアプリに応じて変化するため、ユーザ端末に割り当てられるVLANもそれに応じて変わることになる。例えば、ユーザが使用する端末108の種別(ここでは先生端末108aや生徒端末108bの別)や、ユーザが端末を利用する場所や、ユーザが端末108で利用するユーザアプリなどによっても、状態が変化し得る。すなわち、同一のユーザであっても、使用する場所やユーザアプリが異なれば、共有できるNWリソースも異なることになり、異なるVLANにアクセスする必要が生じる。
従って、図3、図4で説明したような、認証VLANの一般的な拡張構成では、図2の利用形態を実現することができない。
図4において、教材サーバ107aが属するVLANとして、仮想NW−ID=VLAN10と仮想ネットワーク=LAN20の各VLANを重複して割り当てることができれば、この課題は解決できる。しかし、複数の制御ポリシから共有されるNWリソース(ここでは教材サーバ107a)にVLANを重複設定することは、一部の機器を除いて一般的でなく、既存の機器では改造が必要となってしまう。さらに、スイッチ102のポートには、仮想NW−IDは一般に1つしか設定できない。
上述のような、共有するNWリソースが複数のVLANにまたがる場合に、そのNWリソースが所属するVLANとは異なるVLANに属する端末108からそのNWリソースにアクセスすることを可能にする構成として、次のようなものが考えられる。この構成では、VLANごとに異なるサブネットアドレスが割り当てられ、上記アクセスを可能にするための、OSI参照モデルのレイヤ3(L3)のネットワーク層の経路情報(転送設定)が、図1のルータ103のルーティングテーブルに適切に設定される。
図5は、NWリソースが所属するVLANとは異なるVLANに属する端末108からそのNWリソースにアクセスすることを可能にする構成の説明図である。図5で、成績サーバ107bと先生端末108aには仮想NW−ID=VLAN20が割り当てられ、成績サーバ107bと先生端末108aの各IPアドレスはそれぞれ192.168.10.10と192.168.10.20であるとする。これにより、先生端末108aは、VLAN20を使って、成績サーバ107bにアクセスできる。また、教材サーバ107aと生徒端末108bには仮想NW−ID=VLAN10が割り当てられ、教材サーバ107aと生徒端末108bの各IPアドレスはそれぞれ1923.168.20.10と192.168.20.20であるとする。生徒端末108bは、VLAN10を使って、教材サーバ107aにアクセスできる。ここで、先生端末108aが、自習アプリを起動した場合に、先生端末108aが所属する仮想NW−ID=VLAN20のVLANから仮想NW−ID=VLAN10のVLANに所属する教材サーバ107aにもアクセスしたいとする。
この場合、ルータ103のルーティングテーブルに、経路情報501が設定される。この経路情報501は、次のような意味を持つ。
まず、「宛先IPアドレス」=192.168.10.10、「ネットマスク」=255.255.255.255は、ルータ103で受信された経路制御されるべきIPパケットの宛先アドレスを示している。
「ゲートウェイ」=192.168.10.1は、ルータ103で受信された上記宛先アドレスを有するIPパケットが次に転送されるべきルータのIPアドレスを示している。前述したように、ルータ103は、サブインタフェースごとにそれぞれIPアドレスが設定できる。この場合には、それぞれのサブインタフェースごとにルータが存在するという考え方になる。従って、ルータ103で受信された上記宛先アドレスを有するIPパケットが次に転送されるべきルータは、IPアドレス=192.168.10.1を有する同じルータ103であるということになる。
「インタフェース」=192.168.10.1は、受信された上記宛先アドレスを有するIPパケットが宛先ネットワークに出力されるべきルータ103のサブインタフェースのIPアドレスを示している。
「メトリック」は、ルータ103で受信された上記IPパケットが上記宛先アドレスに到達するまでに経由するルータの数を示している。「メトリック」に指定されている値が小さいほど、ルータ103から宛先アドレスまでの経路が近いことを示している。ルータ103のルーティングテーブルが、他のルータ103等から通知される経路情報によって自動的に更新される場合、ルータ103には、同じ宛先アドレスを有する複数の経路情報が登録される可能性がある。この場合、ルータ103は、受信したIPアドレスを、それに設定された宛先アドレスに対応する「宛先IPアドレス」項目および「ネットマスク」項目を有する経路情報のうち、「メトリック」項目に設定された値が最も小さい経路情報を選択する。これにより、ルータ103において、効率的な経路制御が実現される。
以上の内容を有する経路情報501によって、次のような経路制御が実現される。まず、先生端末108aから教材サーバ107aを宛先とするIPパケットを含み仮想NW−ID=VLAN20のタグが設定されたフレームは、前述したようにして、図1のWLAN−AP104からスイッチ102を経由してルータ103に転送される。ルータ103は、そのフレームを、IPアドレス=192.168.20.1が設定され仮想NW−ID=VLAN20が設定されたサブインタフェースで受信する。ルータ103は、そのフレームからIPパケットを取り出す。さらに、ルータ103は、そのIPパケットから、宛先IPアドレス=192.168.10.10と、送信元IPアドレス=192.168.20.20を取り出し、内部のルーティングテーブルの各経路情報と比較する。この結果、ルータ103は、経路情報501に従って、上記IPパケットを、IPアドレス=196.168.10.1が設定されたサブインタフェースに出力する。ルータ103は、このサブインタフェースに設定されている仮想NW−ID=VLAN10がタグとして付加されたフレームに上記IPパケットを格納する。そして、ルータ103は、そのフレームを、上記サブインタフェースが設定されている物理イーサネットインタフェースから、図1のスイッチ102のトランクポートに向けて送信する。スイッチ102は、受信したフレームに付加されている仮想NW−ID=VLAN10のタグを認識する。そして、スイッチ102は、受信したフレームを、仮想NW−ID=VLAN10が設定され教材サーバ107aが接続されているポートに中継する。このようにして、先生端末108aは、ルータ103によるルーティング機能を用いて、教材サーバ107aにアクセスすることが可能となる。
本実施形態は、予め決められた複数の制御ポリシから端末108の状態に対応する制御ポリシが特定される。そして、その特定された制御ポリシに基づいて決定される端末108からのアクセスを認可されえたNWリソース(例えばサーバ107)と端末108に対して、動的にVLAN(仮想ネットワーク)を設定するためのネットワーク設定値が管理される。ただし、VLANの設定の結果、共有するNWリソースが複数のVLANにまたがる場合には、端末108が所属するVLANから宛先のNWリソースが所属するVLANへのアクセスを可能にする経路情報が、ルータ103に可変的に割り当てられる。
図6は、本実施形態による図1のコントローラ101の構成例を示す図である。コントローラ101は、端末状態受信部601、ネットワークリソース管理部602(以下「NWリソース管理部602」と記載)、ネットワーク設定管理部603(以下「NW設定管理部603」と記載)、ネットワーク機器設定要求送信部604(以下、「NW機器設定要求送信部604」と記載)、および記憶部605を備える。記憶部605は、制御ポリシテーブル606、NWリソース管理テーブル607、NW設定管理テーブル608(NW設定管理テーブル(最新)608a、NW設定管理テーブル(前回)608b)、仮想NW−ID管理テーブル609、およびサブネット管理テーブル610を備える。
端末状態受信部601は、特には図示しない物理イーサネットインタフェースを介して、図1の先生端末108aや生徒端末108b(以下両者を総称して「端末108」とも記載する)から、当該端末108の状態を受信する。ここで、端末108は、ユーザアプリ(成績評価アプリや自習アプリ等)にログオンした状態を暗号化したチケット情報として保持し、これ以後、端末108は、このチケット情報を付加してデータを送信する。この結果、端末108は、そのチケット情報により、アクセス先に端末108自身の状態を通知することができる。端末状態受信部601は、端末108から上記チケット情報を受信することにより、当該端末108の状態を把握する。
NWリソース管理部602は、端末状態受信部601が受信した端末108の状態に従って、NW機器、例えばNWリソースおよび端末108のグルーピングを管理するグルーピング管理部として動作する。このとき、NWリソース管理部602は、記憶部605に記憶された制御ポリシテーブル606に登録されている制御ポリシに基づいて、上記グループの管理を行う。このグループの管理の結果は、記憶部605内のネットワークリソース管理テーブル607(以下「NWリソース管理テーブル607」と記載)に記憶される。ここで、「グループ」とは、同じ制御ポリシに従う相互に通信可能なNW機器、例えば認可されたNWリソースと、端末108の集合をいう。グループの例については、図7(b)のNWリソース管理テーブル607の構成例の説明において後述する。
NW設定管理部603」と記載は、上記グループごとに、VLAN(仮想ネットワーク)を割り当て、アクセス制御を行うためのネットワーク設定値を決定する。決定されたネットワーク設定値は、記憶部605内のネットワーク設定管理テーブル608(以下「NW設定管理テーブル608」と記載)に記憶される。なお、NW設定管理テーブル608として、ネットワーク設定値の最新更新時の内容を記憶するNW設定管理テーブル(最新)608aと、ネットワーク設定値の前回更新時の内容を記憶するNW設定管理テーブル(前回)608bを備える。NW設定管理部603は、NW設定管理テーブル(最新)608aをNW設定管理テーブル(前回)608bにコピーした後に、新たに更新されたネットワーク設定値の内容をNW設定管理テーブル(最新)608aに上書きする。また、NW設定管理部603は、ネットワーク設定値の決定時に、記憶部605内の仮想NW−ID管理テーブル609とサブネット管理テーブル610を参照する。これらについては、後述する。
NW機器設定要求送信部604は、NW設定管理テーブル(前回)608bとNW設定管理テーブル(最新)608aの間のネットワーク設定値の内容の差分を検出する。そして、NW機器設定要求送信部604は、その差分に基づくネットワーク設定値を、図1のスイッチ102、ルータ103、WLAN−AP104等のネットワーク機器(以下「NW機器」と記載)に対し、上記差分のネットワーク設定値の設定要求を送信する。このように、NW機器設定要求送信部604は、NW設定管理テーブル608に設定されたネットワーク設定値をNW機器に対して設定指示するネットワーク設定指示部として動作する。
以上の構成により、コントローラ101において、まず、端末状態受信部601が、例えば端末108の種別とそこで実行されるユーザアプリとで決まる端末108の状態を受信する。次に、NWリソース管理部602が、端末108の上記状態の変化に対して、制御ポリシテーブル606から制御ポリシを特定する。さらに、NWリソース管理部602は、その制御ポリシに基づいて決定される端末108からのアクセスが認可されるネットワークリソース(認可リソース)を抽出し、その認可リソースと端末108のグループをNWリソース管理テーブル607に登録する。続いて、NW設定管理部603が、NWリソース管理テーブル607に登録されたグループに対して、その都度VLANを動的に生成し、その設定のためのネットワーク設定値を生成して、NW設定管理テーブル(最新)608aに登録する。このとき、NW設定管理部603は、仮想NW−ID管理テーブル609とサブネット管理テーブル610を参照して、新たなVLANのための仮想NW−IDとサブネットアドレスを決定する。そして、NW機器設定要求送信部604が、NW設定管理部603上で新たに登録または更新されたネットワーク設定値を、各NW機器に対して送信し、設定させる。
このようにして、図6のコントローラ101の構成により、端末108の種別とそこで実行されるユーザアプリとで決まる端末108の状態変化に対して、制御ポリシに基づいて決定される認可リソースが抽出される。そして、その認可リソースと端末108のグループに対して、その都度VLAN(仮想ネットワーク)が動的に生成、設定される。これにより、端末108からサーバ107へのアクセス制限の動的で適切な変更が可能となって、セキュリティが確保される。
図7は、図6のコントローラ101内の記憶部605に記憶される制御ポリシテーブル606、NWリソース管理テーブル607、およびNW設定管理テーブル608の各データ構成例を示す図である。
まず、図7(a)は、制御ポリシテーブル606のデータ構成例を示す図である。制御ポリシテーブル606は、ネットワークを利用するクライアント(ユーザ)の「状態」とそれに対して認可するNWリソースとの組合せのエントリを登録したものである。
制御ポリシテーブル606において、「CID」項目には、コントローラ101により、そのエントリの制御ポリシを識別するための状態識別子(Condition Identifire)CIDが登録される。
「状態」項目には、各端末108がどの種別のユーザ(例えば先生、生徒の別)がどのユーザアプリ(例えば成績評価アプリ、自習アプリの別)を利用するかが登録される。
「認可」項目には、そのエントリの制御ポリシによって認可されるNWリソース(サーバ)の名前(例えばホスト名)が登録される。「認可」項目には、1つ以上のNWリソースの名前を登録できる。
図7(a)の例では、CID=1のエントリには、先生端末108aが成績評価アプリを起動したときに、成績サーバ107bへのアクセスが認可されることが規定される。また、CID=2のエントリには、先生端末108aが自習アプリを起動したときに、成績サーバ107bと教材サーバ107aへのアクセスが認可されることが規定される。さらに、CID=3のエントリには、生徒端末108bが自習アプリを起動したときに、教材サーバ107aへのアクセスが認可されることが規定される。
この制御ポリシテーブル606の内容は例えば、特には図示しない特定の管理者端末上で実行される制御ポリシ設定用のアプリケーションソフトウェアを介して、管理者によって設定される。
図7(b)は、図6のコントローラ101内の記憶部605に記憶されるNWリソース管理テーブル607のデータ構成例を示す図である。いずれかの端末108から「状態」が通知されたときに、図6のNWリソース管理部602が、制御ポリシテーブル606に登録されている制御ポリシに基づいて、その「状態」を通知した端末を含むグループを新たに生成、更新、または削除する。NWリソース管理部602は、その管理結果に基づいて、新たに生成されたグループに対応するエントリをNWリソース管理テーブル607に生成する。または、NWリソース管理部602は、上記管理結果に基づいて、更新または削除されたグループに対応するNWリソース管理テーブル607上のエントリを更新または削除する。
NWリソース管理テーブル607において、「GID」項目には、NWリソース管理部602が生成したグループを識別するための識別データであるグループ識別子GIDが登録される。グループ識別子GIDは、NWリソース管理部602によって生成され付与される。
「CID」項目には、このエントリに対応するグループを生成するために参照された制御ポリシテーブル606中の制御ポリシのエントリの「CID」項目に登録されている状態識別子CIDが登録される。この「CID」項目により、NWリソース管理テーブル607のエントリと制御ポリシテーブル606のエントリが紐付けられる。
「接続端末」項目には、このエントリに対応するグループにおいて接続可能な端末108の具体的な識別情報が登録される。識別情報としては例えば、「状態」を通知してきた端末108のMACアドレスを採用できる。
「認可リソース」項目には、このエントリに対応するグループにおいて認可されるNW機器であるNWリソース、例えばサーバ107の名前が登録される。この項目には、このエントリに対応するグループを生成するために参照された制御ポリシテーブル606中の制御ポリシのエントリの「認可」項目に登録されているNWリソースの名前が登録される。「認可リソース」項目には、制御ポリシテーブル606のエントリの「認可」項目に登録されている1つ以上のNWリソースの名前を登録できる。
図7(b)のNWリソース管理テーブル607の例では、GID=1のエントリには、制御ポリシテーブル606のCID=3の制御ポリシに従ったグループが登録されている。すなわち、状態識別子CID=3で、そのグループで接続可能な端末108は生徒端末108bで、そのグループでアクセス可能なNWリソースは教材サーバ107aであることが登録されている。このように、同じ制御ポリシに従う相互に通信可能な教材サーバ107aというNWリソースと端末108の集合が、1つのグループを形成する。
図7(c)は、図6のコントローラ101内の記憶部に記憶されるNW設定管理テーブル608のデータ構成例を示す図である。NWリソース管理部602が、グループを新たに生成、更新、または削除すると、図6のNW設定管理部603が、NWリソース管理テーブル607に設定されたグループの具体的なVLAN(仮想ネットワーク)の情報とアクセス制御のためのネットワーク設定値を生成、更新、または削除する。NW設定管理部603は、その管理結果に基づいて、新たに生成されたVLANの情報とネットワーク設定値に対応するエントリをNW設定管理テーブル(最新)608aに生成する。または、NW設定管理部603は、上記管理結果に基づいて、更新または削除されたVLANの情報またはネットワーク設定値に対応するNW設定管理テーブル(最新)608a上のエントリを更新または削除する。
なお前述したように、NW設定管理部603は、上記管理動作の前に、NW設定管理テーブル(最新)608aをNW設定管理テーブル(前回)608bにコピーする。その後に、NW設定管理部603は、NW設定管理テーブル(最新)608aに対して、エントリの新規生成、更新、または削除を実行する。以下の説明では、「NW設定管理テーブル608」という記載を用いたときには、その記載による説明は、NW設定管理テーブル(最新)608aとNW設定管理テーブル(前回)608bを特に区別しない共通の説明であるとする。
NW設定管理テーブル608において、「GID」項目には、このエントリに対応するNWリソース管理テーブル607上のグループのエントリの「GID」項目に登録されているグループ識別子GIDが登録される。この「GID」項目により、NW設定管理テーブル608のエントリと、NWリソース管理テーブル607のエントリが紐付けられる。
「仮想NW−ID」項目には、NW設定管理部603が割り当てるVLANを識別するための識別データである仮想NW−ID(仮想ネットワーク識別子)が登録される。NW設定管理部603は、図6の記憶部605に記憶される後述する仮想NW−ID管理テーブル609から、未使用の仮想NW−IDを選択して、その仮想NW−IDを「仮想NW−ID」項目に登録する。
「接続端末」項目には、このエントリに対応するNWリソース管理テーブル607上のグループのエントリの「接続端末」項目に登録されている端末108の識別子、例えばMACアドレスがコピーされる。
「サブネットアドレス」項目には、「仮想NW−ID」項目に登録されたVLANに対して、そのVLANで使用されるサブネットアドレスが登録される。NW設定管理部603は、図6の記憶部605に記憶される後述するサブネット管理テーブル610から、未使用のサブネットアドレスを選択して、そのサブネットアドレスを「サブネットアドレス」項目に登録する。
「認可リソース」項目には、このエントリに対応するNWリソース管理テーブル607上のグループのエントリの「認可リソース」項目に登録されているNWリソースの名前に対応するIPアドレスが登録される。NW設定管理部603は、「サブネットアドレス」項目に登録したサブネットアドレス中の所定のサーバ用のIPアドレスの範囲から未使用のIPアドレスを選択して、「認可リソース」項目に登録する。この範囲は、後述するDHCPサーバ105が管理する上記サブネットアドレス中のIPアドレスの範囲とは重複しないように選択される。
「SSID」項目には、NW設定管理テーブル608内の各エントリ間で一意なSSIDが決定されて登録される。このSSIDの値は、WLAN−AP104に転送されて設定されるとともに、通信時に状態を通知してきた端末108に対して、そのエントリの「仮想NW−ID」項目に設定された仮想NW−IDとともに通知される。これにより、通信を開始する端末108は、コントローラ101によって決定されたVLANの仮想NW−IDをSSIDを使って、WLAN−AP104にアクセスする。
図8は、コントローラ101の記憶部605に登録される仮想NW−ID管理テーブル609およびサブネット管理テーブル610のデータ構成例を示す図である。
まず、図8(a)は、仮想NW−ID管理テーブル609のデータ構成例を示す図である。仮想NW−ID管理テーブル609は、「仮想NW−ID」項目に登録された仮想NW−IDごとに、それが現在設定されているVLANで「使用中」か「未使用中」かを「割当」項目に登録して管理する。
コントローラ101の起動時は、仮想NW−ID管理テーブル609には、予め定められたVLAN数に対応するエントリが生成され、各エントリの「仮想NW−ID」項目には通し番号が登録される。また、全てのエントリの「割当」項目には「未使用中」を示す値が登録される。
前述したように、NW設定管理部603は、仮想NW−ID管理テーブル609から、「割当」項目に「未使用中」を示す値が設定されているエントリを選択する。そして、NW設定管理部603は、その選択したエントリの「仮想NW−ID」項目から仮想NW−IDを取得し、その仮想NW−IDを図7(c)に例示されるNW設定管理テーブル608の「仮想NW−ID」項目に登録する。NW設定管理部603は、仮想NW−ID管理テーブル609において、上記選択した仮想NW−IDが「仮想NW−ID」項目に登録されているエントリの「割当」項目に、「使用中」を示す値を登録する。
図8(b)は、コントローラ101のコントローラの記憶部に登録されるサブネット管理テーブル610のデータ構成例を示す図である。サブネット管理テーブル610は、「サブネットアドレス」項目に登録されたサブネットアドレスごとに、それが現在設定されているVLANで「使用中」か「未使用中」かを「割当」項目に登録して管理する。
コントローラ101の起動時は、サブネット管理テーブル610には、予め定められたサブネットアドレス数に対応するエントリが生成され、各エントリの「サブネットアドレス」項目には連続するサブネットアドレスが登録される。また、全てのエントリの「割当」項目には「未使用中」を示す値が登録される。
前述したように、NW設定管理部603は、サブネット管理テーブル610から、「割当」項目に「未使用中」を示す値が登録されているエントリを選択する。そして、NW設定管理部603は、そのエントリの「サブネットアドレス」項目からサブネットアドレスを取得し、そのサブネットアドレスを図7(c)に例示されるNW設定管理テーブル608の「サブネットアドレス」項目に登録する。NW設定管理部603は、サブネット管理テーブル610において、上記選択したサブネットアドレスが「サブネットアドレス」項目に登録されているエントリの「割当」項目に、「使用中」を示す値を登録する。
以上のコントローラ101の構成に基づいて、本実施形態の動作について、以下に詳細に説明する。
図9は、本実施形態の動作例(その1)を説明する図である。
生徒ユーザが生徒端末108bで自習アプリを起動すると、生徒端末108bはコントローラ101に仮接続する(図9の901)。
仮接続では、生徒端末108bが、仮接続用に予め定められたSSIDを設定して、図1のWLAN−AP104に無線接続する。このとき、生徒端末108bは、DHCPプロトコルに従って、仮接続用に予め定められた仮想NW−ID=VLAN100を付加して、WLAN−AP104およびスイッチ102を介して、図1のDHCPサーバ105に問い合わせを行う。この結果、生徒端末108bは、仮接続用のIPアドレスを取得する。
生徒端末108bは、図1のコントローラ101のIPアドレスが宛先IPアドレスとして設定され仮接続用の生徒端末108b自身のIPアドレスが送信元IPアドレスとして設定されたIPパケットを生成する。
このとき、生徒端末108bは、上記IPパケットに、端末の状態=「生徒端末」+「自習アプリ」に対応する状態情報を付加する。さらに、生徒端末108bは、上記IPパケットに、自身の生徒端末ID(例えば生徒端末108bのMACアドレスでよい。)を付加する。
そして、生徒端末108bは、このIPパケットが格納された上記無線LANフレームを生成する。このとき、生徒端末108bは、この無線LANフレームに、コントローラ101との仮接続用の仮想NW−ID=VLAN10をタグとして付加する。
その後、生徒端末108bは、この無線LANフレームを、コントローラ101宛てに送信する。
WLAN−AP104は、その内部に、仮接続用のSSID=SSID100に対して仮接続用の仮想NW−ID=VLAN100が対応付けられて登録されたSSIDテーブル(後述する図33の3301参照)を保持している。WLAN−AP104は、このSSIDテーブルを山椒アスうることにより、生徒端末108bから受信したSSIDが上記SSID100に一致し、また、無線LANフレームにSSID100とペアの仮想NW−ID=VLAN100が付加されていることを確認する。この確認がOKならば、WLAN−AP104は、端末108から受信した無線LANのフレームに格納されて送られてきたIPパケットをイーサネットフレームに乗せ替えて、そのイーサネットフレームをスイッチ102に転送する。このイーサネットフレームには、無線LANフレームに付加されていた仮想NW−ID=VLAN100がタグとして付加される。
スイッチ102は、WLAN−AP104が接続されるトランクポートから受信したイーサネットフレームに付加されている仮想NW−IDがVLAN100であることを確認する。この結果、スイッチ102は、そのイーサネットフレームを、コントローラ101が接続され仮想NW−ID=VLAN100が設定されているポートに中継する。このようにして、上記イーサネットフレームが、コントローラ101に着信する。
コントローラ101では、端末状態受信部601(図6)が、端末108を送信元として送られてきたイーサネットフレームを受信すると、そのフレーム内のIPパケットから、端末の状態=「生徒端末」+「自習アプリ」と、生徒端末ID=「生徒端末108bのMACアドレス」を抽出し、NWリソース管理部602(図6)に引き渡す。
NWリソース管理部602は、端末状態受信部601から引き渡された端末の状態および生徒端末IDと、制御ポリシテーブル606の内容とに基づいて、以下のようにしてNWリソース管理テーブル607に新規エントリを作成する(図9の902)。すなわち、NWリソース管理部602は、端末状態受信部601からの端末の状態=「生徒端末」+「自習アプリ」をキーとして、例えば図9に例示される制御ポリシテーブル606(図6参照)を検索することにより、CID=3の制御ポリシのエントリを検出する。NWリソース管理部602は、まず、GIDの値として未使用の値=1を決定する。その後、NWリソース管理部602は、上記制御ポリシのエントリ内容に基づき、「GID」項目の値=1、「CID」項目の値=3、「接続端末」項目の値=「生徒端末ID」、「認可リソース」項目の値=「教材サーバ」を決定する。そして、NWリソース管理部602は、これらの値がそれぞれ登録された新規エントリを生成し、NWリソース管理テーブル607に、図9に示されるように設定する。
続いて、コントローラ101内のNW設定管理部603(図6参照)は、図9に示されるNWリソース管理テーブル607のGID=1のエントリに基づいて、以下のようにして、NW設定管理テーブル608への新規エントリの登録を行う(図9の903)。まず、NW設定管理部603は、NW設定管理テーブル608に、図9に示されるように、「GID」項目=1のエントリを生成する。次に、NW設定管理部603は、仮想NW−ID管理テーブル609(図6、図8(a)参照)から未使用の仮想NW−IDを選択し、それを、上記NW設定管理テーブル608の新規エントリの「仮想NW−ID」項目に登録する。次に、NW設定管理部603は、上記エントリの「接続端末」項目に、図9のNWリソース管理テーブル607のGID=1のエントリの「接続端末」項目の値=「生徒端末ID」をコピーする。次に、NW設定管理部603は、サブネット管理テーブル610(図6、図8(b)参照)から未使用のサブネットアドレス=192.168.10.0/24を選択し、それを、上記NW設定管理テーブル608の新規エントリの「サブネットアドレス」項目に登録する。さらに、NW設定管理部603は、教材サーバ107aの本接続時のIPアドレスとして、「サブネットアドレス」項目に登録したサブネットアドレス中の所定のサーバ用のIPアドレスの範囲から未使用のIPアドレス=192.168.10.10を選択する。NW設定管理部603は、そのIPアドレスを、「認可リソース」項目に登録する。この「認可リソース」項目に登録されたIPアドレス=192.168.10.10は、NWリソース管理テーブル607上のGID=1のグループのエントリの「認可リソース」項目に登録されている教材サーバ107aに対応するIPアドレスとなる。加えて、NW設定管理部603は、新たなSSIDの値=SSID10を決定し、「SSID」項目に登録する。
ここまでの設定処理の後、コントローラ101内のNW機器設定要求送信部604(図6参照)は、スイッチ102に対して、ポート番号と仮想NW−IDの組からなる設定情報を送信する(図9の904)。設定情報のポート番号としては、図9のNWリソース管理テーブル607の「GID」項目=1のエントリの「認可リソース」項目=「教材サーバ」に対応する教材サーバ107aが接続されているポートのポート番号、例えば1が設定される。なお、コントローラ101は、教材サーバ107aや成績サーバ107bがスイッチ102に接続されている各ポートのポート番号は、予め認識しているものとする。設定情報の仮想NW−IDとしては、図9のNW設定管理テーブル608の「GID」項目=1のエントリの「仮想NW−ID」項目の値=VLAN10が設定される。この設定情報は、宛先IPアドレスとしてスイッチ102内の設定インタフェース(後述する図24の2403)のIPアドレスが指定されたIPパケットに格納される。そのIPパケットは、仮想NW−ID=VLAN100が付加されたイーサネットフレームに格納されて、送信される。スイッチ102は、受信したイーサネットフレームに仮想NW−ID=VLAN100が設定されていることを確認する。また、スイッチ102は、そのイーサネットフレームから取り出したIPパケットに付与されている宛先IPアドレスが、スイッチ102自身の設定インタフェースのIPアドレスと一致することを確認する。さらに、スイッチ102は、上記IPパケットに付与されている送信元IPアドレスが、コントローラ101に予め付与されているIPアドレスと一致することを確認する。これらの確認がOKならば、スイッチ102は、上記IPパケットから設定情報を取り出す。スイッチ102は、内部に保持するVLANテーブル(後述する図24、図25(b)の2407参照)に、上記設定情報に含まれるポート番号=1と仮想NW−ID=VLAN10の組のエントリを登録する。このようにして、教材サーバ107aが接続されるスイッチ102のポート番号1のポートに仮想NW−ID=VLAN10が設定され、教材サーバ107aが仮想NW−ID=VLAN10のVLANに所属することになる。
なお、教材サーバ107aや成績サーバ107bは、それらにまだVLANが割り当てられていない未使用状態のときには、それらが接続されるスイッチ102のポートには例えば、未使用を示す仮想NW−ID=VLAN1000が割り当てられているものとする(図9の911)。図9の例は、教材サーバ107aにVLAN10が割り当てられ、成績サーバ107bはVLAN1000の未使用状態であることを示している。
次に、コントローラ101内のNW機器設定要求送信部604(図6参照)は、図1のWLAN−AP104に対して、SSIDと仮想NW−IDの組からなる設定情報を送信する(図9の905)。設定情報のSSIDとしては、図9のNWリソース管理テーブル607の「GID」項目=1のエントリの「SSID」項目の値=SSID10が設定される。設定情報の仮想NW−IDとしては、上記エントリの「仮想NW−ID」項目の値=VLAN10が設定される。この設定情報は、宛先IPアドレスとして、WLAN−AP104に予め割り当てられているIPアドレスが指定されたIPパケットに格納される。そのIPパケットは、仮想NW−ID=VLAN100が付加されたイーサネットフレームに格納されて、送信される。スイッチ102は、コントローラ101から受信した上記イーサネットフレームに付加されている仮想NW−ID=VLAN100が、スイッチ102内のどのポートにも割り当てられていないことを確認すると、そのイーサネットフレームをトランクポートに中継する。この結果、上記イーサネットフレームは、スイッチ102のトランクポートに接続されるWLAN−AP104に到達する。WLAN−AP104は、スイッチ102から受信したイーサネットフレームに仮想NW−ID=VLAN100が付加されていることを確認する。また、WLAN−AP104は、そのイーサネットフレームから取り出したIPパケットに付与されている宛先IPアドレスが、WLAN−AP104自身に予め付与されているIPアドレスと一致することを確認する。さらに、WLAN−AP104は、上記IPパケットに付与されている送信元IPアドレスが、コントローラ101に予め付与されているIPアドレスであることを確認する。これらの確認がOKならば、WLAN−AP104は、上記IPパケットから設定情報を取り出す。WLAN−AP104は、内部に保持するSSIDテーブル(後述する図33の3301参照)に、上記設定情報に含まれるSSID=SSID10と仮想NW−ID=VLAN10の組のエントリを登録する。このようにして、WLAN−AP104に、コントローラ101で新たに設定された仮想NW−ID=VLAN10のVLAN用に専用に使用されるSSID=SSID10を設定することができる。
次に、コントローラ101内のNW機器設定要求送信部604(図6参照)は、端末の状態を通知してきた生徒端末108bに対して、SSIDと仮想NW−IDの組からなる設定情報を送信する(図9の906)。設定情報のSSIDとしては、図9のNWリソース管理テーブル607の「GID」項目=1のエントリの「SSID」項目の値=SSID10が設定される。設定情報の仮想NW−IDとしては、上記エントリの「仮想NW−ID」項目の値=VLAN10が設定される。この設定情報は、宛先IPアドレスとして、端末状態受信部601(図6)が生徒端末108bから受信した状態設定用のIPパケットに指定されていた送信元IPアドレスが指定されたIPパケットに格納される。そのIPパケットは、仮想NW−ID=VLAN100が付加されたイーサネットフレームに格納されて、送信される。スイッチ102は、コントローラ101から受信した上記イーサネットフレームに付加されている仮想NW−ID=VLAN100が、スイッチ102内のどのポートにも割り当てられていないことを確認すると、そのイーサネットフレームをトランクポートに中継する。この結果、上記イーサネットフレームは、スイッチ102のトランクポートに接続されるWLAN−AP104に到達する。WLAN−AP104は、スイッチ102から受信したイーサネットフレーム内のIPパケットを無線LANフレームに乗せ替えて無線送信する。この無線LANフレームには、イーサネットフレームに付加されていた仮想NW−ID=VLAN100が付加される。この無線LANフレームは、WLAN−AP104からの無線送信により、生徒端末108bに到達する。
さらに、コントローラ101内のNW機器設定要求送信部604(図6参照)は、DHCPサーバ105に対して、仮想NW−IDとサブネットアドレスの組からなる設定情報を送信する(図9の907)。設定情報の仮想NW−IDとしては、図9のNW設定管理テーブル608の「GID」項目=1のエントリの「仮想NW−ID」項目の値=VLAN10が設定される。設定情報のサブネットアドレスとしては、上記エントリの「サブネットアドレス」項目の値=192.168.10.0/24が設定される。設定情報は、宛先IPアドレスとしてDHCPサーバ105の設定インタフェース(後述する図28の2804参照)のIPアドレスが指定されたIPパケットに格納される。そのIPパケットは、仮想NW−ID=VLAN100が付加されたイーサネットフレームに格納されて、送信される。スイッチ102は、コントローラ101から受信した上記イーサネットフレームに付加されている仮想NW−ID=VLAN100が、スイッチ102内のどのポートにも割り当てられていないことを確認すると、そのイーサネットフレームをトランクポートに中継する。この結果、上記イーサネットフレームは、スイッチ102のトランクポートに接続されるDHCPサーバ105に到達する。DHCPサーバ105は、スイッチ102から受信したイーサネットフレームに仮想NW−ID=VLAN100が付加されていることを確認する。また、DHCPサーバ105は、そのイーサネットフレームから取り出したIPパケットに付与されている宛先IPアドレスが、DHCPサーバ105自身に予め付与されているIPアドレスと一致することを確認する。さらに、DHCPサーバ105は、上記IPパケットに付与されている送信元IPアドレスが、コントローラ101に予め付与されているIPアドレスであることを確認する。これらの確認がOKならば、DHCPサーバ105は、上記IPパケットから設定情報を取り出す。DHCPサーバ105は、内部に保持する設定テーブル(後述する図28、図29の2807参照)に、上記設定情報に含まれる仮想NW−ID=VLAN10とサブネットアドレス=192.168.10.0/24の組のエントリを登録する。この結果、DHCPサーバ105は、コントローラ101にて新たに設定された仮想NW−ID=VLAN10のVLANについて、そのVLANに対応するサブネットアドレスに属するIPアドレスの払い出しを行うことができるようになる。なお、このIPアドレスの範囲は、コントローラ101の図6に示されるNW設定管理部603がNW設定管理テーブル608の「認可リソース」項目に設定するサーバ107のIPアドレスの範囲とは重複しないように設定される。
以上のようにして、コントローラ101は、生徒端末108bが通知してきた端末の状態=「生徒端末」+「自習アプリ」と、制御ポリシテーブル606上のCID=3の制御ポリシとに基づいて、仮想NW−ID=VLAN10のVLANを設定する。このVLANには、生徒端末108bから教材サーバ107aに対してのみアクセス可能というアクセス制限が設定されている。
コントローラ101による以上の制御動作の後、コントローラ101内のNW機器設定要求送信部604は、教材サーバ107aに対して、新たなIPアドレスを指定する設定情報を送信する(図9の908)。この設定情報には、NW設定管理テーブル608のGID=1の「認可リソース」項目に登録されたIPアドレス=192.168.10.10が格納される。この結果、教材サーバ107aのIPアドレスが、仮想NW−ID=VLAN10に対応するサブネットアドレス192.168.10.0/24に所属するIPアドレス=192.168.10.10に設定される。
なお、教材サーバ107aへのIPアドレスの設定は、コントローラ101からではなく、教材サーバ107aがDHCPサーバ105に問い合わせて行うようにしてもよい。この場合、教材サーバ107aは、いままで設定されていたIPアドレスによる接続を切断した後、DHCPプロトコルに従って、図1のDHCPサーバ105に、IPアドレスの再取得を要求する。教材サーバ107aは、DHCPプロトコルに従って、DHCPサーバ105が払い出したIPアドレス=192.168.10.10を受信する。ここで、教材サーバ107aがDHCPサーバ105に問い合わせてIPアドレスを決定するまで、コントローラ101はNWリソース管理テーブル607内の「認可リソース」項目の値を決定することができない。この場合には、教材サーバ107aがIPアドレスを取得した後に、図1のDNSサーバ106に、教材サーバ107aの名前とIPアドレスの組を通知する。この結果、DNSサーバ106は、その組を受信し、内部の設定テーブル(後述する図30、図31の3007参照)に登録する。その後に、コントローラ101のNW設定管理部603(図6)がDNSサーバ106に、NWリソース管理テーブル607の「認可リソース」項目に登録されている教材サーバ107aのサーバ名で問合せを行う。この結果、NW設定管理部603は、DNSサーバ106から教材サーバ107aのIPアドレスを取得し、それをNW設定管理テーブル608の「認可リソース」項目に登録する。
次に、生徒端末108bは、コントローラ101からVLANの設定情報が格納された自分宛ての無線LANフレームを受信する(図9の906)。生徒端末108bは、その無線LANフレームに仮接続用の仮想NW−ID=VLAN100が付加されていることを確認する。また、生徒端末108bは、その無線LANフレームから取り出したIPパケットに付与されている宛先IPアドレスが、生徒端末108b自身の仮接続用のIPアドレスと一致することを確認する。さらに、生徒端末108bは、上記IPパケットに付与されている送信元IPアドレスが、コントローラ101に予め付与されているIPアドレスと一致することを確認する。これらの確認がOKならば、生徒端末108bは、上記IPパケットから設定情報を取り出し、その設定情報から本接続用のSSIDと本接続用の仮想NW−IDを取得する。その後、生徒端末108bは、コントローラ101との仮接続を切断する。なお、コントローラ101の側から仮接続を切断してもよい。
これ以後、生徒端末108bは、本接続の状態に移行する。まず、生徒端末108bは、コントローラ101から受信した本接続用のSSID=SSID10を用いて、図1のWLAN−AP104に無線接続する。
次に、生徒端末108bは、DHCPプロトコルに従って、コントローラ101から取得した本接続用の仮想NW−ID=VLAN10を付加して、図1のDHCPサーバ105に向けて、IPアドレスの再取得を要求する。前述した図9の905の制御により、WLAN−AP104には、本接続用の仮想NW−ID=VLAN10とSSID=SSID10の組が登録されている。WLAN−AP104は、生徒端末108bから受信したSSIDが上記SSID10に一致し、また、無線LANフレームに仮想NW−ID=VLAN10が付加されていることを確認する。この確認がOKならば、WLAN−AP104は、端末108から受信したDHCP用のブロードキャストの無線LANのフレームをブロードキャストのイーサネットフレームに変換し、そのイーサネットフレームをスイッチ102に転送する。このイーサネットフレームには、無線LANフレームに付加されていた仮想NW−ID=VLAN10がタグとして付加される。スイッチ102は、WLAN−AP104が接続されるトランクポートから受信したイーサネットフレームに付加されている仮想NW−IDがVLAN10であることを確認する。この結果、スイッチ102は、そのイーサネットフレームを、VLAN10が設定されているポートとVLANに依存しないトランクポートに中継する。この結果、そのイーサネットフレームが、トランクポートに接続されているDHCPサーバ105に到達する。DHCPサーバ105は、受信したイーサネットフレームから、仮想NW−ID=VLAN10と、要求メッセージを取り出す。ここで、前述したコントローラ101による図9の907の制御により、DHCPサーバ105は、内部の設定テーブルに、仮想NW−ID=VLAN10のVLANに対してIPアドレスの払出し範囲が設定されたエントリを記憶している。DHCPサーバ105は、受信した要求メッセージに付加されている仮想NW−ID=VLAN10に対応するエントリ中の払出し範囲から、未使用のIPアドレス=192.168.10.20を選択する。そして、DHCPサーバ105は、その選択したIPアドレスを、生徒端末108bに通知する。生徒端末108bは、DHCPプロトコルに従って、DHCPサーバ105が払い出したIPアドレスを受信する。以後、接続制御部3202は、このIPアドレス=192.168.10.20を、本接続用のIPアドレスとして使用する(図9の909)。
その後、生徒端末108bは、自身で実行が開始されているユーザアプリ3205(図32参照)である自習アプリとの連携動作を開始する。
自習アプリとの連携動作の中で、生徒端末108bは、教材サーバ107aへの送信用のデータを受け取ると、以下の接続制御動作を実行する。
まず、生徒端末108bは、教材サーバ107aの名前として例えば「kyozai.server.com」をキーとして、図1のDNSサーバ106に教材サーバ107aのIPアドレスを問い合わせる。問合せメッセージが格納された無線LANフレームには本接続用の仮想NW−ID=VLAN10が付加される。この無線LANフレームは、生徒端末108bからWLAN−AP104で受信される。WLAN−AP104は、本接続のSSIDを確認後、上記無線LANのフレームをブロードキャストのイーサネットフレームに変換し、そのイーサネットフレームをスイッチ102に転送する。このイーサネットフレームには、無線LANフレームに付加されていた仮想NW−ID=VLAN10がタグとして付加される。スイッチ102は、WLAN−AP104から受信したイーサネットフレームに付加されている仮想NW−IDがVLAN10であることを確認すると、そのイーサネットフレームを、VLAN10が設定されているポートとVLANに依存しないトランクポートに中継する。この結果、そのイーサネットフレームが、トランクポートに接続されているDNSサーバ106に到達する。DNSサーバ106は、受信したイーサネットフレームから、仮想NW−ID=VLAN10と、問合せメッセージを取り出す。DNSサーバ106は、内部に保持している設定テーブル(後述する図30、図31の3007参照)から、受信した問合せメッセージに付加されている教材サーバ107aのサーバ名=「kyozai.server.com」が登録されているエントリを検索する。DNSサーバ106は、検索されたエントリから、IPアドレス=192.168.10.10を取得し、そのIPアドレスを生徒端末108bに通知する。生徒端末108bは、このIPアドレスをキャッシュし、次回以降自習アプリから送信用のデータを受け取ったときは、教材サーバ107aの名前の指定に対してこのIPアドレスを用いる。
次に、生徒端末108bは、DNSサーバ106から取得したIPアドレスが宛先IPアドレスとして設定され、DHCPサーバ105から取得した本接続用の自身のIPアドレスが送信元IPアドレスとして設定されたIPパケットを生成する。すなわち、宛先IPアドレスは、教材サーバ107aのIPアドレス=192.168.10.10である。また、送信元IPアドレスは、生徒端末108b自身のIPアドレス=192.168.10.20である。
生徒端末108bは、このIPパケットのデータ部に、教材サーバ107aへの送信用のデータを格納する。
生徒端末108bは、上記IPパケットが格納された無線LANフレームを生成する。
生徒端末108bは、この無線LANフレームに、コントローラ101から取得している本接続用の仮想NW−ID=VLAN10をタグとして付加し、教材サーバ107a宛てに送信する。
WLAN−AP104のSSIDテーブルには、前述した図9の905の制御動作により、本接続用のSSID=SSID10と仮想NW−ID=VLAN10の組のエントリが予め記憶されている。WLAN−AP104は、生徒端末108bから受信したSSIDが上記SSID10に一致し、また、無線LANフレームに仮想NW−ID=VLAN10が付加されていることを確認する。この確認がOKならば、WLAN−AP104は、生徒端末108bから受信した無線LANのフレームに格納されて送られてきたIPパケットをイーサネットフレームに乗せ替えて、そのイーサネットフレームをスイッチ102に転送する。このイーサネットフレームには、無線LANフレームに付加されていた仮想NW−ID=VLAN10がタグとして付加される。
スイッチ102は、WLAN−AP104が接続されるトランクポートから受信したイーサネットフレームに付加されている仮想NW−IDがVLAN10であることを確認する。この結果、スイッチ102は、そのイーサネットフレームを、同じ仮想NW−ID=VLAN10が設定されているポートに中継する。前述した図9の904の制御動作により、スイッチ102のVLANテーブル(後述する図24、図25(b)の2407参照)には、ポート番号=1のポートに仮想NW−ID=VLAN10が設定されている。これにより、スイッチ102は、上記イーサネットフレームを、教材サーバ107aが接続されているポート番号=1のポートに中継する。この結果、上記イーサネットフレームが、教材サーバ107aに着信する。
教材サーバ107aは、このイーサネットフレームからIPパケットを取り出し、このIPパケットから宛先IPアドレス=192.168.10.10と送信元IPアドレス=192.168.10.20を取り出す。教材サーバ107aは、宛先IPアドレスが自身のIPアドレスに一致することを確認して、そのIPパケットからデータを取り出して処理する。
その後、教材サーバ107aは、上記IPパケットから取り出したデータを処理した結果のデータをIPパケットに格納して、上記IPパケットから取り出した生徒端末108bの送信元IPアドレス=192.168.10.20に向けて返信する。すなわち、上記IPパケットの宛先IPアドレスには、上記IPパケットから取り出した生徒端末108bの送信元IPアドレス=192.168.10.20が格納される。また、上記IPパケットの送信元IPアドレスには、教材サーバ107a自身のIPアドレス=192.168.10.10が格納される。教材サーバ107aは、このIPパケットが格納されたイーサネットフレームを生成し、スイッチ102に向けて送信する。このスイッチ102は、ポート番号=1のポートでこのイーサネットフレームを受信すると、そのイーサネットフレームに、ポート番号1に割り付けられている仮想NW−ID=VLAN10を付加する。スイッチ102は、そのイーサネットフレームを、仮想NW−ID=VLAN10が設定されている他のポートとトランクポートに中継する。この結果、上記イーサネットフレームは、トランクポートに接続されているWLAN−AP104に転送される。WLAN−AP104は、受信したイーサネットフレームを無線LANフレームに変換して、無線送信する。生徒端末108bは、WLAN−AP104から無線LANフレームを受信すると、その無線LANフレームに仮想NW−ID=VLAN10が付加されていることを確認する。確認OKならば、生徒端末108bは、受信した無線LANフレームからIPパケットを取り出し、このIPパケットから、宛先IPアドレス=192.168.10.20と送信元IPアドレス=192.168.10.10を取り出す。生徒端末108bは、宛先IPアドレスが生徒端末108b自身のIPアドレスと一致することを確認後、受信したIPパケットから教材サーバ107aが返信したデータを取り出し、自習アプリに引き渡す。
以上の制御動作により、生徒端末108bと教材サーバ107aは、仮想NW−ID=VLAN10を使って通信ができるようになるが、VLAN10は、他の成績サーバ107b(VLAN1000)からは分離されているため、セキュリティが確保される。
以上のようにして、図9の動作例では、端末108の種別とそこで実行されるユーザアプリとで決まる端末の状態に対して、制御ポリシに基づいて決定される認可リソースが抽出される。そして、その認可リソースと端末108の組に対して、その都度VLAN(仮想ネットワーク)が動的に生成、設定される。これにより、、端末108からサーバ107へのアクセス制限の動的で適切な変更が可能となって、セキュリティが確保される。
図9の動作例(その1)を基本として、さらに動作例を挙げて、NWリソース管理テーブル607とNW設定管理テーブル608の作成動作について説明する。
まず、動作例(その2)として、生徒端末108bの接続はなく、最初の状態は、「先生端末108a」が「成績評価アプリ」を起動した状態であるとする。このとき、図9の場合に準じた動作により、NWリソース管理テーブル607(図6参照)の内容は、図10(a)の例となり、NW設定管理テーブル608の内容は、図10(b)の例となる。すなわち、先生端末108aで成績評価アプリが起動した状態に応じて、図9の制御ポリシテーブル606内のCID=1のエントリが参照される。このエントリの内容より、先生端末108aは、成績サーバ107bにアクセス可能なことがわかる。この結果、図10(a)に示される、先生端末108aと成績サーバ107bとからなるGID=1のグループのエントリが、NWリソース管理テーブル607に生成される。さらに、NW設定管理テーブル608に、図10(b)に示されるGID=1のエントリが生成される。そして、上記グループに対応して、仮想NW−ID=VLAN10、サブネットアドレス=192.168.10.0/24、SSID10の各ネットワーク設定値を有するVLANが割り当てられる。また、認可リソースとして、IPアドレス=192.168.10.10を有する成績サーバ107bが登録される。なお、NW設定管理テーブル608の「転送設定」項目については、後述する。これとともに、図1のスイッチ102の成績サーバ107bが接続されるポートに仮想NW−ID=VLAN10が設定される。また、WLAN−AP104に、SSID10が登録される。さらに、先生端末108aに、仮想NW−ID=VLAN10とSSID10が通知される。この結果、先生端末108aと成績サーバ107bが、SSID10と仮想NW−ID=VLAN10を使って通信可能となり、教材サーバ107a等へのアクセスは制限されて、セキュリティが確保される。
図10から理解されるように、図9の状態では、生徒端末108bが自習アプリを起動している状態に対して、生徒端末108bと教材サーバ107aのグループに対して仮想NW−ID=VLAN10のVLANが割り当てられていた。一方、図10で、先生端末108aが成績評価アプリを起動しており生徒端末108bは起動していない状態では、先生端末108aと成績サーバ107bのグループに対して仮想NW−ID=VLAN10のVLANが割り当てられる。このように、本実施形態では、端末108の状態に応じて、VLANが動的に変更されながら割り当てられる。
次に、動作例(その3)として、図10の状態から、先生端末108aが成績評価アプリを自習アプリに切り替えて採点を行う状態に変化した場合を想定する。このとき、図9の場合に準じた動作により、NWリソース管理テーブル607(図6参照)の内容は、図11(a)の例となり、NW設定管理テーブル608の内容は、図11(b)の例となる。この場合には、NWリソース管理テーブル607およびNW設定管理テーブル608において、いままでGID=1に唯一登録されていた先生端末108aの状態が変わったので、両テーブルの既存のGID=1のエントリはいったん削除される。そして、新たに該当する端末の状態のグループがGID=1として登録される。すなわち、先生端末108aで自習アプリが起動した状態に応じて、図9の制御ポリシテーブル606内のCID=2のエントリが参照される。このエントリの内容より、先生端末108aは、教材サーバ107aと成績サーバ107bの両方にアクセス可能なことがわかる。この結果、図11(a)に示される、先生端末108aと成績サーバ107bと教材サーバ107aとからなるGID=1のグループのエントリが、NWリソース管理テーブル607に生成される。さらに、NW設定管理テーブル608に、図11(b)に示されるGID=1のエントリが生成される。そして、上記グループに対応して、仮想NW−ID=VLAN10、サブネットアドレス=192.168.10.0/24、SSID10の各ネットワーク設定値を有するVLANが割り当てられる。また、認可リソースとして、IPアドレス=192.168.10.10を有する成績サーバ107bと、IPアドレス=192.168.10.11を有する教材サーバ107aが登録される。これとともに、図1のスイッチ102の成績サーバ107bと教材サーバ107aが接続される各ポートに仮想NW−ID=VLAN10が設定される。また、WLAN−AP104に、SSID10とVLAN10の組が登録される。さらに、先生端末108aに、仮想NW−ID=VLAN10とSSID10の組が通知される。この結果、先生端末108aと成績サーバ107bと教材サーバ107aが、SSID10と仮想NW−ID=VLAN10を使って通信可能となり、アクセスの範囲が図10の場合よりも拡大される。
図11から理解されるように、同じ仮想NW−ID=VLAN10のVLANについて、図10の状態からさらに図11の状態に、VLANの割当てが動的に変更されることがわかる。
次に、動作例(その4)として、生徒端末1が自習アプリを起動後、生徒端末2が自習アプリを起動し、その後、生徒端末1が自習アプリの使用を終了する場合を想定する。図12(a)および(b)は、この場合における、NWリソース管理テーブル607とNW設定管理テーブル608の登録内容の遷移例を示した図である。なお、生徒端末1と生徒端末2は、ともに図1の生徒端末108bに対応し、利用する生徒ユーザが異なる端末である。
まず、生徒端末1のみが自習アプリを起動した端末の状態でのNWリソース管理テーブル607とNW設定管理テーブル608の登録内容はそれぞれ、図12(a)の1201aおよび図12(b)の1202aとなる。すなわち、生徒端末1で自習アプリが起動した状態に応じて、図9の制御ポリシテーブル606内のCID=3のエントリが参照される。このエントリの内容より、生徒端末1は、教材サーバ107aにアクセス可能なことがわかる。この結果、図12(a)の1201aに示される、生徒端末1と教材サーバ107aとからなるGID=1のグループのエントリが、NWリソース管理テーブル607に生成される。さらに、NW設定管理テーブル608に、図12(b)の1202aに示されるGID=1のエントリが生成される。そして、上記グループに対応して、仮想NW−ID=VLAN10、サブネットアドレス=192.168.10.0/24、SSID10の各ネットワーク設定値を有するVLANが割り当てられる。また、認可リソースとして、IPアドレス=192.168.10.10を有する教材サーバ107aが登録される。これとともに、図1のスイッチ102の教材サーバ107aが接続されるポートに仮想NW−ID=VLAN10が設定される。また、WLAN−AP104に、SSID10とVLAN=10の組が登録される。さらに、生徒端末1(図1の生徒端末108bに対応)に、仮想NW−ID=VLAN10とSSID10が通知される。この結果、生徒端末1と教材サーバ107aが、SSID10と仮想NW−ID=VLAN10を使って通信可能となり、成績サーバ107b等へのアクセスは制限されて、セキュリティが確保される。
1201aおよび1202aの状態で、生徒端末2がさらに自習アプリを起動した端末の状態を想定する。この端末の状態でのNWリソース管理テーブル607とNW設定管理テーブル608の登録内容はそれぞれ、図12(a)の1201bおよび図12(b)の1202bとなる。すなわち、生徒端末2で自習アプリが起動した状態に応じて、図9の制御ポリシテーブル606内のCID=3のエントリが参照される。このエントリの内容より、生徒端末2も、教材サーバ107aにアクセス可能なことがわかる。この結果、NWリソース管理テーブル607において、1201aに示されるGID=1のグループのエントリの「接続端末」項目に生徒端末2が追加され、図12(a)の1201bに示される内容になる。また、NW設定管理テーブル608において、図12(b)の1202aに示されるGID=1のエントリの「接続端末」項目に生徒端末2が追加され、図12(b)の1202bに示される内容になる。
1201bおよび1202bの状態で、生徒端末1が自習アプリの使用を終了した端末の状態を想定する。この端末の状態でのNWリソース管理テーブル607とNW設定管理テーブル608の登録内容はそれぞれ、図12(a)の1201cおよび図12(b)の1202cとなる。すなわち、生徒端末1が自習アプリを終了した状態に応じて、NWリソース管理テーブル607において、1201bに示されるGID=1のグループのエントリの「接続端末」項目から生徒端末1が削除され、図12(a)の1201cに示される内容になる。また、NW設定管理テーブル608において、図12(b)の1202bに示されるGID=1のエントリの「接続端末」項目から生徒端末1が削除され、図12(b)の1202cに示される内容になる。
図12から理解されるように、端末108の種別が同じで(図12の場合は「生徒端末」)、ユーザアプリも同じ(図12の場合は「自習アプリ」)の場合は、端末108から教材サーバ107aにアクセスできるという、同じアクセス制限となる。この場合において、同じ種別の端末108が増減した場合には、そのアクセス制限を有するVLANに対して、端末108を所属させたり削除させたりすることを、適切に行うことが可能となる。
図13は、本実施形態の動作例(その5)を説明する図である。図13は、図9で生徒ユーザが生徒端末108bで自習アプリを起動して教材サーバ107aと通信を行っている端末の状態で、先生ユーザが先生端末108aで自習アプリを起動した端末の状態の例である。
まず、仮想NW−ID=VLAN10に関するNWリソース管理テーブル607、NW設定管理テーブル608、スイッチ102、WLAN−AP104、生徒端末108b、DHCPサーバ105、および教材サーバ107aの各設定は、図9と同じである。
続いて、先生端末108aで自習アプリが起動すると、その端末の状態=「先生端末108a」+「自習アプリ」が先生端末108aからコントローラ101に通知される(図13の1301)。これは、図9の901で説明した制御動作と同様で、生徒端末108bが先生端末108aに変わっただけである。
この端末の状態の通知に応じて、図13の制御ポリシテーブル606内のCID=2のエントリが参照される。このエントリの内容より、先生端末108aは、教材サーバ107aと成績サーバ107bの両方にアクセス可能なことがわかる。この結果、図13に示される、先生端末108aと教材サーバ107aと成績サーバ107bとからなるGID=2のグループのエントリが、NWリソース管理テーブル607に生成される(図13の1302)。これは、図9の902で説明した制御動作と同様である。
さらに、NW設定管理テーブル608に、図13に示されるGID=2のエントリが生成される。そして、上記グループに対応して、仮想NW−ID=VLAN20、サブネットアドレス=192.168.20.0/24、SSID20の各ネットワーク設定値を有するVLANが割り当てられる。また、認可リソースとして、IPアドレス=192.168.20.10を有する成績サーバ107bが登録される(図13の1303)。これは、図9の903で説明した制御動作と同様である。
次に、先生端末108aからは、成績サーバ107bだけではなく、教材サーバ107aへもアクセスできる必要がある。この教材サーバ107aは、仮想NW−ID=VLAN20のVLANと仮想NW−ID=VLAN10のVLANとで共有される共有リソースである。しかし、教材サーバ107aは既に仮想NW−ID=VLAN10に所属しており、これに重複して、教材サーバ107aを仮想NW−ID=VLAN20に所属させることはできない。
そこで、本実施形態では、最初に教材サーバ107aが登録されたGID=1のグループの後から教材サーバ107aへのアクセスが認可されるGID=2のグループにおいては、NW設定管理テーブル608の「認可リソース」項目に教材サーバ107aは登録しない(図13の1303−1)。
そして、図1のコントローラ101内のNW設定管理部603は、NW設定管理テーブル608のGID=2とGID=1の各エントリの「転送設定」項目を設定する(図13の1303−2)。これは、仮想NW−ID=VLAN20に所属する先生端末108aから仮想NW−ID=VLAN10に所属する教材サーバ107aにアクセスできるようにするためである。具体的には、NW設定管理部603は、NW設定管理テーブル608において、以下の設定を行う。まず、NW設定管理部603は、共有リソースの教材サーバ107aが所属しない方のGID=2のエントリの「転送設定」項目に、サブネットアドレス=192.168.20.0/24からIPアドレス=192.168.10.10への転送情報を設定する。ここで、サブネットアドレス=192.168.20.0/24は、転送情報の設定が行われるGID=2のエントリ自身の「サブネットアドレス」項目に登録されているサブネットアドレスである。また、IPアドレス=192.168.10.10は、共有リソースである教材サーバ107aが所属する方のGID=1のエントリの「認可リソース」項目に登録されている、共有リソースである教材サーバ107aのIPアドレスである。一方、NW設定管理部603は、共有リソースの教材サーバ107aが所属する方のGID=1のエントリの「転送設定」項目に、IPアドレス=192.168.10.10からサブネットアドレス=192.168.20.0/24への転送情報を設定する。ここで、IPアドレス=192.168.10.10は、転送情報の設定が行われるGID=1のエントリ自身の「認可リソース」項目に登録されている、共有リソースである教材サーバ107aのIPアドレスである。また、サブネットアドレス=192.168.20.0/24は、共有リソースである教材サーバ107aが所属しない方のGID=2のエントリの「サブネットアドレス」項目に登録されているサブネットアドレスである。
ここで、共有リソースである教材サーバ107aが所属しない方の仮想NW−ID=VLAN20のVLANの転送情報にそのVLANのサブネットアドレスが登録されるのは、VLAN20側には複数の先生端末108aが所属する可能性があるためである。すなわち、仮想NW−ID=VLAN20のVLANのサブネットアドレス内のIPアドレスを有するどの先生端末108aからも、仮想NW−ID=VLAN10のVLANに所属する教材サーバ107aにアクセスできることになる。
ここまでの設定処理の後、コントローラ101内のNW機器設定要求送信部604(図6参照)は、ルータ103に対して、VLANに関する設定情報と、VLANに関する転送情報を送信する(図13の1304)。
まず、VLANに関する設定情報には、図13の1303−2で「転送設定」項目への転送設定が行われたGID=2とGID=1の各エントリの「仮想NW−ID」項目に登録されている仮想NW−ID=VLAN20とVLAN10が含まれる。また、この設定情報には、各仮想NW−IDに対応して、GID=2とGID=1の各エントリの「サブネットアドレス」項目に登録されているサブネットアドレス=192.168.20.0/24と192.168.10.0/24が含まれる。この設定情報は、宛先IPアドレスとしてルータ103の設定インタフェース(後述する図26の2603参照)のIPアドレスが指定されたIPパケットに格納される。そのIPアドレスは、仮想NW−ID=VLAN100が付加されたイーサネットフレームに格納されて、送信される。スイッチ102は、コントローラ101から受信した上記イーサネットフレームに付加されている仮想NW−ID=VLAN100が、スイッチ102内のどのポートにも割り当てられていないことを確認すると、そのイーサネットフレームをトランクポートに中継する。この結果、上記イーサネットフレームは、スイッチ102のトランクポートに接続されるルータ103に到達する。ルータ103は、スイッチ102から受信したイーサネットフレームに仮想NW−ID=VLAN100が付加されていることを確認する。また、ルータ103は、そのイーサネットフレームから取り出したIPパケットに付与されている宛先IPアドレスが、ルータ103の設定インタフェース2603自身に予め付与されているIPアドレスと一致することを確認する。さらに、ルータ103は、上記IPパケットに付与されている送信元IPアドレスが、コントローラ101に予め付与されているIPアドレスであることを確認する。これらの確認がOKならば、ルータ103は、上記IPパケットから設定情報を取り出す。さらに、ルータ103は、その設定情報から2つの仮想NW−ID=VLAN20とVLAN10、およびそれらに対応するサブネットアドレス=192.168.20.0/24と192.168.10.0/24を取り出す。
ここで、図26で後述するが、ルータ103は、サブインタフェース(後述する図26の2601参照)と呼ばれる論理的なインタフェースを持つことができる。ルータ103の特には図示しない物理インタフェース(イーサネットインタフェース)は、図1のスイッチ102の例えばトランクポートに接続されている。複数のサブインタフェースは、この物理インタフェース上に設定される。そして、各サブインタフェースは、ルータ103で転送制御されるVLANの数に応じて設定される。VLANが増えれば、このサブインタフェースの数は設定可能なVLANの数だけ増加させることが可能である。
そこで、ルータ103は、上記設定情報から取り出した各仮想NW−ID=VLAN10とVLAN20に対応する各サブインタフェースが、生成済みであるか否かを確認する。
そして、これらのサブインタフェースが生成されていなければ、ルータ103は、上記設定情報から取得した仮想NW−ID=VLAN10とVLAN20がそれぞれ設定された各サブインタフェースを生成する。また、ルータ103は、上記設定情報から取得したサブネットアドレス=192.168.10.0/24に基づいて、第1のサブインタフェースのIPアドレスを、そのサブネットアドレス内の例えば先頭のIPアドレスである192.168.10.1に設定する。同様に、ルータ103は、上記設定情報から取得したサブネットアドレス=192.168.20.0/24に基づいて、第2のサブインタフェースのIPアドレスを、そのサブネットアドレス内の例えば先頭のIPアドレスである192.168.20.1に設定する。
一方、VLANに関する転送情報は、図13の1303−2で共有リソースである教材サーバ107aが所属しない方のGID=2のエントリで、「転送設定」項目に登録された転送情報と、「仮想NW−ID」項目に登録された仮想NW−ID=VLAN20を含む。また、転送情報は、図13の1303−2で共有リソースである教材サーバ107aが所属する方のGID=1のエントリで、「転送設定」項目に登録された転送情報と、「仮想NW−ID」項目に登録された仮想NW−ID=VLAN10を含む。この転送情報は、例えばRIP(Routing Information Protocol)などのダイナミックルーティングプロトコルを用いることにより、コントローラ101からルータ103に転送できる。このプロトコルは既存の技術であるため、その説明は省略する。ルータ103は、上記転送情報を受信した後、その転送情報に基づいて経路情報を生成し、内部に保持するルーティングテーブル(後述する図26、図27(a)の2606参照)に登録する。また、設定制御部2604は、上記転送情報に基づいてフィルタリング情報を生成し、内部に保持するフィルタリングテーブル(後述する図26、図27(b)の2607参照)に生成する。
前述したように、図13のNW設定管理テーブル608のGID=2のエントリの「転送設定」項目には、サブネットアドレス=192.168.20.0/24からIPアドレス=192.168.10.10への転送情報が設定されている。ルータ103は、この転送情報に基づいて、次のような第1の経路情報を生成する。この第1の経路情報は、宛先IPアドレスが192.168.10.0、ネットマスクが255.255.255.0のサブネットアドレスに属するIPパケットが、IPアドレスが192.168.10.1である第1のサブインタフェース(仮想NW−ID=VLAN10)に転送される旨を定義している。また、ルータ103は、上記転送情報に基づいて、次のような第1のフィルタリング情報を生成する。この第1のフィルタリング情報は、全てのプロトコル、全ての送信元ポート番号、および全ての宛先ポート番号が設定されたIPパケットを、第1のサブインタフェースに転送するフィルタリングを定義している。かつ、第1のフィルタリング情報は、サブネットアドレス=192.168.20.0内の任意の送信元IPアドレスのNW機器からのIPパケットを、第1のサブインタフェースに転送するフィルタリングを定義している。かつ、第1のフィルタリング情報は、宛先IPアドレスが教材サーバ107aのIPアドレス=192.168.10.10であるIPパケットのみを、第1のサブインタフェースに転送するフィルタリングを定義している。
同様に前述したように、図13のNW設定管理テーブル608のGID=1のエントリの「転送設定」項目には、IPアドレス=192.168.10.10からサブネットアドレス=192.168.20.0/24への転送情報が設定されている。ルータ103は、この転送情報に基づいて、次のような第2の経路情報を生成する。この第2の経路情報は、宛先IPアドレスが192.168.20.0、ネットマスクが255.255.255.0のサブネットアドレスに属するIPパケットが、IPアドレスが192.168.20.1の第2のサブインタフェース(仮想NW−ID=VLAN20)に転送される旨を定義している。また、ルータ103は、上記転送情報に基づいて、次のような第2のフィルタリング情報を生成する。この第2のフィルタリング情報は、全てのプロトコル、全ての送信元ポート番号、および全ての宛先ポート番号が設定されたIPパケットを、第2のサブインタフェースに転送するフィルタリングを定義している。かつ、第2のフィルタリング情報は、送信元IPアドレスが教材サーバ107aのIPアドレス=192.168.10.10からのIPパケットのみを、第2のサブインタフェースに転送するフィルタリングを定義している。かつ、第2のフィルタリング情報は、、サブネットアドレス=192.168.20.0内の任意の宛先IPアドレスのNW機器宛てのIPパケットを、第2のサブインタフェースに転送するフィルタリングを定義している。
次に、コントローラ101内のNW機器設定要求送信部604(図6参照)は、スイッチ102に対して、ポート番号と仮想NW−IDの組からなる設定情報を送信する(図13の1305)。設定情報のポート番号としては、図13のNWリソース管理テーブル607の「GID」項目=2のエントリの「認可リソース」項目=「成績サーバ」に対応する成績サーバ107bが接続されているポートのポート番号、例えば2が設定される。なお、コントローラ101は、教材サーバ107aや成績サーバ107bがスイッチ102に接続されている各ポートのポート番号は、予め認識しているものとする。設定情報の仮想NW−IDとしては、図13のNW設定管理テーブル608の「GID」項目=2のエントリの「仮想NW−ID」項目の値=VLAN20が設定される。その後の制御動作は、前述した図9の904と同様である。この結果、スイッチ102は、内部に保持するVLANテーブル(後述する図24、図25(b)の2407参照)に、上記設定情報に含まれるポート番号=2と仮想NW−ID=VLAN20の組のエントリを登録する。このようにして、成績サーバ107bが接続されるスイッチ102のポート番号2のポートに仮想NW−ID=VLAN20が設定され、成績サーバ107bが仮想NW−ID=VLAN20のVLANに所属することになる。
次に、コントローラ101内のNW機器設定要求送信部604(図6参照)は、図1のWLAN−AP104に対して、SSIDと仮想NW−IDの組からなる設定情報を送信する(図13の1306)。設定情報のSSIDとしては、図13のNWリソース管理テーブル607の「GID」項目=2のエントリの「SSID」項目の値=SSID20が設定される。設定情報の仮想NW−IDとしては、上記エントリの「仮想NW−ID」項目の値=VLAN20が設定される。その制御動作は、前述した図9の905と同様である。この結果、WLAN−AP104は、内部に保持するSSIDテーブル(後述する図33の3301参照)に、上記設定情報に含まれるSSID=SSID20と仮想NW−ID=VLAN20の組のエントリを登録する。このようにして、WLAN−AP104に、コントローラ101で新たに設定された仮想NW−ID=VLAN20のVLAN用に専用に使用されるSSID=SSID20を設定することができる。
次に、コントローラ101内のNW機器設定要求送信部604(図6参照)は、状態を通知してきた先生端末108aに対して、SSIDと仮想NW−IDの組からなる設定情報を送信する(図13の1307)。設定情報のSSIDとしては、図13のNWリソース管理テーブル607の「GID」項目=2のエントリの「SSID」項目の値=SSID20が設定される。設定情報の仮想NW−IDとしては、上記エントリの「仮想NW−ID」項目の値=VLAN20が設定される。その後の制御動作は、前述した図9の906と同様である。この結果、上記設定情報が格納された無線LANフレームは、WLAN−AP104からの無線送信により、先生端末108aに到達する。
さらに、コントローラ101内のNW機器設定要求送信部604(図6参照)は、DHCPサーバ105に対して、仮想NW−IDとサブネットアドレスの組からなる設定情報を送信する(図13の1308)。設定情報の仮想NW−IDとしては、図13のNW設定管理テーブル608の「GID」項目=2のエントリの「仮想NW−ID」項目の値=VLAN20が設定される。設定情報のサブネットアドレスとしては、上記エントリの「サブネットアドレス」項目の値=192.168.20.0/24が設定される。その後の制御動作は、前述した図9の907と同様である。この結果、DHCPサーバ105は、内部に保持する設定テーブル(後述する図28、図29の2807参照)に、上記設定情報に含まれる仮想NW−ID=VLAN20とサブネットアドレス=192.168.20.0/24の組のエントリを登録する。この結果、DHCPサーバ105は、コントローラ101にて新たに設定された仮想NW−ID=VLAN20のVLANについて、そのVLANに対応するサブネットアドレスに属するIPアドレスの払い出しを行うことができるようになる。なお、このIPアドレスの範囲は、コントローラ101の図6に示されるNW設定管理部603がNW設定管理テーブル608の「認可リソース」項目に設定するサーバ107のIPアドレスの範囲とは重複しないように設定される。
以上のようにして、コントローラ101は、先生端末108aが通知してきた端末の状態=「先生端末」+「自習アプリ」と、制御ポリシテーブル606上のCID=2の制御ポリシとに基づいて、仮想NW−ID=VLAN20のVLANを設定する。このVLANには、先生端末108aから教材サーバ107aおよび成績サーバ107bの両方にアクセス可能というアクセス制限が設定されている。
コントローラ101による以上の制御動作の後、コントローラ101内のNW機器設定要求送信部604は、成績サーバ107bに対して、新たなIPアドレスを指定する設定情報を送信する(図13の1309)。この設定情報には、NW設定管理テーブル608のGID=2のエントリの「認可リソース」項目に登録されたIPアドレス=192.168.20.10が格納される。この結果、成績サーバ107bのIPアドレスが、仮想NW−ID=VLAN20に対応するサブネットアドレス192.168.20.0/24に所属するIPアドレス=192.168.20.10に設定される。
なお、図9の教材サーバ107aへのIPアドレスの設定の場合と同様に、成績サーバ107bへのIPアドレスの設定は、コントローラ101からではなく、成績サーバ107bがDHCPサーバ105に問い合わせて行うようにしてもよい。
次に、先生端末108aは、コントローラ101からVLANの設定情報が格納された自分宛ての無線LANフレームを受信する(図13の1307)。その後の制御動作は、前述した図9の906と同様である。先生端末108aは、上記設定情報から本接続用のSSID=SSID20と本接続用の仮想NW−ID=VLAN20を取得する。その後、先生端末108aは、コントローラ101との仮接続を切断する。なお、コントローラ101の側から仮接続を切断してもよい。
これ以後、先生端末108aは、本接続の状態に移行する。まず、先生端末108aは、コントローラ101から受信した本接続用のSSID=SSID20を用いて、図1のWLAN−AP104に無線接続する。
次に、先生端末108aは、DHCPプロトコルに従って、コントローラ101から取得した本接続用の仮想NW−ID=VLAN20を付加して、図1のDHCPサーバ105に向けて、IPアドレスの再取得を要求する(図13の1310)。その後の制御動作は、前述した図9の909と同様である。すなわち、前述したコントローラ101による図13の1308の制御により、DHCPサーバ105は、内部の設定テーブルに、仮想NW−ID=VLAN20のVLANに対してIPアドレスの払出し範囲が設定されたエントリを記憶している。DHCPサーバ105は、先生端末108aからの要求メッセージに付加されている仮想NW−ID=VLAN20に対応するエントリ中の払出し範囲から未使用のIPアドレス=192.168.20.20を選択する。そして、DHCPサーバ105は、そのIPアドレスを先生端末108aに通知する。先生端末108aは、DHCPプロトコルに従って、DHCPサーバ105が払い出したIPアドレスを受信する。以後、先生端末108aは、このIPアドレス=192.168.20.20を、本接続用のIPアドレスとして使用する。
その後、先生端末108aの接続制御部3202は、先生端末108a自身で実行が開始されているユーザアプリ3205(図32参照)である自習アプリとの連携動作を開始する。
自習アプリとの連携動作の中で、先生端末108aは、成績サーバ107bへの送信用のデータを受け取ると、図9の生徒端末108bの場合と同様にし、以下の接続制御動作を実行する。
まず、先生端末108aは、成績サーバ107bの名前として例えば「seiseki.server.com」をキーとして、図1のDNSサーバ106に成績サーバ107bのIPアドレスを問い合わせる。問合せメッセージが格納された無線LANフレームには本接続用の仮想NW−ID=VLAN20が付加される。図9と同様に、DNSサーバ106が、内部に保持している設定テーブル(後述する図30、図31の3007参照)から、受信した問合せメッセージに付加されている成績サーバ107bのサーバ名=「seiseki.server.com」が登録されているエントリを検索する。DNSサーバ106は、検索されたエントリから、IPアドレス=192.168.20.10を取得し、そのIPアドレスを先生端末108aに通知する。先生端末108aは、このIPアドレスをキャッシュし、次回以降自習アプリから成績サーバ107bへの送信用のデータを受け取ったときは、成績サーバ107bの名前の指定に対してこのIPアドレスを用いる。
次に、先生端末108aは、DNSサーバ106から取得したIPアドレスが宛先IPアドレスとして設定され、DHCPサーバ105から取得した本接続用の自身のIPアドレスが送信元IPアドレスとして設定されたIPパケットを生成する。すなわち、宛先IPアドレスは、成績サーバ107bのIPアドレス=192.168.20.10である。また、送信元IPアドレスは、先生端末108a自身のIPアドレス=192.168.20.20である。
先生端末108aは、このIPパケットのデータ部に、成績サーバ107bへの送信用のデータを格納する。
先生端末108aは、上記IPパケットが格納された無線LANフレームを生成する。
先生端末108aは、この無線LANフレームに、コントローラ101から取得している本接続用の仮想NW−ID=VLAN20をタグとして付加し、成績サーバ107b宛てに送信する。
WLAN−AP104のSSIDテーブルには、前述した図13の1306の制御動作により、本接続用のSSID=SSID20と仮想NW−ID=VLAN20の組のエントリが予め記憶されている。WLAN−AP104は、先生端末108aから受信したSSIDが上記SSID20に一致し、また、無線LANフレームに仮想NW−ID=VLAN20が付加されていることを確認する。この確認がOKならば、WLAN−AP104は、先生端末108aから受信した無線LANのフレームに格納されて送られてきたIPパケットをイーサネットフレームに乗せ替えて、そのイーサネットフレームをスイッチ102に転送する。このイーサネットフレームには、無線LANフレームに付加されていた仮想NW−ID=VLAN20がタグとして付加される。
スイッチ102は、WLAN−AP104が接続されるトランクポートから受信したイーサネットフレームに付加されている仮想NW−IDがVLAN20であることを確認する。この結果、スイッチ102は、そのイーサネットフレームを、同じ仮想NW−ID=VLAN20が設定されているポートに中継する。前述した図13の1305の制御動作により、スイッチ102のVLANテーブル(後述する図24、図25(b)の2407参照)には、ポート番号=2のポートに仮想NW−ID=VLAN20が設定されている。これにより、スイッチ102は、上記イーサネットフレームを、成績サーバ107bが接続されているポート番号=2のポートに中継する。この結果、上記イーサネットフレームが、成績サーバ107bに着信する。
成績サーバ107bは、このイーサネットフレームからIPパケットを取り出し、このIPパケットから宛先IPアドレス=192.168.20.10と送信元IPアドレス=192.168.20.20を取り出す。成績サーバ107bは、宛先IPアドレスが自身のIPアドレスに一致することを確認して、そのIPパケットからデータを取り出して処理する。
その後、成績サーバ107bは、上記IPパケットから取り出したデータを処理した結果のデータをIPパケットに格納して、上記IPパケットから取り出した先生端末108aの送信元IPアドレス=192.168.20.20に向けて返信する。すなわち、上記IPパケットの宛先IPアドレスには、上記IPパケットから取り出した先生端末108aの送信元IPアドレス=192.168.20.20が格納される。また、上記IPパケットの送信元IPアドレスには、成績サーバ107b自身のIPアドレス=192.168.20.10が格納される。成績サーバ107bは、このIPパケットが格納されたイーサネットフレームを生成し、スイッチ102に向けて送信する。スイッチ102は、ポート番号=2のポートでこのイーサネットフレームを受信すると、そのイーサネットフレームに、ポート番号2に割り付けられている仮想NW−ID=VLAN20を付加する。スイッチ102は、そのイーサネットフレームを、仮想NW−ID=VLAN20が設定されている他のポートとトランクポートに中継する。この結果、上記イーサネットフレームは、トランクポートに接続されているWLAN−AP104に転送される。WLAN−AP104は、受信したイーサネットフレームを無線LANフレームに変換して、無線送信する。先生端末108aは、WLAN−AP104から無線LANフレームを受信すると、その無線LANフレームに仮想NW−ID=VLAN20が付加されていることを確認する。確認OKならば、先生端末108aは、受信した無線LANフレームからIPパケットを取り出し、このIPパケットから、宛先IPアドレス=192.168.20.20と送信元IPアドレス=192.168.20.10を取り出す。先生端末108aは、宛先IPアドレスが先生端末108a自身のIPアドレスと一致することを確認後、受信したIPパケットから、成績サーバ107bが返信したデータを取り出し、自習アプリに引き渡す。
次に、先生端末108aは、自習アプリとの連携動作の中で、教材サーバ107aへの送信用のデータを受け取ると、以下の接続制御動作を実行する。
まず、先生端末108aは、教材サーバ107aの名前として例えば「kyozai.server.com」をキーとして、図1のDNSサーバ106に教材サーバ107aのIPアドレスを問い合わせる。問合せメッセージが格納された無線LANフレームには本接続用の仮想NW−ID=VLAN20が付加される。図9と同様に、DNSサーバ106が、内部に保持している設定テーブル(後述する図30、図31の3007参照)から、受信した問合せメッセージに付加されている成績サーバ107bのサーバ名=「kyozai.server.com」が登録されているエントリを検索する。DNSサーバ106は、検索されたエントリから、IPアドレス=192.168.10.10を取得し、そのIPアドレスを先生端末108aに通知する。先生端末108aは、このIPアドレスをキャッシュし、次回以降自習アプリから教材サーバ107aへの送信用のデータを受け取ったときは、教材サーバ107aの名前の指定に対してこのIPアドレスを用いる。
次に、先生端末108aは、DNSサーバ106から取得したIPアドレスが宛先IPアドレスとして設定され、DHCPサーバ105から取得した本接続用の自身のIPアドレスが送信元IPアドレスとして設定されたIPパケットを生成する。すなわち、宛先IPアドレスは、教材サーバ107aのIPアドレス=192.168.10.10である。また、送信元IPアドレスは、先生端末108a自身のIPアドレス=192.168.20.20である。
先生端末108aは、このIPパケットのデータ部に、教材サーバ107aへの送信用のデータを格納する。
先生端末108aは、上記IPパケットが格納された無線LANフレームを生成する。
先生端末108aは、この無線LANフレームに、コントローラ101から取得している本接続用の仮想NW−ID=VLAN20をタグとして付加し、教材サーバ107a宛てに送信する。
WLAN−AP104での制御動作は、成績サーバ107bへのアクセスの場合と同様である。WLAN−AP104は、先生端末108aから受信した無線LANのフレームに格納されて送られてきたIPパケットをイーサネットフレームに乗せ替えて、そのイーサネットフレームをスイッチ102に転送する。このイーサネットフレームには、無線LANフレームに付加されていた仮想NW−ID=VLAN20がタグとして付加される。
スイッチ102は、WLAN−AP104が接続されるトランクポートから受信したイーサネットフレームに付加されている仮想NW−IDがVLAN20であることを確認する。この結果、スイッチ102は、そのイーサネットフレームを、同じ仮想NW−ID=VLAN20が設定されているポートに中継する。しかしながら、教材サーバ107aは、仮想NW−ID=VLAN20が設定されているポートには接続されていないため、仮想NW−ID=VLAN20が設定されているポートから教材サーバ107aへは上記イーサネットフレームは着信できない。
ここで、スイッチ102は、上記イーサネットフレームを、同じ仮想NW−ID=VLAN20が設定されているポートだけでなく、トランクポートにも中継する。この結果、上記イーサネットフレームは、スイッチ102のトランクポートに接続されているルータ103に着信する。ルータ103では、第2のサブインタフェースが、上記イーサネットフレームに付加されている仮想NW−ID=VLAN20が、自身に設定されている仮想NW−IDと一致することを確認する。この結果、第2のサブインタフェースが、上記イーサネットフレームを受信する。
第2のサブインタフェースは、受信したイーサネットフレームからIPパケットを取り出し、そのIPパケットを内部の転送制御部(後述する図26の2602参照)に引き渡す。
転送制御部は、このIPパケットから、宛先IPアドレス=192.168.10.10、送信元IPアドレス=192.168.20.20を取り出す。この結果、転送制御部は、内部に保持するルーティングテーブル(後述する図26、図27(a)の2606参照)の第1の経路情報を適用した経路制御を実施する。同時に、転送制御部は、内部に保持するフィルタリングテーブル(後述する図26、図27(b)の2607参照)の第1のフィルタリング情報を適用したフィルタリング制御を実施する。
この結果、転送制御部は、第2のサブインタフェースから受信した上記IPパケットを、第1のサブインタフェースに転送する。第1のサブインタフェースは、自身の仮想NW−ID=VLAN10を付加したイーサネットフレームを生成し、これに上記IPパケットを格納し、そのイーサネットフレームをスイッチ102に向けて送信する。
スイッチ102は、ルータ103から受信したイーサネットフレームに付加されている仮想NW−IDがVLAN10であることを確認すると、そのイーサネットフレームを、同じ仮想NW−ID=VLAN10が設定されているポートに中継する。前述した図9の904の制御動作により、スイッチ102のVLANテーブル(図24、図25(b)の2407参照)には、ポート番号=1のポートに仮想NW−ID=VLAN10が設定されている。これにより、スイッチ102は、上記イーサネットフレームを、教材サーバ107aが接続されているポート番号=1のポートに中継する。この結果、上記イーサネットフレームが、教材サーバ107aに着信する。
教材サーバ107aは、このイーサネットフレームからIPパケットを取り出し、このIPパケットから宛先IPアドレス=192.168.10.10と送信元IPアドレス=192.168.20.20を取り出す。教材サーバ107aは、宛先IPアドレスが自身のIPアドレスに一致することを確認して、そのIPパケットからデータを取り出して処理する。
その後、教材サーバ107aは、上記IPパケットから取り出したデータを処理した結果のデータをIPパケットに格納して、上記IPパケットから取り出した先生端末108aの送信元IPアドレス=192.168.20.20に向けて返信する。すなわち、上記IPパケットの宛先IPアドレスには、上記IPパケットから取り出した先生端末108aの送信元IPアドレス=192.168.20.20が格納される。また、上記IPパケットの送信元IPアドレスには、教材サーバ107a自身のIPアドレス=192.168.10.10が格納される。教材サーバ107aは、このIPパケットが格納されたイーサネットフレームを生成し、スイッチ102に向けて送信する。スイッチ102は、ポート番号=1のポートでこのイーサネットフレームを受信すると、そのイーサネットフレームに、ポート番号1に割り付けられている仮想NW−ID=VLAN10を付加する。スイッチ102は、そのイーサネットフレームを、仮想NW−ID=VLAN10が設定されている他のポートとトランクポートに中継する。この結果、上記イーサネットフレームは、トランクポートに接続されているルータ103に着信する。ルータ103では、第1のサブインタフェースが、上記イーサネットフレームに付加されている仮想NW−ID=VLAN10が自身に設定されている仮想NW−IDと一致することを確認する。この結果、第1のサブインタフェースが、上記イーサネットフレームを受信する。
第1のサブインタフェースは、受信したイーサネットフレームからIPパケットを取り出し、そのIPパケットを転送制御部に引き渡す。
転送制御部は、このIPパケットから、宛先IPアドレス=192.168.20.20、送信元IPアドレス=192.168.10.10を取り出す。この結果、転送制御部は、内部に保持するルーティングテーブル(図26、図27(a)の2606参照)の第2の経路情報を適用した経路制御を実施する。同時に、転送制御部は、内部に保持するフィルタリングテーブル(図26、図27(b)の2607参照)の第2のフィルタリング情報を適用したフィルタリング制御を実施する。
この結果、転送制御部は、第1のサブインタフェースから受信した上記IPパケットを、第2のサブインタフェースに転送する。第2のサブインタフェースは、自身の仮想NW−ID=VLAN20を付加したイーサネットフレームを生成し、これに上記IPパケットを格納し、そのイーサネットフレームをスイッチ102に向けて送信する。
スイッチ102は、ルータ103から受信したイーサネットフレームに付加されている仮想NW−IDがVLAN20であることを確認すると、そのイーサネットフレームを、仮想NW−ID=VLAN20が設定されている他のポートとトランクポートに中継する。この結果、上記イーサネットフレームは、トランクポートに接続されているWLAN−AP104に転送される。WLAN−AP104は、受信したイーサネットフレームを無線LANフレームに変換して、無線送信する。先生端末108aは、WLAN−AP104から無線LANフレームを受信すると、その無線LANフレームに仮想NW−ID=VLAN20が付加されていることを確認する。確認OKならば、先生端末108aは、受信した無線LANフレームからIPパケットを取り出し、このIPパケットから、宛先IPアドレス=192.168.20.20と送信元IPアドレス=192.168.10.10を取り出す。先生端末108aは、宛先IPアドレスが先生端末108a自身のIPアドレスと一致することを確認後、受信したIPパケットから、教材サーバ107aが返信したデータを取り出し、自習アプリに引き渡す。
一般に、国際標準化機構が策定したOSI参照モデルにおいて、レイヤ2(L2)のデータリンク層すなわちフレームレベルでは、異なるVLANに属する端末108とNWリソース(サーバ107)の間は、スイッチ102による中継はできない。しかし、レイヤ3(L3)のネットワーク層すなわちIPパケットレベルでは、異なるVLANに属する端末108とNWリソース(サーバ107)間の転送を、ルータ103を用いて行うことができる。そこで、上述の実施形態では、コントローラ101内のNW設定管理部603が、NW設定管理テーブル608上の共有リソースが先に登録されたグループと後に登録されたグループに対して、L3レベルの転送設定を登録する。具体的には、後のグループのサブネットアドレスと、先のグループのサブネットアドレスに属する共有リソースのIPアドレスとの間で、相互に転送を行えるようにする転送設定が、NW設定管理テーブル608の各グループの「転送設定」項目に登録される。そして、この「転送設定」項目の内容が変更になるごとに、コントローラ101からルータ103に設定情報が送信され、ルータ103の転送設定が動的に更新される。
この動作により、図13の動作例(その5)では、生徒端末108bが含まれるグループと先生端末108aが含まれるグループのそれぞれのセキュリティのアクセス制限を維持したまま、先生端末108aが異なるVLANに属する教材サーバ107aにアクセスできるようになる。つまり、先生端末108aと成績サーバ107bは、仮想NW−ID=VLAN10を使って通信できる。同時に、先生端末108aは、仮想NW−ID=VLAN10のVLANと仮想NW−ID=VLAN20のVLAN間のルータ103の転送機能により、先生端末108aが所属するVLANとは異なるVLANに所属する教材サーバ107aにアクセス可能となる。
このようなコントローラ101の動作により、スイッチ102やルータ103などの既存のNW機器を用いて各NWリソースにVLANを設定しながら、制御ポリシによって決定されるNW機器の集合ごとに、異なるセキュリティのアクセス制御を行うことが可能になる。かつ、異なる制御ポリシに基づくNW機器の異なる集合に、1つのNWリソース(図13の例では教材サーバ107a)を共有リソースとしてそれぞれ所属させて、その集合ごとに異なるセキュリティのアクセス制限を加えることが可能となる。従来は、1つの共有リソースに異なるVLANを重複して割り当てることができなかったため、1つの共有リソースに対して異なるセキュリティのアクセス制限を加えることができなかったが、本実施形態ではそれが可能となる。
図13の動作例(その5)を基本として、さらに動作例を挙げて、NWリソース管理テーブル607とNW設定管理テーブル608の作成動作について説明する。
図14は、動作例(その6)におけるNWリソース管理テーブル607とNW設定管理テーブル608の状態変更前の例を示す図である。図14(a)は、図1の先生端末108aである先生端末Aと先生端末Bが共に成績評価アプリを起動している端末の状態で、成績サーバ107bにアクセスしている端末の状態での、NWリソース管理テーブル607(図6参照)におけるGID=1のグループの設定例を示している。このグループは、図13の制御ポリシテーブル606のCID=1の制御ポリシに基づいて生成されている。また、図14(b)は、上記端末の状態での、NW設定管理テーブル608(図6参照)におけるGID=1のグループに対応するネットワーク設定例を示している。この端末の状態においては、先生端末Aおよび先生端末Bともに、仮想NW−ID=VLAN10、サブネットアドレス192.168.10.0/24でグループ化されている。また、認可リソースとして、上記サブネットアドレスに属するIPアドレス=192.168.10.10の成績サーバ107bにアクセス可能な状態が示されている。さらに、先生端末Aおよび先生端末Bには、SSID=SSID10が割り当てられていることが示されている。
この端末の状態から、先生端末Bのみが成績評価アプリを自習アプリに切り替えて採点を行う端末の状態に変化した場合を想定する。図15は、上記動作例(その6)におけるNWリソース管理テーブル607とNW設定管理テーブル608の状態変更後の例を示す図である。
先生端末Aは、いままで通り成績評価アプリを起動しているため、図13の制御ポリシテーブル606のCID=1の制御ポリシに従う。一方、先生端末Bは、自習アプリの起動に切り替わったため、図13の制御ポリシテーブル606のCID=2の制御ポリシに切り替わる。従って、図15(a)のNWリソース管理テーブル607において、まず、GID=1、CID=1のエントリの「接続端末」項目から、先生端末Bが削除される。そして、新たにGID=2、CID=2のエントリが生成され、先生端末Bと教材サーバ107aと成績サーバ107bとからなるグループが形成される。
図15(b)のNW設定管理テーブル608では、GID=1のエントリの「接続端末」項目から先生端末Bが削除される。また、GID=2の新たなエントリが生成され、仮想NW−ID=VLAN20、サブネットアドレス=192.168.20.0/24、SSID20が新たに割り当てられ、「接続端末」項目に先生端末B(のMACアドレス)が登録される。ここで、先生端末Bが自習アプリを起動している端末の状態では、教材サーバ107aと成績サーバ107bの両方にアクセスする。しかし、図13の1303−1で説明したように、GID=2のエントリで「認可リソース」項目に登録されるのは、教材サーバ107aのIPアドレス=192.168.20.10のみとなる。最初に成績サーバ107bが登録されたGID=1のグループの後から成績サーバ107bへのアクセスが認可されるGID=2のグループには、「認可リソース」項目に成績サーバ107bは登録されない。
その代わり、図13の1303−2で説明したように、GID=2のエントリの「転送設定」項目には、サブネットアドレス=192.168.20.0/24から成績サーバ107bのIPアドレス=192.168.10.10への転送設定が登録される。また共有リソースの成績サーバ107bが登録されている方のGID=1のエントリの「転送設定」項目には、成績サーバ107bのIPアドレス=192.168.10.10からサブネットアドレス=192.168.20.0/24への転送設定が登録される。
上記制御動作において、先生端末Bにおいて成績評価アプリが起動されている状態から自習アプリが起動されている状態に切り替わった場合には、先生端末Bから図1のWLAN−AP104への接続が、いったん強制的に切断される。そして、先生端末Bから再度、図13の1301で説明した端末の状態の通知が行われて、新しい仮想NW−ID=VLAN20とSSID20が取得され、WLAN−AP104への再接続が行われるものとする。
このようにして、動作例(その6)では、先生端末Aは、仮想NW−ID=VLAN10を使って、成績サーバ107bと通信する。また、先生端末Bは、仮想NW−ID=VLAN20を使って、教材サーバ107aと通信する。これと共に、先生端末Bは、仮想NW−ID=VLAN20のVLANと仮想NW−ID=VLAN10のVLAN間の図1のルータ103の転送機能により、先生端末Bが所属するVLANとは異なるVLANに所属する成績サーバ107bにアクセス可能となる。
図9から図15の動作例で、サーバ107(教材サーバ107a、成績サーバ107b等)の名前とそのIPアドレスの関連付け(名前解決)は、コントローラ101内のNW設定管理テーブル608の「認可リソース」項目の値が変更されるごとに変化する。上記関連付けが変化した場合、コントローラ101内のNW機器設定要求送信部604は、DNSサーバ106に対して、サーバ107の名前とIPアドレスの組を通知する。DNSサーバ106は、上記組を受信すると、以下の制御動作を実行する。DNSサーバ106は、内部に保持する設定テーブル(後述する図30、図31の3007参照)に記憶されている上記組に含まれるサーバ107の名前が含まれるエントリのIPアドレスの値を、上記組に含まれるIPアドレスの値に変更する。これにより、端末108は、そのサーバ107にアクセスするときに、そのサーバ名に対して、新たに割り当てられたIPアドレスを取得してアクセスすることができる。
なお、上記関連付けが変化するサーバ107のサーバ名とIPアドレスの関連付けの管理のみ、コントローラ101で行ってもよい。
図16は、本実施形態の動作例(その7)におけるNWリソース管理テーブル607とNW設定管理テーブル608の登録内容の遷移例を示す図である。図16(a)の1601aと図16(b)の1602aは、動作例(その7)におけるNWリソース管理テーブル607とNW設定管理テーブル608の状態変更前の例を示す図である。この例は、図13で説明した例と同じである。すなわち、状態変更前は、生徒端末108bが自習アプリを起動して教材サーバ107aにアクセスし、先生端末108aが自習アプリを起動して教材サーバ107aと成績サーバ107bの両方にアクセスしている状態である。この場合、図13で説明したように、教材サーバ107aと生徒端末108bは、GID=1のグループが先に組まれており、ともに仮想NW−ID=VLAN10のサブネットアドレス=192.168.10.0/24に所属している。一方、成績サーバ107bと先生端末108aは、GID=1のグループの後からGID=2のグループが組まれており、ともに仮想NW−ID=VLAN20のサブネットアドレス=192.168.20.0/24に所属している。そして、仮想NW−ID=VLAN20のサブネットアドレス=192.168.20.0/24と仮想NW−ID=VLAN10に属する教材サーバ107aのIPアドレス=192.168.10.10との間で転送設定が登録されている。これにより、仮想NW−ID=VLAN20に所属する先生端末108aが、仮想NW−ID=VLAN10に所属する教材サーバ107aにアクセス可能となっている。
図16(a)の1601bと図16(b)の1602bは、上記動作例(その7)におけるNWリソース管理テーブル607とNW設定管理テーブル608の状態変更後の例を示す図である。状態変更後は、生徒端末108bが自習アプリの使用を終了することにより、図16(a)の1601bおよび図16(b)の1602bに示されるように、まず、GID=1の仮想NW−ID=VLAN10に関するエントリが削除される。そして、いままでGID=2であったエントリが、GID=1になる。この場合、仮想NW−ID=VLAN10に所属していた教材サーバ107aは、仮想NW−ID=VLAN20から転送設定によりアクセスされる状態となっていた。このため、NW設定管理テーブル608上で単純にGID=1のエントリを削除してしまうと、先生端末108aは教材サーバ107aにアクセスできなくなってしまう。そこで、本実施形態では、仮想NW−ID=VLAN10に所属していた教材サーバ107aが、仮想NW−ID=VLAN20に所属するように、新GID=1のエントリの「認可リソース」項目に付け替えられる。これと共に、新GID=1のエントリの「転送設定」項目は削除される。
具体的には、次のような制御動作により、上記認可リソースの付替えが行われる。
まず、NW設定管理テーブル608で、削除が行われるエントリの「転送設定」項目に登録されている転送設定で、転送元がそのエントリの「認可リソース」項目のIPアドレスである場合には、以下の付替え処理が実行される。まず、上記転送設定中の転送先のサブネットアドレスから、自身のエントリの「認可リソース」項目のIPアドレスへの転送設定がされているエントリが検出される。図16の例では、図16(b)の1602b内の一行目のエントリが削除されるエントリで、その「転送設定」項目の転送設定では、転送元がそのエントリの「認可リソース」項目のIPアドレス=192.168.10.10(教材サーバ107a)となっている。また、転送先のサブネットアドレス=192.168.20.0/24である。このサブネットアドレス=192.168.20.0/24から「認可リソース」項目のIPアドレス=192.168.10.10への転送設定がされているエントリは、図16(b)の1602b内の二行目のエントリである。
次に、NWリソース管理テーブル607上の図16(a)の1601a内の1行目のエントリの「認可リソース」項目に登録されていて削除された認可リソースが特定される。その特定された認可リソースについて、上記検出されたエントリの「サブネットアドレス」項目に登録されているサブネットアドレスの範囲から、新たなIPアドレスが割り当てられる。そして、そのIPアドレスが、上記検出されたエントリの「認可リソース」項目に追加され、上記検出されたエントリの「転送設定」項目の上記転送設定が削除される。図16の例では、図16(a)のNWリソース管理テーブル607上で削除された1601bの一行目のエントリの「認可リソース」項目の教材サーバ107aが削除された認可リソースである。その教材サーバ107aに、検出された図16(b)の1602b内の二行目のエントリの「サブネットアドレス」項目のサブネットアドレス=192.168.20.0/24の範囲から、新たなIPアドレス=192.168.20.11が割り当てられる。そして、そのIPアドレス=192.168.20.11が、検出された図16(b)の1602b内の二行目のエントリの「認可リソース」項目に追加される。
一方、NW設定管理テーブル608で、削除が行われる図16の1602b内の一行目のエントリの「転送設定」項目に登録されている転送設定で、転送元がそのエントリの「認可リソース」項目のIPアドレスでない場合には、以下の制御処理が実行される。すなわち、転送元がそのエントリの「サブネットアドレス」項目に登録されているサブネットアドレスである場合である。この場合には、削除されるエントリのサブネットアドレスに存在しない認可リソースが共有されていたので、認可リソースの付替え処理は不要である。この場合、まずエントリが削除され、転送先のエントリの該当する転送設定が削除される。
図17は、本実施形態の動作例(その8)におけるNWリソース管理テーブル607とNW設定管理テーブル608の登録内容の遷移例を示す図である。まず、図17(a)の1701aおよび図17(b)の1702aは、それぞれ図16(a)の1601aおよび図16(b)の1602aと同じ状態である。
図16(a)の1601bと図16(b)の1602bは、先生端末108aより先に自習アプリを起動させていた生徒端末108bがその自習アプリの使用を終了し、共有リソースの教材サーバ107aが登録されている方のエントリが削除される場合であった。これに対して、図17(a)の1701bと図17(b)の1702bは、後から自習アプリを起動させた先生端末108aの方がその自習アプリの使用を終了し、共有リソースの教材サーバ107aが登録されていない方のエントリが削除される場合である。この場合には、上述のように、削除されるエントリのサブネットアドレス=192.168.20.0/24内に存在しないIPアドレス=192.168.10.10を有する教材サーバ107aが共有されていた。このため、認可リソースの付替え処理は不要で、単純にGID=2のエントリが削除されるだけでよい。
図18は、上述した本実施形態の動作例(その7)または動作例(その8)におけるコントローラ101の制御動作を説明する図である。
まず、端末108(図16の場合は生徒端末108b、図17の場合は先生端末108a)が自習アプリの使用を終了すると、端末108は、切断の状態をコントローラ101に通知した後に、WLAN−AP104への接続を切断する(図18の1801)。このときの切断状態の通知は、通知される状態が「切断」となっただけで、具体的な制御動作は、前述の図9の901で説明した端末の状態の通知と同様である。
なお、端末108が明示的に切断しなかった場合には、例えばWLAN−AP104やコントローラ101が端末108の接続のタイムアウトを検出することにより、切断状態を検出する。
次に、コントローラ101は、端末108が切断状態になると、図16または図17で説明したNWリソース管理テーブル607およびNW設定管理テーブル608の更新を行う。
次に、コントローラ101内のNW機器設定要求送信部604(図6参照)は、ルータ103に対して、VLANに関する設定情報と、VLANに関する転送情報が変更になったことを送信する(図18の1802)。この場合、NW機器設定要求送信部604は、図6で説明したNW設定管理テーブル(前回)608bとNW設定管理テーブル(最新)608aの登録内容の差分を検出し、その差分のネットワーク設定値を設定情報とする。図16の例では、仮想NW−ID=VLAN10が削除されたことが設定情報として通知される。コントローラ101からルータ103への通知時の制御動作は、前述の図13の1304と同様である。
ルータ103は、仮想NW−IDの削除を指示する設定情報を受信すると、その仮想NW−IDが設定されているサブインタフェースを削除する。また、ルータ103は、削除したサブインタフェースに設定されていたIPアドレスがインタフェースまたはゲートウェイとして設定されているルーティングテーブル中の経路情報を削除する。さらに、ルータ103は、削除したサブインタフェースを含むフィルタリングテーブル中のフィルタリング情報を削除する。図16の場合は、仮想NW−ID=VLAN10が設定されている第1のサブインタフェースが削除される。図17の場合、仮想NW−ID=VLAN20が設定されている第2のサブインタフェースが削除される。また、図16、図17とも、第1または第2のサブインタフェースのIPアドレスがインタフェースまたはゲートウェイとして設定されているルーティングテーブル中の第1および第2の双方の経路情報が削除される。さらに、仮想NW−ID=VLAN10またはVLAN20を含むフィルタリングテーブル中の第1および第2の双方のフィルタリング情報が削除される。
次に、図16の例の場合には、コントローラ101内のNW機器設定要求送信部604(図6参照)は、スイッチ102に対して、教材サーバ107aが接続されているポート番号1について、仮想NW−ID=VLAN10を削除して、仮想NW−ID=VLAN20を新たに設定する設定情報を送信する(図18の1803)。このときの制御動作は、前述の図9の904と同様である。スイッチ102は、上記設定情報を受信すると、以下の制御動作を実行する。スイッチ102は、内部に保持するVLANテーブル(後述する図24、図25(b)の2407参照)内の上記設定情報に設定されたポート番号=1に関するエントリの仮想NW−IDの値を、設定情報に従ってVLAN10からVLAN20に変更する。なお、図17の例の場合は、教材サーバ107aの付替えは行われないため、この制御動作は不要である。
次に、コントローラ101内のNW機器設定要求送信部604(図6参照)は、図1のWLAN−AP104に対して、SSIDと仮想NW−IDの組が削除されたことを通知する設定情報を送信する(図18の1801)。図16の場合は、SSID10と仮想NW−ID=VLAN10の組、図17の場合は、SSID20と仮想NW−ID=VLAN20の組である。このときの制御動作は、削除動作になるだけで、前述の図9の905と同様である。WLAN−AP104は、上記設定情報を受信すると、内部に保持するSSIDテーブル(後述する図33の3301参照)から、上記設定情報に含まれるSSIDと仮想NW−IDの組のエントリを削除する。これ以降、WLAN−AP104は、端末108からの削除されたSSIDによる無線通信を受け付けなくなる。図16の場合は生徒端末108bからのSSID10の無線通信が、図17の場合は先生端末108aからのSSID20の無線通信が、それぞれ受け付けられなくなる。
コントローラ101内のNW機器設定要求送信部604(図6参照)は、DHCPサーバ105に対して、仮想NW−IDが削除されたことを通知する設定情報を送信する(図18の1805)。図16の場合は、仮想NW−ID=VLAN10、図17の場合は、仮想NW−ID=VLAN20である。このときの制御動作は、削除動作になるだけで、前述の図9の907と同様である。DHCPサーバ105は、上記設定情報を受信すると、以下の制御動作を実行する。DHCPサーバ105は、内部に保持する設定テーブル(後述する図28、図29の2807参照)から、その設定情報に含まれる仮想NW−IDが設定されているエントリを削除する。図16の場合は仮想NW−ID=VLAN10のエントリが、図17の場合は仮想NW−ID=VLAN20のエントリが、それぞれ削除される。
さらに、図16の例の場合には、コントローラ101内のNW機器設定要求送信部604は、教材サーバ107aに対して、新たなIPアドレス=192.168.20.11(図16(b)の1602b参照)を指定する設定情報を送信する(図18の1806)。このときの制御動作は、前述の図9の908と同様である。図17の例の場合には、教材サーバ107aの付け替えは行われないので、この制御動作は不要である。
最後に、図16の例の場合には、コントローラ101内のNW機器設定要求送信部604は、DNSサーバ106に対して、教材サーバ107aの名前とIPアドレス=192.168.20.11の組を通知する。DNSサーバ106は、上記組を受信すると、以下の制御動作を実行する。DNSサーバ106は、内部に保持する設定テーブル(後述する図30、図31の3007参照)に記憶されている上記組に含まれる教材サーバ107aの名前が含まれるエントリのIPアドレスの値を、上記組に含まれるIPアドレスに変更する。これにより、端末108は、教材サーバ107aにアクセスするときに、そのサーバ名=「kyozai.server.com」に対して、新たに割り当てられたIPアドレスを取得してアクセスすることができる。図17の例の場合には、教材サーバ107aの付け替えは行われないので、この制御動作は不要である。
以上の制御動作により、端末108がVLANを跨いでサーバ107にアクセスしていた場合に、サーバ107が含まれるVLANまたは端末108が含まれるVLANのいずれかが通信の終了で削除されても、サーバ107へのアクセスを適切に維持できる。
図19および図20は、端末108の状態が変化したときに、上述した図9から図18の動作例を実現するために、図1のコントローラ101が実行する制御処理の例を示すフローチャートである。この処理は、コントローラ101を実現するコンピュータのCPU(中央演算処理装置)がメモリに記憶された制御処理プログラムを実行する動作である。
まず、端末108(図1)から、端末状態が受信される(図19のステップS1901)。これは、前述の図9の901または図13の1301等で説明した、端末状態受信部601(図6)の制御動作に対応する。
次に、制御ポリシテーブル606(図6、図7(a)、図9、図13等参照)に対して、ステップS1901で新たに受信された端末状態に該当するCIDが照会される(ステップS1902)。
次に、ステップS1902において、該当するCIDが見つかったか否かが判定される(図19のステップS1903)。
該当するCIDが見つからない場合(ステップS1903の判定がNOの場合)には、コントローラ101は制御処理を終了する。
該当するCIDが見つかった場合(ステップS1903の判定がYESの場合)には、NWリソース管理テーブル607上に該当するCIDのエントリが登録されているか否かが判定される(図19のステップS1904)。
該当するCIDのエントリが登録されていないと判定された場合(ステップS1904の判定がNOの場合)には、次の制御動作が実行される。NWリソース管理テーブル607(図6、図7(b)、図9、図13、図14(a)、図15(a)等参照)上に新たなエントリが追加される(図19のステップS1905)。具体的には、新たなGIDの値が決定され、ステップS1902で検出された該当CIDの制御ポリシの内容に基づき、上記新エントリに、「GID」項目、「CID」項目、「接続端末」項目、および「認可リソース」項目の値が登録される。
一方、該当するCIDのエントリが登録されていると判定された場合(ステップS1904の判定がYESの場合)には、次の制御動作が実行される。NWリソース管理テーブル607上で「CID」項目の値がステップS1902で検出された該当CIDに一致するエントリの「接続端末」項目に、ステップS1901の新たな端末状態を発生した端末108の端末IDが追加される(図19のステップS1906)。
以上のステップS1902からS1906の処理は、前述の図9の902または図13の1302等で説明した、NWリソース管理部602(図6)の制御動作に対応する。
ステップS1905の後、NW設定管理テーブル608(図6、図7(c)、図9、図13、図14(b)、図15(b)等参照)に、ステップS1905で決定された新たなGIDが「GID」項目に設定された新たなエントリが生成される。また、このエントリの「CID」項目には、NWリソース管理テーブル607の「CID」項目の値がコピーして登録される(以上、図19のステップS1907)。
次に、上記新たなGIDのグループに対応する仮想NW−IDおよびサブネットアドレスが決定され、上記NW設定管理テーブル608の新たなエントリの「仮想NW−ID」項目および「サブネットアドレス」項目に登録される(図19のステップS1908)。
続いて、上記新たなGIDのグループに対応するSSIDが決定され、上記NW設定管理テーブル608の新たなエントリの「SSID」項目に登録される(図19のステップS1909)。
一方、ステップS1904の判定がYESとなってステップS1906が実行された後には、次の制御動作が実行される。NW設定管理テーブル608上の「CID」項目の値がステップS1902で検出された該当CIDに一致するエントリの「接続端末」項目に、ステップS1901の新たな端末状態を発生させた端末108の端末IDが追加される(図19のステップS1913)。この端末IDは、例えば端末108のMACアドレスである。
次に、図20のフローチャートに移る。
図19のステップS1906およびS1908でNW設定管理テーブル608に新たなGIDに対応するエントリが作成された後、その新エントリと他の既存エントリとで共有されるべきNWリソース(共有リソース)があるか否かが判定される(図20のステップS1910)。
共有リソースがある場合(ステップS1910の判定がYESの場合)には、次の制御動作が実行される。共有リソースに対する転送設定が生成され、その転送設定が図19のステップS1906で新たに生成されたエントリの「転送設定」項目に登録される(図3のステップS1911)。これは、前述の図13または図15(b)等で説明した状態である。共有リソースの転送設定追加の処理の詳細については、後述する。
共有リソースがない場合(ステップS1910の判定がNOの場合)には、ステップS1911の処理はスキップされ、転送設定は登録されない。これは、前述の図9、図10(b)、図11(b)、図12(b)等で説明した状態である。
その後、図3のステップS1905でNWリソース管理テーブル607に追加されたエントリの「認可リソース」項目に登録されているNWリソースのうち、共有がされないNWリソース(認可リソース)の名前に対応するIPアドレスが決定される。そして、その決定されたIPアドレスが、図19のステップS1906で新たに生成された新GIDエントリの「認可リソース」項目に登録される。このとき、図19のステップS1908で決定されたサブネットアドレスに対応する所定のサーバ用のIPアドレスの範囲から未使用のIPアドレスが決定される(以上、図20のステップS1912)。前述した図13の例では、1303−1で説明したように、新たなに生成されたGID=2のエントリには、共有リソースである教材サーバ107aのIPアドレスは登録されず、共有なしの成績サーバ107bのIPアドレスのみが登録される。また、前述した図15(b)の例では、新たなに生成されたGID=2のエントリには、共有リソースである成績サーバ107bのIPアドレスは登録されず、共有なしの教材サーバ107aのIPアドレスのみが登録される。
図19において、ステップS1904の判定がYESとなってステップS1907およびステップS1913が実行された後には、図20のステップS1910からS1912の処理は実行されず、図20のステップS1914に移行する。すなわち、図19のステップS1906で新たに生成された新たなGIDのエントリにおいて、「認可リソース」項目および「転送設定」項目の内容は変更されない。
以上のステップS1907からS1913の処理は、前述の図9の903または図13の1303等で説明した、NW設定管理部603(図6)の制御動作に対応する。
図20のステップS1912または図19のステップS1913の処理の後、NW設定管理テーブル(前回)608bとNW設定管理テーブル(最新)608aとの差分が抽出される(図20のステップS1914)。
その後、ステップS1914で抽出されたネットワーク設定値の差分情報のみが、設定情報として各NW機器へ設定要求される(図20のステップS1915)。この処理は、前述の図9の904〜908、または前述の図13の1304〜1309で説明した制御動作である。
その後、コントローラ101は、端末状態変化時の図19および図20で示される制御処理を終了する。
図21は、図19のステップS1908の、新GIDへの仮想NW−ID、サブネットアドレス追加の処理の詳細例を示すフローチャートである。
まず、図6の記憶部605に記憶されている仮想NW−ID管理テーブル609(図8(a))から、「割当」項目=「未使用」のエントリの「仮想NW−ID」項目に登録されている仮想NW−IDが取得される。そして、そのエントリの「割当」項目の値が「使用中」に変更される(ステップS2101)。
次に、図6の記憶部605に記憶されているサブネット管理テーブル610(図8(b))から、「割当」項目=「未使用」のエントリの「サブネットアドレス」項目に登録されているサブネットアドレスが取得される。そして、そのエントリの「割当」項目の値が「使用中」に変更される(ステップS2102)。
そして、ステップS2101で取得された仮想NW−IDが、図19のステップS1906で生成された新GIDのエントリの「仮想NW−ID」項目に登録される。また、ステップS2102で取得されたサブネットアドレスが、上記新GIDのエントリの「サブネットアドレス」項目に登録される(ステップS2103)。
その後、図21のフローチャートの処理が終了し、図19のステップS1908の新GIDへの仮想NW−ID、サブネットアドレス追加の処理が終了する。
図22は、図20の共有リソースの転送設定追加の処理の詳細例を示すフローチャートである。
まず、共有リソースが所属するGIDのエントリの「転送設定」項目に、そのエントリの「認可リソース」項目の共有リソースのIPアドレスから図19のステップS1908で生成されたサブネットアドレスへの転送情報が設定される(ステップS2201)。前述の図13の1303−2の例では、共有リソースである教材サーバ107aが所属するGID=1のエントリの「転送設定」項目に、次の転送情報が設定される。この転送情報は、GID=1のエントリの「認可リソース」項目の教材サーバ107aのIPアドレス=192.168.10.1から、GID=2のエントリの「サブネットアドレス」項目のサブネットアドレス=192.168.20.0/24への転送を指示する。また、前述の図15の例では、共有リソースである成績サーバ107bが所属するGID=1のエントリの「転送設定」項目に、次の転送情報が設定される。この転送情報は、GID=1のエントリの「認可リソース」項目の成績サーバ107bのIPアドレス=192.168.10.10から、GID=2のエントリの「サブネットアドレス」項目のサブネットアドレス=192.168.20.0/24への転送を指示する。
そして、共有リソースの転送先のエントリ、すなわち図19のステップS1906およびS1907で新たに生成された新GIDのエントリの「転送設定」項目に、次の転送設定が登録される。図19のステップS1908で生成されたサブネットアドレスから共有リソースが所属するエントリの「認可リソース」項目に登録された共有リソースのIPアドレスへの転送情報が設定される(ステップS2202)。前述の図13の1303−2の例では、共有リソースの転送先のGID=2のエントリの「転送設定」項目に、次の転送情報が設定される。この転送情報は、GID=2のエントリの「サブネットアドレス」項目のサブネットアドレス=192.168.20.0/24から、GID=1のエントリの「認可リソース」項目の教材サーバ107aのIPアドレス=192.168.10.1への転送を指示する。また、前述の図15の例では、共有リソースの転送先のGID=2のエントリの「転送設定」項目に、次の転送情報が設定される。この転送情報は、GID=2のエントリの「サブネットアドレス」項目のサブネットアドレス=192.168.20.0/24から、GID=1のエントリの「認可リソース」項目の成績サーバ107bのIPアドレス=192.168.10.10への転送を指示する。
その後、図22のフローチャートの処理が終了し、図20のステップS1911の共有リソースの転送設定追加の処理が終了する。
前述した図9から図18の動作例では、コントローラ101内のNWリソース管理テーブル607のエントリの「認可リソース」項目に登録されるサーバ107のIPアドレスは、次のように決定された。すなわち、コントローラ101内のNW設定管理部603(図6参照)が、NW設定管理テーブル608のエントリの「サブネットアドレス」項目に設定されたサブネットアドレスに属する未使用のIPアドレスを選択してそのエントリの「認可リソース」項目に登録した。これに対して、サーバ107群のみを別のGIDとみなし、それらのIPアドレスを固定的に特定のサブネットアドレスに帰属させることも可能である。図23は、そのような制御動作を実現する本実施形態の動作例(その9)を説明する図である。
図23は、図13の場合と同様に、生徒端末108bが自習アプリを起動して教材サーバ107aにアクセスし、先生端末108aも自習アプリを起動して教材サーバ107aと成績サーバ107bの双方にアクセスするケースである。ただし、図13の場合と異なり、教材サーバ107aと成績サーバ107bは、予め仮想NW−ID=VLAN30のサブネットアドレス192.168.30.0/24に固定的に帰属させられる。そして、教材サーバ107aにはIPアドレス=192.168.30.10、成績サーバ107bにはIPアドレス192.168.30.11が、それぞれ固定的に割り当てられる。この場合、各サーバ名とIPアドレスの組が、DNSサーバ106の設定テーブル3007(図30、図31参照)に予め固定的に割り当てられている。
この状態で、コントローラ101内のNW設定管理部603は、以下の制御動作を実行する。
まず、NW設定管理部603は、NW設定管理テーブル608において、以下の登録動作を実行する。NW設定管理部603は、図13の場合と同様に、生徒端末108bを含むGID=1に、仮想NW−ID=VLAN10、サブネットアドレス=192.168.10.0/24、SSID=SSID10をそれぞれ割り当てる。また、NW設定管理部603は、図13の場合と同様に、先生端末108aを含むGID=2に、仮想NW−ID=VLAN20、サブネットアドレス=192.168.20.0/24、SSID=SSID20がそれぞれ割り当てられる。
また、NW設定管理部603は、図23のNW設定管理テーブル608の「認可リソース」項目には、次のような割当てを行う。NW設定管理部603は、GID=1のエントリでは、教材サーバ107aに対応するIPアドレス=192.168.30.10を固定的に割り当てる。一方、NW設定管理部603は、GID=2のエントリでは、教材サーバ107aに対応するIPアドレス=192.168.30.10と成績サーバ107bに対応するIPアドレス=192.168.30.1を固定的に割り当てる。このとき、NW設定管理部603は、NWリソース管理テーブル607の「認可リソース」項目に登録されたサーバ名で、DNSサーバ106に問い合わせることにより、サーバ107のIPアドレスを取得することができる。
さらに、図23において、NW設定管理テーブル608の「転送設定」項目には、次のような割当てが行われる。GID=1のエントリでは、そのエントリの「サブネットアドレス」項目のサブネットアドレス=192.168.10.0/24から教材サーバ107aのIPアドレス=192.168.30.10への転送設定が登録される。また、GID=2のエントリでは、そのエントリの「サブネットアドレス」項目のサブネットアドレス=192.168.10.0/24から教材サーバ107aおよび成績サーバ107bの各IPアドレス=192.168.30.10および192.168.30.11への各転送設定が登録される。
図24は、本実施形態による図1のスイッチ102の構成例を示す図である。スイッチ102は、イーサネットインタフェース2401、転送制御部2402、設定インタフェース2403、設定制御部2404、および記憶部2405を備える。記憶部2405は、MACテーブル2406およびVLANテーブル2407を記憶する。
イーサネットインタフェース2401は、LANであるイーサネットを収容するインタフェース回路である。このイーサネットインタフェース2401は、LANケーブル等を物理的に接続することのできるポートを複数備える。イーサネットインタフェース2401は、前述したように、仮想NW−IDを設定するポートのほかに、前述したトランクポートを備える。
転送制御部2402は、記憶部2405に記憶されているMACテーブル2406とVLANテーブル2407を用いて、イーサネットインタフェース2401の各ポートで受信されたフレームを他のポートに中継する制御を行う。転送制御部2402は、MACテーブル2406を自ら更新しながら、前述した基本的な中継動作を実行する。
設定インタフェース2403は、スイッチ102の1つのポートであり、図1のコントローラ101が接続される。この設定インタフェース2603には、図1のコントローラ101と通信可能な専用の仮想NW−IDが設定される。設定インタフェース2403は、この仮想NW−IDに対応する専用のVLANを用いて、コントローラ101からイーサネットインタフェース2401内の各ポートに割り当てられる各VLANに関する設定情報を受信する。
設定制御部2404は、設定インタフェース2403が受信したVLANに関する設定情報を、記憶部2405内のVLANテーブル2407に設定する。
図25は、記憶部2405に記憶されるMACテーブル2406およびVLANテーブル2407のデータ構成例を示す図である。
まず、図25(a)は、MACテーブル2406のデータ構成例を示す。MACテーブル2406において、「ポート」項目に登録されたイーサネットインタフェース2401の各ポートに対応するポート番号に対応して、「MACアドレス」項目にそのポートに接続されるNW機器のMACアドレスが記憶される。
スイッチ102の起動時にはMACテーブル2406の各エントリの「ポート」項目(図25(a)の1〜n)に対応する「MACアドレス」項目の値は空である。
この状態で、いずれかのポートにそのポートに接続されているNW機器からフレーム(イーサネットフレーム)が着信する。転送制御部2402は、フレームが着信すると、そのフレームのヘッダ中の送信元MACアドレスを取り出す。そして、転送制御部2402は、図25(a)に例示されるMACテーブル2406の着信が発生したポートに対応するポート番号を「ポート」項目に有するエントリの「MACアドレス」項目に、その取り出したMACアドレスを登録する。以上の動作が繰り返し実行されることにより、MACテーブル2406の各エントリの「MACアドレス」項目の内容が埋められてゆく。
その後、いずれかのポートにフレームが着信すると、転送制御部2402は、そのフレームのヘッダ中の宛先MACアドレスを取り出す。転送制御部2402は、その宛先MACアドレスでMACテーブル2406内の「MACアドレス」項目を検索する。この結果、その宛先MACアドレスがMACテーブル2406上で見つかると、見つかったエントリの「ポート」項目からポート番号を取り出す。転送制御部2402は、上記着信したフレームを、そのポート番号に対応するポートに中継する。一方、宛先MACアドレスがMACテーブル2406上で見つからなかったときには、転送制御部2402は、上記着信したフレームを、着信ポート以外の全てのポートに中継する。
このようにして、転送制御部2402は、着信したフレームが無駄なポートに中継されないように、効率的な転送制御を行う。
図25(b)は、記憶部2405に記憶されるVLANテーブル2407のデータ構成例を示す図である。前述したように、コントローラ101は、ポート番号と仮想NW−IDの組を、VLANに関する設定情報として通知する。この情報は、図24の設定インタフェース2403で受信され、設定制御部2404に引き渡される。設定制御部2404は、図25(b)に例示されるVLANテーブル2407上で、受信された設定情報中のポート番号が「ポート」項目に設定されているエントリの「仮想NW−ID」項目に、上記設定情報中の仮想NW−IDを登録する。
このようにして、スイッチ102の各ポートに接続されたNW機器を、そのポートに対応してVLANテーブル2407上で設定された仮想NW−IDを有するVLANに所属させることが可能となる。
図26は、本実施形態による図1のルータ103の構成例を示す図である。ルータ103は、1つ以上のサブインタフェース2601(図26中では「IF#1」「IF#2」などと記載)、転送制御部2602、設定インタフェース2603、設定制御部2604、および記憶部2605を備える。記憶部2605は、ルーティングテーブル2606およびフィルタリングテーブル2607を記憶する。
サブインタフェース2601は、前述した論理的なインタフェースである。前述したように、ルータ103の特には図示しない物理インタフェース(イーサネットインタフェース)は、図1のスイッチ102の例えばトランクポートに接続されている。複数のサブインタフェース2601は、この物理インタフェース上に設定される。なお、図26では、図13の動作例などで前述した2つの仮想NW−IDであるVLAN10とVLAN20に対応させて、IF#1とIF#2の2つのみのサブインタフェース2601が表記されている。ここで、設定されるVLANの数が増えれば、このサブインタフェース2601の数は設定可能なVLANの数だけ増加させることが可能である。
転送制御部2602は、図1のスイッチ102から転送されてきたフレームを、そのフレームに付加されている仮想NW−IDが割り当てられているサブインタフェース2601(図26ではIF#1またはIF#2のいずれか)で受信する。転送制御部2602は、受信したフレームに格納されているIPパケットの送信元IPアドレスと宛先IPアドレスを取り出す。転送制御部2602は、それらのアドレスを記憶部2605内のルーティングテーブル2606に設定されている経路情報と比較することにより、出力先のサブインタフェース2601(図26ではIF#2またはIF#1のいずれか)を決定する。転送制御部2602は、受信したIPパケットを含み、出力先のサブインタフェースに設定されている仮想NW−IDをタグとして含むイーサネットフレームを生成する。転送制御部2602は、そのイーサネットフレームを、出力先のサブインタフェース2601から特には図示しない物理インタフェースを介して、スイッチ102のトランクポートに転送する。なお、転送制御部2602は、記憶部2605内のフィルタリングテーブル2607を参照することにより、転送を禁止または許可するパケットフィルタリングを実施する。
設定インタフェース2603は、サブインタフェース2601と同様に、図1のスイッチ102の例えばトランクポートに接続されている特には図示しない物理インタフェース上に設定される論理的なサブインタフェースの1つである。この設定インタフェース2603には、図1のコントローラ101と通信可能な仮想NW−IDが設定される。設定インタフェース2603は、この仮想NW−IDに対応する専用のVLANを用いて、コントローラ101から記憶部2605内のルーティングテーブル2606またはフィルタリングテーブル2607に設定されるべき転送設定(経路情報)を受信する。また、設定インタフェース2603は、上記専用のVLANを用いて、コントローラ101から各サブインタフェース2601に設定されるべきVLANに関する設定情報を受信する。経路情報2701やフィルタリング情報2702の設定情報は、前述したRIPなどのダイナミックルーティングプロトコルを用いることにより、コントローラ101からルータ103に転送できる。
設定制御部2604は、設定インタフェース2603が受信した転送設定を、記憶部2605内のルーティングテーブル2606およびフィルタリングテーブル2607に設定する。また、設定制御部2604は、設定インタフェース2603が受信したVLANに関する設定情報に基づいて、その設定情報に含まれる仮想NW−IDと、その設定情報に含まれるサブネットアドレスに属するIPアドレスとが設定されたサブインタフェース2601を生成する。
図27は、記憶部2605に記憶されるルーティングテーブル2606およびフィルタリングテーブル2607のデータ構成例を示す図である。
まず、図27(a)は、ルーティングテーブル2606のデータ構成例を示す。ルーティングテーブル2606に設定される経路情報2701のデータ構成は、図5で説明した経路情報501のデータ構成と同じである。図26(a)の経路情報2701が図5の経路情報501と異なる点は、経路情報2701は、設定インタフェース2603および設定制御部2604を介して、コントローラ101から設定されるという点である。
図27(a)のルーティングテーブル2606の一行目および二行目の各エントリの経路情報2701はそれぞれ、図13の説明で前述した第1および第2の経路情報に対応する。
次に、図27(b)は、フィルタリングテーブル2607のデータ構成例を示す。「通信方向」項目には、サブインタフェース2601間のどの方向、例えばIF#1からIF#2か、IF#2からIF#1のどちらの方向に流れるIPパケットに対してフィルタリングが実行されるかが設定される。「プロトコル」項目には、OSI階層のレイヤ3(L3)階層に設定されているどの通信プロトコルのデータが格納されたIPパケットに対してフィルタリングが実行されるかが設定される。「送信元IPアドレス」項目には、どの送信元IPアドレスが設定されたIPパケットに対してフィルタリングが実行されるかが設定される。「宛先IPアドレス」項目には、どの宛先IPアドレスが設定されたIPパケットに対してフィルタリングが実行されるかが設定される。「送信元ポート番号」項目には、OSI階層のレイヤ3(L3)階層に設定されているどの送信元ポート番号を有するデータが格納されたIPパケットに対してフィルタリングが実行されるかが設定される。「宛先ポート番号」項目には、OSI階層のレイヤ3(L3)階層に設定されているどの宛先ポート番号を有するデータが格納されたIPパケットに対してフィルタリングが実行されるかが設定される。「通過」項目には、IPパケットの通過を「許可」するか「禁止」するかが設定される。
図27(b)のフィルタリングテーブル2607の一行目および二行目の各エントリのフィルタリング情報2702はそれぞれ、図13の説明で前述した第2および第1の経路情報に対応する。
図27に例示される経路情報2701およびフィルタリング情報2702によって、例として、次のような経路制御が実現される。
まず、図1のコントローラ101からの設定情報に基づいて、仮想NW−ID=VLAN10、IPアドレス=192.168.10.1が割り当てられたIF#1が、サブインタフェース2601として生成されている。また、仮想NW−ID=VLAN20、IPアドレス=192.168.10.2が割り当てられたIF#2が、サブインタフェース2601として生成されている。
この状態で例えば、サブネットアドレス=192.168.10.0のVLAN10に属するNWリソースを宛先とするIPパケットを含み、仮想NW−ID=VLAN20のタグが設定されたフレームがルータ103に転送されてきたとする。ルータ103は、そのフレームを、IPアドレス=192.168.20.1が設定され仮想NW−ID=VLAN20が設定されたIF#2のサブインタフェース2601で受信する。図26の転送制御部2602は、IF#2で受信したフレームからIPパケットを取り出す。転送制御部2602は、そのIPパケットから、サブネットアドレス=192.168.10.0に属する宛先IPアドレスと、サブネットアドレス=192.168.20.0に属する送信元IPアドレスを取り出す。例えば、宛先IPアドレス=192.168.10.10だとする。転送制御部2602は、宛先IPアドレスおよび送信元IPアドレスを、図27に例示されるルーティングテーブル2606の経路情報2701およびフィルタリング情報2702と比較する。この結果、転送制御部2602は、宛先IPアドレス=192.168.10.10のIPパケットを、IPアドレス=196.168.10.1が設定されたサブインタフェースIF#1に出力する。転送制御部2602は、フィルタリング情報2702に基づいて、全てのプロトコル、全ての送信元ポート番号、および全ての宛先ポート番号が設定されたIPパケットを、サブインタフェース2601=IF#1に転送する。また、転送制御部2602は、仮想NW−ID=VLAN20(サブネットアドレス=192.168.20.0)内の任意のNW機器からのIPパケットを、サブインタフェース2601=IF#1に転送する。転送制御部2602は、上記IPパケットが格納され、サブインタフェース2601=IF#1に設定されている仮想NW−ID=VLAN10がタグとして付加されたフレームを生成する。そして、転送制御部2602は、その生成したフレームを、サブインタフェース2601=IF#1が設定される物理イーサネットインタフェースから、図1のスイッチ102のトランクポートに向けて送信する。
逆に例えば、サブネットアドレス=192.168.20.0のVLAN20に属するNWリソースを宛先とするIPパケットを含み、仮想NW−ID=VLAN10のタグが設定されたフレームがルータ103に転送されてきたとする。ルータ103は、そのフレームを、IPアドレス=192.168.10.1が設定され仮想NW−ID=VLAN10が設定されたIF#1のサブインタフェース2601で受信する。図26の転送制御部2602は、IF#1で受信したフレームからIPパケットを取り出す。転送制御部2602は、そのIPパケットから、サブネットアドレス=192.168.20.0に属する宛先IPアドレスと、サブネットアドレス=192.168.10.0に属する送信元IPアドレスを取り出す。例えば、送信元IPアドレス=192.168.10.10だとする。転送制御部2602は、宛先IPアドレスおよび送信元IPアドレスを、図27に例示されるルーティングテーブル2606の経路情報2701およびフィルタリング情報2702と比較する。この結果、転送制御部2602は、サブネットアドレス=192.168.20.0に属する宛先IPアドレスを有するIPパケットを、IPアドレス=196.168.20.1が設定されたサブインタフェースIF#2に出力する。転送制御部2602は、フィルタリング情報2702に基づいて、全てのプロトコル、全ての送信元ポート番号、および全ての宛先ポート番号が設定されたIPパケットを、サブインタフェース2601=IF#2に転送する。また、転送制御部2602は、仮想NW−ID=VLAN10内の送信元IPアドレス=192.168.10.10を有するNW機器のみからのIPパケットを、サブインタフェース2601=IF#2に転送する。転送制御部2602は、上記IPパケットが格納され、サブインタフェース2601=IF#2に設定されている仮想NW−ID=VLAN20がタグとして付加されたフレームを生成する。そして、転送制御部2602は、その生成したフレームを、サブインタフェース2601=IF#2が設定される物理イーサネットインタフェースから、図1のスイッチ102のトランクポートに向けて送信する。
以上のようにして、本実施形態によれば、スイッチ102とルータ103によって、異なるVLAN間、例えば仮想NW−ID=VLAN10のVLANと仮想NW−ID=VLAN20のVLANとの間で、フレームを中継することが可能となる。
このとき、本実施形態では、前述したように、図6のコントローラ101から、図24のスイッチ102内の各テーブル2406、2407と、図26のルータ103内の各テーブル2606、2607およびサブインタフェース2601を設定できる。
図28は、本実施形態による図1のDHCPサーバ105の構成例を示す図である。DHCPサーバ105は、受信部2801、DHCPプロトコル制御部2802、送信部2803、設定インタフェース2804、設定制御部2805、および記憶部2806を備える。記憶部2806には、設定テーブル2807が記憶される。
受信部2801は、特には図示しない物理イーサネットインタフェースを介して、図1の端末108や教材サーバ107aまたは成績サーバ107bなどからのIPアドレスの払出し要求を受信する。
DHCPプロトコル制御部2802は、受信部2801が受信したIPアドレスの払出し要求に対して、DHCPプロトコルに従って、記憶部2806内の設定テーブル2807を参照する。この結果、DHCPプロトコル制御部2802は、IPアドレスの払出し要求に含まれる仮想NW−IDのVLANに対応するサブネットアドレスの払出し範囲から、未使用のIPアドレスを選択する。
送信部2803は、DHCPプロトコル制御部2802が選択した未使用のIPアドレスを、IPアドレスの払出し要求の送信元のNW機器に返信する。
設定インタフェース2804は、特には図示しない物理イーサネットインタフェースを介して、コントローラ101から仮想NW−IDとサブネットアドレスを含む設定情報を受信する。
設定制御部2805は、設定インタフェース2804が受信した設定情報に基づいて、記憶部2806内の設定テーブル2807に対して設定を行う。
図29は、図28の記憶部2806に記憶される設定テーブル2807のデータ構成例を示す図である。設定制御部2805は、コントローラ101から仮想NW−IDとサブネットアドレスを含む設定情報を受信すると、それらが「仮想NW−ID」項目および「サブネット」項目にそれぞれ登録されたエントリを生成する。
設定制御部2805は、そのエントリの「デフォルトルータ」項目に、上記サブネットアドレスに属するIPパケットがデフォルトで転送されるルータ103のサブインタフェースのIPアドレスを登録する。
また、設定制御部2805は、「割当アドレス」項目に、上記サブネットアドレスの範囲内で割当てることのできるIPアドレスの範囲を登録する。
さらに、設定制御部2805は、「除外アドレス」項目に、「割当アドレス」項目に登録された範囲内で特別に除外すべきIPアドレスまたはその範囲を登録する。これらの除外アドレスは、例えば固定IPアドレスとして使用される。
図29の例では、仮想NW−ID=VLAN10、サブネットアドレス=192.168.10.0/24のエントリに、デフォルトルータのIPアドレス=192.168.10.1(例えば図26のサブインタフェース2601=IF#1)が設定される。また、このエントリにおいて、割当アドレスとして、192.168.10.2から192.168.10.50までの範囲のIPアドレスが割り当てられる。ただし、このエントリにおいて、IPアドレス=192.168.10.5は除外されることが設定される。また、仮想NW−ID=VLAN20、サブネットアドレス=192.168.20.0/24のエントリに、デフォルトルータのIPアドレス=192.168.20.1(例えば図26のサブインタフェース2601=IF#2)が設定される。また、このエントリにおいて、割当アドレスとして、192.168.20.2から192.168.20.60までの範囲のIPアドレスが割り当てられる。ただし、このエントリにおいて、IPアドレス=192.168.20.30〜192.168.20.35までは除外されることが設定される。
図30は、本実施形態による図1のDNSサーバ106の構成例を示す図である。DNSサーバ106は、受信部3001、DNSプロトコル制御部3002、送信部3003、設定インタフェース3004、設定制御部3005、および記憶部3006を備える。記憶部3006には、設定テーブル3007が記憶される。
受信部3001は、特には図示しない物理イーサネットインタフェースを介して、図1の端末108や教材サーバ107aまたは成績サーバ107bなどからのサーバ名の解決要求を受信する。
DNSプロトコル制御部3002は、受信部3001が受信したサーバ名の解決要求に対して、DNSプロトコルに従って、記憶部3006内の設定テーブル3007を参照する。この結果、DNSプロトコル制御部3002は、サーバ名の解決要求に含まれるサーバ名に対応するIPアドレスを取得する。
送信部3003は、DNSプロトコル制御部3002が取得したIPアドレスを、サーバ名の解決要求の送信元のNW機器に返信する。
設定インタフェース3004は、特には図示しない物理イーサネットインタフェースを介して、コントローラ101からIPアドレスとサーバ名を含む設定情報を受信する。
設定制御部3005は、設定インタフェース3004が受信した設定情報に基づいて、記憶部3006内の設定テーブル3007に対して設定を行う。
図31は、図30の記憶部3006に記憶される設定テーブル3007のデータ構成例を示す図である。設定制御部3005は、コントローラ101からIPアドレスとサーバ名を含む設定情報を受信すると、それらが「IPアドレス」項目および「サーバ名」項目にそれぞれ登録されたエントリを生成する。
図31の例では、IPアドレス=192.168.10.10に対して図1の教材サーバ107aのサーバ名=「kyozai.server.com」が対応付けられる。また、IPアドレス=192.168.20.10に対して図1の成績サーバ107bのサーバ名=「seiseki.server.com」が対応付けられる。図1の端末108(先生端末108aや生徒端末108b)は、ユーザアプリ(自習アプリや成績評価アプリ)から教材サーバ107aや成績サーバ107bにアクセスするときに、サーバ名を含むアドレスを指定する。このとき、端末108は、DNSサーバ106に対し、サーバ名の解決要求を送信し、アクセスするサーバ名に対応するIPアドレスを取得する。そして、端末108は、そのIPアドレスが宛先IPアドレスに設定され必要なユーザデータが格納されたIPパケットを生成し、そのIPパケットを無線LANのフレームに格納して送信する。
図32は、本実施形態による図1の端末108(先生端末108a、生徒端末108b等)の構成例を示す図である。
状態管理部3201は、端末108自身の状態を管理する。具体的には、状態管理部3201は例えば、端末108の種別(先生端末108aか生徒端末108bかの別)、起動しているユーザアプリの名前等を取得する。
接続制御部3202は、状態を図1のコントローラ101に送信するための接続制御を行う。
具体的には、接続制御部3202は、状態をコントローラ101に送信する仮接続時には、次のような接続制御動作を実行する。ここで、「仮接続」とは、端末108がまだサーバ107にアクセスしていない状態で、コントローラ101に対して端末108自身の状態を通知するために確立する通信接続をいう。
まず、接続制御部3202は、状態を送信するための仮接続用のSSIDを設定する。
また、接続制御部3202は、図1のDHCPサーバ105に問い合わせて、仮接続用のIPアドレスを取得する。このとき、接続制御部3202は、コントローラ101との仮接続用の仮想NW−IDを指定して問い合わせる。これに対して、DHCPサーバ105は、仮接続用の仮想NW−IDの範囲に属する未使用のIPアドレスを端末108に返信する。
接続制御部3202は、図1のコントローラ101のIPアドレスが宛先IPアドレスとして設定され、DHCPサーバ105から仮接続用に取得した端末108自身のIPアドレスが送信元IPアドレスとして設定されたIPパケットを生成する。
このとき、接続制御部3202内の状態情報付加部3203が、上記IPパケットに、状態管理部3201が取得している端末の状態に対応する状態情報を付加する。
また、接続制御部3202は、上記IPパケットに、端末108自身の端末IDを付加する。この端末IDは、端末108のMACアドレスでよい。あるいは、他の一意な識別番号であってもよい。
接続制御部3202は、上記IPパケットが格納された上記無線LANフレームを生成する。
接続制御部3202は、この無線LANフレームに、コントローラ101との仮接続用の仮想NW−IDをタグとして付加する。
接続制御部3202は、この無線LANフレームを送受信部3204に引き渡し、コントローラ101宛てに送信させる。
その後、接続制御部3202は、コントローラ101から、送受信部3204を介して、無線LANフレームを受信する。
接続制御部3202は、受信した無線LANフレームからIPパケットを取り出し、そのIPパケットから、本接続用のSSIDと、本接続よの仮想NW−IDを取得する。ここで、「本接続」とは、端末108(先生端末108a、生徒端末108b等)が、ユーザアプリ(成績評価アプリ、自習アプリ等)を実行してサーバ107(教材サーバ107a、成績サーバ107b等)にアクセスをして通信を行う状態の接続をいう。
接続制御部3202は、本接続時には、次のような接続制御動作を実行する。
まず、接続制御部3202は、コントローラ101との仮接続を切断した後(コントローラ101が切断してもよい)、コントローラ101から受信した本接続用のSSIDを用いて、図1のWLAN−AP104に無線接続する。
次に、接続制御部3202は、コントローラ101から取得した本接続用の仮想NW−IDを付加して、図1のDHCPサーバ105に本接続用のIPアドレスを要求し取得する。
その後、接続制御部3202は、端末108自身で実行が開始されているユーザアプリ3205との連携動作を開始する。
ユーザアプリ3205との連携動作の中で、接続制御部3202は、サーバ107への送信用のデータを受け取ると、以下の接続制御動作を実行する。
まず、接続制御部3202は、サーバ107(教材サーバ107a、成績サーバ107b等)の名前をキーとして、図1のDNSサーバ106にサーバ107のIPアドレスを問合せて取得する。接続制御部3202は、このIPアドレスをキャッシュし、次回以降ユーザアプリ3205からサーバ107への送信用のデータを受け取ったときは、サーバ107の名前の指定に対してこのIPアドレスを用いる。
次に、接続制御部3202は、DNSサーバ106から取得したIPアドレスが宛先IPアドレスとして設定され、DHCPサーバ105から取得した本接続用の端末108自身のIPアドレスが送信元IPアドレスとして設定されたIPパケットを生成する。
接続制御部3202は、このIPパケットのデータ部に、サーバ107への送信用のデータを格納する。
接続制御部3202は、上記IPパケットが格納された無線LANフレームを生成する。
接続制御部3202は、この無線LANフレームに、コントローラ101から取得している本接続用の仮想NW−IDをタグとして付加する。
接続制御部3202は、この無線LANフレームを送受信部3204に引き渡し、サーバ107宛てに送信させる。
その後、接続制御部3202は、サーバ107から送受信部3204を介して無線LANフレームを受信すると、以下の制御動作を実行する。
接続制御部3202は、受信した無線LANフレームからIPパケットを取り出し、そのIPパケットから受信データを取得する。
接続制御部3202は、取得した受信データを、ユーザアプリ3205に引き渡す。
上述の接続制御部3202の動作と連携して、送受信部3204は、接続制御部3202が決定したSSIDを用いてWLAN−AP104に無線接続する。そして、送受信部3204は、接続制御部3202が生成した無線LANフレームをWLAN−AP104に向けて送信する。また、送受信部3204は、WLAN−AP104から、無線LANフレームを受信する。
図33は、図1のWLAN−AP104に設定されるSSIDテーブル3301のデータ構成例を示す図である。図1のコントローラ101からWLAN−AP104には、各VLANごとに決定されたSSIDの設定情報が通知される。WLAN−AP104は、その設定情報を内部の特には図示しない記憶部に記憶されるSSIDテーブル3301に登録する。
WLAN−AP104は、端末108からの無線接続時のSSIDと端末108から受信した無線LANフレームに付加されている仮想NW−IDの組が、SSIDテーブル3301に登録されているか否かを判定することによって、アクセスの認証を行う。
なお、「SSID100」と「VLAN100」の組は、端末108とコントローラ101が前述した仮接続時に使用するSSIDと仮想NW−IDの組である。
図34は、図6の構成を有する図1のコントローラ101を実現可能なコンピュータのハードウェア構成例を示す図である。
図34は、上記システムをソフトウェア処理として実現できるコンピュータのハードウェア構成の一例を示す図である。
図34に示されるコンピュータは、CPU3401、メモリ3402、入力装置3403、出力装置3404、外部記憶装置3405、可搬記録媒体3409が挿入される可搬記録媒体駆動装置3406、及び通信インタフェース3407を有し、これらがバス3408によって相互に接続された構成を有する。同図に示される構成は上記コントローラ101を実現できるコンピュータの一例であり、そのようなコンピュータはこの構成に限定されるものではない。
CPU3401は、当該コンピュータ全体の制御を行う。メモリ3402は、プログラムの実行、データ更新等の際に、外部記憶装置3405(或いは可搬記録媒体3409)に記憶されているプログラム又はデータを一時的に格納するRAM等のメモリである。CUP3401は、プログラムをメモリ3402に読み出して実行することにより、全体の制御を行う。
入力装置3403は、ユーザによるキーボードやマウス等による入力操作を検出し、その検出結果をCPU3401に通知する。
出力装置3404は、CPU3401の制御によって送られてくるデータを表示装置や印刷装置に出力する。
外部記憶装置3405は、例えばハードディスク記憶装置である。主に各種データやプログラムの保存に用いられる。
可搬記録媒体駆動装置3406は、SDカード、コンパクトフラッシュ(登録商標)や、CD−ROM、DVD、光ディスク等の可搬記録媒体3409を収容するもので、外部記憶装置3405の補助の役割を有する。
通信インタフェース3407は、例えばLAN(ローカルエリアネットワーク)又はWAN(ワイドエリアネットワーク)の通信回線を接続するための装置である。
本実施形態によるコントローラ101は、図6の端末状態受信部601、NWリソース管理部602、NW設定管理部603、およびNW機器設定要求送信部604の各動作を搭載したプログラムをCPU3401が実行することで実現される。このプログラムの処理は、図19から図22のフローチャート等で例示される。そのプログラムは、例えば外部記憶装置3405や可搬記録媒体3409に記録して配布してもよく、或いは通信インタフェース3407によりネットワークから取得できるようにしてもよい。
また、図6の記憶部605は、例えば図34のメモリ3402または外部記憶装置3405に対応し、図6の606から610で示される各テーブルのデータを記憶する。
図6の端末状態受信部601およびNW機器設定要求送信部604は、図34の通信インタフェース3407を介して、スイッチ102に接続されるLANケーブルに対してデータの送受信を行う。
上述の実施形態では、図1の端末108がWLAN−AP104(ネットワーク)に接続されたときに、コントローラ101がVLAN設定の制御動作を実行する構成を有する。これに加えて、図6または図7(a)の制御ポリシテーブル606の内容が変更された場合に、コントローラ101がVLAN設定の制御動作を実行する構成を有してもよい。
上述の実施形態では、学校に設置されるネットワークを例として、図1の先生端末108aや生徒端末108bが、教材サーバ107aや成績サーバ107bにアクセス場合を例として説明した。しかし、実施形態は、状態に紐付けて仮想ネットワークを作成できるネットワークであって、仮想ネットワーク同士で同じ認可リソースにアクセスしたいような様々なケースのネットワークに適用することができる。
上述の実施形態の構成では、成績サーバ107bや教材サーバ107a等の各物理サーバは、スイッチ102の1つのVLANの仮想NW−IDが設定されたポートに接続され、同時に1つのVLANの通信のみが可能なように設定された。これに対して、物理サーバ上で複数の仮想マシンが稼働し各仮想マシンごとに異なるVLANに所属させるような構成が採用される場合もある。この場合には、そのような物理サーバはスイッチ102のVLANで区別されないトランクポートに接続され、そのトランクポートを流れるイーサネットフレーム中に仮想NW−IDのタグが設定される、いわゆるタグVLANと呼ばれるVLAN方式を採用することができる。この結果、各仮想マシンは、自分が所属する仮想NW−IDが設定されたフレームのみを送受信することにより、1つの物理マシン上の各仮想マシンを任意のVLANに所属させることが可能となる。
上述の実施形態は、コントローラ101が、スイッチ102、ルータ103、WLAN−AP104、端末108、サーバ107、DHCPサーバ105、DNSサーバ106等のNW機器に対し、VLANを前提としたネットワーク設定値を設定するものである。しかしながら、実施形態は、必ずしもVLANを前提とするものではない。実施形態に共通するのは、受信した端末の状態を制御ポリシと照らし合わせることで、サーバ等のNWリソースと端末をグルーピングし、そのグループを単位としてアクセス制御を行うという考え方である。この考え方が実現できる実施形態であれば、VLAN以外の伝送制御方式を用いた実施形態が採用されてもよい。例えば、SDN(Software−Defined Network)の代表的な技術であるOpenFlowを用いた実施形態が採用されてもよい。この場合、OpenFlow方式に基づいて動作するコントローラが、上述した実施形態と同様の方式でNWリソースと端末をグルーピングする。その後、コントローラが、OpenFlow方式に従って、生成したグループに対応するネットワーク設定値をOpenFlow方式に基づくフローテーブルにマッピングし、各NW機器に配信する。各NW機器は、このフローテーブルに従って、動的に伝送経路を変更する。
以上の実施形態に関して、更に以下の付記を開示する。
(付記1)
1つ以上の仮想ネットワークにおけるネットワーク機器を設定制御するネットワークコントローラ)において、
端末から当該端末の状態を受信する端末状態受信部と、
前記端末の状態に対応するネットワークのアクセス制御を規定するアクセス制御ポリシに基づいて、前記ネットワーク機器のグルーピングを管理するグルーピング管理部と、
前記グルーピングにより生成されるグループごとにアクセス制御を行うためのネットワーク設定値を管理するネットワーク設定管理部と、
前記ネットワーク設定値を前記ネットワーク機器に対して設定指示するネットワーク設定指示部と、
を備えることを特徴とするネットワークコントローラ。
(付記2)
前記端末が前記ネットワークに接続されたとき、または前記アクセス制御ポリシが変更されたときに、前記ネットワーク設定値を前記ネットワーク機器に対して設定指示する、
ことを特徴とする付記1に記載のネットワークコントローラ。
(付記3)
前記仮想ネットワークは仮想ローカルエリアネットワークであり、
前記ネットワーク設定管理部は、前記グループごとに、前記仮想ローカルエリアネットワークの識別情報と、当該仮想ローカルエリアネットワークに対応するサブネットアドレスを決定して前記ネットワーク設定値として割り当てる、
ことを特徴とする付記1または2に記載のネットワークコントローラ。
(付記4)
前記ネットワーク設定管理部は、前記グループ間で共有するネットワーク機器がある場合に、当該共有するネットワーク機器を1つのグループの仮想ネットワークに所属させ、前記ネットワーク機器と前記1つのグループ以外のグループの仮想ネットワークとの間のネットワーク層での転送設定を前記ネットワーク設定値として決定する、
ことを特徴とする付記1ないし3のいずれかに記載のネットワークコントローラ。
(付記5)
前記ネットワーク設定管理部は、前記1つのグループ以外のグループの仮想ネットワークに割り当てられたサブネットアドレスから前記共有するネットワーク機器のインターネットプロトコルアドレスへの転送設定と、前記共有するネットワーク機器のインターネットプロトコルアドレスから前記1つのグループ以外のグループの仮想ネットワークに割り当てられたサブネットアドレスへの転送設定を、前記ネットワーク設定値として決定する、
ことを特徴とする付記4に記載のネットワークコントローラ。
(付記6)
前記ネットワーク設定管理部は、
前記1つのグループ以外のグループが削除される場合には、前記1つのグループに設定されている前記転送設定を削除する設定を、前記ネットワーク設定値として決定し、
前記1つのグループが削除される場合には、前記1つのグループ以外のグループの仮想ネットワークに前記共有するネットワーク機器を所属させた上で、前記転送設定を削除する設定を、前記ネットワーク設定値として決定し、
ことを特徴とする付記4または5に記載のネットワークコントローラ。
(付記7)
前記ネットワーク機器を所定の仮想ネットワークに固定的に所属させ、
前記ネットワーク設定管理部は、前記端末が所属するグループの仮想ネットワークと前記ネットワーク機器との間のネットワーク層での転送設定を前記ネットワーク設定値として決定する、
ことを特徴とする付記1ないし6のいずれかに記載のネットワークコントローラ。
(付記8)
前記グルーピング管理部は、前記グループを識別するためのグループ識別子と、当該グループに対応する前記端末の状態を識別するための状態識別子と、当該グループにおいて接続可能な端末を識別するための端末識別子と、当該グループにおいて認可されるネットワークリソースの識別名とを含むエントリを、当該グループごとに登録したネットワークリソース管理テーブルのデータに基づいて、前記グルーピングを管理する、
ことを特徴とする付記1ないし7のいずれかに記載のネットワークコントローラ。
(付記9)
前記ネットワーク設定管理部は、前記グループを識別するためのグループ識別子と、当該グループにおいて接続可能な端末を識別するための端末識別子と、当該グループの仮想ネットワークを識別するための仮想ネットワーク識別子と、当該仮想ネットワークに対応するネットワークアドレスと、当該ネットワークアドレスに所属し当該グループにおいて認可されるネットワークリソースのアドレスと、当該ネットワークアドレスと当該グループに属し他のネットワークアドレスに所属するネットワークリソースとの間の転送設定とを含むエントリを、当該グループごとに登録したネットワーク設定管理テーブルのデータに基づいて、前記ネットワーク設定値を管理する、
ことを特徴とする付記1ないし8のいずれかに記載のネットワークコントローラ。
(付記10)
前記ネットワーク設定管理部は、前記ネットワーク設定値を更新する前に前記ネットワーク設定管理テーブルを保存し、その後に前記ネットワーク設定管理テーブル上で前記ネットワーク設定値を更新し、
前記ネットワーク設定指示部は、前記更新後のネットワーク設定管理テーブルと前記保存された更新前のネットワーク設定管理テーブルとの間で前記ネットワーク設定値の差分を検出し、当該差分のネットワーク設定値を前記ネットワーク機器に対して設定指示する、
ことを特徴とする付記1ないし9のいずれかに記載のネットワークコントローラ。
(付記11)
前記端末の状態は、ユーザが使用する前記端末の種別、前記ユーザが前記端末で起動して使用するユーザアプリケーション、前記ユーザが前記端末を利用する場所、または前記ユーザが前記端末を利用するときのアクセス権限のいずれか1つ以上の組合せで決定される、
ことを特徴とする付記1ないし10のいずれかに記載のネットワークコントローラ。
(付記12)
前記ネットワーク機器は学校に設置され、
前記端末の種別は、前記学校の教員が使用する先生端末と、前記学校の生徒が使用する生徒端末の種別を含み、
前記ユーザアプリケーションは、前記教員が前記先生端末から成績サーバにアクセスして前記生徒の成績の評価を行う成績評価アプリケーションと、前記教員が前記先生端末から前記成績サーバおよび教材サーバにアクセスして前記生徒の採点を行う第1の自習アプリケーションと、前記生徒が前記生徒端末から前記教材サーバにアクセスして自習を行う第2の自習アプリケーションとを含む、
ことを特徴とする付記11に記載のネットワークコントローラ。
(付記13)
第1の端末の種別を有する第1の端末が第1のユーザアプリケーションを起動してアクセスを開始した端末の状態において、
前記グルーピング管理部は、前記第1の端末の種別のもとで前記第1のユーザアプリケーションからアクセスされる1つ以上のサーバと前記第1の端末とを含むグループを生成し、
前記ネットワーク設定管理部は、前記生成されたグループに含まれる前記1つ以上のサーバのうち他のグループに所属していないサーバについては、前記生成されたグループに対応する1つの仮想ネットワーク内で前記第1の端末から当該共有されないサーバへのアクセスを行わせるためのネットワーク設定値を設定し、
前記ネットワーク設定指示部は、前記設定されたネットワーク設定値を前記ネットワーク機器に対して設定指示する、
ことを特徴とする付記11または12に記載のネットワークコントローラ。
(付記14)
第1の端末の種別を有する第1の端末が第1のユーザアプリケーションを起動してアクセスを開始した端末の状態において、
前記グルーピング管理部は、前記第1の端末の種別のもとで前記第1のユーザアプリケーションからアクセスされる1つ以上のサーバと前記第1の端末とを含むグループを生成し、
前記ネットワーク設定管理部は、前記生成されたグループに含まれる前記1つ以上のサーバのうち他のグループに既に所属しているサーバについては、前記生成されたグループには所属させず、当該サーバと前記生成されたグループの仮想ネットワークとの間のネットワーク層での転送設定を前記ネットワーク設定値として決定し、
前記ネットワーク設定指示部は、前記設定されたネットワーク設定値を前記ネットワーク機器に対して設定指示する、
ことを特徴とする付記11ないし13のいずれかに記載のネットワークコントローラ。
(付記15)
第1の端末の種別を有する第1の端末が第1のユーザアプリケーションを起動してアクセスを行っている端末の状態において、前記第1の端末において前記第1のユーザアプリケーションの実行から第2のユーザアプリケーションの実行に切り替えられた場合、
前記グルーピング管理部は、前記第2のユーザアプリケーションを含む端末の状態に対応するグルーピングをやり直し、
前記ネットワーク設定管理部は、前記やり直したグルーピングに対応するネットワーク設定値の設定をやり直し、
前記ネットワーク設定指示部は、前記設定をやり直す前のネットワーク設定値と前記設定をやり直した後のネットワーク設定値とで変化があったネットワーク設定値を、前記ネットワーク機器に対して設定指示する、
ことを特徴とする付記11ないし14のいずれかに記載のネットワークコントローラ。
(付記16)
第1の端末の種別を有する第1の端末が第1のユーザアプリケーションを起動してアクセスを行っている端末の状態において、前記端末の種別および前記ユーザアプリケーションが同一である第2の端末がアクセスを開始した場合、
前記グルーピング管理部は、前記第1の端末が所属するグループに前記第2の端末を所属させ、
前記ネットワーク設定管理部は、前記第2の端末に対応するネットワーク設定値の設定を追加し、
前記ネットワーク設定指示部は、前記追加されたネットワーク設定値を、前記ネットワーク機器に対して追加設定指示する、
ことを特徴とする付記11ないし14のいずれかに記載のネットワークコントローラ。
(付記17)
第1の端末の種別を有する第1の端末および第2の端末が第1のユーザアプリケーションを起動してアクセスを行っている端末の状態において、いずれか一方の端末がアクセスを終了した場合、
前記グルーピング管理部は、前記第1の端末および前記第2の端末が所属するグループから前記アクセスを終了した端末を削除し、
前記ネットワーク設定管理部は、前記アクセスを終了した端末に対応するネットワーク設定値の設定を削除し、
前記ネットワーク設定指示部は、前記削除されたネットワーク設定値を、前記ネットワーク機器に対して削除設定指示する、
ことを特徴とする付記11または12に記載のネットワークコントローラ。
(付記18)
第1の端末の種別を有する第1の端末および第2の端末が第1のユーザアプリケーションを起動してアクセスを行っている端末の状態において、前記第2の端末において第1のユーザアプリケーションの実行から第2のユーザアプリケーションの実行に切り替えられた場合、
前記グルーピング管理部は、前記第1の端末および第2の端末が所属する第1のグループから前記第2の端末を削除するとともに、前記第1の端末の種別および前記第2のユーザアプリケーションに対応するグループが存在してなければ前記第2の端末が所属する新たな第2のグループを生成し、存在していれば前記第2の端末を当該存在しているグループに追加し、
前記ネットワーク設定管理部は、前記第1のグループに関する前記第2の端末に対応するネットワーク設定値の設定を削除するとともに、前記第2の端末に対応するグループに関するネットワーク設定値の設定を追加し、
前記ネットワーク設定指示部は、前記削除および追加されたネットワーク設定値を、前記ネットワーク機器に対して削除および追加設定指示する、
ことを特徴とする付記11ないし14のいずれかに記載のネットワークコントローラ。
(付記19)
第1の端末の種別を有する第1の端末が、第1のユーザアプリケーションを実行することにより第1のグループを形成して第1のサーバにアクセスし、第2の端末の種別を有する第2の端末が、第2のユーザアプリケーションを実行することにより第2のグループを形成して第2のサーバにアクセスするとともに、第1のサーバへのアクセスを前記第1の端末とで共有している端末の状態において、前記第1の端末がアクセスを終了した場合、
前記グルーピング管理部は、前記第1のグループを削除し、
前記ネットワーク設定管理部は、前記第1のグループを削除し、前記第2のグループの仮想ネットワークに前記第1のサーバを所属させた上で、前記第2のグループに対応して設定されている前記第1のサーバに関する転送設定を削除するように、前記ネットワーク設定値を更新し、
前記ネットワーク設定指示部は、前記更新されたネットワーク設定値を、前記ネットワーク機器に対して設定指示する、
ことを特徴とする付記11ないし14のいずれかに記載のネットワークコントローラ。
(付記20)
第1の端末の種別を有する第1の端末が、第1のユーザアプリケーションを実行することにより第1のグループを形成して第1のサーバにアクセスし、第2の端末の種別を有する第2の端末が、第2のユーザアプリケーションを実行することにより第2のグループを形成して第2のサーバにアクセスするとともに、第1のサーバへのアクセスを前記第1の端末とで共有している端末の状態において、前記第2の端末がアクセスを終了した場合、
前記グルーピング管理部は、前記第2のグループを削除し、
前記ネットワーク設定管理部は、前記第2のグループを削除し、前記第1のグループに対応して設定されている前記第1のサーバに関する転送設定を削除するように、前記ネットワーク設定値を更新し、
前記ネットワーク設定指示部は、前記更新されたネットワーク設定値を、前記ネットワーク機器に対して設定指示する、
ことを特徴とする付記11ないし14のいずれかに記載のネットワークコントローラ。
(付記21)
前記ネットワーク設定指示部は、前記端末に対応するフレームデータと前記ネットワーク機器に対応するフレームデータとの間のデータリンク層におけるスイッチングを行うスイッチ装置のポートに対して、前記仮想ネットワークを設定する、
ことを特徴とする付記1ないし20のいずれかに記載のネットワークコントローラ。
(付記22)
前記ネットワーク設定指示部は、前記フレームデータに含まれるインターネットプロトコルパケットデータについてネットワーク層における前記仮想ネットワーク間の転送を制御するルータ装置におけるサブインタフェースに対して前記仮想ネットワークを設定し、当該ルータ装置におけるルーティングテーブルまたはフィルタリングテーブルに対して転送設定に基づく経路情報またはフィルタリング情報を設定する、
ことを特徴とする付記1ないし21のいずれかに記載のネットワークコントローラ。
(付記23)
前記ネットワーク設定指示部は、前記端末が無線接続する無線ネットワークアクセスポイント装置に対して、前記仮想ネットワークおよびサービスセット識別子の組を設定する、
ことを特徴とする付記1ないし22のいずれかに記載のネットワークコントローラ。
(付記24)
前記ネットワーク設定指示部は、インターネットプロトコルアドレスの自動割当てを行うサーバ装置に対して、前記仮想ネットワークおよび当該仮想ネットワークに対応するネットワークアドレスの組を設定する、
ことを特徴とする付記1ないし23のいずれかに記載のネットワークコントローラ。
(付記25)
前記ネットワーク設定指示部は、名前解決を行うネームサーバ装置に対して、前記ネットワーク機器の名前と当該ネットワーク機器のインターネットプロトコルアドレスの対応関係を設定する、
ことを特徴とする付記1ないし24のいずれかに記載のネットワークコントローラ。
(付記26)
前記ネットワーク設定管理部は、前記ネットワーク機器が所属するグループの仮想ネットワークが割り当てられた場合または変更された場合に、前記ネットワーク機器に、自装置内で管理されている前記仮想ネットワーク上で未使用のアドレスを割り当てて管理する、
ことを特徴とする付記1ないし25のいずれかに記載のネットワークコントローラ。
(付記27)
前記ネットワーク設定管理部は、前記ネットワーク機器が所属するグループの仮想ネットワークが割り当てられた場合または変更された場合に、アドレスの自動割当てを行うサーバに前記ネットワーク機器への前記仮想ネットワーク上で未使用のアドレスの割当てを依頼し、当該依頼の結果割り当てられたアドレスを管理する、
ことを特徴とする付記1ないし25のいずれかに記載のネットワークコントローラ。
(付記28)
前記ネットワーク機器間で前記仮想ネットワーク内を中継されるデータは、レイヤ2のデータリンク層のフレームデータであり、
前記仮想ネットワーク間を転送されるデータは、前記フレームデータに格納されるデータであって、レイヤ3のネットワークのパケットデータである、
ことを特徴とする付記1ないし21のいずれかに記載のネットワークコントローラ。
(付記29)
前記ネットワークコントローラは、オープンフロー方式に基づいて動作し、前記ネットワーク設定指示部は、前記ネットワーク設定値を前記オープンフロー方式に基づくフローテーブルにマッピングし、当該フローテーブルを前記各ネットワーク機器に配信する、
ことを特徴とする付記1、2、または4ないし28のいずれかに記載のネットワークコントローラ。
(付記30)
端末から当該端末の状態を受信し、
前記端末の状態に対応するネットワークのアクセス制御を規定するアクセス制御ポリシに基づいて、1つ以上の仮想ネットワークにおけるネットワーク機器のグルーピングを管理し、
前記グルーピングにより生成されるグループごとにアクセス制御を行うためのネットワーク設定値を管理し、
前記ネットワーク設定値を前記ネットワーク機器に対して設定指示する、
ことを特徴とするネットワーク制御方法。
(付記31)
1つ以上の仮想ネットワークにおけるネットワーク機器を設定制御するコンピュータにおいて、
端末から当該端末の状態を受信する処理と、
前記端末の状態に対応するネットワークのアクセス制御を規定するアクセス制御ポリシに基づいて、前記ネットワーク機器のグルーピングを管理する処理と、
前記グルーピングにより生成されるグループごとにアクセス制御を行うためのネットワーク設定値を管理する処理と、
前記ネットワーク設定値を前記ネットワーク機器に対して設定指示する処理と、
を実行させるためのプログラム。