以下、図面を参照して実施の形態について説明する。各図面において、同一構成部分には同一符号を付し、重複した説明を省略する場合がある。なお、以下の説明において、セッション管理装置は、端末と認証サーバとの間で送受信されるRadiusパケットを収集して、端末が行う通信のセッション情報を管理する前提で説明するが、本実施の形態におけるセッション管理装置は、他の認証プロトコルに対しても適用することができる。
<概要>
(ネットワーク構成)
図1は、実施の形態に係る通信ネットワークの全体構成の一例を示す図である。実施の形態に係る通信ネットワークは、端末1と、NAS(Network Access Server)2と、認証プロキシサーバ3と、認証サーバ4と、SW(Switch)5aと、SW5bと、セッション管理装置10と、外部装置11とを有する。
端末1は、ユーザが所定のサービスの提供を受けるために用いる端末であり、例えば、PC(Personal Computer)、携帯端末、スマートフォン、タブレット、画像処理装置、プリンタ、スキャナ、プロジェクタ、デジタルサイネージ、又はゲーム機器などである。端末1は、通信を行う装置であればどのような装置であってもよい。所定のサービスとは、通信を用いたサービス全般を含み、例えば、PPPoE(Point to Point Protocol over Ethernet(登録商標))を用いたインターネット接続サービスなどである。端末1は、NAS2にアクセスすることで所定のサービスの提供を受けることができる。
NAS2は、端末1に所定のサービスを提供するシステムの入り口に設置されるサーバである。NAS2は、例えば、端末1からPPP(Point to Point Protocol)接続を受け付けるサーバである。NAS2は、端末1からのアクセスを受け付けると、認証サーバ4に対してRadiusパケットを送信することで認証処理を開始する。また、NAS2は、認証サーバ4から正しく認証されたことを示すRadiusパケットを受信すると、端末1に対して所定のサービスの提供を開始すると共に、端末1が行う通信のセッションが開始されたこと及びセッションが終了したことを示すRadiusパケットを認証サーバ4に送信する。
認証プロキシサーバ3は、例えば、Radius Proxyサーバであり、NAS2から認証サーバ4に送信されるRadiusパケットを中継するサーバである。また、認証プロキシサーバ3は、複数の認証サーバ4に接続され、Radiusパケットに含まれるユーザ名の一部であるドメイン名に基づいてRadiusパケットを適切な認証サーバ4に振り分ける役割を有する。なお、認証プロキシサーバ3は、Radiusパケットを認証サーバ4に送信する際、ユーザ名の一部であるドメイン名を削除して認証サーバ4に送信する場合がある。また、認証プロキシサーバ3は、NAS2から送信されるRadiusパケットが不正なパケットである場合に、当該Radiusパケットを破棄する。不正なパケットとは、例えば、攻撃パケット、適切な認証サーバが存在しないRadiusパケットである。
認証サーバ4は、例えば、Radiusサーバであり、Radiusパケットにより認証を行う機能を有する。また、認証サーバ4は、端末1が用いるIPアドレスを払い出す機能、及び、端末が行う通信のセッション情報を管理する機能などを有する。
SW5aは、NAS2と認証プロキシサーバ3との間のネットワーク経路上に設置されているスイッチである。SW5aは、例えば、レイヤ2スイッチ、レイヤ3スイッチ、又はルータ、仮想スイッチ等である。SW5aはミラーポートを有しており、NAS2と認証プロキシサーバ3との間のネットワーク経路上を流れるパケットをミラーポートからそのまま出力する機能を有する。
SW5bは、認証プロキシサーバ3と認証サーバ4との間のネットワーク経路上に設置されているスイッチである。SW5bは、例えば、レイヤ2スイッチ、レイヤ3スイッチ、又はルータ、仮想スイッチ等である。SW5bはミラーポートを有しており、認証プロキシサーバ3と認証サーバ4との間のネットワーク経路上を流れるパケットをミラーポートからそのまま出力する機能を有する。
セッション管理装置10は、SW5a及びSW5bのミラーポートに接続されており、NAS2と認証プロキシサーバ3との間のネットワーク経路上を流れるRadiusパケット、及び、認証プロキシサーバ3と認証サーバ4との間のネットワーク経路上を流れるRadiusパケットをキャプチャし、キャプチャしたRadiusパケットから端末1が行う通信のセッション情報を取得して管理する。また、セッション管理装置10は、取得したセッション情報を外部装置11に送信する機能を有する。
ここで、セッション管理装置10が管理するセッション情報とは、端末1が行う通信のセッションを一意に特定するための情報であり、例えば、端末1のユーザ名、端末1のIPアドレス、NAS2のIPアドレス等である。
外部装置11は、セッション管理装置10と接続されており、セッション管理装置10から通知されたセッション情報を用いて任意のサービス及び機能を提供する装置である。本実施の形態において、外部装置11が提供する任意のサービス及び機能は特に限定されないが、例えば、帯域制御機能、プリペイド課金機能等があげられる。
(Radiusパケット)
図2は、実施の形態に係るセッション管理装置が収集するRadiusパケットを説明するための図である。
セッション管理装置10は、NAS2から認証サーバ4に送信されるAccess-Requestパケット、認証サーバ4からNAS2に送信されるAccess-Acceptパケット及びAccess-Rejectパケット、及びNAS2から認証サーバ4に送信されるAccounting-Requestパケットを収集する。
これらのRadiusパケットには、種別コードが割り振られている。種別コードは、Radiusパケットの種類を一意に識別するためのコードであり、RFC(Request For Comments)により規定されているコードである。Access-Requestパケット、Access-Acceptパケット、Access-Rejectパケット、及び、Accounting-Requestパケットの種別コードは、それぞれ、1、2、3及び4である。
Radiusパケットには、図2に示すように複数の属性(Attribute)が含まれている。図2において「○」が付与されている箇所は、各種Radiusパケットに含まれる(又は含まれる可能性のある)属性を示している。
「User-Name」には、端末1のユーザ名が設定される。端末1のユーザ名には、例えば、「User1@example.com」といったように、ユーザ名部分(User1)及びドメイン名(@example.com)が含まれている。「NAS-IP-Address」には、NAS2のIPアドレスが設定される。
「Framed-IP-Address」には、端末1に払い出されるIPアドレスが設定される。ここで、「Framed-IP-Address」に所定のIPアドレス(255.255.255.254)が設定されている場合、端末1に払い出されるIPアドレスを、認証サーバ4の代わりにNAS2が払い出すことを意味する。なお、以下の説明において、端末1に払い出されるIPアドレスを認証サーバ4の代わりにNAS2が払い出すことを、便宜上「動的IPアドレス払い出し」と呼ぶことがある。
「Framed-IP-Netmask」には、端末1に払い出されるIPアドレスのサブネットマスクが設定される。ここで、「Framed-IP-Netmask」に255.255.255.255(又は/32)以外のサブネットマスクが設定されている場合、端末1に対して、複数のIPアドレスが払い出される(使用が許可される)ことを意味する。例えば、「Framed-IP-Address」に192.168.2.0が設定され、かつ「Framed-IP-Netmask」に255.255.255.248(又は/29)が設定されている場合、端末1に対して、ネットワークアドレス(192.168.2.0)及びブロードキャストアドレス(192.168.2.7)を除いた192.168.2.1〜192.168.2.6までのIPアドレスが払い出されることを意味する。なお、以下の説明において、端末1に対して複数のIPアドレスが払い出されることを、便宜上「複数固定IPアドレス払い出し」と呼ぶことがある。
「Framed-IP-Netmask」に255.255.255.255(又は/32)のサブネットマスクが設定されている場合、端末1には、「Framed-IP-Address」に設定される1つのIPアドレスが払い出されることを意味する。なお、以下の説明において、端末1に1つのIPアドレスが払い出されることを、便宜上「固定IPアドレス払い出し」と呼ぶことがある。
「Proxy-State」は、認証プロキシサーバ3を通過したAccess-Requestパケット及びその応答であるAccess-Acceptパケット又はAccess-Rejectパケットに設定される属性であり、認証プロキシサーバ3が付与する。Access-Requestパケット及びその応答であるAccess-Acceptパケット又はAccess-Rejectパケットに同一の値又は文字列が設定される。また、認証プロキシサーバ3は、Access-Acceptパケット又はAccess-RejectパケットをNAS2に転送する場合、自身が設定した「Proxy-State」属性を削除する。
「Acct-Status-Type」は、Accounting-Requestパケットが、セッションの開始(サービスの開始)を意味するのか、セッションの終了(サービスの終了)を意味するのかを示す属性である。「Acct-Status-Type」に1が設定されている場合、Accounting-Requestパケットはセッションの開始(サービスの開始)を意味し、「Acct-Status-Type」に2が設定されている場合、Accounting-Requestパケットはセッションの終了(サービスの終了)を意味する。なお、以下の説明において、「Acct-Status-Type」に1が設定されているAccounting-Requestパケットを「Accounting-Request(start)パケット」と呼び、「Acct-Status-Type」に2が設定されているAccounting-Requestパケットを「Accounting-Request(stop)パケット」と呼ぶことがある。
「Acct-Session-Id」は、Accounting-Request(start)パケットと、Accounting-Request(stop)パケットとを対応づけるために用いられるIDである。なお、「Acct-Session-Id」をAccess-Requestパケットに含めることもできる。
上記の各属性には、各属性を一意に識別するための属性番号が振られている。属性番号はRFCにより規定されている。「User-Name」、「NAS-IP-Address」、「Framed-IP-Address」、「Framed-IP-Netmask」、「Proxy-State」、「Acct-Status-Type」、及び「Acct-Session-Id」の属性番号は、それぞれ、1、4、8、9、33、40及び44である。
(動作概要)
セッション管理装置10は、NAS2から認証サーバ4に送信されるAccess-Requestパケット、認証サーバ4からNAS2に送信されるAccess-Acceptパケット及びAccess-Rejectパケット、及びNAS2から認証サーバ4に送信されるAccounting-Requestパケットをキャプチャし、キャプチャしたパケットに含まれる各属性の設定値を順次キャッシュテーブルに格納する。
続いて、セッション管理装置10は、キャッシュテーブルを用いて端末1及び認証サーバ4の間におけるRadiusパケットの送受信状態を把握する。また、セッション管理装置10は、Radiusパケットの送受信状態及び属性の設定値が所定の条件を満たす場合に、端末1が行う通信のセッション情報を外部装置11に送信する。
<ハードウェア構成>
図3は、実施の形態に係るセッション管理装置のハードウェア構成の一例を示す図である。実施の形態に係るセッション管理装置10は、CPU101と、ROM102と、RAM103と、HDD104と、操作部105と、表示部106と、ドライブ装置107と、NIC(Network Interface card)108とを有する。
CPU101は、セッション管理装置10の全体制御を行うプロセッサである。CPU101は、HDD104等に記憶されたオペレーティングシステム、アプリケーション、各種サービス等のプログラムを実行し、セッション管理装置10の各種機能を実現する。ROM102には、各種のプログラムやプログラムによって利用されるデータ等が記憶される。RAM103は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。また、RAM103は、匿名化処理を行う際に用いるインメモリデータベースを保持する。HDD104には、各種情報及びプログラム等が記憶される。
操作部105は、ユーザからの入力操作を受け付けるためのハードウェアであり、例えばキーボード又はマウスである。表示部106は、利用者に向けた表示を行うハードウェアである。
ドライブ装置107は、プログラムを記録した記憶媒体109からプログラムを読み取る。ドライブ装置107によって読み取られたプログラムは、例えば、HDD104にインストールされる。NIC108は、セッション管理装置10をネットワークに接続し、データの送受信を行うための通信インタフェースである。
なお、記憶媒体109とは、非一時的(non-transitory)な記憶媒体を言う。記憶媒体109の例としては、磁気記憶媒体、光ディスク、光磁気記憶媒体、不揮発性メモリなどがある。
<ソフトウェア構成>
図4は、実施の形態に係るセッション管理装置のソフトウェア構成の一例を示す図である。セッション管理装置10は、キャプチャ部201と、セッション管理部202と、一時記憶部203と、記憶部204と、セッション情報通知部205と、信号送信部206とを有する。また、セッション管理部202は、アクセスリクエスト処理部211と、アクセス信号処理部212と、アカウンティング信号処理部213とを有する。
これら各手段は、セッション管理装置10にインストールされた1以上のプログラムが、CPU101に実行させる処理により実現され得る。また、セッション管理装置10は、一時記憶部203を利用する。一時記憶部203は、例えばインメモリデータベースであり、RAM103を用いて実現可能である。また、セッション管理装置10は、記憶部204を利用する。記憶部204は、ROM102、RAM103、HDD104又はセッション管理装置10にネットワークを介して接続される記憶装置等を用いて実現可能である。
キャプチャ部201は、SW5a及びSW5bから送信されるIPパケットのうち、UDPパケット、IPヘッダの送信元アドレス又は宛先アドレスが認証プロキシサーバのIPアドレスであるパケット、UDPヘッダの宛先ポート番号が1645、1646、1812及び1813のうちいずれかであるパケット、Radiusヘッダの種別コードが1、2、3及び4のいずれかであるパケットを収集する機能を有する。また、キャプチャ部201は、これらの条件のうち一部の条件を満たさないパケット(TCPパケットなど)は収集せずに破棄する。また、キャプチャ部201は、キャプチャしたIPパケットが、SW5aから送信されたIPパケットなのか、又は、SW5bから送信されたIPパケットなのかを認識する機能を有する。
セッション管理部202は、キャプチャ部で収集されたRadiusパケットに含まれる属性の設定値を、各Radiusパケットに対応するキャッシュテーブルに格納すると共に、キャッシュテーブルを用いて、端末1及び認証サーバ4の間におけるRadiusパケットの送受信状態を把握する。また、セッション管理部202は、記憶部204に記憶されているタイムアウト設定情報に基づいて、キャッシュテーブルに格納されている各レコードの有効期間を確認し、各レコードの有効期間が、タイムアウト設定情報に設定されている有効期間を超えている場合は、当該レコードをキャッシュテーブルから削除する。
一時記憶部203には、アクセスリクエストキャッシュテーブル、アクセス信号キャッシュテーブル、及びアカウンティング信号キャッシュテーブルが格納される。ここで、図5〜図7を用いて、アクセスリクエストキャッシュテーブル、アクセス信号キャッシュテーブル、アカウンティング信号キャッシュテーブルの具体例について説明する。
図5は、キャッシュテーブルの一例を示す図である。まず、アクセスリクエストキャッシュテーブルの具体例について説明する。図5(a)は、アクセスリクエストキャッシュテーブルの一例を示している。図5(a)に示すように、アクセスリクエストキャッシュテーブルは、「管理ID」カラムと、「状態」カラムと、「User-Name」カラムと、「NAS-IP-Address」カラムと、「Proxy-State」カラムと、「Acct-Session-Id」カラムと、「生成日時」カラムとを有する。
「管理ID」カラムには、アクセスリクエストキャッシュテーブルの各レコードを一意に識別するためのIDが格納される。「状態」カラムには、キャプチャされたAccess-Requestパケットの状態遷移を管理する情報が格納される。「User-Name」カラム、「NAS-IP-Address」カラム、「Proxy-State」カラム、及び「Acct-Session-Id」カラムには、キャプチャされたAccess-Requestパケットに含まれる各属性の設定値が格納される。「生成日時」カラムには、レコードが生成された日時が格納される。
アクセスリクエストキャッシュテーブルは、認証プロキシサーバ3を通過したAccess-Requestパケットのうち、認証プロキシサーバ3を通過する前のAccess-Requestパケットに含まれる「User-Name」属性を取得するために用いられる。また、アクセスリクエストキャッシュテーブルは、何らかの理由でAccess-Requestパケットが再送された場合に、再送されたAccess-Requestパケットが重複して処理されないようにするためにも用いられる。
前述の通り、認証プロキシサーバ3は、Access-Requestパケットの「User-Name」属性に設定されているユーザ名のうち、ドメイン名の部分を削除してしまうことがある。具体的には、例えば、「User-Name」属性に設定されているユーザ名が「User1@example.com」である場合、認証プロキシサーバ3は、「User-Name」属性に設定されているユーザ名を、「User1」に書き換えてしまうことがある。従って、セッション管理装置10は、認証プロキシサーバ3の前後でAccess-RequestパケットをキャプチャすることでAccess-Requestパケットが認証プロキシサーバ3を通過したことを確認すると共に、認証プロキシサーバ3を通過する前のAccess-Requestパケットに含まれる「User-Name」属性からドメイン名を含むユーザ名を取得するようにしている。
図6は、アクセスリクエストキャッシュテーブルの状態遷移を説明するための図である。図6を用いて、アクセスリクエストキャッシュテーブルの「状態」カラムに格納される状態遷移を管理する情報について具体的に説明する。
「A−S0」は、Access-Requestパケットを受信する前の初期状態を示している。なお、「A−S0」は初期状態であるため、アクセスリクエストキャッシュテーブルの「状態」カラムに「A−S0」が設定されることはない。
続いて、認証プロキシサーバ3の前に設置されているSW5aから送信されたAccess-Requestパケットがキャプチャされた場合、「A−S0」の状態は「A−S1」に遷移する。この状態で、認証プロキシサーバ3の後に設置されているSW5bで、認証プロキシサーバ3を通過したAccess-Requestパケットがキャプチャされた場合、「A−S1」の状態は「A−S3」に遷移する。
一方、何らかの理由で受信パケットの逆転が発生し、認証プロキシサーバ3の後に設置されているSW5bから送信されたAccess-Requestパケットが最初にキャプチャされた場合、「A−S0」の状態は「A−S2」に遷移する。この状態で、認証プロキシサーバ3の前に設置されているSW5aから送信されたAccess-Requestパケットを受信した場合、「A−S2」の状態は「A−S3」に遷移する。
続いて、「A−S1」、「A−S2」及び「A−S3」の状態が継続し、有効期間が経過した場合(タイムアウトした場合)、これらの状態は「A−S0」に戻る。「A−S1」の状態が継続して有効期間が経過する場合とは、例えば、Access-Requestパケットが不正なパケット等であり、当該Access-Requestパケットが認証プロキシサーバ3で破棄された等の場合が想定される。「A−S2」の状態が継続して有効期間が経過する場合とは、例えば、何かしらの理由により、SW5aでミラーリングされたAccess-Requestパケットが欠損してセッション管理装置10でキャプチャされなかった場合等が想定される。
次に、アクセス信号キャッシュテーブルの具体例について説明する。図5(b)は、アクセス信号キャッシュテーブルの一例を示している。図5(b)に示すように、アクセス信号キャッシュテーブルは、「管理ID」カラムと、「状態」カラムと、「User-Name」カラムと、「NAS-IP-Address」カラムと、「Framed-IP-Address」カラムと、「Framed-IP-Netmask」カラムと、「Proxy-State」カラムと、「Acct-Session-Id」カラムと、「生成日時」カラムとを有する。
「管理ID」カラムには、アクセス信号キャッシュテーブルの各レコードを一意に識別するためのIDが格納される。「状態」カラムには、キャプチャされたAccess-Requestパケット、Access-Acceptパケット又はAccess-Rejectパケットの全体の状態遷移を管理する情報が格納される。「User-Name」カラム、「NAS-IP-Address」カラム、「Framed-IP-Address」カラム、「Framed-IP-Netmask」カラム、「Proxy-State」カラム、及び「Acct-Session-Id」カラムには、Access-Requestパケット及びAccess-Acceptパケットに含まれる各属性の設定値が格納される。「生成日時」カラムには、レコードが生成された日時が格納される。
アクセス信号キャッシュテーブルは、複数固定IPアドレス払い出しにより払い出された端末1のIPアドレスを取得するために用いられる。また、アクセス信号キャッシュテーブルは、何らかの理由でAccess-Requestパケット、Access-Acceptパケット、又はAccess-Rejectパケットが再送された場合に、再送されたパケットが重複して処理されないようにするためにも用いられる。
セッション管理装置10は、アクセス信号キャッシュテーブルを用いて、Access-Requestパケットに対応するAccess-Acceptパケットが認証サーバ4から送信されたことを認識する。また、セッション管理装置10は、「Framed-IP-Netmask」属性に255.255.255.255(又は/32)以外が設定されている場合、端末1に対して複数固定IPアドレス払い出しが行われていると認識する。
図7は、アクセス信号キャッシュテーブルの状態遷移を説明するための図である。図7を用いて、アクセス信号キャッシュテーブルの「状態」カラムに格納される状態遷移を管理する情報について具体的に説明する。
「B−S0」はアクセス信号キャッシュテーブルの状態遷移の初期状態を示している。なお、「B−S0」は初期状態であるため、アクセス信号キャッシュテーブルの「状態」カラムに「B−S0」が設定されることはない。
続いて、Access-Requestパケットが認証プロキシサーバ3を通過したことが検出された場合、「B−S0」の状態は「B−S1」に遷移する。この状態で、当該Access-Requestパケットに対応するAccess-Acceptパケットがキャプチャされた場合、「B−S1」の状態は「B−S3」に遷移し、当該Access-Acceptパケットに対応するAccess-Rejectパケットがキャプチャされた場合、「B−S1」の状態は「B−S4」に遷移する。
一方、何らかの理由で受信パケットの逆転が発生し、Access-Requestパケットが認証プロキシサーバ3を通過したことが検出される前に、Access-Acceptパケットがキャプチャされた場合、「B−S0」の状態は「B−S2」に遷移する。この状態で、Access-Requestパケットが認証プロキシサーバ3を通過したことが検出された場合、「B−S2」の状態は「B−S3」に遷移する。また、何らかの理由で受信パケットの逆転が発生し、Access-Requestパケットが認証プロキシサーバ3を通過したことが検出される前に、Access-Rejectパケットを受信した場合、「B−S0」の状態は「B−S4」に遷移する。
続いて、「B−S1」、「B−S2」、「B−S3」及び「B−S4」の状態が継続し、有効期間が経過した場合(タイムアウトした場合)、これらの状態は「B−S0」に戻る。「B−S1」の状態が継続して有効期間が経過する場合とは、例えば、何かしらの理由により、Access-Acceptパケット又はAccess-Rejectパケットが認証サーバ4から送信されていない場合等が想定される。「A−S2」の状態が継続して有効期間が経過する場合とは、何かしらの理由によりAccess-Requestパケットが認証プロキシサーバ3を通過したことが検出されなかった場合等が想定される。
次に、アカウンティング信号キャッシュテーブルの具体例について説明する。図5(c)は、アカウンティング信号キャッシュテーブルの一例を示している。図5(c)に示すように、アカウンティング信号キャッシュテーブルは、「管理ID」カラムと、「User-Name」カラムと、「NAS-IP-Address」カラムと、「Framed-IP-Address」カラムと、「Acct-Status-Type」カラムと、「Acct-Session-Id」カラムと、「生成日時」カラムとを有する。
「User-Name」カラム、「NAS-IP-Address」カラム、「Framed-IP-Address」カラム、「Acct-Status-Type」カラム、及び「Acct-Session-Id」カラムには、Accounting-Requestパケットに含まれる各属性の設定値が格納される。「生成日時」カラムには、レコードが生成された日時が格納される。
アカウンティング信号キャッシュテーブルは、何らかの理由でAccounting-Requestパケットが再送された場合に、再送されたパケットが重複して処理されないようにするために用いられる。
図4に戻り説明を続ける。記憶部204にはタイムアウト設定情報が格納される。タイムアウト設定情報は、アクセスリクエストキャッシュテーブル、アクセス信号キャッシュテーブル及びアカウンティング信号キャッシュテーブルに格納される各レコードの有効期間を設定するための情報である。
図8は、タイムアウト設定情報の一例を示す図である。タイムアウト設定情報は、「キャッシュテーブル名」カラムと、「状態」カラムと、「有効期間」カラムとを有する。「キャッシュテーブル名」カラムには、該当するキャッシュテーブルの名称が格納される。「状態」カラムには、アクセスリクエストキャッシュテーブル及びアクセス信号キャッシュテーブルにおける各状態が格納される。「有効期間」カラムには、各状態の各々に対応づけられた有効期間、及びアカウンティング信号キャッシュテーブルに対応づけられた有効期間が格納される。例えば、図8に示すように、状態が「A−S1」に対応する有効期間には「3sec」が設定されている。これは、アクセスリクエストキャッシュテーブルのレコードのうち、「状態」カラムに「A−S1」が設定されているレコードの有効期間は3秒であることを示している。すなわち、「状態」カラムに「A−S1」が設定されているレコードは、3秒経過すると削除されることになる。なお、図8に示す有効期間はあくまで一例であり、他の値が設定されていてもよい。
セッション情報通知部205は、セッション管理部202の指示により、端末1が行う通信のセッション情報を、信号送信部206を介して外部装置11に通知する。
信号送信部206は、外部装置11との間で規定されたプロトコルに従って各種信号を送信する。
<処理手順>
図9は、セッション管理装置が行うセッション管理処理の処理手順の一例を説明するためのシーケンス図である。図9を用いて、ネットワーク上を流れるRadiusパケットの具体例を説明すると共に、セッション管理装置10がネットワーク上で送受信されるRadiusパケットをキャプチャし、キャプチャしたRadiusパケットに従ってセッション情報を外部装置11に通知するまでの一連の処理手順を具体的に説明する。
ステップS301で、端末1からのアクセスを受け付けたNAS2は、Access-RequestパケットをSW5aに送信する。
ステップS302で、SW5aのミラーポートから、Access-Requestパケットがセッション管理装置10に送信される。
ステップS303で、セッション管理装置10のキャプチャ部201は、認証プロキシサーバ3の前でAccess-Requestパケットをキャプチャしたことをセッション管理部202に通知する。続いて、セッション管理部202は、キャプチャされたAccess-Requestパケットに含まれる各属性の設定値をキャッシュテーブルに格納する処理を行う。ここで、ステップS303でセッション管理部202が行う処理手順の詳細を説明する。
図10は、認証プロキシサーバの前でAccess-Requestパケットを受信した場合に行われるキャッシュテーブル操作の一例を示すフローチャートである。
ステップS401で、セッション管理部202は、キャプチャされたAccess-Requestパケットに含まれる各属性のうち、「NAS-IP-Address」及び「Acct-Session-Id」の設定値と同一の値を有するレコードがアクセスリクエストキャッシュテーブルに格納されているか否かを確認する。同一の値を有するレコードが格納されていない場合、ステップS402の処理手順に進み、同一の値を有するレコードが既に格納されている場合、ステップS403の処理手順に進む。
なお、セッション管理部202は、ステップS401の処理手順を行う前に、キャプチャされたAccess-Requestパケットに含まれる全ての属性の設定値と同一の値を有するレコードがアクセスリクエストキャッシュテーブルに既に格納されているか否かを確認し、全ての属性の設定値と同一の値を有するレコード格納されている場合、Access-Requestパケットが再送されたと判断して処理を終了するようにしてもよい。
ステップS402で、セッション管理部202は、アクセスリクエストキャッシュテーブルに新たなレコードを追加し、キャプチャされたAccess-Requestパケットに含まれる各属性(「User-Name」、「NAS-IP-Address」、「Proxy-State」、「Acct-Session-Id」)の設定値を新たなレコードに格納する。また、セッション管理部202は、新たなレコードの「生成日時」カラムに生成日時を設定すると共に、「状態」カラムに「A−S1」を設定して処理を終了する。
ステップS403の処理手順は、何らかの理由で受信パケットの逆転が発生し、既に認証プロキシサーバ3の後に設置されているSW5bを通過したAccess-Requestパケットがキャプチャされていた場合に行われることになる処理手順である。ステップS403で、セッション管理部202は、「NAS-IP-Address」及び「Acct-Session-Id」の設定値と同一の値を有するレコードの「User-Name」カラムを、キャプチャされたAccess-Requestパケットに含まれる「User-Name」属性の設定値に更新する。この更新処理により、認証プロキシサーバ3によりドメイン名が削除されている場合であっても、当該レコードの「User-Name」カラムに設定されているユーザ名を、ドメイン名を含むユーザ名に更新することができる。
ステップS404乃至ステップS407の処理手順は、何らかの理由で受信パケットの逆転が発生し、既にAccess-Acceptパケットがキャプチャされていた場合に行われる処理手順である。ステップS404及びステップS405の処理手順は、後述する図11のステップS504及びステップS505の処理手順と同一であるため、説明は省略する。また、ステップS406及びステップS407の処理手順は、後述する図12のステップS605及びステップS606の処理手順と同一であるため説明は省略する。図9に戻り説明を続ける。
ステップS304で、SW5aはAccess-Requestパケットを認証プロキシサーバ3に送信する。
ステップS305で、認証プロキシサーバ3は、Access-RequestパケットをSW5bに送信する。
ステップS306で、SW5bのミラーポートから、Access-Requestパケットがセッション管理装置10に送信される。
ステップS307で、セッション管理装置10のキャプチャ部201は、認証プロキシサーバ3の後でAccess-Requestパケットをキャプチャしたことをセッション管理部202に通知する。セッション管理部202は、アクセスリクエストキャッシュテーブルに格納されているレコードの「状態」カラムを更新する処理を行う。ここで、ステップS307でセッション管理部202が行う処理手順の詳細を説明する。
図11は、認証プロキシサーバの後でAccess-Requestパケットを受信した場合に行われるキャッシュテーブル操作の一例を示すフローチャートである。
ステップS501で、セッション管理部202は、キャプチャされたAccess-Requestパケットに含まれる各属性のうち、「NAS-IP-Address」及び「Acct-Session-Id」の設定値と同一の値を有するレコードがアクセスリクエストキャッシュテーブルに格納されているか否かを確認する。同一の値を有するレコードが既に格納されている場合、ステップS503の処理手順に進み、同一の値を有するレコードが格納されていない場合、ステップS502の処理手順に進む。
なお、セッション管理部202は、ステップS501の処理手順を行う前に、キャプチャされたAccess-Requestパケットに含まれる全ての属性の設定値と同一の値を有するレコードがアクセスリクエストキャッシュテーブルに既に格納されているか否かを確認し、全ての属性の設定値と同一の値を有するレコード格納されている場合、Access-Requestパケットが再送されたと判断して処理を終了するようにしてもよい。
ステップS502の処理手順は、何らかの理由で受信パケットの逆転が発生し、認証プロキシサーバ3の前に設置されているSW5aを通過したAccess-Requestパケットがキャプチャされていない場合に行われることになる。ステップS502で、セッション管理部202は、アクセスリクエストキャッシュテーブルに新たなレコードを追加し、キャプチャされたAccess-Requestパケットに含まれる各属性(「User-Name」、「NAS-IP-Address」、「Proxy-State」、「Acct-Session-Id」)の設定値を新たなレコードに格納する。また、セッション管理部202は、新たなレコードの「生成日時」カラムに生成日時を設定すると共に、「状態」カラムに「A−S2」を設定して処理を終了する。
ステップS503で、セッション管理部202は、「NAS-IP-Address」及び「Acct-Session-Id」の設定値と同一の値を有するレコードの「状態」カラムを「A−S3」に更新する。なお、ステップS503の処理手順では、ステップS403の処理手順ように、当該レコードの「User-Name」カラムの更新処理は行われない。認証プロキシサーバ3によりドメイン名が削除されている場合、ドメイン名が削除されたユーザ名に更新されてしまうことを防止するためである。
ステップS504で、セッション管理部202は、認証プロキシサーバの後でキャプチャされたAccess-Requestパケットに含まれる「Proxy-State」の設定値と同一の値を有するレコードがアクセス信号キャッシュテーブルに格納されているか否かを確認する。同一の値を有するレコードが既に格納されている場合、ステップS506の処理手順に進み、同一の値を有するレコードが格納されていない場合、ステップS505の処理手順に進む。
ステップS505で、セッション管理部202は、アクセス信号キャッシュテーブルに新たなレコードを追加する。また、セッション管理部202は、ステップS503の処理手順で「状態」カラムを「A−S3」に更新したアクセスリクエストキャッシュテーブルのレコードの各カラムのうち、「状態」カラム以外の各カラム(すなわち、「User-Name」、「NAS-IP-Address」、「Proxy-State」、「Acct-Session-Id」、「受信日時」)の設定値を当該新たなレコードにコピーする。また、セッション管理部202は、新たなレコードの「生成日時」カラムに生成日時を設定すると共に、「状態」カラムに「B−S1」を設定して処理を終了する。
ステップS506乃至ステップS508の処理手順は、何らかの理由で受信パケットの逆転が発生し、既にAccess-Acceptパケットがキャプチャされていた場合に行われる処理手順である。ステップS506乃至ステップS508の処理手順は、後述する図12のステップS604乃至ステップS606の処理手順と同一であるため、説明は省略する。図9に戻り説明を続ける。
ステップS308で、SW5bはAccess-Requestパケットを認証サーバ4に送信する。
ステップS309で、認証サーバ4は、端末1の認証を行う。認証に成功した場合、認証サーバ4はAccess-AcceptパケットをSW5bに送信する。認証に失敗した場合、認証サーバ4はAccess-RejectパケットをSW5bに送信する。
ステップS310で、SW5bのミラーポートから、Access-Acceptパケット又はAccess-Rejectパケットがセッション管理装置10に送信される。
ステップS311で、セッション管理装置10のキャプチャ部201は、Access-Acceptパケット又はAccess-Rejectパケットをキャプチャしたことをセッション管理部202に通知する。セッション管理部202は、キャプチャされたAccess-Acceptパケットに含まれる各属性の設定値をアクセス信号キャッシュテーブルに格納されているレコードに追加する処理等を行う。ここで、ステップS311でセッション管理部202が行う処理手順の詳細を説明する。
図12は、Access-Acceptパケット又はAccess-Rejectパケットを受信した場合に行われるキャッシュテーブル操作の一例を示すフローチャートである。
ステップS601で、セッション管理部202は、キャプチャされたAccess-Acceptパケット又はAccess-Rejectパケットに含まれる「Proxy-State」の設定値と同一の値を有するレコードがアクセス信号キャッシュテーブルに格納されているか否かを確認する。同一の値を有するレコードが既に格納されている場合、ステップS603の処理手順に進み、同一の値を有するレコードが格納されていない場合、ステップS602の処理手順に進む。なお、ステップS602の処理手順は、何らかの理由で受信パケットの逆転が発生し、Access-Requestパケットがキャプチャされる前にAccess-Acceptパケットがキャプチャされた場合に行われる処理手順である。
なお、セッション管理部202は、ステップS601の処理手順を行う前に、キャプチャされたAccess-Acceptパケット又はAccess-Rejectパケットに含まれる全ての属性の設定値と同一の値を有するレコードがアクセス信号キャッシュテーブルに既に格納されているか否かを確認し、全ての属性の設定値と同一の値を有するレコード格納されている場合、Access-Acceptパケット又はAccess-Rejectパケットが再送されたと判断して処理を終了するようにしてもよい。
ステップS602で、セッション管理部202は、アクセス信号キャッシュテーブルに新たなレコードを追加し、「生成日時」カラムに生成日時を設定する。また、セッション管理部202は、キャプチャされたパケットがAccess-Acceptパケットである場合、Access-Acceptパケットに含まれる各属性(「Framed-IP-Address」、「Framed-IP-Netmask」、「Proxy-State」)の設定値を当該新たなレコードに格納すると共に、当該新たなレコードの「状態」カラムを「B−S2」に設定して処理を終了する。セッション管理部202は、キャプチャされたパケットがAccess-Rejectパケットである場合、当該新たなレコードの「状態」カラムを「B−S4」に設定して処理を終了する。
ステップS603で、セッション管理部202は、キャプチャされたパケットがAccess-Acceptパケットなのか、又は、Access-Rejectパケットなのかを判断する。Access-Acceptパケットである場合、ステップS604の処理手順に進み、Access-Rejectパケットである場合、ステップS607の処理手順に進む。
ステップS604で、セッション管理部202は、キャプチャされたAccess-Acceptパケットに含まれる「Proxy-State」の設定値と同一の値を有するアクセス信号キャッシュテーブルのレコードに、キャプチャされたAccess-Acceptパケットに含まれる各属性(「Framed-IP-Address」、「Framed-IP-Netmask」)の設定値を追加する。また、当該レコードの「状態」カラムを「B−S3」に更新する。
ステップS605で、セッション管理部202は、ステップS604の処理手順で「状態」カラムを更新したレコードの「Framed-IP-Address」に、255.255.255.254が設定されているか否かを確認する。255.255.255.254以外の値が設定されている場合、複数固定IPアドレス払い出し、又は固定IPアドレス払い出しが行われていると判断してステップS606の処理手順に進み、255.255.255.254が設定されている場合、動的IP払い出しが行われていると判断して処理を終了する。
ステップS606で、セッション情報通知部205は、外部装置11にセッション情報を含むセッション開始通知を送信する。より具体的には、セッション情報通知部205は、アクセス信号キャッシュテーブルの「状態」カラムが「B−S3」であり、かつ、「Framed-IP-Address」に、255.255.255.254以外の値が設定されているレコードの「User-Name」カラム、「NAS-IP-Address」カラム、「Framed-IP-Address」カラム、「Framed-IP-Netmask」カラム及び「Acct-Session-Id」カラムの各設定値を、セッション開始通知に含めて外部装置11に送信する。
ステップS607で、セッション管理部202は、キャプチャされたAccess-Rejectパケットに含まれる「Proxy-State」の設定値と同一の値を有する、アクセス信号キャッシュテーブルのレコードの「状態」カラムを「B−S4」に更新して処理を終了する。図9に戻り説明を続ける。
ステップS312の処理手順は、図12のステップS606で行われる処理手順を、説明の便宜上再掲したものであるため説明は省略する。
ステップS313で、SW5bは、Access-Acceptパケット又はAccess-Rejectパケットを認証プロキシサーバ3に送信する。認証プロキシサーバ3から送信されたAccess-Acceptパケット又はAccess-Rejectパケットは、SW5aを経由してNAS2に送信される(S314、S315)。
ステップS316で、NAS2は、Access-Acceptパケットを受信した場合、認証に成功したと判断し、端末1が行う通信のセッションが開始されたことを認証サーバ4に通知するために、Accounting-Request(start)パケットをSW5aに送信する。続いて、SW5aは、当該パケットを認証プロキシサーバ3に送信し、認証プロキシサーバ3は、当該パケットをSW5bに送信する(S317、S318)。
ステップS319で、SW5bのミラーポートから、Accounting-Request(start)パケットがセッション管理装置10に送信される。
ステップS320で、セッション管理装置10のキャプチャ部201は、Accounting-Request(start)パケットをキャプチャしたことをセッション管理部202に通知する。セッション管理部202は、キャプチャされたAccounting-Request(start)パケットに含まれる各属性の設定値をアカウンティング信号テーブルに格納する処理を行う。ここで、ステップS320でセッション管理部202が行う処理手順の詳細を説明する。
図13(a)は、Accounting-Request(start)パケットを受信した場合に行われるキャッシュテーブル操作の一例を示すフローチャートである。
ステップS701で、セッション管理部202は、キャプチャされたAccounting-Request(start)パケットに含まれる各属性の設定値と同一の値を有するレコードがアカウンティング信号キャッシュテーブルに格納されているか否かを確認する。同一の値を有するレコードが既に格納されている場合、Accounting-Request(start)パケットが再送されたと判断して処理を終了する。同一の値を有するレコードが格納されていない場合、ステップS702の処理手順に進む。
ステップS702で、セッション管理部202は、アカウンティング信号キャッシュテーブルに新たなレコードを追加し、キャプチャされたAccounting-Request(start)パケットに含まれる各属性(「User-Name」、「NAS-IP-Address」、「Framed-IP-Address」、「Acct-Status-Type」、「Acct-Session-Id」)の設定値を当該新たなレコードに格納する。
ステップS703で、セッション情報通知部205は、外部装置11にセッション情報を含むセッション開始通知を送信する。より具体的には、セッション情報通知部205は、ステップS702で追加した新たなレコードの「User-Name」カラム、「NAS-IP-Address」カラム、「Framed-IP-Address」カラム及び「Acct-Session-Id」カラムの各設定値をセッション開始通知に含めて外部装置11に送信する。なお、セッション情報通知部205は、更に「Acct-Status-Type」カラムの設定値をセッション開始通知に含めて外部装置11に送信するようにしてもよい。図9に戻り説明を続ける。
ステップS321の処理手順は、図13のステップS703で行われる処理手順を説明の便宜上再掲したものであるため説明は省略する。
ステップS322で、SW5bは、Accounting-Request(start)パケットを認証サーバ4に送信する。
ステップS323で、NAS2は、端末1が行う通信のセッションが終了したことを検出した場合、端末1が行う通信のセッションが終了したことを認証サーバ4に通知するために、Accounting-Request(stop)パケットをSW5aに送信する。続いて、SW5aは、当該パケットを認証プロキシサーバ3に送信し、認証プロキシサーバ3は、当該パケットをSW5bに送信する(S324、S325)。
ステップS326で、SW5bのミラーポートから、Accounting-Request(stop)パケットがセッション管理装置10に送信される。
ステップS327で、セッション管理装置10のキャプチャ部201は、Accounting-Request(stop)パケットをキャプチャしたことをセッション管理部202に通知する。セッション管理部202は、キャプチャされたAccounting-Request(stop)パケットに含まれる各属性の設定値をアカウンティング信号テーブルに格納する処理を行う。ここで、ステップS326でセッション管理部202が行う処理手順の詳細を説明する。
図13(b)は、Accounting-Request(stop)パケットを受信した場合に行われるキャッシュテーブル操作の一例を示すフローチャートである。
ステップS801で、セッション管理部202は、キャプチャされたAccounting-Request(stop)パケットに含まれる各属性の設定値と同一の値を有するレコードがアカウンティング信号キャッシュテーブルに格納されているか否かを確認する。同一の値を有するレコードが既に格納されている場合、Accounting-Request(stop)パケットが再送されたと判断して処理を終了する。同一の値を有するレコードが格納されていない場合、ステップS802の処理手順に進む。
ステップS802で、セッション管理部202は、アカウンティング信号キャッシュテーブルに新たなレコードを追加し、キャプチャされたAccounting-Request(stop)パケットに含まれる各属性(「User-Name」、「NAS-IP-Address」、「Framed-IP-Address」、「Acct-Status-Type」、「Acct-Session-Id」)の設定値を当該新たなレコードに格納する。
ステップS803で、セッション情報通知部205は、外部装置11にセッション情報を含むセッション終了通知を送信する。より具体的には、セッション情報通知部205は、ステップS702で追加した新たなレコードの「User-Name」カラム、「NAS-IP-Address」カラム、「Framed-IP-Address」カラム、「Acct-Status-Type」カラム及び「Acct-Session-Id」カラムの各設定値を、セッション終了通知に含めて外部装置11に送信する。図9に戻り説明を続ける。
ステップS328の処理手順は、図13のステップS803で行われる処理手順を説明の便宜上再掲したものであるため説明は省略する。
ステップS329で、SW5bは、Accounting-Request(stop)パケットを認証サーバ4に送信する。
なお、図9の処理手順において、ステップS319乃至ステップS321の処理手順は、ステップS316とステップS317との間で行われるようにしてもよい。つまり、SW5aのミラーポートからセッション管理装置10に送信されるAccounting-Request(start)パケットを用いて、ステップS319乃至ステップS321の処理手順が行われるようにしてもよい。また、キャプチャ部201は、SW5aのミラーポート及びSW5bミラーポートの両方から送信されるAccounting-Request(start)パケットをキャプチャすると共に、セッション管理部202は、両方のAccounting-Request(start)パケットを比較することで、Accounting-Request(start)パケットが認証プロキシサーバ3を通過したことを確認するようにしてもよい。
また、ステップS326乃至ステップS328の処理手順は、ステップS323とステップS324との間で行われるようにしてもよい。つまり、SW5aのミラーポートからセッション管理装置10に送信されるAccounting-Request(stop)パケットを用いて、ステップS326乃至ステップS328の処理手順が行われるようにしてもよい。また、キャプチャ部201は、SW5aのミラーポート及びSW5bミラーポートの両方から送信されるAccounting-Request(stop)パケットをキャプチャすると共に、セッション管理部202は、両方のAccounting-Request(stop)パケットを比較することで、Accounting-Request(stop)パケットが認証プロキシサーバ3を通過したことを確認するようにしてもよい。
また、ステップS312、ステップS321、ステップS328の処理手順で送信されるセッション開始通知及びセッション終了通知の信号フォーマットは共通であってもよい。すなわち、セッション開始通知及びセッション終了通知の信号フォーマットには、予め「User-Name」、「NAS-IP-Address」、「Framed-IP-Address」、「Framed-IP-Netmask」、「Acct-Status-Type」及び「Acct-Session-Id」を格納可能な領域を設けるようにしてもよい。セッション管理装置10と外部装置11との間のインタフェースを簡易にすることができる。
<まとめ、効果>
以上、セッション管理装置10が行うセッション管理処理の処理手順について説明した。NAS2及び認証サーバ4との間で行われる認証処理において動的IP払い出しが行われる場合、セッション管理装置10は、Access-Acceptパケットをキャプチャしたタイミング(図9のステップS310)ではセッション開始通知を外部装置11に送信せずに、Accounting-Requestパケットをキャプチャしたタイミング(図9のステップS319)でセッション開始通知を外部装置11に送信するようにした。
また、NAS2及び認証サーバ4との間で行われる認証処理において複数固定IP払い出し及び固定IP払い出しが行われる場合、セッション管理装置10は、Access-Acceptパケットをキャプチャしたタイミング(図9のステップS310)、及び、Accounting-Requestパケットをキャプチャしたタイミング(図9のステップS319)でセッション開始通知を外部装置11に送信するようにした。
動的IPアドレス払い出しが行われる場合、Access-Acceptパケットに含まれる「Framed-IP-Netmask」属性には、実際に端末1に払い出されるIPアドレスではなく、動的IPアドレス払い出しが行われることを示す所定のIPアドレス(255.255.255.254)が格納されている。言い換えると、Access-Acceptパケットをキャプチャしたタイミングでセッション開始通知が外部装置11に送信された場合、外部装置11は不完全なセッション情報を受け取ることになってしまう。従って、セッション管理装置10は、動的IPアドレス払い出しが行われる場合、Access-Acceptパケットをキャプチャした時点ではセッション開始通知を外部装置11に送信しないようにしている。これにより、セッション管理装置10は、外部装置11に不完全なセッション情報を通知してしまうのを防止することができる。
一方、複数固定IPアドレス払い出しが行われる場合、端末1に払い出される複数のIPアドレスを示す「Framed-IP-Netmask」属性はAccess-Acceptパケットのみに含まれており、Accounting-Requestパケットには含まれていない。言い換えると、動的IPアドレス払い出しが行われる場合のように、Accounting-Requestパケットをキャプチャしたタイミングのみでセッション開始通知が外部装置11に送信されるようにした場合、外部装置11は、端末1に払い出された全てのIPアドレスを把握することができなくなってしまう。従って、セッション管理装置10は、複数固定IPアドレス払い出しが行われる場合、Access-Acceptパケットをキャプチャした時点で一旦セッション開始通知を外部装置11に送信するようにしている。これにより、セッション管理装置10は、外部装置11に適切なセッション情報を通知することができる。
また、セッション管理装置10は、認証プロキシサーバ3の前後でAccess-Requestパケットをキャプチャすることで、Access-Requestパケットが認証プロキシサーバ3を通過したことを確認すると共に、認証プロキシサーバ3を通過する前のAccess-Requestパケットに含まれる「User-Name」属性からドメイン名を含むユーザ名を取得するようにした。これにより、認証プロキシサーバ3によりAccess-Requestパケットに含まれる「User-Name」属性のドメイン名が削除された場合であっても、セッション管理装置10はドメイン名を含むユーザ名を外部装置11に通知することができる。
また、セッション管理装置10は、キャプチャした各種Radiusパケットを一旦キャッシュに格納し、処理に必要なRadiusパケットを全て受信してからセッション情報を外部装置11に通知するようにした。これにより、セッション管理装置10は、万が一Radiusパケットのキャプチャ順序が入れ替わった場合であっても、不完全なセッション情報を外部装置11に通知することなく、より正確なセッション情報を外部装置11に通知することができる。
また、セッション管理装置10は、キャプチャした各種Radiusパケットを一旦キャッシュに格納し、一定時間経過後にキャッシュ内のレコードを削除するようにした。これにより、Radiusパケットの喪失が発生した場合、又は不正なRadiusパケットをキャプチャした場合等において、キャッシュ内に不要なレコードが蓄積してセッション管理装置10のリソースを消費してしまうことを防止することができる。また、これにより、セッション管理装置10は、Radiusパケットが再送された場合において、一定時間経過前であれば再度セッション情報を外部装置11に通知しないようにすることができる。
<実施形態の補足>
セッション管理装置10は、NAS2が存在しないようなネットワーク環境にも適用できる。例えば、端末1が認証サーバ4との間でRadiusプロトコルを送受信するようなネットワーク環境にも適用することができる。
また、セッション管理装置10は、認証プロキシサーバ3が存在せず、NAS2(又は端末1)と認証サーバ4との間で直接Radiusプロトコルが送受信されるようなネットワーク環境にも適用することができる。この場合、アクセスリクエストキャッシュテーブルに係る一連の処理手順を省略することができる。
セッション管理装置10の構成は、CPUとメモリを備える当該装置において、プログラムがCPU(プロセッサ)により実行されることで実現される構成であってもよいし、本実施の形態で説明する処理のロジックを備えたハードウェア回路等のハードウェアで実現される構成であってもよいし、プログラムとハードウェアが混在していてもよい。
セッション管理装置10は、仮想OS上に実装されるようにしてもよい。仮想OSに実装されることで、セッション管理機能に対してスケーラビリティ及び可用性を確保することができる。また、認証プロキシサーバ3、SW5a、SW5b、及びセッション管理装置10は、まとめて仮想OSに実装されるようにしてもよい。キャプチャ機能及びセッション管理機能全体に対してスケーラビリティ及び可用性を確保することができる。
以上、本発明の実施の形態を説明してきたが、開示される発明はそのような実施形態に限定されず、当業者は様々な変形例、修正例、代替例、置換例等を理解するであろう。発明の理解を促すため具体的な数値例を用いて説明がなされたが、特に断りのない限り、それらの数値は単なる一例に過ぎず適切な如何なる値が使用されてもよい。上記の説明における項目の区分けは本発明に本質的ではなく、2以上の項目に記載された事項が必要に応じて組み合わせて使用されてよいし、ある項目に記載された事項が、別の項目に記載された事項に(矛盾しない限り)適用されてよい。
実施の形態で述べたシーケンス及びフローチャートは、矛盾の無い限り順序を入れ替えてもよい。処理説明の便宜上、セッション管理装置10はソフトウェア構成図を用いて説明されたが、そのような装置はハードウェアで、ソフトウェアで又はそれらの組み合わせで実現されてもよい。本発明の実施の形態に従ってセッション管理装置10が有するプロセッサにより動作するソフトウェアは、ランダムアクセスメモリ(RAM)、フラッシュメモリ、読み取り専用メモリ(ROM)、EPROM、EEPROM、レジスタ、ハードディスク(HDD)、リムーバブルディスク、CD−ROM、データベース、サーバその他の適切な如何なる記憶媒体に保存されてもよい。
本発明は上記実施形態に限定されず、本発明の精神から逸脱することなく、様々な変形例、修正例、代替例、置換例等が本発明に包含される。
なお、以上実施の形態において、Radiusパケットは認証信号の一例である。キャプチャ部201は、キャプチャ手段の一例である。セッション管理部202は、セッション管理手段の一例である。セッション情報通知部205及び信号送信部206は、送信手段の一例である。外部装置11は、所定の装置の一例である。Access-Requestパケットは、所定の認証信号の一例である。Radiusパケットに含まれる属性の設定値は、複数種別の認証信号に含まれる情報の一例である。一時記憶部203は、第一の記憶手段の一例である。記憶部204は、第二の記憶手段の一例である。タイムアウト設定情報は、設定情報の一例である。