本発明の実施形態における通信管理システムについて図を用いて以下説明する。なお、各図中、同一又は相当する部分には同一の符号を付しており、その重複説明は適宜に簡略化乃至省略する。
[第1実施形態]
本発明の第1実施形態における通信管理システムの概略構成について図1を参照して説明する。本実施形態における通信管理システムは、端末1、AP2、WLC3、Radius4がネットワークを介して接続されている。
端末1は、パーソナルコンピュータやスマートフォンに代表される通信端末であり、無線LANインタフェース部11、IP部12、インターネットブラウザ部13で構成されている。なお、図1では、端末1は1台だけ描かれてあるが、図示上の便宜のためであり、2つ以上であってもよいことは言うまでもない。
AP2は、例えば無線LANアクセスポイント等に代表される通信装置であり、無線LANインタフェース部21(図1では記載の便宜上「無線LAN I/F」としている。)、IP部22、Ethernet(登録商標)部23、リダイレクト部24、制御情報受信部25、制御テーブル26、ARPテーブル27で構成される。なお、図1では、AP2も端末1と同様に1台だけ描かれてあるが、図示上の便宜のためであり、2つ以上であってもよいことは言うまでもない。
WLC3は、複数のAP2を集中管理する装置であり、本実施形態においては通信管理装置ともいう。WLC3は、Ethernet(登録商標)部31、IP部32、ログインページ配信部33、Radius Client部34、Web Client部35、セッションテーブル36、APテーブル37で構成される。
Radius4は、Radiusプロトコルによって認証を行う認証装置であり、Ethernet(登録商標)部41、IP部42、Radius Server部43で構成される。
端末1の無線LANインタフェース部11は以下の機能を有する。
[フレーム伝送機能]
無線LANインタフェース部11は、IP部12からIPパケットと最も合理的なネクストホップIPアドレスを受け渡された場合には、受信した最も合理的なネクストホップIPアドレスを利用し、ARPテーブルにMACアドレス要求を行う。
次に、無線LANインタフェース部11は、得られた最も合理的なネクストホップIPアドレスに対応する最も合理的なMACアドレスを得る。そして、得られた最も合理的なMACアドレスを送信先MACアドレス、無線LANインタフェース部11のMACアドレスを送信元MACアドレスとしたEthernet(登録商標)プロトコルのヘッダをIP部12から受信したIPパケットに付加する。これによりEthernet(登録商標)フレームを生成し、Ethernetフレームの送信先MACアドレスに対してEthernetフレームの伝送を行う。
無線LANインタフェース部11は、AP2の無線LANインタフェース部21からEthernetフレームを受信した場合には、Ethernetフレームの宛先MACアドレスを参照する。参照した宛先MACアドレスが、無線LANインタフェース部11のMACアドレスと一致する場合には無線LANインタフェース部11宛てのフレームであると認識し、Ethernetプロトコルのヘッダの除去を行い、生成されたIPパケットをIP部12に受け渡す。他方、参照した宛先MACアドレスが、無線LANインタフェース部11のMACアドレスと一致しない場合には、無線LANインタフェース部11宛てではないフレームと認識し、受信したフレームを破棄する。
[ARPテーブル機能]
無線LANインタフェース部11は、端末1がメモリ上に保持している、端末1と同じLANセグメントに存在する機器のMACアドレスとIPアドレスの対応関係をARP(Address Resolution Protocol)テーブルとして保持する機能を有する。
[ARPテーブル管理機能]
無線LANインタフェース部11は、上記のARPテーブルに登録のないMACアドレスの通信が発生した際に、MACアドレスとIPアドレスの対応をARPテーブルへ新たに登録する機能を有する。また、無線LANインタフェース部11は、ARPテーブルへの登録が行われてから一定時間通信がないMACアドレスとIPアドレスのエントリについてはARPテーブルから削除する。
IP部12は、インターネットブラウザ部13から受け渡された送信先IPアドレスとデータにIPプロトコルのヘッダを付加することでIPパケットを生成する。このとき、送信先IPアドレスはインターネットブラウザ部13から渡されたアドレスを設定し、送信元IPアドレスは端末1の無線LANインタフェース部11に設定されたIPアドレスを設定する。
そして、IP部12はIPパケットの宛先IPアドレスを参照し、IP部12が内部で保持しているルーティングテーブルとの照合を行い、IPパケットのネクストホップとして最も合理的なネクストホップIPアドレスを取得する。そして、生成されたIPパケットと、最も合理的なネクストホップIPアドレスを、合致する宛先IPアドレスに対して最も合理的な到達性をもつEthernet部に対して受け渡し、伝送を行わせる。なお、端末1においてはEthernet部が1個のみであるため、IP部12は無線LANインタフェース部11に対してIPパケットを受け渡す。
同様に、IP部12は、無線LANインタフェース部11からIPパケットを受信した際、IPヘッダの送信先IPアドレスの確認を行う。IP部12は、確認したIPヘッダの送信先IPアドレスが端末1の無線LANインタフェース部11のIPアドレスと一致する場合には、無線LANインタフェース部11から受信したIPパケットのヘッダの除去を行い、生成されたデータに含まれるポート番号を参照し、ポート番号に対応するアプリケーションにデータを受け渡す。なお、端末1では、IP部12はインターネットブラウザ部13にデータを受け渡す。
インターネットブラウザ部13は、一般的なWebページを閲覧するためのアプリケーションであり、端末1の操作者が指定したURLのWebサーバとIP部12を介して通信を行う。IP部12にデータを受け渡す際には、インターネットブラウザ部13内部のDNSリゾルバ機能によって通信先のURLに対応する宛先IPアドレスを解決し、宛先IPアドレスとデータをIP部12に受け渡す。
AP2の無線LANインタフェース部21は、端末1の無線LANインタフェース部11のフレーム伝送機能、ARPテーブル管理機能と同様の機能を有する。無線LANインタフェース部21は、ARPテーブル管理機能におけるMACアドレスとIPアドレスの対応エントリの追加、削除の動作をARPテーブル27に対して行う。無線LANインタフェース部21は後述するアクセス情報としてのリダイレクトURLを端末1に送信するアクセス情報送信手段として機能する。
AP2のIP部22は、無線LANインタフェース部21、Ethernet部23、リダイレクト部24、制御情報受信部25のいずれかより受け取ったパケット又はデータを、図8を用いて詳述する手順に従って転送先を決定し、決定した転送先にパケット又はデータを転送する。
Ethernet部23は、許可端末情報をWLC3から受信する許可情報受信手段としての機能に加え、以下の機能を有する。
[フレーム伝送機能]
Ethernet部23は、IP部22からIPパケットと最も合理的なネクストホップIPアドレスを受け渡された場合には、受信した最も合理的なネクストホップIPアドレスを利用し、ARPテーブル27にMACアドレス要求を行う。そして、得られた最も合理的なネクストホップIPアドレスに対応する最も合理的なMACアドレスを得る。
Ethernet部23は、得られた最も合理的なMACアドレスを送信先MACアドレス、Ethernet部23のMACアドレスを送信元MACアドレスとしたEthernetプロトコルのヘッダをIP部22から受信したIPパケットに付加することでEthernetフレームを生成し、Ethernetフレームの送信先MACアドレスに対して、Ethernetフレームの伝送を行う。
Ethernet部23は、インターネット6とAP2を中継するGateway(以下「GW」という。)5からEthernetフレームを受信した場合には、Ethernetフレームの宛先MACアドレスを参照する。参照した宛先MACアドレスがEthernet部23のMACアドレスと一致する場合にはEthernet部23宛てのフレームであると認識し、Ethernetプロトコルのヘッダの除去を行い、生成されたIPパケットをIP部22に受け渡す。他方、Ethernet部23は、参照した宛先MACアドレスがEthernet部23のMACアドレスと一致しない場合には、Ethernet部23宛てではないフレームと認識し、受信したフレームを破棄する。
[ARPテーブル機能]
Ethernet部23は、AP2がメモリ上に保持している、AP2と通信を行っている機器のMACアドレスとIPアドレスの対応関係をARPテーブルとして保持する機能を有する。
[ARPテーブル管理機能]
Ethernet部23は、上記ARPテーブルに登録のないMACアドレスの通信が発生した際に、MACアドレスとIPアドレスの対応を新たに登録する機能を有する。またEthernet部23は、ARPテーブルへの登録が行われてから一定時間通信がないMACアドレスとIPアドレスのエントリについてはテーブルから削除を行う。
リダイレクト部24は、無線通信を介してネットワークへの接続要求を行う端末を特定する接続要求端末情報が許可端末情報として制御テーブル26に記憶されていないとき、その端末がネットワークへ接続するための認証情報を入力させる認証画面を提供する提供元情報(例えばWebサイト等)にアクセスするための情報(例えばURL等)に接続要求端末情報とアクセスポイントを特定するアクセスポイント情報を加えたアクセス情報(リダイレクトURL)を生成するアクセス情報生成手段である。リダイレクト部24は、端末1に送信するリダイレクトURLを生成し、通知する機能を有する。リダイレクト部24は、IP部22からデータを渡された際に、データがhttpであった場合、受信したhttpデータに含まれる端末1のIPアドレスをキーとしたMACアドレス要求をARPテーブル27に送信する。これにより、リダイレクト部24はARPテーブル27から対応するMACアドレスを得る。
そして、リダイレクト部24は、WLC3のログインページ配信部33のログインページのURLに、Ethernet部23のMACアドレスと、ARPテーブル27より取得したMACアドレスを付加したリダイレクト要求のhttpデータを作成し、IP部22に受け渡す。なお、Ethernet部23のMACアドレスについては事前にリダイレクト部24の内部メモリに格納されているものとする。
例えば、端末1の無線LANインタフェース部11に設定されているIPアドレスが『192.168.0.11』、端末1の無線LANインタフェース部11に設定されているMACアドレスが『00:00:00:00:00:11』、Ethernet部23に設定されているIPアドレスが『133.0.0.23』、Ethernet部23に設定されているMACアドレスが『00:00:00:00:00:23』であった場合、リダイレクト部24は、受信したhttpデータに含まれるIPアドレス『192.168.0.11』をキーとしてMACアドレス要求をARPテーブル27に送信する。
そして、リダイレクト部24は、対応するMACアドレス『00:00:00:00:00:11』を含んだMACアドレス返答を得る。そして、リダイレクト部24は、WLC3のログインページ配信部33のログインページのURL『https://133.0.0.31/login?』に、Ethernet部23のMACアドレス『00:00:00:00:00:23』、ARPテーブル27より取得したMACアドレス『00:00:00:00:00:11』を付加したURL『https://133.0.0.31/login?ap_mac=00-00-00-00-00-23&src_mac=00-00-00-00-00-11』を含んだリダイレクト要求のhttpデータをIP部22に受け渡す。
制御情報受信部25は、IP部22を経由してWLC3のWeb Client部35からデータをhttpsで受信し、受信したデータに含まれるMACアドレスをARPテーブル27に受け渡し、ARPテーブル27から対応するIPアドレスを得る。その後、制御情報受信部25は、受信したMACアドレスと取得したIPアドレスを制御テーブル26に対して渡す。
制御テーブル26へのデータの受け渡し実施後、制御情報受信部25は、Ethernet部23のIPアドレスに対してMACアドレスのデータを受信したことを示すhttpsのレスポンスメッセージのデータを生成し、IP部22を介してWLC3のWeb Client部35に対してhttpsのデータを送信する。
制御テーブル26は、ネットワークとの通信が許可された許可端末を特定する許可端末情報を記憶する許可端末情報記憶手段として機能する。すなわち、制御テーブル26は通信を許可された端末のMACアドレスと許可されたIPアドレスとの対応関係を格納するテーブルである。制御情報受信部25からMACアドレスとIPアドレスを受け渡された際に、制御テーブル26は受信したMACアドレスとIPアドレスを制御テーブル26内に追加する。
また、制御テーブル26は、IP部22から、許可された端末のIPアドレス262の参照要求を受信すると、参照要求に含まれるIPアドレスをキーに許可された端末のIPアドレス262の検索を行う。
制御テーブル26は、参照要求に含まれるIPアドレスが、許可された端末のIPアドレス262に含まれる場合は、許可された端末のIPアドレス262に参照要求に含まれるIPアドレスが存在することをメッセージとして含んだ参照応答をIP部22に対して受け渡す。他方、制御テーブル26は、参照要求に含まれるIPアドレスが許可された端末のIPアドレス262に含まれない場合は、許可された端末のIPアドレス262に参照要求に含まれるIPアドレスが存在しないことメッセージとして含んだ参照応答をIP部22に対して受け渡す。
ARPテーブル27は、端末1の無線LANインタフェース部11の機能と同様の構成を有し、及び無線LANインタフェース部11と同様の動作を行うため説明を省略する。
WLC3のEthernet部31はAP2のEthernet部23と同様の動作を行う。また、WLC3のIP部32も、端末1のIP部12と同様の動作を行うため説明を省略する。
ログインページ配信部33は、接続要求端末がアクセス情報に基づいてネットワークへ接続しようとするとき、提供元情報として例えばURL等を接続要求端末に送信し、提供元情報に基づいて提供される認証画面に入力されたログインIDやパスワード等の接続認証情報を接続要求端末から受信する通信手段として機能する。具体的には、ログインページ配信部33は以下の機能を有する。
[Webページ配信機能]
ログインページ配信部33は、端末1からhttpsでのWebページリクエストを受け取ると、受信したhttpsデータにおけるリクエスト内のURLに含まれるAP2のEthernet部23のMACアドレスと端末1の無線LANインタフェース部11のMACアドレスとをログインページ配信部33の記憶領域に一時的に格納する。
その後、ログインページ配信部33は、端末1のインターネットブラウザ部13に対し、httpsの認証画面となるWebページのhttpsのデータを、IP部22を介して端末1のインターネットブラウザ部13に送信する。
ログインページ配信部33は、認証に利用するIDとパスワードを含んだhttpsのデータを受信すると、Radius Client部34に対して受信したIDとパスワードの受け渡しを行う。このとき、Radius Client部34起動時にプロセスIDが発行される。
ログインページ配信部33は、Radius Client部34への、ID及びパスワードの受け渡しの後、httpsのデータを受信した際の送信元IPアドレスと、送信元ポート番号、ログインページ配信部33の記憶領域に一時的に格納していた、AP2のEthernet部23のMACアドレス及び端末1の無線LANインタフェース部11のMACアドレスと、Radius Client部34へのデータの受け渡しを行った際に発行されたプロセスIDからなるレコードデータをセッションテーブル36に渡す。
[AP2への端末情報の通知機能]
ログインページ配信部33は、Radius Client部34から認証結果を受信した際には、認証結果を送信してきたRadius Client部34のプロセスIDをキーにセッションテーブル36を検索する。そして、ログインページ配信部33は、対応するレコードとして、データを受信した際の送信元IPアドレス、送信元ポート番号、AP2のEthernet部23のMACアドレス、端末1の無線LANインタフェース部11のMACアドレスを取得し、ログインページ配信部33の記憶領域に一時的に格納する。
その後、ログインページ配信部33は、ログインページ配信部33の記憶領域に一時的に格納されているAP2のEthernet部23のMACアドレスをAPテーブル37に対して受け渡し、AP2のEthernet部23のIPアドレスを取得する。そして、ログインページ配信部33は、取得したAP2のEthernet部23のIPアドレスと端末1の無線LANインタフェース部11のMACアドレスをWeb Client部35に受け渡す。
[端末情報の通知の完了処理機能]
ログインページ配信部33は、AP2のEthernet部23のIPアドレスに対して端末1の無線LANインタフェース部11のMACアドレスのデータの送信が完了した旨の通知をWeb Client部35より受信すると、セッションテーブル36に対し、端末1の無線LANインタフェース部11のMACアドレスをキーとしたレコードの削除要求を送信し、削除要求に係るレコードを削除する。その後、ログインページ配信部33は認証成功を示すWebページのデータをhttpsで端末1のインターネットブラウザ部13に対しIP部32を介して送信する。
認証手段としてのRadius Client部34は、ログインページ配信部33から受け渡されたID及びパスワードの認証要求を、IP部32を介してRadius4のRadius Server部43に対して行う。なお、このとき、Radius Server部43のIPアドレスはRadius Client部34内の記憶領域に事前に格納されている。
また、Radius Client部34は、Radius Server部43からIP部32を介して認証結果を受信した際には、ログインページ配信部33に対し、Radius Server部43から受信した認証結果を受け渡す。
Web Client部35は、Radius4により接続要求を行った端末が認証されたとき、端末情報記憶手段としてのAPテーブル37に記憶されたアクセスポイント情報により特定されるアクセスポイントに接続要求を行った端末によるインターネット6との通信を許可する許可端末情報を接続要求を行った端末情報とともに送信する許可端末情報送信手段として機能する。Web Client部35は、端末1の無線LANインタフェース部11のMACアドレス、及びAP2のIPアドレスをログインページ配信部33から受信した際に、AP2のIPアドレスを宛先として、AP2の制御情報受信部25に対し、端末1の無線LANインタフェース部11のMACアドレスをhttpsで通知する。
Web Client部35は、制御情報受信部25から、IP部32を介して、AP2のEthernet部23のIPアドレスに対して端末1の無線LANインタフェース部11のMACアドレスのデータの送信が完了したことを示すhttpsのレスポンスメッセージを受信した後、Ethernet部23のIPアドレスに対して無線LANインタフェース部11のMACアドレスのデータの送信が完了したことを通知するメッセージをログインページ配信部33に対して送信する。
セッションテーブル36は、認証要求を行ってきた端末の送信元IPアドレスと、認証要求を行ってきた端末の送信元ポート番号と、認証要求を行ってきた端末が帰属するAPのMACアドレスと、認証要求を行ってきた端末のMACアドレスと、ログインページ配信部33が認証要求のあったIDとパスワードをRadius Client部34に受け渡す際に発行されるプロセスIDとの対応関係を示すレコードデータが格納されたテーブルである。
セッションテーブル36は、システムの動作初期状態ではデータを格納していない。
データが追加されるとき、セッションテーブル36は要素の追加要求をログインページ配信部33より受信した際は、プロセスIDをキーとしてエントリを追加する。
セッションテーブル36は、データ参照時、ログインページ配信部33からプロセスIDを検索キーとして受け取ると、該当するエントリのデータをログインページ配信部33に返却する。
データ削除時、セッションテーブル36はログインページ配信部33から要素の削除要求を受け取ると、受信したプロセスIDをキーとするレコードをセッションテーブル36から削除する。
APテーブル37は、APのMACアドレスに対応するAPのIPアドレスが記載されたテーブルである。APテーブル37はログインページ配信部33からAPのMACアドレスを検索キーとして受け取ると、APのIPアドレスをログインページ配信部33に返却する。
Radius4のEthernet部41はAP2のEthernet部23と同様の動作を行うため説明を省略する。また、IP部42についても、端末1のIP部12と同様の動作を行うため説明を省略する。
Radius Server部43は、IP部42を通じてWLC3のRadius Client部34から受信した認証要求に含まれるID及びパスワードと、Radius Server部43の内部に格納されているID及びパスワードとを比較し、一致している場合には認証成功とするメッセージを、一致していない場合は認証失敗とするメッセージを、Radius Client部35に対してIP部42を介して返答する。
次に、図1に示した制御テーブル26について図2を参照して説明する。制御テーブル26は、許可された端末のMACアドレス261及び許可された端末のIPアドレス262で構成される。許可された端末のMACアドレス261は、AP2に帰属する端末のうち、外部との通信を許可した端末のMACアドレスを格納する。また、許可された端末のIPアドレス262は、AP2に帰属する端末のうち、外部との通信を許可した端末のIPアドレスを格納する。
ここでは、一例として、許可された端末のMACアドレス261『aa:bb:cc:dd:ee:ff』に、許可された端末のIPアドレス262『192.168.0.2』が対応付けられ、許可された端末のMACアドレス261『aa:bb:cc:dd:ef:00』に、許可された端末のIPアドレス262『192.168.0.3』が対応付けられている。
次に、図1に示したARPテーブル27について図3を参照して説明する。ARPテーブル27は、端末のMACアドレス271及び端末のIPアドレス272で構成される。端末のMACアドレス271は、過去の一定時間の間にAP2の無線LANインタフェース部21と通信を行った端末のMACアドレスを格納する。端末のIPアドレス272は、過去の一定時間の間にAP2の無線LANインタフェース部21と通信を行った端末のIPアドレスを格納する。
ここでは、一例として、端末のMACアドレス271『aa:bb:cc:dd:ee:ff』に、端末のIPアドレス272『192.168.0.2』が対応付けられ、端末のMACアドレス271『aa:bb:cc:dd:ef:00』に、端末のIPアドレス272『192.168.0.3』が対応付けられている。
次に、図1に示したログインページ配信部33が端末1に対して送信を行う認証用Webページの一例である認証用Webページ331について図4を参照して説明する。ここでは、認証用Webページ331は、IDを入力するテキストボックス3311と、パスワードを入力するテキストボックス3312と、入力したID及びパスワードをログインページ配信部33に対して送信させる動作を行わせる送信ボタン3313から構成される。
次に、ログインページ配信部33が端末1に対して認証が成功したことを通知するための認証結果の表示例である認証結果Webページ332について図5を参照して説明する。ここでは、メッセージ3321として『ログインに成功しました。』が認証結果Webページ332に表示される。
次に、図1に示したセッションテーブル36について図6を参照して説明する。セッションテーブル36は、送信元IPアドレス361、送信元ポート番号362、APのMACアドレス363、端末のMACアドレス364、プロセスID365で構成される。
送信元IPアドレス361は、認証要求を行ってきた端末の送信元IPアドレスを格納する。送信元ポート番号362は、認証要求を行ってきた端末の送信元ポート番号を格納する。また、APのMACアドレス363は、認証要求を行ってきた端末が帰属するAPのMACアドレスを格納する。また、端末のMACアドレス364は、認証要求を行ってきた端末のMACアドレスを格納する。さらに、プロセスID365は、ログインページ配信部33が認証要求のあったIDとパスワードをRadius Client部34に受け渡す際にWLC3内部のOSから発行されるプロセスIDを格納する。
ここでは、一例として、送信元IPアドレス361『aaa:bbb:ccc:1』と、送信元ポート番号362『12345』と、APのMACアドレス363『00:11:22:33:44:55』と、端末のMACアドレス364『11:22:33:44:55:66』と、プロセスID365『6789』が対応付けられている。また、送信元IPアドレス361『aaa:bbb:ccc:2』と、送信元ポート番号362『12346』と、APのMACアドレス363『00:11:22:33:44:56』と、端末のMACアドレス364『11:22:33:44:55:67』と、プロセスID365『6790』が対応付けられている。
次に、図1に示したAPテーブル37について図7を参照して説明する。APテーブル37は、WLC3のWeb Client部35が認証に成功した端末のIPアドレスをAPに通知する際に必要となるAPのMACアドレスとAPのIPアドレスを格納したものであり、APのMACアドレス371と、これに対応するAPのIPアドレス372で構成される。
ここでは、一例として、APのMACアドレス371『00:11:22:33:44:55』に、APのIPアドレス372『xxx.yyy.zzz.1』が対応付けられ、APのMACアドレス371『00:11:22:33:44:56』に、APのIPアドレス372『xxx.yyy.zzz.2』が対応付けられている。
次に、図1に示したIP部22の動作フローについて図8を参照して説明する。IP部22は、無線LANインタフェース部21からパケットを受信(ステップS601)した場合、Ethernet部23からパケットを受信(ステップS602)した場合、リダイレクト部24からデータを受信(ステップS603)した場合、又は、制御情報受信部25からデータを受信(ステップS604)した場合、処理を開始する。
IP部22は、リダイレクト部24又は制御情報受信部25から受信したデータについてはIPヘッダの付加を行う(ステップS605)。
そして、IP部22は、IPヘッダの送信先IPアドレスがAP2の無線LANインタフェース部21のIPアドレス、又はEthernet部23のIPアドレスであるかどうかを確認する(ステップ606)。
IP部22は、IPヘッダの送信先IPアドレスがAP2の無線LANインタフェース部21のIPアドレス又はEthernet部23のIPアドレスである場合(ステップ606、YES)、IPパケットのヘッダを除去する(ステップS607)。
その後、IP部22は、生成されたデータに含まれるポート番号を参照し(ステップS608)、送信先ポート番号が80であった場合(ステップS608、ポート番号80)、リダイレクト部24にデータを受け渡す(ステップS609)。他方、IP部22は、送信ポート番号が443であった場合(ステップS608、ポート番号443)、制御情報受信部25にデータを受け渡す(ステップS610)。
一方、IP部22は、IPヘッダの送信先IPアドレスがAP2の無線LANインタフェース部21のIPアドレス又はEthernet部23のIPアドレスでない場合(ステップ606、NO)、パケットを受信したEthernet部がEthernet部23であるかどうかを確認する(ステップS611)。
IP部22は、パケットを受信したEthernet部がEthernet部23であった場合(ステップS611、YES)、IPパケットの宛先IPアドレスを参照し、IP部22が内部で保持しているルーティングテーブルとの照合を行い、IPパケットのネクストホップとして最も合理的なネクストホップIPアドレスを取得する(ステップS612)。そして、IP部22は、生成されたIPパケットと、最も合理的なネクストホップIPアドレスを、合致する宛先IPアドレスに対して最も合理的な到達性をもつEthernet部に対して受け渡し、伝送を行わせる(ステップS613)。
他方、IP部22は、パケットを受信したEthernet部がEthernet部23でない場合(ステップS611、NO)、IPヘッダの送信元IPアドレスを検索キーとして制御テーブル26を参照する(ステップS614)。
IP部22は、IPヘッダの送信元IPアドレスが制御テーブル26上に存在する場合(ステップS614、YES)、上記のステップS612、ステップS613を実行する。他方、IP部22は、IPヘッダの送信元IPアドレスが制御テーブル26上に存在しない場合は(ステップS614、NO)、IPヘッダの送信先IPアドレスをキーとして制御テーブル26を参照する(ステップS615)。
そして、IP部22は、IPヘッダの送信先IPアドレスが制御テーブル26上に存在する場合は(ステップS615、YES)、ステップS612、ステップS613を実行する。他方、IP部22は、IPヘッダの送信先IPアドレスが制御テーブル26上に存在しない場合は(ステップS615、NO)、パケットをリダイレクト部24に受け渡す(ステップS616)。
次に、第1実施形態における通信管理システムの動作手順について図9を参照して説明する。
[初期状態]
本手順開始前の初期状態について説明する。ここでは、ユーザは端末1をAP2に対して無線で接続している状態とし、各装置のEthernet部のMACアドレスと対応するIPアドレスは以下のものが設定されているものとする。
端末1の無線LANインタフェース部11のMACアドレスは『00:00:00:00:00:11』であり、IPアドレスは『192.168.0.11』である。
AP2の無線LANインタフェース部21のMACアドレスは『00:00:00:00:00:21』であり、IPアドレスは『192.168.0.21』である。
AP2のEthernet部23のMACアドレスは『00:00:00:00:00:23』であり、IPアドレスは『133.0.0.23』である。
WLC3のEthernet部31のMACアドレスは『00:00:00:00:00:31』であり、IPアドレスは『133.0.0.31』である。
Radius4のEthernet部41のMACアドレスは『00:00:00:00:00:41』であり、IPアドレスは『133.0.0.41』である。
GW5のEthernet部のMACアドレスは『00:00:00:00:00:51』であり、IPアドレスは『133.0.0.51』である。
また、各装置のアプリケーションに対して指定されたポート番号は以下であるとする。
端末1のインターネットブラウザ部13のポート番号は『10013』であり、AP2のリダイレクト部24のポート番号は『80』であり、AP2の制御情報受信部25のポート番号は『443』であり、WLC3のログインページ配信部33のポート番号は『443』であり、WLC3のRadius Client部34のポート番号は『30034』であり、WLC3のWeb Client部35のポート番号は『30035』であり、Radius4のRadius Server部43のポート番号は『1812』である。
また、Webサーバ8のURL、対象ページのIPアドレスは以下のものとする。
Webサーバ8のURLが『http://www.******.ne.jp/』であり、IPアドレスが『133.0.0.1』である。
WLC3のログインページ配信部33のURLは『https://133.0.0.31/』であるとする。
Radius4に登録されているユーザアカウントは次の通りであり、ここではログインIDを『user』、パスワードを『musen』とする。
さらに、AP2のリダイレクト部24において、リダイレクト部24の内部メモリにAP2のEthernet部23のMACアドレス『00:00:00:00:00:23』が格納されているものとする。
AP2の制御テーブル26には、以下のレコードが登録されているものとする。
許可された端末のMACアドレス261『00:00:00:00:00:21』に、許可された端末のIPアドレス262『192.168.0.21』が対応付けて登録され、許可された端末のMACアドレス261『00:00:00:00:00:23』に、許可された端末のIPアドレス262『133.0.0.23』が対応付けて登録され、許可された端末のMACアドレス261『00:00:00:00:00:31』に、許可された端末のIPアドレス262『133.0.0.31が対応付けて登録されているものとする。
また、AP2のARPテーブル27には、以下のレコードが登録されているものとする。
端末のMACアドレス271『00:00:00:00:00:11』に、端末のIPアドレス272『192.168.0.11』が対応付けられ、端末のMACアドレス271『GW5のMACアドレス』に、端末のIPアドレス272『GW5のIPアドレス』が対応付けられて登録されているものとする。なお、WLC3のセッションテーブル36に登録されているレコードはないものとする。
さらに、AP2の設置時にAP2のEthernet部23のMACアドレス『00:00:00:00:00:23』と対応するIPアドレス『133.0.0.23』は、AP2の電源投入時にAP2からWLC3のAPテーブル37に通知され、APテーブル37には、AP2のMACアドレス『00:00:00:00:00:23』及びAP2のIPアドレス『133.0.0.23』があらかじめ登録されているものとする。
[認証前]
次に、端末1の認証前の動作を示すシーケンス001について説明する。まず、ユーザがサーバ8内のURL『http://www.******.ne.jp/』で検索されるWebページにアクセスする操作を端末1のインターネットブラウザ部13に対して行うと、端末1のインターネットブラウザ部13は、ユーザが指定したURL『http://www.******.ne.jp/』にアクセスするアクセス要求のデータを生成する。そしてインターネットブラウザ部13内部のDNSリゾルバ機能は通信先のURL『http://www.******.ne.jp/』に対応する宛先IPアドレスの解決を行い、対応する宛先IPアドレス『133.0.0.1』を得る。そして、インターネットブラウザ部13は、宛先IPアドレス『133.0.0.1』とhttpデータをIP部12に対して受け渡す。
次に、IP部12はインターネットブラウザ部13から受け渡されたデータに、送信元IPアドレスには『192.168.0.11』を、送信先IPアドレスにはインターネットブラウザ部13より受け渡された宛先IPアドレス『133.0.0.1』を設定したIPプロトコルのヘッダを付加することでIPパケットを生成する。
そして、IP部12は生成されたIPパケットの送信先IPアドレスの参照を行い、内部で保持しているルーティングテーブルとの照合を行う。照合した結果、IP部12は、送信先IPアドレスに対して最も合理的な到達性をもつEthernet部は無線LANインタフェース部11で、ネクストホップIPアドレスは『192.168.0.21』と判定し、無線LANインタフェース部11にIPパケットとネクストホップIPアドレス『192.168.0.21』を受け渡し、伝送を行わせる。
無線LANインタフェース部11は、IP部12からIPパケットとネクストホップIPアドレス『192.168.0.21』を受け取り、無線LANインタフェース部11内部のARPテーブルに対してネクストホップIPアドレス『192.168.0.21』でMACアドレス要求を行うことでネクストホップIPアドレス『192.168.0.21』に対応するMACアドレス『00:00:00:00:00:21』を得る。そして、無線LANインタフェース部11は、送信元MACアドレスを『00:00:00:00:00:11』、送信先MACアドレスを『00:00:00:00:00:21』としたEthernetプロトコルのヘッダを付加することでEthernetフレームを生成し、無線で接続されているAP2の無線LANインタフェース部21に対して、Ethernetフレームを渡す。
AP2の無線LANインタフェース部21は端末1の無線LANインタフェース部11からフレームを受信すると、Ethernetフレームの宛先MACアドレスの参照を行う。Ethernetフレームの宛先MACアドレス『00:00:00:00:00:21』は無線LANインタフェース部21のMACアドレス『00:00:00:00:00:21』と一致するため、Ethernetプロトコルのヘッダの除去を行い、生成されたIPパケットをIP部22に受け渡す。
IP部22は、無線LANインタフェース部21からパケットを渡され、IPヘッダの送信先IPアドレスがAP2の無線LANインタフェース部21のIPアドレス、又は、Ethernet部23のIPアドレスに一致するかどうかの確認を行う。その結果、IPヘッダの送信先IPアドレス『133.0.0.1』はAP2の無線LANインタフェース部21のIPアドレス『192.168.0.21』、Ethernet部23のIPアドレス『133.0.0.23』のいずれとも一致しないため、IP部22は次にパケットを受信したEthernet部がEthernet部23であるかどうかの確認を行う。その結果、パケットは無線LANインタフェース部21から受信しているため、Ethernet部23とは一致しない。よって、IP部22は、次にIPヘッダの送信元IPアドレス『192.168.0.11』が制御テーブル26上に存在するかどうかを確認する。その結果、IPヘッダの送信元IPアドレス『192.168.0.11』は、制御テーブル26上に存在しないため、IP部22は、次にIPヘッダの送信先IPアドレス『133.0.0.1』が制御テーブル26上に存在するかどうかを確認する。その結果、IPヘッダの送信先IPアドレス『133.0.0.1』は制御テーブル26上に存在しないため、IP部22は、IPパケットのヘッダの除去を行い、リダイレクト部24にデータを受け渡す。
次に、シーケンスS002において、リダイレクト部24は、IP部22から渡されたデータがhttpであるため、httpの要求元のIPアドレス『192.168.0.11』を含んだMACアドレス要求をARPテーブル27に送信する。
次に、シーケンスS003において、リダイレクト部24はARPテーブル27からIPアドレス『192.168.0.11』に対応するMACアドレス『00:00:00:00:00:11』を含んだMACアドレス返答を得る。
その後、シーケンスS004において、リダイレクト部24は、WLC3のログインページ配信部33のログインページのURL『https://133.0.0.31/』に、内部メモリに格納されたAP2のEthernet部23のMACアドレス『00:00:00:00:00:23』、ARPテーブル27より取得したMACアドレス『00:00:00:00:00:11』を付加したURL『https://133.0.0.31/login?ap_mac=00-00-00-00-00-23&src_mac=00-00-00-00-00-11』をリダイレクト先アドレスとするリダイレクト要求のhttpデータをIP部22に受け渡す。
IP部22は、リダイレクト部24から渡されたデータに送信元IPアドレス『192.168.0.21』、送信先IPアドレス『192.168.0.11』とするIPヘッダを付加する。そして、IPヘッダの送信先IPアドレス『192.168.0.11』がAP2の無線LANインタフェース部21のIPアドレス、又はEthernet部23のIPアドレスであるかどうかを確認する。その結果、IPヘッダの送信先IPアドレス『192.168.0.11』はAP2の無線LANインタフェース部21のIPアドレス『192.168.0.21』、又はEthernet部23のIPアドレス『133.0.0.23』のいずれとも一致しないため、IP部22は、次にパケットを受信したEthernet部がEthernet部23であるかどうかを確認する。その結果、パケットはリダイレクト部24より受信しているため、Ethernet部23とは一致しない。したがって、IP部22は、次に、IPヘッダの送信元IPアドレス『192.168.0.21』を検索キーとして制御テーブル26を参照し、送信元IPアドレス『192.168.0.21』が制御テーブル26上に存在するかどうかを確認する。その結果、送信元IPアドレス『192.168.0.21』が制御テーブル26上に存在するため、IP部22は、IPパケットの宛先IPアドレス『192.168.0.11』を参照し、IP部22が内部で保持しているルーティングテーブルとの照合を行い、IPパケットのネクストホップとして最も合理的なネクストホップIPアドレスとしてIPアドレス『192.168.0.11』を取得する。そして、生成されたIPパケットと、最も合理的なネクストホップIPアドレス『192.168.0.11』を、合致する宛先IPアドレス『192.168.0.11』に対して最も合理的な到達性をもつ無線LANインタフェース部21に対して受け渡し、伝送を行わせる。
無線LANインタフェース部21はIP部22からIPパケットとネクストホップIPアドレス『192.168.0.11』を受け取り、ARPテーブル27に対してネクストホップIPアドレス『192.168.0.11』でMACアドレス要求を行うことで、ネクストホップIPアドレス『192.168.0.11』に対応するMACアドレス『00:00:00:00:00:11』を得る。そして、送信元MACアドレスを『00:00:00:00:00:21』、送信先MACアドレスを『00:00:00:00:00:11』としたEthernetプロトコルのヘッダを付加することでEthernetフレームを生成し、無線で接続されている端末1の無線LANインタフェース部11に対して、Ethernetフレームの伝送を行う。
端末1の無線LANインタフェース部11は、AP2の無線LANインタフェース部21からフレームを受信すると、Ethernetフレームの送信先MACアドレス『00:00:00:00:00:11』の参照を行う。Ethernetフレームの宛先MACアドレス『00:00:00:00:00:11』は無線LANインタフェース部11のMACアドレス『00:00:00:00:00:11』と一致するため、Ethernetプロトコルのヘッダの除去を行い、生成されたIPパケットをIP部12に受け渡す。
IP部12は、無線LANインタフェース部11から受信したIPパケットのIPヘッダの送信先IPアドレスと端末1の無線LANインタフェース部11のIPアドレス『192.168.0.11』が一致しているかどうか確認を行う。その結果、IPヘッダの送信先IPアドレス『192.168.0.11』と端末1の無線LANインタフェース部11のIPアドレス『192.168.0.11』は一致するため、IPヘッダの除去を行い、生成されたデータに含まれる送信先ポート番号を参照する。IP部12は、送信先ポート番号『80』に対応するアプリケーションはインターネットブラウザ部13であるため、インターネットブラウザ部13にデータを受け渡す。
次に、シーケンスS005において、インターネットブラウザ部13はIP部12から受信したhttpデータのリダイレクト要求に含まれたリダイレクト先のURL『https://133.0.0.31/login?ap_mac=00-00-00-00-00-23&src_mac=00-00-00-00-00-11』を得る。そして、ここに対してアクセスを行うため、リダイレクト先のURL『https://133.0.0.31/login?ap_mac=00-00-00-00-00-23&src_mac=00-00-00-00-00-11』へのhttpsのアクセス要求のデータ生成し、IP部12にデータを受け渡す。
IP部12はインターネットブラウザ部13から受け渡されたデータに、送信元IPアドレスが『192.168.0.11』、送信先IPアドレスが『133.0.0.31』に設定したIPプロトコルのヘッダを付加することでIPパケットを生成する。
IP部12は、生成されたIPパケットの送信先IPアドレスの参照を行い、内部で保持しているルーティングテーブルとの照合を行う。照合した結果、IP部12は、送信先IPアドレス『133.0.0.31』に対して最も合理的な到達性をもつEthernet部は無線LANインタフェース部11で、ネクストホップIPアドレスは『192.168.0.21』と判定し、無線LANインタフェース部11にIPパケットとネクストホップIPアドレス『192.168.0.21』を受け渡し、伝送を行わせる。
無線LANインタフェース部11は、IP部12からIPパケットとネクストホップIPアドレス『192.168.0.21』を受け取り、無線LANインタフェース部11内部のARPテーブルに対してネクストホップIPアドレス『192.168.0.21』でMACアドレス要求を行うことでネクストホップIPアドレス『192.168.0.21』に対応するMACアドレス『00:00:00:00:00:21』を得る。そして、無線LANインタフェース部11は送信元MACアドレスを『00:00:00:00:00:11』、送信先MACアドレスを『00:00:00:00:00:21』としたEthernetプロトコルのヘッダを付加することでEthernetフレームを生成し、無線で接続されているAP2の無線LANインタフェース部21に対して、Ethernetフレームを渡す。
AP2の無線LANインタフェース部21は、端末1の無線LANインタフェース部11からフレームを受信すると、Ethernetフレームの宛先MACアドレスの参照を行う。Ethernetフレームの宛先MACアドレス『00:00:00:00:00:21』は無線LANインタフェース部21のMACアドレス『00:00:00:00:00:21』と一致するため、無線LANインタフェース部21は、Ethernetプロトコルのヘッダの除去を行い、生成されたIPパケットをIP部22に受け渡す。
IP部22は、無線LANインタフェース部21からパケットを渡されると、IPヘッダの送信先IPアドレスがAP2の無線LANインタフェース部21のIPアドレス、又はEthernet部23のIPアドレスに一致するかどうかの確認を行う。その結果、IPヘッダの送信先IPアドレス『133.0.0.31』はAP2の無線LANインタフェース部21のIPアドレス『192.168.0.21』、Ethernet部23のIPアドレス『133.0.0.23』のいずれとも一致しないため、IP部22は、次にパケットを受信したEthernet部がEthernet部23であるかどうかの確認を行う。その結果、パケットは無線LANインタフェース部21から受信しているため、Ethernet部23とは一致しない。よって、IP部22は、次にIPヘッダの送信元IPアドレス『192.168.0.11』が制御テーブル26上に存在するかどうかを確認する。結果、IPヘッダの送信元IPアドレス『192.168.0.11』は、制御テーブル26上に存在しないため、次にIPヘッダの送信先IPアドレス『133.0.0.31』が制御テーブル26上に存在するかどうかを確認する。結果、IPヘッダの送信先IPアドレス『133.0.0.31』は制御テーブル26上に存在するため、IPヘッダの送信先IPアドレスの参照を行い、IP部22内部で保持しているルーティングテーブルとの照合を行う。照合した結果、IP部22は、送信先IPアドレスに対して最も合理的な到達性をもつEthernet部はEthernet部23で、ネクストホップIPアドレスは『133.0.0.51』と判定し、Ethernet部23にIPパケットとネクストホップIPアドレス『133.0.0.51』を受け渡し、伝送を行わせる。
Ethernet部23は、IP部22からIPパケットとネクストホップIPアドレス『133.0.0.51』を受け取り、Ethernet部23のARPテーブルに対してネクストホップIPアドレス『133.0.0.51』でMACアドレス要求を行うことでネクストホップIPアドレス『133.0.0.51』に対応するMACアドレス『00:00:00:00:00:51』を得る。そして、Ethernet部23は、送信元MACアドレスを『00:00:00:00:00:23』、送信先MACアドレスを『00:00:00:00:00:51』としたEthernetプロトコルのヘッダを付加することでEthernetフレームを生成し、有線で接続されているGW5に対して、Ethernetフレームを渡す。
GW5はAP2からパケットを受け取ると、GW5内部のルーティングテーブルを参照しIPヘッダの送信先IPアドレス『133.0.0.31』に対して最も合理的な到達性をもつインターネット6にパケットを渡す。
インターネット6はGW5からパケットを受け取ると、インターネット6内部のルーティングテーブルを参照しIPヘッダの送信先IPアドレス『133.0.0.31』に対して最も合理的な到達性をもつHUB7にパケットを渡す。
HUB7はインターネット6からフレームを受信すると、パケットに含まれる送信先MACアドレス『00:00:00:00:00:31』を参照し、送信先MACアドレスをもつWLC3に渡す。
WLC3のEthernet部31は、HUB7からフレームを受信すると、Ethernetフレームの送信先MACアドレス『00:00:00:00:00:31』の参照を行う。Ethernetフレームの宛先MACアドレス『00:00:00:00:00:31』はEthernet部31のMACアドレス『00:00:00:00:00:31』と一致するため、Ethernet部31は、Ethernetプロトコルのヘッダの除去を行い、生成されたIPパケットをIP部32に受け渡す。
IP部32は、Ethernet部31から受信したIPパケットのIPヘッダの送信先IPアドレスとWLC3のEthernet部31のIPアドレス『133.0.0.31』が一致しているかどうか確認を行う。その結果、IPヘッダの送信先IPアドレス『133.0.0.31』とWLC3のEthernet部31のIPアドレス『133.0.0.31』は一致するため、IP部32は、IPヘッダの除去を行い、生成されたデータに含まれる送信先ポート番号を参照する。送信先ポート番号『443』に対応するアプリケーションはログインページ配信部33であるため、IP部32はログインページ配信部33にデータを受け渡す。
次に、シーケンスS006において、ログインページ配信部33はIP部32から受信したhttpsデータのリクエスト内のURLに含まれるAP2のEthernet部23のMACアドレス『00:00:00:00:00:23』と端末1の無線LANインタフェース部11のMACアドレス『00:00:00:00:00:11』をログインページ配信部33内部の記憶領域に一時的に格納する。その後、ログインページ配信部33は、httpsの認証画面となるWebページのデータを、IP部22を通じて端末1のインターネットブラウザ部13に送信する。
次に、シーケンスS007において、端末1のインターネットブラウザ部13はログインページ配信部33からhttpsの認証画面となるWebページのデータを受信したのち、端末1の画面に受信したWebページを表示させる。ユーザはインターネットブラウザ部13に、認証に利用するID『user』とパスワード『musen』を入力する。インターネットブラウザ部13は入力されたID『user』とパスワード『musen』をhttpsでWLC3のログインページ配信部33にIP部12を介して送信する。
次に、シーケンスS008において、ログインページ配信部33は、インターネットブラウザ部13からhttpsで認証用のID『user』とパスワード『musen』を受信し、Radius Client部34へ受信したID『user』、パスワード『musen』受け渡しを行う。このとき、Radius Client部34起動時にWLC3内部のOSから発行されたプロセスID335がログインページ配信部33に発行される。ログインページ配信部33は、データを受信した際の送信元IPアドレス『192.168.0.11』と、送信元ポート番号『10013』と、ログインページ配信部33内部の記憶領域に一時的に格納していた、AP2のEthernet部23のMACアドレス『00:00:00:00:00:23』及び端末1の無線LANインタフェース部11のMACアドレス『00:00:00:00:00:11』と、Radius Client部34へのデータの受け渡しを行った際に発行されたプロセスID335をセッションテーブル36に受け渡す。
次に、シーケンスS009において、Radius Client部34はログインページ配信部33から受け渡されたID『user』、パスワード『musen』の認証要求を、IP部32を経由してRadius4のRadius Server部43に対して行う。
その後、シーケンスS010において、Radius4のRadius Server部43は、WLC3のRadius Client部34からIP部42を通じて受信した認証要求に含まれるID『user』及びパスワード『musen』と、Radius Server部43の内部に格納されているID及びパスワードとを比較し、これらが一致しているため、認証成功のメッセージをRadius Client部34に対してIP部42を介して返答する。
さらに、シーケンスS011において、WLC3のRadius Client部34は、Radius4のRadius Server部43から、IP部32を介して認証成功のメッセージを受信したのち、ログインページ配信部33に対し、Radius Server部43から受信した認証結果を受け渡す。
そして、シーケンスS012において、ログインページ配信部33は、Radius Client部34から認証結果を受信したのち、認証結果を送信してきたRadius Client部34のプロセスID335をキーにセッションテーブル36を検索し、対応するレコードである、データを受信した際の送信元IPアドレス『192.168.0.11』と、送信元ポート番号『10013』と、AP2のEthernet部23のMACアドレス『00:00:00:00:00:23』と、端末1の無線LANインタフェース部11のMACアドレス『00:00:00:00:00:11』を取得し、ログインページ配信部33内部の記憶領域に一時的に格納する。
その後、ログインページ配信部33は、その内部の記憶領域に一時的に格納されているAP2のEthernet部23のMACアドレス『00:00:00:00:00:23』をAPテーブル37に対して受け渡し、AP2のEthernet部23のIPアドレス『133.0.0.23』を取得する。そして、ログインページ配信部33は、取得したAP2のEthernet部23のIPアドレス『133.0.0.23』と端末1の無線LANインタフェース部11のMACアドレス『00:00:00:00:00:11』をWeb Client部35に受け渡す。
さらに、シーケンスS013において、Web Client部35は、AP2のEthernet部23のIPアドレス『133.0.0.23』と端末1の無線LANインタフェース部11のMACアドレス『00:00:00:00:00:11』をログインページ配信部33から受信すると、AP2のEthernet部23のIPアドレス『133.0.0.23』を宛先IPアドレス、ポート番号を『443』として、AP2の制御情報受信部25に対し、端末1の無線LANインタフェース部11のMACアドレス『00:00:00:00:00:11』をhttpsでIP部32を介して送信する。
さらに、シーケンスS014において、AP2の制御情報受信部25は、IP部22を経由してWLC3のWeb Client部35から端末1の無線LANインタフェース部11のMACアドレス『00:00:00:00:00:11』をhttpsで受信した際に、受信したMACアドレス『00:00:00:00:00:11』を含んだIPアドレス要求をARPテーブル27に受け渡す。
そして、シーケンスS015において、制御情報受信部25は、MACアドレス『00:00:00:00:00:11』に対応するIPアドレス『192.168.0.11』を含んだIPアドレス返答を得る。
その後、シーケンスS016において、制御情報受信部25は、受信したMACアドレス『00:00:00:00:00:11』と取得した端末1の無線LANインタフェース部11のIPアドレス『192.168.0.11』を制御テーブル26に対して受け渡しを行う。データの受け渡し実施後、制御情報受信部25は、AP2のEthernet部23のIPアドレス『133.0.0.23』に対して端末1の無線LANインタフェース部11のMACアドレス『00:00:00:00:00:11』のデータの送信が完了したことを示すhttpsのレスポンスメッセージのデータを生成し、IP部22を通じてWLC3のWeb Client部35に対してhttpsのデータを送信する。
さらに、シーケンスS017において、WLC3のWeb Client部35は、AP2の制御情報受信部25から、IP部32を介して、AP2のEthernet部23のIPアドレス『133.0.0.23』に対して端末1の無線LANインタフェース部11のMACアドレス『00:00:00:00:00:11』のデータの送信が完了したことを示すhttpsのレスポンスメッセージを受信したのち、AP2のEthernet部23のIPアドレス『133.0.0.23』に対して端末1の無線LANインタフェース部11のMACアドレス『00:00:00:00:00:11』のデータの送信が完了したことを通知するメッセージをログインページ配信部33に対して送信する。
さらに、シーケンスS018において、ログインページ配信部33は、AP2のEthernet部23のIPアドレス『133.0.0.23』に対して端末1の無線LANインタフェース部11のMACアドレス『00:00:00:00:00:11』のデータの送信が完了したという通知をWeb Client部35より受信したのち、セッションテーブル36に対し、端末1の無線LANインタフェース部11のMACアドレス『00:00:00:00:00:11』をキーとしたレコードの削除要求を送信しレコードを削除する。その後、ログインページ配信部33は認証成功を示すWebページのデータをhttpsで端末1のインターネットブラウザ部13に対し、IP部32を介して送信する。
以上に述べた動作により、端末1のインターネットブラウザ部13はIP部12を介してWLC3のログインページ配信部33から認証成功の通知画面をhttpsで受信する。以降、端末1でインターネット6向けの通信を行う際は、AP2のIP部22でリダイレクトをされることがなく、ユーザの意図通りに通信を行うことができる。
[認証後]
次に、認証後の動作について説明する。認証成功の通知の受信後、ユーザがサーバ8内のURL『http://www.******.ne.jp/』のWebページにアクセスする操作を端末1のインターネットブラウザ部13に対して行うものとする。
端末1のインターネットブラウザ部13は、ユーザが指定したURL『http://www.******.ne.jp/』にアクセスするアクセス要求のデータを生成する。そしてインターネットブラウザ部13内部のDNSリゾルバ機能は通信先のURL『http://www.******.ne.jp/』に対応する宛先IPアドレスの解決を行い、対応する宛先IPアドレス『133.0.0.1』を得る。そして、インターネットブラウザ部13は、宛先IPアドレス『133.0.0.1』とhttpデータをIP部12に対して受け渡す。
IP部12は、インターネットブラウザ部13から受け渡されたデータに、送信元IPアドレスには『192.168.0.11』、送信先IPアドレスにはインターネットブラウザ部13より受け渡された宛先IPアドレス『133.0.0.1』を設定したIPプロトコルのヘッダを付加することでIPパケットを生成する。
IP部12は、生成されたIPパケットの送信先IPアドレス『133.0.0.1』の参照を行い、内部で保持しているルーティングテーブルとの照合を行う。照合した結果、IP部12は、送信先IPアドレス『133.0.0.1』に対して最も合理的な到達性をもつEthernet部は無線LANインタフェース部11で、ネクストホップIPアドレスは『192.168.0.21』と判定し、無線LANインタフェース部11にIPパケットとネクストホップIPアドレス『192.168.0.21』を受け渡し、伝送を行わせる。
無線LANインタフェース部11は、IP部12からIPパケットとネクストホップIPアドレス『192.168.0.21』を受け取り、無線LANインタフェース部11のARPテーブルに対してネクストホップIPアドレス『192.168.0.21』でMACアドレス要求を行うことでネクストホップIPアドレス『192.168.0.21』に対応するMACアドレス『00:00:00:00:00:21』を得る。そして、送信元MACアドレスを『00:00:00:00:00:11』、送信先MACアドレスを『00:00:00:00:00:21』としたEthernetプロトコルのヘッダを付加することでEthernetフレームを生成し、無線で接続されているAP2の無線LANインタフェース部21に対して、Ethernetフレームを渡す。
AP2の無線LANインタフェース部21は、端末1の無線LANインタフェース部11からフレームを受信すると、Ethernetフレームの宛先MACアドレスの参照を行う。Ethernetフレームの宛先MACアドレス『00:00:00:00:00:21』は無線LANインタフェース部21のMACアドレス『00:00:00:00:00:21』と一致するため、無線LANインタフェース部21は、Ethernetプロトコルのヘッダの除去を行い、生成されたIPパケットをIP部22に受け渡す。
IP部22は、無線LANインタフェース部21からパケットを渡されると、IPヘッダの送信先IPアドレスがAP2の無線LANインタフェース部21のIPアドレス、又は、Ethernet部23のIPアドレスに一致するかどうかの確認を行う。その結果、IPヘッダの送信先IPアドレス『133.0.0.1』はAP2の無線LANインタフェース部21のIPアドレス『192.168.0.21』、Ethernet部23のIPアドレス『133.0.0.23』のいずれとも一致しないため、IP部22は、次にパケットを受信したEthernet部がEthernet部23であるかどうかの確認を行う。その結果、パケットを無線LANインタフェース部21から受信しているため、Ethernet部23とは一致しない。よって、IP部22は、次にIPヘッダの送信元IPアドレス『192.168.0.11』が制御テーブル26上に存在するかどうかを確認する。その結果、IPヘッダの送信元IPアドレス『192.168.0.11』が制御テーブル26上に存在するため、IP部22は、IPヘッダの送信先IPアドレスの参照を行い、IP部22内部で保持しているルーティングテーブルとの照合を行う。
照合した結果、IP部22は、送信先IPアドレスに対して最も合理的な到達性をもつEthernet部はEthernet部23で、ネクストホップIPアドレスは『133.0.0.51』と判定し、Ethernet部23にIPパケットとネクストホップIPアドレス『133.0.0.51』を受け渡し、伝送を行わせる。
Ethernet部23は、IP部22からIPパケットとネクストホップIPアドレス『133.0.0.51』を受け取り、Ethernet部23のARPテーブルに対してネクストホップIPアドレス『133.0.0.51』でMACアドレス要求を行うことでネクストホップIPアドレス『133.0.0.51』に対応するMACアドレス『00:00:00:00:00:51』を得る。そして、Ethernet部23は、送信元MACアドレスを『00:00:00:00:00:23』、送信先MACアドレスを『00:00:00:00:00:51』としたEthernetプロトコルのヘッダを付加することでEthernetフレームを生成し、有線で接続されているGW5に対して、Ethernetフレームを受け渡す。
GW5は、AP2からパケットを受け取ると、GW5内部のルーティングテーブルを参照しIPヘッダの送信先IPアドレス『133.0.0.1』に対して最も合理的な到達性をもつインターネット6にパケットを渡す。
インターネット6は、パケットのIPヘッダの送信先IPアドレス『133.0.0.1』を参照し、対応するIPアドレス『133.0.0.1』をもつWebサーバ8にGW5より受信したパケットを転送する。
Webサーバ8は、インターネット6からhttpデータを受信すると、データ内に含まれる要求URLを参照し、要求URL『http://www.******.ne.jp/』を得る。
そして、Webサーバ8は、要求URL『http://www.******.ne.jp/』に対応したWebページのデータをインターネット6を通して端末1へと受け渡す。
端末1は、Webサーバ8からURL『http://www.******.ne.jp/』のWebページのデータを受信すると、端末に設けられた画面へとWebページのデータを表示する。
上述したように、本実施形態によれば、ユーザトラフィックを分散させることで、管理ノードへのトラフィックの集中を回避することができる。これは、AP2がインターネット6側へとトラフィック流してもよい端末の情報をWLC3から受信し、その情報を基にAP2がAP2内部でフィルタリングを行うので、WLC3にトラフィックを流すことなく、AP2から直接インターネット6に向かってユーザトラフィックを流すことが可能になるからである。
[第2実施形態]
次に、本発明の第2実施形態における通信管理システムについて説明する。第2実施形態における通信管理システムは、通信可否の判断をMACアドレスの代わりにIPアドレスで管理するところが第1実施形態と異なる。
第2実施形態における通信管理システムの概略構成について図10を参照して説明する。なお、第1実施形態と重複する構成についての説明は省略する。第2実施形態における通信管理システムは、端末1と、AP2Aと、WLC3Aと、Radius4で構成される。端末1とRadius4については、第1実施形態と同様の構成であるため説明を省略する。
AP2Aは、第1実施形態のAP2に対して、無線LANインタフェース部21に代えて無線LANインタフェース部21Aを有し、リダイレクト部24に代えてリダイレクト部24Aを有し、制御情報受信部25に代えて制御情報受信部25Aを有し、制御テーブル26に代えて制御テーブル26Aを有する。また、第2実施形態においては、第1実施形態が有していたARPテーブル27を有していない。
WLC3Aは、第1実施形態のWLC3に対して、ログインページ配信部33に代えてログインページ部33Aを有し、Web Client部35に代えてWeb Client部35Aを有し、セッションテーブル36に代えてセッションテーブル36Aを有する。また、第2実施形態においては、第1実施形態が有していたAPテーブル37を有していない。
リダイレクト部24Aは、端末1に送信するリダイレクトURLを生成、通知する機能を有する。リダイレクト部24Aは、IP部22からデータを渡された際に、データがhttpであった場合、WLC3Aのログインページ配信部33AのログインページのURLに、Ethernet部23のIPアドレス、受信したhttpデータに含まれるIPアドレスをキーとしたhttpの要求元のIPアドレスを付加したURLを含んだリダイレクト要求のhttpデータをIP部22に受け渡す。Ethernet部23のMACアドレスについては事前にリダイレクト部24Aの内部メモリに格納されているものとする。
例として、端末1の無線LANインタフェース部11に設定されているIPアドレスが『192.168.0.11』、Ethernet部23に設定されているIPアドレスが『133.0.0.23』であった場合、WLC3Aのログインページ配信部33のログインページのURL『https://133.0.0.31/login?』に、Ethernet部23のIPアドレス『133.0.0.23』、受信したHTTPデータに含まれるIPアドレスをキーとしたHTTPの要求元のIPアドレス『192.168.0.11』を付加したURL『https://133.0.0.31/login?ap_ip=133-0-0-23&src_ip=192-168-0-11』を含んだリダイレクト要求のhttpデータをIP部22に受け渡す。
制御情報受信部25Aは、IP部22を経由してWLC3AのWeb Client部35Aからデータをhttpsで受信した際に、受信したデータに含まれるIPアドレスを制御テーブル26Aに対して渡す。データの受け渡し実施後、制御情報受信部25Aは、AP2AのEthernet部23のIPアドレスに対してIPアドレスのデータを受信したことを示すhttpsのレスポンスメッセージのデータを生成し、IP部22を通じてWLC3AのWeb Client部35Aに対してhttpsのデータを送信する。
制御テーブル26Aは、通信を許可された端末のIPアドレスが記載されているテーブルである。制御情報受信部25AからIPアドレスを受け渡された際に、制御テーブル26Aは受信したIPアドレスを制御テーブル26A内に追加する。
また、制御テーブル26Aは、IP部22から、許可された端末のIPアドレス261の参照要求を受信すると、参照要求に含まれるIPアドレスをキーに許可された端末のIPアドレス262の検索を行う。制御テーブル26Aは、参照要求に含まれるIPアドレスが許可された端末のIPアドレス262に含まれる場合は、許可された端末のIPアドレス262に参照要求に含まれるIPアドレスが存在することをメッセージとして含んだ参照応答をIP部22に対して受け渡す。他方、制御テーブル26Aは、参照要求に含まれるIPアドレスが許可された端末のIPアドレス262に含まれない場合は、許可された端末のIPアドレス262に参照要求に含まれるIPアドレスが存在しないことメッセージとして含んだ参照応答をIP部22に対して受け渡す。
ログインページ配信部33Aは、以下の機能を有する。
[Webページ配信機能]
ログインページ配信部33Aは、端末1からhttpsのWebページのリクエストを受け取ると、受信したhttpsデータのリクエスト内のURLに含まれるAP2AのEthernet部23のIPアドレスと端末1の無線LANインタフェース部11のIPアドレスをログインページ配信部33A内部の記憶領域に一時的に格納する。その後、ログインページ配信部33Aは、端末1のインターネットブラウザ部13に対し、httpsの認証画面となるWebページのhttpsのデータを、IP部32を通じて端末1のインターネットブラウザ部13へと送信する。
そして、ログインページ配信部33Aは、認証に利用するIDとパスワードを含んだhttpsのデータを受信すると、Radius Client部34に対して受信したIDとパスワードの受け渡しを行う。このとき、Radius Client部34の起動時に発行されたプロセスIDが発行される。
ログインページ配信部33Aは、Radius Client部34への、IDとパスワードの受け渡しののち、httpsのデータを受信した際の送信元IPアドレス、送信元ポート番号、ログインページ配信部33A内部の記憶領域に一時的に格納していた、AP2AのEthernet部23のIPアドレスと端末1の無線LANインタフェース部11のIPアドレス、及びRadius Client部34へのデータの受け渡しを行った際に発行されたプロセスIDをセッションテーブル36Aに渡す。
[AP2Aへの端末情報の通知機能]
ログインページ配信部33Aは、Radius Client部34から認証結果を受信した際には、認証結果を送信してきたRadius Client部34のプロセスIDをキーにセッションテーブル部36Aを検索し対応するレコードである、データを受信した際の送信元IPアドレス、送信元ポート番号、AP2AのEthernet部23のIPアドレス、端末1の無線LANインタフェース部11のIPアドレスを取得する。そして、ログインページ配信部33Aは、取得したAP2AのEthernet部23のIPアドレスと端末1の無線LANインタフェース部11のIPアドレスをWeb Client部35Aに受け渡す。
[端末情報の通知の完了処理機能]
ログインページ配信部33Aは、AP2AのEthernet部23のIPアドレスに対して端末1の無線LANインタフェース部11のIPアドレスのデータの送信が完了したという通知をWeb Client部35Aより受信すると、セッションテーブル36Aに対し、端末1の無線LANインタフェース部11のIPアドレスをキーとしたレコードの削除要求を送信しレコードを削除する。その後、ログインページ配信部33Aは、認証成功を示すWebページのデータをHTTPSで端末1のインターネットブラウザ部13に対し、IP部32を介して送信する。
Web Client部35Aは、端末1の無線LANインタフェース部11のIPアドレス、及びAP2AのIPアドレスをログインページ配信部33Aから受信した際に、AP2AのIPアドレスを宛先として、AP2の制御情報受信部25Aに対し、端末1の無線LANインタフェース部11のIPアドレスをhttpsで通知する。
Web Client部35Aは、AP2の制御情報受信部25Aから、IP部32を通じて、AP2AのEthernet部23のIPアドレスに対して端末1の無線LANインタフェース部11のIPアドレスのデータの送信が完了したことを示すhttpsのレスポンスメッセージを受信したのち、AP2AのEthernet部23のIPアドレスに対して端末1の無線LANインタフェース部11のIPアドレスのデータの送信が完了したことを通知するメッセージをログインページ配信部33Aに対して送信する。
セッションテーブル36Aは、認証要求を行ってきた端末の送信元IPアドレス、認証要求を行ってきた端末の送信元ポート番号、認証要求を行ってきた端末が帰属するAPのIPアドレス、認証要求を行ってきた端末のIPアドレス、及び、ログインページ配信部33Aが認証要求のあったIDとパスワードをRadius Client部34に受け渡す際に発行されるプロセスIDが記載されたテーブルである。
セッションテーブル36Aは、システムの動作初期状態ではデータを保持していない。
データが追加されるとき、セッションテーブル36Aは要素の追加要求をログインページ配信部33Aより受信した際は、プロセスIDをキーとしてエントリを追加する。
セッションテーブル36Aは、データ参照時、ログインページ配信部33AからプロセスIDを検索キーとして受け取ると、該当するエントリのデータをログインページ配信部33Aに返却する。
データ削除時、セッションテーブル36Aは、ログインページ配信部33Aから要素の削除要求を受け取ると、受信したプロセスIDをキーとするレコードをセッションテーブル36Aから削除する。
次に、図10に示した制御テーブル26Aについて図11を参照して説明する。制御テーブル26Aは、第1実施形態における制御テーブル26に対して、許可された端末のMACアドレス261を有さないという点において異なり、制御テーブル26Aは、許可された端末のIPアドレス262で構成される。許可された端末のIPアドレス262として、AP2Aに帰属する端末のうち、外部との通信を許可した端末のIPアドレスが格納される。
図11では、一例として、許可された端末IPアドレス262として、『192.168.0.2』、『192.168.0.3』が格納されている。
次に、図10に示したセッションテーブル36Aについて図12を参照して説明する。セッションテーブル36Aは、送信元IPアドレス361と、送信元ポート番号362と、APのIPアドレス363と、端末のIPアドレス364と、プロセスID365で構成される。
送信元IPアドレス361は、認証要求を行ってきた端末の送信元IPアドレスを格納する。送信元ポート番号362は、認証要求を行ってきた端末の送信元ポート番号を格納する。また、APのIPアドレス363は、認証要求を行ってきた端末が帰属するAPのIPアドレスを格納する。また、端末のIPアドレス364は、認証要求を行ってきた端末のIPアドレスを格納する。さらに、プロセスID365は、ログインページ配信部33Aが認証要求のあったIDとパスワードをRadius Client部34に受け渡す際に発行されるプロセスIDを格納する。
次に、第2実施形態における通信管理システムの動作手順について図13を参照して説明する。
[初期状態]
本手順開始前の初期状態について説明する。ここでは、ユーザは、端末1をAP2Aに対して無線で接続している状態とし、各装置のEthernet部のMACアドレスと対応するIPアドレスは以下のものとする。
端末1の無線LANインタフェース部11のMACアドレスは『00:00:00:00:00:11』であり、IPアドレスは『192.168.0.11』である。
AP2Aの無線LANインタフェース部21AのMACアドレスは『00:00:00:00:00:21』であり、IPアドレスは『192.168.0.21』である。
AP2AのEthernet部23のMACアドレスは『00:00:00:00:00:23』であり、IPアドレスは『133.0.0.23』である。
WLC3AのEthernet部31のMACアドレスは『00:00:00:00:00:31』であり、IPアドレスは『133.0.0.31』である。
Radius4のEthernet部41のMACアドレスは『00:00:00:00:00:41』であり、IPアドレスは『133.0.0.41』である。
GW5のEthernet部のMACアドレスは『00:00:00:00:00:51』であり、IPアドレスは『133.0.0.51』である。
また、各装置のアプリケーションに対して指定されたポート番号は以下のものであるとする。
端末1のインターネットブラウザ部13のポート番号は『10013』であり、AP2Aのリダイレクト部24Aのポート番号は『80』であり、AP2のリダイレクト部24Aのポート番号は『443』であり、WLC3Aのログインページ配信部33Aのポート番号は『443』であり、WLC3AのRadius Client部34のポート番号は『30034』であり、WLC3AのWeb Client部35Aのポート番号は『30035』であり、Radius4のRadius Server部43のポート番号は『1812』であるものとする。
また、Webサーバ8のURLは『http://www.******.ne.jp/』であり、対象ページのIPアドレスは『133.0.0.1』であるとする。そして、WLC3Aのログインページ配信部33AのURLは『https://133.0.0.31/』であるとする。
Radius4に登録されているユーザアカウントは、ログインIDが『user』であり、パスワードが『musen』であるものとする。
さらに、AP2Aのリダイレクト部24Aにおいて、リダイレクト部24Aの内部メモリにAP2AのEthernet部23のIPアドレスが格納されているものとする。
また、AP2Aの制御テーブル26Aには、以下のレコードが登録されているものとする。すなわち、登録されたレコードは、許可された端末のIPアドレス262としての『192.168.0.21』と、『133.0.0.23』と、『133.0.0.31』である。
なお、WLC3Aのセッションテーブル36Aに登録されているレコードはないものとする。
[認証前]
次に、端末1の認証前の動作を示すシーケンスS001について説明する。なお、第1実施形態と重複する手順があるが、シーケンスS002A以降は、第1実施形態と重複する手順であっても、記載上の便宜のため、第1実施形態と異なるシーケンス番号を付すものとしている。
ユーザがWebサーバ8内のURL『http://www.******.ne.jp/』のWebページにアクセスする操作を端末1のインターネットブラウザ部13に対して行うと、インターネットブラウザ部13は、ユーザが指定したURL『http://www.******.ne.jp/』にアクセスするアクセス要求のデータを生成する。そしてインターネットブラウザ部13内部のDNSリゾルバ機能は通信先のURL『http://www.******.ne.jp/』に対応する宛先IPアドレスの解決を行い、対応する宛先IPアドレス『133.0.0.1』を得る。そして、宛先IPアドレス『133.0.0.1』とhttpデータをIP部12に対して受け渡す。
IP部12は、インターネットブラウザ部13から受け渡されたデータに、送信元IPアドレスには『192.168.0.11』、送信先IPアドレスにはインターネットブラウザ部13より受け渡された宛先IPアドレス『133.0.0.1』を設定したIPプロトコルのヘッダを付加することでIPパケットを生成する。
IP部12は、生成されたIPパケットの送信先IPアドレスの参照を行い、内部で保持しているルーティングテーブルとの照合を行う。照合した結果、IP部12は、送信先IPアドレスに対して最も合理的な到達性をもつEthernet部は無線LANインタフェース部11で、ネクストホップIPアドレスは『192.168.0.21』と判定し、無線LANインタフェース部11にIPパケットとネクストホップIPアドレス『192.168.0.21』を受け渡し、伝送を行わせる。
無線LANインタフェース部11は、IP部12からIPパケットとネクストホップIPアドレス『192.168.0.21』を受け取り、無線LANインタフェース部11内部のARPテーブルに対してネクストホップIPアドレス『192.168.0.21』でMACアドレス要求を行うことでネクストホップIPアドレス『192.168.0.21』に対応するMACアドレス『00:00:00:00:00:21』を得る。そして、送信元MACアドレスを『00:00:00:00:00:11』、送信先MACアドレスを『00:00:00:00:00:21』としたEthernetプロトコルのヘッダを付加することでEthernetフレームを生成し、無線で接続されているAP2Aの無線LANインタフェース部21Aに対して、Ethernetフレームを渡す。
AP2Aの無線LANインタフェース部21Aは端末1の無線LANインタフェース部11からフレームを受信すると、Ethernetフレームの宛先MACアドレスの参照を行う。Ethernetフレームの宛先MACアドレス『00:00:00:00:00:21』は無線LANインタフェース部21AのMACアドレス『00:00:00:00:00:21』と一致するため、Ethernetプロトコルのヘッダの除去を行い、生成されたIPパケットをIP部22に受け渡す。
IP部22は、無線LANインタフェース部21Aからパケットを渡され、IPヘッダの送信先IPアドレスがAP2Aの無線LANインタフェース部21AのIPアドレス、又は、Ethernet部23のIPアドレスに一致するかどうかの確認を行う。その結果、IPヘッダの送信先IPアドレス『133.0.0.1』はAP2Aの無線LANインタフェース部21AのIPアドレス『192.168.0.21』、Ethernet部23のIPアドレス『133.0.0.23』のいずれとも一致しないため、IP部22は、次にパケットを受信したEthernet部がEthernet部23であるかどうかの確認を行う。その結果、パケットは無線LANインタフェース部21Aから受信しているため、Ethernet部23とは一致しない。よって、IP部22は、次にIPヘッダの送信元IPアドレス『192.168.0.11』が制御テーブル26A上に存在するかどうかを確認する。その結果、IPヘッダの送信元IPアドレス『192.168.0.11』は、制御テーブル26A上に存在しないため、IP部22は、次にIPヘッダの送信先IPアドレス『133.0.0.1』が制御テーブル26A上に存在するかどうかを確認する。その結果、IPヘッダの送信先IPアドレス『133.0.0.1』は制御テーブル26A上に存在しないため、IP部22は、IPパケットのヘッダの除去を行い、リダイレクト部24Aにデータを受け渡す。
次に、シーケンスS002Aにおいて、リダイレクト部24Aは、IP部22から渡されたデータがhttpであるため、WLC3Aのログインページ配信部33AのログインページのURL『https://133.0.0.31/』に、内部メモリに格納されたAP2AのEthernet部23のIPアドレス『192.168.0.23』、httpの要求元のIPアドレスである端末1の無線LANインタフェース部11のIPアドレス『192.168.0.11』を付加したURL『https://133.0.0.31/login?ap_ip=133-0-0-0-23&src_ip=192-168-0-11』をリダイレクト先アドレスとするリダイレクト要求のhttpデータをIP部22に受け渡す。
IP部22は、リダイレクト部24Aから渡されたデータに送信元IPアドレス『192.168.0.21』、送信先IPアドレス『192.168.0.11』とするIPヘッダを付加する。そして、IPヘッダの送信先IPアドレス『192.168.0.11』がAP2Aの無線LANインタフェース部21AのIPアドレス、又はEthernet部23のIPアドレスであるかどうかを確認する。その結果、IPヘッダの送信先IPアドレス『192.168.0.11』はAP2Aの無線LANインタフェース部21AのIPアドレス『192.168.0.21』、又はEthernet部23のIPアドレス『133.0.0.23』のいずれとも一致しないため、IP部22は、次にパケットを受信したEthernet部がEthernet部23であるかどうかを確認する。その結果、パケットはリダイレクト部24Aより受信しているため、Ethernet部23とは一致しない。したがって、次に、IP部22は、IPヘッダの送信元IPアドレス『192.168.0.21』を検索キーとして制御テーブル26Aを参照し、送信元IPアドレス『192.168.0.21』が制御テーブル26A上に存在するかどうかを確認する。その結果、送信元IPアドレスが『192.168.0.21』は制御テーブル26A上に存在するため、IP部22は、IPパケットの宛先IPアドレス『192.168.0.11』を参照し、IP部22が内部で保持しているルーティングテーブルとの照合を行い、IPパケットのネクストホップとして最も合理的なネクストホップIPアドレスとしてIPアドレス『192.168.0.11』を取得する。そして、IP部22は、生成されたIPパケットと、最も合理的なネクストホップIPアドレス『192.168.0.11』を、合致する宛先IPアドレス『192.168.0.11』に対して最も合理的な到達性をもつ無線LANインタフェース部21Aに対して受け渡し、伝送を行わせる。
無線LANインタフェース部21Aは、IP部22からIPパケットとネクストホップIPアドレス『192.168.0.11』を受け取り、無線LANインタフェース部21A内部のAPテーブルに対してネクストホップIPアドレス『192.168.0.11』でMACアドレス要求を行うことで、ネクストホップIPアドレス『192.168.0.11』に対応するMACアドレス『00:00:00:00:00:11』を得る。そして、無線LANインタフェース部21Aは、送信元MACアドレスを『00:00:00:00:00:21』、送信先MACアドレスを『00:00:00:00:00:11』としたEthernetプロトコルのヘッダを付加することでEthernetフレームを生成し、無線で接続されている端末1の無線LANインタフェース部11に対して、Ethernetフレームの伝送を行う。
無線LANインタフェース部11は、AP2Aの無線LANインタフェース部21Aからフレームを受信すると、Ethernetフレームの送信先MACアドレス『00:00:00:00:00:11』の参照を行う。Ethernetフレームの宛先MACアドレス『00:00:00:00:00:11』は無線LANインタフェース部11のMACアドレス『00:00:00:00:00:11』と一致するため、無線LANインタフェース部11は、Ethernetプロトコルのヘッダの除去を行い、生成されたIPパケットをIP部12に受け渡す。
IP部12は、無線LANインタフェース部11から受信したIPパケットのIPヘッダの送信先IPアドレスと端末1の無線LANインタフェース部11のIPアドレス『192.168.0.11』が一致しているかどうか確認を行う。その結果、IPヘッダの送信先IPアドレス『192.168.0.11』と端末1の無線LANインタフェース部11のIPアドレス『192.168.0.11』は一致するため、IP部12は、IPヘッダの除去を行い、生成されたデータに含まれる送信先ポート番号を参照する。IP部12は、送信先ポート番号『80』に対応するアプリケーションがインターネットブラウザ部13であるため、インターネットブラウザ部13にデータを受け渡す。
次に、シーケンスS003Aにおいて、インターネットブラウザ部13は、IP部12から受信したhttpデータのリダイレクト要求に含まれたリダイレクト先のURL『https://133.0.0.31/login?ap_ip=133-0-0-23&src_ip=192-168-0-11』を得る。そして、ここに対してアクセスを行うため、インターネットブラウザ部13は、リダイレクト先のURL『https://133.0.0.31/login?ap_ip=133-0-0-23&src_ip=192-168-0-11』へのhttpsのアクセス要求のデータ生成し、IP部12にデータを受け渡す。
IP部12は、インターネットブラウザ部13から受け渡されたデータに送信元IPアドレスは『192.168.0.11』、送信先IPアドレスは『133.0.0.31』に設定したIPプロトコルのヘッダを付加することでIPパケットを生成する。
その後、IP部12は、生成されたIPパケットの送信先IPアドレスの参照を行い、内部で保持しているルーティングテーブルとの照合を行う。照合した結果、IP部12は、送信先IPアドレス『133.0.0.31』に対して最も合理的な到達性をもつEthernet部は無線LANインタフェース部11で、ネクストホップIPアドレスは『192.168.0.21』と判定し、無線LANインタフェース部11にIPパケットとネクストホップIPアドレス『192.168.0.21』を受け渡し、伝送を行わせる。
無線LANインタフェース部11は、IP部12からIPパケットとネクストホップIPアドレス『192.168.0.21』を受け取り、無線LANインタフェース部11内部のARPテーブルに対してネクストホップIPアドレス『192.168.0.21』でMACアドレス要求を行うことでネクストホップIPアドレス『192.168.0.21』に対応するMACアドレス『00:00:00:00:00:21』を得る。そして、送信元MACアドレスを『00:00:00:00:00:11』、送信先MACアドレスを『00:00:00:00:00:21』としたEthernetプロトコルのヘッダを付加することでEthernetフレームを生成し、無線で接続されているAP2Aの無線LANインタフェース部21Aに対して、Ethernetフレームを渡す。
AP2Aの無線LANインタフェース部21Aは端末1の無線LANインタフェース部11からフレームを受信すると、Ethernetフレームの宛先MACアドレスの参照を行う。Ethernetフレームの宛先MACアドレス『00:00:00:00:00:21』は無線LANインタフェース部21AのMACアドレス『00:00:00:00:00:21』と一致するため、Ethernetプロトコルのヘッダの除去を行い、生成されたIPパケットをIP部22に受け渡す。
IP部22は、無線LANインタフェース部21Aからパケットを渡されると、IPヘッダの送信先IPアドレスがAP2Aの無線LANインタフェース部21AのIPアドレス、又は、Ethernet部23のIPアドレスに一致するかどうかの確認を行う。その結果、IPヘッダの送信先IPアドレス『133.0.0.31』はAP2Aの無線LANインタフェース部21AのIPアドレス『192.168.0.21』、Ethernet部23のIPアドレス『133.0.0.23』のいずれとも一致しないため、IP部22は、次にパケットを受信したEthernet部がEthernet部23であるかどうかの確認を行う。その結果、パケットは無線LANインタフェース部21Aから受信しているため、Ethernet部23とは一致しない。よって、IP部22は、次にIPヘッダの送信元IPアドレス『192.168.0.11』が制御テーブル26A上に存在するかどうかを確認する。その結果、IPヘッダの送信元IPアドレス『192.168.0.11』は、制御テーブル26A上に存在しないため、IP部22は、次にIPヘッダの送信先IPアドレス『133.0.0.31』が制御テーブル26A上に存在するかどうかを確認する。その結果、IPヘッダの送信先IPアドレス『133.0.0.31』は制御テーブル26A上に存在するため、IP部22は、IPヘッダの送信先IPアドレスの参照を行い、IP部22内部で保持しているルーティングテーブルとの照合を行う。照合した結果、IP部22は、送信先IPアドレスに対して最も合理的な到達性をもつEthernet部はEthernet部23で、ネクストホップIPアドレスは『133.0.0.51』と判定し、Ethernet部23にIPパケットとネクストホップIPアドレス『133.0.0.51』を受け渡し、伝送を行わせる。
Ethernet部23は、IP部22からIPパケットとネクストホップIPアドレス『133.0.0.51』を受け取り、Ethernet部23内部のARPテーブルに対してネクストホップIPアドレス『133.0.0.51』でMACアドレス要求を行うことでネクストホップIPアドレス『133.0.0.51』に対応するMACアドレス『00:00:00:00:00:51』を得る。そして送信元MACアドレスを『00:00:00:00:00:23』、送信先MACアドレスを『00:00:00:00:00:51』としたEthernetプロトコルのヘッダを付加することでEthernetフレームを生成し、有線で接続されているGW5に対して、Ethernetフレームを渡す。
GW5はAP2Aからパケットを受け取ると、GW5内部のルーティングテーブルを参照しIPヘッダの送信先IPアドレス『133.0.0.31』に対して最も合理的な到達性をもつインターネット6にパケットを渡す。
インターネット6はGW5からパケットを受け取ると、インターネット6内部のルーティングテーブルを参照しIPヘッダの送信先IPアドレス『133.0.0.31』に対して最も合理的な到達性をもつHUB7にパケットを渡す。
HUB7はインターネット6からフレームを受信すると、パケットに含まれる送信先MACアドレス『00:00:00:00:00:31』を参照し、送信先MACアドレスをもつWLC3Aに渡す。
WLC3AのEthernet部31はHUB7からフレームを受信すると、Ethernetフレームの送信先MACアドレス『00:00:00:00:00:31』の参照を行う。Ethernetフレームの宛先MACアドレス『00:00:00:00:00:31』はEthernet部31のMACアドレス『00:00:00:00:00:31』と一致するため、Ethernetプロトコルのヘッダの除去を行い、生成されたIPパケットをIP部32に受け渡す。
IP部32は、Ethernet部31から受信したIPパケットのIPヘッダの送信先IPアドレスとWLC3AのEthernet部31のIPアドレス『133.0.0.31』が一致しているかどうか確認を行う。その結果、IPヘッダの送信先IPアドレス『133.0.0.31』とWLC3AのEthernet部31のIPアドレス『133.0.0.31』は一致するため、IP部32は、IPヘッダの除去を行い、生成されたデータに含まれる送信先ポート番号を参照する。IP部32は、送信先ポート番号『443』に対応するアプリケーションはログインページ配信部33Aであるため、ログインページ配信部33Aにデータを受け渡す。
次に、シーケンスS004Aにおいて、ログインページ配信部33AはIP部32から受信したデータのリクエスト内のURLに含まれるAP2AのEthernet部23のIPアドレス『133.0.0.23』と端末1の無線LANインタフェース部11のIPアドレス『192.168.0.11』をログインページ配信部33A内部の記憶領域に一時的に格納する。その後、httpsの認証画面となるWebページのhttpsのデータを、IP部23を介して端末1のインターネットブラウザ部13にて送信する。
次に、シーケンスS005Aにおいて、端末1のインターネットブラウザ部13はログインページ配信部33Aからhttpsの認証画面となるWebページのデータを受信した後、ユーザはインターネットブラウザ部13に認証に利用するID『user』とパスワード『musen』を入力する。インターネットブラウザ部13は入力されたID『user』とパスワード『musen』をhttpsでWLC3Aのログインページ配信部33AにIP部12を介して送信する。
次に、シーケンスS006Aにおいて、ログインページ配信部33Aは、インターネットブラウザ部13からhttpsで認証用のID『user』とパスワード『musen』を受信し、Radius Client部34へ受信したID『user』、パスワード『musen』の受け渡しを行う。このとき、Radius Client部34起動時にWLC3A内部のOSから発行されたプロセスID335がログインページ配信部33Aに発行される。
ログインページ配信部33Aは、データを受信した際の送信元IPアドレス『192.168.0.11』、送信元ポート番号『10013』、ログインページ配信部33A内部の記憶領域に一時的に格納していた、AP2AのEthernet部23のIPアドレス『133.0.0.23』と端末1の無線LANインタフェース部11のIPアドレス『192.168.0.11』、及びRadius Client部34へのデータの受け渡しを行った際に発行されたプロセスID335をセッションテーブル36Aに受け渡す。
次に、シーケンスS007Aにおいて、Radius Client部34は、ログインページ配信部33Aから受け渡されたID『user』、パスワード『musen』の認証要求を、IP部32を経由してRadius4のRadius Server部43に対して行う。
次に、シーケンスS008Aにおいて、Radius4のRadius Server部43は、WLC3AのRadius Client部34からIP部42を介して受信した認証要求に含まれるID『user』、パスワード『musen』と、Radius Server部43の内部に格納されているIDとパスワードを比較し、これらが一致しているため、認証成功のメッセージをRadius Client部34に対してIP部42を介して返答する。
次に、シーケンスS009Aにおいて、WLC3AのRadius Client部34は、Radius4のRadius Server部43から、IP部32を介して認証成功のメッセージを受信したのち、ログインページ配信部33Aに対し、Radius Server部43から受信した認証結果を受け渡す。
さらに、シーケンスS010Aにおいて、ログインページ配信部33Aは、Radius Client部34から認証結果を受信したのち、認証結果を送信してきたRadius Client部34のプロセスID335をキーにセッションテーブル36Aを検索し、対応するレコードである、データを受信した際の送信元IPアドレス『192.168.0.11』、送信元ポート番号『10013』、AP2のEthernet部23のIPアドレス『133.0.0.23』、端末1の無線LANインタフェース部11のIPアドレス『192.168.0.11』を取得し、ログインページ配信部33A内部の記憶領域に一時的に格納する。
その後、ログインページ配信部33Aは、取得したAP2AのEthernet部23のIPアドレス『133.0.0.23』と端末1の無線LANインタフェース部11のIPアドレス『192.168.0.11』をWeb Client部35Aに受け渡す。
さらに、シーケンスS011Aにおいて、Web Client部35Aは、AP2AのEthernet部23のIPアドレス『133.0.0.23』と端末1の無線LANインタフェース部11のIPアドレス『192.168.0.11』をログインページ配信部33Aから受信すると、Ethernet部23のIPアドレス『133.0.0.23』を宛先IPアドレス、ポート番号を『443』として、AP2Aの制御情報受信部25Aに対し、端末1の無線LANインタフェース部11のIPアドレス『192.168.0.11』をhttpsでIP部32を通じて送信する。
その後、シーケンスS012Aにおいて、AP2Aの制御情報受信部25Aは、IP部22を経由してWLC3AのWeb Client部35Aから端末1の無線LANインタフェース部11のIPアドレス『192.168.0.11』をhttpsで受信した後に、受信した端末1の無線LANインタフェース部11のIPアドレス『192.168.0.11』を制御テーブル26Aに対して受け渡しを行う。
データの受け渡し実施後、制御情報受信部25Aは、AP2AのEthernet部23のIPアドレス『133.0.0.23』に対して端末1の無線LANインタフェース部11のIPアドレス『192.168.0.11』のデータを受信したことを示すhttpsのレスポンスメッセージのデータを生成し、IP部22を介してWLC3AのWeb Client部35Aに対してhttpsのデータを送信する。
そして、シーケンスS013Aにおいて、WLC3AのWeb Client部35Aは、AP2Aの制御情報受信部25Aから、IP部32を介して、AP2AのEthernet部23のIPアドレス133.0.0.23に対して端末1の無線LANインタフェース部11のIPアドレス『192.168.0.11』のデータの送信が完了したことを示すhttpsのレスポンスメッセージを受信したのち、Ethernet部23のIPアドレス『133.0.0.23』に対して端末1の無線LANインタフェース部11のIPアドレス『192.168.0.11』のデータの送信が完了したことを通知するメッセージをログインページ配信部33Aに対して送信する。
その後、シーケンスS014Aにおいて、ログインページ配信部33Aは、AP2AのEthernet部23のIPアドレス『133.0.0.23』に対して端末1の無線LANインタフェース部11のIPアドレス『192.168.0.11』のデータの送信が完了したという通知をWeb Client部35Aより受信したのち、セッションテーブル36Aに対し、無線LANインタフェース部11のIPアドレス『192.168.0.11』をキーとしたレコードの削除要求を送信しレコードを削除する。そして、ログインページ配信部33Aは、認証成功を示すWebページのデータをhttpsで端末1のインターネットブラウザ部13に対し、IP部32を介して送信する。
以上に述べた動作により、端末1のインターネットブラウザ13はIP部12を介してWLC3Aのログインページ配信部33Aから認証成功の通知をhttpsで受信する。以降、端末1でインターネット6向けの通信を行う際は、AP2AのIP部22でリダイレクトをされることがなく、ユーザの意図通りに通信を行うことができる。
[認証後]
認証成功の通知の受信後、ユーザがWebサーバ8内のURL『http://www.******.ne.jp/』のWebページにアクセスする操作を端末1のインターネットブラウザ部13に対して行うと、インターネットブラウザ部13は、ユーザが指定したURL『http://www.******.ne.jp/』にアクセスするアクセス要求のデータを生成する。そしてインターネットブラウザ部13内部のDNSリゾルバ機能は通信先のURL『http://www.******.ne.jp/』に対応する宛先IPアドレスの解決を行い、対応する宛先IPアドレス『133.0.0.1』を得る。そして、宛先IPアドレス『133.0.0.1』とhttpデータをIP部12に対して受け渡す。
IP部12は、インターネットブラウザ部13から受け渡されたデータに、送信元IPアドレスには『192.168.0.11』、送信先IPアドレスにはインターネットブラウザ部13より受け渡された宛先IPアドレス『133.0.0.1』を設定したIPプロトコルのヘッダを付加することでIPパケットを生成する。
IP部12は、生成されたIPパケットの送信先IPアドレスの参照を行い、内部で保持しているルーティングテーブルとの照合を行う。照合した結果、IP部12は、送信先IPアドレスに対して最も合理的な到達性をもつEthernet部は無線LANインタフェース部11で、ネクストホップIPアドレスは『192.168.0.21』と判定し、無線LANインタフェース部11にIPパケットとネクストホップIPアドレス『192.168.0.21』を受け渡し、伝送を行わせる。
無線LANインタフェース部11は、IP部12からIPパケットとネクストホップIPアドレス『192.168.0.21』を受け取り、無線LANインタフェース部11内部のARPテーブルに対してネクストホップIPアドレス『192.168.0.21』でMACアドレス要求を行うことでネクストホップIPアドレス『192.168.0.21』に対応するMACアドレス『00:00:00:00:00:21』を得る。そして、送信元MACアドレスを『00:00:00:00:00:11』、送信先MACアドレスを『00:00:00:00:00:21』としたEthernetプロトコルのヘッダを付加することでEthernetフレームを生成し、無線で接続されているAP2Aの無線LANインタフェース部21Aに対して、Ethernetフレームを渡す。
AP2Aの無線LANインタフェース部21Aは、端末1の無線LANインタフェース部11からフレームを受信すると、Ethernetフレームの宛先MACアドレスの参照を行う。Ethernetフレームの宛先MACアドレス『00:00:00:00:00:21』は無線LANインタフェース部21AのMACアドレス『00:00:00:00:00:21』と一致するため、無線LANインタフェース部21Aは、Ethernetプロトコルのヘッダの除去を行い、生成されたIPパケットをIP部22に受け渡す。
IP部22は、無線LANインタフェース部21Aからパケットを渡されると、IPヘッダの送信先IPアドレスがAP2Aの無線LANインタフェース部21AのIPアドレス、又は、Ethernet部23のIPアドレスに一致するかどうかの確認を行う。その結果、IPヘッダの送信先IPアドレス『133.0.0.1』はAP2Aの無線LANインタフェース部21AのIPアドレス『192.168.0.21』、Ethernet部23のIPアドレス『133.0.0.23』のいずれとも一致しないため、IP部22は、次にパケットを受信したEthernet部がEthernet部23であるかどうかの確認を行う。その結果、パケットは無線LANインタフェース部21Aから受信しているため、Ethernet部23とは一致しない。よって、IP部22は、次にIPヘッダの送信元IPアドレス『192.168.0.11』が制御テーブル26A上に存在するかどうかを確認する。その結果、IPヘッダの送信元IPアドレス『192.168.0.11』は、制御テーブル26A上に存在するため、IP部22は、IPヘッダの送信先IPアドレスの参照を行い、IP部22内部で保持しているルーティングテーブルとの照合を行う。照合した結果、IP部22は、送信先IPアドレスに対して最も合理的な到達性をもつEthernet部はEthernet部23で、ネクストホップIPアドレスは『133.0.0.51』と判定し、Ethernet部23にIPパケットとネクストホップIPアドレス『133.0.0.51』を受け渡し、伝送を行わせる。
Ethernet部23は、IP部22からIPパケットとネクストホップIPアドレス『133.0.0.51』を受け取り、Ethernet部23内部のARPテーブルに対してネクストホップIPアドレス『133.0.0.51』でMACアドレス要求を行うことでネクストホップIPアドレス『133.0.0.51』に対応するMACアドレス『00:00:00:00:00:51』を得る。そして、Ethernet部23は、送信元MACアドレスを『00:00:00:00:00:23』、送信先MACアドレスを『00:00:00:00:00:51』としたEthernetプロトコルのヘッダを付加することでEthernetフレームを生成し、有線で接続されているGW5に対して、Ethernetフレームを受け渡す。
GW5は、AP2Aからパケットを受け取ると、GW5内部のルーティングテーブルを参照しIPヘッダの送信先IPアドレス『133.0.0.1』に対して最も合理的な到達性をもつインターネット6にパケットを渡す。
インターネット6は、パケットのIPヘッダの送信先IPアドレス『133.0.0.1』を参照し、対応するIPアドレス『133.0.0.1』をもつWebサーバ8にGW5より受信したパケットを転送する。
Webサーバ8は、インターネット6からhttpデータを受信すると、データ内に含まれる要求URLを参照し、要求URL『http://www.******.ne.jp/』を得る。そして、Webサーバ8は、要求URL『http://www.******.ne.jp/』に対応したWebページのデータをインターネット6を介して端末1へと受け渡す。
端末1はWebサーバ8からURL『http://www.******.ne.jp』のWebページのデータを受信すると、端末1が備える表示画面へとWebページのデータを表示する。
以上、第2実施形態によれば、通信トラフィックを分散させることで、管理ノードへの通信トラフィックの集中を回避することができる。これは、AP2Aがインターネット6側へトラフィックを流してもよい端末の情報をWLC3Aから受信し、その情報を基にAP2AがAP2A内部でフィルタリングを行うので、WLC3Aにトラフィックを流さず、AP2Aから直接インターネット6に向かって通信トラフィックを流すことが可能になるからである。
なお、上述する各実施の形態は、本発明の好適な実施の形態であり、本発明の要旨を逸脱しない範囲内において種々変更実施が可能である。例えば、上述した本実施形態における各処理を、ハードウェア、又は、ソフトウェア、あるいは、両者の複合構成を用いて実行することも可能である。
なお、ソフトウェアを用いて処理を実行する場合には、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれているコンピュータ内のメモリにインストールして実行させることが可能である。あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
この出願は、2015年3月23日に出願された日本出願、特願2015−059488を基礎とする優先権を主張し、その開示の全てをここに取り込む。