ネットワークシステム及びその制御方法
【課題】同一のプライベートIPアドレスが割り当てられた複数のデバイスの各々に対し、クライアントからVPNトンネルを介してデータを送信する。
【解決手段】ネットワークシステムは、第1のプライベートIPアドレスが割り当てられた第1及び第2のデバイスと、第1及び第2のVPN終端装置と、第1及び第2のVPN終端部とアドレス対応部とVPN終端部対応部とを有するクライアントと、を備える。第1のVPN終端部は、パケットを受けると、宛先IPアドレスを、第3のプライベートIPアドレスから第1のプライベートIPアドレスに書き換えて第1のVPNトンネルに送出し、第2のVPN終端部は、パケットを受けると、宛先IPアドレスを、第4のプライベートIPアドレスから第1のプライベートIPアドレスに書き換えて、第2のVPNトンネルに送出する。
【解決手段】ネットワークシステムは、第1のプライベートIPアドレスが割り当てられた第1及び第2のデバイスと、第1及び第2のVPN終端装置と、第1及び第2のVPN終端部とアドレス対応部とVPN終端部対応部とを有するクライアントと、を備える。第1のVPN終端部は、パケットを受けると、宛先IPアドレスを、第3のプライベートIPアドレスから第1のプライベートIPアドレスに書き換えて第1のVPNトンネルに送出し、第2のVPN終端部は、パケットを受けると、宛先IPアドレスを、第4のプライベートIPアドレスから第1のプライベートIPアドレスに書き換えて、第2のVPNトンネルに送出する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、VPN(Virtual Private Network)を用いたネットワークシステムに関する。
【背景技術】
【0002】
複数のLAN(Local Area Network)同士を、インターネットや通信事業者の提供する広域通信網(例えば、広域イーサネット網:イーサネットは登録商標)を介して接続する技術としてVPN(Virtual Private Network)が利用されている(特許文献1)。VPNを用いることにより、インターネット等の広域通信網上に仮想的なトンネル(以下、「VPNトンネル」とも呼ぶ)を形成し、互いに異なるLAN内の装置(コンピューター等のクライアント装置やプリンターなど)同士がプライベートIP(Internet Protocol)アドレスを用いて通信することが可能となる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2011−77769号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
各LAN内の装置に割り当てるIPアドレスとしてプライベートIPアドレスを用いる場合、異なるLAN内の装置同士で重複したIPアドレスの割り当てが発生し得る。例えば、異なるLAN内の2つのプリンターに対して、同じプライベートIPアドレスが割り当てられるケースが発生し得る。ここで、前述の2つのプリンターと、他のLAN内のクライアント装置(以下、単に「クライアント」と呼ぶ)との間に、それぞれVPNトンネルが形成されている状態において、上述したIPアドレスの重複割り当てが発生すると、クライアントからいずれか一方のプリンターを指定して印刷データを送信することができないという問題があった。
【0005】
このような問題は、プリンターに限らず、ネットワークカメラやプロジェクターなどネットワークに接続可能な任意の複数のデバイスが、それぞれクライアントとVPNトンネルによって接続されている構成において、クライアントからデバイスにデータを送る場合に起こり得る。
【0006】
本発明は、同一のプライベートIPアドレスが割り当てられた複数のデバイスの各々に対し、クライアントからVPNトンネルを介してデータを送信することを目的とする。
【課題を解決するための手段】
【0007】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態又は適用例として実現することが可能である。
【0008】
[適用例1]ネットワークシステムであって、
第1のネットワークに所属し、第1のプライベートIP(Internet Protocol)アドレスが割り当てられた第1のデバイスと、
前記第1のネットワークに所属し、VPN(Virtual Private Network)の仮想的なトンネルである第1のVPNトンネルの一端を終端する第1のVPN終端装置と、
第2のネットワークに所属し、前記第1のプライベートIPアドレスが割り当てられた第2のデバイスと、
前記第2のネットワークに所属し、前記仮想的なトンネルである第2のVPNトンネルの一端を終端する第2のVPN終端装置と、
第3のネットワークに所属するクライアントであって、
前記第1のVPNトンネルの他端を終端する第1のVPN終端部と、
前記第2のVPNトンネルの他端を終端する第2のVPN終端部と、
前記第1のデバイスに割り当てられた前記第1のプライベートIPアドレスを第3のプライベートIPアドレスと対応付け、前記第2のデバイスに割り当てられた前記第1のプライベートIPアドレスを第4のプライベートIPアドレスと対応付けるアドレス対応部と、
前記第3のプライベートIPアドレスを前記第1のVPN終端部と対応付け、前記第4のプライベートIPアドレスを前記第2のVPN終端部と対応付けるVPN終端部対応部と、
を有するクライアントと、
を備え、
前記第1のVPN終端部は、前記第1のデバイス宛のデータとして、前記第3のプライベートIPアドレスが宛先IPアドレスとして付与されたパケットを受け取ると、前記パケットに設定されている宛先IPアドレスを、前記第3のプライベートIPアドレスから、前記第3のプライベートIPアドレスに対応付けられている前記第1のプライベートIPアドレスに書き換えて、前記第1のVPNトンネルに送出し、
前記第2のVPN終端部は、前記第2のデバイス宛のデータとして、前記第4のプライベートIPアドレスが宛先IPアドレスとして付与されたパケットを受け取ると、前記パケットに設定されている宛先IPアドレスを、前記第4のプライベートIPアドレスから、前記第4のプライベートIPアドレスに対応付けられている前記第1のプライベートIPアドレスに書き換えて、前記第2のVPNトンネルに送出する、ネットワークシステム。
【0009】
適用例1のネットワークシステムによると、クライアントでは、第1のデバイスに割り当てられた前記第1のプライベートIPアドレスが第3のプライベートIPアドレスに対応付けられ、第2のデバイスに割り当てられた前記第1のプライベートIPアドレスが第4のプライベートIPアドレスに対応付けられる。また、クライアントにおいて、第1のVPN終端部は、第3のプライベートIPアドレスが宛先IPアドレスとして付与された第1のデバイス宛のデータを受け取ると、宛先IPアドレスを第1のプライベートIPアドレスに書き換えて第1のVPNトンネルに送出し、第2のVPN終端部は、第4のプライベートIPアドレスが宛先IPアドレスとして付与された第1のデバイス宛のデータを受け取ると、宛先IPアドレスを第1のプライベートIPアドレスに書き換えて第2のVPNトンネルに送出する。したがって、第1のデバイス宛のデータは、第1のVPNトンネルを介して第1のネットワークに届き、さらに、第1のネットワークを介して第1のデバイスに届く。同様に、第2のデバイス宛のデータは、第2のVPNトンネルを介して第2のネットワークに届き、さらに、第2のネットワークを介して第2のデバイスに届く。このように、適用例1のネットワークシステムでは、同一のプライベートIPアドレスが割り当てられた複数のデバイスの各々に対し、クライアントからVPNトンネルを介してデータを送信することができる。
【0010】
[適用例2]適用例1に記載のネットワークシステムにおいて、
前記アドレス対応部は、前記第3のプライベートIPアドレスとして、前記第1のプライベートIPアドレスにおけるホストアドレスと同じホストアドレスを有するIPアドレスを採用し、前記第4のプライベートIPアドレスとして、前記第3のプライベートIPアドレスにおけるネットワークアドレスと異なるネットワークアドレスを有し、かつ、前記第2のプライベートIPアドレスにおけるホストアドレスと同じホストアドレスを有するIPアドレスを採用する、ネットワークシステム。
【0011】
このような構成により、第3,4のプライベートIPアドレスとして、第1のプライベートIPアドレスのホストアドレスと同じホストアドレスを有するIPアドレスを採用するので、クライアントにおいて、第3のプライベートIPアドレスと同じネットワークアドレスを有するアドレス空間におけるIPアドレスの重複割り当ての発生を抑制できる。同様に、クライアントにおいて、第4のプライベートIPアドレスと同じネットワークアドレスを有するアドレス空間におけるIPアドレスの重複割り当ての発生を抑制できる。また、第3,4のプライベートIPアドレスとして、第1のプライベートIPアドレスのホストアドレスと同じホストアドレスを有するIPアドレスを採用するので、アドレス対応部は、第1のプライベートIPアドレスと、第3,4のプライベートIPアドレスとの対応付けを容易に行うことができる。
【0012】
[適用例3]適用例1または適用例2に記載のネットワークシステムにおいて、
前記クライアントは、さらに、
前記第1のデバイスの装置名及び前記第1のネットワークを一意に特定可能な第1のネットワーク識別子を前記第3のプライベートIPアドレスと対応付け、前記第2のデバイスの装置名及び前記第2のネットワークを一意に特定可能な第2のネットワーク識別子を前記第4のプライベートIPアドレスと対応付ける装置名対応部と、
前記第1のデバイスの装置名及び前記第1のネットワーク識別子を含むIPアドレスの問い合わせを受けると、前記装置名対応部を制御して、前記第1のデバイスの装置名及び前記第1のネットワーク識別子に対応付けられた前記第3のプライベートIPアドレスを返信し、前記第2のデバイスの装置名及び前記第2のネットワーク識別子を含むIPアドレスの問い合わせを受けると、前記装置名対応部を制御して、前記第2のデバイスの装置名及び前記第2のネットワーク識別子に対応付けられた前記第4のプライベートIPアドレスを返信する名前解決部と、
パケット生成部であって、
前記第1のデバイスの装置名及び前記第1のネットワーク識別子を指定した前記第1のデバイス宛のデータを受け取ると、前記名前解決部に前記第1のデバイスの装置名及び前記第1のネットワーク識別子を含む前記IPアドレスの問い合わせを送信することにより、前記名前解決部から前記第3のプライベートIPアドレスを取得し、前記第3のプライベートIPアドレスを宛先IPアドレスとするパケットを生成して前記第1のVPN終端部に渡し、
前記第2のデバイスの装置名及び前記第2のネットワーク識別子を指定した前記第2のデバイス宛のデータを受け取ると、前記名前解決部に前記第2のデバイスの装置名及び前記第2のネットワーク識別子を含む前記IPアドレスの問い合わせを送信することにより、前記名前解決部から前記第4のプライベートIPアドレスを取得し、前記第4のプライベートIPアドレスを宛先IPアドレスとするパケットを生成して前記第2のVPN終端部に渡すパケット生成部と、
を有するネットワークシステム。
【0013】
このような構成により、第1のデバイス宛のデータとして、第1のデバイスの装置名及び第1のネットワーク識別子を指定したデータを用いることができる。同様に、第2のデバイス宛のデータとして、第2のデバイスの装置名及び第2のネットワーク識別子を指定したデータを用いることができる。したがって、ユーザーは、第1のデバイス及び第2のデバイスに割り当てられているIPアドレス(第1のプライベートIPアドレス)を知らなくとも、第1,2のデバイスにデータを送信することができる。
【0014】
[適用例4]適用例1または適用例2に記載のネットワークシステムにおいて、さらに、
前記第3のネットワークに所属する名前解決サーバーを備え、
前記クライアントは、さらに、
アドレス問い合わせ部であって、
前記名前解決サーバーに前記第1のデバイスの装置名及び前記第1のネットワーク識別子を含むIPアドレスの問い合わせを送信することにより、前記名前解決サーバーから前記第3のプライベートIPアドレスを取得し、
前記名前解決サーバーに前記第2のデバイスの装置名及び前記第2のネットワーク識別子を含むIPアドレスの問い合わせを送信することにより、前記名前解決サーバーから前記第4のプライベートIPアドレスを取得するアドレス問い合わせ部と、
パケット生成部であって、
前記第1のデバイス宛のデータを受け取ると、前記アドレス問い合わせ部を制御して前記第3のプライベートIPアドレスを取得すると共に、前記第3のプライベートIPアドレスを宛先IPアドレスとするパケットを生成して前記第1のVPN終端部に渡し、
前記第2のデバイス宛のデータを受け取ると、前記アドレス問い合わせ部を制御して前記第4のプライベートIPアドレスを取得すると共に、前記第4のプライベートIPアドレスを宛先IPアドレスとするパケットを生成して前記第2のVPN終端部に渡すパケット生成部と、
を有し、
前記名前解決サーバーは、
前記第1のデバイスの装置名及び前記第1のネットワーク識別子を、前記第3のプライベートIPアドレスと対応付けると共に、前記第2のデバイスの装置名及び前記第2のネットワーク識別子を、前記第4のプライベートIPアドレスと対応付ける装置名対応部と、
前記第1のデバイスの装置名及び前記第1のネットワーク識別子を含むIPアドレスの問い合わせを受けると、前記装置名対応部を制御して、前記第1のデバイスの装置名及び前記第1のネットワーク識別子に対応付けられた前記第3のプライベートIPアドレスを返信し、前記第2のデバイスの装置名及び前記第2のネットワーク識別子を含むIPアドレスの問い合わせを受けると、前記装置名対応部を制御して、前記第2のデバイスの装置名及び前記第2のネットワーク識別子に対応付けられた前記第4のプライベートIPアドレスを返信する名前解決部と、
を有する、ネットワークシステム。
【0015】
このような構成により、第1のデバイス宛のデータとして、第1のデバイスの装置名及び第1のネットワーク識別子を指定したデータを用いることができる。同様に、第2のデバイス宛のデータとして、第2のデバイスの装置名及び第2のネットワーク識別子を指定したデータを用いることができる。したがって、ユーザーは、第1のデバイス及び第2のデバイスに割り当てられているIPアドレス(第1のプライベートIPアドレス)を知らなくとも、第1,2のデバイスにデータを送信することができる。加えて、クライアントでは、名前解決サーバーに対して、第1,2のデバイスの装置名及び第1,2のネットワーク識別子を含むIPアドレスの問い合わせを送信することにより、第3,4のプライベートIPアドレスを得ることができる。したがって、クライアントでは、装置名及びネットワーク識別子から第3,4のプライベートIPアドレスを特定する処理を行わずに済むので、クライアントにおける処理負荷を軽減することができる。
【0016】
[適用例5]適用例3または適用例4に記載のネットワークシステムにおいて、
前記第1のVPN終端装置は、前記第1のデバイスに割り当てられている前記第1のプライベートIPアドレスと前記第1のデバイスの装置名と前記第1のネットワーク識別子とを、前記クライアントに通知する第1の通知部を備え、
前記第2のVPN終端装置は、前記第2のデバイスに割り当てられている前記第2のプライベートIPアドレスと前記第2のデバイスの装置名と前記第2のネットワーク識別子とを、前記クライアントに通知する第2の通知部を備える、ネットワークシステム。
【0017】
このような構成により、装置名対応部は、第1のデバイスの装置名及び前記第1のネットワーク識別子と、第2のデバイスの装置名及び第2のネットワーク識別子とを得ることができ、それぞれ第3のプライベートIPアドレス及び第4のプライベートIPアドレスと対応付けることができる。したがって、例えば、ユーザーが第1のデバイスの装置名及び前記第1のネットワーク識別子と、第2のデバイスの装置名及び第2のネットワーク識別子とを調べて、クライアントにおいて入力する構成に比べて、ユーザーの作業負担を軽減できる。
【0018】
[適用例6]適用例3ないし適用例5のいずれか一例に記載のネットワークシステムにおいて、
前記第1のVPN終端装置には、第1のグローバルIPアドレスが割り当てられ、
前記第2のVPN終端装置には、第2のグローバルIPアドレスが割り当てられ、
前記第1のネットワーク識別子は、前記第1のグローバルIPアドレスであり、
前記第2のネットワーク識別子は、前記第2のグローバルIPアドレスである、ネットワークシステム。
【0019】
このような構成により、第1,2のVPN終端装置に割り当てられているグローバルIPアドレスを、ネットワーク識別子として利用するので、ネットワーク識別子として、新たな識別子を割り当てる構成に比べて、識別子の割り当てや管理に要する処理を軽減することができる。
【0020】
[適用例7]適用例1ないし適用例6のいずれか一例に記載のネットワークシステムにおいて、
前記第1のデバイス及び前記第2のデバイスは、いずれも印刷装置である、ネットワークシステム。
【0021】
このような構成により、互いに異なるネットワークに所属する複数の印刷装置に同じプライベートIPアドレスが割り当てられている場合であっても、クライアントから各印刷装置に対して印刷ジョブを送信して印刷を実行させることができる。
【0022】
[適用例8]第1のVPN(Virtual Private Network)終端装置が所属する第1のネットワークに所属し、第1のプライベートIP(Internet Protocol)アドレスが割り当てられた第1のデバイスと、第2のVPN終端装置が所属する第2のネットワークに所属し、前記第1のプライベートIPアドレスが割り当てられた第2のデバイスと、第3のネットワークに所属するクライアントと、前記第1のVPN終端装置と前記クライアントとの間に形成されるVPNの仮想的なトンネルである第1のVPNトンネルと、前記第2のVPN終端装置と前記クライアントとの間に形成される前記仮想的なトンネルである第2のVPNトンネルと、を有するネットワークシステムの制御方法であって、
(a)前記クライアントにおいて、前記第1のデバイスに割り当てられた前記第1のプライベートIPアドレスを第3のプライベートIPアドレスと対応付け、前記第2のデバイスに割り当てられた前記第1のプライベートIPアドレスを第4のプライベートIPアドレスと対応付ける工程と、
(b)前記クライアントにおいて、前記第3のプライベートIPアドレスを前記第1のVPN終端部と対応付け、前記第4のプライベートIPアドレスを前記第2のVPN終端部と対応付ける工程と、
(c)前記クライアントにおいて、前記第1のデバイス宛のデータとして、前記第3のプライベートIPアドレスが宛先IPアドレスとして付与されたパケットを受け取ると、前記パケットに設定されている宛先IPアドレスを、前記第3のプライベートIPアドレスから、前記第3のプライベートIPアドレスに対応付けられている前記第1のプライベートIPアドレスに書き換えて、前記第1のVPNトンネルに送出し、
前記第2のデバイス宛のデータとして、前記第4のプライベートIPアドレスが宛先IPアドレスとして付与されたパケットを受け取ると、前記パケットに設定されている宛先IPアドレスを、前記第4のプライベートIPアドレスから、前記第4のプライベートIPアドレスに対応付けられている前記第1のプライベートIPアドレスに書き換えて、前記第2のVPNトンネルに送出する工程と、
を備えるネットワークシステム制御方法。
【0023】
適用例7のネットワークシステム制御方法によると、クライアントでは、第1のデバイスに割り当てられた前記第1のプライベートIPアドレスが第3のプライベートIPアドレスに対応付けられ、第2のデバイスに割り当てられた前記第1のプライベートIPアドレスが第4のプライベートIPアドレスに対応付けられる。また、クライアントにおいて、第3のプライベートIPアドレスが宛先IPアドレスとして付与された第1のデバイス宛のデータが受け取られると、宛先IPアドレスが第1のプライベートIPアドレスに書き換えられて第1のVPNトンネルに送出され、第4のプライベートIPアドレスが宛先IPアドレスとして付与された第1のデバイス宛のデータが受け取られると、宛先IPアドレスが第1のプライベートIPアドレスに書き換えられて第2のVPNトンネルに送出される。したがって、第1のデバイス宛のデータは、第1のVPNトンネルを介して第1のネットワークに届き、さらに、第1のネットワークを介して第1のデバイスに届く。同様に、第2のデバイス宛のデータは、第2のVPNトンネルを介して第2のネットワークに届き、さらに、第2のネットワークを介して第2のデバイスに届く。このように、適用例1のネットワークシステムでは、同一のプライベートIPアドレスが割り当てられた複数のデバイスの各々に対し、クライアントからVPNトンネルを介してデータを送信することができる。
【0024】
なお、本発明は、種々の態様で実現することが可能であり、例えば、クライアント、VPN終端装置、VPN通信システム、これらの装置またはシステムの制御方法、これらの方法、装置またはシステムの機能を実現するためのコンピュータープログラム、そのコンピュータープログラムを記録した記録媒体、等の形態で実現することができる。
【図面の簡単な説明】
【0025】
【図1】本発明の一実施例としてのネットワークシステムの概略構成を示す説明図である。
【図2】図1に示すクライアントの詳細構成を示すブロック図である。
【図3】図2に示す名前解決テーブルの設定内容の一例を示す説明図である。
【図4】図2に示すアドレス変換テーブルの設定内容の一例を示す説明図である。
【図5】図2に示す出力テーブルの設定内容の一例を示す説明図である。
【図6】図1に示すゲートウェイ装置の詳細構成を示すブロック図である。
【図7】ネットワークシステムにおいて実行されるテーブル更新処理の手順を示すシーケンス図である。
【図8】図8は、第1実施例のデータ送信処理の手順を示すフローチャートである。
【図9】第2実施例のネットワークシステムの概略構成を示す説明図である。
【図10】図9に示すDNSサーバーの詳細構成を示すブロック図である。
【図11】第2実施例のクライアントの詳細構成を示すブロック図である。
【図12】第2実施例のテーブル更新処理の手順を示すシーケンス図である。
【図13】第2実施例におけるデータ送信処理及び名前解決処理の手順を示すシーケンス図である。
【発明を実施するための形態】
【0026】
A.第1実施例:
A1.システム構成:
図1は、本発明の一実施例としてのネットワークシステムの概略構成を示す説明図である。第1実施例のネットワークシステム10は、クライアントCL1と、ゲートウェイ装置GW3と、LAN(Local Area Network)13と、3つのプリンターPR1,PR2,PR3と、ゲートウェイ装置GW1と、LAN11と、3つのプリンターPR4,PR5,PR6と、ゲートウェイ装置GW2と、LAN12と、広域通信網15と、VPN(Virtual Private Network)の仮想的なトンネル(以下、「VPNトンネル」と呼ぶ)である第1VPNトンネル901及び第2VPNトンネル902を備えている。
【0027】
クライアントCL1とゲートウェイ装置GW3とは、LAN13に接続されている。3つのプリンターPR1,PR2,PR3とゲートウェイ装置GW1とは、LAN11に接続されている。3つのプリンターPR4,PR5,PR6とゲートウェイ装置GW2とは、LAN12に接続されている。3つのゲートウェイ装置GW1,GW2,GW3は、いずれも広域通信網15に接続されているため、3つのLAN11,12,13は、広域通信網15を介して互いに接続されている。
【0028】
LAN13には、ネットワークアドレスとして「192.168.1.0/24」が割り当てられており、クライアントCL1にはIP(Internet Protocol)アドレスとして、プライベートIPアドレスである「192.168.1.1」が割り当てられている。ゲートウェイ装置GW3のLAN13と接続するインターフェイスには、ネットワークアドレス「192.168.1.0/24」を有するプライベートIPアドレス(図示省略)が割り当てられている。ゲートウェイ装置GW3の広域通信網15と接続するインターフェイスには、グローバルIPアドレス「IPg3」が割り当てられている。
【0029】
LAN11には、ネットワークアドレスとして「192.168.3.0/24」が割り当てられており、プリンターPR1には、IPアドレスとしてプライベートIPアドレスである「192.168.3.1」が割り当てられている。また、プリンターPR2にはプライベートIPアドレスである「192.168.3.2」が、プリンターPR3にはプライベートIPアドレスである「192.168.3.3」が、それぞれIPアドレスとして割り当てられている。ゲートウェイ装置GW1のLAN11と接続するインターフェイスには、ネットワークアドレス「192.168.3.0/24」を有するプライベートIPアドレス(図示省略)が割り当てられている。ゲートウェイ装置GW1の広域通信網15と接続するインターフェイスには、グローバルIPアドレス「IPg1」が割り当てられている。
【0030】
LAN12には、LAN11と同じネットワークアドレスが割り当てられ、LAN12内の3つのプリンターPR4,PR5,PR6には、LAN11内の3つのプリンターPR1,PR2,PR3と同じIPアドレスが割り当てられている。具体的には、LAN12には、ネットワークアドレスとして「192.168.3.0/24」が割り当てられており、プリンターPR4にはIPアドレスとして、プライベートIPアドレスである「192.168.3.1」が割り当てられている。また、プリンターPR5にはプライベートIPアドレスである「192.168.3.2」が、プリンターPR3にはプライベートIPアドレスである「192.168.3.3」が、それぞれIPアドレスとして割り当てられている。ゲートウェイ装置GW1のLAN11と接続するインターフェイスには、ネットワークアドレス「192.168.3.0/24」を有するプライベートIPアドレス(図示省略)が割り当てられている。ゲートウェイ装置GW1の広域通信網15と接続するインターフェイスには、グローバルIPアドレス「IPg2」が割り当てられている。
【0031】
このように、ネットワークシステム10では、LAN11及びLAN12において、各プリンターにIPアドレスが重複して割り当てられているが、後述するテーブル更新処理及びデータ送信処理が実行されることにより、6つのプリンターPR1〜PR6のうち、任意のプリンターに対して、クライアントCL1から印刷ジョブデータを送って印刷を実行させることができる。
【0032】
6つのプリンターPR1〜PR6には、予め装置名(ホスト名)が設定されている。具体的には、プリンターPR1には、装置名「PRT1」が予め設定されている。また、プリンターPR2には装置名「PRT2」が、プリンターPR2には装置名「PRT3」が、プリンターPR4には装置名「PRT4」が、プリンターPR5には装置名「PRT5」が、プリンターPR6には装置名「PRT6」が、それぞれ設定されている。なお、各LAN11〜13に接続される装置の数は、図1に示す数に限定されるものではない。例えば、LAN13に接続されるクライアントの数は複数であってもよい。また、LAN11,12に接続されるプリンターの数は、3つに限らず、任意の数であってもよい。
【0033】
図2は、図1に示すクライアントの詳細構成を示すブロック図である。クライアントCL1は、パーソナルコンピューター100と、ディスプレイ装置171と、キーボード172と、マウス173とを備えている。パーソナルコンピューター100は、CPU110と、ROM(Read Only Memory)125と、RAM(Random Access Memory)142と、ハードディスクドライブ140と、ネットワークインターフェイスカード150と、I/O(Input/Output)インターフェイス部160とを備えている。CPU110と、ROM125と、RAM142と、ハードディスクドライブ140と、ネットワークインターフェイスカード150と、I/Oインターフェイス部160とは、互いに内部バスにより接続されている。
【0034】
ROM125には、TCP(Transmission Control Protocol)/IPなどの、ネットワークを介したデータのやりとりのためのプロトコルを処理するためのプログラムが格納されており、CPU110は、このプログラムを実行することにより、ネットワーク制御部120として機能する。ネットワーク制御部120は、名前解決部121と、第1テーブル更新部122とを備えている。名前解決部121は、上位アプリケーションプログラムからデータの宛先として指定された装置名(ホスト名)に基づき、この装置に割り当てられているIPアドレスを取得する。第1テーブル更新部122は、後述する名前解決テーブル及び出力テーブルを更新する。
【0035】
また、ROM125には、VPNを実現するためのプログラムが格納されており、CPU110は、このプログラムを実行することにより、VPN制御部130として機能する。VPN制御部130は、装置情報取得部131と、第2テーブル更新部132と、第1VPNインターフェイス部(以下、単に「第1VPN−IF」とも呼ぶ)133と、第2VPNインターフェイス部(以下、単に「第2VPN−IF」とも呼ぶ)134とを備えている。
【0036】
装置情報取得部131は、後述するテーブル更新処理において、ゲートウェイ装置GW1及びゲートウェイ装置GW2から出力される装置情報を受信する。第1VPN−IF133は、第1VPNトンネル901を終端する機能部である。具体的には、第1VPN−IF133は、送信データ(レイヤ3パケット)を暗号化し、VPN用のヘッダによりカプセル化して第1VPNトンネル901に出力する。また、第1VPN−IF133は、第1VPNトンネル901から受信するデータ(レイヤ3パケット)からVPN用のヘッダを取り除き、得られたデータを復号化してネットワーク制御部120に渡す。第2VPN−IF134は、第2VPNトンネル902を終端する機能部である。第2VPN−IF134が実行する詳細な処理内容は、第1VPN−IF133と同じであるので、説明を省略する。第1VPN−IF133には、IPアドレスとして、プライベートIPアドレスである「192.168.5.253」が割り当てられている。第1VPN−IF133には、IPアドレスとして、プライベートIPアドレスである「192.168.10.253」が割り当てられている。
【0037】
ROM125には、前述の印刷ジョブ等のデータをLAN13に出力するためのプログラム及びVPNを実現するためのプログラムに加えて、名前解決テーブルTB1と、アドレス変換テーブルTB2と、出力テーブルTB3とが格納されている。図3は、図2に示す名前解決テーブルの設定内容の一例を示す説明図である。図4は、図2に示すアドレス変換テーブルの設定内容の一例を示す説明図である。図5は、図2に示す出力テーブルの設定内容の一例を示す説明図である。
【0038】
名前解決テーブルTB1は、各装置の装置名及びゲートウェイ装置のグローバルIPアドレスから、各装置に割り当てられたIPアドレスを特定するために用いられるテーブルである。図3に示すように、名前解決テーブルTB1は、各装置の装置名と、ゲートウェイ装置のグローバルIPアドレスと、各装置のIPアドレスとを、互いに対応付けている。名前解決テーブルTB1における「ゲートウェイ装置のグローバルIPアドレス」とは、各装置が所属するLAN内のゲートウェイ装置に割り当てられているグローバルIPアドレスを意味する。例えば、最上段のエントリーは、プリンターPR1(装置名「PRT1」)についてのエントリーであり、このエントリーには、ゲートウェイ装置のグローバルIPアドレスとして、ゲートウェイ装置GW1のグローバルIPアドレスである「IPg1」が設定されている。名前解決テーブルTB1における「IPアドレス」とは、各装置において実際に設定されているIPアドレスではなく、後述するデータ送信処理において、クライアントCL1が各装置を特定するために用いられるIPアドレスである。後述するように、クライアントCL1では、LAN11,12内の各プリンターPR1〜PR6は、仮想的なIPアドレスにより特定される。したがって、例えば、最上段のプリンターPR1についてのエントリーには、「IPアドレス」として、プリンターPR1に実際に設定されている「192.168.3.1」ではなく、仮想的なIPアドレスである「192.168.5.1」が設定されている。仮想的なIPアドレスの詳細については、後述する。なお、名前解決テーブルTB1の各エントリーは、後述するテーブル変更処理において追加される。
【0039】
アドレス変換テーブルTB2は、後述するデータ送信処理において、宛先IPアドレスを変換する際に用いられるテーブルである。図4に示すように、アドレス変換テーブルTB2は、変換前のIPアドレスと、変換後のIPアドレスとを互いに対応付ける。「変換前のIPアドレス」は、前述の名前解決テーブルTB1に設定される「IPアドレス」と同じであり、クライアントCL1が各装置を特定するために用いられる仮想的なIPアドレスである。「変換後のIPアドレス」は、各装置に実際に設定されているIPアドレスである。例えば、最上段のエントリーは、プリンターPR1について設定されたエントリーであり、変換前のIPアドレスとして「192.168.5.1」が、変換後のIPアドレスとして「192.168.3.1」が、それぞれ設定されている。アドレス変換テーブルTB2の各エントリーは、後述するテーブル変更処理において追加される。
【0040】
出力テーブルTB3は、後述するデータ送信処理において、送信しようとするデータの出力先のインターフェイスを決定するために用いられるテーブルである。図5に示すように、出力テーブルTB3は、ネットワーク(ネットワークアドレス)と、出力インターフェイスとを対応付ける。出力テーブルTB3における「ネットワーク」とは、送信しようとするデータの宛先となるプリンターが所属するネットワークを示す。クライアントCL1では、LAN11,12を仮想的なネットワーク(仮想的なネットワークアドレスが割り当てられたネットワーク)として特定している。例えば、データの宛先がLAN11内のいずれかのプリンターPR1,PR2,PR3である場合には、これらのプリンターが所属するネットワークは、プライベートネットワークアドレス「192.168.3.0/24」が割り当てられたLAN11である。しかしながら、クライアントCL1では、このLAN11を、仮想的なプライベートネットワークアドレスである「192.168.5.0/24」により特定する。同様に、クライアントCL1では、LAN12を、実際に割り当てられている「192.168.3.0/24」とは異なる「192.168.10.0/24」により特定する。出力テーブルTB3において、「出力インターフェイス」とは、送信しようとするデータの処理を実行させるインターフェイスを示す。例えば、最上段のエントリーでは、ネットワークアドレス「192.168.5.0/24」に対して、出力インターフェイス「第1VPN−IF」が対応付けられている。したがって、仮想的なネットワークである「192.168.5.0/24」内のプリンターを宛先とするデータについては、出力インターフェイスとして第1VPN−IF133が用いられる。上から2段目のエントリーでは、ネットワークアドレス「192.168.10.0/24」に対して、出力インターフェイス「第2VPN−IF」が対応付けられている。最下段のエントリーでは、ネットワークとして「*」が設定されている。これは、ネットワークアドレスが「192.168.5.0/24」のネットワーク及びネットワークアドレスが「192.168.10.0/24」のネットワークを除く他の任意のネットワークを意味する。また、最下段のエントリーでは、出力インターフェイスとして「LAN−IF」が設定されている。LAN−IFについては後述する。
【0041】
出力テーブルTB3は、LAN13又はクライアントCL1の管理者によって、予め設定される。管理者は、各VPN−IF(第1VPN−IF133及び第2VPN−IF134)ごとに、互いに異なる任意の仮想的なネットワークアドレス(プライベートネットワークアドレス)を割り当てるようにする。
【0042】
図2に示すネットワークインターフェイスカード150は、レイヤ2での通信を実現する機能部であり、ネットワークケーブルCa1を接続するためのコネクタ等の物理的なインターフェイスに加えて、レイヤ2のプロトコル(例えば、Ethernet(登録商標))を実行するLAN−IF151を備えている。
【0043】
図2示すI/Oインターフェイス部160は、パーソナルコンピューター100とディスプレイ装置171との間の接続インターフェイスと、パーソナルコンピューター100とキーボード172との間の接続インターフェイスと、パーソナルコンピューター100とマウス173との間の接続インターフェイスとを有する。クライアントCL1は、キーボード172やマウス173から入力される指示内容に応じて、ディスプレイ装置171に処理結果を表示したり、印刷データを生成して6つのプリンターPR1〜PR6に送信する処理を行う。
【0044】
図6は、図1に示すゲートウェイ装置の詳細構成を示すブロック図である。ゲートウェイ装置GW1は、いわゆるVPN装置かつルーター装置であり、CPU210と、ROM250と、RAM250と、ネットワークインターフェイス部260とを備えている。
【0045】
ROM250には、パケット転送用のプログラムが格納されており、CPU210は、このプログラムを実行することにより、転送処理部211及び転送制御部212として機能する。転送処理部211は、ネットワークインターフェイス部240を介して入力されるレイヤ3パケットの転送を行う。転送制御部212は、後述するルーティングテーブルを参照して、転送処理部211におけるパケット転送を制御する。
【0046】
また、ROM250には、TCP/IPなどの、ネットワークを介したデータのやりとりのためのプロトコルを処理するためのプログラムが格納されており、CPU210は、このプログラムを実行することにより、ネットワーク制御部220として機能する。また、ROM250には、VPNを実現するためのプログラムが格納されており、CPU210は、このプログラムを実行することにより、VPN制御部230として機能する。VPN機能部230は、装置情報通知部231と、VPNインターフェイス部(以下、単に「VPN−IF」とも呼ぶ)232とを備えている。装置情報通知部231は、後述するテーブル更新処理において、装置情報を、クライアントCL1に送信する。VPN−IF232は、第1VPNトンネル901を終端する機能部である。VPN−IF232は、上述したクライアントCL1の第1VPN−IF133と同様の機能を有するので、説明を省略する。
【0047】
ネットワークインターフェイス部240は、ゲートウェイ装置GW1から広域通信網15に向かうアクセス回線用の図示しないネットワークインターフェイスカードを有しており、このネットワークインターフェイスカードにおいてネットワークケーブルCa2と接続されている。本実施例では、アクセス回線として、例えば、光回線や、ADSL(Asymmetric Digital Subscriber Line)回線を採用することができる。また、ネットワークインターフェイス部240は、LAN11用の図示しないネットワークインターフェイスカードを有し、このネットワークインターフェイスカードにおいてネットワークケーブルCa3と接続されている。また、ネットワークインターフェイス部240は、LAN−IF241と、WAN−IF242とを有している。LAN−IF241は、上述したクライアントCL1のLAN−IF151と同様に、レイヤ2のプロトコルを実行する。WAN−IF242は、ゲートウェイ装置GW1から広域通信網15に向かうアクセス回線におけるレイヤ2のプロトコルを実行する。
【0048】
ROM250は、上述した各種プログラムに加えて、ルーティングテーブル251及びARP(Address Resolution Protocol)テーブル252を格納している。ルーティングテーブル251は、宛先アドレスと出力インターフェイスとが対応付けられたテーブルであり、転送処理部211においてレイヤ3パケットを転送する際の経路を決定するために用いられる。ARPテーブル252は、IPアドレスとMAC(Media Access Control)アドレスとを対応付けたテーブルであり、新たな経路で通信を行うたびに、転送制御部212によってエントリーが追加(学習)される。
【0049】
ゲートウェイ装置GW2は、上述したゲートウェイ装置GW1と同様な構成を有するので、説明を省略する。但し、ゲートウェイ装置GW2のVPN−IF232は、第1VPNトンネル901に代えて、第2VPNトンネル902を終端する点において、ゲートウェイ装置GW1のVPN−IF232と異なる。
【0050】
図1に示す6つのプリンターPR1〜PR6は、いずれも、自らが所属するLAN用のネットワークインターフェイスカードを備えると共に、TCP/IPによるデータのやりとり(例えば、印刷ジョブデータの受信や、印刷終了のメッセージの送信)を実行することができる。図1に示すゲートウェイ装置GW3は、いわゆるルーター装置であり、レイヤ3パケットを、宛先アドレスに従って適切な経路に転送する。なお、ゲートウェイ装置GW3は、VPNマルチパススルーに対応しており、第1VPNトンネル901及び第2VPNトンネル902を経由するパケットについては、NAT(Network Address Translation)等によるアドレス変換を行わない。図1に示す広域通信網15としては、例えば、インターネットや、電気通信事業者が提供する広域イーサネット網(イーサネットは登録商標)を採用することができる。
【0051】
なお、前述のLAN11は、請求項における第1のネットワークに相当する。また、3つのプリンターPR1〜PR3はそれぞれ請求項における第1のデバイスに、ゲートウェイ装置GW1は請求項における第1のVPN終端装置に、LAN12は請求項における第2のネットワークに、3つのプリンターPR4〜PR6はそれぞれ請求項における第2のデバイスに、ゲートウェイ装置GW2は請求項における第2のVPN終端装置に、LAN13は請求項における第3のネットワークに、第1VPN−IF133は請求項における第1のVPN終端部に、第2VPN−IF134は請求項における第2のVPN終端部に、アドレス変換テーブルTB2及び第2テーブル更新部132は請求項におけるアドレス対応部に、出力テーブルTB3は請求項におけるVPN終端対応部に、ネットワーク制御部120は請求項におけるパケット生成部に、ゲートウェイ装置GW1のグローバルIPアドレス「IPg1」は請求項における第1のネットワーク識別子に、ゲートウェイ装置GW2のグローバルIPアドレス「IPg2」は請求項における第2のネットワーク識別子に、名前解決テーブルTB1及び第1テーブル更新部122は請求項における装置名対応部に、それぞれ相当する。
【0052】
A2.テーブル更新処理:
図7は、ネットワークシステムにおいて実行されるテーブル更新処理の手順を示すシーケンス図である。図7において、左はゲートウェイ装置GW1,GW2において実行されるフローチャートを示し、右はクライアントCL1において実行されるフローチャートを示す。
【0053】
ネットワークシステム10では、第1VPNトンネル901又は第2VPNトンネル902が形成されるタイミングで、テーブル更新処理が実行される。第1VPNトンネル901又は第2VPNトンネル902が形成されるタイミングとは、クライアントCL1が、LAN11又はLAN12内のプリンターにデータを送信しようとするタイミングを意味する。例えば、クライアントCL1がLAN11内のプリンターPR1にデータを送信しようとする場合、クライアントCL1の第1VPN−IF133は、第1VPNトンネル901の他端となるゲートウェイ装置GW1のVPN−IF232との間で、VPNのプロトコルに従って、認証や暗号化鍵のやりとりを行う。この後、クライアントCL1及びゲートウェイ装置GW1においてテーブル更新処理が実行される。
【0054】
ゲートウェイ装置GW1又はゲートウェイ装置GW2において、装置情報通知部231は、自らが所属するLAN内の各装置(プリンター)のIPアドレス及び装置名を取得する(ステップS105)。装置情報通知部231は、ARPテーブル252を参照することにより、各プリンターのIPアドレスを得ることができる。また、装置情報通知部231は、IPアドレスと装置名とを対応付けるROM250に格納されている図示しないテーブル(例えば、「hosts」ファイル)を参照することにより、各プリンターの装置名を得ることができる。
【0055】
ゲートウェイ装置GW1又はゲートウェイ装置GW2において、装置情報通知部231は、VPN−IF232を制御して、ステップS105で取得されたIPアドレス及び装置名を、他端においてVPNトンネルを終端するクライアントCL1に送信する(ステップS105)。前述のように、クライアントCL1からプリンターPR1に印刷ジョブを送ろうとする際に、プリンターPR1と同じLAN11に所属するゲートウェイ装置GW1において、装置情報通知部231は、VPN−IF232を制御して、3つのプリンターPR1,PR2,PR3のIPアドレス及び装置名を、クライアントCL1に送信する。
【0056】
クライアントCL1において、装置情報取得部131は、前述のステップS110においてゲートウェイ装置GW1又はゲートウェイ装置GW2から出力された各装置のIPアドレス及び装置名を、第1VPN−IF133又は第2VPN−IF134を介して受信する(ステップS205)。クライアントCL1において、第2テーブル更新部132は、ステップS205でIPアドレス及び装置名を受信したVPN−IFに基づき、出力テーブルTB3を参照して、通知されたIPアドレス及び装置名を有する各装置が所属する仮想的なネットワークを特定する(ステップS210)。前述のように、プリンターPR1,PR2,PR3のIPアドレス及び装置名を、第1VPN−IF133を介してゲートウェイ装置GW1から受信した場合、第2テーブル更新部132は、図5に示す出力テーブルTB3の最上段のエントリーに基づき、各プリンターPR1,PR2,PR3が所属する仮想的なネットワークとして、「192.168.5.0/24」のネットワークを特定する。
【0057】
クライアントCL1において、第2テーブル更新部132は、ステップS205で受信した各装置のIPアドレスのホストアドレスと、ステップS210で特定された仮想的なネットワークのネットワークアドレスとに基づき、ステップS205で受信した装置名の各装置に割り当てる仮想的なIPアドレスを決定する(ステップS215)。例えば、プリンターPR1について、ステップS205で受信した、IPアドレス「192.168.3.1/24」のホストアドレスと、ステップS210で特定された仮想的なネットワークのネットワークアドレス「192.168.5.0/24」とを合わせて、仮想的なIPアドレス「192.168.5.1/24」が決定される。同様に、プリンターPR2については仮想的なIPアドレス「192.168.5.2/24」が、プリンターPR3については仮想的なIPアドレス「192.168.5.3/24」が、それぞれ決定される。
【0058】
クライアントCL1において、第1テーブル更新部122は、ステップS205において、装置名等を送信したゲートウェイ装置のグローバルIPアドレス及び通知された装置名と、ステップS215において割り当てられた仮想的なIPアドレスとを用いて、名前解決テーブルTB1に新たなエントリーを追加する(ステップS220)。例えば、前述のように、ゲートウェイ装置GW1からプリンターPR1のIPアドレス及び装置名が送信された場合、ゲートウェイ装置GW1のグローバルIPアドレス「IPg1」と、装置名「PRT1」と、仮想的なIPアドレス「192.168.5.1/24」とを用いて、図3に示す名前解決テーブルTB1の最上段のエントリーが追加される。
【0059】
クライアントCL1において、第2テーブル更新部132は、ステップS205において通知されたIPアドレスと、ステップS215において決定された仮想的なIPアドレスとを用いて、アドレス変換テーブルTB2に新たなエントリーを追加する(ステップS225)。具体的には、仮想的なIPアドレスを変換前のIPアドレスとし、ステップS205において通知されたIPアドレスを変換後のIPアドレスとする新たなエントリーを追加する。例えば、前述のように、ゲートウェイ装置GW1からプリンターPR1のIPアドレス及び装置名が送信された場合、通知されたIPアドレス「192.168.3.1」と、ステップS215において決定された仮想的なIPアドレス「192.168.5.1」とを用いて、図4に示すアドレス変換テーブルTB2の最上段のエントリーが追加される。
【0060】
A3.データ送信処理:
図8は、第1実施例のデータ送信処理の手順を示すフローチャートである。クライアントCL1には、各プリンターPR1〜PR6について、装置名及び対応するゲートウェイ装置のグローバルIPアドレスが予め登録されており、印刷を実行させる装置名(プリンター名)及びゲートウェイ装置のグローバルIPアドレスを指定した印刷指示が入力される。この印刷指示が入力されると、上述したVPNトンネルの形成処理及びテーブル更新処理が実行された後、データ送信処理が実行される。なお、印刷指示において、装置名に加えてゲートウェイ装置のグローバルIPアドレスが指定されるのは、異なるLANに接続された複数のプリンターに対して装置名が重複して登録されるおそれがあるため、装置名に加えてゲートウェイ装置のグローバルIPアドレスが指定されることにより、印刷を実行させようとするプリンターを一意に特定するためである。
【0061】
クライアントCL1において、名前解決部121は、名前解決テーブルTB1を参照して、印刷指示において指定された装置名及びゲートウェイ装置のグローバルIPアドレスから、印刷を実行させようとするプリンターのIPアドレスを特定する(ステップS305)。例えば、クライアントCL1において、プリンターPR1への印刷指示として、プリンターPR1の装置名「PRT1」及びゲートウェイ装置GW1のグローバルIPアドレス「IPg1」を指定した印刷指示が入力されると、名前解決部121は、図3に示す名前解決テーブルTB1の最上段のエントリーに基づき、仮想的なIPアドレス「192.168.5.1」を特定する。
【0062】
ネットワーク制御部120は、出力テーブルTB3を参照して、ステップS305において特定されたIPアドレスを宛先とするパケットの出力先となるインターフェイスを特定し、かかるインターフェイスに印刷ジョブデータを渡す(ステップS310)。前述のように、仮想的なIPアドレス「192.168.5.1」が特定されると、ネットワーク制御部120は、図5に示す出力テーブルTB3の最上段のエントリーに基づき、出力インターフェイスとして第1VPN−IF133を特定し、第1VPN−IF133に印刷ジョブデータを渡す。
【0063】
ステップS310において特定された出力インターフェイスがVPN−IF(第1VPN−IF133又は第2VPN−IF134)である場合、VPN−IF(第1VPN−IF133又は第2VPN−IF134)は、アドレス変換テーブルTB2を参照して、宛先IPアドレスを変換する(ステップS315)。前述のように、宛先IPアドレス「192.168.5.1」が特定され、第1VPN−IF133が出力インターフェイスとして特定されると、第1VPN−IF133は、図4に示すアドレス変換テーブルTB2の最上段のエントリーに基づき、宛先IPアドレスを、「192.168.5.1」から「192.168.3.1」に変換する。
【0064】
ステップS315におけるIPアドレスの変換(仮想的なIPアドレスから実際に設定されているIPアドレスへの変換)が実行された後、VPN−IF(第1VPN−IF133又は第2VPN−IF134)は、パケットの暗号化及びカプセル化を行う(ステップS320)。この処理は、例えば、IETF(Internet Engineering Task Force)において規定されるIPSec(Security Architecture for Internet Protocol)など、VPN−IFがサポートするVPN用のプロトコルに従った処理である。前述のように、第1VPN−IF133がステップS315におけるアドレス変換を実行した場合、第1VPN−IF133がステップS320を実行する。
【0065】
ステップS320における暗号化及びカプセル化が実行された後、ネットワーク制御部120は、LAN−IF151を制御して、暗号化及びカプセル化後のパケットを、LAN13に出力する(ステップS325)。上述したように、第1VPN−IF133がステップS320における暗号化及びカプセル化を実行した場合、ステップS320においてパケットはLAN13に出力されるが、このパケットは、論理的には、第1VPNトンネル901に出力される。したがって、このパケットは、ゲートウェイ装置GW3及び広域通信網15を介して、ゲートウェイ装置GW1に届くこととなる。
【0066】
ゲートウェイ装置GW1のVPN−IF232は、受信したパケットからVPN用ヘッダをはずし、また、復号化して、宛先IPアドレスが「192.168.3.1」のパケット(印刷ジョブデータのパケット)を得る。ゲートウェイ装置GW1の転送処理部211は、宛先IPアドレスが「192.168.3.1」のパケットをLAN11に出力するので、プリンターPR1はこのパケットを受信し、印刷ジョブデータを取得することができる。なお、前述のステップS310において、特定された出力インターフェイスがVPN−IFでない場合(すなわち、LAN−IF151の場合)、前述のステップS325が実行され、パケットがLAN13に出力される。
【0067】
以上は、クライアントCL1からプリンターPR1宛に印刷ジョブデータが送信される場合について例示したが、例えば、クライアントCL1からプリンターPR4に印刷ジョブデータが送信される場合、ステップS305でIPアドレス「192.168.10.1」が特定され、ステップS310で出力先インターフェイス「第2VPN−IF134」が特定される。加えて、ステップS315で宛先IPアドレスが「192.168.10.1」から「192.168.3.1」に変換され、暗号化及びカプセル化後のパケットが、第2VPNトンネル902を通ってゲートウェイ装置GW2に届くこととなる。したがって、宛先IPアドレス「192.168.3.1」の印刷ジョブデータを含むパケットが、LAN12を介してプリンターPR4に届き、プリンターPR4において印刷が実行されることとなる。
【0068】
以上説明した第1実施例のネットワークシステム10では、LAN11内のプリンターPR1〜PR3と、LAN12内のプリンターPR4〜PR6とで、IPアドレスが重複して割り当てられている。しかしながら、ネットワークシステム10では、各プリンターPR1〜PR6を、互いに重複しない仮想的なIPアドレスにより特定して出力インターフェイスを決定するので、印刷指示において指定されたプリンターに応じた適切なVPNトンネルに、印刷ジョブデータを含むパケットを出力することができる。また、特定された出力インターフェイスにおいて、仮想的なIPアドレスから実際に設定されているIPアドレスに変換されるので、VPNトンネルの他端であるゲートウェイ装置GW1,GW2においてVPNヘッダが取り外されて復号化されたパケットの宛先IPアドレスとして、印刷指示において指定されたプリンターに実際に割り当てられているIPアドレスを設定することができる。したがって、印刷ジョブデータを、印刷指示において指定されたプリンターに届けることができる。このようにして、ネットワークシステム10では、同一のプライベートIPアドレスが割り当てられた複数のプリンターの各々に対して、クライアントCL1からVPNトンネルを介してデータを送信することができる。
【0069】
加えて、ネットワークシステム10では、各プリンターを特定するための情報として、仮想的なIPアドレスを用いているので、名前解決(ステップS305)や、出力インターフェイスの特定(ステップS310)の各処理として、元々互いに異なるIPアドレスが割り当てられたデバイスに対してデータを送信する際の処理と同じ処理を実行させることができる。したがって、各処理をシンプルに構成することができ、クライアントCL1の製造コストを抑えることができる。
【0070】
また、各プリンターに割り当てる仮想的なIPアドレスとして、実際に割り当てられているIPアドレスのホストアドレスと同じホストアドレスを有するIPアドレスを用いるので、仮想的なネットワーク(仮想的なネットワークアドレスが割り当てられたアドレス空間)上において、IPアドレスの重複割り当ての発生を抑制できる。これは、各LAN11,12内における実際のIPアドレスの重複割り当ては発生の可能性が低いので、実際に割り当てられているIPアドレスのホストアドレスと同じホストアドレスを有するIPアドレスを仮想的なIPアドレスとして割り当てることにより、仮想的なIPアドレス同士の重複の可能性を低くすることができるからである。
【0071】
また、クライアントCL1は、名前解決部121及び名前解決テーブルTB1を有するので、各プリンターPR1〜PR6に割り当てた仮想的なIPアドレスに代えて、装置名及びゲートウェイ装置のグローバルIPアドレスにより、プリンターを特定して印刷指示を入力できる。したがって、ユーザーは、仮想的なIPアドレスを知らなくてもプリンターを特定して印刷指示を行うことができる。加えて、ユーザーにおいて、プリンター(ネットワーク)を特定する情報として、ゲートウェイ装置GW1,GW2に既に設定されているグローバルIPアドレスを用いるので、プリンター(ネットワーク)を特定する情報として新たな情報(識別子)を用いる構成に比べて、情報の割り当てや情報の管理等に要する処理を軽減することができる。
【0072】
B.第2実施例:
B1.システム構成:
図9は、第2実施例のネットワークシステムの概略構成を示す説明図である。図10は、図9に示すDNSサーバーの詳細構成を示すブロック図である。図11は、第2実施例のクライアントの詳細構成を示すブロック図である。
【0073】
図9に示すネットワークシステム10aは、DNS(Domain Name Server)サーバー300を備えている点においてネットワークシステム10と異なり、他の構成は、図1に示すネットワークシステム10と同じである。DNSサーバー300は、装置名及びゲートウェイ装置のグローバルIPアドレスからIPアドレスを特定するためのサーバーである。DNSサーバー300は、LAN13に接続されている。
【0074】
図10に示すように、DNSサーバー300は、CPU310と、ROM320と、RAM330と、ハードディスクドライブ340と、ネットワークインターフェイス部350とを備えている。
【0075】
ROM320には、ネットワークを介したデータのやりとりを実行するためのプログラムが格納されており、CPU110は、このプログラムを実行することにより、名前解決部311と、テーブル更新部312と、装置情報受信部313と、ネットワーク制御部314として機能する。名前解決部311は、第1実施例のクライアントCL1における名前解決部121と同様であるので、説明を省略する。テーブル更新部312は、後述する名前解決テーブル321を更新する。装置情報受信部313は、後述するテーブル更新処理において、クライアントCL1より出力される装置名等を受信する。ネットワーク制御部314は、レイヤ3パケットの送受信を制御すると共に、ネットワークインターフェイス部350を制御してレイヤ2フレームの送受信を制御する。
【0076】
ROM320には、前述のプログラムに加えて、名前解決テーブル321が格納されている。名前解決テーブル321は、第1実施例の名前解決テーブルTB1と同じであるので、説明を省略する。ネットワークインターフェイス部350は、レイヤ2以下の処理を実行する。ネットワークインターフェイス部350は、LAN13に接続するための図示しないネットワークインターフェイスカードを有しており、このネットワークインターフェイスカードにおいてネットワークケーブルCa4と接続されている。
【0077】
図11に示すように、第2実施例のクライアントCL1aは、ROM125が名前解決テーブルTB1を格納していない点と、ネットワーク制御部120が、名前解決部121及び第1テーブル更新部122に代えて、アドレス問い合わせ部123を備えている点と、VPN制御部130が、装置情報送信部135を備えている点とにおいて、図2に示す第1実施例のクライアントCL1と異なり、他の構成は、クライアントCL1と同じである。
【0078】
アドレス問い合わせ部123は、後述するデータ送信処理において、DNSサーバー300に対してIPアドレスを問い合わせる。装置情報送信部135は、後述するテーブル更新処理において、DNSサーバー300に装置名等を送信する。
【0079】
B2.テーブル更新処理:
図12は、第2実施例のテーブル更新処理の手順を示すシーケンス図である。図12において、最も左は、ゲートウェイ装置GW1,GW2において実行されるフローチャートを示し、中央は、クライアントCL1aにおいて実行されるフローチャートを示し、最も右は、DNSサーバー300において実行されるフローチャートを示す。第2実施例のテーブル更新処理は、名前解決テーブルの更新及び名前解決の処理をDNSサーバー300において実行する点において、第1実施例のテーブル更新処理と異なり、他の処理内容は、第1実施例と同様である。
【0080】
ゲートウェイ装置GW1,GW2では、前述のステップS105,S110が実行される。クライアントCL1aにおいて、装置情報送信部135は、前述のステップS205,210,215が実行された後、ステップS205において装置名等を送信したゲートウェイ装置のグローバルIPアドレス及び通知された装置名と、ステップS215において割り当てられた仮想的なIPアドレスとを、ネットワーク制御部120を制御してDNSサーバー300に送信する(ステップS218)。なお、クライアントCL1aでは、前述のステップS218の後、前述のステップS225が実行される。
【0081】
DNSサーバー300において、装置情報受信部313は、クライアントCL1aから出力された装置名等を受信し、テーブル更新部312は、受信された装置名と、ゲートウェイ装置のグローバルIPアドレスと、割り当てられた仮想的なIPアドレスとを用いて、名前解決テーブル321に新たなエントリーを追加する(ステップS405)。このステップS405は、第1実施例のテーブル更新処理におけるステップS220と同様であるので、説明を省略する。
【0082】
B3.データ送信処理及び名前解決処理:
図13は、第2実施例におけるデータ送信処理及び名前解決処理の手順を示すシーケンス図である。図13において、左側はクライアントCL1aにおいて実行されるデータ送信処理のフローチャートを示し、右側はDNSサーバー300において実行される名前解決処理のフローチャートを示す。第2実施例のデータ送信処理は、ステップS305に代えて、ステップS307,S308を実行する点において、図8に示す第1実施例のデータ送信処理と異なり、他の処理内容は、第1実施例と同じである。
【0083】
クライアントCL1aにおいて、アドレス問い合わせ部123は、印刷指示において指定された装置名及びゲートウェイ装置のグローバルIPアドレスを用いて、DNSサーバー300にIPアドレスを問い合わせる(ステップS307)。
【0084】
DNSサーバー300において、名前解決部311は、名前解決テーブル321を参照して、クライアントCL1aより受信した装置名及びゲートウェイ装置のグローバルIPアドレスから、IPアドレスを特定する(ステップS605)。この処理は、第1実施例のデータ送信処理のステップS305と同様であるので、説明を省略する。DNSサーバー300において、名前解決部311は、ステップS605で特定したIPアドレスをクライアントCL1aに送信する(ステップS610)。
【0085】
クライアントCL1aにおいて、ネットワーク制御部120は、前述のステップS307の後、DNSサーバー300からIPアドレスの通知があるまで待機しており(ステップS308)、IPアドレスの通知があると、前述のステップS310〜S325が実行される。
【0086】
以上説明した第2実施例のネットワークシステム10aは、第1実施例のネットワークシステム10と同様の効果を有する。加えて、名前解決をクライアントCL1aにおいて実行させず、DNSサーバー300において実行させるので、クライアントCL1aのCPU110の処理負荷を軽減できる。また、クライアントCL1aのROM125に名前解決テーブルを格納しないので、ROM125の容量を低減させることができる。以上より、第2実施例のネットワークシステム10aによると、クライアントCL1aの製造コストを抑制することができる。
【0087】
なお、第2実施例において、DNSサーバー300は、請求項における名前解決サーバーに相当する。また、名前解決テーブル321及びテーブル更新部312は、請求項における装置名対応部に相当する。
【0088】
C.変形例:
この発明は、上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【0089】
C1.変形例1:
各実施例では、テーブル更新処理において、ゲートウェイ装置GW1,GW2がクライアントCL1,CL1aに送信する情報は、自らが所属するLAN内の各装置(各プリンターPR1〜PR6)のIPアドレス及び装置名であったが、装置名を省略して各装置のIPアドレスのみを送信する構成を採用することもできる。この構成では、例えば、ユーザーは、予め各装置の装置名を調べて、名前解決テーブルTB1,321において、各装置に割り当てられた仮想的なIPアドレスに対応付けて、各装置の装置名を追加することができる。
【0090】
また、各実施例では、テーブル更新処理において、ゲートウェイ装置GW1,GW2は、クライアントCL1,CL1aに対して、自らが所属するLAN内の各装置のIPアドレス及び装置名を送信していたが、本発明はこれに限定されるものではない。例えば、管理者がLAN11,12内の各装置のIPアドレス及び装置名を調べて、名前解決テーブルTB1,321や、アドレス変換テーブルTB2に追加する構成を採用することができる。この構成では、ゲートウェイ装置GW1,GW2が、自らが所属するLAN内の各装置のIPアドレス及び装置名をクライアントCL1,CL1aに送信する処理(ステップS105)を省略することができるので、ゲートウェイ装置GW1,GW2の処理負荷を軽減することができる。
【0091】
C2.変形例2:
各実施例では、装置名及びゲートウェイ装置のグローバルIPアドレスから、各プリンターのIPアドレス(仮想的なIPアドレス)を特定する名前解決を行っていたが、名前解決を省略することもできる。例えば、ユーザーが、各プリンターPR1〜PR6に実際に割り当てられているIPアドレスを知っており、また、各LAN11,12がクライアントCL1,CL1aのいずれのVPN−IF(第1VPN−IF133及び第2VPN−IF134)と対応付けられているかを知っており、各VPN−IFがどのようなネットワークと対応付けられているかを知っている場合には、各プリンターに割り当てられる仮想的なIPアドレスを容易に知ることができる。例えば、プリンターPR1のIPアドレス「192.168.3.1」を知っており、プリンターPR1が所属するLAN11が第1VPN−IF133に対応付けられていることを知っており、第1VPN−IF133が、ネットワークアドレス「192.168.5.0/24」のネットワークと対応付けられていることを知っている場合には、プリンターPR1に割り当てられる仮想的なIPアドレスとして、「192.168.5.1」が割り当てられることを容易に知ることができる。したがって、ユーザーは、仮想的なIPアドレスを指定して印刷指示をクライアントCL1,CL1aに入力することができる。このような構成においては、名前解決を行わずに済むため、クライアントCL1またなネットワークシステム全体の製造コストを抑制できる。
【0092】
C3.変形例3:
各実施例では、各プリンターPR1〜PR6の仮想的なIPアドレスを割り当てる際に、各プリンターPR1〜PR6に実際に設定されているIPアドレスのホストアドレスを、仮想的なIPアドレスのホストアドレスとして用いているが、本発明は、これに限定されるものではない。同じネットワーク内において互いに重複しない任意のホストアドレスを、仮想的なIPアドレスのホストアドレスとして採用することができる。このような構成においても、仮想的なIPアドレスに重複は生じないので、仮想的なIPアドレスにより、各プリンターPR1〜PR6を一意に特定することができる。
【0093】
また、各実施例では、プリンターPR1〜PR3と、プリンターPR4〜PR6とは、仮想的なIPアドレスとして、互いに異なるネットワークアドレスを有するIPアドレスが割り当てられていたが、本発明はこれに限定されるものではない。プリンターPR1〜PR3と、プリンターPR4〜PR6とで、互いに同じネットワークアドレスを有し、互いに異なるホストアドレスを有するIPアドレスが割り当てられる構成を採用することもできる。この構成においては、出力テーブルとして、割り当てられた仮想的なIPアドレスごとに、出力インターフェイスを対応付けるようにすることが好ましい。
【0094】
また、各実施例において、各プリンターPR1〜PR3を特定するために用いられる仮想的なIPアドレスは、プライベートIPアドレスであったが、プライベートIPアドレスに代えて、グローバルIPアドレスを採用することもできる。
【0095】
C4.変形例4:
各実施例の名前解決テーブルTB1,321において、プリンターを指定するために用いられる情報は、プリンターの装置名と、プリンターが所属するLAN内に配置されたゲートウェイ装置のグローバルIPアドレスであったが、本発明はこれに限定されるものではない。例えば、装置名と、プリンターが所属するLAN内に配置されたゲートウェイ装置のMACアドレスとを用いることもできる。すなわち、一般には、装置名と、LAN(ネットワーク)を一意に特定可能な任意の識別子とを、名前解決テーブルTB1,321において、プリンターを指定するために用いることができる。また、装置名及びネットワーク識別子に代えて、完全修飾ドメイン名を用いてプリンターを指定することもできる。
【0096】
C5.変形例5:
各実施例において、テーブル更新処理が実行されるタイミングは、第1VPNトンネル901又は第2VPNトンネル902が形成されるタイミングであったが、本発明はこれに限定されるものではない。各VPNトンネル901,902が更新されるタイミング(セキュリティ向上を目的として、定期的に互いに認証を行ったり、暗号鍵をやり取りするタイミング)に実行することもできる。また、VPNトンネル901,902の形成及び更新のタイミングに代えて、または、VPNトンネル901,902の形成及び更新のタイミングに加えて、任意のタイミングに(例えば、任意の期間ごとに定期的に)、テーブル更新処理を実行することができる。
【0097】
C6.変形例6:
各実施例では、各VPN終端部133,134に対して宛先となるプリンターを指定するための情報として、仮想的なIPアドレスを用いていたが、本発明は、これに限定されるものではない。例えば、各プリンターに実際に割り当てられているIPアドレス及びゲートウェイ装置(各プリンターが所属しているLANに所属するゲートウェイ装置)のグローバルIPアドレスを、宛先となるプリンターを指定するための情報として用いることもできる。この構成においては、出力テーブルとして、各プリンターに実際に割り当てられているIPアドレスとグローバルIPアドレスとを、出力インターフェイスに対応付けることが好ましい。
【0098】
C7.変形例7:
各実施例において、クライアントCL1,CL1aは、主としてパーソナルコンピューター100により構成されていたが、パーソナルコンピューターに代えて、携帯電話端末や、PDA(Personal Digital Assistants)などにより構成することもできる。すなわち、一般には、VPNトンネルを終端する機能、及びVPNトンネルを介したデータのやりとりを行う機能を有する任意の装置を、クライアントとして採用することができる。
【0099】
また、各実施例では、クライアントCL1,CL1aから出力されるデータを受信する装置として、プリンターが用いられていたが、プリンターに代えて、プロジェクターや、ネットワークカメラや、テレビ会議システム用のサーバー装置など、任意のデバイスを採用することができる。
【0100】
また、各実施例では、クライアントCL1,CL1aとは反対側の端においてVPNトンネル901,902を終端する装置は、ルーター装置(ゲートウェイ装置GW1,GW2)であったが、本発明は、これに限定されるものではない。VPNトンネルを終端する専用装置を、ルーター装置とは別に採用し、かかる専用装置により、VPNトンネル901,902を終端することもできる。この構成では、VPNトンネルを終端する専用装置は、請求項におけるVPN終端装置に相当する。
【0101】
C8.変形例8:
各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。また、本発明の機能の一部または全部がソフトウェアで実現される場合には、そのソフトウェア(コンピュータープログラム)は、コンピューター読み取り可能な記録媒体に格納された形で提供することができる。この発明において、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスクやCD−ROMのような携帯型の記録媒体に限らず、各種のRAMやROM等のコンピューター内の内部記憶装置や、ハードディスク等のコンピューターに固定されている外部記憶装置も含んでいる。すなわち、「コンピューター読み取り可能な記録媒体」とは、データを一時的ではなく固定可能な任意の記録媒体を含む広い意味を有している。
【符号の説明】
【0102】
10,10a…ネットワークシステム
CL1,CL1a…クライアント
PR1〜PR6…プリンター
GW1〜GW3…ゲートウェイ装置
11〜13…LAN
15…広域通信網
901…第1VPNトンネル
902…第2VPNトンネル
100…パーソナルコンピューター
110…CPU
120…ネットワーク制御部
121…名前解決部
122…第1テーブル更新部
123…アドレス問い合わせ部
125…ROM
TB1…名前解決テーブル
TB2…アドレス変換テーブル
TB3…出力テーブル
130…VPN制御部
131…装置情報取得部
132…第2テーブル更新部
133…第1VPN−IF
134…第2VPN−IF
135…装置情報送信部
140…ハードディスクドライブ
142…RAM
150…ネットワークインターフェイスカード
151…LAN−IF
160…I/Oインターフェイス部
171…ディスプレイ装置
172…キーボード
173…マウス
Ca1〜Ca4…ネットワークケーブル
210…CPU
211…転送処理部
212…転送制御部
220…ネットワーク制御部
230…VPN制御部
231…装置情報通知部
232…VPN−IF
240…ネットワークインターフェイス部
242…WAN−IF
241…LAN−IF
250…ROM
251…ルーティングテーブル
252…ARPテーブル
260…RAM
300…DNSサーバー
310…CPU
311…名前解決部
312…テーブル更新部
313…装置情報受信部
314…ネットワーク制御部
320…ROM
321…名前解決テーブル
330…RAM
340…ハードディスクドライブ
350…ネットワークインターフェイス部
【技術分野】
【0001】
本発明は、VPN(Virtual Private Network)を用いたネットワークシステムに関する。
【背景技術】
【0002】
複数のLAN(Local Area Network)同士を、インターネットや通信事業者の提供する広域通信網(例えば、広域イーサネット網:イーサネットは登録商標)を介して接続する技術としてVPN(Virtual Private Network)が利用されている(特許文献1)。VPNを用いることにより、インターネット等の広域通信網上に仮想的なトンネル(以下、「VPNトンネル」とも呼ぶ)を形成し、互いに異なるLAN内の装置(コンピューター等のクライアント装置やプリンターなど)同士がプライベートIP(Internet Protocol)アドレスを用いて通信することが可能となる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2011−77769号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
各LAN内の装置に割り当てるIPアドレスとしてプライベートIPアドレスを用いる場合、異なるLAN内の装置同士で重複したIPアドレスの割り当てが発生し得る。例えば、異なるLAN内の2つのプリンターに対して、同じプライベートIPアドレスが割り当てられるケースが発生し得る。ここで、前述の2つのプリンターと、他のLAN内のクライアント装置(以下、単に「クライアント」と呼ぶ)との間に、それぞれVPNトンネルが形成されている状態において、上述したIPアドレスの重複割り当てが発生すると、クライアントからいずれか一方のプリンターを指定して印刷データを送信することができないという問題があった。
【0005】
このような問題は、プリンターに限らず、ネットワークカメラやプロジェクターなどネットワークに接続可能な任意の複数のデバイスが、それぞれクライアントとVPNトンネルによって接続されている構成において、クライアントからデバイスにデータを送る場合に起こり得る。
【0006】
本発明は、同一のプライベートIPアドレスが割り当てられた複数のデバイスの各々に対し、クライアントからVPNトンネルを介してデータを送信することを目的とする。
【課題を解決するための手段】
【0007】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態又は適用例として実現することが可能である。
【0008】
[適用例1]ネットワークシステムであって、
第1のネットワークに所属し、第1のプライベートIP(Internet Protocol)アドレスが割り当てられた第1のデバイスと、
前記第1のネットワークに所属し、VPN(Virtual Private Network)の仮想的なトンネルである第1のVPNトンネルの一端を終端する第1のVPN終端装置と、
第2のネットワークに所属し、前記第1のプライベートIPアドレスが割り当てられた第2のデバイスと、
前記第2のネットワークに所属し、前記仮想的なトンネルである第2のVPNトンネルの一端を終端する第2のVPN終端装置と、
第3のネットワークに所属するクライアントであって、
前記第1のVPNトンネルの他端を終端する第1のVPN終端部と、
前記第2のVPNトンネルの他端を終端する第2のVPN終端部と、
前記第1のデバイスに割り当てられた前記第1のプライベートIPアドレスを第3のプライベートIPアドレスと対応付け、前記第2のデバイスに割り当てられた前記第1のプライベートIPアドレスを第4のプライベートIPアドレスと対応付けるアドレス対応部と、
前記第3のプライベートIPアドレスを前記第1のVPN終端部と対応付け、前記第4のプライベートIPアドレスを前記第2のVPN終端部と対応付けるVPN終端部対応部と、
を有するクライアントと、
を備え、
前記第1のVPN終端部は、前記第1のデバイス宛のデータとして、前記第3のプライベートIPアドレスが宛先IPアドレスとして付与されたパケットを受け取ると、前記パケットに設定されている宛先IPアドレスを、前記第3のプライベートIPアドレスから、前記第3のプライベートIPアドレスに対応付けられている前記第1のプライベートIPアドレスに書き換えて、前記第1のVPNトンネルに送出し、
前記第2のVPN終端部は、前記第2のデバイス宛のデータとして、前記第4のプライベートIPアドレスが宛先IPアドレスとして付与されたパケットを受け取ると、前記パケットに設定されている宛先IPアドレスを、前記第4のプライベートIPアドレスから、前記第4のプライベートIPアドレスに対応付けられている前記第1のプライベートIPアドレスに書き換えて、前記第2のVPNトンネルに送出する、ネットワークシステム。
【0009】
適用例1のネットワークシステムによると、クライアントでは、第1のデバイスに割り当てられた前記第1のプライベートIPアドレスが第3のプライベートIPアドレスに対応付けられ、第2のデバイスに割り当てられた前記第1のプライベートIPアドレスが第4のプライベートIPアドレスに対応付けられる。また、クライアントにおいて、第1のVPN終端部は、第3のプライベートIPアドレスが宛先IPアドレスとして付与された第1のデバイス宛のデータを受け取ると、宛先IPアドレスを第1のプライベートIPアドレスに書き換えて第1のVPNトンネルに送出し、第2のVPN終端部は、第4のプライベートIPアドレスが宛先IPアドレスとして付与された第1のデバイス宛のデータを受け取ると、宛先IPアドレスを第1のプライベートIPアドレスに書き換えて第2のVPNトンネルに送出する。したがって、第1のデバイス宛のデータは、第1のVPNトンネルを介して第1のネットワークに届き、さらに、第1のネットワークを介して第1のデバイスに届く。同様に、第2のデバイス宛のデータは、第2のVPNトンネルを介して第2のネットワークに届き、さらに、第2のネットワークを介して第2のデバイスに届く。このように、適用例1のネットワークシステムでは、同一のプライベートIPアドレスが割り当てられた複数のデバイスの各々に対し、クライアントからVPNトンネルを介してデータを送信することができる。
【0010】
[適用例2]適用例1に記載のネットワークシステムにおいて、
前記アドレス対応部は、前記第3のプライベートIPアドレスとして、前記第1のプライベートIPアドレスにおけるホストアドレスと同じホストアドレスを有するIPアドレスを採用し、前記第4のプライベートIPアドレスとして、前記第3のプライベートIPアドレスにおけるネットワークアドレスと異なるネットワークアドレスを有し、かつ、前記第2のプライベートIPアドレスにおけるホストアドレスと同じホストアドレスを有するIPアドレスを採用する、ネットワークシステム。
【0011】
このような構成により、第3,4のプライベートIPアドレスとして、第1のプライベートIPアドレスのホストアドレスと同じホストアドレスを有するIPアドレスを採用するので、クライアントにおいて、第3のプライベートIPアドレスと同じネットワークアドレスを有するアドレス空間におけるIPアドレスの重複割り当ての発生を抑制できる。同様に、クライアントにおいて、第4のプライベートIPアドレスと同じネットワークアドレスを有するアドレス空間におけるIPアドレスの重複割り当ての発生を抑制できる。また、第3,4のプライベートIPアドレスとして、第1のプライベートIPアドレスのホストアドレスと同じホストアドレスを有するIPアドレスを採用するので、アドレス対応部は、第1のプライベートIPアドレスと、第3,4のプライベートIPアドレスとの対応付けを容易に行うことができる。
【0012】
[適用例3]適用例1または適用例2に記載のネットワークシステムにおいて、
前記クライアントは、さらに、
前記第1のデバイスの装置名及び前記第1のネットワークを一意に特定可能な第1のネットワーク識別子を前記第3のプライベートIPアドレスと対応付け、前記第2のデバイスの装置名及び前記第2のネットワークを一意に特定可能な第2のネットワーク識別子を前記第4のプライベートIPアドレスと対応付ける装置名対応部と、
前記第1のデバイスの装置名及び前記第1のネットワーク識別子を含むIPアドレスの問い合わせを受けると、前記装置名対応部を制御して、前記第1のデバイスの装置名及び前記第1のネットワーク識別子に対応付けられた前記第3のプライベートIPアドレスを返信し、前記第2のデバイスの装置名及び前記第2のネットワーク識別子を含むIPアドレスの問い合わせを受けると、前記装置名対応部を制御して、前記第2のデバイスの装置名及び前記第2のネットワーク識別子に対応付けられた前記第4のプライベートIPアドレスを返信する名前解決部と、
パケット生成部であって、
前記第1のデバイスの装置名及び前記第1のネットワーク識別子を指定した前記第1のデバイス宛のデータを受け取ると、前記名前解決部に前記第1のデバイスの装置名及び前記第1のネットワーク識別子を含む前記IPアドレスの問い合わせを送信することにより、前記名前解決部から前記第3のプライベートIPアドレスを取得し、前記第3のプライベートIPアドレスを宛先IPアドレスとするパケットを生成して前記第1のVPN終端部に渡し、
前記第2のデバイスの装置名及び前記第2のネットワーク識別子を指定した前記第2のデバイス宛のデータを受け取ると、前記名前解決部に前記第2のデバイスの装置名及び前記第2のネットワーク識別子を含む前記IPアドレスの問い合わせを送信することにより、前記名前解決部から前記第4のプライベートIPアドレスを取得し、前記第4のプライベートIPアドレスを宛先IPアドレスとするパケットを生成して前記第2のVPN終端部に渡すパケット生成部と、
を有するネットワークシステム。
【0013】
このような構成により、第1のデバイス宛のデータとして、第1のデバイスの装置名及び第1のネットワーク識別子を指定したデータを用いることができる。同様に、第2のデバイス宛のデータとして、第2のデバイスの装置名及び第2のネットワーク識別子を指定したデータを用いることができる。したがって、ユーザーは、第1のデバイス及び第2のデバイスに割り当てられているIPアドレス(第1のプライベートIPアドレス)を知らなくとも、第1,2のデバイスにデータを送信することができる。
【0014】
[適用例4]適用例1または適用例2に記載のネットワークシステムにおいて、さらに、
前記第3のネットワークに所属する名前解決サーバーを備え、
前記クライアントは、さらに、
アドレス問い合わせ部であって、
前記名前解決サーバーに前記第1のデバイスの装置名及び前記第1のネットワーク識別子を含むIPアドレスの問い合わせを送信することにより、前記名前解決サーバーから前記第3のプライベートIPアドレスを取得し、
前記名前解決サーバーに前記第2のデバイスの装置名及び前記第2のネットワーク識別子を含むIPアドレスの問い合わせを送信することにより、前記名前解決サーバーから前記第4のプライベートIPアドレスを取得するアドレス問い合わせ部と、
パケット生成部であって、
前記第1のデバイス宛のデータを受け取ると、前記アドレス問い合わせ部を制御して前記第3のプライベートIPアドレスを取得すると共に、前記第3のプライベートIPアドレスを宛先IPアドレスとするパケットを生成して前記第1のVPN終端部に渡し、
前記第2のデバイス宛のデータを受け取ると、前記アドレス問い合わせ部を制御して前記第4のプライベートIPアドレスを取得すると共に、前記第4のプライベートIPアドレスを宛先IPアドレスとするパケットを生成して前記第2のVPN終端部に渡すパケット生成部と、
を有し、
前記名前解決サーバーは、
前記第1のデバイスの装置名及び前記第1のネットワーク識別子を、前記第3のプライベートIPアドレスと対応付けると共に、前記第2のデバイスの装置名及び前記第2のネットワーク識別子を、前記第4のプライベートIPアドレスと対応付ける装置名対応部と、
前記第1のデバイスの装置名及び前記第1のネットワーク識別子を含むIPアドレスの問い合わせを受けると、前記装置名対応部を制御して、前記第1のデバイスの装置名及び前記第1のネットワーク識別子に対応付けられた前記第3のプライベートIPアドレスを返信し、前記第2のデバイスの装置名及び前記第2のネットワーク識別子を含むIPアドレスの問い合わせを受けると、前記装置名対応部を制御して、前記第2のデバイスの装置名及び前記第2のネットワーク識別子に対応付けられた前記第4のプライベートIPアドレスを返信する名前解決部と、
を有する、ネットワークシステム。
【0015】
このような構成により、第1のデバイス宛のデータとして、第1のデバイスの装置名及び第1のネットワーク識別子を指定したデータを用いることができる。同様に、第2のデバイス宛のデータとして、第2のデバイスの装置名及び第2のネットワーク識別子を指定したデータを用いることができる。したがって、ユーザーは、第1のデバイス及び第2のデバイスに割り当てられているIPアドレス(第1のプライベートIPアドレス)を知らなくとも、第1,2のデバイスにデータを送信することができる。加えて、クライアントでは、名前解決サーバーに対して、第1,2のデバイスの装置名及び第1,2のネットワーク識別子を含むIPアドレスの問い合わせを送信することにより、第3,4のプライベートIPアドレスを得ることができる。したがって、クライアントでは、装置名及びネットワーク識別子から第3,4のプライベートIPアドレスを特定する処理を行わずに済むので、クライアントにおける処理負荷を軽減することができる。
【0016】
[適用例5]適用例3または適用例4に記載のネットワークシステムにおいて、
前記第1のVPN終端装置は、前記第1のデバイスに割り当てられている前記第1のプライベートIPアドレスと前記第1のデバイスの装置名と前記第1のネットワーク識別子とを、前記クライアントに通知する第1の通知部を備え、
前記第2のVPN終端装置は、前記第2のデバイスに割り当てられている前記第2のプライベートIPアドレスと前記第2のデバイスの装置名と前記第2のネットワーク識別子とを、前記クライアントに通知する第2の通知部を備える、ネットワークシステム。
【0017】
このような構成により、装置名対応部は、第1のデバイスの装置名及び前記第1のネットワーク識別子と、第2のデバイスの装置名及び第2のネットワーク識別子とを得ることができ、それぞれ第3のプライベートIPアドレス及び第4のプライベートIPアドレスと対応付けることができる。したがって、例えば、ユーザーが第1のデバイスの装置名及び前記第1のネットワーク識別子と、第2のデバイスの装置名及び第2のネットワーク識別子とを調べて、クライアントにおいて入力する構成に比べて、ユーザーの作業負担を軽減できる。
【0018】
[適用例6]適用例3ないし適用例5のいずれか一例に記載のネットワークシステムにおいて、
前記第1のVPN終端装置には、第1のグローバルIPアドレスが割り当てられ、
前記第2のVPN終端装置には、第2のグローバルIPアドレスが割り当てられ、
前記第1のネットワーク識別子は、前記第1のグローバルIPアドレスであり、
前記第2のネットワーク識別子は、前記第2のグローバルIPアドレスである、ネットワークシステム。
【0019】
このような構成により、第1,2のVPN終端装置に割り当てられているグローバルIPアドレスを、ネットワーク識別子として利用するので、ネットワーク識別子として、新たな識別子を割り当てる構成に比べて、識別子の割り当てや管理に要する処理を軽減することができる。
【0020】
[適用例7]適用例1ないし適用例6のいずれか一例に記載のネットワークシステムにおいて、
前記第1のデバイス及び前記第2のデバイスは、いずれも印刷装置である、ネットワークシステム。
【0021】
このような構成により、互いに異なるネットワークに所属する複数の印刷装置に同じプライベートIPアドレスが割り当てられている場合であっても、クライアントから各印刷装置に対して印刷ジョブを送信して印刷を実行させることができる。
【0022】
[適用例8]第1のVPN(Virtual Private Network)終端装置が所属する第1のネットワークに所属し、第1のプライベートIP(Internet Protocol)アドレスが割り当てられた第1のデバイスと、第2のVPN終端装置が所属する第2のネットワークに所属し、前記第1のプライベートIPアドレスが割り当てられた第2のデバイスと、第3のネットワークに所属するクライアントと、前記第1のVPN終端装置と前記クライアントとの間に形成されるVPNの仮想的なトンネルである第1のVPNトンネルと、前記第2のVPN終端装置と前記クライアントとの間に形成される前記仮想的なトンネルである第2のVPNトンネルと、を有するネットワークシステムの制御方法であって、
(a)前記クライアントにおいて、前記第1のデバイスに割り当てられた前記第1のプライベートIPアドレスを第3のプライベートIPアドレスと対応付け、前記第2のデバイスに割り当てられた前記第1のプライベートIPアドレスを第4のプライベートIPアドレスと対応付ける工程と、
(b)前記クライアントにおいて、前記第3のプライベートIPアドレスを前記第1のVPN終端部と対応付け、前記第4のプライベートIPアドレスを前記第2のVPN終端部と対応付ける工程と、
(c)前記クライアントにおいて、前記第1のデバイス宛のデータとして、前記第3のプライベートIPアドレスが宛先IPアドレスとして付与されたパケットを受け取ると、前記パケットに設定されている宛先IPアドレスを、前記第3のプライベートIPアドレスから、前記第3のプライベートIPアドレスに対応付けられている前記第1のプライベートIPアドレスに書き換えて、前記第1のVPNトンネルに送出し、
前記第2のデバイス宛のデータとして、前記第4のプライベートIPアドレスが宛先IPアドレスとして付与されたパケットを受け取ると、前記パケットに設定されている宛先IPアドレスを、前記第4のプライベートIPアドレスから、前記第4のプライベートIPアドレスに対応付けられている前記第1のプライベートIPアドレスに書き換えて、前記第2のVPNトンネルに送出する工程と、
を備えるネットワークシステム制御方法。
【0023】
適用例7のネットワークシステム制御方法によると、クライアントでは、第1のデバイスに割り当てられた前記第1のプライベートIPアドレスが第3のプライベートIPアドレスに対応付けられ、第2のデバイスに割り当てられた前記第1のプライベートIPアドレスが第4のプライベートIPアドレスに対応付けられる。また、クライアントにおいて、第3のプライベートIPアドレスが宛先IPアドレスとして付与された第1のデバイス宛のデータが受け取られると、宛先IPアドレスが第1のプライベートIPアドレスに書き換えられて第1のVPNトンネルに送出され、第4のプライベートIPアドレスが宛先IPアドレスとして付与された第1のデバイス宛のデータが受け取られると、宛先IPアドレスが第1のプライベートIPアドレスに書き換えられて第2のVPNトンネルに送出される。したがって、第1のデバイス宛のデータは、第1のVPNトンネルを介して第1のネットワークに届き、さらに、第1のネットワークを介して第1のデバイスに届く。同様に、第2のデバイス宛のデータは、第2のVPNトンネルを介して第2のネットワークに届き、さらに、第2のネットワークを介して第2のデバイスに届く。このように、適用例1のネットワークシステムでは、同一のプライベートIPアドレスが割り当てられた複数のデバイスの各々に対し、クライアントからVPNトンネルを介してデータを送信することができる。
【0024】
なお、本発明は、種々の態様で実現することが可能であり、例えば、クライアント、VPN終端装置、VPN通信システム、これらの装置またはシステムの制御方法、これらの方法、装置またはシステムの機能を実現するためのコンピュータープログラム、そのコンピュータープログラムを記録した記録媒体、等の形態で実現することができる。
【図面の簡単な説明】
【0025】
【図1】本発明の一実施例としてのネットワークシステムの概略構成を示す説明図である。
【図2】図1に示すクライアントの詳細構成を示すブロック図である。
【図3】図2に示す名前解決テーブルの設定内容の一例を示す説明図である。
【図4】図2に示すアドレス変換テーブルの設定内容の一例を示す説明図である。
【図5】図2に示す出力テーブルの設定内容の一例を示す説明図である。
【図6】図1に示すゲートウェイ装置の詳細構成を示すブロック図である。
【図7】ネットワークシステムにおいて実行されるテーブル更新処理の手順を示すシーケンス図である。
【図8】図8は、第1実施例のデータ送信処理の手順を示すフローチャートである。
【図9】第2実施例のネットワークシステムの概略構成を示す説明図である。
【図10】図9に示すDNSサーバーの詳細構成を示すブロック図である。
【図11】第2実施例のクライアントの詳細構成を示すブロック図である。
【図12】第2実施例のテーブル更新処理の手順を示すシーケンス図である。
【図13】第2実施例におけるデータ送信処理及び名前解決処理の手順を示すシーケンス図である。
【発明を実施するための形態】
【0026】
A.第1実施例:
A1.システム構成:
図1は、本発明の一実施例としてのネットワークシステムの概略構成を示す説明図である。第1実施例のネットワークシステム10は、クライアントCL1と、ゲートウェイ装置GW3と、LAN(Local Area Network)13と、3つのプリンターPR1,PR2,PR3と、ゲートウェイ装置GW1と、LAN11と、3つのプリンターPR4,PR5,PR6と、ゲートウェイ装置GW2と、LAN12と、広域通信網15と、VPN(Virtual Private Network)の仮想的なトンネル(以下、「VPNトンネル」と呼ぶ)である第1VPNトンネル901及び第2VPNトンネル902を備えている。
【0027】
クライアントCL1とゲートウェイ装置GW3とは、LAN13に接続されている。3つのプリンターPR1,PR2,PR3とゲートウェイ装置GW1とは、LAN11に接続されている。3つのプリンターPR4,PR5,PR6とゲートウェイ装置GW2とは、LAN12に接続されている。3つのゲートウェイ装置GW1,GW2,GW3は、いずれも広域通信網15に接続されているため、3つのLAN11,12,13は、広域通信網15を介して互いに接続されている。
【0028】
LAN13には、ネットワークアドレスとして「192.168.1.0/24」が割り当てられており、クライアントCL1にはIP(Internet Protocol)アドレスとして、プライベートIPアドレスである「192.168.1.1」が割り当てられている。ゲートウェイ装置GW3のLAN13と接続するインターフェイスには、ネットワークアドレス「192.168.1.0/24」を有するプライベートIPアドレス(図示省略)が割り当てられている。ゲートウェイ装置GW3の広域通信網15と接続するインターフェイスには、グローバルIPアドレス「IPg3」が割り当てられている。
【0029】
LAN11には、ネットワークアドレスとして「192.168.3.0/24」が割り当てられており、プリンターPR1には、IPアドレスとしてプライベートIPアドレスである「192.168.3.1」が割り当てられている。また、プリンターPR2にはプライベートIPアドレスである「192.168.3.2」が、プリンターPR3にはプライベートIPアドレスである「192.168.3.3」が、それぞれIPアドレスとして割り当てられている。ゲートウェイ装置GW1のLAN11と接続するインターフェイスには、ネットワークアドレス「192.168.3.0/24」を有するプライベートIPアドレス(図示省略)が割り当てられている。ゲートウェイ装置GW1の広域通信網15と接続するインターフェイスには、グローバルIPアドレス「IPg1」が割り当てられている。
【0030】
LAN12には、LAN11と同じネットワークアドレスが割り当てられ、LAN12内の3つのプリンターPR4,PR5,PR6には、LAN11内の3つのプリンターPR1,PR2,PR3と同じIPアドレスが割り当てられている。具体的には、LAN12には、ネットワークアドレスとして「192.168.3.0/24」が割り当てられており、プリンターPR4にはIPアドレスとして、プライベートIPアドレスである「192.168.3.1」が割り当てられている。また、プリンターPR5にはプライベートIPアドレスである「192.168.3.2」が、プリンターPR3にはプライベートIPアドレスである「192.168.3.3」が、それぞれIPアドレスとして割り当てられている。ゲートウェイ装置GW1のLAN11と接続するインターフェイスには、ネットワークアドレス「192.168.3.0/24」を有するプライベートIPアドレス(図示省略)が割り当てられている。ゲートウェイ装置GW1の広域通信網15と接続するインターフェイスには、グローバルIPアドレス「IPg2」が割り当てられている。
【0031】
このように、ネットワークシステム10では、LAN11及びLAN12において、各プリンターにIPアドレスが重複して割り当てられているが、後述するテーブル更新処理及びデータ送信処理が実行されることにより、6つのプリンターPR1〜PR6のうち、任意のプリンターに対して、クライアントCL1から印刷ジョブデータを送って印刷を実行させることができる。
【0032】
6つのプリンターPR1〜PR6には、予め装置名(ホスト名)が設定されている。具体的には、プリンターPR1には、装置名「PRT1」が予め設定されている。また、プリンターPR2には装置名「PRT2」が、プリンターPR2には装置名「PRT3」が、プリンターPR4には装置名「PRT4」が、プリンターPR5には装置名「PRT5」が、プリンターPR6には装置名「PRT6」が、それぞれ設定されている。なお、各LAN11〜13に接続される装置の数は、図1に示す数に限定されるものではない。例えば、LAN13に接続されるクライアントの数は複数であってもよい。また、LAN11,12に接続されるプリンターの数は、3つに限らず、任意の数であってもよい。
【0033】
図2は、図1に示すクライアントの詳細構成を示すブロック図である。クライアントCL1は、パーソナルコンピューター100と、ディスプレイ装置171と、キーボード172と、マウス173とを備えている。パーソナルコンピューター100は、CPU110と、ROM(Read Only Memory)125と、RAM(Random Access Memory)142と、ハードディスクドライブ140と、ネットワークインターフェイスカード150と、I/O(Input/Output)インターフェイス部160とを備えている。CPU110と、ROM125と、RAM142と、ハードディスクドライブ140と、ネットワークインターフェイスカード150と、I/Oインターフェイス部160とは、互いに内部バスにより接続されている。
【0034】
ROM125には、TCP(Transmission Control Protocol)/IPなどの、ネットワークを介したデータのやりとりのためのプロトコルを処理するためのプログラムが格納されており、CPU110は、このプログラムを実行することにより、ネットワーク制御部120として機能する。ネットワーク制御部120は、名前解決部121と、第1テーブル更新部122とを備えている。名前解決部121は、上位アプリケーションプログラムからデータの宛先として指定された装置名(ホスト名)に基づき、この装置に割り当てられているIPアドレスを取得する。第1テーブル更新部122は、後述する名前解決テーブル及び出力テーブルを更新する。
【0035】
また、ROM125には、VPNを実現するためのプログラムが格納されており、CPU110は、このプログラムを実行することにより、VPN制御部130として機能する。VPN制御部130は、装置情報取得部131と、第2テーブル更新部132と、第1VPNインターフェイス部(以下、単に「第1VPN−IF」とも呼ぶ)133と、第2VPNインターフェイス部(以下、単に「第2VPN−IF」とも呼ぶ)134とを備えている。
【0036】
装置情報取得部131は、後述するテーブル更新処理において、ゲートウェイ装置GW1及びゲートウェイ装置GW2から出力される装置情報を受信する。第1VPN−IF133は、第1VPNトンネル901を終端する機能部である。具体的には、第1VPN−IF133は、送信データ(レイヤ3パケット)を暗号化し、VPN用のヘッダによりカプセル化して第1VPNトンネル901に出力する。また、第1VPN−IF133は、第1VPNトンネル901から受信するデータ(レイヤ3パケット)からVPN用のヘッダを取り除き、得られたデータを復号化してネットワーク制御部120に渡す。第2VPN−IF134は、第2VPNトンネル902を終端する機能部である。第2VPN−IF134が実行する詳細な処理内容は、第1VPN−IF133と同じであるので、説明を省略する。第1VPN−IF133には、IPアドレスとして、プライベートIPアドレスである「192.168.5.253」が割り当てられている。第1VPN−IF133には、IPアドレスとして、プライベートIPアドレスである「192.168.10.253」が割り当てられている。
【0037】
ROM125には、前述の印刷ジョブ等のデータをLAN13に出力するためのプログラム及びVPNを実現するためのプログラムに加えて、名前解決テーブルTB1と、アドレス変換テーブルTB2と、出力テーブルTB3とが格納されている。図3は、図2に示す名前解決テーブルの設定内容の一例を示す説明図である。図4は、図2に示すアドレス変換テーブルの設定内容の一例を示す説明図である。図5は、図2に示す出力テーブルの設定内容の一例を示す説明図である。
【0038】
名前解決テーブルTB1は、各装置の装置名及びゲートウェイ装置のグローバルIPアドレスから、各装置に割り当てられたIPアドレスを特定するために用いられるテーブルである。図3に示すように、名前解決テーブルTB1は、各装置の装置名と、ゲートウェイ装置のグローバルIPアドレスと、各装置のIPアドレスとを、互いに対応付けている。名前解決テーブルTB1における「ゲートウェイ装置のグローバルIPアドレス」とは、各装置が所属するLAN内のゲートウェイ装置に割り当てられているグローバルIPアドレスを意味する。例えば、最上段のエントリーは、プリンターPR1(装置名「PRT1」)についてのエントリーであり、このエントリーには、ゲートウェイ装置のグローバルIPアドレスとして、ゲートウェイ装置GW1のグローバルIPアドレスである「IPg1」が設定されている。名前解決テーブルTB1における「IPアドレス」とは、各装置において実際に設定されているIPアドレスではなく、後述するデータ送信処理において、クライアントCL1が各装置を特定するために用いられるIPアドレスである。後述するように、クライアントCL1では、LAN11,12内の各プリンターPR1〜PR6は、仮想的なIPアドレスにより特定される。したがって、例えば、最上段のプリンターPR1についてのエントリーには、「IPアドレス」として、プリンターPR1に実際に設定されている「192.168.3.1」ではなく、仮想的なIPアドレスである「192.168.5.1」が設定されている。仮想的なIPアドレスの詳細については、後述する。なお、名前解決テーブルTB1の各エントリーは、後述するテーブル変更処理において追加される。
【0039】
アドレス変換テーブルTB2は、後述するデータ送信処理において、宛先IPアドレスを変換する際に用いられるテーブルである。図4に示すように、アドレス変換テーブルTB2は、変換前のIPアドレスと、変換後のIPアドレスとを互いに対応付ける。「変換前のIPアドレス」は、前述の名前解決テーブルTB1に設定される「IPアドレス」と同じであり、クライアントCL1が各装置を特定するために用いられる仮想的なIPアドレスである。「変換後のIPアドレス」は、各装置に実際に設定されているIPアドレスである。例えば、最上段のエントリーは、プリンターPR1について設定されたエントリーであり、変換前のIPアドレスとして「192.168.5.1」が、変換後のIPアドレスとして「192.168.3.1」が、それぞれ設定されている。アドレス変換テーブルTB2の各エントリーは、後述するテーブル変更処理において追加される。
【0040】
出力テーブルTB3は、後述するデータ送信処理において、送信しようとするデータの出力先のインターフェイスを決定するために用いられるテーブルである。図5に示すように、出力テーブルTB3は、ネットワーク(ネットワークアドレス)と、出力インターフェイスとを対応付ける。出力テーブルTB3における「ネットワーク」とは、送信しようとするデータの宛先となるプリンターが所属するネットワークを示す。クライアントCL1では、LAN11,12を仮想的なネットワーク(仮想的なネットワークアドレスが割り当てられたネットワーク)として特定している。例えば、データの宛先がLAN11内のいずれかのプリンターPR1,PR2,PR3である場合には、これらのプリンターが所属するネットワークは、プライベートネットワークアドレス「192.168.3.0/24」が割り当てられたLAN11である。しかしながら、クライアントCL1では、このLAN11を、仮想的なプライベートネットワークアドレスである「192.168.5.0/24」により特定する。同様に、クライアントCL1では、LAN12を、実際に割り当てられている「192.168.3.0/24」とは異なる「192.168.10.0/24」により特定する。出力テーブルTB3において、「出力インターフェイス」とは、送信しようとするデータの処理を実行させるインターフェイスを示す。例えば、最上段のエントリーでは、ネットワークアドレス「192.168.5.0/24」に対して、出力インターフェイス「第1VPN−IF」が対応付けられている。したがって、仮想的なネットワークである「192.168.5.0/24」内のプリンターを宛先とするデータについては、出力インターフェイスとして第1VPN−IF133が用いられる。上から2段目のエントリーでは、ネットワークアドレス「192.168.10.0/24」に対して、出力インターフェイス「第2VPN−IF」が対応付けられている。最下段のエントリーでは、ネットワークとして「*」が設定されている。これは、ネットワークアドレスが「192.168.5.0/24」のネットワーク及びネットワークアドレスが「192.168.10.0/24」のネットワークを除く他の任意のネットワークを意味する。また、最下段のエントリーでは、出力インターフェイスとして「LAN−IF」が設定されている。LAN−IFについては後述する。
【0041】
出力テーブルTB3は、LAN13又はクライアントCL1の管理者によって、予め設定される。管理者は、各VPN−IF(第1VPN−IF133及び第2VPN−IF134)ごとに、互いに異なる任意の仮想的なネットワークアドレス(プライベートネットワークアドレス)を割り当てるようにする。
【0042】
図2に示すネットワークインターフェイスカード150は、レイヤ2での通信を実現する機能部であり、ネットワークケーブルCa1を接続するためのコネクタ等の物理的なインターフェイスに加えて、レイヤ2のプロトコル(例えば、Ethernet(登録商標))を実行するLAN−IF151を備えている。
【0043】
図2示すI/Oインターフェイス部160は、パーソナルコンピューター100とディスプレイ装置171との間の接続インターフェイスと、パーソナルコンピューター100とキーボード172との間の接続インターフェイスと、パーソナルコンピューター100とマウス173との間の接続インターフェイスとを有する。クライアントCL1は、キーボード172やマウス173から入力される指示内容に応じて、ディスプレイ装置171に処理結果を表示したり、印刷データを生成して6つのプリンターPR1〜PR6に送信する処理を行う。
【0044】
図6は、図1に示すゲートウェイ装置の詳細構成を示すブロック図である。ゲートウェイ装置GW1は、いわゆるVPN装置かつルーター装置であり、CPU210と、ROM250と、RAM250と、ネットワークインターフェイス部260とを備えている。
【0045】
ROM250には、パケット転送用のプログラムが格納されており、CPU210は、このプログラムを実行することにより、転送処理部211及び転送制御部212として機能する。転送処理部211は、ネットワークインターフェイス部240を介して入力されるレイヤ3パケットの転送を行う。転送制御部212は、後述するルーティングテーブルを参照して、転送処理部211におけるパケット転送を制御する。
【0046】
また、ROM250には、TCP/IPなどの、ネットワークを介したデータのやりとりのためのプロトコルを処理するためのプログラムが格納されており、CPU210は、このプログラムを実行することにより、ネットワーク制御部220として機能する。また、ROM250には、VPNを実現するためのプログラムが格納されており、CPU210は、このプログラムを実行することにより、VPN制御部230として機能する。VPN機能部230は、装置情報通知部231と、VPNインターフェイス部(以下、単に「VPN−IF」とも呼ぶ)232とを備えている。装置情報通知部231は、後述するテーブル更新処理において、装置情報を、クライアントCL1に送信する。VPN−IF232は、第1VPNトンネル901を終端する機能部である。VPN−IF232は、上述したクライアントCL1の第1VPN−IF133と同様の機能を有するので、説明を省略する。
【0047】
ネットワークインターフェイス部240は、ゲートウェイ装置GW1から広域通信網15に向かうアクセス回線用の図示しないネットワークインターフェイスカードを有しており、このネットワークインターフェイスカードにおいてネットワークケーブルCa2と接続されている。本実施例では、アクセス回線として、例えば、光回線や、ADSL(Asymmetric Digital Subscriber Line)回線を採用することができる。また、ネットワークインターフェイス部240は、LAN11用の図示しないネットワークインターフェイスカードを有し、このネットワークインターフェイスカードにおいてネットワークケーブルCa3と接続されている。また、ネットワークインターフェイス部240は、LAN−IF241と、WAN−IF242とを有している。LAN−IF241は、上述したクライアントCL1のLAN−IF151と同様に、レイヤ2のプロトコルを実行する。WAN−IF242は、ゲートウェイ装置GW1から広域通信網15に向かうアクセス回線におけるレイヤ2のプロトコルを実行する。
【0048】
ROM250は、上述した各種プログラムに加えて、ルーティングテーブル251及びARP(Address Resolution Protocol)テーブル252を格納している。ルーティングテーブル251は、宛先アドレスと出力インターフェイスとが対応付けられたテーブルであり、転送処理部211においてレイヤ3パケットを転送する際の経路を決定するために用いられる。ARPテーブル252は、IPアドレスとMAC(Media Access Control)アドレスとを対応付けたテーブルであり、新たな経路で通信を行うたびに、転送制御部212によってエントリーが追加(学習)される。
【0049】
ゲートウェイ装置GW2は、上述したゲートウェイ装置GW1と同様な構成を有するので、説明を省略する。但し、ゲートウェイ装置GW2のVPN−IF232は、第1VPNトンネル901に代えて、第2VPNトンネル902を終端する点において、ゲートウェイ装置GW1のVPN−IF232と異なる。
【0050】
図1に示す6つのプリンターPR1〜PR6は、いずれも、自らが所属するLAN用のネットワークインターフェイスカードを備えると共に、TCP/IPによるデータのやりとり(例えば、印刷ジョブデータの受信や、印刷終了のメッセージの送信)を実行することができる。図1に示すゲートウェイ装置GW3は、いわゆるルーター装置であり、レイヤ3パケットを、宛先アドレスに従って適切な経路に転送する。なお、ゲートウェイ装置GW3は、VPNマルチパススルーに対応しており、第1VPNトンネル901及び第2VPNトンネル902を経由するパケットについては、NAT(Network Address Translation)等によるアドレス変換を行わない。図1に示す広域通信網15としては、例えば、インターネットや、電気通信事業者が提供する広域イーサネット網(イーサネットは登録商標)を採用することができる。
【0051】
なお、前述のLAN11は、請求項における第1のネットワークに相当する。また、3つのプリンターPR1〜PR3はそれぞれ請求項における第1のデバイスに、ゲートウェイ装置GW1は請求項における第1のVPN終端装置に、LAN12は請求項における第2のネットワークに、3つのプリンターPR4〜PR6はそれぞれ請求項における第2のデバイスに、ゲートウェイ装置GW2は請求項における第2のVPN終端装置に、LAN13は請求項における第3のネットワークに、第1VPN−IF133は請求項における第1のVPN終端部に、第2VPN−IF134は請求項における第2のVPN終端部に、アドレス変換テーブルTB2及び第2テーブル更新部132は請求項におけるアドレス対応部に、出力テーブルTB3は請求項におけるVPN終端対応部に、ネットワーク制御部120は請求項におけるパケット生成部に、ゲートウェイ装置GW1のグローバルIPアドレス「IPg1」は請求項における第1のネットワーク識別子に、ゲートウェイ装置GW2のグローバルIPアドレス「IPg2」は請求項における第2のネットワーク識別子に、名前解決テーブルTB1及び第1テーブル更新部122は請求項における装置名対応部に、それぞれ相当する。
【0052】
A2.テーブル更新処理:
図7は、ネットワークシステムにおいて実行されるテーブル更新処理の手順を示すシーケンス図である。図7において、左はゲートウェイ装置GW1,GW2において実行されるフローチャートを示し、右はクライアントCL1において実行されるフローチャートを示す。
【0053】
ネットワークシステム10では、第1VPNトンネル901又は第2VPNトンネル902が形成されるタイミングで、テーブル更新処理が実行される。第1VPNトンネル901又は第2VPNトンネル902が形成されるタイミングとは、クライアントCL1が、LAN11又はLAN12内のプリンターにデータを送信しようとするタイミングを意味する。例えば、クライアントCL1がLAN11内のプリンターPR1にデータを送信しようとする場合、クライアントCL1の第1VPN−IF133は、第1VPNトンネル901の他端となるゲートウェイ装置GW1のVPN−IF232との間で、VPNのプロトコルに従って、認証や暗号化鍵のやりとりを行う。この後、クライアントCL1及びゲートウェイ装置GW1においてテーブル更新処理が実行される。
【0054】
ゲートウェイ装置GW1又はゲートウェイ装置GW2において、装置情報通知部231は、自らが所属するLAN内の各装置(プリンター)のIPアドレス及び装置名を取得する(ステップS105)。装置情報通知部231は、ARPテーブル252を参照することにより、各プリンターのIPアドレスを得ることができる。また、装置情報通知部231は、IPアドレスと装置名とを対応付けるROM250に格納されている図示しないテーブル(例えば、「hosts」ファイル)を参照することにより、各プリンターの装置名を得ることができる。
【0055】
ゲートウェイ装置GW1又はゲートウェイ装置GW2において、装置情報通知部231は、VPN−IF232を制御して、ステップS105で取得されたIPアドレス及び装置名を、他端においてVPNトンネルを終端するクライアントCL1に送信する(ステップS105)。前述のように、クライアントCL1からプリンターPR1に印刷ジョブを送ろうとする際に、プリンターPR1と同じLAN11に所属するゲートウェイ装置GW1において、装置情報通知部231は、VPN−IF232を制御して、3つのプリンターPR1,PR2,PR3のIPアドレス及び装置名を、クライアントCL1に送信する。
【0056】
クライアントCL1において、装置情報取得部131は、前述のステップS110においてゲートウェイ装置GW1又はゲートウェイ装置GW2から出力された各装置のIPアドレス及び装置名を、第1VPN−IF133又は第2VPN−IF134を介して受信する(ステップS205)。クライアントCL1において、第2テーブル更新部132は、ステップS205でIPアドレス及び装置名を受信したVPN−IFに基づき、出力テーブルTB3を参照して、通知されたIPアドレス及び装置名を有する各装置が所属する仮想的なネットワークを特定する(ステップS210)。前述のように、プリンターPR1,PR2,PR3のIPアドレス及び装置名を、第1VPN−IF133を介してゲートウェイ装置GW1から受信した場合、第2テーブル更新部132は、図5に示す出力テーブルTB3の最上段のエントリーに基づき、各プリンターPR1,PR2,PR3が所属する仮想的なネットワークとして、「192.168.5.0/24」のネットワークを特定する。
【0057】
クライアントCL1において、第2テーブル更新部132は、ステップS205で受信した各装置のIPアドレスのホストアドレスと、ステップS210で特定された仮想的なネットワークのネットワークアドレスとに基づき、ステップS205で受信した装置名の各装置に割り当てる仮想的なIPアドレスを決定する(ステップS215)。例えば、プリンターPR1について、ステップS205で受信した、IPアドレス「192.168.3.1/24」のホストアドレスと、ステップS210で特定された仮想的なネットワークのネットワークアドレス「192.168.5.0/24」とを合わせて、仮想的なIPアドレス「192.168.5.1/24」が決定される。同様に、プリンターPR2については仮想的なIPアドレス「192.168.5.2/24」が、プリンターPR3については仮想的なIPアドレス「192.168.5.3/24」が、それぞれ決定される。
【0058】
クライアントCL1において、第1テーブル更新部122は、ステップS205において、装置名等を送信したゲートウェイ装置のグローバルIPアドレス及び通知された装置名と、ステップS215において割り当てられた仮想的なIPアドレスとを用いて、名前解決テーブルTB1に新たなエントリーを追加する(ステップS220)。例えば、前述のように、ゲートウェイ装置GW1からプリンターPR1のIPアドレス及び装置名が送信された場合、ゲートウェイ装置GW1のグローバルIPアドレス「IPg1」と、装置名「PRT1」と、仮想的なIPアドレス「192.168.5.1/24」とを用いて、図3に示す名前解決テーブルTB1の最上段のエントリーが追加される。
【0059】
クライアントCL1において、第2テーブル更新部132は、ステップS205において通知されたIPアドレスと、ステップS215において決定された仮想的なIPアドレスとを用いて、アドレス変換テーブルTB2に新たなエントリーを追加する(ステップS225)。具体的には、仮想的なIPアドレスを変換前のIPアドレスとし、ステップS205において通知されたIPアドレスを変換後のIPアドレスとする新たなエントリーを追加する。例えば、前述のように、ゲートウェイ装置GW1からプリンターPR1のIPアドレス及び装置名が送信された場合、通知されたIPアドレス「192.168.3.1」と、ステップS215において決定された仮想的なIPアドレス「192.168.5.1」とを用いて、図4に示すアドレス変換テーブルTB2の最上段のエントリーが追加される。
【0060】
A3.データ送信処理:
図8は、第1実施例のデータ送信処理の手順を示すフローチャートである。クライアントCL1には、各プリンターPR1〜PR6について、装置名及び対応するゲートウェイ装置のグローバルIPアドレスが予め登録されており、印刷を実行させる装置名(プリンター名)及びゲートウェイ装置のグローバルIPアドレスを指定した印刷指示が入力される。この印刷指示が入力されると、上述したVPNトンネルの形成処理及びテーブル更新処理が実行された後、データ送信処理が実行される。なお、印刷指示において、装置名に加えてゲートウェイ装置のグローバルIPアドレスが指定されるのは、異なるLANに接続された複数のプリンターに対して装置名が重複して登録されるおそれがあるため、装置名に加えてゲートウェイ装置のグローバルIPアドレスが指定されることにより、印刷を実行させようとするプリンターを一意に特定するためである。
【0061】
クライアントCL1において、名前解決部121は、名前解決テーブルTB1を参照して、印刷指示において指定された装置名及びゲートウェイ装置のグローバルIPアドレスから、印刷を実行させようとするプリンターのIPアドレスを特定する(ステップS305)。例えば、クライアントCL1において、プリンターPR1への印刷指示として、プリンターPR1の装置名「PRT1」及びゲートウェイ装置GW1のグローバルIPアドレス「IPg1」を指定した印刷指示が入力されると、名前解決部121は、図3に示す名前解決テーブルTB1の最上段のエントリーに基づき、仮想的なIPアドレス「192.168.5.1」を特定する。
【0062】
ネットワーク制御部120は、出力テーブルTB3を参照して、ステップS305において特定されたIPアドレスを宛先とするパケットの出力先となるインターフェイスを特定し、かかるインターフェイスに印刷ジョブデータを渡す(ステップS310)。前述のように、仮想的なIPアドレス「192.168.5.1」が特定されると、ネットワーク制御部120は、図5に示す出力テーブルTB3の最上段のエントリーに基づき、出力インターフェイスとして第1VPN−IF133を特定し、第1VPN−IF133に印刷ジョブデータを渡す。
【0063】
ステップS310において特定された出力インターフェイスがVPN−IF(第1VPN−IF133又は第2VPN−IF134)である場合、VPN−IF(第1VPN−IF133又は第2VPN−IF134)は、アドレス変換テーブルTB2を参照して、宛先IPアドレスを変換する(ステップS315)。前述のように、宛先IPアドレス「192.168.5.1」が特定され、第1VPN−IF133が出力インターフェイスとして特定されると、第1VPN−IF133は、図4に示すアドレス変換テーブルTB2の最上段のエントリーに基づき、宛先IPアドレスを、「192.168.5.1」から「192.168.3.1」に変換する。
【0064】
ステップS315におけるIPアドレスの変換(仮想的なIPアドレスから実際に設定されているIPアドレスへの変換)が実行された後、VPN−IF(第1VPN−IF133又は第2VPN−IF134)は、パケットの暗号化及びカプセル化を行う(ステップS320)。この処理は、例えば、IETF(Internet Engineering Task Force)において規定されるIPSec(Security Architecture for Internet Protocol)など、VPN−IFがサポートするVPN用のプロトコルに従った処理である。前述のように、第1VPN−IF133がステップS315におけるアドレス変換を実行した場合、第1VPN−IF133がステップS320を実行する。
【0065】
ステップS320における暗号化及びカプセル化が実行された後、ネットワーク制御部120は、LAN−IF151を制御して、暗号化及びカプセル化後のパケットを、LAN13に出力する(ステップS325)。上述したように、第1VPN−IF133がステップS320における暗号化及びカプセル化を実行した場合、ステップS320においてパケットはLAN13に出力されるが、このパケットは、論理的には、第1VPNトンネル901に出力される。したがって、このパケットは、ゲートウェイ装置GW3及び広域通信網15を介して、ゲートウェイ装置GW1に届くこととなる。
【0066】
ゲートウェイ装置GW1のVPN−IF232は、受信したパケットからVPN用ヘッダをはずし、また、復号化して、宛先IPアドレスが「192.168.3.1」のパケット(印刷ジョブデータのパケット)を得る。ゲートウェイ装置GW1の転送処理部211は、宛先IPアドレスが「192.168.3.1」のパケットをLAN11に出力するので、プリンターPR1はこのパケットを受信し、印刷ジョブデータを取得することができる。なお、前述のステップS310において、特定された出力インターフェイスがVPN−IFでない場合(すなわち、LAN−IF151の場合)、前述のステップS325が実行され、パケットがLAN13に出力される。
【0067】
以上は、クライアントCL1からプリンターPR1宛に印刷ジョブデータが送信される場合について例示したが、例えば、クライアントCL1からプリンターPR4に印刷ジョブデータが送信される場合、ステップS305でIPアドレス「192.168.10.1」が特定され、ステップS310で出力先インターフェイス「第2VPN−IF134」が特定される。加えて、ステップS315で宛先IPアドレスが「192.168.10.1」から「192.168.3.1」に変換され、暗号化及びカプセル化後のパケットが、第2VPNトンネル902を通ってゲートウェイ装置GW2に届くこととなる。したがって、宛先IPアドレス「192.168.3.1」の印刷ジョブデータを含むパケットが、LAN12を介してプリンターPR4に届き、プリンターPR4において印刷が実行されることとなる。
【0068】
以上説明した第1実施例のネットワークシステム10では、LAN11内のプリンターPR1〜PR3と、LAN12内のプリンターPR4〜PR6とで、IPアドレスが重複して割り当てられている。しかしながら、ネットワークシステム10では、各プリンターPR1〜PR6を、互いに重複しない仮想的なIPアドレスにより特定して出力インターフェイスを決定するので、印刷指示において指定されたプリンターに応じた適切なVPNトンネルに、印刷ジョブデータを含むパケットを出力することができる。また、特定された出力インターフェイスにおいて、仮想的なIPアドレスから実際に設定されているIPアドレスに変換されるので、VPNトンネルの他端であるゲートウェイ装置GW1,GW2においてVPNヘッダが取り外されて復号化されたパケットの宛先IPアドレスとして、印刷指示において指定されたプリンターに実際に割り当てられているIPアドレスを設定することができる。したがって、印刷ジョブデータを、印刷指示において指定されたプリンターに届けることができる。このようにして、ネットワークシステム10では、同一のプライベートIPアドレスが割り当てられた複数のプリンターの各々に対して、クライアントCL1からVPNトンネルを介してデータを送信することができる。
【0069】
加えて、ネットワークシステム10では、各プリンターを特定するための情報として、仮想的なIPアドレスを用いているので、名前解決(ステップS305)や、出力インターフェイスの特定(ステップS310)の各処理として、元々互いに異なるIPアドレスが割り当てられたデバイスに対してデータを送信する際の処理と同じ処理を実行させることができる。したがって、各処理をシンプルに構成することができ、クライアントCL1の製造コストを抑えることができる。
【0070】
また、各プリンターに割り当てる仮想的なIPアドレスとして、実際に割り当てられているIPアドレスのホストアドレスと同じホストアドレスを有するIPアドレスを用いるので、仮想的なネットワーク(仮想的なネットワークアドレスが割り当てられたアドレス空間)上において、IPアドレスの重複割り当ての発生を抑制できる。これは、各LAN11,12内における実際のIPアドレスの重複割り当ては発生の可能性が低いので、実際に割り当てられているIPアドレスのホストアドレスと同じホストアドレスを有するIPアドレスを仮想的なIPアドレスとして割り当てることにより、仮想的なIPアドレス同士の重複の可能性を低くすることができるからである。
【0071】
また、クライアントCL1は、名前解決部121及び名前解決テーブルTB1を有するので、各プリンターPR1〜PR6に割り当てた仮想的なIPアドレスに代えて、装置名及びゲートウェイ装置のグローバルIPアドレスにより、プリンターを特定して印刷指示を入力できる。したがって、ユーザーは、仮想的なIPアドレスを知らなくてもプリンターを特定して印刷指示を行うことができる。加えて、ユーザーにおいて、プリンター(ネットワーク)を特定する情報として、ゲートウェイ装置GW1,GW2に既に設定されているグローバルIPアドレスを用いるので、プリンター(ネットワーク)を特定する情報として新たな情報(識別子)を用いる構成に比べて、情報の割り当てや情報の管理等に要する処理を軽減することができる。
【0072】
B.第2実施例:
B1.システム構成:
図9は、第2実施例のネットワークシステムの概略構成を示す説明図である。図10は、図9に示すDNSサーバーの詳細構成を示すブロック図である。図11は、第2実施例のクライアントの詳細構成を示すブロック図である。
【0073】
図9に示すネットワークシステム10aは、DNS(Domain Name Server)サーバー300を備えている点においてネットワークシステム10と異なり、他の構成は、図1に示すネットワークシステム10と同じである。DNSサーバー300は、装置名及びゲートウェイ装置のグローバルIPアドレスからIPアドレスを特定するためのサーバーである。DNSサーバー300は、LAN13に接続されている。
【0074】
図10に示すように、DNSサーバー300は、CPU310と、ROM320と、RAM330と、ハードディスクドライブ340と、ネットワークインターフェイス部350とを備えている。
【0075】
ROM320には、ネットワークを介したデータのやりとりを実行するためのプログラムが格納されており、CPU110は、このプログラムを実行することにより、名前解決部311と、テーブル更新部312と、装置情報受信部313と、ネットワーク制御部314として機能する。名前解決部311は、第1実施例のクライアントCL1における名前解決部121と同様であるので、説明を省略する。テーブル更新部312は、後述する名前解決テーブル321を更新する。装置情報受信部313は、後述するテーブル更新処理において、クライアントCL1より出力される装置名等を受信する。ネットワーク制御部314は、レイヤ3パケットの送受信を制御すると共に、ネットワークインターフェイス部350を制御してレイヤ2フレームの送受信を制御する。
【0076】
ROM320には、前述のプログラムに加えて、名前解決テーブル321が格納されている。名前解決テーブル321は、第1実施例の名前解決テーブルTB1と同じであるので、説明を省略する。ネットワークインターフェイス部350は、レイヤ2以下の処理を実行する。ネットワークインターフェイス部350は、LAN13に接続するための図示しないネットワークインターフェイスカードを有しており、このネットワークインターフェイスカードにおいてネットワークケーブルCa4と接続されている。
【0077】
図11に示すように、第2実施例のクライアントCL1aは、ROM125が名前解決テーブルTB1を格納していない点と、ネットワーク制御部120が、名前解決部121及び第1テーブル更新部122に代えて、アドレス問い合わせ部123を備えている点と、VPN制御部130が、装置情報送信部135を備えている点とにおいて、図2に示す第1実施例のクライアントCL1と異なり、他の構成は、クライアントCL1と同じである。
【0078】
アドレス問い合わせ部123は、後述するデータ送信処理において、DNSサーバー300に対してIPアドレスを問い合わせる。装置情報送信部135は、後述するテーブル更新処理において、DNSサーバー300に装置名等を送信する。
【0079】
B2.テーブル更新処理:
図12は、第2実施例のテーブル更新処理の手順を示すシーケンス図である。図12において、最も左は、ゲートウェイ装置GW1,GW2において実行されるフローチャートを示し、中央は、クライアントCL1aにおいて実行されるフローチャートを示し、最も右は、DNSサーバー300において実行されるフローチャートを示す。第2実施例のテーブル更新処理は、名前解決テーブルの更新及び名前解決の処理をDNSサーバー300において実行する点において、第1実施例のテーブル更新処理と異なり、他の処理内容は、第1実施例と同様である。
【0080】
ゲートウェイ装置GW1,GW2では、前述のステップS105,S110が実行される。クライアントCL1aにおいて、装置情報送信部135は、前述のステップS205,210,215が実行された後、ステップS205において装置名等を送信したゲートウェイ装置のグローバルIPアドレス及び通知された装置名と、ステップS215において割り当てられた仮想的なIPアドレスとを、ネットワーク制御部120を制御してDNSサーバー300に送信する(ステップS218)。なお、クライアントCL1aでは、前述のステップS218の後、前述のステップS225が実行される。
【0081】
DNSサーバー300において、装置情報受信部313は、クライアントCL1aから出力された装置名等を受信し、テーブル更新部312は、受信された装置名と、ゲートウェイ装置のグローバルIPアドレスと、割り当てられた仮想的なIPアドレスとを用いて、名前解決テーブル321に新たなエントリーを追加する(ステップS405)。このステップS405は、第1実施例のテーブル更新処理におけるステップS220と同様であるので、説明を省略する。
【0082】
B3.データ送信処理及び名前解決処理:
図13は、第2実施例におけるデータ送信処理及び名前解決処理の手順を示すシーケンス図である。図13において、左側はクライアントCL1aにおいて実行されるデータ送信処理のフローチャートを示し、右側はDNSサーバー300において実行される名前解決処理のフローチャートを示す。第2実施例のデータ送信処理は、ステップS305に代えて、ステップS307,S308を実行する点において、図8に示す第1実施例のデータ送信処理と異なり、他の処理内容は、第1実施例と同じである。
【0083】
クライアントCL1aにおいて、アドレス問い合わせ部123は、印刷指示において指定された装置名及びゲートウェイ装置のグローバルIPアドレスを用いて、DNSサーバー300にIPアドレスを問い合わせる(ステップS307)。
【0084】
DNSサーバー300において、名前解決部311は、名前解決テーブル321を参照して、クライアントCL1aより受信した装置名及びゲートウェイ装置のグローバルIPアドレスから、IPアドレスを特定する(ステップS605)。この処理は、第1実施例のデータ送信処理のステップS305と同様であるので、説明を省略する。DNSサーバー300において、名前解決部311は、ステップS605で特定したIPアドレスをクライアントCL1aに送信する(ステップS610)。
【0085】
クライアントCL1aにおいて、ネットワーク制御部120は、前述のステップS307の後、DNSサーバー300からIPアドレスの通知があるまで待機しており(ステップS308)、IPアドレスの通知があると、前述のステップS310〜S325が実行される。
【0086】
以上説明した第2実施例のネットワークシステム10aは、第1実施例のネットワークシステム10と同様の効果を有する。加えて、名前解決をクライアントCL1aにおいて実行させず、DNSサーバー300において実行させるので、クライアントCL1aのCPU110の処理負荷を軽減できる。また、クライアントCL1aのROM125に名前解決テーブルを格納しないので、ROM125の容量を低減させることができる。以上より、第2実施例のネットワークシステム10aによると、クライアントCL1aの製造コストを抑制することができる。
【0087】
なお、第2実施例において、DNSサーバー300は、請求項における名前解決サーバーに相当する。また、名前解決テーブル321及びテーブル更新部312は、請求項における装置名対応部に相当する。
【0088】
C.変形例:
この発明は、上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【0089】
C1.変形例1:
各実施例では、テーブル更新処理において、ゲートウェイ装置GW1,GW2がクライアントCL1,CL1aに送信する情報は、自らが所属するLAN内の各装置(各プリンターPR1〜PR6)のIPアドレス及び装置名であったが、装置名を省略して各装置のIPアドレスのみを送信する構成を採用することもできる。この構成では、例えば、ユーザーは、予め各装置の装置名を調べて、名前解決テーブルTB1,321において、各装置に割り当てられた仮想的なIPアドレスに対応付けて、各装置の装置名を追加することができる。
【0090】
また、各実施例では、テーブル更新処理において、ゲートウェイ装置GW1,GW2は、クライアントCL1,CL1aに対して、自らが所属するLAN内の各装置のIPアドレス及び装置名を送信していたが、本発明はこれに限定されるものではない。例えば、管理者がLAN11,12内の各装置のIPアドレス及び装置名を調べて、名前解決テーブルTB1,321や、アドレス変換テーブルTB2に追加する構成を採用することができる。この構成では、ゲートウェイ装置GW1,GW2が、自らが所属するLAN内の各装置のIPアドレス及び装置名をクライアントCL1,CL1aに送信する処理(ステップS105)を省略することができるので、ゲートウェイ装置GW1,GW2の処理負荷を軽減することができる。
【0091】
C2.変形例2:
各実施例では、装置名及びゲートウェイ装置のグローバルIPアドレスから、各プリンターのIPアドレス(仮想的なIPアドレス)を特定する名前解決を行っていたが、名前解決を省略することもできる。例えば、ユーザーが、各プリンターPR1〜PR6に実際に割り当てられているIPアドレスを知っており、また、各LAN11,12がクライアントCL1,CL1aのいずれのVPN−IF(第1VPN−IF133及び第2VPN−IF134)と対応付けられているかを知っており、各VPN−IFがどのようなネットワークと対応付けられているかを知っている場合には、各プリンターに割り当てられる仮想的なIPアドレスを容易に知ることができる。例えば、プリンターPR1のIPアドレス「192.168.3.1」を知っており、プリンターPR1が所属するLAN11が第1VPN−IF133に対応付けられていることを知っており、第1VPN−IF133が、ネットワークアドレス「192.168.5.0/24」のネットワークと対応付けられていることを知っている場合には、プリンターPR1に割り当てられる仮想的なIPアドレスとして、「192.168.5.1」が割り当てられることを容易に知ることができる。したがって、ユーザーは、仮想的なIPアドレスを指定して印刷指示をクライアントCL1,CL1aに入力することができる。このような構成においては、名前解決を行わずに済むため、クライアントCL1またなネットワークシステム全体の製造コストを抑制できる。
【0092】
C3.変形例3:
各実施例では、各プリンターPR1〜PR6の仮想的なIPアドレスを割り当てる際に、各プリンターPR1〜PR6に実際に設定されているIPアドレスのホストアドレスを、仮想的なIPアドレスのホストアドレスとして用いているが、本発明は、これに限定されるものではない。同じネットワーク内において互いに重複しない任意のホストアドレスを、仮想的なIPアドレスのホストアドレスとして採用することができる。このような構成においても、仮想的なIPアドレスに重複は生じないので、仮想的なIPアドレスにより、各プリンターPR1〜PR6を一意に特定することができる。
【0093】
また、各実施例では、プリンターPR1〜PR3と、プリンターPR4〜PR6とは、仮想的なIPアドレスとして、互いに異なるネットワークアドレスを有するIPアドレスが割り当てられていたが、本発明はこれに限定されるものではない。プリンターPR1〜PR3と、プリンターPR4〜PR6とで、互いに同じネットワークアドレスを有し、互いに異なるホストアドレスを有するIPアドレスが割り当てられる構成を採用することもできる。この構成においては、出力テーブルとして、割り当てられた仮想的なIPアドレスごとに、出力インターフェイスを対応付けるようにすることが好ましい。
【0094】
また、各実施例において、各プリンターPR1〜PR3を特定するために用いられる仮想的なIPアドレスは、プライベートIPアドレスであったが、プライベートIPアドレスに代えて、グローバルIPアドレスを採用することもできる。
【0095】
C4.変形例4:
各実施例の名前解決テーブルTB1,321において、プリンターを指定するために用いられる情報は、プリンターの装置名と、プリンターが所属するLAN内に配置されたゲートウェイ装置のグローバルIPアドレスであったが、本発明はこれに限定されるものではない。例えば、装置名と、プリンターが所属するLAN内に配置されたゲートウェイ装置のMACアドレスとを用いることもできる。すなわち、一般には、装置名と、LAN(ネットワーク)を一意に特定可能な任意の識別子とを、名前解決テーブルTB1,321において、プリンターを指定するために用いることができる。また、装置名及びネットワーク識別子に代えて、完全修飾ドメイン名を用いてプリンターを指定することもできる。
【0096】
C5.変形例5:
各実施例において、テーブル更新処理が実行されるタイミングは、第1VPNトンネル901又は第2VPNトンネル902が形成されるタイミングであったが、本発明はこれに限定されるものではない。各VPNトンネル901,902が更新されるタイミング(セキュリティ向上を目的として、定期的に互いに認証を行ったり、暗号鍵をやり取りするタイミング)に実行することもできる。また、VPNトンネル901,902の形成及び更新のタイミングに代えて、または、VPNトンネル901,902の形成及び更新のタイミングに加えて、任意のタイミングに(例えば、任意の期間ごとに定期的に)、テーブル更新処理を実行することができる。
【0097】
C6.変形例6:
各実施例では、各VPN終端部133,134に対して宛先となるプリンターを指定するための情報として、仮想的なIPアドレスを用いていたが、本発明は、これに限定されるものではない。例えば、各プリンターに実際に割り当てられているIPアドレス及びゲートウェイ装置(各プリンターが所属しているLANに所属するゲートウェイ装置)のグローバルIPアドレスを、宛先となるプリンターを指定するための情報として用いることもできる。この構成においては、出力テーブルとして、各プリンターに実際に割り当てられているIPアドレスとグローバルIPアドレスとを、出力インターフェイスに対応付けることが好ましい。
【0098】
C7.変形例7:
各実施例において、クライアントCL1,CL1aは、主としてパーソナルコンピューター100により構成されていたが、パーソナルコンピューターに代えて、携帯電話端末や、PDA(Personal Digital Assistants)などにより構成することもできる。すなわち、一般には、VPNトンネルを終端する機能、及びVPNトンネルを介したデータのやりとりを行う機能を有する任意の装置を、クライアントとして採用することができる。
【0099】
また、各実施例では、クライアントCL1,CL1aから出力されるデータを受信する装置として、プリンターが用いられていたが、プリンターに代えて、プロジェクターや、ネットワークカメラや、テレビ会議システム用のサーバー装置など、任意のデバイスを採用することができる。
【0100】
また、各実施例では、クライアントCL1,CL1aとは反対側の端においてVPNトンネル901,902を終端する装置は、ルーター装置(ゲートウェイ装置GW1,GW2)であったが、本発明は、これに限定されるものではない。VPNトンネルを終端する専用装置を、ルーター装置とは別に採用し、かかる専用装置により、VPNトンネル901,902を終端することもできる。この構成では、VPNトンネルを終端する専用装置は、請求項におけるVPN終端装置に相当する。
【0101】
C8.変形例8:
各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。また、本発明の機能の一部または全部がソフトウェアで実現される場合には、そのソフトウェア(コンピュータープログラム)は、コンピューター読み取り可能な記録媒体に格納された形で提供することができる。この発明において、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスクやCD−ROMのような携帯型の記録媒体に限らず、各種のRAMやROM等のコンピューター内の内部記憶装置や、ハードディスク等のコンピューターに固定されている外部記憶装置も含んでいる。すなわち、「コンピューター読み取り可能な記録媒体」とは、データを一時的ではなく固定可能な任意の記録媒体を含む広い意味を有している。
【符号の説明】
【0102】
10,10a…ネットワークシステム
CL1,CL1a…クライアント
PR1〜PR6…プリンター
GW1〜GW3…ゲートウェイ装置
11〜13…LAN
15…広域通信網
901…第1VPNトンネル
902…第2VPNトンネル
100…パーソナルコンピューター
110…CPU
120…ネットワーク制御部
121…名前解決部
122…第1テーブル更新部
123…アドレス問い合わせ部
125…ROM
TB1…名前解決テーブル
TB2…アドレス変換テーブル
TB3…出力テーブル
130…VPN制御部
131…装置情報取得部
132…第2テーブル更新部
133…第1VPN−IF
134…第2VPN−IF
135…装置情報送信部
140…ハードディスクドライブ
142…RAM
150…ネットワークインターフェイスカード
151…LAN−IF
160…I/Oインターフェイス部
171…ディスプレイ装置
172…キーボード
173…マウス
Ca1〜Ca4…ネットワークケーブル
210…CPU
211…転送処理部
212…転送制御部
220…ネットワーク制御部
230…VPN制御部
231…装置情報通知部
232…VPN−IF
240…ネットワークインターフェイス部
242…WAN−IF
241…LAN−IF
250…ROM
251…ルーティングテーブル
252…ARPテーブル
260…RAM
300…DNSサーバー
310…CPU
311…名前解決部
312…テーブル更新部
313…装置情報受信部
314…ネットワーク制御部
320…ROM
321…名前解決テーブル
330…RAM
340…ハードディスクドライブ
350…ネットワークインターフェイス部
【特許請求の範囲】
【請求項1】
ネットワークシステムであって、
第1のネットワークに所属し、第1のプライベートIP(Internet Protocol)アドレスが割り当てられた第1のデバイスと、
前記第1のネットワークに所属し、VPN(Virtual Private Network)の仮想的なトンネルである第1のVPNトンネルの一端を終端する第1のVPN終端装置と、
第2のネットワークに所属し、前記第1のプライベートIPアドレスが割り当てられた第2のデバイスと、
前記第2のネットワークに所属し、前記仮想的なトンネルである第2のVPNトンネルの一端を終端する第2のVPN終端装置と、
第3のネットワークに所属するクライアントであって、
前記第1のVPNトンネルの他端を終端する第1のVPN終端部と、
前記第2のVPNトンネルの他端を終端する第2のVPN終端部と、
前記第1のデバイスに割り当てられた前記第1のプライベートIPアドレスを第3のプライベートIPアドレスと対応付け、前記第2のデバイスに割り当てられた前記第1のプライベートIPアドレスを第4のプライベートIPアドレスと対応付けるアドレス対応部と、
前記第3のプライベートIPアドレスを前記第1のVPN終端部と対応付け、前記第4のプライベートIPアドレスを前記第2のVPN終端部と対応付けるVPN終端部対応部と、
を有するクライアントと、
を備え、
前記第1のVPN終端部は、前記第1のデバイス宛のデータとして、前記第3のプライベートIPアドレスが宛先IPアドレスとして付与されたパケットを受け取ると、前記パケットに設定されている宛先IPアドレスを、前記第3のプライベートIPアドレスから、前記第3のプライベートIPアドレスに対応付けられている前記第1のプライベートIPアドレスに書き換えて、前記第1のVPNトンネルに送出し、
前記第2のVPN終端部は、前記第2のデバイス宛のデータとして、前記第4のプライベートIPアドレスが宛先IPアドレスとして付与されたパケットを受け取ると、前記パケットに設定されている宛先IPアドレスを、前記第4のプライベートIPアドレスから、前記第4のプライベートIPアドレスに対応付けられている前記第1のプライベートIPアドレスに書き換えて、前記第2のVPNトンネルに送出する、ネットワークシステム。
【請求項2】
請求項1に記載のネットワークシステムにおいて、
前記アドレス対応部は、前記第3のプライベートIPアドレスとして、前記第1のプライベートIPアドレスにおけるホストアドレスと同じホストアドレスを有するIPアドレスを採用し、前記第4のプライベートIPアドレスとして、前記第3のプライベートIPアドレスにおけるネットワークアドレスと異なるネットワークアドレスを有し、かつ、前記第2のプライベートIPアドレスにおけるホストアドレスと同じホストアドレスを有するIPアドレスを採用する、ネットワークシステム。
【請求項3】
請求項1または請求項2に記載のネットワークシステムにおいて、
前記クライアントは、さらに、
前記第1のデバイスの装置名及び前記第1のネットワークを一意に特定可能な第1のネットワーク識別子を前記第3のプライベートIPアドレスと対応付け、前記第2のデバイスの装置名及び前記第2のネットワークを一意に特定可能な第2のネットワーク識別子を前記第4のプライベートIPアドレスと対応付ける装置名対応部と、
前記第1のデバイスの装置名及び前記第1のネットワーク識別子を含むIPアドレスの問い合わせを受けると、前記装置名対応部を制御して、前記第1のデバイスの装置名及び前記第1のネットワーク識別子に対応付けられた前記第3のプライベートIPアドレスを返信し、前記第2のデバイスの装置名及び前記第2のネットワーク識別子を含むIPアドレスの問い合わせを受けると、前記装置名対応部を制御して、前記第2のデバイスの装置名及び前記第2のネットワーク識別子に対応付けられた前記第4のプライベートIPアドレスを返信する名前解決部と、
パケット生成部であって、
前記第1のデバイスの装置名及び前記第1のネットワーク識別子を指定した前記第1のデバイス宛のデータを受け取ると、前記名前解決部に前記第1のデバイスの装置名及び前記第1のネットワーク識別子を含む前記IPアドレスの問い合わせを送信することにより、前記名前解決部から前記第3のプライベートIPアドレスを取得し、前記第3のプライベートIPアドレスを宛先IPアドレスとするパケットを生成して前記第1のVPN終端部に渡し、
前記第2のデバイスの装置名及び前記第2のネットワーク識別子を指定した前記第2のデバイス宛のデータを受け取ると、前記名前解決部に前記第2のデバイスの装置名及び前記第2のネットワーク識別子を含む前記IPアドレスの問い合わせを送信することにより、前記名前解決部から前記第4のプライベートIPアドレスを取得し、前記第4のプライベートIPアドレスを宛先IPアドレスとするパケットを生成して前記第2のVPN終端部に渡すパケット生成部と、
を有するネットワークシステム。
【請求項4】
請求項1または請求項2に記載のネットワークシステムにおいて、さらに、
前記第3のネットワークに所属する名前解決サーバーを備え、
前記クライアントは、さらに、
アドレス問い合わせ部であって、
前記名前解決サーバーに前記第1のデバイスの装置名及び前記第1のネットワーク識別子を含むIPアドレスの問い合わせを送信することにより、前記名前解決サーバーから前記第3のプライベートIPアドレスを取得し、
前記名前解決サーバーに前記第2のデバイスの装置名及び前記第2のネットワーク識別子を含むIPアドレスの問い合わせを送信することにより、前記名前解決サーバーから前記第4のプライベートIPアドレスを取得するアドレス問い合わせ部と、
パケット生成部であって、
前記第1のデバイス宛のデータを受け取ると、前記アドレス問い合わせ部を制御して前記第3のプライベートIPアドレスを取得すると共に、前記第3のプライベートIPアドレスを宛先IPアドレスとするパケットを生成して前記第1のVPN終端部に渡し、
前記第2のデバイス宛のデータを受け取ると、前記アドレス問い合わせ部を制御して前記第4のプライベートIPアドレスを取得すると共に、前記第4のプライベートIPアドレスを宛先IPアドレスとするパケットを生成して前記第2のVPN終端部に渡すパケット生成部と、
を有し、
前記名前解決サーバーは、
前記第1のデバイスの装置名及び前記第1のネットワーク識別子を、前記第3のプライベートIPアドレスと対応付けると共に、前記第2のデバイスの装置名及び前記第2のネットワーク識別子を、前記第4のプライベートIPアドレスと対応付ける装置名対応部と、
前記第1のデバイスの装置名及び前記第1のネットワーク識別子を含むIPアドレスの問い合わせを受けると、前記装置名対応部を制御して、前記第1のデバイスの装置名及び前記第1のネットワーク識別子に対応付けられた前記第3のプライベートIPアドレスを返信し、前記第2のデバイスの装置名及び前記第2のネットワーク識別子を含むIPアドレスの問い合わせを受けると、前記装置名対応部を制御して、前記第2のデバイスの装置名及び前記第2のネットワーク識別子に対応付けられた前記第4のプライベートIPアドレスを返信する名前解決部と、
を有する、ネットワークシステム。
【請求項5】
請求項3または請求項4に記載のネットワークシステムにおいて、
前記第1のVPN終端装置は、前記第1のデバイスに割り当てられている前記第1のプライベートIPアドレスと前記第1のデバイスの装置名と前記第1のネットワーク識別子とを、前記クライアントに通知する第1の通知部を備え、
前記第2のVPN終端装置は、前記第2のデバイスに割り当てられている前記第2のプライベートIPアドレスと前記第2のデバイスの装置名と前記第2のネットワーク識別子とを、前記クライアントに通知する第2の通知部を備える、ネットワークシステム。
【請求項6】
請求項3ないし請求項5のいずれか一項に記載のネットワークシステムにおいて、
前記第1のVPN終端装置には、第1のグローバルIPアドレスが割り当てられ、
前記第2のVPN終端装置には、第2のグローバルIPアドレスが割り当てられ、
前記第1のネットワーク識別子は、前記第1のグローバルIPアドレスであり、
前記第2のネットワーク識別子は、前記第2のグローバルIPアドレスである、ネットワークシステム。
【請求項7】
請求項1ないし請求項6のいずれか一項に記載のネットワークシステムにおいて、
前記第1のデバイス及び前記第2のデバイスは、いずれも印刷装置である、ネットワークシステム。
【請求項8】
第1のVPN(Virtual Private Network)終端装置が所属する第1のネットワークに所属し、第1のプライベートIP(Internet Protocol)アドレスが割り当てられた第1のデバイスと、第2のVPN終端装置が所属する第2のネットワークに所属し、前記第1のプライベートIPアドレスが割り当てられた第2のデバイスと、第3のネットワークに所属するクライアントと、前記第1のVPN終端装置と前記クライアントとの間に形成されるVPNの仮想的なトンネルである第1のVPNトンネルと、前記第2のVPN終端装置と前記クライアントとの間に形成される前記仮想的なトンネルである第2のVPNトンネルと、を有するネットワークシステムの制御方法であって、
(a)前記クライアントにおいて、前記第1のデバイスに割り当てられた前記第1のプライベートIPアドレスを第3のプライベートIPアドレスと対応付け、前記第2のデバイスに割り当てられた前記第1のプライベートIPアドレスを第4のプライベートIPアドレスと対応付ける工程と、
(b)前記クライアントにおいて、前記第3のプライベートIPアドレスを前記第1のVPN終端部と対応付け、前記第4のプライベートIPアドレスを前記第2のVPN終端部と対応付ける工程と、
(c)前記クライアントにおいて、前記第1のデバイス宛のデータとして、前記第3のプライベートIPアドレスが宛先IPアドレスとして付与されたパケットを受け取ると、前記パケットに設定されている宛先IPアドレスを、前記第3のプライベートIPアドレスから、前記第3のプライベートIPアドレスに対応付けられている前記第1のプライベートIPアドレスに書き換えて、前記第1のVPNトンネルに送出し、
前記第2のデバイス宛のデータとして、前記第4のプライベートIPアドレスが宛先IPアドレスとして付与されたパケットを受け取ると、前記パケットに設定されている宛先IPアドレスを、前記第4のプライベートIPアドレスから、前記第4のプライベートIPアドレスに対応付けられている前記第1のプライベートIPアドレスに書き換えて、前記第2のVPNトンネルに送出する工程と、
を備えるネットワークシステム制御方法。
【請求項1】
ネットワークシステムであって、
第1のネットワークに所属し、第1のプライベートIP(Internet Protocol)アドレスが割り当てられた第1のデバイスと、
前記第1のネットワークに所属し、VPN(Virtual Private Network)の仮想的なトンネルである第1のVPNトンネルの一端を終端する第1のVPN終端装置と、
第2のネットワークに所属し、前記第1のプライベートIPアドレスが割り当てられた第2のデバイスと、
前記第2のネットワークに所属し、前記仮想的なトンネルである第2のVPNトンネルの一端を終端する第2のVPN終端装置と、
第3のネットワークに所属するクライアントであって、
前記第1のVPNトンネルの他端を終端する第1のVPN終端部と、
前記第2のVPNトンネルの他端を終端する第2のVPN終端部と、
前記第1のデバイスに割り当てられた前記第1のプライベートIPアドレスを第3のプライベートIPアドレスと対応付け、前記第2のデバイスに割り当てられた前記第1のプライベートIPアドレスを第4のプライベートIPアドレスと対応付けるアドレス対応部と、
前記第3のプライベートIPアドレスを前記第1のVPN終端部と対応付け、前記第4のプライベートIPアドレスを前記第2のVPN終端部と対応付けるVPN終端部対応部と、
を有するクライアントと、
を備え、
前記第1のVPN終端部は、前記第1のデバイス宛のデータとして、前記第3のプライベートIPアドレスが宛先IPアドレスとして付与されたパケットを受け取ると、前記パケットに設定されている宛先IPアドレスを、前記第3のプライベートIPアドレスから、前記第3のプライベートIPアドレスに対応付けられている前記第1のプライベートIPアドレスに書き換えて、前記第1のVPNトンネルに送出し、
前記第2のVPN終端部は、前記第2のデバイス宛のデータとして、前記第4のプライベートIPアドレスが宛先IPアドレスとして付与されたパケットを受け取ると、前記パケットに設定されている宛先IPアドレスを、前記第4のプライベートIPアドレスから、前記第4のプライベートIPアドレスに対応付けられている前記第1のプライベートIPアドレスに書き換えて、前記第2のVPNトンネルに送出する、ネットワークシステム。
【請求項2】
請求項1に記載のネットワークシステムにおいて、
前記アドレス対応部は、前記第3のプライベートIPアドレスとして、前記第1のプライベートIPアドレスにおけるホストアドレスと同じホストアドレスを有するIPアドレスを採用し、前記第4のプライベートIPアドレスとして、前記第3のプライベートIPアドレスにおけるネットワークアドレスと異なるネットワークアドレスを有し、かつ、前記第2のプライベートIPアドレスにおけるホストアドレスと同じホストアドレスを有するIPアドレスを採用する、ネットワークシステム。
【請求項3】
請求項1または請求項2に記載のネットワークシステムにおいて、
前記クライアントは、さらに、
前記第1のデバイスの装置名及び前記第1のネットワークを一意に特定可能な第1のネットワーク識別子を前記第3のプライベートIPアドレスと対応付け、前記第2のデバイスの装置名及び前記第2のネットワークを一意に特定可能な第2のネットワーク識別子を前記第4のプライベートIPアドレスと対応付ける装置名対応部と、
前記第1のデバイスの装置名及び前記第1のネットワーク識別子を含むIPアドレスの問い合わせを受けると、前記装置名対応部を制御して、前記第1のデバイスの装置名及び前記第1のネットワーク識別子に対応付けられた前記第3のプライベートIPアドレスを返信し、前記第2のデバイスの装置名及び前記第2のネットワーク識別子を含むIPアドレスの問い合わせを受けると、前記装置名対応部を制御して、前記第2のデバイスの装置名及び前記第2のネットワーク識別子に対応付けられた前記第4のプライベートIPアドレスを返信する名前解決部と、
パケット生成部であって、
前記第1のデバイスの装置名及び前記第1のネットワーク識別子を指定した前記第1のデバイス宛のデータを受け取ると、前記名前解決部に前記第1のデバイスの装置名及び前記第1のネットワーク識別子を含む前記IPアドレスの問い合わせを送信することにより、前記名前解決部から前記第3のプライベートIPアドレスを取得し、前記第3のプライベートIPアドレスを宛先IPアドレスとするパケットを生成して前記第1のVPN終端部に渡し、
前記第2のデバイスの装置名及び前記第2のネットワーク識別子を指定した前記第2のデバイス宛のデータを受け取ると、前記名前解決部に前記第2のデバイスの装置名及び前記第2のネットワーク識別子を含む前記IPアドレスの問い合わせを送信することにより、前記名前解決部から前記第4のプライベートIPアドレスを取得し、前記第4のプライベートIPアドレスを宛先IPアドレスとするパケットを生成して前記第2のVPN終端部に渡すパケット生成部と、
を有するネットワークシステム。
【請求項4】
請求項1または請求項2に記載のネットワークシステムにおいて、さらに、
前記第3のネットワークに所属する名前解決サーバーを備え、
前記クライアントは、さらに、
アドレス問い合わせ部であって、
前記名前解決サーバーに前記第1のデバイスの装置名及び前記第1のネットワーク識別子を含むIPアドレスの問い合わせを送信することにより、前記名前解決サーバーから前記第3のプライベートIPアドレスを取得し、
前記名前解決サーバーに前記第2のデバイスの装置名及び前記第2のネットワーク識別子を含むIPアドレスの問い合わせを送信することにより、前記名前解決サーバーから前記第4のプライベートIPアドレスを取得するアドレス問い合わせ部と、
パケット生成部であって、
前記第1のデバイス宛のデータを受け取ると、前記アドレス問い合わせ部を制御して前記第3のプライベートIPアドレスを取得すると共に、前記第3のプライベートIPアドレスを宛先IPアドレスとするパケットを生成して前記第1のVPN終端部に渡し、
前記第2のデバイス宛のデータを受け取ると、前記アドレス問い合わせ部を制御して前記第4のプライベートIPアドレスを取得すると共に、前記第4のプライベートIPアドレスを宛先IPアドレスとするパケットを生成して前記第2のVPN終端部に渡すパケット生成部と、
を有し、
前記名前解決サーバーは、
前記第1のデバイスの装置名及び前記第1のネットワーク識別子を、前記第3のプライベートIPアドレスと対応付けると共に、前記第2のデバイスの装置名及び前記第2のネットワーク識別子を、前記第4のプライベートIPアドレスと対応付ける装置名対応部と、
前記第1のデバイスの装置名及び前記第1のネットワーク識別子を含むIPアドレスの問い合わせを受けると、前記装置名対応部を制御して、前記第1のデバイスの装置名及び前記第1のネットワーク識別子に対応付けられた前記第3のプライベートIPアドレスを返信し、前記第2のデバイスの装置名及び前記第2のネットワーク識別子を含むIPアドレスの問い合わせを受けると、前記装置名対応部を制御して、前記第2のデバイスの装置名及び前記第2のネットワーク識別子に対応付けられた前記第4のプライベートIPアドレスを返信する名前解決部と、
を有する、ネットワークシステム。
【請求項5】
請求項3または請求項4に記載のネットワークシステムにおいて、
前記第1のVPN終端装置は、前記第1のデバイスに割り当てられている前記第1のプライベートIPアドレスと前記第1のデバイスの装置名と前記第1のネットワーク識別子とを、前記クライアントに通知する第1の通知部を備え、
前記第2のVPN終端装置は、前記第2のデバイスに割り当てられている前記第2のプライベートIPアドレスと前記第2のデバイスの装置名と前記第2のネットワーク識別子とを、前記クライアントに通知する第2の通知部を備える、ネットワークシステム。
【請求項6】
請求項3ないし請求項5のいずれか一項に記載のネットワークシステムにおいて、
前記第1のVPN終端装置には、第1のグローバルIPアドレスが割り当てられ、
前記第2のVPN終端装置には、第2のグローバルIPアドレスが割り当てられ、
前記第1のネットワーク識別子は、前記第1のグローバルIPアドレスであり、
前記第2のネットワーク識別子は、前記第2のグローバルIPアドレスである、ネットワークシステム。
【請求項7】
請求項1ないし請求項6のいずれか一項に記載のネットワークシステムにおいて、
前記第1のデバイス及び前記第2のデバイスは、いずれも印刷装置である、ネットワークシステム。
【請求項8】
第1のVPN(Virtual Private Network)終端装置が所属する第1のネットワークに所属し、第1のプライベートIP(Internet Protocol)アドレスが割り当てられた第1のデバイスと、第2のVPN終端装置が所属する第2のネットワークに所属し、前記第1のプライベートIPアドレスが割り当てられた第2のデバイスと、第3のネットワークに所属するクライアントと、前記第1のVPN終端装置と前記クライアントとの間に形成されるVPNの仮想的なトンネルである第1のVPNトンネルと、前記第2のVPN終端装置と前記クライアントとの間に形成される前記仮想的なトンネルである第2のVPNトンネルと、を有するネットワークシステムの制御方法であって、
(a)前記クライアントにおいて、前記第1のデバイスに割り当てられた前記第1のプライベートIPアドレスを第3のプライベートIPアドレスと対応付け、前記第2のデバイスに割り当てられた前記第1のプライベートIPアドレスを第4のプライベートIPアドレスと対応付ける工程と、
(b)前記クライアントにおいて、前記第3のプライベートIPアドレスを前記第1のVPN終端部と対応付け、前記第4のプライベートIPアドレスを前記第2のVPN終端部と対応付ける工程と、
(c)前記クライアントにおいて、前記第1のデバイス宛のデータとして、前記第3のプライベートIPアドレスが宛先IPアドレスとして付与されたパケットを受け取ると、前記パケットに設定されている宛先IPアドレスを、前記第3のプライベートIPアドレスから、前記第3のプライベートIPアドレスに対応付けられている前記第1のプライベートIPアドレスに書き換えて、前記第1のVPNトンネルに送出し、
前記第2のデバイス宛のデータとして、前記第4のプライベートIPアドレスが宛先IPアドレスとして付与されたパケットを受け取ると、前記パケットに設定されている宛先IPアドレスを、前記第4のプライベートIPアドレスから、前記第4のプライベートIPアドレスに対応付けられている前記第1のプライベートIPアドレスに書き換えて、前記第2のVPNトンネルに送出する工程と、
を備えるネットワークシステム制御方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2013−5199(P2013−5199A)
【公開日】平成25年1月7日(2013.1.7)
【国際特許分類】
【出願番号】特願2011−133891(P2011−133891)
【出願日】平成23年6月16日(2011.6.16)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
【公開日】平成25年1月7日(2013.1.7)
【国際特許分類】
【出願日】平成23年6月16日(2011.6.16)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
[ Back to top ]