JP4803116B2 - 仮想ネットワーク接続装置及びプログラム - Google Patents

仮想ネットワーク接続装置及びプログラム Download PDF

Info

Publication number
JP4803116B2
JP4803116B2 JP2007144586A JP2007144586A JP4803116B2 JP 4803116 B2 JP4803116 B2 JP 4803116B2 JP 2007144586 A JP2007144586 A JP 2007144586A JP 2007144586 A JP2007144586 A JP 2007144586A JP 4803116 B2 JP4803116 B2 JP 4803116B2
Authority
JP
Japan
Prior art keywords
virtual network
address
information
network identifier
vpn
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007144586A
Other languages
English (en)
Other versions
JP2008301165A (ja
Inventor
敬生 松岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2007144586A priority Critical patent/JP4803116B2/ja
Priority to DE200760003705 priority patent/DE602007003705D1/de
Priority to EP20070119784 priority patent/EP1998506B1/en
Priority to KR20070110046A priority patent/KR101085077B1/ko
Priority to US11/931,423 priority patent/US20080301303A1/en
Priority to CN2007101887493A priority patent/CN101316219B/zh
Publication of JP2008301165A publication Critical patent/JP2008301165A/ja
Application granted granted Critical
Publication of JP4803116B2 publication Critical patent/JP4803116B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • H04L12/4645Details on frame tagging
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、仮想ネットワーク接続装置及びプログラムに関する。
近年、VPN(Virtual Private Network:仮想私設ネットワーク)サービスが普及している。VPNサービスは、ホスト又は拠点と他のホスト又は拠点とがインターネット等の公衆ネットワークを介して専用線のように排他的に通信できるようにするサービスである。一般的なVPNでは、VPN上のパケットをカプセル化して実際のIPネットワークをトンネルさせる。
特許文献1に示されるシステムは、論理ネットワークを抽象化する仮想ネットワークインターフェースを提供し、物理ネットワークインターフェースと仮想ネットワークインターフェースと論理ネットワークとの対応を決定し、物理ネットワークインターフェースと仮想ネットワークインターフェースとに対応付けられたパケットのみを送受信し、仮想ネットワークインターフェースと物理ネットワークインターフェースとの間でやり取りされるパケットを制御する。
特開2001−313663号公報
ところで、仮想ネットワークとは言っても、カプセル化されたパケットを実ネットワーク経由で送信するので、仮想ネットワークのメンバとなる情報処理装置の実ネットワーク上でのアドレスを仮想ネットワーク接続装置に設定する必要がある。ところが、ある仮想ネットワークを形成するメンバである情報処理装置が移動し、事前に登録されたネットワーク環境と異なるところからこの仮想ネットワークヘ接続する場合や、仮想ネットワークを形成するメンバでなかった情報処理装置がこの仮想ネットワークのメンバとして一時的に参加する場合などのように、メンバのアドレスが事前に分からない場合がある。このような場合、管理者がそのメンバのアドレスを調べて仮想ネットワーク接続装置に設定するのは、不可能ではないにしても、非常に手間がかかる。
本発明は、アドレスが事前に分からない情報処理装置を仮想ネットワークに参加させる場合の管理者の負担を軽減できる仮想ネットワーク接続装置を提供することを目的とする。
請求項1に係る発明は、仮想ネットワークを形成する形成指示を受け付ける形成指示受付手段と、前記形成指示受付手段が受け付けた前記形成指示に応じて一意な仮想ネットワーク識別子を割り当てる識別子割当手段と、前記仮想ネットワークを構成する情報処理装置の指定を受け付ける指定受付手段と、前記指定受付手段に対し指定された情報処理装置に対して接続許可情報を発行し、発行した接続許可情報を、前記識別子割当手段が割り当てた前記仮想ネットワーク識別子に対応づけて第1の記憶手段に登録する第1の登録手段と、情報処理装置から前記接続許可情報を伴う接続要求を受け取った場合に、前記接続許可情報に対応した仮想ネットワーク識別子を前記第1の記憶手段に基づき判定し、判定した仮想ネットワーク識別子に当該情報処理装置のアドレスを対応づけるための処理を行う対応づけ処理手段と、情報処理装置から送信元アドレスと宛先アドレスとを含んだ伝送情報を受け取った場合に、前記送信元アドレスに対応する仮想ネットワーク識別子と前記宛先アドレスに対応する仮想ネットワーク識別子とを判定し、判定した前記送信元アドレスに対応する仮想ネットワーク識別子と前記宛先アドレスに対応する仮想ネットワーク識別子とに基づいて、前記伝送情報を前記宛先アドレスに向けて送信する制御を行う送信制御手段と、を備える仮想ネットワーク接続装置である。
請求項2に係る発明は、前記仮想ネットワーク識別子に対応づけて1以上の承認者アドレスを記憶する第2の記憶手段、を更に備え、前記対応づけ処理手段は、情報処理装置から前記接続許可情報を伴う前記接続要求を受け取った場合に、前記接続許可情報に対応する仮想ネットワーク識別子に対応する承認者アドレスを前記第2の記憶手段に基づき判定し、判定した承認者アドレスに対して当該情報処理装置からの接続を承認するか否かについての問合せを行い、この問合せに対する回答に応じて当該情報処理装置のアドレスを前記仮想ネットワーク識別子に対応づけるか否かを判定する、ことを特徴とする。
請求項3に係る発明は、仮想ネットワーク識別子ごとに、当該仮想ネットワーク識別子と対応づけられた各承認者アドレスからの回答から当該情報処理装置のアドレスを前記仮想ネットワーク識別子に対応づけるか否かを判定するための承認規則を記憶する第3の記憶手段を備え、前記対応づけ処理手段は、前記接続要求に伴った接続許可情報に対応する仮想ネットワーク識別子に対応する各承認者アドレスからの回答と、当該仮想ネットワーク識別子に対応する承認規則とに基づき、前記情報処理装置のアドレスを前記仮想ネットワーク識別子に対応づけるか否かを判定することを特徴とする。
請求項4に係る発明は、前記第1の登録手段が前記情報処理装置に対し発行した接続許可情報に対応づけられた通知情報を前記情報処理装置に対して送信する通知送信手段、を更に備える。
請求項5に係る発明は、コンピュータを、仮想ネットワークを形成する形成指示を受け付ける形成指示受付手段、前記形成指示受付手段が受け付けた前記形成指示に応じて一意な仮想ネットワーク識別子を割り当てる識別子割当手段、前記仮想ネットワークを構成する情報処理装置の指定を受け付ける指定受付手段、前記指定受付手段に対し指定された情報処理装置に対して接続許可情報を発行し、発行した接続許可情報を、前記識別子割当手段が割り当てた前記仮想ネットワーク識別子に対応づけて第1の記憶手段に登録する第1の登録手段、情報処理装置から前記接続許可情報を伴う接続要求を受け取った場合に、前記接続許可情報に対応した仮想ネットワーク識別子を前記第1の記憶手段に基づき判定し、判定した仮想ネットワーク識別子に当該情報処理装置のアドレスを対応づけるための処理を行う対応づけ処理手段、情報処理装置から送信元アドレスと宛先アドレスとを含んだ伝送情報を受け取った場合に、前記送信元アドレスに対応する仮想ネットワーク識別子と前記宛先アドレスに対応する仮想ネットワーク識別子とを判定し、判定した前記送信元アドレスに対応する仮想ネットワーク識別子と前記宛先アドレスに対応する仮想ネットワーク識別子とに基づいて、前記伝送情報を前記宛先アドレスに向けて送信する制御を行う送信制御手段、として機能させるためのプログラムである。
請求項5に係る発明は、仮想ネットワーク接続装置と1以上の情報処理装置とを備え、前記仮想ネットワーク接続装置は、仮想ネットワークを形成する形成指示を受け付ける形成指示受付手段と、前記形成指示受付手段が受け付けた前記形成指示に応じて一意な仮想ネットワーク識別子を割り当てる識別子割当手段と、前記仮想ネットワークを構成する情報処理装置の指定を受け付ける指定受付手段と、前記指定受付手段に対し指定された情報処理装置に対して接続許可情報を発行し、発行した接続許可情報を、前記識別子割当手段が割り当てた前記仮想ネットワーク識別子に対応づけて第1の記憶手段に登録する第1の登録手段と、情報処理装置から前記接続許可情報を伴う接続要求を受け取った場合に、前記接続許可情報に対応した仮想ネットワーク識別子を前記第1の記憶手段に基づき判定し、判定した仮想ネットワーク識別子に当該情報処理装置のアドレスを対応づけるための処理を行う対応づけ処理手段と、情報処理装置から送信元アドレスと宛先アドレスとを含んだ伝送情報を受け取った場合に、前記送信元アドレスに対応する仮想ネットワーク識別子と前記宛先アドレスに対応する仮想ネットワーク識別子とを判定し、判定した前記送信元アドレスに対応する仮想ネットワーク識別子と前記宛先アドレスに対応する仮想ネットワーク識別子とに基づいて、前記伝送情報を前記宛先アドレスに向けて送信する制御を行う送信制御手段と、を備え、前記情報処理装置は、前記接続許可情報を伴う接続要求を前記仮想ネットワーク接続装置に送信する手段と、送信元アドレスと宛先アドレスとを含んだ伝送情報を送信する手段と、を備える、ことを特徴とする仮想ネットワークシステム、を提供する。
請求項1に係る発明によれば、アドレスが事前に分からない情報処理装置を仮想ネットワークに参加させる場合の管理者の負担を、本構成を有していない場合に比較して軽減できる。
請求項2に係る発明によれば、仮想ネットワークに接続するのに接続許可情報だけでなく承認者からの承認を求めるので、仮想ネットワークの安全性が本構成を有していない場合に比較して向上する。
請求項3に係る発明によれば、情報処理装置を仮想ネットワークに接続するか否かを、仮想ネットワークごとに個別の承認規則に基づき判定することができる。
請求項4に係る発明によれば、仮想ネットワークを構成する情報処理装置として指定された装置が、その接続許可情報を取得できるようにすることができる。
請求項5に係る発明によれば、アドレスが事前に分からない情報処理装置を仮想ネットワークに参加させる場合の管理者の負担を、本構成を有していない場合に比較して軽減できる。
請求項6に係る発明によれば、アドレスが事前に分からない情報処理装置を仮想ネットワークに参加させる場合の管理者の負担を、本構成を有していない場合に比較して軽減できる。
以下では、図1に例示するネットワーク構成を例にとって説明する。図1に例示するネットワーク構成では、LAN(Local Area Network)200と、リモートホストR1及びR2が、インターネット300に接続されている。リモートホストR1及びR2は、それぞれ、パーソナルコンピュータ等のコンピュータ(情報処理装置)であり、ISP(Internet Service Provider)を介してインターネット300に接続されている。また、LAN200とインターネット300との境界にはVPN(Virtual Private Network)サーバ100が設置されている。VPNサーバ100は、IP(Internet Protocol)ルーティングのためのルータ機能とVPN接続制御機能とを備える。図示例のLAN200には、ネットワークアドレス10.0.1.0/24のネットワークと、ネットワークアドレス10.0.2.0/24のネットワークとが含まれる。前者にはパーソナルコンピュータL1とサーバL2とが接続され、後者にはパーソナルコンピュータL3〜L4とサーバL6とが接続されている。
次に、図2を参照して、VPNサーバ100の内部構成の一例を説明する。VPNサーバ100は、VPN形成指示受付部102、メンバ登録指示受付部104、VPN設定部106、メンバ登録通知部108、接続キー発行部110、VPN接続制御部112、経路制御部114を備える。これら各機能モジュールは、VPNルーティング規則116、認証情報DB(データベース)118及びVPN・グループID対応情報DB120という情報を用いて各種の処理を実行する。
VPN形成指示受付部102は、ユーザが操作するコンピュータから、VPN形成指示を受け付ける。ここで、VPN形成指示部102は、VPN形成指示を受け付けるためのユーザインタフェース画面情報を提供してもよい。このユーザインタフェース画面情報は、例えばWebページである。すなわち、この例では、ユーザはコンピュータ(Webブラウザ)を操作して、VPN形成指示用のWebページのURL(Uniform Resource Locator)にアクセスし、VPNサーバ100からそのWebページを取得する。そのWebページには、例えばVPN形成を指示するためのボタンが設けられており、そのボタンをマウスのクリック操作等により押下すると、そのコンピュータはVPN形成指示をVPNサーバ100へ送信する。
なお、VPN形成指示用のWebページをVPNサーバ100からユーザのコンピュータに提供するのは、あくまで一例に過ぎない。この代わりに、例えばユーザのコンピュータに、VPN形成指示などといった各種の操作のためのユーザインタフェースを有するVPNクライアントアプリケーションをインストールしてもよい。
VPN形成指示受付部102が、VPNサーバ100が属するLAN200の外部からのVPN形成指示は受け付けないようにしてもよい。これには、例えば、LAN200内のIPアドレスからのVPN形成指示しか受け付けないようにVPNサーバ100を設定しておけばよい。また、VPN形成指示用のWebページへのアクセスを、LAN200外のアドレスからは許可しないように設定してもよい。
メンバ登録指示受付部104は、VPN形成指示受付部102が受け付けた指示に応じて形成したVPNに対し、そのVPNを構成するメンバとなるコンピュータを登録するための指示を受け付ける。この場合、メンバ登録指示受付部104は、例えば、メンバの候補であるコンピュータのリストをユーザのコンピュータに提供し、ユーザはそのリストの中からメンバを選択する。このリストには、候補のコンピュータごとに、例えば、そのコンピュータを識別するための識別情報(ノードIDと呼ぶ)と、そのコンピュータに対して通知を送るために用いる通知先アドレス(例えば電子メールアドレス又はIPアドレス)が含まれる。ノードIDは、コンピュータを識別できるものであればどのようなものを用いてもよい。例えば、当該コンピュータが備えるNIC(ネットワークインタフェースカード)のMAC(Media Access Control)アドレスをノードIDとして用いてもよい。また、当該コンピュータを制御するオペレーティングシステムの製品識別番号をノードIDとして用いてもよい。また、当該コンピュータが持つCPU、ハードディスク等のハードウエア要素の製品識別番号、NICのMACアドレス、及びオペレーティングシステムの製品識別番号からなる1群の識別番号群のうち、所定の1以上の識別番号の組合せから所定データ長の値(例えばそれら識別番号を並べたデータ列のハッシュ値など)を求め、その値をノードIDとしてもよい。
また、別の例では、候補のリストとして、ユーザの電子メールアドレスのリストを用いてもよい。この場合、候補となるコンピュータを、ユーザの電子メールアドレスで指定することとなる。
このようなメンバの候補のリストは、例えば、システム管理者があらかじめVPNサーバ100に登録しておけばよい。また、別の例として、コンピュータ上でVPNクライアントアプリケーションを起動した場合に、そのアプリケーションが当該コンピュータのノードIDとアドレス(例えばメールアドレス又はIPアドレス)をVPNサーバ100に通知し、VPNサーバ100がそれをリストに登録してもよい。この場合、メールアドレスはあらかじめユーザ等がそのアプリケーションに設定しておけばよく、IPアドレスはオペレーティングシステムから取得すればよい。
候補のリストからメンバを選択するためのユーザインタフェース画面は、例えばWebページとしてVPNサーバ100からユーザのコンピュータに提供すればよい。また、別の例として、メンバ選択のためのユーザインタフェース画面を提供するVPNクライアントアプリケーションをコンピュータにインストールしてもよい。
なお、メンバを電子メールアドレスで指定する方式を用いる場合は、メンバの電子メールアドレスを文字列として入力するユーザインタフェース画面を用いればよい。
VPN設定部106は、VPN形成指示受付部102が受け付けた形成指示に応じて、1つのVPN(仮想ネットワーク)を形成するための設定を行う。この設定処理では、例えば、形成指示に応じて形成するVPNを一意に識別するための識別子(グループIDと呼ぶ)と、そのVPNを表す仮想ネットワークアドレスとを割り当て、これらの情報をVPNサーバ100内に設定情報として登録する。一例では、割り当てたグループIDと仮想ネットワークアドレスのペアを、VPN・グループID対応情報DB120に登録する。
図3にVPN・グループID対応情報DB120が持つデータ内容の一例を示す。この例は、図1に例示した2つの仮想ネットワークN1及びN2に対応するものである。仮想ネットワークN1に割り当てられたグループIDが「1」であり、仮想ネットワークN2に割り当てられたグループIDが「2」である。この例では、仮想ネットワークアドレスは、ネットワークアドレスとネットマスクの組で表されている。
メンバ登録通知部108は、メンバ登録指示受付部104が受け付けた指示により選択されたメンバの通知先アドレスに対し、登録通知情報を送信する。登録通知情報には、例えば、VPN接続キーを取得するためのWebページのURLが含まれる。
ここで、VPN接続キーは、VPNのメンバであることをVPNサーバ100に対して証明する一種の認証情報である。VPN接続キーは、VPNのすべてのメンバで共通の値でもよいが、メンバごとに異なる値としてもよい。例えば、グループIDとノードIDとの組合せを所定の関数(例えばハッシュ関数)に入力して得られる値をVPN接続キーとすれば、VPN接続キーはメンバごとに異なる値となる。
登録通知情報には、この他に、VPNに招待されたことを知らせる文章が含まれていてもよい。また、登録通知情報を受け取ったユーザがどのようなVPNに招待されたのかを理解するために、登録通知情報にはそのVPNの形成指示を行ったユーザの名前が含まれていてもよい。また、登録通知情報には、VPNを構成する他のメンバの名前(ユーザ名又はホスト名)が含まれていてもよい。
接続キー発行部110は、メンバ登録指示受付部104に対して指定されたメンバに対してVPN接続キーを発行する。接続キー発行部110は、例えば、登録通知情報を受け取ったユーザのコンピュータから接続キー取得要求を受け取ると、その要求に対応したVPN接続キーを返す。接続キー発行部110は、メンバに対してVPN接続キーを発行した場合、そのVPN接続キーを、仮想ネットワークのグループIDと対応づけて認証情報DB118に登録する。メンバごとに異なるVPN接続キーを発行する場合には、そのVPN接続キーに対応づけて、そのメンバの識別情報であるノードIDも更に認識情報DB118に登録する。
図4に、認証情報DB118のデータ内容の一例を示す。この例は、図1に例示した仮想ネットワークN1及びN2に対応するものである。すなわち、図1の例では、仮想ネットワークN1(グループID=1)にはLAN200内のコンピュータL1、サーバL2、及びコンピュータL3と、LAN200外のリモートホストR1とが参加しており、仮想ネットワークN2(グループID=2)にはLAN200内のコンピュータL3及びL4とLAN200外のリモートホストR2とが参加している。この例では、ノードIDとグループIDとの組合せごとに、それぞれ異なるVPN接続キーが割り当てられている。
ここで、仮想ネットワークへの参加の認証のために、VPN接続キーの他に、パスワード等の認証情報を設定できるようにしてもよい。認証情報は、仮想ネットワークごとに定めてもよいし、同じ仮想ネットワークにおいてもメンバごとに異なる値としてもよい。後者の場合、設定された認証情報は、ノードIDとグループIDとの組合せに対応づけて例えば認証情報DB118に登録される。例えばメンバがVPN接続キーを用いて仮想ネットワークへの接続要求を発した場合に、VPNサーバ100がその認証情報の入力画面を提供すればよい。そして、メンバ画素の入力画面に正しい認証情報を入力しないと、仮想ネットワークへの参加を認めないようにすればよい。
なお、図3及び図4に例示したVPN・グループID対応情報DB120と認証情報DB118のデータ構造はあくまで一例に過ぎない。これら各DBの情報は様々な表現形式で表現可能であり、同様の内容を表現可能であればどのような表現形式を用いてもよい。また、DB118とDB120という2つのDBからなる構成も、説明の便宜のためのものにすぎない。
VPN接続制御部112は、ユーザのコンピュータからVPN接続キーを伴う接続要求を受け取った場合に、そのVPN接続キーに対応づけて認証情報DB118に登録されているグループIDが示すVPNに対し、そのコンピュータを参加させる。この例では、そのコンピュータに対して、当該VPNの仮想ネットワークアドレスに属するホストアドレス(仮想IPアドレス)を割り当てることで、そのコンピュータをそのVPNに参加させる。また、VPN接続制御部112は、接続要求を受け取った際にコンピュータの実IPアドレスを取得しておき、これと割り当てた仮想IPアドレスにより、同じVPNに参加しているコンピュータ同士の間でのルーティング(経路制御)のための規則を、VPNルーティング規則116として生成し、VPNサーバ100内の記憶装置に記憶させる。図1に示した仮想ネットワークN1及びN2が存在する場合を例に取れば、VPNルーティング規則116には、例えば以下のような規則が含まれる。規則(1)〜(4)は仮想ネットワークN1内でのパケット転送に関し、規則(5)〜(7)は仮想ネットワークN2内でのパケット転送に関し、規則(8)は仮想IPアドレスでのルーティング全体に関する。また、規則(9)〜(12)は実IPアドレスでのルーティングに関する規則である。この例は、VPNサーバ100が管理する仮想ネットワークがN1及びN2のみである場合のものである。
(1)パケットの送信元アドレスが172.16.1.2〜172.16.1.4(LAN内の仮想IPアドレス)で、且つ宛先アドレスが172.16.1.5(LAN外のリモートホストR1の仮想IPアドレス)ならば、そのパケットをカプセル化し、その結果得られるカプセルに対して送信元アドレスが11.11.11.11で宛先アドレスが22.22.22.22であるIPヘッダを付加してインターネット300側のルータ(図示省略)へと送信する。ここで、11.11.11.11は、VPNサーバ100のインターネット側のNICのグローバルIPアドレスであり、22.22.22.22は、リモートホストR1のNICのグローバルIPアドレスである。なお、カプセル化には、例えば、IPsecプロトコルを用いればよい。
(2)パケットの送信元アドレスが172.16.1.3〜172.16.1.4又は172.16.1.5で、且つ宛先アドレスが172.16.1.2ならば、そのパケットをカプセル化し、その結果得られるカプセルに対して送信元アドレスが10.0.1.1で宛先アドレスが10.0.1.2であるIPヘッダを付加し、ネットワーク10.0.1.0/24に転送する。ここで、10.0.1.1はVPNサーバ100の備えるNICのうち、ネットワーク10.0.1.0/24に接続されたNICの実IPアドレスである。また、10.0.1.2はLAN200内のコンピュータL1のNICの実IPアドレスである。
(3)パケットの送信元アドレスが172.16.1.2又は172.16.1.4又は172.16.1.5で、且つ宛先アドレスが172.16.1.3ならば、そのパケットをカプセル化し、その結果得られるカプセルに対して送信元アドレスが10.0.1.1で宛先アドレスが10.0.1.3(サーバL2の実IPアドレス)であるIPヘッダを付加し、ネットワーク10.0.1.0/24に転送する。
(4)パケットの送信元アドレスが172.16.1.2〜172.16.1.3又は172.16.1.5で、且つ宛先アドレスが172.16.1.4ならば、そのパケットをカプセル化し、その結果得られるカプセルに対して送信元アドレスが10.0.2.1で宛先アドレスが10.0.2.2であるIPヘッダを付加し、ネットワーク10.0.2.0/24に転送する。ここで、10.0.2.1はVPNサーバ100の備えるNICのうち、ネットワーク10.0.2.0/24に接続されたNICの実IPアドレスである。また、10.0.2.2はLAN200内のコンピュータL3のNICの実IPアドレスである。
(5)パケットの送信元アドレスが172.16.2.2〜172.16.2.3(LAN内のホストの仮想IPアドレス)で、且つ宛先アドレスが172.16.2.4(LAN外のリモートホストR2の仮想IPアドレス)ならば、そのパケットをカプセル化し、その結果得られるカプセルに対して送信元アドレスが11.11.11.11で宛先アドレスが33.33.33.33であるIPヘッダを付加してインターネット300側のルータ(図示省略)へと送信する。ここで、33.33.33.33は、リモートホストR2のNICのグローバルIPアドレスである。
(6)パケットの送信元アドレスが172.16.2.3又は172.16.2.4で、且つ宛先アドレスが172.16.2.2ならば、そのパケットをカプセル化し、その結果得られるカプセルに対して送信元アドレスが10.0.2.1で宛先アドレスが10.0.2.2であるIPヘッダを付加し、ネットワーク10.0.2.0/24に転送する。
(7)パケットの送信元アドレスが172.16.2.2又は172.16.2.4で、且つ宛先アドレスが172.16.2.3ならば、そのパケットをカプセル化し、その結果得られるカプセルに対して送信元アドレスが10.0.2.1で宛先アドレスが10.0.2.2であるIPヘッダを付加し、ネットワーク10.0.2.0/24に転送する。
(8)パケットの送信元又は宛先のいずれか一方が仮想IPアドレスであり、且つそれら送信元と宛先のペアが規則(1)〜(7)のいずれにも合致しない場合、そのパケットは廃棄(ドロップ)する。なお、VPNサーバ100は、自分が割り当てた仮想IPアドレスの情報を持っているので、送信元又は宛先のIPアドレスが仮想IPアドレスであるか否かをその情報に基づき判定すればよい。
(9)パケットの送信元アドレスが22.22.22.22で宛先アドレスが11.11.11.11ならば、そのパケットのカプセル化を解除し、その結果得られる元のパケット(VPNパケット)のIPヘッダの送信元及び宛先アドレスに対して規則(1)〜(8)を適用する。
(10)パケットの送信元アドレスが10.0.1.2又は10.0.1.3で宛先アドレスが10.0.1.1ならば、そのパケットのカプセル化を解除し、その結果得られる元のパケットのIPヘッダの送信元及び宛先アドレスに対して規則(1)〜(8)を適用する。
(11)パケットの送信元アドレスが10.0.2.2又は10.0.2.3で宛先アドレスが10.0.2.1ならば、そのパケットのカプセル化を解除し、その結果得られる元のパケットのIPヘッダの送信元及び宛先アドレスに対して規則(1)〜(8)を適用する。
(12)パケットの送信元及び宛先が共に実IPアドレスであり、且つそれら送信元と宛先のペアが規則()〜(11)のいずれにも合致しない場合、そのパケットをその送信先へとルーティングする。
経路制御部114は、このようなVPNルーティング規則116を参照して、仮想ネットワーク上のパケットルーティングを行う。
以上に例示した規則(1)〜(12)は、各ホストL1〜L6、R1又はR2が備えるVPNクライアントアプリケーションが、当該ホスト内で生成されたVPNパケット(この例では、仮想IPアドレス宛のパケット)をカプセル化してインターネット300又はLAN200を通過させ、VPNサーバ100へと送信する(即ちVPNトンネリング)場合の例である。
以上に例示した規則(1)〜(8)は、VPNパケットについてのものであり、当該VPNパケットの送信元及び宛先が同一の仮想ネットワークに属する場合にはそのパケットを転送(フォワード)し、そうでない場合はそのパケットを廃棄するという考え方に基づく。すなわち、それら規則は、この考え方を、各ホストに割り当てた仮想IPアドレスを用いて個別的、具体的な規則として表現したものである。これらの規則では、パケットの送信元と宛先の仮想IPアドレスのネットワークアドレス部分が同じであればそのパケットを転送する。しかし、当業者なら理解できるように、規則(1)〜(8)のように具体的に送信元及び宛先の仮想IPアドレスを明示した規則でなくても、「パケットの送信元及び宛先の仮想IPアドレスのネットワークアドレス部分が同じであればそのパケットを転送し、そうでなければそのパケットを廃棄する」という包括的な規則を用いてももちろんよい。なお、この包括的な規則も、同一の仮想ネットワークに属するホストには、その仮想ネットワークに割り当てた仮想ネットワークアドレスに属する仮想IPアドレスを付与するという枠組みの下での例に過ぎない。原理的には、送信元と宛先とが同一の仮想ネットワークに属するか否かが判定できれば、どのような規則又は方式を用いてもよい。例えば、仮想ネットワークのグループIDに対してその仮想ネットワークに属する各ホストの仮想IPアドレスを対応づけてVPNサーバ100に記憶しておいてもよい。この場合、VPNパケットの送信元及び宛先の仮想IPアドレスが同じグループIDに対応するか否かをその記憶情報に基づき判定することで、送信元と宛先とが同一仮想ネットワークに属するかが判定される。また、仮想ネットワークに対して割り当てた仮想ネットワークアドレスを、当該仮想ネットワークを識別するグループIDとして用いてもよい。
また、以上ではLAN200内のホストL1〜L6がVPNトンネリング機能を備えている例を説明したが。これは必須のことではない。LAN200内のホストL1〜L6がVPNトンネリングの機能を持っていなくても、例えばIPエイリアスなどの手法を用いてそれら各ホストL1〜L6のNICに仮想IPアドレスを追加すれば、LAN200内ではVPNパケットがカプセル化されずにそのままルーティングされる。
なお、以上に例示したVPNルーティング規則及びルーティング処理はあくまで一例に過ぎない。仮想ネットワークに参加する各ホストに対して仮想IPアドレスを割り当て、仮想IPアドレスを用いてルーティングを行う方式には従来この他にも存在している。そのような他の方式を利用してももちろんよい。
次に、図5を参照して、仮想ネットワーク(VPN)が形成されるまでの処理手順の具体例を説明する。この例では、図1に示すネットワーク構成例において仮想ネットワークN1が存在しない状態で、LAN200内のホストL1のVPNクライアントアプリケーション(以下、説明の簡略化のため、紛れのない場合には単にホストL1と呼ぶ)からの指示により仮想ネットワークN1が形成されるまでの流れを概略的に示す。
まず、ホストL1が、ユーザの指示に応じてVPN形成指示を生成し、VPNサーバ100に送る(S1)。このVPN形成指示には、ホストL1のノードIDが含まれる。ここで、ホストL1のノードIDは、ホストL1のVPNクライアントアプリケーションが、例えばホストL1のハードウエア要素の情報に基づき生成し、設定情報として記憶していればよい。ノードIDとしてユーザの電子メールアドレスを用いる場合は、VPNクライアントアプリケーションは、ユーザにノードIDとする電子メールアドレスを設定させ、その値を設定情報として記憶していればよい。
このVPN形成指示を受け取ったVPNサーバ100は、VPN設定部106により、その指示に応じた仮想ネットワーク(VPN)N1の設定を行う(S2)。すなわち、その仮想ネットワークに対してグループID(図1及び図4の例では「1」)及び仮想ネットワークアドレス(図1の例では172.16.1.0/24)を割り当て、それらグループID及び仮想ネットワークアドレスのペアをVPN・グループID対応情報DB120に登録する。また、VPNサーバ100は、ホストL1に対し、当該仮想ネットワークにおける仮想IPアドレス(図1の例では172.16.1.2)を割り当て、VPN接続キーを生成する。そして、それら仮想IPアドレス及びVPN接続キーを、当該仮想ネットワークのグループIDと共にホストL1に送信する(S3)。ホストL1は、受け取った仮想IPアドレス、VPN接続キー及びグループIDを記憶し、以降の処理に用いる。なお、VPNサーバ100は、このVPN接続キーを、ホストL1のノードIDと、その仮想ネットワークN1に対して割り当てたグループIDとの組に対応づけて、認証情報DB118に登録する。
また、VPN形成指示を行ったユーザは、ホストL1を操作して、その仮想ネットワークN1に対するメンバの登録要求を行う(S4)。メンバの指定は、前述のように、例えばリストからの選択で行えばよい。このときホストL1からVPNサーバ100に送られる登録要求には、例えば、ホストL1を表すノードIDと、仮想ネットワークN1を表すグループIDと、選択されたメンバを特定する情報(即ちそのメンバのノードID、又はそのノードIDに対応づけられた情報)とが含まれる。図示例は、リモートホストR1がメンバとして選択された場合の例である。この登録要求には、ノードIDとグループIDのペアの代わりに、ステップS3で受け取ったVPN接続キーを組み込んでもよい。また、ノードID及びグループIDに加えてVPN接続キーを登録要求に組み込んでおき、それらノードID、グループID及びVPN接続キーの組が認証情報DB118に登録された正しい組合せであるかをVPNサーバ100が確認し、正しい組合せであると確認された場合にVPNサーバ100がその登録要求を受け付けるようにしてもよい。
メンバ登録要求を受け取ったVPNサーバ100は、その要求にて指定されたメンバに対して仮想ネットワークN1内の仮想IPアドレスを割り当て、そのメンバに対応するVPN接続キーを生成する。これら仮想IPアドレス及びVPN接続キーは、そのメンバのノードIDと仮想ネットワークN1のグループIDとの組に対応づけて、認証情報DB118に記憶される。そして、VPNサーバ100は、そのノードIDとグループIDとの組に対応づけられた登録通知情報を生成してそのメンバ(この例ではリモートホストR1)に送信する(S5)。この登録通知情報には、例えば、そのVPN接続キーを取得するためのWebページ(このページはVPNサーバ100が生成する)のURLが含まれる。登録通知情報は、例えば、電子メールとして、ホストR1を有するユーザに送信される。また、ホストR1が備えるVPNクライアントアプリケーションに対応する固有のプロトコルで、登録通知情報をホストR1に送信してもよい。
登録通知情報を受け取ったホストR1のユーザがその登録通知情報を用いてVPN接続キーの取得要求を行うと(S6)、VPNサーバ100がVPN接続キーを返す(S7)。例えば、ユーザが登録通知情報の電子メールに表示されたURLをクリックすると、ホストR1がそのURLに対応するWebページを要求するHTTP(Hypertext Transfer Protocol)要求をVPNサーバ100に送り、そのWebページを取得する。そのWebページには、例えば、VPN接続キーの取得指示のためのボタンが含まれている。そのボタンには、当該メンバに対し発行されたVPN接続キーを識別する識別情報が含まれている。そのWebページを取得したユーザは、コンピュータ画面に表示されたそのボタンをクリック操作などで押下することにより、コンピュータはVPNサーバ100に対してその識別情報を含んだ接続キー取得要求を送信し、VPN接続キーを得る。また、登録通知情報に示されたURLに対応したWebページの中に、VPN接続キーの情報が含まれていてもよい。
また、VPNクライアントアプリケーションに対応する固有のプロトコルで登録通知情報がホストR1に提供される場合は、そのアプリケーションがVPN接続キーの取得指示のためのユーザインタフェース画面を提供する。ユーザがその画面を用いて取得指示を行うと、そのアプリケーションが登録通知情報に含まれる識別情報を含んだ取得要求をVPNサーバ100に発する。VPNサーバ100は、その要求に対してVPN接続キーを返す。なお、ステップS5でホストR1に送信する登録通知情報の中に、VPN接続キーを含めておいてもよい。
図5にはホストR1にVPN接続キーを配布する場合を代表して示したが、ホストL2,L3にも同様にしてVPN接続キーを配布される。このようにして、仮想ネットワークN1に対応するVPN接続キーが各メンバに行き渡る。各メンバは、そのVPN接続キーをVPNサーバ100に提示して接続要求を行うことで、仮想ネットワークN1に参加する。
図5の例では、まずホストL1がVPNサーバ100に対してVPN接続要求を発する(S8)。このVPN接続要求には、ホストL1がステップS3で取得したVPN接続キーが含まれる。なお、VPN接続要求に、ホストL1のノードID及び仮想ネットワークN1のグループIDを組み込んでもよい。
ホストL1からVPN接続要求を受け取ったVPNサーバ100は、ホストL1を認証する(S9)。この認証では、そのVPN接続要求に含まれるVPN接続キーが、VPNサーバ100が過去に発行した正当なキーであるか否かを判定する。また、例えば、VPNサーバ100に各ホスト(又はそのユーザ)の認証情報をVPN接続キー(又はノードIDとグループIDの組)に対応づけてあらかじめ登録しておき、VPN接続要求を発行したホストに対し、その認証情報の提示をホストL1に求めてもよい。この場合、そのホストから、そのVPN接続キーに対応する正しい認証情報が提示された場合には、正しいホストからの要求であると判定すればよい。このような認証の代わりに、或いはこのような認証に加え、VPN接続要求にVPN接続キーに加えノードID及びグループIDが含まれる場合には、それら3つの値の組が認証情報DB118に登録されている組合せに合致するか否かを判定してもよい。合致した場合に、正当なホストL1からの要求と判定すればよい。
VPNサーバ100は、ステップS8のVPN接続要求が正当なホストL1からのものであると判定すると、ホストL1に仮想ネットワークN1のネットワークアドレスに属する仮想IPアドレスを提供する(S10)。また、VPNサーバ100は、ホストL1に提供した仮想IPアドレスに応じて、その仮想IPアドレスを送信元又は宛先として含むパケットが正しくルーティングされるよう、VPNルーティング規則116を設定する。なお、ホストL1からVPN接続要求にはホストL1の実IPアドレスの情報が含まれるので、提供した仮想IPアドレスとその実IPアドレスの情報に基づき、その仮想IPアドレス宛のパケットがホストL1に到達するようなルーティング規則を設定すればよい。仮想IPアドレスを受け取ったホストL1は、その仮想IPアドレス宛のパケットを受信するように、各種の設定を行う。これにより、ホストL1は、仮想ネットワークN1に参加したことになる。
また、同様に、ホストR1がVPN接続キー等を含んだVPN接続要求をVPNサーバ100に発すると(S11)、VPNサーバ100はホストR1の認証を行う(S12)。その認証が成功すると、VPNサーバ100は、ホストR1に対し仮想ネットワークN1内の一意な仮想IPアドレスを提供する(S13)。また、その仮想IPアドレスに応じてVPNルーティング規則116を設定する。その仮想IPアドレスを受け取ったホストR1は、その仮想IPアドレス宛のパケットを受信するように、各種の設定を行う。これにより、ホストR1は、仮想ネットワークN1に参加したことになる。
図5の例では、ホストL1及びR1が仮想ネットワークN1に参加する手順を代表として示したが、ホストL2,L3にも同様にして仮想ネットワークN1に参加すればよい。仮想ネットワークN1に参加した各メンバは、その仮想ネットワークN1内の仮想IPアドレスを用いて通信する。なお、VPNサーバ100は、ホストのホスト名又はノードIDからそのホストの仮想IPアドレスを求めるための対応表を作成し、この対応表に基づきネームサーバ機能を各ホストに提供してもよい。
次に、上記実施形態の変形例を、図6〜図9を参照して説明する。上記実施形態ではホストからVPN接続要求(S8又はS11)を受けたVPNサーバ100は、その要求に含まれるVPN接続キーが正当なものであれば、そのホストに対し、仮想ネットワークへの参加を許可した。これに対し、以下に示す変形例では、仮想ネットワークへの参加を認めるのに、更に仮想ネットワークの管理者に承認を求めるようにする。この変形例では、仮想ネットワークの形成指示(S1)を行ったユーザを、当該仮想ネットワークの管理者とする。ここで、仮想ネットワークの管理者が、当該仮想ネットワークに招待したメンバに対し、当該仮想ネットワークの管理者の権限を付与できるようにしてもよい。この場合、1つの仮想ネットワークに複数の管理者が存在する場合も生じる。このように追加した管理者に、仮想ネットワークに対してメンバを登録(S5)する権限を与えてもよい。
この変形例におけるVPNサーバ100は、図2に示した上記実施形態のVPNサーバ100に承認ポリシーDB122を追加したものである(図6参照)。承認ポリシーDB122は、図7に示すように、各仮想ネットワークのグループIDに対応づけて承認ポリシー情報を記憶している。
仮想ネットワークの承認ポリシー情報は、あるメンバから仮想ネットワークへの参加の承認を要求された場合に、その要求に対する当該仮想ネットワークの管理者からの回答がどのような値である場合にその参加を承認するかを規定する情報である。例えば、1つの仮想ネットワークに対して複数の管理者が存在する場合に、それらすべての管理者からの承認が得られた場合に参加を認めるというポリシーが考えられる。また、1つの仮想ネットワークに対応する複数の管理者のうちの所定人数(例えば1人)以上の承認が得られたら参加を認めるというポリシーも考えられる。このような承認ポリシーは、仮想ネットワークごとに定めることができる。VPNサーバ100は、仮想ネットワークの管理者に対し、承認ポリシーの選択肢を示すユーザインタフェース画面を提供し、管理者から当該仮想ネットワークに適用する承認ポリシーの選択を受け付け、選択されたポリシーを当該仮想ネットワークのグループIDと対応づけて承認ポリシーDB122に登録すればよい。
この変形例では、認証情報DB118に対し、図8に示すように、各メンバのノードID及びグループIDの組合せに対応づけて、そのメンバの権限が登録されている。この例では、権限には「管理者」と「ゲスト」の2種類が存在する。「管理者」は、当該グループIDに対応する仮想ネットワークの管理者であり、「ゲスト」権限のメンバからの参加要求に対する承認権限を持つ。「ゲスト」は、いわゆる一般ユーザであり、仮想ネットワークに参加するには「管理者」からの承認が必要である。
この変形例における仮想ネットワーク形成の手順を、図9を参照して説明する。この手順は、図5に示した上記実施形態の手順に対し、ステップS14〜S15を追加したものであり、ステップS1〜S10までは上記実施形態と同様の処理でよい。
この変形例では、VPN接続制御部112は、メンバからVPN接続キーを含んだVPN接続要求を受け取った場合、そのVPN接続キーに対応づけて認証情報DB118に登録されているそのメンバの権限を認証情報DB118から求める。そして、求めた権限が「管理者」であり、そのメンバの認証が成功すれば、そのメンバに対して仮想IPアドレスを発行して仮想ネットワークへの参加を認める。ステップS8〜S10に示したホストL1からの接続要求の場合がその一例である。これに対し、VPN接続要求を発したメンバの権限が「ゲスト」である場合、VPN接続制御部112は、そのメンバを認証すると共に(S12)、その認証が成功した場合、当該仮想ネットワークの各管理者に対し、そのメンバの参加を承認するか否かを問い合せるための承認要求を送る(S14)。図9の例では、「ゲスト」権限のホストR1からの仮想ネットワークN1への接続要求(S11)に対し、VPNサーバ100は、N1の管理者であるホストL1に対して承認要求(S14)を送っている。承認要求は、どのメンバがどの仮想ネットワークに対する参加を求めているのかを示す情報が含まれる。VPN接続制御部112が管理者に送る承認要求は、例えば、承認するか否かを入力するための入力ボタンを表示したWebページのURLを含むものでよい。管理者は、その承認要求に対して、承認するか否かの回答を入力する。すると管理者のコンピュータからVPN接続制御部112にその回答が送信される(S15)。仮想ネットワークに対応する管理者群からの回答が、当該仮想ネットワークに対応する承認ポリシーを満たす場合、VPN接続制御部112は、VPN接続要求を発したメンバに対して仮想IPアドレスを提供し、当該仮想ネットワークへの参加を認める(S13)。例えば、当該仮想ネットワークの承認ポリシーが、すべての管理者から承認が得られた場合にのみ参加を認めるというものである場合、VPN接続制御部112は、当該仮想ネットワークのすべての管理者から承認が得られた場合に、当該メンバの参加を認める。
なお、仮想ネットワークの形成指示を発したユーザを当該仮想ネットワークの唯一の管理者とする構成では、承認ポリシーは必要なく、メンバの参加を認めるか否かはその管理者の回答に基づき判定すればよい。
以上に説明した実施形態及び変形例では、登録された各メンバに対してVPNサーバ100が個別に登録通知情報を送信し、それらメンバがその登録通知情報を用いてVPN接続キーを取得した。しかしこのような手順は一例に過ぎない。この代わりに、メンバ登録要求(S4)により登録された各メンバに対応するVPN接続キーを、VPNサーバ100からその登録要求を行ったホストに対して提供し、そのホストから各メンバに対してVPN接続キーを(例えば電子メールなどで)配布してもよい。
また、以上では、リモートホストR1とLAN200との間で仮想ネットワークを形成する場合を例にとって説明したが、それぞれがVPNサーバ100により管理される2以上のLAN内のホスト間でも、同様にして仮想ネットワークが形成できる。
また以上の例では、ルータ機能とVPN接続制御機能とを兼ね備えた1台のVPNサーバ100を用いたが、VPNサーバ100を、上記実施形態のVPNルーティングを行うVPN接続制御装置と、通常のIPルーティングを行うルータとの組合せに置き換えて、同様の制御を行うようにしてもよい。
また、以上の例では、仮想ネットワークのメンバに対して、当該仮想ネットワーク上の仮想IPアドレスを付与したが、これは必ずしも必須のことではない。仮想ネットワークのメンバである各ホストの実IPアドレスに重複がない場合は、VPNサーバ100は、それら各メンバの実IPアドレスを当該仮想ネットワークのグループIDに対応づけて記憶していればよい。そして、VPNサーバ100は、VPNパケットを受け取った場合、送信元及び宛先のIPアドレスが同じグループIDに対応づけられていれば、送信元と宛先が同じ仮想ネットワークに属すると判定すればよい。
また既に形成されている仮想ネットワークに対してメンバを追加する場合、上記のシステムでは、例えば仮想ネットワークの形成を指示した人又はその人が任命した管理者が、VPNサーバ100に対し、追加するメンバの登録指示を行えばよい。VPNサーバ100はその指示に応じてその追加メンバに対して登録通知情報を送り、追加メンバはその登録通知情報を用いてVPN接続キーを取得し、そのキーを用いてその仮想ネットワークに参加する。
また、あるLANから仮想ネットワークに参加していたモバイル端末が、移動して、別のLANから再び同じ仮想ネットワークに参加しようとする場合も考えられる。このような場合、上述のシステムでは、モバイル端末は、その仮想ネットワークのVPN接続キーを移動前に既に持っているので、移動後にそのキーをVPNサーバ100に提示すればよい。
また既に形成されている仮想ネットワークのメンバを削除する場合、上述のシステムでは、仮想ネットワークの構成を示す認証情報DB118(図4又は図8参照)から、そのメンバのノードIDとその仮想ネットワークのグループIDの組合せに対応するエントリ(特にVPN接続キー)を削除(又は無効化)すればよい。削除されたメンバが、仮に昔のVPN接続キーをVPNサーバ100に提示してその仮想ネットワークへの参加を要求したとしても、そのVPN接続キーは既に無効化されているので、その要求は認められない。
以上に例示したサーバ100は、典型的には汎用のコンピュータに上述の各機能モジュールの処理を表すプログラムを実行させることにより実現される。ここで、コンピュータは、例えば、ハードウエアとして、図10に示すように、CPU400等のマイクロプロセッサ、ランダムアクセスメモリ(RAM)402およびリードオンリメモリ(ROM)404等のメモリ(一次記憶)、HDD(ハードディスクドライブ)406を制御するHDDコントローラ408、各種I/O(入出力)インタフェース410、ローカルエリアネットワークなどのネットワークとの接続のための制御を行うネットワークインタフェース412等が、たとえばバス414を介して接続された回路構成を有する。また、そのバス414に対し、例えばI/Oインタフェース410経由で、CDやDVDなどの可搬型ディスク記録媒体に対する読み取り及び/又は書き込みのためのディスクドライブ416、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体に対する読み取り及び/又は書き込みのためのメモリリーダライタ418、などが接続されてもよい。実施形態又は変形例の処理内容が記述されたプログラムがCDやDVD等の記録媒体を経由して、又はネットワーク等の通信手段経由で、ハードディスクドライブ等の固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがRAM402に読み出されCPU400等のマイクロプロセッサにより実行されることにより、実施形態又は変形例の処理が実現される。
ネットワーク構成の一例を示す図である。 VPNサーバの構成の一例を示す図である。 VPN・グループID対応情報DBのデータ内容の一例を示す図である。 認証情報DBのデータ内容の一例を示す図である。 仮想ネットワークの形成の手順の一例を示す図である。 変形例におけるVPNサーバの内部構成の一例を示す。 変形例における承認ポリシーDBのデータ内容の一例を示す図である。 変形例における認証情報DBのデータ内容の一例を示す図である。 変形例における仮想ネットワークの形成の手順の一例を示す図である。 コンピュータのハードウエア構成の一例を示す図である。
符号の説明
100 VPNサーバ、102 VPN形成指示受付部、104 メンバ登録指示受付部、106 VPN設定部、108 メンバ登録通知部、110 接続キー発行部、112 VPN接続制御部、114 経路制御部、116 VPNルーティング規則、118 認証情報DB、120 VPN・グループID対応情報DB。

Claims (6)

  1. 仮想ネットワークを形成する形成指示を受け付ける形成指示受付手段と、
    前記形成指示受付手段が受け付けた前記形成指示に応じて一意な仮想ネットワーク識別子を割り当てる識別子割当手段と、
    前記仮想ネットワークを構成する情報処理装置の指定を受け付ける指定受付手段と、
    前記指定受付手段に対し指定された情報処理装置に対して接続許可情報を発行し、発行した接続許可情報を、前記識別子割当手段が割り当てた前記仮想ネットワーク識別子に対応づけて第1の記憶手段に登録する第1の登録手段と、
    情報処理装置から前記接続許可情報を伴う接続要求を受け取った場合に、前記接続許可情報に対応した仮想ネットワーク識別子を前記第1の記憶手段に基づき判定し、判定した仮想ネットワーク識別子に当該情報処理装置のアドレスを対応づけるための処理を行う対応づけ処理手段と、
    情報処理装置から送信元アドレスと宛先アドレスとを含んだ伝送情報を受け取った場合に、前記送信元アドレスに対応する仮想ネットワーク識別子と前記宛先アドレスに対応する仮想ネットワーク識別子とを判定し、判定した前記送信元アドレスに対応する仮想ネットワーク識別子と前記宛先アドレスに対応する仮想ネットワーク識別子とに基づいて、前記伝送情報を前記宛先アドレスに向けて送信する制御を行う送信制御手段と、
    を備える仮想ネットワーク接続装置。
  2. 前記仮想ネットワーク識別子に対応づけて1以上の承認者アドレスを記憶する第2の記憶手段、を更に備え、
    前記対応づけ処理手段は、情報処理装置から前記接続許可情報を伴う前記接続要求を受け取った場合に、前記接続許可情報に対応する仮想ネットワーク識別子に対応する承認者アドレスを前記第2の記憶手段に基づき判定し、判定した承認者アドレスに対して当該情報処理装置からの接続を承認するか否かについての問合せを行い、この問合せに対する回答に応じて当該情報処理装置のアドレスを前記仮想ネットワーク識別子に対応づけるか否かを判定する、
    ことを特徴とする請求項1記載の仮想ネットワーク接続装置。
  3. 仮想ネットワーク識別子ごとに、当該仮想ネットワーク識別子と対応づけられた各承認者アドレスからの回答から当該情報処理装置のアドレスを前記仮想ネットワーク識別子に対応づけるか否かを判定するための承認規則を記憶する第3の記憶手段を備え、
    前記対応づけ処理手段は、前記接続要求に伴った接続許可情報に対応する仮想ネットワーク識別子に対応する各承認者アドレスからの回答と、当該仮想ネットワーク識別子に対応する承認規則とに基づき、前記情報処理装置のアドレスを前記仮想ネットワーク識別子に対応づけるか否かを判定する、
    ことを特徴とする請求項記載の仮想ネットワーク接続装置。
  4. 前記第1の登録手段が前記情報処理装置に対し発行した接続許可情報に対応づけられた通知情報を前記情報処理装置に対して送信する通知送信手段、
    を更に備えることを特徴とする請求項1記載の仮想ネットワーク接続装置。
  5. コンピュータを、
    仮想ネットワークを形成する形成指示を受け付ける形成指示受付手段、
    前記形成指示受付手段が受け付けた前記形成指示に応じて一意な仮想ネットワーク識別子を割り当てる識別子割当手段、
    前記仮想ネットワークを構成する情報処理装置の指定を受け付ける指定受付手段、
    前記指定受付手段に対し指定された情報処理装置に対して接続許可情報を発行し、発行した接続許可情報を、前記識別子割当手段が割り当てた前記仮想ネットワーク識別子に対応づけて第1の記憶手段に登録する第1の登録手段、
    情報処理装置から前記接続許可情報を伴う接続要求を受け取った場合に、前記接続許可情報に対応した仮想ネットワーク識別子を前記第1の記憶手段に基づき判定し、判定した仮想ネットワーク識別子に当該情報処理装置のアドレスを対応づけるための処理を行う対応づけ処理手段、
    情報処理装置から送信元アドレスと宛先アドレスとを含んだ伝送情報を受け取った場合に、前記送信元アドレスに対応する仮想ネットワーク識別子と前記宛先アドレスに対応する仮想ネットワーク識別子とを判定し、判定した前記送信元アドレスに対応する仮想ネットワーク識別子と前記宛先アドレスに対応する仮想ネットワーク識別子とに基づいて、前記伝送情報を前記宛先アドレスに向けて送信する制御を行う送信制御手段、
    として機能させるためのプログラム。
  6. 仮想ネットワーク接続装置と1以上の情報処理装置とを備え、
    前記仮想ネットワーク接続装置は、
    仮想ネットワークを形成する形成指示を受け付ける形成指示受付手段と、
    前記形成指示受付手段が受け付けた前記形成指示に応じて一意な仮想ネットワーク識別子を割り当てる識別子割当手段と、
    前記仮想ネットワークを構成する情報処理装置の指定を受け付ける指定受付手段と、
    前記指定受付手段に対し指定された情報処理装置に対して接続許可情報を発行し、発行した接続許可情報を、前記識別子割当手段が割り当てた前記仮想ネットワーク識別子に対応づけて第1の記憶手段に登録する第1の登録手段と、
    情報処理装置から前記接続許可情報を伴う接続要求を受け取った場合に、前記接続許可情報に対応した仮想ネットワーク識別子を前記第1の記憶手段に基づき判定し、判定した仮想ネットワーク識別子に当該情報処理装置のアドレスを対応づけるための処理を行う対応づけ処理手段と、
    情報処理装置から送信元アドレスと宛先アドレスとを含んだ伝送情報を受け取った場合に、前記送信元アドレスに対応する仮想ネットワーク識別子と前記宛先アドレスに対応する仮想ネットワーク識別子とを判定し、判定した前記送信元アドレスに対応する仮想ネットワーク識別子と前記宛先アドレスに対応する仮想ネットワーク識別子とに基づいて、前記伝送情報を前記宛先アドレスに向けて送信する制御を行う送信制御手段と、
    を備え、
    前記情報処理装置は、
    前記接続許可情報を伴う接続要求を前記仮想ネットワーク接続装置に送信する手段と、
    送信元アドレスと宛先アドレスとを含んだ伝送情報を送信する手段と、
    を備える、
    ことを特徴とする仮想ネットワークシステム。
JP2007144586A 2007-05-31 2007-05-31 仮想ネットワーク接続装置及びプログラム Expired - Fee Related JP4803116B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2007144586A JP4803116B2 (ja) 2007-05-31 2007-05-31 仮想ネットワーク接続装置及びプログラム
DE200760003705 DE602007003705D1 (de) 2007-05-31 2007-10-31 Verfahren zur Steuerung der Verbindung eines virtuellen Netzwerkes
EP20070119784 EP1998506B1 (en) 2007-05-31 2007-10-31 Method for controlling the connection of a virtual network
KR20070110046A KR101085077B1 (ko) 2007-05-31 2007-10-31 가상 네트워크 접속 장치, 시스템, 가상 네트워크의 접속의제어를 위한 방법 및 기록 매체
US11/931,423 US20080301303A1 (en) 2007-05-31 2007-10-31 Virtual network connection apparatus, system, method for controlling connection of a virtual network and computer-readable storage medium
CN2007101887493A CN101316219B (zh) 2007-05-31 2007-11-16 用于控制虚拟网络连接的虚拟网络连接装置、系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007144586A JP4803116B2 (ja) 2007-05-31 2007-05-31 仮想ネットワーク接続装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2008301165A JP2008301165A (ja) 2008-12-11
JP4803116B2 true JP4803116B2 (ja) 2011-10-26

Family

ID=38793437

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007144586A Expired - Fee Related JP4803116B2 (ja) 2007-05-31 2007-05-31 仮想ネットワーク接続装置及びプログラム

Country Status (6)

Country Link
US (1) US20080301303A1 (ja)
EP (1) EP1998506B1 (ja)
JP (1) JP4803116B2 (ja)
KR (1) KR101085077B1 (ja)
CN (1) CN101316219B (ja)
DE (1) DE602007003705D1 (ja)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
PL1625716T3 (pl) 2003-05-06 2008-05-30 Apple Inc System i usługa przesyłania wiadomości
GB0321337D0 (en) 2003-09-11 2003-10-15 Massone Mobile Advertising Sys Method and system for distributing advertisements
US7877387B2 (en) 2005-09-30 2011-01-25 Strands, Inc. Systems and methods for promotional media item selection and promotional program unit generation
GB2438475A (en) 2007-03-07 2007-11-28 Cvon Innovations Ltd A method for ranking search results
GB2441399B (en) 2007-04-03 2009-02-18 Cvon Innovations Ltd Network invitation arrangement and method
US8671000B2 (en) 2007-04-24 2014-03-11 Apple Inc. Method and arrangement for providing content to multimedia devices
JP4835569B2 (ja) * 2007-09-28 2011-12-14 富士ゼロックス株式会社 仮想ネットワークシステム及び仮想ネットワーク接続装置
JP5318111B2 (ja) * 2007-10-24 2013-10-16 ラントロニクス・インコーポレイテツド リモートデバイスに構成情報を自動配布するための中央管理ステーションのための種々の方法および装置
US8429739B2 (en) 2008-03-31 2013-04-23 Amazon Technologies, Inc. Authorizing communications between computing nodes
JP4750869B2 (ja) * 2009-03-30 2011-08-17 セコム株式会社 通信制御装置及び監視装置
KR101661524B1 (ko) * 2009-06-09 2016-10-11 삼성전자주식회사 사용자 명령과 소속 그룹에 기초한 네트워크 참여방법 및 이를 적용한 디바이스
US8589683B2 (en) * 2009-10-27 2013-11-19 Red Hat, Inc. Authentication of a secure virtual network computing (VNC) connection
JP2011193378A (ja) * 2010-03-16 2011-09-29 Kddi R & D Laboratories Inc 通信システム
WO2011126321A2 (ko) * 2010-04-07 2011-10-13 엘지전자 주식회사 그룹 기반 m2m 통신 기법
US9367847B2 (en) 2010-05-28 2016-06-14 Apple Inc. Presenting content packages based on audience retargeting
US10103939B2 (en) 2010-07-06 2018-10-16 Nicira, Inc. Network control apparatus and method for populating logical datapath sets
US9525647B2 (en) 2010-07-06 2016-12-20 Nicira, Inc. Network control apparatus and method for creating and modifying logical switching elements
US8817621B2 (en) 2010-07-06 2014-08-26 Nicira, Inc. Network virtualization apparatus
JP5715476B2 (ja) * 2011-04-25 2015-05-07 Kddi株式会社 マッピングサーバの制御方法及びマッピングサーバ
US9043452B2 (en) 2011-05-04 2015-05-26 Nicira, Inc. Network control apparatus and method for port isolation
US9288104B2 (en) 2011-10-25 2016-03-15 Nicira, Inc. Chassis controllers for converting universal flows
US9154433B2 (en) 2011-10-25 2015-10-06 Nicira, Inc. Physical controller
US9137107B2 (en) 2011-10-25 2015-09-15 Nicira, Inc. Physical controllers for converting universal flows
US9203701B2 (en) 2011-10-25 2015-12-01 Nicira, Inc. Network virtualization apparatus and method with scheduling capabilities
KR101358527B1 (ko) * 2011-10-27 2014-02-05 미쓰비시덴키 가부시키가이샤 프로그래머블 로직 컨트롤러
JP5533924B2 (ja) * 2012-04-09 2014-06-25 横河電機株式会社 無線通信システム
WO2013158918A1 (en) 2012-04-18 2013-10-24 Nicira, Inc. Using transactions to minimize churn in a distributed network control system
US20130297752A1 (en) * 2012-05-02 2013-11-07 Cisco Technology, Inc. Provisioning network segments based on tenant identity
US20150215164A1 (en) * 2012-08-24 2015-07-30 Nec Corporation Information processing device
CN103067282B (zh) * 2012-12-28 2017-07-07 华为技术有限公司 数据备份方法、装置及系统
KR20140099598A (ko) * 2013-02-04 2014-08-13 한국전자통신연구원 모바일 vpn 서비스를 제공하는 방법
GB2505268B (en) 2013-04-10 2017-10-11 Realvnc Ltd Methods and apparatus for remote connection
GB2505267B (en) * 2013-04-10 2015-12-23 Realvnc Ltd Methods and apparatus for remote connection
US9787546B2 (en) 2013-08-07 2017-10-10 Harris Corporation Network management system generating virtual network map and related methods
CN103648053A (zh) * 2013-12-23 2014-03-19 乐视致新电子科技(天津)有限公司 在智能电视中连接远程存储设备的方法和装置
EP3096490B1 (en) 2014-02-23 2018-12-26 Huawei Technologies Co., Ltd. Method for realizing network virtualization and related device and communication system
CN111934993B (zh) * 2014-12-31 2022-12-27 柏思科技有限公司 用于通过从属网关通信的方法和系统
US9923760B2 (en) 2015-04-06 2018-03-20 Nicira, Inc. Reduction of churn in a network control system
US20160359720A1 (en) * 2015-06-02 2016-12-08 Futurewei Technologies, Inc. Distribution of Internal Routes For Virtual Networking
US10936674B2 (en) * 2015-08-20 2021-03-02 Airwatch Llc Policy-based trusted peer-to-peer connections
US10204122B2 (en) 2015-09-30 2019-02-12 Nicira, Inc. Implementing an interface between tuple and message-driven control entities
US11019167B2 (en) 2016-04-29 2021-05-25 Nicira, Inc. Management of update queues for network controller
KR101831604B1 (ko) * 2016-10-31 2018-04-04 삼성에스디에스 주식회사 데이터 전송 방법, 인증 방법 및 이를 수행하기 위한 서버
US10630507B2 (en) * 2016-11-29 2020-04-21 Ale International System for and method of establishing a connection between a first electronic device and a second electronic device
CN107547391B (zh) * 2017-06-08 2020-01-03 新华三技术有限公司 一种报文传输方法和装置
KR101970515B1 (ko) * 2018-01-17 2019-04-19 주식회사 엑스게이트 가상 네트워크 제공 시스템의 관리 방법 및 관리 장치
CN108833435B (zh) * 2018-07-03 2021-10-01 郑州云海信息技术有限公司 一种网络访问控制方法及装置、网络系统
CN112464116B (zh) * 2020-11-18 2024-03-01 金蝶云科技有限公司 页面显示方法、装置、计算机设备和存储介质

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001177528A (ja) * 1999-12-16 2001-06-29 Nec Corp Atm網における仮想専用網群管理方法およびatm通信システム
JP2002111732A (ja) * 2000-10-02 2002-04-12 Nippon Telegr & Teleph Corp <Ntt> Vpnシステム及びvpn設定方法
WO2002060099A2 (en) * 2001-01-25 2002-08-01 Crescent Networks, Inc. Service level agreement/virtual private network templates
US7450505B2 (en) * 2001-06-01 2008-11-11 Fujitsu Limited System and method for topology constrained routing policy provisioning
WO2003048905A2 (en) * 2001-12-05 2003-06-12 E-Xchange Advantage, Inc. Method and system for managing distributed trading data
US7388844B1 (en) * 2002-08-28 2008-06-17 Sprint Spectrum L.P. Method and system for initiating a virtual private network over a shared network on behalf of a wireless terminal
US7283534B1 (en) * 2002-11-22 2007-10-16 Airespace, Inc. Network with virtual “Virtual Private Network” server
US20040249974A1 (en) * 2003-03-31 2004-12-09 Alkhatib Hasan S. Secure virtual address realm
US7949785B2 (en) * 2003-03-31 2011-05-24 Inpro Network Facility, Llc Secure virtual community network system
US8590032B2 (en) * 2003-12-10 2013-11-19 Aventail Llc Rule-based routing to resources through a network
US8661158B2 (en) * 2003-12-10 2014-02-25 Aventail Llc Smart tunneling to resources in a network
CN100372336C (zh) * 2004-07-13 2008-02-27 华为技术有限公司 多协议标签交换虚拟专用网及其控制和转发方法
EP1771979B1 (en) * 2004-07-23 2011-11-23 Citrix Systems, Inc. A method and systems for securing remote access to private networks
EP1624638B1 (en) * 2004-08-05 2006-10-25 Alcatel Access control method and apparatus
US7366182B2 (en) * 2004-08-13 2008-04-29 Qualcomm Incorporated Methods and apparatus for efficient VPN server interface, address allocation, and signaling with a local addressing domain
JP4543837B2 (ja) * 2004-09-02 2010-09-15 株式会社Kddi研究所 Vpn設定システム、方法及び前記システムで用いる携帯端末用プログラム
US7516174B1 (en) * 2004-11-02 2009-04-07 Cisco Systems, Inc. Wireless network security mechanism including reverse network address translation
JP4401942B2 (ja) * 2004-12-08 2010-01-20 株式会社日立コミュニケーションテクノロジー パケット転送装置および通信ネットワーク
JP2006217078A (ja) * 2005-02-01 2006-08-17 Matsushita Electric Works Ltd 通信システム及び通信設定方法
CA2605304C (en) * 2005-03-29 2011-10-04 Research In Motion Limited Methods and apparatus for use in establishing session initiation protocol communications for virtual private networking
US7743411B2 (en) * 2005-04-14 2010-06-22 At&T Intellectual Property I, L.P. Method and apparatus for voice over internet protocol telephony using a virtual private network
US7769869B2 (en) * 2006-08-21 2010-08-03 Citrix Systems, Inc. Systems and methods of providing server initiated connections on a virtual private network

Also Published As

Publication number Publication date
EP1998506B1 (en) 2009-12-09
EP1998506A1 (en) 2008-12-03
JP2008301165A (ja) 2008-12-11
DE602007003705D1 (de) 2010-01-21
KR101085077B1 (ko) 2011-11-21
CN101316219B (zh) 2012-10-31
CN101316219A (zh) 2008-12-03
US20080301303A1 (en) 2008-12-04
KR20080105962A (ko) 2008-12-04

Similar Documents

Publication Publication Date Title
JP4803116B2 (ja) 仮想ネットワーク接続装置及びプログラム
US7606880B2 (en) Method of printing over a network
US9397927B2 (en) Rule-based routing to resources through a network
US8090827B2 (en) Secure access to remote resources over a network
JP5043455B2 (ja) 画像形成装置、その制御方法、システム、プログラム及び記憶媒体
US20080077425A1 (en) System, method and computer program product for identifying, configuring and accessing a device on a network
WO2022247751A1 (zh) 远程访问应用的方法、系统、装置、设备及存储介质
JP4253569B2 (ja) 接続制御システム、接続制御装置、及び接続管理装置
JP2022146326A (ja) 情報処理システム、画像形成装置及びプログラム
JPWO2004112312A1 (ja) ユーザ認証システム
JP2003316742A (ja) シングルサインオン機能を有する匿名通信方法および装置
JP4835569B2 (ja) 仮想ネットワークシステム及び仮想ネットワーク接続装置
JP2016066298A (ja) 中継装置、通信システム、情報処理方法、及び、プログラム
JP2006293708A (ja) コンテンツアクセス制御装置、コンテンツアクセス制御方法およびコンテンツアクセス制御プログラム
JP2008046875A (ja) 通信フィルタリングシステムおよび方法
JP4608466B2 (ja) 通信システムおよび通信方法
JP3973357B2 (ja) ポート番号の収束、展開方法及びそのゲートウェイサーバ
JP2021158466A (ja) 中継装置、中継システム、及びプログラム
JP2022021595A (ja) 通信装置、プログラム、ネットワーク管理方法および通信システム
JP5863398B2 (ja) サーバ装置及びサーバ装置の制御方法
JP2020053746A (ja) 画像形成装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100423

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110708

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110712

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110725

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4803116

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140819

Year of fee payment: 3

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees