(57)【要約】【課題】オペレーティングシステムの基本スタックを変更することなく、アプリケーションのレベルで他の機器に対する通信を一時的に自分への通信として扱えるようにする。【解決手段】このネットワーク通信システムの通信制御装置２は、ネットワーク５を通じてクライアント１から受信された他の機器に対するアクセス要求を受信して宛先ＩＰアドレスを抽出し、そのＩＰアドレスを自己のものとして一時登録ＩＰアドレステーブル２４１に登録し、受信したフレームのコピーをネットワーク５へ再送する。【選択図】図１
2007336401.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続されたクライアントから送信されたパケットを受信してオペレーティングシステムに標準実装されたスタックへ入力するネットワークインターフェースと、
前記ネットワークインターフェースにより受信されたパケットのコピーおよびＩＰアドレスが記憶されるメモリと、
前記メモリに記憶されたパケットの種別を判定するパケット判定部と、
前記パケット判定部によりＡＲＰパケットと判定されたパケットから抽出した送信元のＭＡＣアドレスを読み出してアクセス許可リストと比較し、前記ＭＡＣアドレスがアクセス許可リストにない場合は、アドレスを変更した通信制御用のＡＲＰパケットを生成して前記ネットワークインターフェースへ送出する収集部と、
前記メモリに記憶されたパケットの宛先のＩＰアドレスが自己のＩＰアドレスでない場合、前記オペレーティングシステムのスタックに論理ＩＰアドレスとして登録すると共に、前記パケットを送信する手段と、
前記パケット判定部によりＩＰパケットと判定されたパケットについて、予め設定された転送可否条件に従って転送可否を判定する転送判定部と、
前記クライアントとの間でＴＣＰセッションが確立した後、前記パケット判定部により転送許可と判定されたＩＰパケットが、予め設定された通信制御条件に合致した場合、送信元のＩＰアドレスを通信制御対象として前記メモリに登録し、その送信元に対してリダイレクト先の情報を書き込んだページを返送する通信横取り部と、
前記転送判定部により転送許可と判定されたＩＰパケットを前記ネットワークインターフェースを介して前記ネットワークへ転送する転送部と
を具備することを特徴とする通信制御装置。
【請求項２】
請求項１記載の通信制御装置と、
前記クライアントから前記通信制御装置を介して受信された認証情報と予め登録されている認証情報とを比較して、合致した場合にログインを許可し、通信制御対象から除外すするための命令を前記通信制御装置へ送出する認証装置と
を具備することを特徴とする認証システム。
【請求項３】
ネットワークに接続された他の機器から送信された通信開始要求のパケットを受信するネットワークインターフェースと、このネットワークインターフェースにより受信されたパケットから抽出した宛先ＩＰアドレスと予め登録された自己のＩＰアドレスとを比較してパケットの宛先が自己宛てか否かを判定し、自己宛てのパケットを受信処理する一方、それ以外のフレームについては破棄する基本機能を有するオペレーティングシステムがインストールされた通信制御装置において、
通信制御対象のＩＰアドレスを一時登録するためのアドレス記憶部と、
前記ネットワークインターフェースが受信するパケットをモニタリングし、前記ネットワークインターフェースにより読み込まれたフレームを取得するフレーム取得部と、
前記フレーム取得部により取得された前記フレームから抽出した宛先ＩＰアドレスと、予め登録された自己のＩＰアドレスとを比較して前記パケットの宛先が自己宛てか否かを判定する判定部と、
前記判定部により自己宛てでないと判定された前記フレームから抽出した宛先ＩＰアドレスを前記アドレス記憶部に登録しつつ前記宛先ＩＰアドレスを前記ネットワークインターフェースに割り当てるアドレス登録部と、
前記フレームを前記ネットワークインターフェースから前記ネットワークへ再送する再送部と、
前記再送部により再送された前記フレームが前記基本機能により受信されてから所定のタイミングで前記アドレス記憶部に一時登録されたＩＰアドレスを消去する消去部と
を具備することを特徴とする通信制御装置。
【請求項４】
請求項３記載の通信制御装置において、
前記消去部は、
前記フレームの送信元の機器が通信を終了したことを検出する通信終了検出部と、
前記通信終了検出部により通信終了が検出された場合に前記アドレス記憶部に一時登録されたＩＰアドレスを消去するアドレス消去部と
を具備することを特徴とする通信制御装置。
【請求項５】
ネットワークに接続された他の機器から送信された通信開始要求のパケットを受信するネットワークインターフェースと、このネットワークインターフェースにより受信されたパケットから抽出した宛先ＩＰアドレスと予め登録された自己のＩＰアドレスとを比較してパケットの宛先が自己宛てか否かを判定し、自己宛てのパケットを受信処理する一方、それ以外のフレームについては破棄する基本機能を有するオペレーティングシステムがインストールされた通信制御装置に処理を実行させる通信制御プログラムにおいて、
前記ネットワークインターフェースが受信するパケットを前記通信制御装置がモニタリングし、前記ネットワークインターフェースにより読み込まれたフレームを取得し、
前記取得された前記フレームから抽出した宛先ＩＰアドレスと、予め登録された自己のＩＰアドレスとを前記通信制御装置が比較して前記パケットの宛先が自己宛てか否かを判定し、
自己宛てでないと判定された前記フレームから抽出した宛先ＩＰアドレスを前記通信制御装置が一時登録用のアドレス記憶部に登録しつつ前記宛先ＩＰアドレスを前記ネットワークインターフェースに割り当て、
前記フレームを前記通信制御装置が前記ネットワークインターフェースから前記ネットワークへ再送し、
前記再送された前記フレームが前記基本機能により受信されてから所定のタイミングで前記アドレス記憶部に一時登録されたＩＰアドレスを前記通信制御装置が消去する
ように前記通信制御装置を機能させることを特徴とする通信制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自分宛でないパケットを自分宛のパケットとして動的に取得し通信を行う通信制御装置、認証システムおよび通信制御プログラムに関する。
【背景技術】
【０００２】
一般に、コンピュータやインターネット対応ＴＶなどのＷｅｂ端末などをネットワークに接続し、通信を行うために、プロトコルスタック（以下、スタックと称す。）が利用されている。スタックとは、ネットワーク上である機能を実現するために選ばれた必要なプロトコルを階層状に積み上げたソフトウェア群のことである。
【０００３】
例えばＴＣＰ／ＩＰの場合、一番下の階層にネットワークカードを制御するデバイスドライバがあり、その上層にＥｔｈｅｒｎｅｔフレームなどを制御するデータリンク層のソフトウェア、その上層にＩＰなどのネットワーク層を実装したソフトウェアがあり、さらにその上層にＴＣＰやＵＤＰのトランスポート層が積まれる形になっている。
【０００４】
近年、例えばホテルなどでは、ブロードバンド対応のインターネット接続サービスを宿泊者に提供しており、宿泊者は、部屋のＬＡＮポートに自分が持ち込んだコンピュータ（以下、ＰＣと称す。）を接続することで、インターネットを利用できる。
【０００５】
ホテルでは、ＬＡＮポートに接続されたＰＣに対してユーザ認証を行ってから、ネットワーク上のコンテンツまたは外部アクセスを可能とするため、初めのアクセスの際にユーザ認証用のページへ誘導するなどの制御を行う必要がある。
【０００６】
また、例えばイントラネット内であっても、ネットワークにクライアントが接続された際に認証サーバでユーザ認証した後に通信を行わせたい場合もある。
【０００７】
ネットワーク上のＰＣからのアクセスを制御する従来の手法としては、ｐｒｏｘｙを使用する方法やＡＲＰを用いる方法がある（例えば特許文献１参照）。
【特許文献１】特開２００４−１８５４９８公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上記ＡＲＰを用いる方法の場合、ネットワーク上のＰＣからの不正なアクセスを規制（制限）することはできるものの、正しい利用者からのアクセスを特定のページへ誘導するようなことはできない。
【０００９】
また、ｐｒｏｘｙを使用する方法の場合、イントラネットからインターネットへ接続するために、Ｐｒｏｘｙを通すことが前提であれば、このＰｒｏｘｙの部分で通信を強制的にインターセプトし、特定ページを返すことができる。
【００１０】
しかし、イントラネット内におけるＷｅｂ端末とサーバ間の通信では、Ｐｒｏｘｙを通らないことから上記手法が使えないという問題があった。
【００１１】
そこで、ネットワークに接続されたコンピュータやルーティング装置などの通信制御装置で通信を制御することが考えられる。ネットワーク上を流れる他のＷｅｂ端末宛てのパケットを、通信制御装置が取得した場合に、それを自己宛ての通信として受信処理を行う必要がある。
【００１２】
このためには、従来、通信制御装置のオペレーティングシステム（以下、ＯＳと称す。）が標準的に備えるスタック自体を改変し、ＩＰアドレスを自己宛てに動的に書き換えるロジックを加え、ＩＰヘッダ内のチェックサムを再計算し、書き換える必要がある。
【００１３】
これを行った場合、クライアント側、つまりＷｅｂ端末側に通信ができなくなるなどの障害が発生する可能性がある。
【００１４】
本発明はこのような課題を解決するためになされたもので、オペレーティングシステムの基本スタックを変更することなく、アプリケーションのレベルで他の端末に対する通信を一時的に自己への通信として扱うことができる通信制御装置、認証システムおよび通信制御プログラムの提供を目的としている。
【課題を解決するための手段】
【００１５】
上記した目的を達成するために、本発明の通信制御装置は、ネットワークに接続されたクライアントから送信されたパケットを受信してオペレーティングシステムに標準実装されたスタックへ入力するネットワークインターフェースと、前記ネットワークインターフェースにより受信されたパケットのコピーおよびＩＰアドレスが記憶されるメモリと、前記メモリに記憶されたパケットの種別を判定するパケット判定部と、前記パケット判定部によりＡＲＰパケットと判定されたパケットから抽出した送信元のＭＡＣアドレスを読み出してアクセス許可リストと比較し、前記ＭＡＣアドレスがアクセス許可リストにない場合は、アドレスを変更した通信制御用のＡＲＰパケットを生成して前記ネットワークインターフェースへ送出する収集部と、前記メモリに記憶されたパケットの宛先のＩＰアドレスが自己のＩＰアドレスでない場合、前記オペレーティングシステムのスタックに論理ＩＰアドレスとして登録すると共に、前記パケットを送信する手段と、前記パケット判定部によりＩＰパケットと判定されたパケットについて、予め設定された転送可否条件に従って転送可否を判定する転送判定部と、前記クライアントとの間でＴＣＰセッションが確立した後、前記パケット判定部により転送許可と判定されたＩＰパケットが、予め設定された通信制御条件に合致した場合、送信元のＩＰアドレスを通信制御対象として前記メモリに登録し、その送信元に対してリダイレクト先の情報を書き込んだページを返送する通信横取り部と、前記転送判定部により転送許可と判定されたＩＰパケットを前記ネットワークインターフェースを介して前記ネットワークへ転送する転送部とを具備することを特徴とする。
【００１６】
本発明の通信制御装置は、ネットワークに接続された他の機器から送信された通信開始要求のパケットを受信するネットワークインターフェースと、このネットワークインターフェースにより受信されたパケットから抽出した宛先ＩＰアドレスと予め登録された自己のＩＰアドレスとを比較してパケットの宛先が自己宛てか否かを判定し、自己宛てのパケットを受信処理する一方、それ以外のフレームについては破棄する基本機能を有するオペレーティングシステムがインストールされた通信制御装置において、一時登録用のアドレス記憶部と、前記ネットワークインターフェースが受信するパケットをモニタリングし、前記ネットワークインターフェースにより読み込まれたフレームを取得するフレーム取得部と、前記フレーム取得部により取得された前記フレームから抽出した宛先ＩＰアドレスと、予め登録された自己のＩＰアドレスとを比較して前記パケットの宛先が自己宛てか否かを判定する判定部と、前記判定部により自己宛てでないと判定された前記フレームから抽出した宛先ＩＰアドレスを前記アドレス記憶部に登録しつつ前記宛先ＩＰアドレスを前記ネットワークインターフェースに割り当てるアドレス登録部と、前記フレームを前記ネットワークインターフェースから前記ネットワークへ再送する再送部と、前記再送部により再送された前記フレームが前記基本機能により受信されてから所定のタイミングで前記アドレス記憶部に一時登録されたＩＰアドレスを消去する消去部とを具備することを特徴とする。
【００１７】
本発明の通信制御プログラムは、ネットワークに接続された他の機器から送信された通信開始要求のパケットを受信するネットワークインターフェースと、このネットワークインターフェースにより受信されたパケットから抽出した宛先ＩＰアドレスと予め登録された自己のＩＰアドレスとを比較してパケットの宛先が自己宛てか否かを判定し、自己宛てのパケットを受信処理する一方、それ以外のフレームについては破棄する基本機能を有するオペレーティングシステムがインストールされた通信制御装置に処理を実行させる通信制御プログラムにおいて、前記ネットワークインターフェースが受信するパケットを前記通信制御装置がモニタリングし、前記ネットワークインターフェースにより読み込まれたフレームを取得し、前記取得された前記フレームから抽出した宛先ＩＰアドレスと、予め登録された自己のＩＰアドレスとを前記通信制御装置が比較して前記パケットの宛先が自己宛てか否かを判定し、自己宛てでないと判定された前記フレームから抽出した宛先ＩＰアドレスを前記通信制御装置が一時登録用のアドレス記憶部に登録しつつ前記宛先ＩＰアドレスを前記ネットワークインターフェースに割り当て、前記フレームを前記通信制御装置が前記ネットワークインターフェースから前記ネットワークへ再送し、前記再送された前記フレームが前記基本機能により受信されてから所定のタイミングで前記アドレス記憶部に一時登録されたＩＰアドレスを前記通信制御装置が消去するように前記通信制御装置を機能させることを特徴とする。
【００１８】
本発明は、受信されたパケットの宛先が自己宛てか否かを判定し、自己宛てのパケットを受信処理する一方、それ以外のフレームについては破棄する基本機能を有するオペレーティングシステムがインストールされた通信制御装置に適用するものである。
【００１９】
この通信制御装置において、ネットワークインターフェースが受信するパケットをモニタリングし、ネットワークインターフェースにより読み込まれたフレームを、オペレーティングシステムの基本機能とは別に設けられたフレーム取得部が取得し、取得されたフレームから抽出した宛先ＩＰアドレスと、予め登録された自己のＩＰアドレスとを判定部が比較してパケットの宛先が自己宛てか否かを判定する。
【００２０】
この判定の結果、自己宛てでないと判定されたフレームから抽出した宛先ＩＰアドレスをアドレス登録部が一時登録用のアドレス記憶部に登録しつつ宛先ＩＰアドレスをネットワークインターフェースに割り当てる。そして、受信されたフレームを再送部がネットワークインターフェースからネットワークへ再送する。再送されたフレームが基本機能により受信されてから所定のタイミングでアドレス記憶部に一時登録されたＩＰアドレスを消去部が消去する。これにより、他への通信を自己宛ての通信としてオペレーティングシステムに処理させることができる。
【発明の効果】
【００２１】
このように本発明によれば、オペレーティングシステムの基本スタックを変更することなく、アプリケーションのレベルで他の機器に対する通信を一時的に自分への通信として扱うことができる通信制御装置、認証システムおよび通信制御プログラムを提供することができる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明を実施するための最良の形態を図面に基づき説明する。図１は本発明の一つの実施の形態のネットワーク通信システムの構成を示すブロック図、図２は図１のネットワーク通信システムの通信制御装置の構成を示すブロック図である。
【００２３】
図１に示すように、このネットワーク通信システムは、要求を送信する側の機器であるクライアントコンピュータ３（以下、クライアント１と称す。）と、通信制御装置２と、認証サーバ３と、ドメインネームサーバ（以下、ＤＮＳサーバ４と称す。）とをネットワーク５を介して接続して構成されている。
【００２４】
ネットワーク５は例えばローカルエリアネットワーク（以下、ＬＡＮと称す。）などのイントラネットである。またネットワーク５にゲートウェイ装置を介して外部ネットワーク（インターネットなど）が接続される場合もある。
【００２５】
クライアント１は、ウェブブラウザなとどのブラウザソフトウェア（以下ブラウザと称す）がインストールされた端末（機器）であり、ブラウザを使用してウェブコンテンツを見ることができる機能を有するものである。クライアント１は、コンピュータでも、テレビジョンでも、ブラウザ機能が備えられており、Ｅｔｈｅｒｎｅｔ（登録商標）の機能を有しているものならば、いずれのものでもよい。
【００２６】
クライアント１に設定されているＩＰアドレスを１０．１０．１０．５、通信制御装置２に設定されているＩＰアドレスを１０．１０．１０．２、認証サーバ３に設定されているＩＰアドレスを１０．１０．１０．１、ＤＮＳサーバ４に設定されているＩＰアドレスを１０．１０．１０．５４とし、通信制御装置２では、ＴＣＰポート８０を開いてｈｔｔｐサービスを提供するものとする。ＩＰアドレスは、ＤＨＣＰサーバ（図示せず）による自動割当てでもよく、手動設定でも良い。
【００２７】
通信制御装置２は、小型のボックスユニットであり、ＣＰＵ、メモリ、ローカルエリアネットワークインターフェースカード（以下、ＮＩＣと称す。）などを搭載し、メモリに記憶されたオペレーティングシステム（以下、ＯＳと称す。）および通信制御プログラムがＣＰＵに処理動作を実行させる。つまり、この通信制御装置２では、ＯＳおよび通信制御プログラムなどのソフトウェアとＣＰＵ、メモリなどのハードウェアが協動して動作する。
【００２８】
認証サーバ３およびクライアント１は、一般的なコンピュータであり、例えばＣＰＵ、メモリ、ハードディスク装置、ＮＩＣなどを搭載したＰＣ本体と、このＰＣ本体に接続されたディスプレイ、プリンタなどの出力装置と、キーボード、マウスなどの入力装置とを有している。
【００２９】
クライアント１のハードディスク装置には、オペレーティングシステム（以下、ＯＳと称す。）の他、ウェブブラウザなどのソフトウェアがインストールされている。
【００３０】
認証サーバ３のハードディスク装置には、ＯＳの他、通信制御プログラムなどのソフトウェアがインストールされている。
【００３１】
また、認証サーバ３のハードディスク装置には、データベース（以下、ＤＢと称す。）が構築されている。認証サーバ３のＤＢには、ネットワーク５に接続されたクライアント１を認証するための認証情報が登録（格納）されている。
【００３２】
ＤＮＳサーバ４は、ネットワーク５上でのコンピュータの名前にあたるドメイン名を、住所にあたるＩＰアドレス（４つの数字の列）に変換するコンピュータである。
【００３３】
図２に示すように、通信制御装置２は、ＯＳの標準的なソフトウェア部分であるＯＳ標準部分１００と、このＯＳ標準部分１００に実装されたアプリケーション１３０、パケット判定部２１、収集部２２、転送判定部２３、転送部２４、通信横取り部としての通信制御部２５、コントローラ２７などの通信制御プログラムの部分と、メモリなどで構成される記憶部２６とを有している。なお、この例では、パケット判定部２１、収集部２２、転送判定部２３、転送部２４、通信制御部２５、コントローラ２７などをソフトウェアで実現したが、ハードウェアで構成しても良い。
【００３４】
標準部分１００は、ネットワーク５との物理的な接続を行うＮＩＣ１１０と、コピー部１１１と、このＮＩＣ１１０により受信されたパケットをアプリケーション毎に読めるようにするＯＳ基本スタック１２０と、実際の情報処理を行い、サービスを接続先に提供するアプリケーション１３０とを有している。
【００３５】
ＮＩＣ１１０は、物理ネットワークとのインターフェースであって、例えばＥｔｈｅｒｎｅｔ用のカードである。この他、無線ネットワーク用のカードおよびＢｌｕｅｔｏｏｔｈ用のネットワークカードなどが適用可能であり、ネットワーク５と接続できるものであればカードの種類は問わない。なお、Ｂｌｕｅｔｏｏｔｈは、登録商標である。
【００３６】
コピー部１１１は、通信制御部２５を含む通信制御プログラムが起動したときに通信制御プログラムによって起動され、ＮＩＣ１１０により受信されたパケットをコピー（複製）して記憶部２６に記憶する。
【００３７】
ＯＳ基本スタック１２０は、各ＯＳに搭載されている基本スタックであって、ＯＳＩ参照モデルに従うものの場合、少なくともＬ２スタック１２１と、Ｌ３スタック１２２と、Ｌ４スタック１２３とを有している。Ｌはレイヤーをいう。
【００３８】
Ｌ３スタック１２２は、ＩＰアドレスによって制御を行うネットワーク層と呼ばれる部分であり、Ｌ４スタック１２３は、一般にトランスポート層と呼ばれる部分である。
【００３９】
アプリケーション１３０には、記憶装置１３１が接続されている。記憶装置１３１には、リダイレクト先の情報が書き込まれたページが記憶されている。具体的には、リダイレクト先として認証サーバ３のＵＲＬなどが書き込まれている。通信制御部２５からのコマンド入力によりリダイレクト先のページを、スタック１２０を通じてＮＩＣ１１０へ出力する。
【００４０】
パケット判定部２１は、コピー部１１１より受信されたパケットの種別がＡＲＰパケットかＩＰパケットかを判定する。パケット判定部２１は、パケットのＥｔｈｅｒフレームの所定位置に設定されている番号を読み取ることでパケットの種別を判定する。
【００４１】
収集部２２は、他の端末（クライアント１、認証サーバ３など）が実施しようとする通信を、通信制御装置２との間で行われるように引き入れる制御を行う。
【００４２】
収集部２２は、パケット判定部２１によりＡＲＰパケットと判定された自己宛でないパケットから抽出した送信元のＭＡＣアドレスを読み出して、アクセス許可リスト２６４と比較してアクセス許可リスト２６４にＭＡＣアドレスがない場合、および通信制御解除リスト２６１にＭＡＣアドレスがない場合には、相手先のＭＡＣアドレスを自分のＭＡＣアドレスに変更した通信制御用のＡＲＰパケットを生成してＮＩＣ１１０へ送出する。
【００４３】
転送判定部２３は、受信されたＩＰパケットが記憶部２６に記憶（設定）された転送条件（図４の転送可否リスト２６２）に合致するか否かによって転送可否を判定する。
【００４４】
転送部２４は、事前に設定された転送条件に合致した通信を転送する。つまり転送部２４は、転送判定部２３により転送許可と判定、つまり転送が許可されたＩＰパケットをＮＩＣ１１０を介してネットワーク５へ転送する。
【００４５】
通信制御部２５は、他の端末が実施しようとするＨＴＴＰ通信を自分宛のものとして処理する。通信制御部２５は、記憶部２６に記憶されたパケットの宛先のＩＰアドレスが自己のＩＰアドレスでない場合、ＯＳのスタックに論理ＩＰアドレスとして登録すると共に、記憶されたパケットを送信する。
【００４６】
通信制御部２５は、転送判定部２３により転送不許可と判定されたＩＰパケットが、予め設定された横取り条件（図５の通信制御条件リスト２６３参照）に合致した場合、通信制御対象として、送信元のＩＰアドレスを通信制御対象リスト２６１に登録し、このリストにアドレスが存在する間、通信を制御（インターセプトまたはＴＣＰジャックという）する。
【００４７】
通信制御部２５は、アプリケーション１３０を制御してアプリケーション１３０より、その送信元に対してリダイレクトページを返信させる機能を有している。
【００４８】
通信制御部２５は、通信制御対象リスト２６１からアドレスが削除され、通信制御の対象外となった端末（機器）に対しては、通信制御を行わない。
【００４９】
コントローラ２７は、常時自ブロードキャストドメイン内に数秒または数分おきにコマンドを送ってネットワーク５を監視し、ネットワーク５にクライアント２などの端末が接続または取り外されるタイミングを検出する。
【００５０】
コントローラ２７は、このタイミングで接続端末管理リスト２６５にＩＰアドレスおよびＭＡＣアドレスを登録または削除するなどしてネットワーク５内の接続状況を管理する。なお、ＩＰアドレスのみが分かっており、ＭＡＣアドレスが不明な場合は、接続端末管理リスト２６５の情報を元にＭＡＣアドレスに変換する。
【００５１】
また、コントローラ２７は、通信制御対象解除命令を受信した場合には、ＡＲＰを用いて正しい情報に書き換える機能を有する。コントローラ２７は、図７に示す接続端末管理リスト２６５を管理する。制御対象外の端末がネットワーク５から外れた場合には、接続端末管理リスト２６５から該当端末のアドレス情報を削除する。
【００５２】
記憶部２６には、ＮＩＣ１１０により受信されたパケットのコピーおよびアドレス情報などが記憶される。記憶部２６は、各部により情報が読み出しおよび書き込みされると共に、パケットから情報を抽出、パケットを新たに生成するなどの作業領域として利用される。
【００５３】
記憶部２６には、通信制御対象リスト２６１、転送可否リスト２６２、通信制御条件リスト２６３、アクセス許可リスト２６４、接続端末管理リスト２６５などが記憶されている。
【００５４】
図３に示すように、通信制御対象リスト２６１には、通信制御対象（横取り対象）とされたＩＰアドレスとＭＡＣアドレスなどのアドレス情報がコントローラ２７によって登録される。また通信制御対象外とされたアドレス情報がこのリストからコントローラ２７によって削除される。
【００５５】
図４に示すように、転送可否リスト２６２には、転送を許可するための転送条件、例えば２者間のＩＰアドレスおよびポート、通信の種別がＴＣＰかＵＤＰか等が記憶されている。この例では、１０．１０．１０．１のＩＰアドレスでＴＰＣ通信されてきたものは、転送を許可する。また、１０．１０．１０．５４のＩＰアドレスで５４番ポートを利用してＵＤＰ通信されるものは転送を許可する。この例では、図１のアドレス設定例から、認証サーバ３とＤＮＳサーバ４への転送が許可されている。
【００５６】
図５に示すように、通信制御条件リスト２６３は、予め設定された通信横取り条件のリストである。このリストには、通信制御対象のポート番号と通信の種別（ＴＣＰかＵＤＰか）が記憶されている。このリストに載っている通信を通信制御部２５が横取りする。
【００５７】
図６に示すように、アクセス許可リスト２６４には、予めアクセスが許可されたＭＡＣアドレスが記憶されており、収集部２２およびコントローラ２７によってアドレス解決が行われる際に参照される。この例では、認証サーバのＭＡＣアドレスとＤＮＳサーバのＭＡＣアドレスが予め登録されている。
【００５８】
図７に示すように、接続端末管理リスト２６５は、ネットワークに接続する端末を管理するためのリストであり、ネットワークに接続されている端末のＩＰアドレスとＭＡＣアドレスを関連させて管理する。本リストは、コントローラ２７により管理される。
【００５９】
以下、図８のシーケンスチャートを参照してこのネットワーク通信システムの動作を説明する。
【００６０】
ネットワーク５上に、通信制御装置２と、認証サーバ３と、ＤＮＳサーバ４が接続されている状況で、クライアント１がネットワーク５に新たに接続され、クライアント１においてブラウザが起動され、ブラウザの画面が開き、予め設定されているスタートページへのアクセス開始要求がネットワーク５へ送信されたものとする。このとき、ＤＮＳ名は、ＤＮＳサーバ４によりＩＰアドレスに変換される。
【００６１】
クライアント１は、ＤＮＳサーバ４により変換されたＩＰアドレスを基に通信を実施するために、宛先が、自身のネットワーク５と同一であれば、その宛先のＭＡＣアドレスを解決するために、ＡＲＰリクエストを生成し、送信する（図８のステップ５１：以下ステップをＳと称す）。
【００６２】
なお、宛先が、自身のネットワーク５とは別のネットワークであれば、デフォルトゲートウェイのＭＡＣアドレスを解決するために、ＡＲＰリクエストを生成し、そのパケット送信する。
【００６３】
通信制御装置２では、ブロードキャストされたＡＲＰリクエストのパケットがＮＩＣ１１０により受信されると、ＯＳ基本スタック１２０へ送られる。
【００６４】
また、この際に、既に起動されているコピー部１１１によりＡＲＰリクエストのパケットがコピーされて記憶部２６に記憶される。
【００６５】
記憶部２６に記憶されたＡＲＰリクエストのパケットは、収集部２２により収集されてＡＲＰリクエストの送信元、および宛先に対して通信相手が通信制御装置２であるように偽装する。つまり、収集部２２は、ネットワーク５上の通信を自己のところに引き寄せるための制御対象判定処理を行う（Ｓ５２）。そして、収集部２２は、制御対象と判定した場合、通信制御用のパケットである偽ＡＲＰリプライを送信する（Ｓ５３）。この一連の動作をＡＲＰスプーフィングという。
【００６６】
ＡＲＰスプーフィングについて説明する。
収集部２２は、ＡＲＰリクエストのパケットから送信元のＩＰアドレスとＭＡＣアドレス、宛先のＩＰアドレスを抽出する。宛先のＭＡＣアドレスは無視される。一般的には、本部位は０で埋められる。
【００６７】
収集部２２は、受信したＡＲＰリクエストについて、アクセス許可リスト２６４を確認し、アクセス許可がない場合には、ＡＲＰリクエストの送信元と宛先をだますために、送信元に対しては、宛先のＩＰアドレスに対応するＭＡＣアドレスを自ＭＡＣアドレスとして、宛先に対しては、送信元のＩＰアドレスに対応するＭＡＣアドレスを自ＭＡＣアドレスとしてそれぞれのパケットを生成して送信する。ＡＲＰは、リクエスト受信時と、リプライ受信時にそれぞれテーブルに書き込まれるが、後書きが優先されるため、処理を行ってから送信される偽のＡＲＰパケットにより、送信元、宛先の端末のＡＲＰテーブルがそれぞれ書きかえられる。
【００６８】
なお、ＡＲＰスプーフィングの詳細については、「基礎からわかるＴＣＰ/ＩＰネットワーク実験プログラミング」（松山公保著・オーム社）第６章等に既に公開されている。
【００６９】
これにより、双方の通信相手のＭＡＣアドレスが、通信制御装置２になったために、ユニキャスト通信は、通信制御装置２に対して行われるようになる。
【００７０】
偽ＡＲＰリプライを受信したクライアント１は、同一ブロードキャストドメイン内での送信先が、まずは通信制御装置２であると認識するため、ＭＡＣアドレスの宛先を通信制御装置２に設定し、ＨＴＴＰリクエストを発信するために、はじめにＴＣＰセッションを張ろうと、ＳＹＮパケットを送信する（Ｓ５４）。
【００７１】
ＯＳ基本スタック１２０では、ＳＹＮパケットを受信しても、通常ならば自身のＩＰアドレスへのパケットではないために、ＩＰスタックで破棄してしまうが、これをＴＣＰジャックの機能を使用して強制的に標準スタックで受信させる（Ｓ５５）。これをセッションジャックという。
【００７２】
なお、ＴＣＰジャックについては、既にいくつかの実装の仕方が公開されており、いずれの方法を利用しても良い。
【００７３】
これにより、クライアント１と通信制御装置２間でＴＣＰセッションが確立し、その後は、続いて送信されてくるＨＴＴＰリクエストを受信できる。
ＨＴＴＰリクエストを受信すると、その内容、宛先、その他の情報に関係なく、所定の事前にインプットされたウェブサーバへのリダイレクト送信するためのページを送信する。送信が終了した時点で、ＴＣＰジャックにおいて、設定情報を変更していた場合には、設定を元に戻す。
【００７４】
クライアント１は、通信制御装置２より認証サーバ３へのリダイレクトページを受信したために、認証サーバ３へＨＴＴＰリクエストを送信しようとする。
クライアント１のブラウザは、認証サーバ３が同一ドメイン内にいるか、別ネットワークへいるかを判定し、前述したようなロジックにより、接続先のＭＡＣアドレスを解決する。このとき、通信制御装置２は、ＡＲＰリクエストに対して偽の応答を行い、通信相手を自身宛に変更する制御を行う。
【００７５】
クライアント１は、始めにＨＴＴＰリクエストを発信する前にＴＣＰセッションを確立するため、のＳＹＮパケットを送信する（Ｓ５８）。通信制御装置２では、ＳＹＮパケットをＮＩＣ１１０が受信すると、記憶部２６にそのコピーが記憶されるので、転送判定部２３は、記憶部２６から読み出したＳＹＮパケットから抽出した情報（ＩＰアドレス、ポート、ＴＣＰ／ＵＤＰ等）と転送可否リスト２６２とを比較して、転送条件を満たしているかどうかを確認し転送可否を判定する（Ｓ５９）。
【００７６】
図４に示したように、転送可否リスト２６２は、例えば２者間のＩＰアドレスおよびポート、通信の種別がＴＣＰかＵＤＰか等が設定されており、転送判定部２３は、この転送可否リスト２６２の内容で転送を制御しており、その転送条件に合致しているかどうかを確認する。
【００７７】
ここで、今、認証サーバ３のＩＰアドレスが、図１に示したように１０．１０．１０．１であったとすると、クライアント１からはＨＴＴＰリクエストを発信しようとするので、ＴＣＰ  ＳＹＮパケットの宛先は通常ＴＣＰ８０番のポートである。
【００７８】
すると、転送可否リスト２６２の転送条件に合致したため、転送判定部２３では、転送許可と判定される。すると、転送判定部２３は、ＳＹＮパケットを転送部２４に渡し、ＳＹＮパケットは、転送部２４で、宛先が本来の宛先に変更された上で宛先の認証サーバ３へ転送される（Ｓ６０）。
【００７９】
認証サーバ３は、これを受け、ＳＹＮ＋ＡＣＫを返送する（Ｓ６１）。ＳＹＮ+ＡＣＫもＳＹＮ同様に通信制御装置２に対して、一旦は送信されることになる。
【００８０】
通信制御装置２は、これを受信し、転送判定部２３により、再び転送可否リスト２６２との比較処理である転送可否判定が行われる（Ｓ６２）。
【００８１】
転送可否リスト２６２は、送信者と受信者の向きをしていない２者間の関係だけを示すリストになっているため、ここでは、リストの設定条件に合致する。
【００８２】
よって、転送部２４は、再び、この宛先ＭＡＣアドレスを正しい宛先ＭＡＣアドレス（クライアント１のもの）に書き換えて認証用のページをクライアント１へ転送する（Ｓ６３）。
【００８３】
クライアント１は、これを受信すると、ＴＣＰセッションが確立したために、ようやくＨＴＴＰリクエストを送信できることになる。これを、ＳＹＮを送信した場合と同様のシーケンスに従い、転送部２４を介して、認証サーバ３へ転送される。
【００８４】
認証サーバ３は、このリクエストに対して認証ページを返す。このページについても、前述したＳＹＮ＋ＡＣＫと同様のシーケンスに従いクライアント１まで転送される。また、この後、ＴＣＰセッションがきるための通信が行われ、ＳＹＮやＳＹＮ＋ＡＣＫ同様の転送処理により、実行される。
【００８５】
クライアント１は、これを受信すると、ブラウザにより認証ページが表示されるので、ユーザが認証ページに設けられたユーザＩＤおよびパスワードなどの入力欄に、自身に付与されたユーザＩＤおよびパスワードを入力し確定操作を行う（Ｓ６４）。これが、ＨＴＴＰリクエストとして認証サーバ３へ送信されることになる。
【００８６】
このとき再びＴＣＰセッションをクライアント１と認証サーバ３の間で確立する必要があるために、ＳＹＮのパケットが送信され、前記転送処理が行われる。ＳＹＮ＋ＡＣＫを受け取ったクライアント１は、ＨＴＴＰリクエストとしてユーザＩＤとパスワードをサーバ３へ送信する。
【００８７】
以後、この繰り返しで、通信制御装置２を介した認証サーバ３とクライアント１との通信が行われ、認証サーバ３により認証処理が実施される（Ｓ６５〜Ｓ７０）。
【００８８】
ユーザ認証処理の後は、クライアント１と認証サーバ３との通信を横取りする必要がなくなるため、通信制御装置２は、横取り中の通信を解除する必要がある。
【００８９】
横取り中の通信の解除については、所定のトリガで通信制御解除命令を発行するようにしておき、任意のタイミングで、認証サーバ３やその他のサーバなどから通信制御装置２に対して、通信制御解除命令を発行すればよい。
【００９０】
この例では、ウェブ上でユーザ認証を実施したので、認証サーバ３が認証終了時に通信制御解除命令を発行する（Ｓ７１）。通信制御解除命令は、１台でも全ての機器に対してでも制御できる形にすればよい。
【００９１】
ここで、Ｓ７１の通信制御解除命令発行動作について説明する。通信制御対象解除命令は、制御対象となっている端末を制御対象から解除するための命令であって、認証サーバ３から通信制御装置２へ送信される命令である。
【００９２】
この通信制御解除命令は、通信制御対象の端末であるクライアント１のＩＰアドレスと制御情報（制御、解除）を含む。制御情報は、命令中に含まれるＩＰアドレスへの通信制御の内容を指示するものであり、「解除」、「制御」などが挿入される。
【００９３】
通信制御対象解除命令は、通信制御装置２のコントローラ２７によって受信される。通信制御対象解除命令を受信したコントローラ２７は、受信したパケットから抽出したＩＰアドレスをキーにして、通信制御対象リスト２６１およびアクセス許可リスト２６４を参照して、ＭＡＣアドレスを導出し、ＭＡＣアドレスが通信制御対象リスト２６１に登録されているか否かを確認する。
【００９４】
制御情報が「解除」の場合には、ＭＡＣアドレスが通信制御対象リスト２６１に登録されている場合には該当アドレスをリストから消去し、制御情報が「制御」とされており、かつＭＡＣアドレスが通信制御対象リスト２６１に登録されてない場合にはリストに登録する。収集部２２は、通信制御対象リスト２６１に記載されているものに対しては、通信収集動作を実施するために、通信制御対象リスト２６１が変更されるのに伴い動作が変わる。
【００９５】
認証サーバ３によってユーザ認証が成功した場合は、通信制御対象解除命令内の制御情報が「解除」になっているために、コントローラ２７は、受信された認証サーバ３、クライアントのＩＰアドレスからＭＡＣアドレスを導出した後に、そのＭＡＣアドレスを通信制御対象リスト２６１から削除する。
【００９６】
このようにこの実施形態のネットワーク通信システムによれば、同一ブロードキャストドメイン内に通信制御装置２を設置することで、クライアント１がネットワーク５に接続され、ブラウザを起動させたときに、スタートページの設定いかんによらず、ブラウザの画面にある特定のページ、この例では、認証サーバ３から送られた認証画面を表示させ、ユーザ認証を行った上でイントラネット内のコンテンツにアクセスさせることができる。
【００９７】
（第２実施形態）
以下、図９乃至図１５を参照して他の実施形態について説明する。
【００９８】
図９は通信制御装置の通信制御部の内部構成の一つの実施の形態を示すブロック図、図１０はＩＰアドレス・セッション数対応テーブル（一時登録テーブル）を示す図、図１１はＦＩＮ発信登録テーブルを示す図である。
【００９９】
通信制御部２５は、自己宛ての通信でない通信を基本スタックで受信できるように動的に設定する装置であって、処理を決定する制御部２１０と、動的な設定を実施するＪａｃｋ部２２０と、動的な設定を解除する後処理部２３０を有している。
【０１００】
この例では、通信制御部２５をソフトウェアで実装したが、ハードウェアで実装してもよい。
【０１０１】
制御部２１０は、受信フレームの宛先アドレスを検出する宛先ＩＰアドレス検出部２１１と、パケットの内容から実施すべき処理を判定する処理判定部２１２とを有している。
【０１０２】
宛先ＩＰアドレス検出部２１１は、取得されたフレームから、パケットの宛先を示すＩＰアドレスを検出（抽出）する。
【０１０３】
処理判定部２１２は、宛先ＩＰアドレス検出部２１１により検出（抽出）された宛先ＩＰアドレスと、予めメモリに登録された自己のＩＰアドレスとを比較してパケットの宛先が自己宛てか否かを判定する判定部として機能する。
【０１０４】
すなわち、制御部２１０は、ＮＩＣ１１０から渡された受信フレームより宛先ＩＰアドレスを抽出し、抽出した宛先ＩＰアドレスと自身に設定されているアドレスとの比較結果に応じて、処理を実施すべきか否かを判定し、この判定の結果、処理を実施する場合には、予め設定された内容の処理を実行する。
【０１０５】
つまり、宛先ＩＰアドレスと自身に設定されているアドレスとが一致した場合は、設定された内容の処理を実行し、不一致の場合は、処理を実行しないと判定する。
【０１０６】
設定された内容の処理とは、例えばユーザ認証用の特定ページを、アクセス要求を送ってきた要求送信元の機器（この場合、クライアント１）へ返すような処理である。
【０１０７】
Ｊａｃｋ部２２０は、一時登録アドレス確認部２２２、ＩＰアドレス一時登録部２２３、およびコピーフレーム再送部２２４を有している。
【０１０８】
一時登録アドレス確認部２２２は、ＤＢ２４０に記憶された一時登録アドレステーブル２４１（図１０参照）の一時登録アドレスを確認し、既に登録されている場合にはアクティブセッション数を増加させる。
【０１０９】
また、一時登録アドレス確認部２２２は、一時登録アドレスを確認した結果、一時登録アドレステーブル２４１に一時登録アドレスが登録されていない場合にはＩＰアドレス一時登録部２２３を呼び出す。
【０１１０】
ＩＰアドレス一時登録部２２３は、受信フレームの宛先ＩＰアドレスを一時アドレス（Ｕｎｉｘ（登録商標）系ＯＳでいうＡｌｉａｓ：エイリアス)としてＯＳに登録し、かつＯＳに登録したＩＰアドレスをＤＢ２４０へ格納する。エイリアスとは、ＯＳがそのアドレスとして振る舞うことが可能な２番目のＩＰアドレス、つまり論理アドレスである。
【０１１１】
すなわち、ＩＰアドレス一時登録部２２３は、処理判定部２１２により自己宛てでないと判定されたフレームから抽出した宛先ＩＰアドレスをＤＢ２４０の一時登録アドレステーブル２４１に登録しつつ宛先ＩＰアドレスをＮＩＣ１１０に割り当てるアドレス登録部として機能する。
【０１１２】
コピーフレーム再送部２２４は、記憶部２６にコピーして記憶されたコピーフレームを、自分自身に対して再送する。すなわち、コピーフレーム再送部２２４は、コピーフレームをＮＩＣ１１０へ送る再送部として機能する。
【０１１３】
すなわち、Ｊａｃｋ部２２０は、本来破棄され、処理対象とならない受信したフレームを、ＯＳが自分に送られてきたフレームであるかのように見せかける偽装機能を備えている。
【０１１４】
後処理部２３０は、一時登録アドレス確認部２３１と、一時登録ＩＰアドレス削除部２３２とを有している。
【０１１５】
一時登録アドレス確認部２３１は、一時登録アドレスをＤＢ２４０から検出して、削除するかアクティブセッションを減少させるかを判定する。一時登録ＩＰアドレス削除部２３２は、一時登録アドレス確認部２３１により「一時登録ＩＰアドレスを削除する」と判定された場合にＯＳおよびＤＢ２４０から一時登録アドレスを削除する。
【０１１６】
すなわち、一時登録ＩＰアドレス削除部２３２は、コピーフレーム再送部２２４により再送されたフレームがＯＳ標準部分１００により受信されてから所定のタイミングで一時登録ＩＰアドレステーブル２４１に一時登録されたＩＰアドレスを消去する消去部として機能する。所定のタイミングとは、一時登録アドレス確認部２３１によりクライアント１の通信終了が検出されたタイミングである。
【０１１７】
つまり、一時登録アドレス確認部２３１は、フレームの送信元の機器であるクライアント１が通信を終了したことを検出する通信終了検出部として機能する。
【０１１８】
一時登録ＩＰアドレス削除部２３２は、一時登録アドレス確認部２３１により通信終了が検出された場合にそのタイミングで一時登録アドレステーブル２４１に一時登録されたＩＰアドレスを消去するアドレス消去部として機能する。
【０１１９】
すなわち、後処理部２３０は、通信終了が検出された、一時登録されたＩＰアドレスについて、ＯＳおよびＤＢ２４０より登録内容を削除する削除機能を有している。
【０１２０】
一時登録用のアドレス記憶部としてのＤＢ２４０には、図１０に示すように、一時登録を実施しているＩＰアドレスとアクティブセッション数とを対応付けて格納する一時登録アドレステーブル２４１が記憶されている。このＤＢ２４０の機能は、ソフトウェアベースでもハードウェアベースによる実装でもどちらでもよい。
【０１２１】
すなわち、通信制御装置２は、ネットワーク５に接続された他の機器から送信された通信開始要求のパケットを受信するＮＩＣ１１０により受信されたパケットから抽出した宛先ＩＰアドレスと予め登録された自己のＩＰアドレスとを比較してパケットの宛先が自己宛てか否かを判定し、自己宛てのパケットを受信処理する一方、それ以外のフレームについては破棄する基本機能である標準部分１００を有するオペレーティングシステムがインストールされた通信制御装置である。
【０１２２】
次に、図１１を参照して通信制御装置の動作を説明する。ネットワーク環境としては、図１に示したように、クライアント１のＩＰアドレスを１０．１０．１０．５、通信制御装置２のＩＰアドレスを１０．１０．１０．２、認証サーバ３のＩＰアドレスを１０．１０．１０．１、ＤＮＳサーバ４のＩＰアドレスを１０．１０．１０．５４とし、通信制御装置２では、ＴＣＰポート８０を開いてｈｔｔｐサービスを提供するものとする。
【０１２３】
また、通信制御装置２のＮＩＣ１１０は、プロミスキャスモードに設定されているものとする。さらに、クライアント１から発信される通信が、通信制御装置２にも届く場合を考える。
【０１２４】
なお、このような環境としては、例えばＡＲＰスプーフィングで通信が通信制御装置２に引き込まれるような場合や、ネットワークがリピーターハブでのみ構成されている場合などがある。
【０１２５】
上記のような条件下において、クライアント１で起動したブラウザが、ユーザ認証用ページなどのコンテンツを蓄積した認証サーバ３とは異なるページに接続しようとしたケースを考えてみる。この場合、クライアント１は、ＴＣＰ通信を実施しようとしている。
【０１２６】
クライアント１のブラウザは、通信制御装置２のＩＰアドレス１０．１０．１０．２ではない、別のＩＰアドレス、例えば１０．１０．１０．１０などに対してｈｔｔｐ通信の標準ポートであるＴＣＰ８０番ポートでアクセスを実施したものとする。このとき、通信は、通信制御装置２に届く。
【０１２７】
通信制御装置２では、アクセス要求のパケットがＮＩＣ１１０により受信されると、ＮＩＣ１１０によりパケットから読み込まれたフレームがＯＳ基本スタック１２０に渡される。ＯＳ基本スタック１２０内においては、そのフレームは、初めにＬ２スタック１２１に渡される。
【０１２８】
Ｌ２スタック１２１は、渡されたフレームから宛先ＭＡＣアドレスを抽出し（図１１のＳ１０１）、予め設定されている自身のＭＡＣアドレスと比較することで、宛先ＭＡＣアドレスが自分宛てか否かを確認する。
【０１２９】
この確認の結果、宛先ＭＡＣアドレスが自分宛てではない場合（Ｓ１０２のＮｏ）、Ｌ２スタック１２１は、通常、このフレームを破棄する（Ｓ１０３）。
【０１３０】
このネットワーク通信システムにおいては、先に説明したようにプロミスキャスモードに設定するためにこのＬ２スタック１２１による検査をパスし、フレームは、Ｌ２スタック１２１からＬ３スタック１２２へ渡される。
【０１３１】
Ｌ３スタック１２２は、渡されたフレームから宛先ＩＰアドレスを抽出し（Ｓ１０４）、宛先ＩＰアドレスが自分自身のアドレスとして記憶されているものか否かを確認する。この例では、宛先アドレスが１０．１０.１０．２になっているか否かが確認される。
【０１３２】
この確認の結果、宛先アドレスが、自分自身のＩＰアドレス１０．１０.１０．２でない場合（Ｓ１０４のＮｏ）、Ｌ３スタック１２２は、このパケットを破棄する。通常、Ｌ３レベルでは、Ｌ２におけるプロミスキャスモードのような機能は存在しないため、宛先ＩＰアドレスが自分自身であった場合（Ｓ１０４のＹｅｓ）、Ｌ３スタック１２２は、受信パケットをＬ４スタック１２３に渡す。
【０１３３】
Ｌ４スタック１２３は、渡されたパケットからポート番号を抽出して、抽出したポート番号から既存のどのポート宛の通信かを判定し、該当するポートを利用するアプリケーションへ通信を渡す。
【０１３４】
この例では、宛先アドレスが１０．１０．１０．１０であるために、通信制御装置２のアドレス１０．１０.１０．２と異なっていることから、Ｌ３スタック１２２においてこのパケットは破棄されることになる。
【０１３５】
よって、Ｌ４スタック１２３の上に位置するアプリケーションは、この通信では、クライアント１に対してサービスを実施することができない。
【０１３６】
続いて、図１２のフローチャートを参照して、基本スタックによりサービスを提供するための、通信制御部２５の処理動作を説明する。
【０１３７】
通信制御部２５内では、ＲＡＷＳｏｃｋｅｔなどと呼ばれるモニタリング機能が動作しており、ＮＩＣ１１０で受信されるパケットを常にモニタリングしており、ＮＩＣ１１０によりフレームが読み込まれると、そのフレームを取得する。この他、モニタリング機能としては、ＢＰＦなどもある。ＲＡＷＳｏｃｋｅｔにより取得されたフレームは、制御部２１０により読み込まれる（Ｓ２０１）。
【０１３８】
制御部２１０では、処理判定部２１２において実施処理の判定が行われる。この場合、宛先ＩＰアドレス検出部２１１は、ＲＡＷＳｏｃｋｅｔから読み込んだフレームから宛先ＩＰアドレスを抽出し、宛先ＩＰアドレスが、予め登録されている自分のＩＰアドレスであるかどうかを確認することで、自分宛の通信か否かを判定する（Ｓ２０２）。この例の場合、抽出した宛先ＩＰアドレスが１０．１０．１０．２であるか否かが確認される。
【０１３９】
この確認の結果、自分宛の通信である場合（Ｓ２０２のＹｅｓ）、宛先ＩＰアドレス検出部２１１は、読み込んだフレームをそのまま破棄する。
【０１４０】
一方、自分宛でない場合（Ｓ２０２のＮｏ）、宛先ＩＰアドレス検出部２１１は、続いてＴＣＰパケットの種類を判別する（Ｓ２０３）。なお、ここで言う自分宛のＩＰアドレスとは、一時登録のＩＰアドレスを含まない。
【０１４１】
ＴＣＰパケットの種類としては、例えばＴＣＰ ＳＹＮ、ＴＣＰ ＦＩＮ、ＴＣＰ ＲＳＴなどがある。ＴＣＰでは、まずクライアント１がアクセス対象のサーバに対してＴＣＰ ＳＹＮ、つまり「ＳＹＮパケット」を送り、該当サーバがクライアント１に対してＴＣＰ ＡＣＫ、つまり「ＡＣＫパケット」を返信し、最後にクライアント１がサーバにＡＣＫパケットを送ることで接続が確立する。最後にクライアント１からＴＣＰ ＲＳＴ、つまり「ＲＳＴパケット」(リセット)を送信することにより、接続を中断する。ＴＣＰ ＦＩＮは、接続が終了したことを通知するパケット、つまり「ＦＩＮパケット」である。
【０１４２】
ＴＣＰパケットの種類が、例えばＴＣＰ ＳＹＮである場合（Ｓ２０３のＳＹＮ）、宛先ＩＰアドレス検出部２１１は、Ｊａｃｋ部２２０へフレームを渡す。
【０１４３】
ＦＩＮもしくはＲＳＴの場合（Ｓ２０３のＦＩＮ ｏｒ ＲＳＴ）、宛先ＩＰアドレス検出部２１１は、後処理部２３０へフレームを渡す。その他の場合、フレームは破棄される。なお、このとき、処理対象のＴＣＰポートを予め設定しておき、ポート単位で本サービスを実施するようにしても良い。
【０１４４】
まず、ＴＣＰパケットの種類がＴＣＰ ＳＹＮである場合（Ｓ２０３のＳＹＮ）のＪａｃｋ部２２０の動作を説明する。
【０１４５】
Ｊａｃｋ部２２０では、フレームを受け取ると、一時登録アドレス確認部２２２が、ＤＢ２４０を参照して、受け取ったフレームの宛先ＩＰアドレスが、既に一時登録されているか否かを確認する（Ｓ２０４）。
【０１４６】
この確認の結果、ＤＢ２４０にあて先ＩＰアドレスが既に一時登録されている場合（Ｓ２０４のＹｅｓ）、一時登録アドレス確認部２２２は、ＤＢ２４０のアクティブセッション数を１つ増加させて（Ｓ２０５）、フレームを破棄した後、終了する。
【０１４７】
また、上記確認の結果、ＤＢ２４０に宛先ＩＰアドレスが一時登録されていない場合（Ｓ２０４のＮｏ）、コピー部１１１によりフレームがメモリの一時領域にコピーされる（Ｓ２０６）。これと同時にＩＰアドレス一時登録部２２３が呼び出される。呼び出されたＩＰアドレス一時登録部２２３は、一時アドレスとしてＯＳに宛先アドレスを登録する（Ｓ２０７）。この例の場合、ＩＰアドレス１０．１０．１０．１０がエイリアス（２番目のＩＰアドレス）としてＯＳに一時登録される。
【０１４８】
アドレス一時登録部２２３は、ＯＳにＩＰアドレス１０．１０.１０．１０を一時登録した後、ＤＢ２４０へ一時登録アドレスを格納する（Ｓ２０８）。このとき、ＤＢ２４０上の一時登録アドレステーブル２４１には、例えば図１０に示すように、ＩＤ３の欄にＩＰアドレスが１０．１０．１０．１０と登録され、このときのアクティブセッション数である１が登録される。
【０１４９】
最後にコピーフレーム再送部２２４は、記憶部２６の一時領域にコピーしておいたフレームをＲＡＷＳｏｃｋｅｔやＢＰＦなどを用いて直接送信する（Ｓ２０９）。
【０１５０】
すると、ＯＳの標準部分１００においてＮＩＣ１１０によりフレームが受信されて基本スタック１２０で処理される（Ｓ２１０）。
【０１５１】
基本スタック１２０では、Ｌ２スタック１２１は、プロミスキャスモードで稼動しているため、そのままフレームを受信し、Ｌ３スタック１２２へ渡す。
【０１５２】
ＤＢ２４０上の一時登録アドレステーブル２４１には、一時登録アドレスとして１０．１.１．２が既に登録されているため、Ｌ３スタック１２２は、そのパケットを自分自身に宛てられたパケットとして認識し、Ｌ４スタック１２３へ渡す。
【０１５３】
Ｌ４スタック１２３は、渡されたパケットを通常のＴＣＰ ＳＹＮとして読み込んでいるため、ＴＣＰコネクションを構築するためにＳＹＮ,ＡＣＫをクライアント１へ返す。この後、クライアント１側からの通信は、ＯＳ基本スタック１２０で標準的に読み取られ、通信が可能となる。
【０１５４】
次に、受信されたパケットがＴＣＰパケットであり、その種類がＴＣＰ ＦＩＮである場合（Ｓ２０３のＦＩＮ ｏｒ ＲＳＴ）の後処理部２３０の動作を説明する。
【０１５５】
なお、ＨＴＴＰにおいては、ＴＣＰセッションは、必ず通信制御装置２側からＦＩＮが発信され、通信制御装置２側の通信をハーフクローズした後にクライアント１側からＦＩＮが発信され、クライアント１側からの通信をクローズする仕様になっている。これを前提に以下の説明を行う。
【０１５６】
受信されたパケットが、ＴＣＰ ＦＩＮのパケットであった場合（Ｓ２０３のＦＩＮ ｏｒＲＳＴ）、そのフレームは後処理部２３０に渡される。
【０１５７】
後処理部２３０では、フレームを受け取った一時登録アドレス確認部２３１により、宛先ＩＰアドレスが抽出され、抽出された宛先ＩＰアドレスをキーワードにしてＤＢ２４０を参照して、一時登録アドレステーブル２４１に一時登録済みのものか否かを確認する（Ｓ２１１）。
【０１５８】
この確認の結果、一時登録済みでない場合（Ｓ２１１のＮｏ）、一時登録アドレス確認部２３１は、このフレームを破棄する（Ｓ２１２）。また、一時登録済みである場合（Ｓ２１１のＹｅｓ）、一時登録アドレス確認部２３１は、ＤＢ２４０の一時登録アドレステーブル２４１のアクティブセッション数を１減少させる（Ｓ２１３）。
【０１５９】
そして、一時登録アドレス確認部２３１は、一時登録アドレステーブル２４１のアクティブセッション数を減少させた結果、現在のアクティブセッション数が０になったか否かを確認する（Ｓ２１４）。
【０１６０】
この確認の結果、現在のアクティブセッション数が０でない場合（Ｓ２１４のＮｏ）、一時登録アドレス確認部２３１は、フレームを破棄し（Ｓ２１２）、このまま処理を終了する。
【０１６１】
また、現在のアクティブセッション数が０である場合（Ｓ２１４のＹｅｓ）、一時登録アドレス確認部２３１は、一時登録アドレステーブル２４１の該当アドレスを削除するために、一時登録ＩＰアドレス削除部２３２を呼び出す。
【０１６２】
この例の場合、一時登録アドレステーブル２４１に登録されていたＩＰアドレス１０．１０．１０．１０は、一時アドレスであり、これに対するＦＩＮを受け取るため、一時登録アドレス確認部２３１は、ＤＢ２４０上の一時登録アドレステーブル２４１のＩＰアドレスリストの１０．１０．１０．１０に関するアクティブセッションを１つ減らす。この結果、アクティブセッションが０となり、削除対象とされることになる。
【０１６３】
一時登録ＩＰアドレス削除部２３２は、所定の時間待機した後、ＤＢ２４０上の一時登録アドレステーブル２４１を参照してアクティブセッション数が０であることを再度確認してから、削除対象のＩＰアドレス（エイリアス）をＯＳから削除すると共に（Ｓ２１５）、ＤＢ２４０上から１０．１０．１０．１０に関するレコードを削除する。
【０１６４】
なお、ここで、所定の時間待機するのは、ＴＣＰセッションを正しくクローズさせるためである。ＴＣＰにおいてＦＩＮをクライアント１から受信した後、通信制御装置２からＡＣＫを返す必要があり、ＡＣＫを確実に返すために、一時アドレスの削除に対して待機をかける必要がある。
【０１６５】
この例の場合であれば、所定の時間待機した後、アクティブセッションが０であることが確認できることから、削除対象のＩＰアドレスをＯＳから削除すると共に、ＤＢ２４０から削除する。
【０１６６】
このようにこの第１実施形態のネットワーク通信システムによれば、通信制御装置２の通信制御部２５にＪａｃｋ部２２０を設け、クライアント１から他の機器へ宛てて送信されたフレームが受信されたとき、そのフレームから抽出した宛先ＩＰアドレスをＤＢ２４０の一時登録アドレステーブル２４１に登録した後、コピーしたフレームを再送し、他の機器に成りすまして応答を返した後で、所定のタイミングで一時アドレスを削除することで、ＯＳの基本スタックを変更することなく、他の機器に対する通信を一時的に自分への通信のように扱うことができる。
【０１６７】
具体的には、例えばホテルなどにおいて、内部のネットワーク（イントラネット）のＬＡＮポートにＰＣが接続され、ＰＣのブラウザが起動したときにブラウザを強制的に認証サーバへアクセスさせて、ログイン画面をブラウザに表示させてユーザ認証を行ってから、ネットワーク５上のコンテンツへアクセスさせたり、または外部のインターネットへアクセスさせることができる。
【０１６８】
つまり、ＰＣから初めにネットワーク５上の他の機器へアクセス要求が行われた場合にそれを通信制御装置２へ誘導し、ユーザ認証用のページを返すといった制御を行うことができる。
【０１６９】
（第３の実施形態）
上記第２の実施形態の一時アドレス削除手法によると、ＴＣＰのハーフクローズをサポートできない。
【０１７０】
すなわち、クライアント１側からのＦＩＮを検知しているため、クライアント１側からソケットクローズが実施された場合に、初めにクライアント１側のコネクトがクローズされるために、通信制御装置２側からのＦＩＮが発信される前に一時アドレスの削除が行われる可能性がある。
【０１７１】
この結果、一時アドレスが削除された場合には、ソケットのクローズ処理が実行できなくなる可能があると共に、一時アドレスの削除が失敗する可能性もある。
【０１７２】
そこで、この第２の実施形態では、ＤＢ２４０に、図１３に示すように、各一時登録アドレスに対する通信制御装置２側からのＦＩＮ発信と、クライアント１側からのＦＩＮ発信とを管理するためのＦＩＮ発信管理テーブル２４２を設ける。このＦＩＮ発信管理テーブル２４２は、ネットワーク５上の機器のＴＣＰセッションのシャットダウン状況を確認（管理）するためのテーブルである。
【０１７３】
つまり、このＦＩＮ発信管理テーブル２４２は、送信側の機器であるクライアント１のＦＩＮ発信と自己からのＦＩＮ発信とを対応させて管理するための管理テーブルである。一時登録アドレス確認部２３１は、ＦＩＮ発信管理テーブル２４２においてクライアント１と自己のＦＩＮ発信が共に生じたタイミングで通信の終了を検出する。
【０１７４】
このＦＩＮ発信管理テーブル２４２に、通信制御装置２側からのＦＩＮ発信とクライアント１側からのＦＩＮ発信とが記憶された場合、一時登録アドレス確認部２３１は、コネクションが完全クローズしたものと判定し、一時登録ＩＰアドレス削除部２３２を呼び出すものとする。
【０１７５】
すなわち、一時登録アドレス確認部２３１は、ＦＩＮ発信管理テーブル２４２を参照することで、コネクションが完全クローズした場合に限り、ＦＩＮ発信管理テーブル２４２より該当エントリを削除すると共に、図１０における一時登録アドレステーブル２４１の該当ＩＰアドレスのアクティブセッション数を１つ減少させる。
【０１７６】
そして、呼び出された一時登録ＩＰアドレス削除部２３２は、アクティブセッション数が０になったことを確認した上で、一時登録されたＩＰアドレスを一時登録アドレステーブル２４１より削除する。
【０１７７】
このようにこの第３実施形態のネットワーク通信システムによれば、第１実施形態では、通信制御装置２側からのＦＩＮが発信される前に一時アドレスの削除が行われる可能性があり、この場合、ソケットのクローズ処理や一時アドレスの削除処理が失敗に終わる可能性もあるが、ＦＩＮ発信管理テーブル２４２を設けて、通信制御装置２側とクライアント１側のＦＩＮ発信状況を監視することで、コネクションが完全クローズした場合に限り該当エントリを削除できるようになり、動作不良に陥ることがなくなる。
【０１７８】
（第４の実施形態）
上記第２および第３の実施形態においては、いずれもＴＣＰを用いた通信を前提としていたため、ＵＤＰのようなコネクションレスの通信に関しては、上記手法を使用することができなかった。
【０１７９】
そこで、この第４の実施形態では、ＵＤＰのようなコネクションレスの通信に対応可能とするようシステムを構成する。
【０１８０】
すなわち、この第４の実施形態のネットワーク通信システムは、図１４に示すように、後処理部２３０に削除命令受信部２３３を備えると共に、ＤＢ２４０には、図１０の一時登録ＩＰアドレステーブル２４１にＵＤＰフィールドを追加した形の一時登録ＩＰアドレステーブル２４１ａ（図１５参照）を設ける。なお、図１４において図９と同じ構成について同一の符号を付しその説明は省略する。
【０１８１】
この他、図９に示した実施形態と異なる構成は、制御部２１０内の処理判定部２１２において、ＴＣＰパケットのみではなく、ＵＤＰパケットも検知するようにし、Ｊａｃｋ部２２０において、ＩＰアドレス一時登録部２２３は、位置アドレスをメモリに登録するようにする。
【０１８２】
すなわち、この第３の実施形態は、制御部２１０と後処理部２３０の機能の関連付けがなくなり、その代わりに後処理部２３０に削除命令受信部２３３を増設したものである。
【０１８３】
削除命令受信部２３３は、他プロセスなどの外部から一時登録ＩＰアドレスの削除要求を受け付ける機能であり、削除要求が受信されたタイミングで、通信の終了を検出し、一時登録ＩＰアドレステーブル２４１ａに一時登録されたＩＰアドレスを削除する。
【０１８４】
図１５に示すように、一時登録ＩＰアドレステーブル２４１ａは、一時登録されるＩＰアドレスおよびセッション数などのフィールドの他に、ＵＤＰフィールドを有し、ＵＤＰ通信によって、新たな位置アドレスがメモリに登録された場合に、Ｊａｃｋ部２２０のＩＰアドレス一時登録部２２３により、一時登録ＩＰアドレステーブル２４１ａの該当ＵＤＰフィールドにフラグが立てられる。その他の動作は、第１の実施形態と同様である。
【０１８５】
ここで、一時アドレス削除処理を実施するときの詳細動作について説明する。例えばクライアント１などの外部機器より一時登録ＩＰアドレスの削除要求があったものとする。この削除要求には、少なくとも削除するＩＰアドレスが含まれていなければならない。
【０１８６】
削除命令を受け取った削除命令受信部２３３は、受信したＩＰアドレスを一時登録アドレス確認部２３１へ渡す。
【０１８７】
一時登録アドレス確認部２３１は、渡されたＩＰアドレスをキーワードにしてＤＢ２４０を参照し、ＩＰアドレス１０．１０．１０．５に対する削除命令であれば、ＤＢ２４０におけるステータスは、ＵＤＰによる登録であることが記述されているために、外部からの命令により消去されるものと判定する。
【０１８８】
この例では、外部から、ＩＰアドレス１０．１０．１０．５に対する消去命令が受信されているので、一時登録アドレス確認部２３１は、一時登録ＩＰアドレス削除部２３２に対して消去要求を送出する。
【０１８９】
つまり、外部から消去命令が来ているので、そのＩＰアドレスは、既に利用が終了しているものと判断できるので、消去要求を受け取った一時登録ＩＰアドレス削除部２３２は、削除対象のＩＰアドレスをＯＳから削除すると共に、ＤＢ２４０からＩＰアドレス１０．１０．１０．５に関するレコードを削除する。
【０１９０】
このようにこの第４実施形態のネットワーク通信システムによれば、一時登録したＩＰアドレスに対する消去命令を外部から受信する削除命令受信部２３３を設けたことで、削除命令を受信した段階でそのＩＰアドレスは、既に利用が終了しているものと判断できるので、消去要求を受け取った削除対象のＩＰアドレスを不具合なく安全に消去することができる。
【図面の簡単な説明】
【０１９１】
【図１】本発明の一つの実施の形態のネットワーク通信システムの概要構成を示すブロック図である。
【図２】図１のネットワーク通信システムの通信制御装置の構成を示すブロック図である。
【図３】通信制御対象リストを示す図である。
【図４】転送可否リストを示す図である。
【図５】通信制御条件リストを示す図である。
【図６】アクセス許可リストを示す図である。
【図７】接続端末管理リストを示す図である。
【図８】このネットワーク通信システムの動作を示すシーケンスチャートである。
【図９】通信制御装置の通信制御部の一つの構成例を示すブロック図である。
【図１０】一時登録したＩＰアドレスとセッション数との対応テーブル（一時登録ＩＰアドレステーブル）を示す図である。
【図１１】ＯＳ基本スタックにおける動作を示すフローチャートである。
【図１２】通信制御装置の動作を示すフローチャートである。
【図１３】ＦＩＮ発信管理テーブルを示す図である。
【図１４】通信制御部の他の構成例を示すブロック図である。
【図１５】図１４の構成例に用いる一時登録ＩＰアドレステーブルを示す図である。
【符号の説明】
【０１９２】
１…クライアント、２…通信制御装置、３…認証サーバ、４…ＤＮＳサーバ、５…ネットワーク、２１…パケット判定部、２２…収集部、２３…転送判定部、２４…転送部、２５…通信制御部、２６…記憶部、１００…ＯＳ標準部分、１１０…ネットワーク・インターフェース・カード（ＮＩＣ）、１１１…コピー部、１２０…ＯＳ基本スタック、１２１…Ｌ２スタック、１２２…Ｌ３スタック、１２３…Ｌ４スタック、１３０…アプリケーション、２００…通信制御部、２１０…制御部、２１１…宛先ＩＰアドレス検出部、２１２…処理判定部、２２２…一時登録アドレス確認部、２２３…アドレス一時登録部、２２４…コピーフレーム再送部、２３０…後処理部、２３１…一時登録ＩＰアドレス確認部、２３２…一時登録ＩＰアドレス削除部、２３３…削除命令受信部、２４１…一時登録ＩＰアドレステーブル、２４１ａ…一時登録ＩＰアドレステーブル、２４２…ＦＩＮ発信管理テーブル。
【図１】
2007336401.tif 000003
【図２】
2007336401.tif 000004
【図３】
2007336401.tif 000005
【図４】
2007336401.tif 000006
【図５】
2007336401.tif 000007
【図６】
2007336401.tif 000008
【図７】
2007336401.tif 000009
【図８】
2007336401.tif 000010
【図９】
2007336401.tif 000011
【図１０】
2007336401.tif 000012
【図１１】
2007336401.tif 000013
【図１２】
2007336401.tif 000014
【図１３】
2007336401.tif 000015
【図１４】
2007336401.tif 000016
【図１５】
2007336401.tif 000017