(57)【要約】【課題】インターフェースに接続した複数のグループのパケット転送を管理することが可能な、情報処理装置、およびプログラムを提供する。【解決手段】  グループを管理する第１のテーブルと、転送先アドレスを管理する第２のテーブルを備え、に対して、受信したパケットから上記テーブルを用いて、一のインターフェースに接続した複数のグループのうち、いずれのグループに転送するかを判断して転送を行う、情報処理装置が提供される。【選択図】図２３
2011217335.tif 000002
【特許請求の範囲】
【請求項１】
中央処理装置と、
２以上の端末と接続する第１のインターフェースと、
２以上の端末又はローカルエリアネットワークと接続する第２のインターフェースと、
第１のインターフェースと接続する所定の端末と、第２のインターフェースと接続する所定の端末又はローカルエリアネットワークとを、グループとして記録する第１のテーブルと、
グループに属する端末又はローカルエリアネットワークの転送先となるアドレスを記録する第２のテーブルと、
を備え、
前記中央処理装置は、第１のテーブルに記録された所定のグループに属する端末又はローカルエリアネットワークからパケットを受信した場合は、第１のテーブルに基づいて所定のグループに属する他の端末又はローカルエリアネットワークを特定し、第２のテーブルに基づいて転送先となるアドレスを特定し、前記パケットを特定した前記アドレスに転送する
情報処理装置。
【請求項２】
前記第２のテーブルに記録されたローカルエリアネットワークは、ＶＬＡＮタグによって識別され、
前記中央処理装置は、受信したパケットに含まれるＶＬＡＮタグによって、前記第１のテーブルに記録した所定のグループに属する他の端末又はローカルエリアネットワークを特定する
請求項１に記載の情報処理装置。
【請求項３】
前記情報処理装置は、ＶＰＮサーバであり、
前記第１のインターフェースは、少なくとも一つのＶＰＮクライアントと接続し、
前記ＶＰＮサーバと前記ＶＰＮクライアントの間の通信はＶＰＮによる通信である、
請求項２に記載の情報処理装置。
【請求項４】
コンピュータに、
２以上の端末と接続する第１のインターフェースと、
２以上の端末又はローカルエリアネットワークと接続する第２のインターフェースと、
第１のインターフェースと接続する所定の端末と、第２のインターフェースと接続する所定の端末又はローカルエリアネットワークとを、グループとして記録する第１のテーブルと、
グループに属する端末又はローカルエリアネットワークの転送先となるアドレスを記録する第２のテーブルと、
を用いて通信を行い、
前記中央処理装置は、第１のテーブルに記録された所定のグループに属する端末又はローカルエリアネットワークからパケットを受信した場合は、第１のテーブルに基づいて所定のグループに属する他の端末又はローカルエリアネットワークを特定し、第２のテーブルに基づいて転送先となるアドレスを特定し、前記パケットを特定した前記アドレスに転送させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、ＶＰＮクライアントとＶＰＮ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）の通信を行うＷＡＮ側のインターフェースと、２以上のＬＡＮと接続するＬＡＮ側のインターフェースを有するＶＰＮサーバが、複数のＬＡＮに対応してパケット送信を行う処理に好適な技術に関する。【０００２】  本発明は、さらに、ＶＰＮの通信を行うＶＰＮサーバとＶＰＮクライアントの間におけるルーティング処理に関し、特にＥｔｈｅｒｎｅｔフレームを利用したＶＰＮに関するルーティング処理に好適な技術に関する。
【背景技術】
【０００３】  近年、インターネットや通信事業者が持つネットワークを用いて端末間に仮想的な専用線を接続するＶＰＮ技術が普及している。ＶＰＮ技術には、公衆ネットワークとしてインターネットを利用するインターネットＶＰＮと、通信事業者が管理する専用のサービス網を用いて提供されるＶＰＮがある。【０００４】  インターネットＶＰＮには、ＶＰＮの構成に必要な暗号化、認証等の機能を備えたプロトコルをルータやファイアウォール機器に実装してＶＰＮを実現するＩＰｓｅｃ（ＩＰ  ｓｅｃｕｒｉｔｙ）と、ＳＳＬプロトコルを利用してＶＰＮを実現するＳＳＬ−ＶＰＮのなどがある。
また、通信事業者が管理する専用のサービス網を用いて提供されるＶＰＮには、ラベルとルーティングテーブルを用いたＭＰＬＳ（Ｍｕｌｔｉ  Ｐｒｏｔｏｃｏｌ  Ｌａｂｅｌ  Ｓｗｉｔｃｈｉｎｇ）によってＶＰＮを実現するＩＰ−ＶＰＮと、ＥｔｈｅｒｎｅｔフレームにＶＬＡＮタグと呼ばれる情報を付加してＶＰＮを実現する広域Ｅｔｈｅｒｎｅｔなどがある（例えば、ＭＰＬＳについて特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許４１０９６９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】  図１９は、複数のＬＡＮと接続するＶＰＮサーバのネットワーク構成を説明するための図である。【０００７】  図１９に示したシステムでは、ＶＰＮクライアントとＬＡＮの組からなる複数のグループが構成されており、同じグループに属するＶＰＮクライアントとＬＡＮに属する端末のみが、ＶＰＮサーバ１１０を介して通信をすることができる。
例えば図１９に示したシステムでは、ＶＰＮクライアント５００Ａ及びこれに接続する端末６００ＡとＬＡＮ１に属する端末１３０Ａ、ＶＰＮクライアント５００Ｂ及びこれに接続する端末６００ＢとＬＡＮ２に属する端末１３０Ｂ、ＶＰＮクライアント５００Ｃ及びこれに接続する端末６００ＣとＬＡＮ３に属する端末１３０Ｃが、同じグループに属しており、各グループ内でＶＰＮの通信ができる。【０００８】  しかし、ＶＰＮサーバ１１０のＷＡＮ側インターフェース１１１に２以上のＶＰＮクライアントを接続し、ＬＡＮ側インターフェース１１２にも２以上のＬＡＮと接続して、ＶＰＮクライアントとＬＡＮの所定の組み合わせをグループとして、ＶＰＮサーバ１１０がＶＰＮの通信を仲介する場合、従来は、図に示すとおり、ＬＡＮ側のインターフェースを物理的に増設する必要があった（ＬＡＮ側インターフェース１１２Ａ乃至Ｃ）。【０００９】  また、単にスイッチ端末を追加しただけでは、ＶＰＮサーバの制御部は、受信したパケットが、どのＬＡＮに属する端末に転送すべきかを判断することができないという問題があった。【００１０】  そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、１のＬＡＮ側インターフェースによって、２以上のＬＡＮとＶＰＮクライアントからなるグループのＶＰＮ通信をすることが可能な、新規かつ改良された情報処理装置、プログラム、情報処理方法および情報処理システムを提供することにある。【００１１】  図１は、Ｅｔｈｅｒｎｅｔフレームを利用するＶＰＮのネットワークの構成を説明するための図である。
図２は、一般的な通信パケットの構造を示す図である。ここで、Ｅｔｈｅｒｎｅｔフレームは、図２に示す通り、ＭＡＣヘッダとＩＰパケットからなる。ＩＰパケットは、ＩＰヘッダとデータからなる。データはＴＣＰヘッダとデータ断片からなる。【００１１】  図１において、例えば端末６００Ｂから端末６００Ａに対してＶＰＮの通信を行う場合のＶＰＮセッションは、まずは端末ＢのＶＰＮクライアントＢからＶＰＮサーバ宛に作成される。その際、ＶＰＮセッションはＴＣＰヘッダ内のアドレスにおいて設定される。
設定されたＴＣＰヘッダ内のアドレスを用いて、ＶＰＮクライアントとＶＰＮサーバ間でＥｔｈｅｒｎｅｔフレームが送受信される。【００１２】  ところで、ＶＰＮの通信を行う端末６００Ａ乃至ＣのＶＰＮクライアント５００Ａ乃至Ｃがすべて同一のＩＳＰ（Ｉｎｔｅｒｎｅｔ  Ｓｅｒｖｉｃｅ  Ｐｒｏｖｉｄｅｒ）のネットワーク内にあるとは限らない。このため、図１に示す通り、ＶＰＮサーバ１００はルータ２００Ａ乃至Ｃを介して複数のＩＳＰ３００Ａ乃至Ｃと接続する。【００１３】  図１におけるＶＰＮサーバ１００は、接続したＩＳＰから固定のＩＰアドレスが割り当てられている。具体的には、例えばＩＳＰＡ社３００ＡからはＩＰ−Ａ、ＩＳＰＢ社３００ＢからはＩＰ−Ｂ、ＩＳＰＣ社３００ＣからはＩＰ−Ｃがそれぞれ割り当てられる。
一方、図１におけるＶＰＮクライアント５００Ａ乃至ＣのＩＰアドレスは、ＩＳＰのネトワークに接続する際にＩＳＰから割り当てられて動的に決定される。【００１４】  ここで例えばＶＰＮクライアント５００ＢからＶＰＮサーバ１００を介してＶＰＮクライアント５００ＡにＶＰＮの通信を行う場合について説明する。
ＶＰＮクライアント５００ＢからＶＰＮサーバ１００へ送信されるパケットは、パケット内の宛先ＩＰアドレスとルータが持つ従来の一般的なルーティングテーブルに基づいて送信される。【００１５】  ＶＰＮサーバ１００は、ＶＰＮクライアント５００Ｂから受信したＥｔｈｅｒｎｅｔフレームをＶＰＮクライアント５００Ａに転送する際、受信したパケットのＭＡＣヘッダに記載されたＭＡＣアドレスに基づいて転送先となるＶＰＮクライアント５００Ａを決定する。
次に、決定したＶＰＮクライアント５００Ａをキーにして図３のＶＰＮセッションテーブルを検索して使用するＴＣＰ自側アドレスとＴＣＰクライアント側ＩＰアドレスを選択し、選択したＶＰＮクライアント５００Ａ宛にパケットを送信する。【００１６】  ＶＰＮサーバ１００が一社のＩＳＰのみに接続している場合には、ＶＰＮサーバは、ＶＰＮクライアントから受信したパケットを、転送先のＶＰＮクライアントに向けて、接続した一のＩＳＰに送信すれば足りる。
しかしＶＰＮサーバ１００が複数のＩＳＰに接続している場合は、いずれのＩＳＰに送信するかを含めて最適な転送先を選択する必要がある。転送先が不適の場合は、パケットが遠回りすることで通信品質が劣化する場合や、転送先のＶＰＮクライアントにパケットが到達しない場合が起こりうるためである。【００１７】  従来の一般的なルーティングテーブルによって経路制御をする場合は、ルーティングテーブル内に宛先ＩＰアドレスの項目があるために経路制御できる宛先ＩＰアドレスのグループと、ルーティングテーブル内に宛先ＩＰアドレスの項目がないために経路制御できない宛先ＩＰアドレスのグループが存在していた。
このため、ＩＰパケットの宛先ＩＰアドレスが、経路制御の対象となる宛先ＩＰアドレスのグループに含まれていれば、そのグループに関連付けられた転送先ルータにＩＰパケットを転送する経路制御ができる。【００１８】  例えば、図１におけるＶＰＮクライアントＡ５００Ａの宛先ＩＰアドレスと、ＶＰＮサーバ１００に割り当てられたＩＰ−ＡのＩＰアドレスとがルーティングテーブル内に項目があり、同じ宛先ＩＰアドレスグループに属していれば、最適な転送先としてルータＡ２００Ａを選択することができる。【００１９】  しかし、ＩＳＰ内において経路制御の対象となるＩＰアドレスグループは細分化されており、同一のＩＳＰ内にも種々のＩＰアドレスグループが含まれている。このため、同じＩＳＰＡ社のネットワークに属している場合でも、ＩＳＰＡ社から割り当てられたＩＰ−ＡのＩＰアドレスと、ＶＰＮクライアントＡ５００Ａに割り当てられたＩＰアドレスとは同じＩＰアドレスグループに属しない場合が多い。【００２０】  ＩＰパケットの宛先ＩＰアドレスが、経路制御の対象となる宛先ＩＰアドレスのグループに含まれていない場合は、最適な転送先とは限らないデフォルト経路と呼ばれるＩＳＰ宛にパケットを一律に送信することになり、経路制御されずにパケットが送信されてしまうことによって通信時間が遅れる問題があった。【００２１】  このような経路制御の対象となる宛先ＩＰアドレスの項目がないために経路制御できない場合の対策として、例えば図４のように、接続されたＶＰＮクライアントのＩＰアドレスと同数の項目を有するルーティングテーブルを動的に作成する必要がある。
しかし、宛先ＩＰアドレスと同数の項目を備えてルーティングテーブルを作成することは、管理運用のコストが嵩むことに加えて、規模拡張性に欠くという問題がある。【００２２】  そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、従来の一般的なルーティングテーブルでは選択できない最適な転送先を選択することが可能な、新規かつ改良された情報処理装置、プログラム、情報処理方法および情報処理システムを提供することにある。
【課題を解決するための手段】
【００２３】  中央処理装置と、２以上の端末と接続する第１のインターフェースと、２以上の端末又はローカルエリアネットワークと接続する第２のインターフェースと、第１のインターフェースと接続する所定の端末と、第２のインターフェースと接続する所定の端末又はローカルエリアネットワークとを、グループとして記録する第１のテーブルと、グループに属する端末又はローカルエリアネットワークの転送先となるアドレスを記録する第２のテーブルと、を備え、
前記中央処理装置は、第１のテーブルに記録された所定のグループに属する端末又はローカルエリアネットワークからパケットを受信した場合は、第１のテーブルに基づいて所定のグループに属する他の端末又はローカルエリアネットワークを特定し、第２のテーブルに基づいて転送先となるアドレスを特定し、前記パケットを特定した前記アドレスに転送する情報処理装置である。【００２４】  前記第２のテーブルに記録されたローカルエリアネットワークは、ＶＬＡＮタグによって識別され、前記中央処理装置は、受信したパケットに含まれるＶＬＡＮタグによって、前記第１のテーブルに記録した所定のグループに属する他の端末又はローカルエリアネットワークを特定する。
また、前記情報処理装置は、ＶＰＮサーバであり、前記第１のインターフェースは、少なくとも一つのＶＰＮクライアントと接続し、前記ＶＰＮサーバと前記ＶＰＮクライアントの間の通信はＶＰＮによる通信である
【発明の効果】
【００２５】  以上説明したように本発明によれば、ＶＰＮサーバのグループテーブルと転送先テーブルを用いることによって、ＬＡＮ側インターフェースに接続された複数のＶＰＮクライアントとＬＡＮからなるグループの通信を制御することができる。【００２６】  さらに、本発明によれば、宛先ＩＰアドレスのみによるＩＰルーティングテーブルでは選択できない最適な転送先をソースＩＰアドレスを用いることによって特定することができる。
【図面の簡単な説明】
【００２７】
【図１】本実施の形態に係るネットワークの構成を説明するための説明図である。
【図２】Ｅｔｈｅｒｎｅｔフレームの構造を示すための説明図である。
【図３】ＶＰＮセッションテーブルを示すための説明図である。
【図４】宛先ＩＰアドレスによるＩＰルーティングテーブルを示す説明図である。
【図５】ＶＰＮサーバの概略構成を示すブロック図である。
【図６】ＶＰＮサーバのソースアドレスＩＰルーティングテーブルの構成を説明するための説明図である。
【図７】ルータの概略構成を示すブロック図である。
【図８】ＶＰＮクライアントの概略構成を示すブロック図である。
【図９】ＶＰＮサーバのパケット転送処理のフロー図である。
【図１０】ソースＩＰアドレスルーティングテーブルの構造を示す構造図である。
【図１１】ソースＩＰアドレスルーティングテーブルのエントリ例を示す説明図である。
【図１２】ＩＰアドレスを番号順に並べたＩＰアドレス空間におけるＩＰアドレスブロックを示す構造図である。
【図１３】ソースＩＰアドレスルーティングテーブルの最適なエントリ探索処理のフロー図である。
【図１４】図１３の探索ループの詳細なフロー図である。
【図１５】ソースＩＰアドレスルーティングテーブルの最適なエントリ探索処理の第２の実施例を示すフロー図である。
【図１６】図１５の探索ループの詳細なフロー図である。
【図１７】エントリ探索回数を示す説明図である。
【図１８】本願におけるＶＰＮセッションで用いられるパケットの構造を示すための説明図である。
【図１９】ＬＡＮ側のインターフェースの課題が発生するネットワークの構成を説明するための説明図である。
【図２０】ＬＡＮ側のインターフェースの実施例の形態に係るネットワークの構成を説明するための説明図である。
【図２１】ＬＡＮ側のインターフェースの実施例の形態に係るＶＰＮサーバの概略構成を示すブロック図である。
【図２２】グループテーブルと転送先テーブルのデータ構造例を示すデータ構造図である。
【図２３】ＬＡＮ側のインターフェースからパケットを受信した場合の転送前の事前処理を示すフロー図である。
【図２４】ＬＡＮ側のインターフェースからパケットを受信した場合の転送処理を示すフロー図である。
【発明を実施するための形態】
【００２８】  以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００２９】  なお、説明は以下の順序で行うものとする。
１．本発明の実施の形態に係るネットワーク構成
２．ＶＰＮサーバのパケット転送処理のフロー例
３．ソースＩＰアドレスルーティングテーブルの例
４．最適候補エントリの探索処理フロー例
５．最適候補エントリの探索処理フローの第２の実施例
６．ＬＡＮ側インターフェースの実施例
【００３０】  ［本発明の実施の形態に係るネットワーク構成］
まず、本発明の実施の形態に係るネットワーク構成について説明する。図１は本実施の形態に係るネットワークの構成を説明するための説明図である。
【００３１】  図１において、ＶＰＮサーバ１００は、ルータＡ２００Ａ乃至ルータＣ２００Ｃ、ＩＳＰＡ社３００Ａ乃至ＩＳＰＣ社３００Ｃ、ルータＤ４００Ａ乃至ルータＦ４００Ｃ、ＶＰＮクライアントＡ５００Ａ乃至ＶＰＮクライアントＣ５００Ｃを介して、端末６００Ａ乃至端末６００Ｃと接続されている。各機器間は、例えばイーサネットケーブルによって接続されている。
【００３２】  次に図１におけるＶＰＮサーバ１００、ルータＡ２００Ａ乃至ルータＣ２００Ｃ、ルータＤ４００Ａ乃至ルータＦ４００Ｃ、ＶＰＮクライアントＡ５００Ａ乃至ＶＰＮクライアントＣ５００Ｃの概略構成について説明する。
【００３３】  図５は、ＶＰＮサーバの概略構成を示すブロック図である。
ＶＰＮサーバ１００は、図５に示す通り、ＣＰＵ１０１、ＶＰＮセッションテーブル１０２、ソースＩＰアドレスルーティングテーブル１０３、宛先アドレスによるＩＰルーティングテーブル１０４、インターフェースＡ１０５、Ｂ１０６、Ｃ１０７、記憶部１０８からなる。
【００３４】  ＣＰＵ１０１は、ＶＰＮサーバ内の各ブロックの処理の制御を行う。
【００３５】  ＶＰＮセッションテーブル１０２は、ＶＰＮサーバがＶＰＮクライアントにパケットを送信する際にＶＰＮセッションを決定するために用いるテーブルである。具体的には、先に図３について説明した通りである。
【００３６】  図６は、ＶＰＮサーバのソースアドレスＩＰルーティングテーブルの構成を説明するための説明図である。
ソースＩＰアドレスルーティングテーブル１０３は、図６に示す通り、ソースＩＰアドレス、転送先ルータ、使用インターフェースの項目を有し、事前にＩＳＰＡ乃至ＩＳＰＣから割り当てられたソースＩＰアドレスと、転送先ルータ及び使用するインターフェースを一組として管理する。
ＶＰＮサーバのＣＰＵ１０１は、いずれかのインターフェースで受信した転送対象となるパケットのソース（送信元）ＩＰアドレスをキーにしてソースＩＰアドレスルーティングテーブル１０３を検索し、転送先ルータと使用するインターフェースを決定する。このテーブルの詳細については後述する。
ソースＩＰアドレスには、事前にＩＳＰＡ乃至Ｃから割り当てられた固定ＩＰアドレスが使用される。このため、ソースＩＰアドレスルーティングテーブルの項目数は、接続するＩＳＰの数で足り、接続するＶＰＮクライアントの数と同数の項目を持つ必要がない。また、このテーブルは、例えばＶＰＮサーバの起動時に設定することにしてもよい。
【００３７】  宛先ＩＰアドレスによるＩＰルーティングテーブルは、先に図４について説明した通り、宛先ＩＰアドレス、転送先ルータ、使用インターフェースの項目を有し、これらを一組として管理する。
【００３８】  インターフェースＡ１０５乃至Ｃ１０７は、ＩＳＰ毎に割り当てられて他の機器と接続され、パケットの送受信を行う。
【００３９】  記憶部１０８はＶＰＮの通信に必要な暗号化、メッセージ認証、接続先認証等の情報を記憶する。
【００４０】  図７は、ルータの概略構成を示すブロック図である。
ルータ２００Ａ乃至２００Ｃは、図７に示す通り、ＣＰＵ２０１と、ルーティングテーブル２０２とインターフェース２０３、２０４からなる。
なお、ルータ４００Ａ乃至４００Ｃは、ルータ２００Ａ乃至２００Ｃと実質的に同一の機能構成であるため説明を省略する。
【００４１】  ＣＰＵ２０１は、ルーティングテーブル２０２に基づいてパケットの中継先を判断し、判断された中継先へのパケットの送受信を制御する。
【００４２】  ルーティングテーブル２０２は、パケットの中継先が登録されたテーブルである。
【００４３】  インターフェース２０３、２０４は、他の機器と接続され、パケットの送受信を行う。
【００４４】  図８は、ＶＰＮクライアントの概略構成を示すブロック図である
ＶＰＮクライアント５００Ａ乃至５００Ｃは、図８に示す通り、ＣＰＵ５０１、記憶部５０２、インターフェース５０３、５０４からなる。
【００４５】  ［ＶＰＮサーバのパケット転送処理フロー例］
次に、本発明のＶＰＮサーバのパケット転送処理フローについて説明する。図９は、ＶＰＮサーバのパケット転送処理のフロー図である。
【００４６】  ＶＰＮサーバ１００のいずれかのインターフェースが、ＶＰＮクライアントからのＥｔｈｅｒｎｅｔフレームの転送要求を受信する（Ｓ７０２）。
ＶＰＮサーバ１００のＣＰＵ１０１が、受信したパケットのＭＡＣヘッダに記載されたＭＡＣアドレスに基づいて転送先ＶＰＮクライアントを決定する（Ｓ７０４）。
ＶＰＮサーバ１００のＣＰＵ１０１が、決定した転送先ＶＰＮクライアントをＶＰＮセッションテーブル１０２に参照し、ＴＣＰの自側アドレスを決定する（Ｓ７０６）。
【００４７】  次にＶＰＮサーバ１００のＣＰＵ１０１は、決定したＴＣＰの自側アドレスをキーにしてソースＩＰアドレスルーティングテーブル１０３を検索し、テーブルに存在するか否かを確認する（Ｓ７０８）。
ＴＣＰ自側アドレスがソースＩＰアドレスルーティングテーブル１０３に存在する場合は、ソースＩＰアドレスルーティングテーブルから転送先ルータ及び使用インターフェースを決定する（Ｓ７１０）。
ＴＣＰ自側アドレスがソースＩＰアドレスルーティングテーブル１０３に存在しない場合は、宛先アドレスによるＩＰルーティングテーブルから転送先ルータ及び使用インターフェースを決定する（Ｓ７１２）。
【００４８】  ＶＰＮサーバ１００のＣＰＵ１０１は、決定したインターフェースを使用して、決定した転送先ルータに対してパケットを送信する（Ｓ７１４）。
【００４９】  上記の通り、例えばＶＰＮクライアント５００ＢがＶＰＮサーバ１００のいずれのＩＰアドレスに接続してきたか（いずれのＩＳＰを経由して送信してきたか）に応じて、ＶＰＮサーバ１００が、ＶＰＮクライアント５００Ａに転送するために最適な転送先ルータ２００を選択する。これによって、通信経路を最短にして応答時間を短縮し、通信条件を改善することができる。
また、ソースＩＰアドレスルーティングテーブル１０３と宛先アドレスを使用したルーティングテーブル１０４の双方を用いることで、宛先アドレスを使用したルーティングテーブル１０４のみを用いて処理する場合に比較して、最適な転送先の選択に使用するテーブルの項目数を少なくすることができる。
【００５０】  ［ソースＩＰアドレスルーティングテーブルの例］
図１０は、ソースＩＰアドレスルーティングテーブル１０３の構造を示す構造図である。ソースＩＰアドレスルーティングテーブル１０３は、先に図６において説明した通り、ソースＩＰアドレス、転送先ルータ、使用インターフェースの項目を有するテーブルである。しかし、より詳細には、図１０に示す通り、各項目がツリー構造を模したリンク付きリストである。
【００５１】  図１１は、ソースＩＰアドレスルーティングテーブル１０３の各構成要素を示す説明図である。
より詳細には、ソースＩＰアドレスルーティングテーブル１０３の各構成要素は、ＩＰアドレスプレフィックス、ネットマスク、使用インターフェース、転送先ルータ、ｎｅｘｔ、ｃｈｉｌｄからなる。
【００５２】  ＩＰアドレスプレフィックスは、ＩＰアドレスのプレフィックス部分である。また、ネットマスクは、ＩＰアドレスのネットマスク部分である。
「プレフィックス」及び「ネットマスク」は、ＩＰアドレスブロックの範囲を示している。
３２ｂｉｔで構成されるＩＰアドレスは、アドレスをグループに分割して扱う場合に、一般に「プレフィックス」と呼ばれる部分と「ネットマスク」と呼ばれる部分で表現される。すなわち、あるＩＰアドレスに対して「ネットマスク」とのＡＮＤ演算を行い、その結果が「プレフィックス」と一致する場合、そのＩＰアドレスは当該プレフィックスとネットマスクで表現される。
例えば、図１１のＩＰアドレスのグループには、例えば、１９２．１６８．１．１や１９２．１６８．１．２５０等のＩＰアドレスが含まれる。ネットマスク２５５．２５５．２５５．０とＡＮＤ演算を行うといずれも１９２．１６８．１．０となってプレフィックスと一致するためである。一方、例えば１７２．１６．２５０．１等のＩＰアドレスは、ＡＮＤ演算結果がプレフィックスと一致しないため、ＩＰアドレスのグループには含まれない。
【００５３】  使用インターフェースは、パケットを転送するインターフェース名である。また、転送先ルータは、パケットの転送先となるルータのＩＰアドレスである。
【００５４】  ｎｅｘｔは、次のＩＰアドレスプレフィックスを持つエントリへのリンクである。ｎｅｘｔでリンクするエントリは、範囲が異なる前後のＩＰアドレスグループを指す。
一方、ｃｈｉｌｄは、より小さいＩＰアドレスプレフィックスを持つエントリへのリンクである。ｃｈｉｌｄでリンクするエントリは、さらに狭い範囲のＩＰアドレスグループを指す。
【００５５】  図１２は、ＩＰアドレス空間において、例えば０．０．０．０から２５５．２５５．２５５．２５５までの全体のＩＰアドレスを順に並べた場合の構造図であり、ＩＰアドレス空間の全体の中における、それぞれのＩＰアドレスグループの位置関係の例を示すものである。
図１０に示したエントリ▲１▼、▲３▼及び▲７▼とエントリ▲４▼及び▲５▼はｎｅｘｔの関係にある。これはＩＰアドレスの範囲が異なり、ＩＰアドレスを番号順に並べた際、前後のＩＰアドレスグループに位置することになる。
一方、エントリ▲１▼のｃｈｉｌｄでリンクするエントリ▲２▼、エントリ▲３▼のｃｈｉｌｄでリンクするエントリ▲４▼、エントリ▲５▼のｃｈｉｌｄでリンクするエントリ▲６▼は、ＩＰアドレスを番号順に並べた際、より狭い範囲のＩＰアドレスグループに位置することになる。
【００５６】  ［最適候補エントリの探索処理フロー例］
ソースＩＰアドレスルーティングテーブル１０３を用いてＩＰパケットを転送する場合は、ＩＰパケットのソースアドレスが、テーブルを構成するどのエントリに含まれているかを判断し、そのエントリに記載されている転送先ルータおよび使用インターフェースを使用する。
ここで、ＩＰアドレスグループは、図１２に示す通り階層構造を持つため、一のＩＰアドレスに対する最適なエントリとは、そのＩＰアドレスが属しうるグループで最も範囲が狭いものとなる。
【００５７】  図１０の構造から最適なエントリを選択するために、ソースＩＰアドレスルーティングテーブルを参照し、「最適候補エントリ」及び「現在エントリ」の二つの変数を用いて図１３及び図１４の処理を行う。
【００５８】  次に、本発明のＶＰＮサーバの最適なエントリ探索処理フローについて説明する。
図１３は、ソースＩＰアドレスルーティングテーブル１０３の最適なエントリ探索処理のフロー図である。
【００５９】  ＶＰＮサーバ１００のＣＰＵ１０１は、受信したパケットからソースＩＰアドレスを抽出する（Ｓ８０２）。
ＶＰＮサーバ１００のＣＰＵ１０１は、変数である最適候補エントリを初期化する（Ｓ８０４）。
ＶＰＮサーバ１００のＣＰＵ１０１は、変数である現在エントリをｒｏｏｔエントリのｃｈｉｌｄに設定する（Ｓ８０６）。
変数である最適候補エントリの初期化と、同じく変数である現在エントリの設定を終えた後、ＶＰＮサーバ１００のＣＰＵ１０１は、探索ループ処理を行う（Ｓ８０８）。当該処理の詳細は図１４で説明する。
【００６０】  探索ループ処理の結果、ＶＰＮサーバ１００のＣＰＵ１０１は、最適候補エントリが存在するか否かを判断する（Ｓ８１０）。
最適候補エントリが存在する場合は、ＶＰＮサーバ１００のＣＰＵ１０１は、存在する最適候補エントリを転送先に設定する（Ｓ８１２）。
最適候補エントリが存在しない場合は、ＶＰＮサーバ１００のＣＰＵ１０１は、転送先が存在しないと判断して処理を終える（Ｓ８１４）。
【００６１】  図１４は、図１３の探索ループ（Ｓ８０８）の詳細なフロー図である。以下に、探索ループ処理の詳細について説明する。
探索ループ処理のスタート（Ｓ９０２）の後、ＶＰＮサーバ１００のＣＰＵ１０１は、現在エントリのＩＰアドレスの範囲にパケットのＩＰアドレスが含まれるか否かを判断する（Ｓ９０４）。
現在エントリのＩＰアドレスの範囲にパケットのＩＰアドレスが含まれている場合は、ＶＰＮサーバ１００のＣＰＵ１０１は、現在エントリを最適候補エントリとする（Ｓ９０６）。
【００６２】  次にＶＰＮサーバ１００のＣＰＵ１０１は、現在エントリのｃｈｉｌｄが存在するか否かを判断する（Ｓ９０８）。
現在エントリのｃｈｉｌｄが存在する場合は、現在エントリをそのｃｈｉｌｄに設定する（Ｓ９１０）。
現在エントリのＩＰアドレスの範囲にパケットのＩＰアドレスが含まれていない場合は、ＶＰＮサーバ１００のＣＰＵ１０１は、現在エントリのｎｅｘｔが存在するか否かを判断する（Ｓ９１２）。
現在エントリのｎｅｘｔが存在する場合は、ＶＰＮサーバ１００のＣＰＵ１０１は、現在エントリをそのｎｅｘｔへと設定する（Ｓ９１４）。
現在エントリのｎｅｘｔが存在しない場合は、ＶＰＮサーバ１００のＣＰＵ１０１は、探索ループを終了する（Ｓ９１６）。
また、現在エントリのｃｈｉｌｄが存在しない場合は、ＶＰＮサーバ１００のＣＰＵ１０１は、探索ループを終了する（Ｓ９１６）。
【００６３】  ［最適候補エントリの探索処理フローの第２の実施例］
図１５は、ソースＩＰアドレスルーティングテーブル１０２の最適候補エントリの探索処理の第２の実施例を示すフロー図である。
ＶＰＮサーバ１００のＣＰＵ１０１は、パケットからソースＩＰアドレスを抽出する（Ｓ１００２）。
ＶＰＮサーバ１００のＣＰＵ１０１は、最適候補エントリを初期化する（Ｓ１００４）。
変数である最適候補エントリの初期化を終えた後、ＶＰＮサーバ１００のＣＰＵ１０１は、探索ループ処理を行う（Ｓ１００６）。当該処理の詳細は図１６で説明する。
【００６４】  探索ループ処理の結果、ＶＰＮサーバ１００のＣＰＵ１０１は、最適候補エントリが存在するか否かを判断する（Ｓ１００８）。
最適候補エントリが存在する場合は、ＶＰＮサーバ１００のＣＰＵ１０１は、存在する最適候補エントリを転送先に設定する（Ｓ１０１０）。
最適候補エントリが存在しない場合は、ＶＰＮサーバ１００のＣＰＵ１０１は、転送先が存在しないと判断して処理を終える（Ｓ１０１２）。
【００６５】  図１６は、図１５の探索ループ（Ｓ１００６）の詳細なフロー図である。以下に、探索ループ処理の詳細について説明する。
【００６６】  探索ループ処理のスタート（Ｓ１１０２）の後、ＶＰＮサーバ１００のＣＰＵ１０１は、表の先頭エントリを走査対象とする。ここで表の先頭とは、ＩＰアドレスを番号順に並べたＩＰアドレス空間上にエントリを配置した場合に若い番号となるエントリの意味である。
【００６７】  ＶＰＮサーバ１００のＣＰＵ１０１は、走査対象となるエントリのＩＰアドレスの範囲に、パケットのＩＰアドレスが含まれるか否かを判断する（Ｓ１１０６）。
走査対象となるエントリのＩＰアドレスの範囲に、パケットのＩＰアドレスが含まれていない場合は、追って説明するＳ１１１６の処理を行う。
【００６８】  ＶＰＮサーバ１００のＣＰＵ１０１は、走査対象となるエントリのＩＰアドレスの範囲にパケットのＩＰアドレスが含まれる場合は、最適候補エントリが存在するか否かを判断する（Ｓ１１０８）。
【００６９】  ＶＰＮサーバ１００のＣＰＵ１０１は、最適候補エントリが存在する場合は、最適候補エントリと走査対象となるエントリのＩＰアドレスの範囲を比較し、最適候補エントリが走査対象エントリよりも狭い範囲か否かを判断する（Ｓ１１１０）。
最適候補エントリのＩＰアドレスの範囲が走査対象エントリのＩＰアドレスの範囲よりも狭い範囲ではない場合は、追って説明するＳ１１１６の処理を行う。
【００７０】  ＶＰＮサーバ１００のＣＰＵ１０１は、最適候補エントリのＩＰアドレスの範囲が走査対象エントリのＩＰアドレスの範囲よりも狭い範囲となる場合は、走査対象エントリを最適候補エントリに設定する（Ｓ１１１２）。
【００７１】  ＶＰＮサーバ１００のＣＰＵ１０１は、最適候補エントリが存在しなかった場合は、走査対象エントリを最適候補エントリに設定する（Ｓ１１１４）。
【００７２】  Ｓ１１０６において走査対象となるエントリのＩＰアドレスの範囲にパケットのＩＰアドレスが含まれていない場合、Ｓ１１１０において最適候補エントリのＩＰアドレスの範囲が走査対象エントリのＩＰアドレスの範囲よりも狭い範囲ではない場合、Ｓ１１１２において走査対象エントリを最適候補エントリに設定した場合、およびＳ１１１４において走査対象エントリを最適候補エントリに設定した場合は、ＶＰＮサーバ１００のＣＰＵ１０１は、走査対象が、ソースＩＰアドレスルーティングテーブルの表のＩＰアドレス順の末尾に達したか否かを判断する（Ｓ１１１６）。
【００７３】  ＶＰＮサーバ１００のＣＰＵ１０１は、走査対象が、ソースＩＰアドレスルーティングテーブルの表のＩＰアドレス順の末尾に達した場合は探索ループ処理を終了する（Ｓ１１１８）。
【００７４】  ＶＰＮサーバ１００のＣＰＵ１０１は、走査対象が、ソースＩＰアドレスルーティングテーブルの表のＩＰアドレス順の末尾に達していない場合は、次のエントリを走査対象とした後に（Ｓ１１２９）、Ｓ１１０６の判断を再度行う。
【００７５】  図１７は、エントリ走査回数を示す説明図である。具体的には、図１０のリンク構造を持つソースＩＰアドレスルーティングテーブルに対して、それぞれのエントリが選択されるまでに必要なエントリの走査回数、及びいずれのエントリも選択されないことが決まるまでに必要なエントリの走査回数を、本願方式によって処理する場合と、図１０のリンク構造を持たない単純なルーティングテーブルによって処理する場合とで計算結果を比較した図である。
【００７６】  図１８は、ＶＰＮサーバ１００とＶＰＮクライアントＡ乃至Ｃとの間でやりとりされるパケット構造を示すための説明図である。
【００７７】  本願では、図２に示した一般的なＥｔｈｅｒｎｅｔフレームのパケットを用いてＶＰＮの通信を行うことが可能である。しかし、より好適には、ＶＰＮクライアントがＶＰＮサーバに対してＶＰＮセッションを張る際に、一般的なＥｔｈｅｒｎｅｔフレームから図１８に示した構造からなるパケットを作成してＶＰＮの通信を行う。
【００７８】  ＩＰヘッダ７０１とＴＣＰヘッダ７０２は、ＶＰＮサーバとＶＰＮクライアントの間でＶＰＮの通信を行うために必要なＩＰアドレス等のデータを含むものである。
【００７９】  データ断片７０３は、ＶＰＮサーバとＶＰＮクライアントの間で運ばれるデータである。例えば、図２に示したＥａｔｈｅｒｎｅｔフレームがデータ断片となる場合もある。この場合は、ＩＰヘッダ７０１とＴＣＰヘッダ７０２のいずれか又は双方が、Ｅａｔｈｅｒｎｅｔフレーム内のＩＰヘッダ、ＴＣＰヘッダをそのまま用いていてもよい。
【００８０】  また、データ断片７０３は、Ｅａｔｈｅｒｎｅｔを用いた通信のデータであれば、ＩＰＸ、ＳＮＡ、ＦＮＡのいずれのデータでもよい。更に、宛先不定のブロードキャストデータであってもよい。
【００８１】  図９〜図１８の処理によれば、ＶＰＮサーバ１０１内のルーティングテーブルの効率的な構築が可能になるため、ルーティングテーブル走査の高速処理が可能となる。
また、ルーティングテーブルが小規模となるため、管理・運用のコストを安価とすることができる。
【００８２】  ［ＬＡＮ側インターフェースの実施例］
図２０は、ＬＡＮ側のインターフェースの実施例の形態に係るネットワークの構成を説明するための説明図である。
【００８３】  図２０において、ＶＰＮサーバ１２０のＷＡＮ側インターフェースは、図示しないルータ、インターネット、ＶＰＮクライアント５００Ａ乃至５００Ｃを介して、端末６００Ａ乃至６００Ｃと接続されている。各機器間は、例えばイーサネットケーブルによって接続されている。
【００８４】  また、ＶＰＮサーバ１２０のＬＡＮ側インターフェースは、ＶＬＡＮ対応スイッチ１４０を介して、ＶＬＡＮ１乃至３の端末１３０Ａ乃至Ｃと接続されている。
【００８５】  ここで、ＶＰＮサーバ１２０を介して接続されている機器は、本実施例では、ＶＰＮクライアントＡとＶＬＡＮ１の構成端末（端末１３０Ａ）がグループを構成し、ＶＰＮクライアントＢとＶＬＡＮ２の構成端末（端末１３０Ｂ）が別のグループを構成し、ＶＰＮクライアントＣとＶＬＡＮ３の構成端末（端末１３０Ｃ）が更なる別のグループを構成している。
【００８６】  ここで「グループ」とは、同一グループと識別される親機−子機または子機同士間のコネクションの間でのみデータを転送することである。グループとして識別する方法として、例えば８０２．１ｑに規定されるＶＬＡＮ対応スイッチを用いることができる。
【００８７】  次に、ＶＰＮサーバ１２０の概略構成について説明する。なお、図面番号が同一の機器の構成は前述の通りであるため、説明を省略する。
また、ＶＬＡＮ対応スイッチ１４０は、ＬＡＮ側インターフェース１２２とＶＬＡＮ１乃至３とを単に結線したものであるため、構成の詳細な説明は省略する。
【００８８】  図２１は、ＬＡＮ側のインターフェースの実施例の形態に係るＶＰＮサーバ１２０の概略構成を示すブロック図である。
ＶＰＮサーバ１２０は、図２１に示す通り、ＣＰＵ１０１、記憶部１０８、ＷＡＮ側インターフェース１２１、ＬＡＮ側インターフェース１２２、グループテーブル１２３、転送先テーブル１２４からなる。なお、図面番号が同一のブロックの機能は前述の通りであるため、説明を省略する。
【００８９】  ＷＡＮ側インターフェース１２１は、図示しないルータを介してインターネットと接続されている。
【００８２】  ＬＡＮ側インターフェース１２２は、ＶＬＡＮ対応スイッチ１４０を介してＶＬＡＮ１乃至３と接続されている。また、ＬＡＮ側インターフェース１２２とＶＬＡＮ対応スイッチ１４０との間にやりとりされるパケットには、タグが付加されている。
【００９０】  タグは、例えばＩＥＥＥ８０２．ｑに規定されるＶＬＡＮタグをいう。具体的には、複数のネットワークを論理的に多重化し、物理的に１つのネットワークにおいて、論理的に異なる複数のネットワーク（グループ）内の端末間の通信のみを可能とするために用いるタグである。
【００９１】  図２２は、グループテーブル１２３と転送先テーブル１２４のデータ構造例を示すデータ構造図である。
【００９２】  グループテーブル１２３は、ＶＰＮクライアントとＶＬＡＮタグ（またはタグなし）との一組を、一のグループとして記録する。例えばＶＰＮサーバ１２０が受信したパケット中に、ＶＰＮクライアントＡ５００ＡのアドレスまたはＶＬＡＮ１のタグが含まれている場合は、ＶＰＮサーバ１２０は、グループテーブル１２３を参照して、本パケットはＧｒｏｕｐ１に属するものであると判断することができる。
【００９３】  転送先テーブル１２４は、グループ毎に、グループに属する転送先となる端末と、宛先ＭＡＣアドレスとを関連つけて記録する。例えばＶＰＮサーバ１２０が受信したパケット中に、ＶＰＮクライアントＡのアドレスが含まれている場合は、グループテーブル１２３を参照して、Ｇｒｏｕｐ１に属するものであると判断する。その後、ＶＰＮサーバ１２０は、転送先テーブルを参照して、ＶＬＡＮ１のネットワークに属する端末であるＢ：Ｂ：Ｂ：Ｂ：Ｂ：Ｂ及びＣ：Ｃ：Ｃ：Ｃ：Ｃ：ＣのＭＡＣアドレスを転送先として、受信したパケットを転送する。
【００９４】  転送先テーブル１２４は、グループにＶＬＡＮタグが付いていない場合は転送先を特定できないため、不定とした宛先と、ＬＡＮ側インターフェースのアドレスを宛先ＭＡＣアドレスとして関連付けて記録する
【００９５】  図２３は、ＬＡＮ側のインターフェースからパケットを受信した場合の転送前の事前処理を示すフロー図である。
【００９６】  ＶＰＮサーバ１２０のＣＰＵ１０１は、ＬＡＮ側インターフェース１２２からパケットを受信する（Ｓ１２０２）。
【００９７】  ＶＰＮサーバ１２０のＣＰＵ１０１は、受信したパケットはＶＰＮクライアントから送信されたものか否かを判断する（Ｓ１２０４）。具体的には、例えば、パケットをＷＡＮ側インターフェース１２１で受信した場合は、ＶＰＮクライアントから送信されたものと判断する。
【００９８】  ＶＰＮサーバ１２０のＣＰＵ１０１は、受信したパケットがＶＰＮクライアントから送信されたものでない場合は、受信したパケットにＶＬＡＮタグが付いているか否かを判断する（Ｓ１２０６）。
【００９９】  ＶＰＮサーバ１２０のＣＰＵ１０１は、受信したパケットがＶＰＮクライアントから送信されたものである場合は、入力インターフェースをＶＰＮクライアント名と設定する（Ｓ１２０８）。
【０１００】  ＶＰＮサーバ１２０のＣＰＵ１０１は、受信したパケットにＶＬＡＮタグが付いている場合は、入力インターフェースを「ＶＬＡＮｘ」と設定する（Ｓ１２１０）。ここでｘは例えばタグの値に設定する。
【０１０１】  ＶＰＮサーバ１２０のＣＰＵ１０１は、受信したパケットにＶＬＡＮタグが付いていない場合は、入力インターフェースを「タグなし」と設定する（Ｓ１２１２）。
【０１０２】  ＶＰＮサーバ１２０のＣＰＵ１０１は、グループテーブル１２３を参照し、設定した入力インターフェースの値がグループテーブル１２３に存在するか否かを確認する（Ｓ１２１４）。
【０１０３】  入力インターフェースがグループテーブル１２３に存在する場合は、ＶＰＮサーバ１２０のＣＰＵ１０１は、転送先テーブル１２４を参照し、特定されたグループに関連付けられた転送先テーブルのデータを取得する（Ｓ１２１６）。
【０１０４】  一方、入力インターフェースがグループテーブル１２３に存在しない場合は、ＶＰＮサーバ１２０のＣＰＵ１０１は、受信したパケット破棄して処理を終了する（Ｓ１２１８）。
【０１０５】  ＶＰＮサーバ１２０のＣＰＵ１０１は、特定されたグループに関連付けられた転送先テーブル１２４のデータを取得した後、宛先ＭＡＣアドレスが転送先テーブルに存在するか否かを判断する（Ｓ１２２０）。
【０１０６】  宛先ＭＡＣアドレスが転送先テーブルに存在する場合は、転送処理へ進む（Ｓ１２２２）。
【０１０７】  宛先ＭＡＣアドレスが転送先テーブルに存在しない場合は、ＶＰＮサーバ１２０のＣＰＵ１０１は、宛先ＭＡＣアドレスを転送先テーブル１２４に登録し、転送先は当該パケットの入力インターフェースと設定する（Ｓ１２２４）。
【０１０８】  図２４は、ＬＡＮ側のインターフェースからパケットを受信した場合の転送処理を示すフロー図である。
【０１０９】  転送前の事前処理を行った後に、ＶＰＮサーバ１２０のＣＰＵ１０１は転送処理を開始する（Ｓ１３０２）。
【０１１０】  ＶＰＮサーバ１２０のＣＰＵ１０１は、宛先ＭＡＣアドレスが転送先テーブルに存在するか否かを判断する（Ｓ１３０４）。
【０１１１】  宛先ＭＡＣアドレスが転送先テーブルに存在する場合は、ＶＰＮサーバ１２０のＣＰＵ１０１は、転送先がＶＰＮクライアントか否かを判断する（Ｓ１３０６）。
【０１１２】  宛先ＭＡＣアドレスが転送先テーブルに存在しない場合は、ＶＰＮサーバ１２０のＣＰＵ１０１は、グループテーブル１２３における同一グループに属する、入力インターフェースを除くすべての宛先ＭＡＣアドレスにパケットを送信する（Ｓ１３０８）。
【０１１３】  転送先がＶＰＮクライアントでない場合は、ＶＰＮサーバ１２０のＣＰＵ１０１は、転送先が「ＶＬＡＮｘ」か否かを判断する（１３１０）。
【０１１４】  転送先がＶＰＮクライアントである場合は、ＶＰＮサーバ１２０のＣＰＵ１０１は、当該ＶＰＮクライアントへパケットを転送する（Ｓ１３１２）。
【０１１５】  転送先が「ＶＬＡＮｘ」でない場合は、ＶＰＮサーバ１２０のＣＰＵ１０１は、ＬＡＮ側インターフェースへパケットを出力する（Ｓ１３１４）。
【０１１６】  転送先が「ＶＬＡＮｘ」である場合は、ＶＰＮサーバ１２０のＣＰＵ１０１は、パケットにＶＬＡＮタグを新たに付与する（Ｓ１３１６）。タグを用いて新たなグループの通信を管理するためである。
【０１１７】  図２０〜図２４の処理によれば、ＶＰＮサーバ１２０がグループテーブル１２３と転送先テーブル１２４とタグを用いることで、一のＬＡＮ側インターフェースを用いて、複数のＶＬＡＮを多重化させることができる。
また、この結果、物理的にインターフェースを増設する必要がないため、管理・運用のコストを安価とすることができる。
【０１１８】  また、本発明の目的は、前述した各実施の形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。
【０１１９】  この場合、記憶媒体から読み出されたプログラムコード自体が前述した各実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１２０】  また、プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ等の光ディスク、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。または、ネットワークを介してプログラムコードをダウンロードしてもよい。
【０１２１】  また、コンピュータが読み出したプログラムコードを実行することにより、前述した各実施の形態の機能が実現されるだけではなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した各実施の形態の機能が実現される場合も含まれる。
【０１２２】  さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その拡張機能を拡張ボードや拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した各実施の形態の機能が実現される場合も含まれる。
【０１２３】  以上、添付図面を参照しながら本発明の好適な実施の形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと解される。
【符号の説明】
【０１２４】１００    ＶＰＮサーバ
１０１    ＣＰＵ
１０２    ＶＰＮセッションテーブル
１０３    ソースＩＰアドレスルーティングテーブル
１０４    宛先アドレスを使用したルーティングテーブル
１０５    インターフェースＡ
１０６    インターフェースＢ
１０７    インターフェースＣ
１０８    記憶部
１１０    ＶＰＮサーバ
１１１    ＷＡＮ側インターフェース
１１２    ＬＡＮ側インターフェース
１１２Ａ  ＬＡＮ側インターフェースＡ
１１２Ｂ  ＬＡＮ側インターフェースＢ
１１２Ｃ  ＬＡＮ側インターフェースＣ
１２０    ＶＰＮサーバ
１２１    ＷＡＮ側インターフェース
１２２    ＬＡＮ側インターフェース
１２３    グループテーブル
１２４    転送先テーブル
１３０    端末
１３０Ａ  端末Ａ
１３０Ｂ  端末Ｂ
１３０Ｃ  端末Ｃ
１４０    ＶＬＡＮ対応スイッチ
２００    ルータ
２００Ａ  ルータＡ
２００Ｂ  ルータＢ
２００Ｃ  ルータＣ
２０１    ＣＰＵ
２０２    ルーティングテーブル
２０３    インターフェース
２０４    インターフェース
３００    ＩＳＰ
３００Ａ  ＩＳＰＡ
３００Ｂ  ＩＳＰＢ
３００Ｃ  ＩＳＰＣ
４００    ルータ
４００Ａ  ルータＤ
４００Ｂ  ルータＥ
４００Ｃ  ルータＦ
５００    ＶＰＮクライアント
５００Ａ  ＶＰＮクライアントＡ
５００Ｂ  ＶＰＮクライアントＢ
５００Ｃ  ＶＰＮクライアントＣ
５０１    ＣＰＵ
５０２    記憶部
５０３    インターフェース
５０４    インターフェース
６００    端末
６００Ａ  端末Ａ
６００Ｂ  端末Ｂ
６００Ｃ  端末Ｃ
７０１    ＩＰヘッダ
７０２    ＴＣＰヘッダ
７０３    データ断片
【図１】
2011217335.tif 000003
【図２】
2011217335.tif 000004
【図３】
2011217335.tif 000005
【図４】
2011217335.tif 000006
【図５】
2011217335.tif 000007
【図６】
2011217335.tif 000008
【図７】
2011217335.tif 000009
【図８】
2011217335.tif 000010
【図９】
2011217335.tif 000011
【図１０】
2011217335.tif 000012
【図１１】
2011217335.tif 000013
【図１２】
2011217335.tif 000014
【図１３】
2011217335.tif 000015
【図１４】
2011217335.tif 000016
【図１５】
2011217335.tif 000017
【図１６】
2011217335.tif 000018
【図１７】
2011217335.tif 000019
【図１８】
2011217335.tif 000020
【図１９】
2011217335.tif 000021
【図２０】
2011217335.tif 000022
【図２１】
2011217335.tif 000023
【図２２】
2011217335.tif 000024
【図２３】
2011217335.tif 000025
【図２４】
2011217335.tif 000026