JPWO2005027438A1 - パケット中継装置 - Google Patents
パケット中継装置 Download PDFInfo
- Publication number
- JPWO2005027438A1 JPWO2005027438A1 JP2005508916A JP2005508916A JPWO2005027438A1 JP WO2005027438 A1 JPWO2005027438 A1 JP WO2005027438A1 JP 2005508916 A JP2005508916 A JP 2005508916A JP 2005508916 A JP2005508916 A JP 2005508916A JP WO2005027438 A1 JPWO2005027438 A1 JP WO2005027438A1
- Authority
- JP
- Japan
- Prior art keywords
- address
- host
- group
- packet
- gateway
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/185—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/04—Interdomain routing, e.g. hierarchical routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/354—Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5069—Address allocation for group communication, multicast communication or broadcast communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0272—Virtual private networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1886—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with traffic restrictions for efficiency improvement, e.g. involving subnets or subdomains
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
ネットワーク間に設けられ、特定のグループに属するホストに関するIPパケットを通過させるIPパケット中継装置であって、ホストが持つIPアドレスとそのホストが属するグループを識別するためのグループ識別子とを対応付けたリストと、一方のネットワークから到着した他方のネットワークに接続されたホスト宛のIPパケットが同一のグループに関するIPパケットか否かを、前記リストを参照することにより判定する判定手段と、同一のグループに関するIPパケットであると判定されたIPパケットを、前記他方のネットワークに中継するフォワード手段と、を備える。
Description
本出願は、通信ネットワークで接続された任意のホストを仮想的にグループ化し、閉域網を提供する技術に関する。
IP(Internet Protocol)ネットワークが急速に一般化してきている。これに伴い、IPネットワークには、パーソナルコンピュータ(PC)以外のホスト(例えばIP通信が可能な家電製品等の機器)も接続されるようになってきている。これまでの高機能なパーソナルコンピュータ(PC)が主役のIPネットワークから、家電製品を制御したり、IP対応の家電製品間でコンテンツを送受信するなどの利用が始まり、IP通信が可能な機器(以下、ホスト)の数と種類が増え、特に今まで接続されなかったPCよりも低機能のホストも接続されるようになってきた。
ホスト数が増えることによりホストをグループ化して多数のホストを簡単に管理する必要が生じ、また低機能のホストが増えることでよりホストに負担が少ない単純な方法でグループ間の通信を実現する必要が生じる。グループ化する意味は例えば、あるホストを探す場合に探索範囲を絞る効果があり検索に必要な処理量や時間を短縮し、また別の面ではグループに属するホストとそうでない普通のホストを識別することであり、例えばホストにおける外部からのアクセスをメンバだけに制限することでセキュリティを確保する意味がある。
従来技術では、任意の数のIPホストによってある1グループを構成する場合、グループに属するホストが互いにグループメンバとして情報を登録し、互いに通信するのが一般的である。この場合、グループに属する全てのホストには以下の手段が必要であった。
1.同じグループに所属するメンバのリスト、
2.上記メンバリストにホストを登録、削除する機能、およびメンバ間で共有・同期する機能、
3.メンバリストに基づきユーザ認証をする認証手段、
4.メンバリストに含まれるホストからの通信とメンバ以外のホストを識別する手段。
なお、アドレス変換に関する資料としては例えば非特許文献1および2がある。また、VPNに関する資料としては例えば非特許文献3および4がある。
RFC1631 RFC2391 NS2001−263(情報システム研究会NS)2002.3、複数ネットワーク接続に適した分散型VPNのデザイン、田島佳武(NTT) NS2001−262(情報システム研究会NS)2002.3、仮想ネットワーキングサービスプラットフォーム(VNSP)におけるマルチVPNサービスサービス提供方式、岡大祐(NTT)、他 特開2001−268125号公報
ホスト数が増えることによりホストをグループ化して多数のホストを簡単に管理する必要が生じ、また低機能のホストが増えることでよりホストに負担が少ない単純な方法でグループ間の通信を実現する必要が生じる。グループ化する意味は例えば、あるホストを探す場合に探索範囲を絞る効果があり検索に必要な処理量や時間を短縮し、また別の面ではグループに属するホストとそうでない普通のホストを識別することであり、例えばホストにおける外部からのアクセスをメンバだけに制限することでセキュリティを確保する意味がある。
従来技術では、任意の数のIPホストによってある1グループを構成する場合、グループに属するホストが互いにグループメンバとして情報を登録し、互いに通信するのが一般的である。この場合、グループに属する全てのホストには以下の手段が必要であった。
1.同じグループに所属するメンバのリスト、
2.上記メンバリストにホストを登録、削除する機能、およびメンバ間で共有・同期する機能、
3.メンバリストに基づきユーザ認証をする認証手段、
4.メンバリストに含まれるホストからの通信とメンバ以外のホストを識別する手段。
なお、アドレス変換に関する資料としては例えば非特許文献1および2がある。また、VPNに関する資料としては例えば非特許文献3および4がある。
RFC1631 RFC2391 NS2001−263(情報システム研究会NS)2002.3、複数ネットワーク接続に適した分散型VPNのデザイン、田島佳武(NTT) NS2001−262(情報システム研究会NS)2002.3、仮想ネットワーキングサービスプラットフォーム(VNSP)におけるマルチVPNサービスサービス提供方式、岡大祐(NTT)、他
従来技術は、ホストにおける実装コストが高く、ホスト数に対してスケーラビリティが無いという問題点がある。第一に上記1〜4までの機能はグループに参加する全てのホストが実装しなければならず、特に、ユーザの認証や通信を制限する機能はファイアウォールやゲートウェイなど専用機で実現されている機能であり、実装コストが極めて高い。このような機能を通信・計算資源に乏しい、携帯電話、PDA(Personal Digital Assistance)などの携帯端末、クーラ、洗濯機、ビデオなどのネットワーク家電通信で実装するのは困難である。
例えば、受信したIPパケット毎に認証済みのホストかどうかをチェックする処理は、受信するパケット数およびメンバ数に比例して増大するため、ホストでの処理負荷は大きくなり、スケールしなくなるという問題がある。
第二に、この方法では各ホスト間の通信がフルメッシュで発生するため、ホスト数が増加するとそれに比例してホストにおける処理メッセージ数が増加する。例えば、グループに参加するメンバが増減するたびに、各ホストではメンバリストを更新する必要があるが、このメンバ変更のメッセージは全てのホストに対して送信されるため、送信ホスト、受信ホストともに処理負荷が大きくなり、スケールしなくなるという問題がある。
以上のように、ホストには負担をできるだけかけずに、スケールするグループ化の技術が必要となる。具体的な要求条件は以下の3つである。
1.ホストにおけるTCP/IPプロトコルスタック、および既存アプリケーションは一切変更しないこと。
2.ホストにおけるグループ化の機能を利用するアプリケーションは既存のTCP/IP機能だけを利用すること。
3.認証されたホストのみグループメンバにアクセスできる、つまりホストからは認証済みのホストからしか通信が発生していないように見えること。
また、付加機能として以下の要件を満たすことが望ましい。
1.グループ構成やメンバ登録は自動的に実行されること。
2.アドレス空間に制約が無く、グローバルとプライベートアドレスの両方が使える
3.IPアドレスとホストの対応はDHCPなどを使うと一意でないため、IPアドレス以外の個体認証機能を持つこと。
4.ホストにおけるアプリケーションにおいてグループの判別が容易であること。
例えば、受信したIPパケット毎に認証済みのホストかどうかをチェックする処理は、受信するパケット数およびメンバ数に比例して増大するため、ホストでの処理負荷は大きくなり、スケールしなくなるという問題がある。
第二に、この方法では各ホスト間の通信がフルメッシュで発生するため、ホスト数が増加するとそれに比例してホストにおける処理メッセージ数が増加する。例えば、グループに参加するメンバが増減するたびに、各ホストではメンバリストを更新する必要があるが、このメンバ変更のメッセージは全てのホストに対して送信されるため、送信ホスト、受信ホストともに処理負荷が大きくなり、スケールしなくなるという問題がある。
以上のように、ホストには負担をできるだけかけずに、スケールするグループ化の技術が必要となる。具体的な要求条件は以下の3つである。
1.ホストにおけるTCP/IPプロトコルスタック、および既存アプリケーションは一切変更しないこと。
2.ホストにおけるグループ化の機能を利用するアプリケーションは既存のTCP/IP機能だけを利用すること。
3.認証されたホストのみグループメンバにアクセスできる、つまりホストからは認証済みのホストからしか通信が発生していないように見えること。
また、付加機能として以下の要件を満たすことが望ましい。
1.グループ構成やメンバ登録は自動的に実行されること。
2.アドレス空間に制約が無く、グローバルとプライベートアドレスの両方が使える
3.IPアドレスとホストの対応はDHCPなどを使うと一意でないため、IPアドレス以外の個体認証機能を持つこと。
4.ホストにおけるアプリケーションにおいてグループの判別が容易であること。
本発明の課題は、グループメンバ数等が増えてもホストの処理負荷を増大させることなく、グループ内に閉じた通信を実現することにある。
本発明は、上記課題を解決するためになされたものであり、グローバルアドレスまたはプライベートアドレスを持つIPホストで構成されたIPネットワークにおいて、任意のホストを選択してグループ化し、グループ内に閉じた通信を実現するために、ローカルネットワークとグローバルネットワークの境界に位置するパケット中継装置であって、グループに属するホストを管理するために、IPアドレスとグループを管理するためのホスト名から構成されるリストと、このリストを元にグループメンバであるホストとグループ外のホストを識別しグループ外のホストからの通信を遮断する手段と、を備える構成とした。
本発明によれば、各ホスト自身がメンバリスト等を備える必要がない。このため、グループメンバ数等が増えてもホストの処理負荷を増大させることなく、グループ内に閉じた通信を実現することが可能となる。
上記パケット中継装置においては、例えば、グローバルアドレスとプライベートアドレスを相互に変換する変換装置をさらに備える。
このようにすれば、プライベート網とグローバル網、およびプライベート網同士の通信が可能となる。
上記パケット中継装置においては、例えば、任意のホストには仮想的なIPサブネットに対する仮想的なプライベートアドレス(仮想IPアドレスともいう)が割り付けられる。
このようにすれば、仮想的にホストグループをIPサブネットでグループ化することが可能となる。
上記パケット中継装置においては、例えば、他のパケット中継装置との間の通信を暗号化する手段をさらに備える。
このようにすれば、中継経路上で情報が漏洩することを防止することが可能となる。
上記パケット中継装置においては、例えば、所定のトンネルプロトコルにより、他のパケット中継装置との間のトンネル設定を自動化する手段をさらに備える。
このようにすれば、トンネル設定の自動化が可能となる。
上記パケット中継装置においては、例えば、仮想グループ設定プロトコルにより、他のパケット中継装置との間におけるグループ設定を自動化する手段をさらに備える。
このようにすれば、グループ設定の自動化が可能となる。
上記パケット中継装置においては、例えば、仮想グループ設定プロトコルにより、他のパケット中継装置との間におけるグループに属するメンバ設定を自動化する手段をさらに備える。
このようにすれば、メンバ設定の自動化が可能となる。
上記パケット中継装置においては、例えば、他のパケット中継装置との間で認証することにより、互いが信頼できるものであるか無いかを確認する手段をさらに備える。
このようにすれば、信頼できる相手とのみ通信することが可能となる。
上記パケット中継装置においては、例えば、パケット中継装置とホストは、他のホストと接続されずに、直接接続される。
このようにすれば、パケット中継装置とホスト間の中継経路上で情報が漏洩することを防止可能となる。
上記パケット中継装置においては、例えば、非IP端末を仮想的にIPホストとしてグループに存在するように他のホストから見せかける仮想IPホストを構築する。
このようにすれば、非IP端末との間でも通信することが可能となる。
上記パケット中継装置においては、例えば、ホストのレイヤ2アドレス(L2アドレス)をホスト固有の識別子(ID)としてマシンと一対一に対応させる。
このようにすれば、ホストが移動したり、一時停止してDHCPでIPアドレスが変わってもグループメンバからは同じように見せることが可能となる。
上記パケット中継装置においては、例えば、グループに属するホストの代理で仮想のレイヤ2アドレスを用いてARP(Address Resolution Protocol)に応答し、グループ内の通信をローカルサブネットレベルで実現する。
上記パケット中継装置においては、例えば、ゲートウェイで名前解決を行わず、DNSサーバで一元的に名前を解決し、かつ実アドレスと仮想的なプライベートアドレスの変換をパターンで記述する。
このようにすれば、アドレス変換にかかるリソースと処理時間を削減することが可能となる。
本発明は次のように特定することもできる。
ネットワーク間に設けられ、特定のグループに属するホストに関するIPパケットを通過させるIPパケット中継装置であって、ホストが持つIPアドレスとそのホストが属するグループを識別するためのグループ識別子とを対応付けたリストと、一方のネットワークから到着した他方のネットワークに接続されたホスト宛のIPパケットが同一のグループに関するIPパケットか否かを、前記リストを参照することにより判定する判定手段と、同一のグループに関するIPパケットであると判定されたIPパケットを、前記他方のネットワークに中継するフォワード手段と、を備えるIPパケット中継装置。
このようによれば、各ホスト自身がメンバリスト等を備える必要がない。このため、グループメンバ数等が増えてもホストの処理負荷を増大させることなく、グループ内に閉じた通信を実現することが可能となる。
また、上記IPパケット中継装置においては、例えば、前記判定手段は、前記リストを参照することにより、前記一方のネットワークから到着したIPパケットの送信元アドレスおよび宛先アドレスに対応するグループが同一である場合に、該IPパケットが同一のグループに関するIPパケットであると判定する。これは、判定手段による判定基準の一例を示したものである。
本発明は、通信ホストに変更を加えず、同じ目的を持つ任意のホストをセキュアかつスケーラブルにグループ化するために、ゲートウェイ装置がグループを管理し、さらに実IPアドレスと仮想IPアドレスを変換することで仮想的にIPサブネットワークを構築し、IPアドレスでグループを識別できることを特徴とする。
本発明の基本的なアイデアはグループ化に必要な機能をゲートウェイ装置に持たせることである。つまり、上記の要求条件を満たすためにグループに属するホスト同士を接続するゲートウェイ(=ルータ)装置を新たに設置する。このゲートウェイ装置は既存のルータ、スイッチ装置などと同様に物理的に分けられたネットワーク間を接続する機能を持ち、これらの装置に対してグループ化に必要な機能を新たに追加したものである。これにより従来技術でホストに必要であった全ての機能がゲートウェイに実装され、ホストは低機能で単純なTCP/IPプロトコルスタックのみでグループ化通信が実現される。
通常はホストの機能を低減するため、各ホストそれぞれに対して異なるゲートウェイ装置、つまり2台以上のゲートウェイ装置を介してグループ化通信が実現される(図1参照)。
課題を解決する手段をまとめると次の3つの手段を新しくゲートウェイに備えることが本発明の基本的なアイデアである。
1.アクセス制限機能:ゲートウェイ装置はグループメンバ外からのグループメンバであるホストへのアクセスを遮断するために、グループメンバのアドレスをリストとして持ち、このリストによりグループメンバを識別し、メンバ以外からの通信を遮断もしくは制限する。
2.メンバ識別をホストで可能にする機能:また、このゲートウェイ装置は各グループメンバが標準のTCP/IPプロトコルを用いてグループを参照できるようにDNSを利用して通信相手先のグループ名を含む文字列を応答する機能を持つ。
3.グループメンバ管理機能:また、このゲートウェイ装置は新しくグループに参加するホストを認証し、グループメンバリストに登録する手段、あるホストがグループメンバから離脱するときにホストを削除する機能を備える。また、管理を簡単にするために、ゲートウェイ間でグループとそのメンバ情報を同期させる手段を備えることもオプションとしてありうる。
本発明は、上記課題を解決するためになされたものであり、グローバルアドレスまたはプライベートアドレスを持つIPホストで構成されたIPネットワークにおいて、任意のホストを選択してグループ化し、グループ内に閉じた通信を実現するために、ローカルネットワークとグローバルネットワークの境界に位置するパケット中継装置であって、グループに属するホストを管理するために、IPアドレスとグループを管理するためのホスト名から構成されるリストと、このリストを元にグループメンバであるホストとグループ外のホストを識別しグループ外のホストからの通信を遮断する手段と、を備える構成とした。
本発明によれば、各ホスト自身がメンバリスト等を備える必要がない。このため、グループメンバ数等が増えてもホストの処理負荷を増大させることなく、グループ内に閉じた通信を実現することが可能となる。
上記パケット中継装置においては、例えば、グローバルアドレスとプライベートアドレスを相互に変換する変換装置をさらに備える。
このようにすれば、プライベート網とグローバル網、およびプライベート網同士の通信が可能となる。
上記パケット中継装置においては、例えば、任意のホストには仮想的なIPサブネットに対する仮想的なプライベートアドレス(仮想IPアドレスともいう)が割り付けられる。
このようにすれば、仮想的にホストグループをIPサブネットでグループ化することが可能となる。
上記パケット中継装置においては、例えば、他のパケット中継装置との間の通信を暗号化する手段をさらに備える。
このようにすれば、中継経路上で情報が漏洩することを防止することが可能となる。
上記パケット中継装置においては、例えば、所定のトンネルプロトコルにより、他のパケット中継装置との間のトンネル設定を自動化する手段をさらに備える。
このようにすれば、トンネル設定の自動化が可能となる。
上記パケット中継装置においては、例えば、仮想グループ設定プロトコルにより、他のパケット中継装置との間におけるグループ設定を自動化する手段をさらに備える。
このようにすれば、グループ設定の自動化が可能となる。
上記パケット中継装置においては、例えば、仮想グループ設定プロトコルにより、他のパケット中継装置との間におけるグループに属するメンバ設定を自動化する手段をさらに備える。
このようにすれば、メンバ設定の自動化が可能となる。
上記パケット中継装置においては、例えば、他のパケット中継装置との間で認証することにより、互いが信頼できるものであるか無いかを確認する手段をさらに備える。
このようにすれば、信頼できる相手とのみ通信することが可能となる。
上記パケット中継装置においては、例えば、パケット中継装置とホストは、他のホストと接続されずに、直接接続される。
このようにすれば、パケット中継装置とホスト間の中継経路上で情報が漏洩することを防止可能となる。
上記パケット中継装置においては、例えば、非IP端末を仮想的にIPホストとしてグループに存在するように他のホストから見せかける仮想IPホストを構築する。
このようにすれば、非IP端末との間でも通信することが可能となる。
上記パケット中継装置においては、例えば、ホストのレイヤ2アドレス(L2アドレス)をホスト固有の識別子(ID)としてマシンと一対一に対応させる。
このようにすれば、ホストが移動したり、一時停止してDHCPでIPアドレスが変わってもグループメンバからは同じように見せることが可能となる。
上記パケット中継装置においては、例えば、グループに属するホストの代理で仮想のレイヤ2アドレスを用いてARP(Address Resolution Protocol)に応答し、グループ内の通信をローカルサブネットレベルで実現する。
上記パケット中継装置においては、例えば、ゲートウェイで名前解決を行わず、DNSサーバで一元的に名前を解決し、かつ実アドレスと仮想的なプライベートアドレスの変換をパターンで記述する。
このようにすれば、アドレス変換にかかるリソースと処理時間を削減することが可能となる。
本発明は次のように特定することもできる。
ネットワーク間に設けられ、特定のグループに属するホストに関するIPパケットを通過させるIPパケット中継装置であって、ホストが持つIPアドレスとそのホストが属するグループを識別するためのグループ識別子とを対応付けたリストと、一方のネットワークから到着した他方のネットワークに接続されたホスト宛のIPパケットが同一のグループに関するIPパケットか否かを、前記リストを参照することにより判定する判定手段と、同一のグループに関するIPパケットであると判定されたIPパケットを、前記他方のネットワークに中継するフォワード手段と、を備えるIPパケット中継装置。
このようによれば、各ホスト自身がメンバリスト等を備える必要がない。このため、グループメンバ数等が増えてもホストの処理負荷を増大させることなく、グループ内に閉じた通信を実現することが可能となる。
また、上記IPパケット中継装置においては、例えば、前記判定手段は、前記リストを参照することにより、前記一方のネットワークから到着したIPパケットの送信元アドレスおよび宛先アドレスに対応するグループが同一である場合に、該IPパケットが同一のグループに関するIPパケットであると判定する。これは、判定手段による判定基準の一例を示したものである。
本発明は、通信ホストに変更を加えず、同じ目的を持つ任意のホストをセキュアかつスケーラブルにグループ化するために、ゲートウェイ装置がグループを管理し、さらに実IPアドレスと仮想IPアドレスを変換することで仮想的にIPサブネットワークを構築し、IPアドレスでグループを識別できることを特徴とする。
本発明の基本的なアイデアはグループ化に必要な機能をゲートウェイ装置に持たせることである。つまり、上記の要求条件を満たすためにグループに属するホスト同士を接続するゲートウェイ(=ルータ)装置を新たに設置する。このゲートウェイ装置は既存のルータ、スイッチ装置などと同様に物理的に分けられたネットワーク間を接続する機能を持ち、これらの装置に対してグループ化に必要な機能を新たに追加したものである。これにより従来技術でホストに必要であった全ての機能がゲートウェイに実装され、ホストは低機能で単純なTCP/IPプロトコルスタックのみでグループ化通信が実現される。
通常はホストの機能を低減するため、各ホストそれぞれに対して異なるゲートウェイ装置、つまり2台以上のゲートウェイ装置を介してグループ化通信が実現される(図1参照)。
課題を解決する手段をまとめると次の3つの手段を新しくゲートウェイに備えることが本発明の基本的なアイデアである。
1.アクセス制限機能:ゲートウェイ装置はグループメンバ外からのグループメンバであるホストへのアクセスを遮断するために、グループメンバのアドレスをリストとして持ち、このリストによりグループメンバを識別し、メンバ以外からの通信を遮断もしくは制限する。
2.メンバ識別をホストで可能にする機能:また、このゲートウェイ装置は各グループメンバが標準のTCP/IPプロトコルを用いてグループを参照できるようにDNSを利用して通信相手先のグループ名を含む文字列を応答する機能を持つ。
3.グループメンバ管理機能:また、このゲートウェイ装置は新しくグループに参加するホストを認証し、グループメンバリストに登録する手段、あるホストがグループメンバから離脱するときにホストを削除する機能を備える。また、管理を簡単にするために、ゲートウェイ間でグループとそのメンバ情報を同期させる手段を備えることもオプションとしてありうる。
図1は、第一の実施形態のネットワークシステムの概略構成を説明するための図である。
図2は、第一の実施形態のネットワークシステムの概略構成を説明するための図である。
図3は、第一の実施形態のゲートウェイの機能ブロック図である。
図4は、ゲートウェイの動作について説明するためのフローチャートである。
図5は、ゲートウェイの動作について説明するためのフローチャートである。
図6は、ゲートウェイの動作について説明するためのシーケンス図である。
図7は、主として、第二の実施形態のネットワークシステムの概略構成を説明するための図である。
図8は、第二の実施形態のゲートウェイの機能ブロック図である。
図9は、ゲートウェイの動作について説明するためのフローチャートである。
図10は、ゲートウェイの動作について説明するためのフローチャートである。
図11は、ゲートウェイ間設定プロトコルのシーケンス図である。
図12は、ゲートウェイGW−Bが保持するローカルリスト例である。
図13は、ゲートウェイGW−Bが保持するグローバルリスト例である。
図14は、個体識別子を含むローカルリスト例である。
図15は、ゲートウェイBW−Bが保持するグローバルリスト例である。
図16は、グローバルリスト例である。
図17は、第七の実施形態のゲートウェイの動作について説明するためのシーケンス図である。
図2は、第一の実施形態のネットワークシステムの概略構成を説明するための図である。
図3は、第一の実施形態のゲートウェイの機能ブロック図である。
図4は、ゲートウェイの動作について説明するためのフローチャートである。
図5は、ゲートウェイの動作について説明するためのフローチャートである。
図6は、ゲートウェイの動作について説明するためのシーケンス図である。
図7は、主として、第二の実施形態のネットワークシステムの概略構成を説明するための図である。
図8は、第二の実施形態のゲートウェイの機能ブロック図である。
図9は、ゲートウェイの動作について説明するためのフローチャートである。
図10は、ゲートウェイの動作について説明するためのフローチャートである。
図11は、ゲートウェイ間設定プロトコルのシーケンス図である。
図12は、ゲートウェイGW−Bが保持するローカルリスト例である。
図13は、ゲートウェイGW−Bが保持するグローバルリスト例である。
図14は、個体識別子を含むローカルリスト例である。
図15は、ゲートウェイBW−Bが保持するグローバルリスト例である。
図16は、グローバルリスト例である。
図17は、第七の実施形態のゲートウェイの動作について説明するためのシーケンス図である。
以下、本発明の第一の実施形態であるゲートウェイ(GWまたはゲートウェイ装置ともいう)を包含するネットワークシステムについて図面を参照しながら説明する。
(第一の実施形態)
(ネットワークシステムの概要)
図1および図2は、本実施形態のネットワークシステムの概略構成を説明するための図である。
図2に示すように、本実施形態のネットワークシステムは、ローカルネットワークA(以下ローカルネットAという)、ローカルネットワークB(以下ローカルネットBという)、およびインターネットからなる。ローカルネットAおよびローカルネットBには、グループ化の対象とされるホスト(ここではホスト11〜14およびホスト21〜25)が接続されている。なお、グループ化の対象とされるホストの数は適宜の数とすることができる。
各ホストは、IPパケットによる通信を行う機能を有する家電製品等の端末である。このIPパケットによる通信のために、各ホストはグローバルIPアドレスを持つ。ここでは、IPv4によるIPアドレスとする。ローカルネットAとインターネットとはゲートウェイA1を介して接続されている。また、ローカルネットBとインターネットとはゲートウェイB1を介して接続されている。
ローカルネットBからインターネットを経由してローカルネットAへ向かうIPパケット(すなわち、送信元IPアドレスおよび宛先IPアドレスがそれぞれ、ローカルネットBに接続されたホストのIPアドレスおよびローカルネットAに接続されたホストのIPアドレスであるIPパケット)は、ゲートウェイA1に到着するようになっている。逆に、ローカルネットAからインターネットを経由してローカルネットBへ向かうIPパケット(すなわち、送信元IPアドレスおよび宛先IPアドレスがそれぞれ、ローカルネットAに接続されたホストが持つIPアドレスおよびローカルネットBに接続されたホストが持つIPアドレスであるIPパケット)は、ゲートウェイB1に到着するようになっている。
本実施形態では、ゲートウェイA1およびB1は、その到着したIPパケットに対して後述のフィルタリング処理等を実行する。これにより、グループ内に閉じた通信を実現することが可能となる。以下に、その詳細について説明する。
(ゲートウェイの概略構成)
次に、ゲートウェイの概略構成について図面を参照しながら説明する。図3は、ゲートウェイの機能ブロック図である。
ゲートウェイA1(ゲートウェイB1も同様)は、グローバルアドレスを持つIPホストで構成されたIPネットワークにおいて、任意のホストを選択してグループ化し、グループ内に閉じた通信を実現するために、ローカルネットワーク(例えばローカルネットA又はB)とグローバルネットワーク(例えばインターネット)との間に設けられるパケット中継装置である。
具体的には、ゲートウェイA1は、図3に示すように、パケットフィルタリング部100、グループメンバーリスト管理部110、DNS処理部120、およびパケット送受信部130を備えている。
パケットフィルタリング部100は、ローカルネットBからインターネットを経由してローカルネットAへ向かうIPパケット(すなわち、送信元IPアドレスおよび宛先IPアドレスがそれぞれ、ローカルネットBに接続されたホストのIPアドレスおよびローカルネットAに接続されたホストのIPアドレスであるIPパケット)を受信する。パケットフィルタリング部100は、その受信したIPパケットが同一グループに関するものか否か(ここでは、その受信したIPパケットの送信元IPアドレス(SA)および宛先IPアドレス(DA)に対応するグループが同一か否か)を、グループメンバーリスト管理部110に問い合わせる。
パケットフィルタリング部100からの問い合わせを受けると、グループメンバーリスト管理部110は、自己が管理するグループメンバーリストを参照して、送信元IPアドレスおよび宛先IPアドレスに対応するグループが同一か否かを判定する。グループメンバーリストには、各ホスト(ホスト11〜14およびホスト21〜25)とそのホストのIPアドレスとそのホストのドメイン名との対応関係が記述されている。なお、説明の都合上、図3に示すグループメンバーリストには、図2に示すホスト数よりも少ない数の対応関係を記述している。
ドメイン名は、そのホスト名(mypcやtv等)とそのホストが属するグループを識別するためのグループ識別情報(gr1やgr2等)とを”.”で連結して構成したものである。従って、グループメンバーリスト管理部110は、グループメンバーリストを参照することにより、送信元IPアドレスおよび宛先IPアドレスに対応するグループ(グループ識別情報)を知ることができる。そして、その判明したグループ(グループ識別情報)を比較することにより、両者が同一か否かを判定できる。この判定結果はパケットフィルタリング部100に返される。
送信元IPアドレスおよび宛先IPアドレスに対応するグループが同一であるとの判定結果を受けると、パケットフィルタリング部100は、その受信したIPパケットをローカルネットA(宛先)にフォワードする。一方、送信元IPアドレスおよび宛先IPアドレスに対応するグループが同一でないとの判定結果を受けると、パケットフィルタリング部100は、その受信したIPパケットをローカルネットAにフォワードすることなく、例えば、廃棄する。
(グループメンバーリスト)
グループメンバーリストは各種の方法で作成することが可能である。例えば、仮想的なグループgr1,gr2をネットワーク上に新規に作成し、次にこれに属するホストのIPアドレスおよび名前(ここではドメイン名(DNS名))を登録し、最終的にグループとそのメンバが記憶されたアドレスリストを得ることが考えられる。図3はこのようにして得たグループメンバーリストを示している。
これらの一連の作業はネットワークの管理者が管理端末をシリアルで接続し、コマンド・ライン・インタフェースを利用して手動でゲートウェイA1に設定する。または、管理設定用の遠隔設定プロトコル(TelnetやHTTP等)を使って設定してもよい。例えば、HTTPを利用する場合、ゲートウェイA1においてグループを作成するためのWebインタフェースを持つグループ、およびそのメンバの登録・管理機能が存在し、あるホストはゲートウェイの登録画面において、IDとパスワードを入力して認証することにより登録用のWebページに進むことができるなどの、アクセス制限があってもよい。登録用のページではグループ名を入力するとグループを登録でき、また、既存のグループ名に対してホストIPアドレスを登録するとグループに属するメンバであるホストを定義できる。これらの登録ステップはユーザインタフェースの設計に依存し、これらは一例であって、グループとそのメンバホストが登録する機能を有すれば他の登録方法でもよい。
以上の結果、ホストのIPアドレスとDNS名、およびホストが属するグループ名が記憶されるグループメンバリストを作成することができる。
(ドメイン名登録)
次にゲートウェイによるDNSとしての動作について図面を参照しながら説明する。図4は、ゲートウェイの動作について説明するためのフローチャートである。
上記と同様に、IPアドレス毎に固有の名前を定義し、先ほどのグループ名とあわせて適当なドメイン名を定義することができる。例えば、ホスト12が「mypc」という名前であることを登録し、これが属するグループ名が「g1」であるとすると、ゲートウェイではホスト12のIPアドレス「133.100.51.3」に対して「mypc.g1」というDNS名を割り当てる。
ゲートウェイA1は、例えば、グループ内に既に登録済みのホストから「mypc.g1」というDNS名に対するIPアドレスの解決要求を含むIPパケットを受信すると(S100)、その受信したIPパケットの送信元IPアドレス(SA)がグループメンバーリストに存在するか否かを、グループメンバーリスト管理部110に問い合わせる(S101)。その結果、その送信元IPアドレス(SA)がグループメンバーリストに存在しない場合には(S101:No)、ゲートウェイA1は、通常のDNS要求として応答を返す(S102)。一方、その送信元IPアドレス(SA)がグループメンバーリストに存在する場合には(S101:Yes)、ゲートウェイA1は、その送信元IPアドレス(SA)に対応する(属する)グループを”A”として記憶する(S103)。そして、ゲートウェイA1は、解決しようとしているホストが先ほど記憶したグループ”A”に存在するか否かを判定する(S104)。その結果、そのホストがグループ”A”に存在しない場合には(S104:No)、ゲートウェイA1は、通常のDNS要求として応答を返す(S102)。一方、そのホストがグループ”A”に存在する場合には(S104:Yes)、ゲートウェイA1は、グループメンバリストを参照して、「mypc.g1」というDNS名に対応するIPアドレス「133.100.51.3」を得る。ゲートウェイA1は、この解決したIPアドレス「133.100.51.3」を”IP”、DNS名「mypc.g1」を”Name”として記憶する(S105)。
次に、ゲートウェイA1は、ホストからの要求がDNS名の解決要求か否かを判定する(S106)。その結果、ホストからの要求がDNS名の解決要求である場合には(S106:Yes)、DNS名を、要求元のホストに応答する(S107)。一方、ホストからの要求がDNS名の解決要求でない場合には(S106:No)、IPアドレスを、要求元のホストに応答する(S108)。ここでは、ホストからの要求がIPアドレスの解決要求であるため(S100、S106:No)、ゲートウェイA1は、DNS名「mypc.g1」に対応するIPアドレス「133.100.51.3」を、アドレス解決要求元のホストに応答することになる(S108)。なお、S100においてホストからIPアドレス「133.100.51.3」に対するDNS名の解決要求を含むIPパケットを受信した場合には、ゲートウェイA1は、そのIPアドレスに対応するDNS名「mypc.g1」を、DNS名の解決要求元のホストに応答することになる(S107)。
なお、グループメンバリストに基づくDNS応答はローカルネットワーク側でのみ有効であるように制限するのが一般的である。例えば、DNS要求の送信元IPアドレスが先に作成したメンバリストに存在し、かつ、同一のグループに属するホストに対する要求のみを受け付けるように制限することが考えられる。
以上の結果、IPアドレス毎のDNS名を記憶したグループメンバリストを定義し、これに対する要求に対して応答することが可能となる。
(アクセス制限)
次に上記構成のゲートウェイによる、グループ内に閉じた通信を実現するための動作について図5を参照しながら説明する。図5は、ゲートウェイの動作について説明するためのフローチャートである。
まず、同一のグループgr1に属するホスト11とホスト22との間の通信を例に説明する。なお、ゲートウェイA1(ゲートウェイB1も同様)のグループメンバーリストには、ホスト11およびホスト22等が持つIPアドレスとこれらのホストのドメイン名(ホスト名とグループ識別子とから構成される)との対応関係が記述されている。
まず、ホスト22がホスト11に対してIPパケット(すなわち、送信元IPアドレスおよび宛先IPアドレスがそれぞれ、ホスト22のIPアドレスおよびホスト11のIPアドレスであるIPパケット)を送信したとする。そのIPパケットは、インターネットを経由してゲートウェイA1に到着する。ゲートウェイA1は、そのパケットフィルタリング部100により、その到着したパケットを受信する(S200)。パケットフィルタリング部100は、その受信したIPパケットが同一グループに関するものか否か(ここでは、その受信したIPパケットの送信元IPアドレス(SA)および宛先IPアドレス(DA)に対応するグループが同一か否か)を、グループメンバーリスト管理部110に問い合わせる(S201)。
パケットフィルタリング部100からの問い合わせを受けると、グループメンバーリスト管理部110は、自己が管理するグループメンバーリストを参照して、送信元IPアドレスおよび宛先IPアドレスに対応するグループが同一か否かを判定する(S202およびS203)。グループメンバーリストには、各ホスト(ホスト11〜14およびホスト21〜25)とそのホストが持つIPアドレスとそのホストのドメイン名との対応関係が記述されている(図3参照)。なお、説明の都合上、図3に示すグループメンバーリストには、図2に示すホスト数より少ない数の対応関係を記述している。ドメイン名は、そのホスト名(mypcやtv等)とそのホストが属するグループを識別するためのグループ識別情報(gr1やgr2等)とを”.”で連結して構成したものである。
従って、グループメンバーリスト管理部110は、グループメンバーリストを参照することにより、送信元IPアドレスおよび宛先IPアドレスに対応するグループ(ここではいずれもgr1)を知ることができる(S202:Yes)。そして、その判明したグループ(ここではいずれもgr1)を比較することにより、両者が同一か否かを判定できる(S203:Yes)。この判定結果はパケットフィルタリング部100に返される。なお、S202またはS203での判断がNoであれば、該当パケットは廃棄される(S205)。
ここでは、パケットフィルタリング部100は、送信元IPアドレスおよび宛先IPアドレスに対応するグループが同一であるとの判定結果を受けることになる。その判定結果を受けると、パケットフィルタリング部100は、その受信したIPパケットをローカルネットA(宛先)にフォワードする(S204)。これは、一般的にフィルタリングと呼ばれる処理と同様の処理である。
次に、異なるグループに属するホスト11(gr1に属する)とホスト21(gr2に属する)との間の通信を例に説明する。
まず、ホスト21がホスト11に対してIPパケット(すなわち、送信元IPアドレスおよび宛先IPアドレスがそれぞれ、ホスト21のIPアドレスおよびホスト11のIPアドレスであるIPパケット)を送信したとする。そのIPパケットは、インターネットを経由してゲートウェイA1に到着する。ゲートウェイA1は、そのパケットフィルタリング部100により、その到着したパケットを受信する(S200)。パケットフィルタリング部100は、その受信したIPパケットが同一グループに関するものか否か(ここでは、その受信したIPパケットの送信元IPアドレス(SA)および宛先IPアドレス(DA)に対応するグループが同一か否か)を、グループメンバーリスト管理部110に問い合わせる(S201)。
パケットフィルタリング部100からの問い合わせを受けると、グループメンバーリスト管理部110は、自己が管理するグループメンバーリストを参照して、送信元IPアドレスおよび宛先IPアドレスに対応するグループが同一か否かを判定する(S202およびS203)。グループメンバーリストには、各ホスト(ホスト11〜14およびホスト21〜25)ごとに、そのホストが持つIPアドレスとそのホストのドメイン名との対応関係が記述されている(図3参照)。なお、説明の都合上、図3に示すグループメンバーリストには、図2に示すホスト数より少ない数の対応関係を記述している。ドメイン名は、そのホスト名(mypcやtv等)とそのホストが属するグループを識別するためのグループ識別情報(gr1やgr2)とを”.”で連結して構成したものである。
従って、グループメンバーリスト管理部110は、グループメンバーリストを参照することにより、送信元IPアドレスおよび宛先IPアドレスに対応するグループ(ここではgr1、gr2)を知ることができる(S202:Yes)。そして、その判明したグループ(ここではgr1、gr2)を比較することにより、両者が同一か否かを判定できる(S203:Yes)。この判定結果はパケットフィルタリング部100に返される。
ここでは、パケットフィルタリング部100は、送信元IPアドレスおよび宛先IPアドレスに対応するグループが同一でないとの判定結果を受けることになる。その判定結果を受けると、パケットフィルタリング部100は、その受信したIPパケットをローカルネットAにフォワードすることなく、例えば、廃棄する(S205)。
以上説明したように、本実施形態のゲートウェイ装置によれば、グループメンバー外からのアクセスを制限する機能を提供する。即ち、本実施形態のゲートウェイ装置は、グループメンバーリストを参照することにより、送信元ホストから到着したIPパケットが、同一グループに関するIPパケットであるか否かを判定し、同一グループに関するIPパケットであると判定されたIPパケットを宛先へフォワードする。一方、同一グループに関するIPパケットであると判定されなかったIPパケットについてはフォワードされることなく廃棄される。これにより、本実施形態のゲートウェイ装置は、グループ内に閉じた通信を実現することが可能となっている。
なお、グループメンバーリストに記憶されている送信元以外からパケットが到着した場合に関する動作はネットワーク管理者のポリシ次第である。例えば、そのようなパケットについては、廃棄することも可能である。または、そのようなパケットであったとしても、宛先アドレスが特定のIPアドレスのパケットについては、廃棄することなくそのままホストへ転送することも可能である。これらの動作に関しては別にグループメンバリストに記載しておいても良い。
上記実施形態においては、ゲートウェイ装置A1は、外部ネットワークからローカルネットワークAへ向かうIPパケットに対して、フィルタリング処理を行うように説明したが、本発明はこれに限定されない。例えば、ゲートウェイ装置A1は、ローカルネットワークAから外部ネットワークへ向かうIPパケットに対しても、フィルタリング処理を行うようにしてもよい。このようにすれば、ゲートウェイ装置A1におけるフィルタリング処理等の負荷が増大するものの、ゲートウェイ装置B1を導入することなく、ゲートウェイ装置A1のみで、上記グループ内に閉じた通信を実現することが可能となる。
(グループ間通信の具体例)
図4および図5に示したグループ間通信を実現するための一連の処理についてシーケンス図を用いて説明する。図6は、ゲートウェイの動作ついて説明するためのシーケンス図である。
まず、mypcがvideoと通信したい場合、ゲートウェイGW−Aに対してDNS解決要求を送信してvideoのIPアドレス82.5.218.4を得たとする。次に、このIPアドレスを利用してmypcからvideoにIPパケットを送信して通信が始まる。これに対する応答パケットがvideoからmypcに対して送信された場合、ゲートウェイGW−Aはこのパケットを受信すると、mypcにフォワードする前に、グループメンバリストをチェックしてmypcとvideoが同一のグループにあることを確認するとパケットをmypcにフォワードする。
ここで例えばPC2というグループメンバリストに登録されていないホストからmypcに対する通信パケットが送信され、ゲートウェイGW−Aに到着すると、ゲートウェイGW−Aはこのパケットの送信元アドレス(SA)をチェックしてPC2がリストに存在しないことからこのパケットを廃棄する。これにより、グループ外のホストとの通信を遮断してセキュリティを向上させることが可能となる。
(グループに属する全てのホストを応答する具体例)
(グループメンバのIPアドレス一覧)
ゲートウェイは登録されたホスト名とそのIPアドレスの対応を応答するだけではなく、グループ名とそのメンバ全てを応答することが出来る。これは、例えばg1というグループ名に対するアドレス解決要求を受けた場合は、ゲートウェイはg1というグループ名を持つホストアドレスの全てをDNS応答メッセージの中に入れて応答することで実現できる。このような応答メッセージは既存のDNSの仕様で認められているものなので、特にDNSの機能を拡張しなくても1つの名前に対して複数のIPアドレス応答を受信することが可能である。
この機能を応用することで例えばホストは自分の属するg1というグループに属する全てのメンバの一覧を入手することが可能なため、例えば、既存のメーリングリストの機能と同等の機能として、すべてのメンバにメッセージやファイルを送信するなどの機能が実現できることになる。
(第二の実施形態)
次に、本発明の第二の実施形態であるゲートウェイ(GWまたはゲートウェイ装置ともいう)を包含するネットワークシステムについて図面を参照しながら説明する。
上記第一の実施形態では、各ホストのIPアドレスはグローバルアドレスである必要があることから、現実にはプライベートIPアドレスが多用されている環境では利用できない。加えて、あるホストがグループメンバであるか否かはDNSを利用してグループ名を確認する以外に手段がない。
例えば、あるホストがファイルの読み取り権限を与えるグループと読み書き全制御を許すグループの2つのグループに属するとき、未知のホストからアクセスがあった場合、DNSを利用してグループを認識しなければ未知のホストがどの権限を持つのか分からない。このような問題を解決するために、ゲートウェイ装置において、新たに以下の機能を追加する。
1.グループ毎に異なる任意の仮想プライベートネットワークアドレスを割り当て、2.各グループメンバには割り当てたネットワークアドレスに属する仮想IPアドレスを割り当て、上記の仮想IPアドレスと実IPアドレスを通信時に相互変換するNAT(Network Address Translation)機能。
(ネットワークシステムの概要)
図7は、本実施形態のネットワークシステムの概略構成を説明するための図である。
図7に示すように、本実施形態のネットワークシステムは、自宅に敷設されたローカルネットワーク(以下自宅ネットという)、実家に敷設されたローカルネットワーク(以下実家ネットという)、およびインターネットからなる。自宅ネットおよび実家ネットには、グループ化の対象とされるホストが接続されている。例えば、自宅ネットにはmypc等が、実家ネットにはvideo等が接続されている。本実施形態では、自宅ネットに接続されているホストと実家ネットに接続されているホストの中から4つのホスト(mypc、video等)を取り出して、これらを一つのグループとして考える。なお、グループ化の対象とされるホストの数は適宜の数とすることができる。
各ホストは、IPパケットによる通信を行う機能を有する。このIPパケットによる通信のために、各ホストはローカルIPアドレスを持つ。ここでは、IPv4によるIPアドレスとする。自宅ネットとインターネットとはゲートウェイGW−Aを介して接続されている。また、実家ネットとインターネットとはゲートウェイGW−Bを介して接続されている。
しかしながら、本実施形態では、第一の実施形態とは異なり、各ホストはローカルIPアドレスを持つことから、自宅ネットと実家ネットのアドレス空間は重なっている(図7参照)。例えば、自宅ネットに接続されたmypcというホストと、実家ネットに接続されたvideoというホストとは、同一のローカルIPアドレス192.168.0.5を持つことから、アドレス空間は重なっている。このような環境では、自宅ネットと実家ネットとの間で通信することはできない。加えて、あるホストがグループメンバであるか否かはDNSを利用してグループ名を確認する以外に手段がない。例えば、あるホストがファイルの読み取り権限を与えるグループと読み書き全制御を許すグループの2つのグループに属するとき、未知のホストからアクセスがあった場合、DNSを利用してグループを認識しなければ未知のホストがどの権限を持つのか分からない。
本実施形態では、ゲートウェイGW−AおよびGW−BはNAT変換機能を持つ。これにより、ローカル以外のネットワークに存在するホストを異なる別のアドレスを持つホストとしてローカルホストに見せかけることが可能となる。
例えば、図7に示すように、自宅にあるmypcというホストが192.168.0.5という実アドレスを持ち、同じく実家にあるvideoというホストが192.168.0.5という実アドレスを持ち、mypcとvideoとがゲートウェイGW−AおよびGW−Bを介して通信する場合を考える。
自宅のmypcからはvideoというホストは仮想的に10.10.10.102という仮想IPアドレスを持つホストとしてゲートウェイGW−Aに、同様に実家のvideoからはmypcというホストは仮想的に10.20.20.10という仮想IPアドレスを持つホストとしてゲートウェイGW−Bに、それぞれ登録しておく。
最初に、mypcがvideoというDNS名を持つホストのIPアドレスをゲートウェイGW−Aに問い合わせると、ゲートウェイGW−Aは仮想IPアドレスである10.10.10.102(=V−VCR)というアドレスで応答する。mypcはその仮想IPアドレスV−VCR宛にIPパケットを送信する。ここで、このパケットは必ずゲートウェイGW−Aを通過する。このため、ゲートウェイGW−Aにおいて、この宛先アドレスV−VCRは仮想IPアドレスであること、実際にはゲートウェイGW−B配下のホストvideo宛であること、およびmypcはゲートウェイGW−B配下のホストでは10.20.20.10(=V−PC)というアドレスを持つこと、がわかる。
そこで、ゲートウェイGW−Aでは、送信元アドレスR−PC(192.168.0.5)をゲートウェイGW−Bにおける仮想IPアドレスであるV−PC(10.20.20.10)に変換し、このパケットをゲートウェイGW−B宛に、IPトンネルを利用して送信する。
ゲートウェイGW−Bでは、このパケットを受信すると、ゲートウェイGW−Aから受け取ったパケットには仮想IPアドレスが使われていることが分かる。このため、ゲートウェイGW−Bは、宛先アドレスV−VCRを実アドレスである192.168.0.5に変換し、このパケットをvideoに対して送信する。
以上のステップと逆の変換をvideoからmypcに対しても行うことにより、仮想IPアドレスを用いて任意のホスト間で通信することが可能になる。
なお、これらに必要なアドレス変換機能は基本的には既存のNAPTの機能を利用することが可能である。また、ゲートウェイ間のIPトンネル通信も既存のPPPoverSSHやIP Secなどの様々な手法を利用することが可能である。IPトンネル通信としてSHやIP Secを利用すれようにすれば、仮想サブネットに関してゲートウェイGW−AとGW−Bとの間の通信が暗号化されることから、通信内容がグローバルIPコアネット区間で盗聴されることを防止できる。
また、ホストとゲートウェイとの間の接続に関しても、イーサネットにおけるブロードキャストドメインを構成せず、Point−to−Pointで接続するL2ネットワークを利用することから、グループメンバ以外からの接続を遮断することが可能になる。
(動作要件)
以上の動作を実現するための要件は以下の通りである。
1.パケット送信時、ゲートウェイGW−AまたはGW−Bで、トンネル(対向GW)を選択するルーティングを行う。ルーティングは宛先仮想IPアドレスを用いて、対向GW(トンネル)を決定する。
2.ローカルホストは所属するグループ毎、加えて、対向GW毎にも異なる仮想IPアドレスを持つ。この仮想IPアドレスはこれを利用する対向GWと共有される。
3.ローカルホストの持つ仮想IPアドレスと実IPアドレスの変換はローカルゲートウェイGWで管理する。宛先網におけるゲートウェイGWでは、送信元ホストの仮想IPさえ知っていれば良く、実IPアドレスは知る必要がないためである。
4.よって、ローカルゲートウェイGWでは、ローカルホストにおける仮想IPアドレスと実アドレスの変換をする。この要件から、グローバルリストと呼ぶグループメンバ全ての仮想IPアドレスとそのDNS名を管理するリスト、およびローカルリストと呼ぶローカルに接続されている各ホストに関してグループを構成する対向GWにおける仮想IPアドレスと対応GW番号を含んだリストの2つのリストをGWでは管理・維持する必要がある。
例えば、図8では、ゲートウェイGW−Bにおけるグローバルリストは、videoというローカルホスト(アドレス192.168.0.5)が属する2つのグループg1、g2における、メンバホストmypc、cam、video、noteに対する仮想IPアドレスを示している。
このグローバルリストはvideo以外のゲートウェイGW−Bに接続されているホストに関しても同じリストを利用してもよい。この場合、エントリはどのローカルホストと同じグループメンバかを判定する手段が必要になる。例えば、ローカルリストに所属グループ(所属Gという列)に関する識別子を記憶させておけば、グローバルリストにはDNS名にホストが属するグループが記述されているので、グループ関係を認識することが可能である。結果としてグローバルリストに記憶されているホストについて、どのローカルホストと同じグループかを判別することができる。
なお、これ以外にもグローバルリストをローカルホスト毎に用意するなどの手段でも同じことができる。同様に、ローカルリストにはvideoに関する仮想IPアドレスを記憶しており、この場合は、対向GW毎に異なるIPアドレスを仮想IPアドレスとして利用されている。このローカルリストは、video以外のホストの仮想IPアドレスを管理してもよく、単にリストにホストに関するエントリを追加するだけでよい。
(ゲートウェイの概略構成)
次に、ゲートウェイの概略構成について図面を参照しながら説明する。図8は、ゲートウェイの機能ブロック図である。
図8に示すように、ゲートウェイGW−B(ゲートウェイGW−Aも同様)は、パケット送受信部200、グループメンバーリスト管理部210、DNS処理部220、トンネル処理部230、トンネル設定管理部240、およびNAT処理部250を備えている。
グローバルIPネットワークとプライベート(ローカル)ネットワークがこのゲートウェイ装置GW−Bで分離されている。グループ間で通信されるパケットは任意のIPアドレスを含むことから、このままでは、IPパケットをグローバルIPネットワークに送信することができない。ここでは、IPパケットは、ゲートウェイGW−AとGW−Bとの間に設定されたIPトンネル(これは一例であり、何らかのトンネルであればよい)経由で送受信される。この場合、IPトンネルを構成するIPパケットの送信元・宛先アドレスともに、必ずゲートウェイGWのアドレスとなる。
そこで、ゲートウェイGW−Bは、IPパケットを受信すると自己宛以外のパケットを、そのパケット送受信部200により廃棄する。次に、ゲートウェイGWは、その受信したパケットが、自己宛のIPトンネルパケットかそれとも自己宛の制御パケットかを、宛先ポート番号から判断する。その結果、そのポート番号がIPトンネル用のIPポート番号(もしくはプロトコル番号)と判断された場合には、この受信したIPパケットをトンネル処理部230により処理する。
トンネル処理部230は、この受信したIPパケット群により構成されるトンネルを終端する。そして、トンネル処理部230は、そのIPパケット群が暗号化されている場合には、その暗号化を解除し、その後、トンネルによって運ばれている内側のIPパケットを抽出する。この処理は一例である。概念はIP−IPトンネルなどと呼ばれ広く知られている手法である。従って、上記IPトンネルに代えて、PPP、IP Secなど様々なトンネル処理技術を利用することが可能である。
この後、IPトンネルより抽出されたIPパケットはNAT処理部250によりパケットの送信先が書き換えられる。これは、上記の要件で述べたように、宛先アドレスと仮想IPアドレスの対応は宛先ホストを収容しているローカルゲートウェイGWで処理するのが基本であること、それゆえローカルゲートウェイGWにおけるNAT処理部250がこの処理を担当できる唯一の機能であるからである。
NAT処理部250は、受信したIPパケットの対向GW(=トンネル)および受信パケットの宛先アドレスから、仮想IPアドレスを取得する。NAT処理部250は、この2つの値をキーにグループメンバリスト管理部210に記憶されている「ローカルリスト」を参照して、宛先実IPアドレスを求める。そして、NAT処理部250は、仮想IPアドレスを実アドレスに書き換えたIPパケットを最終的にローカルネットワーク側に送信する。
この例では、上記の要件を元に、NAT処理部250が受信したIPパケットは、宛先IPアドレスを実アドレスに変換するように説明したが、この手段以外の手段も考えられる。ゲートウェイは通信系路上に送信側と受信側の2対存在するため、仮想IPアドレスを持つパケットの宛先・送信元アドレスを実アドレスに変換する処理はそのどちらかのゲートウェイのNAT処理部250で実現できればよい。従って、例えば、送信側のゲートウェイで宛先アドレスに関してNAT処理により実IPアドレスに変換するようにすれば、受信側のゲートウェイではNAT処理は不要になる。ただし、この場合、送信側のゲートウェイにおいて宛先ホストの実IPアドレスを知る必要があることから、処理負荷が高くなる。なお、パケット送信時における、アドレス変換に関する処理もほぼ同様の機能ブロックを利用する。
なお、パケット送受信部200およびDNS処理部220は、第一実施形態で説明したパケット送受信部130およびDNS処理部120と同様に機能する。
(パケット受信時の具体的な動作)
ゲートウェイGW−Aに属する10.20.20.10という仮想IPアドレスを持つmypcが、video、すなわち仮想IPアドレス10.20.10.102宛にパケットを送信し、これをゲートウェイGW−Bで受信したとする。
ゲートウェイGW−Bは、受信パケットの送信元アドレスをキーにグローバルリストを検索する(もしくはパケットの受信インタフェースを認識する)ことにより、トンネル1、すなわち対向GW番号1で受信したことをを知る。加えて、宛先アドレスは10.20.10.102であることが分かる。ゲートウェイGW−Bは、この2つをキーに「ローカルリスト」を検索することにより、宛先の実IPアドレスが192.168.0.5であることを知る。これを元に、宛先アドレスをNAT変換部により変換して、最終的に受信パケットをローカルネットワークに送信することで、ゲートウェイGW−Bの処理が完了する。
(パケット送信時の具体的な動作)
このゲートウェイGW−Bを利用して、「g1」グループに属するvideoというホストが、対向する異なるゲートウェイGW−A配下のホスト「mypc」に対して仮想IPネットワークにより通信する場合を考える。
はじめに、通常のIP通信と同様、DNSを利用してDNS名からIPアドレスを求める。ここでは、ローカルホストはゲートウェイGW−BをDNSサーバとして登録しており、かつ、ゲートウェイGW−Bがアドレス解決手段(DNSサーバ)を実装しているものとする。
ゲートウェイGW−Bは、ゲートウェイ宛のDNS要求を自己宛のパケットとしてパケット送受信部により受信する。パケット送受信部は、この受信パケットを、DNS処理部に転送する。DNS処理部は、グループメンバリストのうちグローバルリストを参照して、例えば、「g1」グループの「mypc」というホストと通信したいとすると、IPアドレスとして10.20.20.1を得る。ホスト「video」は、DNSの応答としてこのアドレスを得る。そして、実際のデータ通信がvideoとmypcとの間で始まる。具体的には、videoが通信パケットをmypc宛に送信する。
ゲートウェイGW−Bはローカル側からこのIPパケットを受信すると、グループメンバリスト管理部210に記憶されている「グローバルリスト」を参照して、宛先の仮想IPアドレスをキーにそのパケットを送信するときに利用するトンネル番号を取得する。ここでは、192.168.0.5というIPアドレスを持つ送信元ホストvideoが宛先IPアドレス10.20.20.10のホストmypcに対してパケットを送信したので、宛先IPアドレス(=仮想IPアドレス)からトンネル番号は1であることが分かる。このトンネル番号はローカルネットワークのあるホストが仮想ネットワーク毎に異なる仮想IPアドレスを割り当てられている場合に、どの仮想IPアドレスが使われるかを決定するために利用する。ここではトンネル番号を用いたが、本質的には仮想IPアドレスに相当する宛先ホストが属するゲートウェイGWを見つけることができ、かつゲートウェイGWがパケットを受信したときに、送信元の仮想IPアドレスと実IPアドレスの対応が認識できるのであれば、どのような番号を用いてもよい。例えば、ゲートウェイGWのグローバルアドレスやローカルで管理する任意のIDでもよい。
ここで求めた「トンネル番号」および送信元の「実IPアドレス」をキーにローカルリストを参照し、「仮想IPアドレス」を取得し、パケットの送信元アドレスをこの仮想IPアドレスに変換して、この変換後のパケットをトンネル番号と一致するトンネルで送信するようにトンネル処理部230に通知する。
この例では、トンネル処理部230ではトンネル番号に基づき、予め設定してあるIP−IPトンネルを利用する。なお、本手法ではゲートウェイGW間のトンネル手段は任意の既存技術を利用可能であり、IP−IPトンネル以外にもMPLSやEtherフレームを利用したL2レベルでのトンネル手段を利用してもよい。この場合もトンネルの識別子としてトンネル番号を利用できる。
以上の手段により、videoからmypcに対して仮想IPアドレスを利用したIP通信が可能になり、この手段により仮想IPアドレスを用いたグループ化が実現される。
(ゲートウェイにおける各種情報の登録機能)
ゲートウェイGW−Bにおいては、グローバルリスト、ローカルリストを作成する必要がある。これは、例えばコマンドラインインタフェースとtelnet、もしくはWebインタフェースとHTTPなどを使って、遠隔ホストからグループメンバリスト管理部210に対して設定、作成することが可能である。
IP−IPトンネル、または同様の機能を提供するL2レベルのトンネルもトンネル設定管理部に対して、同じくtelnetやHTTPを利用して遠隔から設定することが可能である。
次に、ゲートウェイGW−AとゲートウェイBとの間の通信について、図面を参照しながら、より詳細に説明する。
以下、図7に示すように、自宅ネットに接続されたホストmypc(実IPアドレス192.168.0.5(=R−PC)および仮想IPアドレス10.20.20.10)と実家ネットに接続されたホストvideo(実IPアドレス192.168.0.5(=R−VCR)および仮想IPアドレス10.10.10.102)がゲートウェイGW−AおよびGW−Bを介して通信する場合を例に説明する。
なお、ゲートウェイGW−Bが保持するグローバルリストには、mypc(ドメイン名:mypc.g1)とその仮想IPアドレス10.20.20.10(=V−PC)との対応関係が記述されている(図8参照)。同様に、ゲートウェイGW−Aが保持するグローバルリストには、video(ドメイン名:省略)とその仮想IPアドレス10.10.10.102(V−VCR)との対応関係が記述されている。各ゲートウェイがこのようなグローバルリストを保持している結果、例えば、自宅ネットに接続されているホストmypcからは、実家ネットに接続されているホストvideoは仮想的にV−VCRというアドレスを持つホストとして見える。同様に、実家ネットに接続されているホストvideoからは、自宅ネットに接続されているホストmypcは仮想的にV−PCというアドレスを持つホストとして見える。
(ゲートウェイGW−Aによるアドレス解決)
図7に示すように、ホストmypcは、DNS名「video」を持つホストのIPアドレスをゲートウェイGW−Aに問い合わせる(S300)。ゲートウェイGW−Aは、その要求をDNS処理部220により受信する。DNS処理部220は、ドメイン名「video」に対応するIPアドレスを、グループメンバーリスト管理部210に問い合わせる。
グループメンバリスト管理部210が管理するグローバルリストには、各ホストのドメイン名と仮想IPアドレスと対向GW(トンネル番号)との対応関係が記述されている。ドメイン名は、ホスト名(mypcやvideo等)とそのホストが属するグループを識別するためのグループ識別情報(g1やg2)とを”.”で連結して構成したものである。
従って、グループメンバーリスト管理部210は、グループメンバーリストを参照することにより、DNS処理部220から問い合わせのあったドメイン名「video」に対応する仮想IPアドレスV−VCRを知ることができる。この判明した仮想IPアドレスV−VCRは解決要求元のホストmypcに返される(S301)。ホストmypcは、ゲートウェイGW−Aからの仮想IPアドレスV−VCRを受信する。
(ホストmypcによる送信処理)
ホストmypcは、ホストvideo向けのIPパケットとして、送信元IPアドレスおよび宛先IPアドレスがそれぞれ、ホストmypcの実IPアドレス192.168.0.5(=R−PC)および先ほど解決した仮想IPアドレスV−VCRであるIPパケットを作成して送信する(S302)。
(ゲートウェイGW−Aによるアドレス変換処理および転送処理)
ホストMYPCからのIPパケットは必ずゲートウェイGW−Aを通過する。ゲートウェイGW−Aは、このIPパケットをそのNAT処理部により受信する。NAT処理部は、その受信したIPパケットの宛先IPアドレス(先ほど解決したホストvideoの仮想IPアドレスV−VCR)に対応するトンネル番号を、グループメンバリスト管理部210に問い合わせる。グループメンバリスト管理部210が管理しているグローバルリストには、各ホストのドメイン名と仮想IPアドレスと対向GW(トンネル番号)との対応関係が記述されている。
従って、グループメンバーリスト管理部210は、グローバルリストを参照することにより、宛先IPアドレス(先ほど解決したホストvideoの仮想IPアドレスV−VCR)に対応する対向GW(トンネル番号)を知ることができる。
また、グループメンバリスト管理部210が管理しているローカルリストには、ホストvideoの実IPアドレスR−VCRと対向GWと仮想IPアドレスV−VCRとの対応関係が記述されている。
従って、グループメンバリスト管理部210は、ローカルリストを参照することにより、先ほど判明した対向GW(トンネル番号)とその受信したIPパケットの送信元IPアドレス(mypcの実IPアドレスR−PC)に対応する仮想IPアドレスV−PCを知ることができる。この判明した仮想IPアドレスV−PCはNAT処理部250に返される。
この仮想IPアドレスV−PCを受けると、NAT処理部250は、その受信したIPパケットの送信元IPアドレス(MyPcの実IPアドレスR−PC)を、その判明した仮想IPアドレスV−PCに変換する(S303)。
そして、NAT処理部250は、その変換後のIPパケットを、先ほど判明した対向GW(トンネル番号)と一致するトンネルで送信するように、トンネル処理部230に通知する。トンネル処理部230は、NAT処理部250からの通知を受けると、そのトンネルを介してその変換後のIPパケットを送信する(S304)。
以上のようにして、ホストmypcはホストvideo向けのIPパケットを送信し、ゲートウェイGW−Aは、そのホストvideo向けのIPパケットについてアドレス変換し、その変換後のIPパケットを中継する。
(ゲートウェイGW−Bによるアドレス変換処理および転送処理)
次に、ゲートウェイGW−Bによるアドレス変換処理について図面を参照しながら詳細に説明する。図9は、ゲートウェイGW−Bによるアドレス変換処理および転送処理について説明するためのフローチャートである。
ゲートウェイGW−Bは、S304でゲートウェイGW−Aから中継されたホストvideo向けのIPパケットをパケット送受信部200により受信する(S3050)。このとき、そのパケットを受信したトンネル番号が”B”として記憶される(SS3051)。パケット送受信部は、その受信したIPパケットの宛先アドレスV−VCRに対応する対向GWを、グループメンバーリスト管理部210に問い合わせる。グローバルリストには、仮想IPアドレスと対向GWとの対応関係が記述されている。従って、グループメンバーリスト管理部210は、グローバルリストを参照することにより、その受信したIPパケットの宛先アドレスV−VCRに対応する対向GWを知ることができる。
また、ローカルリストには、ホストの実IPアドレスと対向GWと仮想IPアドレスとの対応関係が記述されている。
従って、グループメンバーリスト管理部210は、ローカルリストを参照することにより、先ほど判明した対向GW(トンネル番号”B”)とその受信したIPパケットの宛先IPアドレス(仮想IPアドレスV−VCR)に対応する実IPアドレスR−VCRを知ることができる。これは該当するエントリがローカルリストに存在したことを意味する(S3053:Yes)。この判明した実IPアドレスR−VCRはNAT処理部に送られる。なお、該当するエントリがローカルリストに存在しない場合には(S3053:No)、そのIPパケットは廃棄される(S3056)。
NAT処理部250は、その受信したIPパケットの宛先IPアドレス(仮想IPアドレスV−VCR)を、その判明した実IPアドレスR−VCRに変換(置換)する(S3054)。そして、NAT処理部は、その変換後のIPパケットを実家ネットに送信する(S3055)。
以上のようにして、ゲートウェイGW−Bは、ホストvideo向けのIPパケットを中継する。
(ホストvideoによる送信処理)
図7に示すように、ホストvideoは、ホストmypc向けのIPパケット(応答パケット)として、送信元IPアドレスおよび宛先IPアドレスがそれぞれ、ホストvideoの実IPアドレスR−VCRおよび仮想IPアドレスV−PC(受信IPパケットの送信元IPアドレス)であるIPパケットを作成して送信する(S306)。
(ゲートウェイGW−Bによるアドレス変換処理および転送処理)
次に、ゲートウェイGW−Bによるアドレス変換処理(S307)について図7を参照しながら詳細に説明する。
ホストvideoからのIPパケットは必ずゲートウェイGW−Bを通過する。ゲートウェイGW−Bは、このIPパケットを受信する(S3070)。ゲートウェイGW−Bは、その受信したIPパケットの宛先IPアドレス(DA)がグローバルリストに存在するか否かを判定する(S3071)。その宛先IPアドレス(DA)がグローバルリストに存在しなければ(S3071:No)、そのIPパケットは廃棄される(S3072)。
一方、その宛先IPアドレス(DA)がグローバルリストに存在するのであれば(S3071:Yes)、その受信したIPパケットの宛先IPアドレス(ホストmypcの仮想IPアドレスV−PC)に対応する対向GW(トンネル番号)がグローバルリストから読み出されて、これが”A”として記憶される(S3072)。
次に、ローカルリストから、先ほど記憶された”A”とS1080で受信したIPパケットの送信元IPアドレス(videoの実IPアドレスR−VCR)に対応するエントリが検索される(S3073)。その結果、該当するエントリがローカルリストに存在しなければ(S3074:No)、そのIPパケットは廃棄される(S3072)。
一方、該当するエントリがローカルリストに存在するのであれば(S3074:Yes)、S3070で受信したIPパケットの送信元IPアドレス(videoの実IPアドレスR−VCR)を、そのエントリ中の仮想IPアドレス(すなわち、先ほど記憶された”A”とS3070で受信したIPパケットの送信元IPアドレス(videoの実IPアドレスR−VCR)に対応する仮想IPアドレスV−VCR)に変換(置換)する(S3075)。この変換後のIPパケットはトンネル”A”を介して送信される(S3076)。
以上のようにして、ホストvideoはホストmypc向けのIPパケットを送信し、ゲートウェイGW−Bは、そのホストmypc向けのIPパケットについてアドレス変換し、その変換後のIPパケットを中継する。
(ゲートウェイGW−Aによるアドレス変換処理および転送処理)
次に、ゲートウェイGW−Aの受信処理について説明する。
ゲートウェイGW−Aは、S3076でゲートウェイGW−Bから中継されたホストmypc向けのIPパケットをパケット送受信部200により受信する。パケット送受信部200は、その受信したIPパケットの送信元アドレスV−VCRに対応する対向GWを、グループメンバーリスト管理部210に問い合わせる。グローバルリストには、仮想IPアドレスと対向GWとの対応関係が記述されている。従って、グループメンバーリスト管理部210は、グローバルリストを参照することにより、その受信したIPパケットの送信元アドレスV−VCRに対応する対向GWを知ることができる。
次に、グループメンバーリスト管理部210は、ローカルリストを参照する。ローカルリストには、ホストの実IPアドレスと対向GWと仮想IPアドレスとの対応関係が記述されている。従って、グループメンバーリスト管理部210は、ローカルリストを参照することにより、先ほど判明した対向GW(トンネル番号)とその受信したIPパケットの宛先IPアドレス(仮想IPアドレスV−PC)に対応する実IPアドレスR−PCを知ることができる。この判明した実IPアドレスR−PCはNAT処理部250に送られる。
NAT処理部250は、その受信したIPパケットの宛先IPアドレス(仮想IPアドレスV−PC)を、その判明した実IPアドレスR−PCに変換する(S308)。そして、NAT処理部250は、その変換後のIPパケットを自宅ネットに送信する(S309)。
以上のようにして、ゲートウェイGW−Aは、ホストPC向けのIPパケットを中継する。
(第三の実施形態)
次に、本発明の第三の実施形態であるゲートウェイ(GWまたはゲートウェイ装置ともいう)を包含するネットワークシステムについて図面を参照しながら説明する。
上記第二の実施形態ではゲートウェイ間でトンネル接続やグローバル・ローカルリストを作成するのはネットワーク管理者が手動で設定する必要があった。本実施形態では、これを自動化するための手段について図面を参照しながら説明する。ここでは、そのような手段として、ゲートウェイ間でこれらの設定情報を送受信するプロトコルを用いる例について説明する。図11は、このプロトコルによる処理のシーケンス図である。
以下、ゲートウェイGW−Bが主導で、ゲートウェイGW−Bに属するホストvideoとゲートウェイGW−Cに属するPDAという名前のホストとを含むグループg3を作成するためのプロトコルを考える。
1.(ゲートウェイ間の認証)
既存の認証方法(例えばIDとパスワードなどを利用する認証方法)を利用して、ゲートウェイ間でお互いが信頼できるGWかどうかを最初に認証する(S400)。ゲートウェイ間で認証することは一般には望ましい処理であるが、必要が無い場合には、このステップを省略することも可能である(オプション)。
2.次に、ゲートウェイGW−Bは、ゲートウェイGW−Cに属するホストを知らないとすると、これを知るために、ゲートウェイGW−Cに対してホストの一覧を要求する(もしくは何らかのキーワードでこれを検索する)(S401)。このステップも、仮にゲートウェイGW−Bがそのホストの名前を知っている場合には、省略可能である(オプション)。ゲートウェイGW−Bからの一覧要求を受けると、ゲートウェイGW−Cは、自己の配下にあるホストの一覧(PDAというホスト名を含む)を、要求元のゲートウェイGW−Bに応答する(S403)。
3.ゲートウェイGW−Bは、ゲートウェイGW−Cからのホスト一覧により、ゲートウェイGW−C配下にはPDAというホスト名を持つホストがあることを知る。このホストPDAと自己の配下にあるvideoとを含む新しいグループg3の作成は、ゲートウェイGW−Bで新しくvideoという名前のホストに対して、新しくグループg3のためのエントリを作成することで実現される。同時にゲートウェイGW−Bは、自己にとってグループg3に割り当てるのに都合の良い仮想ネットワークアドレスを自身で作成する。ここでは、10.22.0.0/24というネットワークを新規に作成する。
次に、この新しく作ったグループg3をゲートウェイGW−Cでも作成させるために、グループ登録要求をゲートウェイGW−Cに送信する(S404)。この要求を受け取ったゲートウェイGW−Cは、ACKをゲートウェイGW−Bに返す(S405)とともに、ローカルで都合の良いグループ名を選択し作成する。ここではg11というグループ名を割り当て、10.50.0.0/24というネットワークアドレスも同時に割り当てる。
なお、ここでは、ゲートウェイGW−BとGW−Cとは異なるグループ名を選択したが、両ゲートウェイ間で同じ名前を選択して作成してもよい。その場合、プロトコルは要求・応答を繰り返して互いで一意のグループ名を選択したり、互いが送信するメッセージの中に都合の良い名前の一覧を入れて、そこから選択することで実現することが考えられる。
4.ゲートウェイGW−Bはグループg3に属するホストとして名前videoを持つホストに対する仮想IPアドレスを割り当てるように、ゲートウェイGW−Cに対して要求する(S406)。ゲートウェイGW−Cは、グループg11用に作成したアドレス空間10.50.0.0上に、10.50.0.10というアドレスをPDA.g11用に割り当て、これをゲートウェイGW−Bに応答する(S407)。この応答を受け取ったゲートウェイGW−Bは、ローカルリストエントリに新しくvideo.g3という名前の10.50.0.10という仮想IPアドレスを作成する(図12参照)。
5.最後に、ゲートウェイGW−BはPDA.g3に対して、10.22.0.0/24のアドレス空間から10.22.0.3というアドレスを新たに割り当て、グローバルリストエントリに新しく追加し(図13参照)、これをゲートウェイGW−Cに仮想IPアドレスとして通知する(S408)。これを受信したゲートウェイGW−Cは、既存のローカルリストに対して新しくこのエントリを追加する。ゲートウェイGW−Cはこれを作成すると、AckメッセージをゲートウェイGW−Bに応答する(S409)。
なお、S400からS409までの手順は、一例である。例えば、手順4.と5.とは順序が入れ替わってもよい。また、上記の手順をひとつのメッセージで複数送信してもよい。また、トランスポート層としては既存のあらゆるプロトコルを流用することが可能である。HTTPやSIPを利用してもよい。また、メッセージフォーマットはXMLを利用してSOAPでカプセル化してこれらのトランスポートプロトコルで運ぶことが可能である。
また、トンネル接続に関してもこのプロトコルに含めることができ、ゲートウェイ間で認証が成立した後であれば、通信が始まる前の任意の時刻にトンネルを作成することができる。また、すでに実在するグループに対して、新たにホストをグループメンバとして追加する場合には、手順3.を省略する。また、この実現例では2対のゲートウェイ間での設定を示したが、特に2対に限ったわけではなく、任意のゲートウェイ間でこのプロトコルを動作させることにより、任意の数のゲートウェイ間でグループおよびそのメンバの設定を自動化させることが可能となる。
(第四の実施形態)
次に、本発明の第四の実施形態であるゲートウェイ(GWまたはゲートウェイ装置ともいう)を包含するネットワークシステムについて図面を参照しながら説明する。
本実施形態では、ゲートウェイGWに、IPによる通信機能が使えないデバイス(非IP端末)が接続されている。この非IP端末は、ゲートウェイGWからの何らかのテキスト形式またはバイナリ形式のコマンドの送受信で制御される機能を有する。
このような場合、仮想IPアドレスを割り当てるのと同様に、仮想的にゲートウェイGWにおいて仮想IPホストを作成し、これに仮想IPアドレスを割り当てるとともに、これが外部からのTCP/IP通信を終端することで、コマンドの送受信をTCP/IPネットワークを利用して実現可能となる。
例えば、telnetやHTTPなどの既存のプロトコルを利用して、遠隔のホストがコマンドを運び、ゲートウェイGWにおいてtelnet,HTTPを終端し、コマンド部分を抽出して、あらためて非IPホストに送信することで、遠隔のホストからはあたかもIPホストと通信しているような制御・通信が可能となる。
このような非IP端末の数だけ、ゲートウェイGWが仮想IPアドレスを割り当てればプライベートIPアドレスの数だけ非IP端末を収容でき、かつグループ化も全く同様に実現することが可能となる。
(第五の実施形態)
次に、本発明の第五の実施形態であるゲートウェイ(GWまたはゲートウェイ装置ともいう)を包含するネットワークシステムについて図面を参照しながら説明する。
通常、ローカルネットワークではDHCP(Dynamic Host Configuration Protocol)などのIPアドレス自動割当プロトコルが動作していることから、ホストに割り当てられるIPアドレスは同一とは限らない。このような環境においては、IPアドレスはIPホストの個体を識別するIDとしては不適当である。
本発明では通信先のIPアドレスは仮想的なアドレスであり実IPアドレスが隠蔽されている。これは、ローカルリストにおいて実アドレスと仮想IPアドレスがマッピングされていることにより実現されている。このことから、たとえ実アドレスが変化しても個体と仮想IPアドレスとのマッピングさえ維持できるのであれば、このようなDHCPなどによる実IPアドレス変化の影響を受けることがなくなる。
例えば、ゲートウェイGWにおいてMACアドレスによる個体識別を利用すると、個体と仮想IPアドレスとのマッピングを実IPアドレスに関わらず維持することができる。これは、ゲートウェイGWにおけるローカルリストのエントリにMACアドレスのフィールドを追加することで実現できる(図14参照)。このようにすれば、実アドレスが変化しても、ローカルリストでは常にMACアドレスを見て個体を識別するようにすれば、上記の効果が得られる。
例えば、videoという名前の個体はMACアドレスaa:bb:cc:dd:ee:ffによって一意に識別することが可能である。これはゲートウェイGWとvideoとの通信時にEtherを使っていればARP応答などでこの値を取得して、ローカルリストに入力すれば実現できる。
例え、DHCPを利用していたり、IPアドレス割り当てが変化して実アドレスが変化しても、MACアドレスは不変であるため、この値を元にこのテーブルの値を管理維持すればよい。
(第六の実施形態)
次に、本発明の第六の実施形態であるゲートウェイ(GWまたはゲートウェイ装置ともいう)を包含するネットワークシステムについて図面を参照しながら説明する。
全く異なるネットワークに属するホストから仮想グループが構成されるときは、名前と仮想IPアドレス、および仮想IPアドレスと実アドレスの対応にパターンはない。しかしながら、例えばサブネットに属するホスト全てを仮想グループとして構成する場合には、変換にはルールがあることから、大幅にエントリ数を削減することが可能である。
ここでは、DNS名の管理をゲートウェイでは行わず、DNSリレーなどの既存手法を利用して、一元的に管理するシステムに問い合わせる。ゲートウェイGWには問い合わせるDNSサーバのアドレスを予め与えておく。次に、グローバルリストにはドメイン名から実アドレスの変換パターン、および実アドレスから仮想IPアドレスへの変換パターンが記載されている(図15参照)。
この表中の”*”は任意の値を意味し、それにマッチするデータをそのまま利用することを意味する。例えば、video.d1のIPアドレスをDNSサーバに問い合わせたとして、その応答が192.168.0.17であったとすると、グローバルリストの1番目にヒットし、そのときの仮想IPアドレスは10.20.20.17に変換されることを意味している。
このようなリストを持つことにより、連続したアドレス空間をリストに登録する場合には、リストを検索するための処理時間・およびリストを構成するためのリソースを大幅に削減することが可能になる。
(第七の実施形態)
次に、本発明の第七の実施形態であるゲートウェイ(GWまたはゲートウェイ装置ともいう)を包含するネットワークシステムについて図面を参照しながら説明する。
ゲートウェイは仮想的にあるグループが仮想的に同じサブネットに存在するようにホストに教えることが可能である。これまでの例ではグループにアクセスするときは必ずゲートウェイを通過するようにホストからは見えた。本実施形態によれば、EtherのL2レベルで同じサブネットに属するように見せかけることができる。
今、g1というグループのホストが2つ存在し、それぞれ実際には異なる遠隔のゲートウェイに属しているとして、ゲートウェイGW−Bにおいて、同じローカルサブネットである192.168.0.0/24というネットワークに存在するvideoといホストに対して、同じサブネットに属するように通信させる場合を考える。
これまでの実施形態で利用したグローバルリストに対して、新たに仮想レイヤ2アドレスのフィールドを追加し、他のホストと同一にならないようにレイヤ2アドレスをmypc,camに対してそれぞれa1:b1:c1:d1:e1:f1、a2:b2:c2:d2:e2:f2を割り当てたとする(図16参照)。また、これまでと同様に仮想IPアドレスを割り当てるが、ここではホストvideoと同じサブネットアドレスを割り当てる。
図17に示すように、camからmypcに対してIPパケットの送信を始める前に、ARPのリクエストが送信される(S500)が、これに対してゲートウェイGW−Bがmypcに代わって仮想的にmypcであるかのように、ARPリクエストに対してアドレスa1:b1:c1:d1:e1:f1で応答する(S501)。このとき、図16に示すグローバルリストが参照される。これによって、camはmypcのレイヤ2アドレスを把握したため、実際にはゲートウェイGW−Bに対してIPパケットをL2レイヤで送信を開始する(S502)。
ゲートウェイGW−BはL2パケットを受信するとグローバルリストを参照し、宛先a1:b1:c1:d1:e1:f1宛のL2パケットは仮想的にゲートウェイGW−Aにおいてmypcとして存在することが認識されるためこれを終端できる。以降はこれまでと同様の処理で、ゲートウェイGW−A宛にIPパケットを転送する(S503)。ゲートウェイGW−Aは、上記実施形態と同用意、そのIPパケットを受信してアドレス変換を行い、この変換後のIPパケットを自己の配下のmypcに対して転送する(S504)。
また、ゲートウェイGW−Bからcam宛にmypcからのパケットを送信時するときは、これまでの実施形態と同様にアドレス変換を終え、最終的にローカルネットワークに送信するときに、送信元レイヤ2アドレスとしてa1:b1:c1:d1:e1:f1を付けて、L2ネットワーク上のmypcに対してL2パケットを送信する。
以上の結果、任意のホストを仮想的に同一のサブネットに属するポストとして通信させる機能をゲートウェイが提供することが可能になる。
(変形例)
上記実施形態においては、IPアドレスはIPv4によるアドレスであると説明したが、本発明はこれに限定されない。例えば、IPv6によるアドレスを用いることも可能である。この場合は、IPv4のプライベートアドレスの代わりに、IPv6のサイトローカルアドレスを利用することで実現可能であある。例えば、上記実施形態の「プライベート(アドレス)」を「サイトローカル(アドレス)」と読みかえれば、処理手順や処理方法は全く同一であり、本発明の実施に当たりIPv4とIPv6の違いを考慮する必要はない。なお、グローバルアドレスはIPv4とIPv6とも同じ意味を持つ。
本発明は、その精神または主要な特徴から逸脱することなく、他の様々な形で実施することができる。このため、上記の実施形態は、あらゆる点で単なる例示にすぎず、限定的に解釈されるものではない。
(第一の実施形態)
(ネットワークシステムの概要)
図1および図2は、本実施形態のネットワークシステムの概略構成を説明するための図である。
図2に示すように、本実施形態のネットワークシステムは、ローカルネットワークA(以下ローカルネットAという)、ローカルネットワークB(以下ローカルネットBという)、およびインターネットからなる。ローカルネットAおよびローカルネットBには、グループ化の対象とされるホスト(ここではホスト11〜14およびホスト21〜25)が接続されている。なお、グループ化の対象とされるホストの数は適宜の数とすることができる。
各ホストは、IPパケットによる通信を行う機能を有する家電製品等の端末である。このIPパケットによる通信のために、各ホストはグローバルIPアドレスを持つ。ここでは、IPv4によるIPアドレスとする。ローカルネットAとインターネットとはゲートウェイA1を介して接続されている。また、ローカルネットBとインターネットとはゲートウェイB1を介して接続されている。
ローカルネットBからインターネットを経由してローカルネットAへ向かうIPパケット(すなわち、送信元IPアドレスおよび宛先IPアドレスがそれぞれ、ローカルネットBに接続されたホストのIPアドレスおよびローカルネットAに接続されたホストのIPアドレスであるIPパケット)は、ゲートウェイA1に到着するようになっている。逆に、ローカルネットAからインターネットを経由してローカルネットBへ向かうIPパケット(すなわち、送信元IPアドレスおよび宛先IPアドレスがそれぞれ、ローカルネットAに接続されたホストが持つIPアドレスおよびローカルネットBに接続されたホストが持つIPアドレスであるIPパケット)は、ゲートウェイB1に到着するようになっている。
本実施形態では、ゲートウェイA1およびB1は、その到着したIPパケットに対して後述のフィルタリング処理等を実行する。これにより、グループ内に閉じた通信を実現することが可能となる。以下に、その詳細について説明する。
(ゲートウェイの概略構成)
次に、ゲートウェイの概略構成について図面を参照しながら説明する。図3は、ゲートウェイの機能ブロック図である。
ゲートウェイA1(ゲートウェイB1も同様)は、グローバルアドレスを持つIPホストで構成されたIPネットワークにおいて、任意のホストを選択してグループ化し、グループ内に閉じた通信を実現するために、ローカルネットワーク(例えばローカルネットA又はB)とグローバルネットワーク(例えばインターネット)との間に設けられるパケット中継装置である。
具体的には、ゲートウェイA1は、図3に示すように、パケットフィルタリング部100、グループメンバーリスト管理部110、DNS処理部120、およびパケット送受信部130を備えている。
パケットフィルタリング部100は、ローカルネットBからインターネットを経由してローカルネットAへ向かうIPパケット(すなわち、送信元IPアドレスおよび宛先IPアドレスがそれぞれ、ローカルネットBに接続されたホストのIPアドレスおよびローカルネットAに接続されたホストのIPアドレスであるIPパケット)を受信する。パケットフィルタリング部100は、その受信したIPパケットが同一グループに関するものか否か(ここでは、その受信したIPパケットの送信元IPアドレス(SA)および宛先IPアドレス(DA)に対応するグループが同一か否か)を、グループメンバーリスト管理部110に問い合わせる。
パケットフィルタリング部100からの問い合わせを受けると、グループメンバーリスト管理部110は、自己が管理するグループメンバーリストを参照して、送信元IPアドレスおよび宛先IPアドレスに対応するグループが同一か否かを判定する。グループメンバーリストには、各ホスト(ホスト11〜14およびホスト21〜25)とそのホストのIPアドレスとそのホストのドメイン名との対応関係が記述されている。なお、説明の都合上、図3に示すグループメンバーリストには、図2に示すホスト数よりも少ない数の対応関係を記述している。
ドメイン名は、そのホスト名(mypcやtv等)とそのホストが属するグループを識別するためのグループ識別情報(gr1やgr2等)とを”.”で連結して構成したものである。従って、グループメンバーリスト管理部110は、グループメンバーリストを参照することにより、送信元IPアドレスおよび宛先IPアドレスに対応するグループ(グループ識別情報)を知ることができる。そして、その判明したグループ(グループ識別情報)を比較することにより、両者が同一か否かを判定できる。この判定結果はパケットフィルタリング部100に返される。
送信元IPアドレスおよび宛先IPアドレスに対応するグループが同一であるとの判定結果を受けると、パケットフィルタリング部100は、その受信したIPパケットをローカルネットA(宛先)にフォワードする。一方、送信元IPアドレスおよび宛先IPアドレスに対応するグループが同一でないとの判定結果を受けると、パケットフィルタリング部100は、その受信したIPパケットをローカルネットAにフォワードすることなく、例えば、廃棄する。
(グループメンバーリスト)
グループメンバーリストは各種の方法で作成することが可能である。例えば、仮想的なグループgr1,gr2をネットワーク上に新規に作成し、次にこれに属するホストのIPアドレスおよび名前(ここではドメイン名(DNS名))を登録し、最終的にグループとそのメンバが記憶されたアドレスリストを得ることが考えられる。図3はこのようにして得たグループメンバーリストを示している。
これらの一連の作業はネットワークの管理者が管理端末をシリアルで接続し、コマンド・ライン・インタフェースを利用して手動でゲートウェイA1に設定する。または、管理設定用の遠隔設定プロトコル(TelnetやHTTP等)を使って設定してもよい。例えば、HTTPを利用する場合、ゲートウェイA1においてグループを作成するためのWebインタフェースを持つグループ、およびそのメンバの登録・管理機能が存在し、あるホストはゲートウェイの登録画面において、IDとパスワードを入力して認証することにより登録用のWebページに進むことができるなどの、アクセス制限があってもよい。登録用のページではグループ名を入力するとグループを登録でき、また、既存のグループ名に対してホストIPアドレスを登録するとグループに属するメンバであるホストを定義できる。これらの登録ステップはユーザインタフェースの設計に依存し、これらは一例であって、グループとそのメンバホストが登録する機能を有すれば他の登録方法でもよい。
以上の結果、ホストのIPアドレスとDNS名、およびホストが属するグループ名が記憶されるグループメンバリストを作成することができる。
(ドメイン名登録)
次にゲートウェイによるDNSとしての動作について図面を参照しながら説明する。図4は、ゲートウェイの動作について説明するためのフローチャートである。
上記と同様に、IPアドレス毎に固有の名前を定義し、先ほどのグループ名とあわせて適当なドメイン名を定義することができる。例えば、ホスト12が「mypc」という名前であることを登録し、これが属するグループ名が「g1」であるとすると、ゲートウェイではホスト12のIPアドレス「133.100.51.3」に対して「mypc.g1」というDNS名を割り当てる。
ゲートウェイA1は、例えば、グループ内に既に登録済みのホストから「mypc.g1」というDNS名に対するIPアドレスの解決要求を含むIPパケットを受信すると(S100)、その受信したIPパケットの送信元IPアドレス(SA)がグループメンバーリストに存在するか否かを、グループメンバーリスト管理部110に問い合わせる(S101)。その結果、その送信元IPアドレス(SA)がグループメンバーリストに存在しない場合には(S101:No)、ゲートウェイA1は、通常のDNS要求として応答を返す(S102)。一方、その送信元IPアドレス(SA)がグループメンバーリストに存在する場合には(S101:Yes)、ゲートウェイA1は、その送信元IPアドレス(SA)に対応する(属する)グループを”A”として記憶する(S103)。そして、ゲートウェイA1は、解決しようとしているホストが先ほど記憶したグループ”A”に存在するか否かを判定する(S104)。その結果、そのホストがグループ”A”に存在しない場合には(S104:No)、ゲートウェイA1は、通常のDNS要求として応答を返す(S102)。一方、そのホストがグループ”A”に存在する場合には(S104:Yes)、ゲートウェイA1は、グループメンバリストを参照して、「mypc.g1」というDNS名に対応するIPアドレス「133.100.51.3」を得る。ゲートウェイA1は、この解決したIPアドレス「133.100.51.3」を”IP”、DNS名「mypc.g1」を”Name”として記憶する(S105)。
次に、ゲートウェイA1は、ホストからの要求がDNS名の解決要求か否かを判定する(S106)。その結果、ホストからの要求がDNS名の解決要求である場合には(S106:Yes)、DNS名を、要求元のホストに応答する(S107)。一方、ホストからの要求がDNS名の解決要求でない場合には(S106:No)、IPアドレスを、要求元のホストに応答する(S108)。ここでは、ホストからの要求がIPアドレスの解決要求であるため(S100、S106:No)、ゲートウェイA1は、DNS名「mypc.g1」に対応するIPアドレス「133.100.51.3」を、アドレス解決要求元のホストに応答することになる(S108)。なお、S100においてホストからIPアドレス「133.100.51.3」に対するDNS名の解決要求を含むIPパケットを受信した場合には、ゲートウェイA1は、そのIPアドレスに対応するDNS名「mypc.g1」を、DNS名の解決要求元のホストに応答することになる(S107)。
なお、グループメンバリストに基づくDNS応答はローカルネットワーク側でのみ有効であるように制限するのが一般的である。例えば、DNS要求の送信元IPアドレスが先に作成したメンバリストに存在し、かつ、同一のグループに属するホストに対する要求のみを受け付けるように制限することが考えられる。
以上の結果、IPアドレス毎のDNS名を記憶したグループメンバリストを定義し、これに対する要求に対して応答することが可能となる。
(アクセス制限)
次に上記構成のゲートウェイによる、グループ内に閉じた通信を実現するための動作について図5を参照しながら説明する。図5は、ゲートウェイの動作について説明するためのフローチャートである。
まず、同一のグループgr1に属するホスト11とホスト22との間の通信を例に説明する。なお、ゲートウェイA1(ゲートウェイB1も同様)のグループメンバーリストには、ホスト11およびホスト22等が持つIPアドレスとこれらのホストのドメイン名(ホスト名とグループ識別子とから構成される)との対応関係が記述されている。
まず、ホスト22がホスト11に対してIPパケット(すなわち、送信元IPアドレスおよび宛先IPアドレスがそれぞれ、ホスト22のIPアドレスおよびホスト11のIPアドレスであるIPパケット)を送信したとする。そのIPパケットは、インターネットを経由してゲートウェイA1に到着する。ゲートウェイA1は、そのパケットフィルタリング部100により、その到着したパケットを受信する(S200)。パケットフィルタリング部100は、その受信したIPパケットが同一グループに関するものか否か(ここでは、その受信したIPパケットの送信元IPアドレス(SA)および宛先IPアドレス(DA)に対応するグループが同一か否か)を、グループメンバーリスト管理部110に問い合わせる(S201)。
パケットフィルタリング部100からの問い合わせを受けると、グループメンバーリスト管理部110は、自己が管理するグループメンバーリストを参照して、送信元IPアドレスおよび宛先IPアドレスに対応するグループが同一か否かを判定する(S202およびS203)。グループメンバーリストには、各ホスト(ホスト11〜14およびホスト21〜25)とそのホストが持つIPアドレスとそのホストのドメイン名との対応関係が記述されている(図3参照)。なお、説明の都合上、図3に示すグループメンバーリストには、図2に示すホスト数より少ない数の対応関係を記述している。ドメイン名は、そのホスト名(mypcやtv等)とそのホストが属するグループを識別するためのグループ識別情報(gr1やgr2等)とを”.”で連結して構成したものである。
従って、グループメンバーリスト管理部110は、グループメンバーリストを参照することにより、送信元IPアドレスおよび宛先IPアドレスに対応するグループ(ここではいずれもgr1)を知ることができる(S202:Yes)。そして、その判明したグループ(ここではいずれもgr1)を比較することにより、両者が同一か否かを判定できる(S203:Yes)。この判定結果はパケットフィルタリング部100に返される。なお、S202またはS203での判断がNoであれば、該当パケットは廃棄される(S205)。
ここでは、パケットフィルタリング部100は、送信元IPアドレスおよび宛先IPアドレスに対応するグループが同一であるとの判定結果を受けることになる。その判定結果を受けると、パケットフィルタリング部100は、その受信したIPパケットをローカルネットA(宛先)にフォワードする(S204)。これは、一般的にフィルタリングと呼ばれる処理と同様の処理である。
次に、異なるグループに属するホスト11(gr1に属する)とホスト21(gr2に属する)との間の通信を例に説明する。
まず、ホスト21がホスト11に対してIPパケット(すなわち、送信元IPアドレスおよび宛先IPアドレスがそれぞれ、ホスト21のIPアドレスおよびホスト11のIPアドレスであるIPパケット)を送信したとする。そのIPパケットは、インターネットを経由してゲートウェイA1に到着する。ゲートウェイA1は、そのパケットフィルタリング部100により、その到着したパケットを受信する(S200)。パケットフィルタリング部100は、その受信したIPパケットが同一グループに関するものか否か(ここでは、その受信したIPパケットの送信元IPアドレス(SA)および宛先IPアドレス(DA)に対応するグループが同一か否か)を、グループメンバーリスト管理部110に問い合わせる(S201)。
パケットフィルタリング部100からの問い合わせを受けると、グループメンバーリスト管理部110は、自己が管理するグループメンバーリストを参照して、送信元IPアドレスおよび宛先IPアドレスに対応するグループが同一か否かを判定する(S202およびS203)。グループメンバーリストには、各ホスト(ホスト11〜14およびホスト21〜25)ごとに、そのホストが持つIPアドレスとそのホストのドメイン名との対応関係が記述されている(図3参照)。なお、説明の都合上、図3に示すグループメンバーリストには、図2に示すホスト数より少ない数の対応関係を記述している。ドメイン名は、そのホスト名(mypcやtv等)とそのホストが属するグループを識別するためのグループ識別情報(gr1やgr2)とを”.”で連結して構成したものである。
従って、グループメンバーリスト管理部110は、グループメンバーリストを参照することにより、送信元IPアドレスおよび宛先IPアドレスに対応するグループ(ここではgr1、gr2)を知ることができる(S202:Yes)。そして、その判明したグループ(ここではgr1、gr2)を比較することにより、両者が同一か否かを判定できる(S203:Yes)。この判定結果はパケットフィルタリング部100に返される。
ここでは、パケットフィルタリング部100は、送信元IPアドレスおよび宛先IPアドレスに対応するグループが同一でないとの判定結果を受けることになる。その判定結果を受けると、パケットフィルタリング部100は、その受信したIPパケットをローカルネットAにフォワードすることなく、例えば、廃棄する(S205)。
以上説明したように、本実施形態のゲートウェイ装置によれば、グループメンバー外からのアクセスを制限する機能を提供する。即ち、本実施形態のゲートウェイ装置は、グループメンバーリストを参照することにより、送信元ホストから到着したIPパケットが、同一グループに関するIPパケットであるか否かを判定し、同一グループに関するIPパケットであると判定されたIPパケットを宛先へフォワードする。一方、同一グループに関するIPパケットであると判定されなかったIPパケットについてはフォワードされることなく廃棄される。これにより、本実施形態のゲートウェイ装置は、グループ内に閉じた通信を実現することが可能となっている。
なお、グループメンバーリストに記憶されている送信元以外からパケットが到着した場合に関する動作はネットワーク管理者のポリシ次第である。例えば、そのようなパケットについては、廃棄することも可能である。または、そのようなパケットであったとしても、宛先アドレスが特定のIPアドレスのパケットについては、廃棄することなくそのままホストへ転送することも可能である。これらの動作に関しては別にグループメンバリストに記載しておいても良い。
上記実施形態においては、ゲートウェイ装置A1は、外部ネットワークからローカルネットワークAへ向かうIPパケットに対して、フィルタリング処理を行うように説明したが、本発明はこれに限定されない。例えば、ゲートウェイ装置A1は、ローカルネットワークAから外部ネットワークへ向かうIPパケットに対しても、フィルタリング処理を行うようにしてもよい。このようにすれば、ゲートウェイ装置A1におけるフィルタリング処理等の負荷が増大するものの、ゲートウェイ装置B1を導入することなく、ゲートウェイ装置A1のみで、上記グループ内に閉じた通信を実現することが可能となる。
(グループ間通信の具体例)
図4および図5に示したグループ間通信を実現するための一連の処理についてシーケンス図を用いて説明する。図6は、ゲートウェイの動作ついて説明するためのシーケンス図である。
まず、mypcがvideoと通信したい場合、ゲートウェイGW−Aに対してDNS解決要求を送信してvideoのIPアドレス82.5.218.4を得たとする。次に、このIPアドレスを利用してmypcからvideoにIPパケットを送信して通信が始まる。これに対する応答パケットがvideoからmypcに対して送信された場合、ゲートウェイGW−Aはこのパケットを受信すると、mypcにフォワードする前に、グループメンバリストをチェックしてmypcとvideoが同一のグループにあることを確認するとパケットをmypcにフォワードする。
ここで例えばPC2というグループメンバリストに登録されていないホストからmypcに対する通信パケットが送信され、ゲートウェイGW−Aに到着すると、ゲートウェイGW−Aはこのパケットの送信元アドレス(SA)をチェックしてPC2がリストに存在しないことからこのパケットを廃棄する。これにより、グループ外のホストとの通信を遮断してセキュリティを向上させることが可能となる。
(グループに属する全てのホストを応答する具体例)
(グループメンバのIPアドレス一覧)
ゲートウェイは登録されたホスト名とそのIPアドレスの対応を応答するだけではなく、グループ名とそのメンバ全てを応答することが出来る。これは、例えばg1というグループ名に対するアドレス解決要求を受けた場合は、ゲートウェイはg1というグループ名を持つホストアドレスの全てをDNS応答メッセージの中に入れて応答することで実現できる。このような応答メッセージは既存のDNSの仕様で認められているものなので、特にDNSの機能を拡張しなくても1つの名前に対して複数のIPアドレス応答を受信することが可能である。
この機能を応用することで例えばホストは自分の属するg1というグループに属する全てのメンバの一覧を入手することが可能なため、例えば、既存のメーリングリストの機能と同等の機能として、すべてのメンバにメッセージやファイルを送信するなどの機能が実現できることになる。
(第二の実施形態)
次に、本発明の第二の実施形態であるゲートウェイ(GWまたはゲートウェイ装置ともいう)を包含するネットワークシステムについて図面を参照しながら説明する。
上記第一の実施形態では、各ホストのIPアドレスはグローバルアドレスである必要があることから、現実にはプライベートIPアドレスが多用されている環境では利用できない。加えて、あるホストがグループメンバであるか否かはDNSを利用してグループ名を確認する以外に手段がない。
例えば、あるホストがファイルの読み取り権限を与えるグループと読み書き全制御を許すグループの2つのグループに属するとき、未知のホストからアクセスがあった場合、DNSを利用してグループを認識しなければ未知のホストがどの権限を持つのか分からない。このような問題を解決するために、ゲートウェイ装置において、新たに以下の機能を追加する。
1.グループ毎に異なる任意の仮想プライベートネットワークアドレスを割り当て、2.各グループメンバには割り当てたネットワークアドレスに属する仮想IPアドレスを割り当て、上記の仮想IPアドレスと実IPアドレスを通信時に相互変換するNAT(Network Address Translation)機能。
(ネットワークシステムの概要)
図7は、本実施形態のネットワークシステムの概略構成を説明するための図である。
図7に示すように、本実施形態のネットワークシステムは、自宅に敷設されたローカルネットワーク(以下自宅ネットという)、実家に敷設されたローカルネットワーク(以下実家ネットという)、およびインターネットからなる。自宅ネットおよび実家ネットには、グループ化の対象とされるホストが接続されている。例えば、自宅ネットにはmypc等が、実家ネットにはvideo等が接続されている。本実施形態では、自宅ネットに接続されているホストと実家ネットに接続されているホストの中から4つのホスト(mypc、video等)を取り出して、これらを一つのグループとして考える。なお、グループ化の対象とされるホストの数は適宜の数とすることができる。
各ホストは、IPパケットによる通信を行う機能を有する。このIPパケットによる通信のために、各ホストはローカルIPアドレスを持つ。ここでは、IPv4によるIPアドレスとする。自宅ネットとインターネットとはゲートウェイGW−Aを介して接続されている。また、実家ネットとインターネットとはゲートウェイGW−Bを介して接続されている。
しかしながら、本実施形態では、第一の実施形態とは異なり、各ホストはローカルIPアドレスを持つことから、自宅ネットと実家ネットのアドレス空間は重なっている(図7参照)。例えば、自宅ネットに接続されたmypcというホストと、実家ネットに接続されたvideoというホストとは、同一のローカルIPアドレス192.168.0.5を持つことから、アドレス空間は重なっている。このような環境では、自宅ネットと実家ネットとの間で通信することはできない。加えて、あるホストがグループメンバであるか否かはDNSを利用してグループ名を確認する以外に手段がない。例えば、あるホストがファイルの読み取り権限を与えるグループと読み書き全制御を許すグループの2つのグループに属するとき、未知のホストからアクセスがあった場合、DNSを利用してグループを認識しなければ未知のホストがどの権限を持つのか分からない。
本実施形態では、ゲートウェイGW−AおよびGW−BはNAT変換機能を持つ。これにより、ローカル以外のネットワークに存在するホストを異なる別のアドレスを持つホストとしてローカルホストに見せかけることが可能となる。
例えば、図7に示すように、自宅にあるmypcというホストが192.168.0.5という実アドレスを持ち、同じく実家にあるvideoというホストが192.168.0.5という実アドレスを持ち、mypcとvideoとがゲートウェイGW−AおよびGW−Bを介して通信する場合を考える。
自宅のmypcからはvideoというホストは仮想的に10.10.10.102という仮想IPアドレスを持つホストとしてゲートウェイGW−Aに、同様に実家のvideoからはmypcというホストは仮想的に10.20.20.10という仮想IPアドレスを持つホストとしてゲートウェイGW−Bに、それぞれ登録しておく。
最初に、mypcがvideoというDNS名を持つホストのIPアドレスをゲートウェイGW−Aに問い合わせると、ゲートウェイGW−Aは仮想IPアドレスである10.10.10.102(=V−VCR)というアドレスで応答する。mypcはその仮想IPアドレスV−VCR宛にIPパケットを送信する。ここで、このパケットは必ずゲートウェイGW−Aを通過する。このため、ゲートウェイGW−Aにおいて、この宛先アドレスV−VCRは仮想IPアドレスであること、実際にはゲートウェイGW−B配下のホストvideo宛であること、およびmypcはゲートウェイGW−B配下のホストでは10.20.20.10(=V−PC)というアドレスを持つこと、がわかる。
そこで、ゲートウェイGW−Aでは、送信元アドレスR−PC(192.168.0.5)をゲートウェイGW−Bにおける仮想IPアドレスであるV−PC(10.20.20.10)に変換し、このパケットをゲートウェイGW−B宛に、IPトンネルを利用して送信する。
ゲートウェイGW−Bでは、このパケットを受信すると、ゲートウェイGW−Aから受け取ったパケットには仮想IPアドレスが使われていることが分かる。このため、ゲートウェイGW−Bは、宛先アドレスV−VCRを実アドレスである192.168.0.5に変換し、このパケットをvideoに対して送信する。
以上のステップと逆の変換をvideoからmypcに対しても行うことにより、仮想IPアドレスを用いて任意のホスト間で通信することが可能になる。
なお、これらに必要なアドレス変換機能は基本的には既存のNAPTの機能を利用することが可能である。また、ゲートウェイ間のIPトンネル通信も既存のPPPoverSSHやIP Secなどの様々な手法を利用することが可能である。IPトンネル通信としてSHやIP Secを利用すれようにすれば、仮想サブネットに関してゲートウェイGW−AとGW−Bとの間の通信が暗号化されることから、通信内容がグローバルIPコアネット区間で盗聴されることを防止できる。
また、ホストとゲートウェイとの間の接続に関しても、イーサネットにおけるブロードキャストドメインを構成せず、Point−to−Pointで接続するL2ネットワークを利用することから、グループメンバ以外からの接続を遮断することが可能になる。
(動作要件)
以上の動作を実現するための要件は以下の通りである。
1.パケット送信時、ゲートウェイGW−AまたはGW−Bで、トンネル(対向GW)を選択するルーティングを行う。ルーティングは宛先仮想IPアドレスを用いて、対向GW(トンネル)を決定する。
2.ローカルホストは所属するグループ毎、加えて、対向GW毎にも異なる仮想IPアドレスを持つ。この仮想IPアドレスはこれを利用する対向GWと共有される。
3.ローカルホストの持つ仮想IPアドレスと実IPアドレスの変換はローカルゲートウェイGWで管理する。宛先網におけるゲートウェイGWでは、送信元ホストの仮想IPさえ知っていれば良く、実IPアドレスは知る必要がないためである。
4.よって、ローカルゲートウェイGWでは、ローカルホストにおける仮想IPアドレスと実アドレスの変換をする。この要件から、グローバルリストと呼ぶグループメンバ全ての仮想IPアドレスとそのDNS名を管理するリスト、およびローカルリストと呼ぶローカルに接続されている各ホストに関してグループを構成する対向GWにおける仮想IPアドレスと対応GW番号を含んだリストの2つのリストをGWでは管理・維持する必要がある。
例えば、図8では、ゲートウェイGW−Bにおけるグローバルリストは、videoというローカルホスト(アドレス192.168.0.5)が属する2つのグループg1、g2における、メンバホストmypc、cam、video、noteに対する仮想IPアドレスを示している。
このグローバルリストはvideo以外のゲートウェイGW−Bに接続されているホストに関しても同じリストを利用してもよい。この場合、エントリはどのローカルホストと同じグループメンバかを判定する手段が必要になる。例えば、ローカルリストに所属グループ(所属Gという列)に関する識別子を記憶させておけば、グローバルリストにはDNS名にホストが属するグループが記述されているので、グループ関係を認識することが可能である。結果としてグローバルリストに記憶されているホストについて、どのローカルホストと同じグループかを判別することができる。
なお、これ以外にもグローバルリストをローカルホスト毎に用意するなどの手段でも同じことができる。同様に、ローカルリストにはvideoに関する仮想IPアドレスを記憶しており、この場合は、対向GW毎に異なるIPアドレスを仮想IPアドレスとして利用されている。このローカルリストは、video以外のホストの仮想IPアドレスを管理してもよく、単にリストにホストに関するエントリを追加するだけでよい。
(ゲートウェイの概略構成)
次に、ゲートウェイの概略構成について図面を参照しながら説明する。図8は、ゲートウェイの機能ブロック図である。
図8に示すように、ゲートウェイGW−B(ゲートウェイGW−Aも同様)は、パケット送受信部200、グループメンバーリスト管理部210、DNS処理部220、トンネル処理部230、トンネル設定管理部240、およびNAT処理部250を備えている。
グローバルIPネットワークとプライベート(ローカル)ネットワークがこのゲートウェイ装置GW−Bで分離されている。グループ間で通信されるパケットは任意のIPアドレスを含むことから、このままでは、IPパケットをグローバルIPネットワークに送信することができない。ここでは、IPパケットは、ゲートウェイGW−AとGW−Bとの間に設定されたIPトンネル(これは一例であり、何らかのトンネルであればよい)経由で送受信される。この場合、IPトンネルを構成するIPパケットの送信元・宛先アドレスともに、必ずゲートウェイGWのアドレスとなる。
そこで、ゲートウェイGW−Bは、IPパケットを受信すると自己宛以外のパケットを、そのパケット送受信部200により廃棄する。次に、ゲートウェイGWは、その受信したパケットが、自己宛のIPトンネルパケットかそれとも自己宛の制御パケットかを、宛先ポート番号から判断する。その結果、そのポート番号がIPトンネル用のIPポート番号(もしくはプロトコル番号)と判断された場合には、この受信したIPパケットをトンネル処理部230により処理する。
トンネル処理部230は、この受信したIPパケット群により構成されるトンネルを終端する。そして、トンネル処理部230は、そのIPパケット群が暗号化されている場合には、その暗号化を解除し、その後、トンネルによって運ばれている内側のIPパケットを抽出する。この処理は一例である。概念はIP−IPトンネルなどと呼ばれ広く知られている手法である。従って、上記IPトンネルに代えて、PPP、IP Secなど様々なトンネル処理技術を利用することが可能である。
この後、IPトンネルより抽出されたIPパケットはNAT処理部250によりパケットの送信先が書き換えられる。これは、上記の要件で述べたように、宛先アドレスと仮想IPアドレスの対応は宛先ホストを収容しているローカルゲートウェイGWで処理するのが基本であること、それゆえローカルゲートウェイGWにおけるNAT処理部250がこの処理を担当できる唯一の機能であるからである。
NAT処理部250は、受信したIPパケットの対向GW(=トンネル)および受信パケットの宛先アドレスから、仮想IPアドレスを取得する。NAT処理部250は、この2つの値をキーにグループメンバリスト管理部210に記憶されている「ローカルリスト」を参照して、宛先実IPアドレスを求める。そして、NAT処理部250は、仮想IPアドレスを実アドレスに書き換えたIPパケットを最終的にローカルネットワーク側に送信する。
この例では、上記の要件を元に、NAT処理部250が受信したIPパケットは、宛先IPアドレスを実アドレスに変換するように説明したが、この手段以外の手段も考えられる。ゲートウェイは通信系路上に送信側と受信側の2対存在するため、仮想IPアドレスを持つパケットの宛先・送信元アドレスを実アドレスに変換する処理はそのどちらかのゲートウェイのNAT処理部250で実現できればよい。従って、例えば、送信側のゲートウェイで宛先アドレスに関してNAT処理により実IPアドレスに変換するようにすれば、受信側のゲートウェイではNAT処理は不要になる。ただし、この場合、送信側のゲートウェイにおいて宛先ホストの実IPアドレスを知る必要があることから、処理負荷が高くなる。なお、パケット送信時における、アドレス変換に関する処理もほぼ同様の機能ブロックを利用する。
なお、パケット送受信部200およびDNS処理部220は、第一実施形態で説明したパケット送受信部130およびDNS処理部120と同様に機能する。
(パケット受信時の具体的な動作)
ゲートウェイGW−Aに属する10.20.20.10という仮想IPアドレスを持つmypcが、video、すなわち仮想IPアドレス10.20.10.102宛にパケットを送信し、これをゲートウェイGW−Bで受信したとする。
ゲートウェイGW−Bは、受信パケットの送信元アドレスをキーにグローバルリストを検索する(もしくはパケットの受信インタフェースを認識する)ことにより、トンネル1、すなわち対向GW番号1で受信したことをを知る。加えて、宛先アドレスは10.20.10.102であることが分かる。ゲートウェイGW−Bは、この2つをキーに「ローカルリスト」を検索することにより、宛先の実IPアドレスが192.168.0.5であることを知る。これを元に、宛先アドレスをNAT変換部により変換して、最終的に受信パケットをローカルネットワークに送信することで、ゲートウェイGW−Bの処理が完了する。
(パケット送信時の具体的な動作)
このゲートウェイGW−Bを利用して、「g1」グループに属するvideoというホストが、対向する異なるゲートウェイGW−A配下のホスト「mypc」に対して仮想IPネットワークにより通信する場合を考える。
はじめに、通常のIP通信と同様、DNSを利用してDNS名からIPアドレスを求める。ここでは、ローカルホストはゲートウェイGW−BをDNSサーバとして登録しており、かつ、ゲートウェイGW−Bがアドレス解決手段(DNSサーバ)を実装しているものとする。
ゲートウェイGW−Bは、ゲートウェイ宛のDNS要求を自己宛のパケットとしてパケット送受信部により受信する。パケット送受信部は、この受信パケットを、DNS処理部に転送する。DNS処理部は、グループメンバリストのうちグローバルリストを参照して、例えば、「g1」グループの「mypc」というホストと通信したいとすると、IPアドレスとして10.20.20.1を得る。ホスト「video」は、DNSの応答としてこのアドレスを得る。そして、実際のデータ通信がvideoとmypcとの間で始まる。具体的には、videoが通信パケットをmypc宛に送信する。
ゲートウェイGW−Bはローカル側からこのIPパケットを受信すると、グループメンバリスト管理部210に記憶されている「グローバルリスト」を参照して、宛先の仮想IPアドレスをキーにそのパケットを送信するときに利用するトンネル番号を取得する。ここでは、192.168.0.5というIPアドレスを持つ送信元ホストvideoが宛先IPアドレス10.20.20.10のホストmypcに対してパケットを送信したので、宛先IPアドレス(=仮想IPアドレス)からトンネル番号は1であることが分かる。このトンネル番号はローカルネットワークのあるホストが仮想ネットワーク毎に異なる仮想IPアドレスを割り当てられている場合に、どの仮想IPアドレスが使われるかを決定するために利用する。ここではトンネル番号を用いたが、本質的には仮想IPアドレスに相当する宛先ホストが属するゲートウェイGWを見つけることができ、かつゲートウェイGWがパケットを受信したときに、送信元の仮想IPアドレスと実IPアドレスの対応が認識できるのであれば、どのような番号を用いてもよい。例えば、ゲートウェイGWのグローバルアドレスやローカルで管理する任意のIDでもよい。
ここで求めた「トンネル番号」および送信元の「実IPアドレス」をキーにローカルリストを参照し、「仮想IPアドレス」を取得し、パケットの送信元アドレスをこの仮想IPアドレスに変換して、この変換後のパケットをトンネル番号と一致するトンネルで送信するようにトンネル処理部230に通知する。
この例では、トンネル処理部230ではトンネル番号に基づき、予め設定してあるIP−IPトンネルを利用する。なお、本手法ではゲートウェイGW間のトンネル手段は任意の既存技術を利用可能であり、IP−IPトンネル以外にもMPLSやEtherフレームを利用したL2レベルでのトンネル手段を利用してもよい。この場合もトンネルの識別子としてトンネル番号を利用できる。
以上の手段により、videoからmypcに対して仮想IPアドレスを利用したIP通信が可能になり、この手段により仮想IPアドレスを用いたグループ化が実現される。
(ゲートウェイにおける各種情報の登録機能)
ゲートウェイGW−Bにおいては、グローバルリスト、ローカルリストを作成する必要がある。これは、例えばコマンドラインインタフェースとtelnet、もしくはWebインタフェースとHTTPなどを使って、遠隔ホストからグループメンバリスト管理部210に対して設定、作成することが可能である。
IP−IPトンネル、または同様の機能を提供するL2レベルのトンネルもトンネル設定管理部に対して、同じくtelnetやHTTPを利用して遠隔から設定することが可能である。
次に、ゲートウェイGW−AとゲートウェイBとの間の通信について、図面を参照しながら、より詳細に説明する。
以下、図7に示すように、自宅ネットに接続されたホストmypc(実IPアドレス192.168.0.5(=R−PC)および仮想IPアドレス10.20.20.10)と実家ネットに接続されたホストvideo(実IPアドレス192.168.0.5(=R−VCR)および仮想IPアドレス10.10.10.102)がゲートウェイGW−AおよびGW−Bを介して通信する場合を例に説明する。
なお、ゲートウェイGW−Bが保持するグローバルリストには、mypc(ドメイン名:mypc.g1)とその仮想IPアドレス10.20.20.10(=V−PC)との対応関係が記述されている(図8参照)。同様に、ゲートウェイGW−Aが保持するグローバルリストには、video(ドメイン名:省略)とその仮想IPアドレス10.10.10.102(V−VCR)との対応関係が記述されている。各ゲートウェイがこのようなグローバルリストを保持している結果、例えば、自宅ネットに接続されているホストmypcからは、実家ネットに接続されているホストvideoは仮想的にV−VCRというアドレスを持つホストとして見える。同様に、実家ネットに接続されているホストvideoからは、自宅ネットに接続されているホストmypcは仮想的にV−PCというアドレスを持つホストとして見える。
(ゲートウェイGW−Aによるアドレス解決)
図7に示すように、ホストmypcは、DNS名「video」を持つホストのIPアドレスをゲートウェイGW−Aに問い合わせる(S300)。ゲートウェイGW−Aは、その要求をDNS処理部220により受信する。DNS処理部220は、ドメイン名「video」に対応するIPアドレスを、グループメンバーリスト管理部210に問い合わせる。
グループメンバリスト管理部210が管理するグローバルリストには、各ホストのドメイン名と仮想IPアドレスと対向GW(トンネル番号)との対応関係が記述されている。ドメイン名は、ホスト名(mypcやvideo等)とそのホストが属するグループを識別するためのグループ識別情報(g1やg2)とを”.”で連結して構成したものである。
従って、グループメンバーリスト管理部210は、グループメンバーリストを参照することにより、DNS処理部220から問い合わせのあったドメイン名「video」に対応する仮想IPアドレスV−VCRを知ることができる。この判明した仮想IPアドレスV−VCRは解決要求元のホストmypcに返される(S301)。ホストmypcは、ゲートウェイGW−Aからの仮想IPアドレスV−VCRを受信する。
(ホストmypcによる送信処理)
ホストmypcは、ホストvideo向けのIPパケットとして、送信元IPアドレスおよび宛先IPアドレスがそれぞれ、ホストmypcの実IPアドレス192.168.0.5(=R−PC)および先ほど解決した仮想IPアドレスV−VCRであるIPパケットを作成して送信する(S302)。
(ゲートウェイGW−Aによるアドレス変換処理および転送処理)
ホストMYPCからのIPパケットは必ずゲートウェイGW−Aを通過する。ゲートウェイGW−Aは、このIPパケットをそのNAT処理部により受信する。NAT処理部は、その受信したIPパケットの宛先IPアドレス(先ほど解決したホストvideoの仮想IPアドレスV−VCR)に対応するトンネル番号を、グループメンバリスト管理部210に問い合わせる。グループメンバリスト管理部210が管理しているグローバルリストには、各ホストのドメイン名と仮想IPアドレスと対向GW(トンネル番号)との対応関係が記述されている。
従って、グループメンバーリスト管理部210は、グローバルリストを参照することにより、宛先IPアドレス(先ほど解決したホストvideoの仮想IPアドレスV−VCR)に対応する対向GW(トンネル番号)を知ることができる。
また、グループメンバリスト管理部210が管理しているローカルリストには、ホストvideoの実IPアドレスR−VCRと対向GWと仮想IPアドレスV−VCRとの対応関係が記述されている。
従って、グループメンバリスト管理部210は、ローカルリストを参照することにより、先ほど判明した対向GW(トンネル番号)とその受信したIPパケットの送信元IPアドレス(mypcの実IPアドレスR−PC)に対応する仮想IPアドレスV−PCを知ることができる。この判明した仮想IPアドレスV−PCはNAT処理部250に返される。
この仮想IPアドレスV−PCを受けると、NAT処理部250は、その受信したIPパケットの送信元IPアドレス(MyPcの実IPアドレスR−PC)を、その判明した仮想IPアドレスV−PCに変換する(S303)。
そして、NAT処理部250は、その変換後のIPパケットを、先ほど判明した対向GW(トンネル番号)と一致するトンネルで送信するように、トンネル処理部230に通知する。トンネル処理部230は、NAT処理部250からの通知を受けると、そのトンネルを介してその変換後のIPパケットを送信する(S304)。
以上のようにして、ホストmypcはホストvideo向けのIPパケットを送信し、ゲートウェイGW−Aは、そのホストvideo向けのIPパケットについてアドレス変換し、その変換後のIPパケットを中継する。
(ゲートウェイGW−Bによるアドレス変換処理および転送処理)
次に、ゲートウェイGW−Bによるアドレス変換処理について図面を参照しながら詳細に説明する。図9は、ゲートウェイGW−Bによるアドレス変換処理および転送処理について説明するためのフローチャートである。
ゲートウェイGW−Bは、S304でゲートウェイGW−Aから中継されたホストvideo向けのIPパケットをパケット送受信部200により受信する(S3050)。このとき、そのパケットを受信したトンネル番号が”B”として記憶される(SS3051)。パケット送受信部は、その受信したIPパケットの宛先アドレスV−VCRに対応する対向GWを、グループメンバーリスト管理部210に問い合わせる。グローバルリストには、仮想IPアドレスと対向GWとの対応関係が記述されている。従って、グループメンバーリスト管理部210は、グローバルリストを参照することにより、その受信したIPパケットの宛先アドレスV−VCRに対応する対向GWを知ることができる。
また、ローカルリストには、ホストの実IPアドレスと対向GWと仮想IPアドレスとの対応関係が記述されている。
従って、グループメンバーリスト管理部210は、ローカルリストを参照することにより、先ほど判明した対向GW(トンネル番号”B”)とその受信したIPパケットの宛先IPアドレス(仮想IPアドレスV−VCR)に対応する実IPアドレスR−VCRを知ることができる。これは該当するエントリがローカルリストに存在したことを意味する(S3053:Yes)。この判明した実IPアドレスR−VCRはNAT処理部に送られる。なお、該当するエントリがローカルリストに存在しない場合には(S3053:No)、そのIPパケットは廃棄される(S3056)。
NAT処理部250は、その受信したIPパケットの宛先IPアドレス(仮想IPアドレスV−VCR)を、その判明した実IPアドレスR−VCRに変換(置換)する(S3054)。そして、NAT処理部は、その変換後のIPパケットを実家ネットに送信する(S3055)。
以上のようにして、ゲートウェイGW−Bは、ホストvideo向けのIPパケットを中継する。
(ホストvideoによる送信処理)
図7に示すように、ホストvideoは、ホストmypc向けのIPパケット(応答パケット)として、送信元IPアドレスおよび宛先IPアドレスがそれぞれ、ホストvideoの実IPアドレスR−VCRおよび仮想IPアドレスV−PC(受信IPパケットの送信元IPアドレス)であるIPパケットを作成して送信する(S306)。
(ゲートウェイGW−Bによるアドレス変換処理および転送処理)
次に、ゲートウェイGW−Bによるアドレス変換処理(S307)について図7を参照しながら詳細に説明する。
ホストvideoからのIPパケットは必ずゲートウェイGW−Bを通過する。ゲートウェイGW−Bは、このIPパケットを受信する(S3070)。ゲートウェイGW−Bは、その受信したIPパケットの宛先IPアドレス(DA)がグローバルリストに存在するか否かを判定する(S3071)。その宛先IPアドレス(DA)がグローバルリストに存在しなければ(S3071:No)、そのIPパケットは廃棄される(S3072)。
一方、その宛先IPアドレス(DA)がグローバルリストに存在するのであれば(S3071:Yes)、その受信したIPパケットの宛先IPアドレス(ホストmypcの仮想IPアドレスV−PC)に対応する対向GW(トンネル番号)がグローバルリストから読み出されて、これが”A”として記憶される(S3072)。
次に、ローカルリストから、先ほど記憶された”A”とS1080で受信したIPパケットの送信元IPアドレス(videoの実IPアドレスR−VCR)に対応するエントリが検索される(S3073)。その結果、該当するエントリがローカルリストに存在しなければ(S3074:No)、そのIPパケットは廃棄される(S3072)。
一方、該当するエントリがローカルリストに存在するのであれば(S3074:Yes)、S3070で受信したIPパケットの送信元IPアドレス(videoの実IPアドレスR−VCR)を、そのエントリ中の仮想IPアドレス(すなわち、先ほど記憶された”A”とS3070で受信したIPパケットの送信元IPアドレス(videoの実IPアドレスR−VCR)に対応する仮想IPアドレスV−VCR)に変換(置換)する(S3075)。この変換後のIPパケットはトンネル”A”を介して送信される(S3076)。
以上のようにして、ホストvideoはホストmypc向けのIPパケットを送信し、ゲートウェイGW−Bは、そのホストmypc向けのIPパケットについてアドレス変換し、その変換後のIPパケットを中継する。
(ゲートウェイGW−Aによるアドレス変換処理および転送処理)
次に、ゲートウェイGW−Aの受信処理について説明する。
ゲートウェイGW−Aは、S3076でゲートウェイGW−Bから中継されたホストmypc向けのIPパケットをパケット送受信部200により受信する。パケット送受信部200は、その受信したIPパケットの送信元アドレスV−VCRに対応する対向GWを、グループメンバーリスト管理部210に問い合わせる。グローバルリストには、仮想IPアドレスと対向GWとの対応関係が記述されている。従って、グループメンバーリスト管理部210は、グローバルリストを参照することにより、その受信したIPパケットの送信元アドレスV−VCRに対応する対向GWを知ることができる。
次に、グループメンバーリスト管理部210は、ローカルリストを参照する。ローカルリストには、ホストの実IPアドレスと対向GWと仮想IPアドレスとの対応関係が記述されている。従って、グループメンバーリスト管理部210は、ローカルリストを参照することにより、先ほど判明した対向GW(トンネル番号)とその受信したIPパケットの宛先IPアドレス(仮想IPアドレスV−PC)に対応する実IPアドレスR−PCを知ることができる。この判明した実IPアドレスR−PCはNAT処理部250に送られる。
NAT処理部250は、その受信したIPパケットの宛先IPアドレス(仮想IPアドレスV−PC)を、その判明した実IPアドレスR−PCに変換する(S308)。そして、NAT処理部250は、その変換後のIPパケットを自宅ネットに送信する(S309)。
以上のようにして、ゲートウェイGW−Aは、ホストPC向けのIPパケットを中継する。
(第三の実施形態)
次に、本発明の第三の実施形態であるゲートウェイ(GWまたはゲートウェイ装置ともいう)を包含するネットワークシステムについて図面を参照しながら説明する。
上記第二の実施形態ではゲートウェイ間でトンネル接続やグローバル・ローカルリストを作成するのはネットワーク管理者が手動で設定する必要があった。本実施形態では、これを自動化するための手段について図面を参照しながら説明する。ここでは、そのような手段として、ゲートウェイ間でこれらの設定情報を送受信するプロトコルを用いる例について説明する。図11は、このプロトコルによる処理のシーケンス図である。
以下、ゲートウェイGW−Bが主導で、ゲートウェイGW−Bに属するホストvideoとゲートウェイGW−Cに属するPDAという名前のホストとを含むグループg3を作成するためのプロトコルを考える。
1.(ゲートウェイ間の認証)
既存の認証方法(例えばIDとパスワードなどを利用する認証方法)を利用して、ゲートウェイ間でお互いが信頼できるGWかどうかを最初に認証する(S400)。ゲートウェイ間で認証することは一般には望ましい処理であるが、必要が無い場合には、このステップを省略することも可能である(オプション)。
2.次に、ゲートウェイGW−Bは、ゲートウェイGW−Cに属するホストを知らないとすると、これを知るために、ゲートウェイGW−Cに対してホストの一覧を要求する(もしくは何らかのキーワードでこれを検索する)(S401)。このステップも、仮にゲートウェイGW−Bがそのホストの名前を知っている場合には、省略可能である(オプション)。ゲートウェイGW−Bからの一覧要求を受けると、ゲートウェイGW−Cは、自己の配下にあるホストの一覧(PDAというホスト名を含む)を、要求元のゲートウェイGW−Bに応答する(S403)。
3.ゲートウェイGW−Bは、ゲートウェイGW−Cからのホスト一覧により、ゲートウェイGW−C配下にはPDAというホスト名を持つホストがあることを知る。このホストPDAと自己の配下にあるvideoとを含む新しいグループg3の作成は、ゲートウェイGW−Bで新しくvideoという名前のホストに対して、新しくグループg3のためのエントリを作成することで実現される。同時にゲートウェイGW−Bは、自己にとってグループg3に割り当てるのに都合の良い仮想ネットワークアドレスを自身で作成する。ここでは、10.22.0.0/24というネットワークを新規に作成する。
次に、この新しく作ったグループg3をゲートウェイGW−Cでも作成させるために、グループ登録要求をゲートウェイGW−Cに送信する(S404)。この要求を受け取ったゲートウェイGW−Cは、ACKをゲートウェイGW−Bに返す(S405)とともに、ローカルで都合の良いグループ名を選択し作成する。ここではg11というグループ名を割り当て、10.50.0.0/24というネットワークアドレスも同時に割り当てる。
なお、ここでは、ゲートウェイGW−BとGW−Cとは異なるグループ名を選択したが、両ゲートウェイ間で同じ名前を選択して作成してもよい。その場合、プロトコルは要求・応答を繰り返して互いで一意のグループ名を選択したり、互いが送信するメッセージの中に都合の良い名前の一覧を入れて、そこから選択することで実現することが考えられる。
4.ゲートウェイGW−Bはグループg3に属するホストとして名前videoを持つホストに対する仮想IPアドレスを割り当てるように、ゲートウェイGW−Cに対して要求する(S406)。ゲートウェイGW−Cは、グループg11用に作成したアドレス空間10.50.0.0上に、10.50.0.10というアドレスをPDA.g11用に割り当て、これをゲートウェイGW−Bに応答する(S407)。この応答を受け取ったゲートウェイGW−Bは、ローカルリストエントリに新しくvideo.g3という名前の10.50.0.10という仮想IPアドレスを作成する(図12参照)。
5.最後に、ゲートウェイGW−BはPDA.g3に対して、10.22.0.0/24のアドレス空間から10.22.0.3というアドレスを新たに割り当て、グローバルリストエントリに新しく追加し(図13参照)、これをゲートウェイGW−Cに仮想IPアドレスとして通知する(S408)。これを受信したゲートウェイGW−Cは、既存のローカルリストに対して新しくこのエントリを追加する。ゲートウェイGW−Cはこれを作成すると、AckメッセージをゲートウェイGW−Bに応答する(S409)。
なお、S400からS409までの手順は、一例である。例えば、手順4.と5.とは順序が入れ替わってもよい。また、上記の手順をひとつのメッセージで複数送信してもよい。また、トランスポート層としては既存のあらゆるプロトコルを流用することが可能である。HTTPやSIPを利用してもよい。また、メッセージフォーマットはXMLを利用してSOAPでカプセル化してこれらのトランスポートプロトコルで運ぶことが可能である。
また、トンネル接続に関してもこのプロトコルに含めることができ、ゲートウェイ間で認証が成立した後であれば、通信が始まる前の任意の時刻にトンネルを作成することができる。また、すでに実在するグループに対して、新たにホストをグループメンバとして追加する場合には、手順3.を省略する。また、この実現例では2対のゲートウェイ間での設定を示したが、特に2対に限ったわけではなく、任意のゲートウェイ間でこのプロトコルを動作させることにより、任意の数のゲートウェイ間でグループおよびそのメンバの設定を自動化させることが可能となる。
(第四の実施形態)
次に、本発明の第四の実施形態であるゲートウェイ(GWまたはゲートウェイ装置ともいう)を包含するネットワークシステムについて図面を参照しながら説明する。
本実施形態では、ゲートウェイGWに、IPによる通信機能が使えないデバイス(非IP端末)が接続されている。この非IP端末は、ゲートウェイGWからの何らかのテキスト形式またはバイナリ形式のコマンドの送受信で制御される機能を有する。
このような場合、仮想IPアドレスを割り当てるのと同様に、仮想的にゲートウェイGWにおいて仮想IPホストを作成し、これに仮想IPアドレスを割り当てるとともに、これが外部からのTCP/IP通信を終端することで、コマンドの送受信をTCP/IPネットワークを利用して実現可能となる。
例えば、telnetやHTTPなどの既存のプロトコルを利用して、遠隔のホストがコマンドを運び、ゲートウェイGWにおいてtelnet,HTTPを終端し、コマンド部分を抽出して、あらためて非IPホストに送信することで、遠隔のホストからはあたかもIPホストと通信しているような制御・通信が可能となる。
このような非IP端末の数だけ、ゲートウェイGWが仮想IPアドレスを割り当てればプライベートIPアドレスの数だけ非IP端末を収容でき、かつグループ化も全く同様に実現することが可能となる。
(第五の実施形態)
次に、本発明の第五の実施形態であるゲートウェイ(GWまたはゲートウェイ装置ともいう)を包含するネットワークシステムについて図面を参照しながら説明する。
通常、ローカルネットワークではDHCP(Dynamic Host Configuration Protocol)などのIPアドレス自動割当プロトコルが動作していることから、ホストに割り当てられるIPアドレスは同一とは限らない。このような環境においては、IPアドレスはIPホストの個体を識別するIDとしては不適当である。
本発明では通信先のIPアドレスは仮想的なアドレスであり実IPアドレスが隠蔽されている。これは、ローカルリストにおいて実アドレスと仮想IPアドレスがマッピングされていることにより実現されている。このことから、たとえ実アドレスが変化しても個体と仮想IPアドレスとのマッピングさえ維持できるのであれば、このようなDHCPなどによる実IPアドレス変化の影響を受けることがなくなる。
例えば、ゲートウェイGWにおいてMACアドレスによる個体識別を利用すると、個体と仮想IPアドレスとのマッピングを実IPアドレスに関わらず維持することができる。これは、ゲートウェイGWにおけるローカルリストのエントリにMACアドレスのフィールドを追加することで実現できる(図14参照)。このようにすれば、実アドレスが変化しても、ローカルリストでは常にMACアドレスを見て個体を識別するようにすれば、上記の効果が得られる。
例えば、videoという名前の個体はMACアドレスaa:bb:cc:dd:ee:ffによって一意に識別することが可能である。これはゲートウェイGWとvideoとの通信時にEtherを使っていればARP応答などでこの値を取得して、ローカルリストに入力すれば実現できる。
例え、DHCPを利用していたり、IPアドレス割り当てが変化して実アドレスが変化しても、MACアドレスは不変であるため、この値を元にこのテーブルの値を管理維持すればよい。
(第六の実施形態)
次に、本発明の第六の実施形態であるゲートウェイ(GWまたはゲートウェイ装置ともいう)を包含するネットワークシステムについて図面を参照しながら説明する。
全く異なるネットワークに属するホストから仮想グループが構成されるときは、名前と仮想IPアドレス、および仮想IPアドレスと実アドレスの対応にパターンはない。しかしながら、例えばサブネットに属するホスト全てを仮想グループとして構成する場合には、変換にはルールがあることから、大幅にエントリ数を削減することが可能である。
ここでは、DNS名の管理をゲートウェイでは行わず、DNSリレーなどの既存手法を利用して、一元的に管理するシステムに問い合わせる。ゲートウェイGWには問い合わせるDNSサーバのアドレスを予め与えておく。次に、グローバルリストにはドメイン名から実アドレスの変換パターン、および実アドレスから仮想IPアドレスへの変換パターンが記載されている(図15参照)。
この表中の”*”は任意の値を意味し、それにマッチするデータをそのまま利用することを意味する。例えば、video.d1のIPアドレスをDNSサーバに問い合わせたとして、その応答が192.168.0.17であったとすると、グローバルリストの1番目にヒットし、そのときの仮想IPアドレスは10.20.20.17に変換されることを意味している。
このようなリストを持つことにより、連続したアドレス空間をリストに登録する場合には、リストを検索するための処理時間・およびリストを構成するためのリソースを大幅に削減することが可能になる。
(第七の実施形態)
次に、本発明の第七の実施形態であるゲートウェイ(GWまたはゲートウェイ装置ともいう)を包含するネットワークシステムについて図面を参照しながら説明する。
ゲートウェイは仮想的にあるグループが仮想的に同じサブネットに存在するようにホストに教えることが可能である。これまでの例ではグループにアクセスするときは必ずゲートウェイを通過するようにホストからは見えた。本実施形態によれば、EtherのL2レベルで同じサブネットに属するように見せかけることができる。
今、g1というグループのホストが2つ存在し、それぞれ実際には異なる遠隔のゲートウェイに属しているとして、ゲートウェイGW−Bにおいて、同じローカルサブネットである192.168.0.0/24というネットワークに存在するvideoといホストに対して、同じサブネットに属するように通信させる場合を考える。
これまでの実施形態で利用したグローバルリストに対して、新たに仮想レイヤ2アドレスのフィールドを追加し、他のホストと同一にならないようにレイヤ2アドレスをmypc,camに対してそれぞれa1:b1:c1:d1:e1:f1、a2:b2:c2:d2:e2:f2を割り当てたとする(図16参照)。また、これまでと同様に仮想IPアドレスを割り当てるが、ここではホストvideoと同じサブネットアドレスを割り当てる。
図17に示すように、camからmypcに対してIPパケットの送信を始める前に、ARPのリクエストが送信される(S500)が、これに対してゲートウェイGW−Bがmypcに代わって仮想的にmypcであるかのように、ARPリクエストに対してアドレスa1:b1:c1:d1:e1:f1で応答する(S501)。このとき、図16に示すグローバルリストが参照される。これによって、camはmypcのレイヤ2アドレスを把握したため、実際にはゲートウェイGW−Bに対してIPパケットをL2レイヤで送信を開始する(S502)。
ゲートウェイGW−BはL2パケットを受信するとグローバルリストを参照し、宛先a1:b1:c1:d1:e1:f1宛のL2パケットは仮想的にゲートウェイGW−Aにおいてmypcとして存在することが認識されるためこれを終端できる。以降はこれまでと同様の処理で、ゲートウェイGW−A宛にIPパケットを転送する(S503)。ゲートウェイGW−Aは、上記実施形態と同用意、そのIPパケットを受信してアドレス変換を行い、この変換後のIPパケットを自己の配下のmypcに対して転送する(S504)。
また、ゲートウェイGW−Bからcam宛にmypcからのパケットを送信時するときは、これまでの実施形態と同様にアドレス変換を終え、最終的にローカルネットワークに送信するときに、送信元レイヤ2アドレスとしてa1:b1:c1:d1:e1:f1を付けて、L2ネットワーク上のmypcに対してL2パケットを送信する。
以上の結果、任意のホストを仮想的に同一のサブネットに属するポストとして通信させる機能をゲートウェイが提供することが可能になる。
(変形例)
上記実施形態においては、IPアドレスはIPv4によるアドレスであると説明したが、本発明はこれに限定されない。例えば、IPv6によるアドレスを用いることも可能である。この場合は、IPv4のプライベートアドレスの代わりに、IPv6のサイトローカルアドレスを利用することで実現可能であある。例えば、上記実施形態の「プライベート(アドレス)」を「サイトローカル(アドレス)」と読みかえれば、処理手順や処理方法は全く同一であり、本発明の実施に当たりIPv4とIPv6の違いを考慮する必要はない。なお、グローバルアドレスはIPv4とIPv6とも同じ意味を持つ。
本発明は、その精神または主要な特徴から逸脱することなく、他の様々な形で実施することができる。このため、上記の実施形態は、あらゆる点で単なる例示にすぎず、限定的に解釈されるものではない。
本発明によれば、通信・計算資源に乏しいホスト(例えば、携帯電話、PDA(Personal Digital Assistance)などの携帯端末、クーラ、洗濯機、ビデオなどのネットワーク家電)の処理負荷を増大させることなく、グループ内に閉じた通信を実現することが可能となる。
Claims (15)
- グローバルアドレスを持つIPホストで構成されたIPネットワークにおいて、任意のホストを選択してグループ化し、グループ内に閉じた通信を実現するために、ローカルネットワークとグローバルネットワークの境界に位置するパケット中継装置であって、
グループに属するホストを管理するために、IPアドレスとグループを管理するためのホスト名から構成されるリストと、
このリストを元にグループメンバであるホストとグループ外のホストを識別しグループ外のホストからの通信を遮断する手段と、
を備えるパケット中継装置。 - グローバルアドレスとプライベートアドレスを相互に変換する変換装置をさらに備える請求項1に記載のパケット中継装置。
- 任意のホストには仮想的なIPサブネットに対する仮想的なプライベートアドレスが割り付けられる請求項2に記載のパケット中継装置。
- 他のパケット中継装置との間の通信を暗号化する手段をさらに備える請求項2または3に記載のパケット中継装置。
- 所定のトンネルプロトコルにより、他のパケット中継装置との間のトンネル設定を自動化する手段をさらに備える請求項2から4のいずれかに記載のパケット中継装置。
- 仮想グループ設定プロトコルにより、他のパケット中継装置との間におけるグループ設定を自動化する手段をさらに備える請求項2から5のいずれかに記載のパケット中継装置。
- 仮想グループ設定プロトコルにより、他のパケット中継装置との間におけるグループに属するメンバ設定を自動化する手段をさらに備える請求項2から6のいずれかに記載のパケット中継装置。
- 他のパケット中継装置との間で認証することにより、互いが信頼できるものであるか無いかを確認する手段をさらに備える請求項5から7のいずれかに記載のパケット中継装置。
- パケット中継装置とホストは、他のホストと接続されずに、直接接続される請求項2または3に記載のパケット中継装置。
- 非IP端末を仮想的にIPホストとしてグループに存在するように他のホストから見せかける仮想IPホストを構築する請求項3に記載のパケット中継装置。
- ホストのレイヤ2アドレスをホスト固有の識別子としてマシンと一対一に対応させる請求項3に記載のパケット中継装置。
- グループに属するホストの代理で仮想のレイヤ2アドレスを用いてARPに応答し、グループ内の通信をローカルサブネットレベルで実現する請求項3に記載のパケット中継装置。
- ゲートウェイで名前解決を行わず、DNSサーバで一元的に名前を解決し、かつ実アドレスと仮想的なプライベートアドレスの変換をパターンで記述する請求項1から3のいずれかに記載のパケット中継装置。
- ネットワーク間に設けられ、特定のグループに属するホストに関するIPパケットを通過させるIPパケット中継装置であって、
ホストが持つIPアドレスとそのホストが属するグループを識別するためのグループ識別子とを対応付けたリストと、
一方のネットワークから到着した他方のネットワークに接続されたホスト宛のIPパケットが同一のグループに関するIPパケットか否かを、前記リストを参照することにより判定する判定手段と、
同一のグループに関するIPパケットであると判定されたIPパケットを、前記他方のネットワークに中継するフォワード手段と、
を備えるIPパケット中継装置。 - 前記判定手段は、前記リストを参照することにより、前記一方のネットワークから到着したIPパケットの送信元アドレスおよび宛先アドレスに対応するグループが同一である場合に、該IPパケットが同一のグループに関するIPパケットであると判定する請求項14に記載のIPパケット中継装置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2003/011623 WO2005027438A1 (ja) | 2003-09-11 | 2003-09-11 | パケット中継装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2005027438A1 true JPWO2005027438A1 (ja) | 2006-11-24 |
Family
ID=34308211
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005508916A Pending JPWO2005027438A1 (ja) | 2003-09-11 | 2003-09-11 | パケット中継装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20070081530A1 (ja) |
EP (1) | EP1667382A4 (ja) |
JP (1) | JPWO2005027438A1 (ja) |
CN (1) | CN1839592A (ja) |
WO (1) | WO2005027438A1 (ja) |
Families Citing this family (108)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1758649B (zh) * | 2004-10-05 | 2010-04-28 | 华为技术有限公司 | 版本不同的网间互联协议网络互通的方法 |
US20060140190A1 (en) * | 2004-12-23 | 2006-06-29 | Alcatel | Method and apparatus for configuring a communication path |
JP4722615B2 (ja) * | 2005-08-10 | 2011-07-13 | パナソニックシステムネットワークス株式会社 | 通信方法及び通信装置 |
JP4712481B2 (ja) * | 2005-08-10 | 2011-06-29 | パナソニックシステムネットワークス株式会社 | 通信方法および装置 |
US7930346B2 (en) * | 2005-08-24 | 2011-04-19 | Microsoft Corporation | Security in peer to peer synchronization applications |
US7539216B2 (en) * | 2005-11-16 | 2009-05-26 | Cable Television Laboratories, Inc. | Method and system of determining last hop device addresses |
JP4580865B2 (ja) * | 2005-11-30 | 2010-11-17 | 株式会社東芝 | 電話システム及びこの電話システムのチャネル捕捉方法 |
US20070233844A1 (en) * | 2006-03-29 | 2007-10-04 | Murata Kikai Kabushiki Kaisha | Relay device and communication system |
US20090059848A1 (en) * | 2006-07-14 | 2009-03-05 | Amit Khetawat | Method and System for Supporting Large Number of Data Paths in an Integrated Communication System |
JP4222397B2 (ja) | 2006-09-12 | 2009-02-12 | 村田機械株式会社 | 中継サーバ |
US8249081B2 (en) * | 2006-09-29 | 2012-08-21 | Array Networks, Inc. | Dynamic virtual private network (VPN) resource provisioning using a dynamic host configuration protocol (DHCP) server, a domain name system (DNS) and/or static IP assignment |
JP4629639B2 (ja) * | 2006-09-29 | 2011-02-09 | 富士通株式会社 | パケット中継装置 |
EP1926285B1 (en) * | 2006-10-11 | 2011-07-13 | Murata Machinery, Ltd. | Relay server |
TW200822633A (en) * | 2006-11-03 | 2008-05-16 | Hon Hai Prec Ind Co Ltd | Network device and packet forwarding method thereof |
US7852861B2 (en) * | 2006-12-14 | 2010-12-14 | Array Networks, Inc. | Dynamic system and method for virtual private network (VPN) application level content routing using dual-proxy method |
US7840701B2 (en) * | 2007-02-21 | 2010-11-23 | Array Networks, Inc. | Dynamic system and method for virtual private network (VPN) packet level routing using dual-NAT method |
US8953486B2 (en) * | 2007-11-09 | 2015-02-10 | Cisco Technology, Inc. | Global auto-configuration of network devices connected to multipoint virtual connections |
US8667095B2 (en) * | 2007-11-09 | 2014-03-04 | Cisco Technology, Inc. | Local auto-configuration of network devices connected to multipoint virtual connections |
JP5025449B2 (ja) * | 2007-12-21 | 2012-09-12 | 三菱電機株式会社 | 中継通信システム |
KR101499551B1 (ko) * | 2008-03-31 | 2015-03-18 | 삼성전자주식회사 | 원격 접속을 고려하여 네트워크 주소 충돌을 해결하는 UPnP 장치 및 그 방법 |
EA201170290A1 (ru) * | 2008-07-31 | 2011-08-30 | Джама Текнолоджи Корп. | Система для удаленного управления и поддержки множества сетей и систем |
JP5012738B2 (ja) * | 2008-09-04 | 2012-08-29 | 村田機械株式会社 | 中継サーバ、中継通信システム |
US20110040858A1 (en) * | 2009-08-13 | 2011-02-17 | Qualcomm Incorporated | Location determination during network address lookup |
US20110110377A1 (en) * | 2009-11-06 | 2011-05-12 | Microsoft Corporation | Employing Overlays for Securing Connections Across Networks |
US9386097B2 (en) * | 2010-04-23 | 2016-07-05 | Cisco Technology, Inc. | Using values represented as internet protocol (IP) addresses to access resources in a non-internet protocol address space |
US9769016B2 (en) | 2010-06-07 | 2017-09-19 | Brocade Communications Systems, Inc. | Advanced link tracking for virtual cluster switching |
US8867552B2 (en) | 2010-05-03 | 2014-10-21 | Brocade Communications Systems, Inc. | Virtual cluster switching |
US9716672B2 (en) | 2010-05-28 | 2017-07-25 | Brocade Communications Systems, Inc. | Distributed configuration management for virtual cluster switching |
US9270486B2 (en) | 2010-06-07 | 2016-02-23 | Brocade Communications Systems, Inc. | Name services for virtual cluster switching |
US9806906B2 (en) | 2010-06-08 | 2017-10-31 | Brocade Communications Systems, Inc. | Flooding packets on a per-virtual-network basis |
US9608833B2 (en) | 2010-06-08 | 2017-03-28 | Brocade Communications Systems, Inc. | Supporting multiple multicast trees in trill networks |
US9628293B2 (en) | 2010-06-08 | 2017-04-18 | Brocade Communications Systems, Inc. | Network layer multicasting in trill networks |
US9807031B2 (en) | 2010-07-16 | 2017-10-31 | Brocade Communications Systems, Inc. | System and method for network configuration |
US9143480B2 (en) * | 2011-01-10 | 2015-09-22 | Secure Global Solutions, Llc | Encrypted VPN connection |
JP5589866B2 (ja) * | 2011-01-24 | 2014-09-17 | 富士通株式会社 | アドレス変換方法、アドレス変換代理応答方法、アドレス変換装置及びアドレス変換代理応答装置 |
US9736085B2 (en) | 2011-08-29 | 2017-08-15 | Brocade Communications Systems, Inc. | End-to end lossless Ethernet in Ethernet fabric |
US9699117B2 (en) | 2011-11-08 | 2017-07-04 | Brocade Communications Systems, Inc. | Integrated fibre channel support in an ethernet fabric switch |
US9450870B2 (en) | 2011-11-10 | 2016-09-20 | Brocade Communications Systems, Inc. | System and method for flow management in software-defined networks |
JP5874356B2 (ja) * | 2011-11-30 | 2016-03-02 | 村田機械株式会社 | 中継サーバ及び中継通信システム |
JP5874354B2 (ja) * | 2011-11-30 | 2016-03-02 | 村田機械株式会社 | 中継サーバ及び中継通信システム |
US9742693B2 (en) | 2012-02-27 | 2017-08-22 | Brocade Communications Systems, Inc. | Dynamic service insertion in a fabric switch |
US9154416B2 (en) | 2012-03-22 | 2015-10-06 | Brocade Communications Systems, Inc. | Overlay tunnel in a fabric switch |
US9020888B1 (en) | 2012-04-04 | 2015-04-28 | Nectar Services Corp. | Data replicating systems and data replication methods |
US10277464B2 (en) | 2012-05-22 | 2019-04-30 | Arris Enterprises Llc | Client auto-configuration in a multi-switch link aggregation |
EP2853066B1 (en) * | 2012-05-23 | 2017-02-22 | Brocade Communications Systems, Inc. | Layer-3 overlay gateways |
WO2013191461A1 (ko) * | 2012-06-19 | 2013-12-27 | 엘지전자 주식회사 | 복수의 무선접속 기술을 지원 가능한 단말이 위치 갱신을 수행하는 방법 |
US9008095B2 (en) * | 2012-10-02 | 2015-04-14 | Cisco Technology, Inc. | System and method for hardware-based learning of internet protocol addresses in a network environment |
US9246998B2 (en) * | 2012-10-16 | 2016-01-26 | Microsoft Technology Licensing, Llc | Load balancer bypass |
US8948181B2 (en) | 2012-10-23 | 2015-02-03 | Cisco Technology, Inc. | System and method for optimizing next-hop table space in a dual-homed network environment |
US9401872B2 (en) | 2012-11-16 | 2016-07-26 | Brocade Communications Systems, Inc. | Virtual link aggregations across multiple fabric switches |
US9253140B2 (en) | 2012-11-20 | 2016-02-02 | Cisco Technology, Inc. | System and method for optimizing within subnet communication in a network environment |
US9413691B2 (en) | 2013-01-11 | 2016-08-09 | Brocade Communications Systems, Inc. | MAC address synchronization in a fabric switch |
US9548926B2 (en) | 2013-01-11 | 2017-01-17 | Brocade Communications Systems, Inc. | Multicast traffic load balancing over virtual link aggregation |
US9565099B2 (en) | 2013-03-01 | 2017-02-07 | Brocade Communications Systems, Inc. | Spanning tree in fabric switches |
WO2014145750A1 (en) | 2013-03-15 | 2014-09-18 | Brocade Communications Systems, Inc. | Scalable gateways for a fabric switch |
US9912612B2 (en) | 2013-10-28 | 2018-03-06 | Brocade Communications Systems LLC | Extended ethernet fabric switches |
JP2015095698A (ja) * | 2013-11-11 | 2015-05-18 | セイコーエプソン株式会社 | 通信制御サーバーおよびサービス提供システム |
KR102013862B1 (ko) * | 2014-01-13 | 2019-08-23 | 한국전자통신연구원 | 네트워크 연속성 보장 방법 및 장치 |
US10017195B2 (en) * | 2014-01-27 | 2018-07-10 | Mitsubishi Electric Corporation | Communication device, train network system, and network setting method |
US9548873B2 (en) | 2014-02-10 | 2017-01-17 | Brocade Communications Systems, Inc. | Virtual extensible LAN tunnel keepalives |
US10581758B2 (en) | 2014-03-19 | 2020-03-03 | Avago Technologies International Sales Pte. Limited | Distributed hot standby links for vLAG |
US10476698B2 (en) | 2014-03-20 | 2019-11-12 | Avago Technologies International Sales Pte. Limited | Redundent virtual link aggregation group |
JP6368127B2 (ja) * | 2014-04-09 | 2018-08-01 | キヤノン株式会社 | 通信装置、制御方法、及びプログラム |
US10063473B2 (en) | 2014-04-30 | 2018-08-28 | Brocade Communications Systems LLC | Method and system for facilitating switch virtualization in a network of interconnected switches |
US9800471B2 (en) | 2014-05-13 | 2017-10-24 | Brocade Communications Systems, Inc. | Network extension groups of global VLANs in a fabric switch |
US10616108B2 (en) | 2014-07-29 | 2020-04-07 | Avago Technologies International Sales Pte. Limited | Scalable MAC address virtualization |
WO2016019183A1 (en) | 2014-07-30 | 2016-02-04 | Tempered Networks, Inc. | Performing actions via devices that establish a secure, private network |
US9807007B2 (en) | 2014-08-11 | 2017-10-31 | Brocade Communications Systems, Inc. | Progressive MAC address learning |
US9699029B2 (en) | 2014-10-10 | 2017-07-04 | Brocade Communications Systems, Inc. | Distributed configuration management in a switch group |
CN104243632A (zh) * | 2014-10-13 | 2014-12-24 | 三星电子(中国)研发中心 | 使非ip设备接入虚拟ip网络的方法和系统 |
US9626255B2 (en) | 2014-12-31 | 2017-04-18 | Brocade Communications Systems, Inc. | Online restoration of a switch snapshot |
US9628407B2 (en) | 2014-12-31 | 2017-04-18 | Brocade Communications Systems, Inc. | Multiple software versions in a switch group |
US10003552B2 (en) | 2015-01-05 | 2018-06-19 | Brocade Communications Systems, Llc. | Distributed bidirectional forwarding detection protocol (D-BFD) for cluster of interconnected switches |
US9942097B2 (en) | 2015-01-05 | 2018-04-10 | Brocade Communications Systems LLC | Power management in a network of interconnected switches |
US9667538B2 (en) | 2015-01-30 | 2017-05-30 | Telefonaktiebolget L M Ericsson (Publ) | Method and apparatus for connecting a gateway router to a set of scalable virtual IP network appliances in overlay networks |
US9807005B2 (en) | 2015-03-17 | 2017-10-31 | Brocade Communications Systems, Inc. | Multi-fabric manager |
US10038592B2 (en) | 2015-03-17 | 2018-07-31 | Brocade Communications Systems LLC | Identifier assignment to a new switch in a switch group |
JP6378121B2 (ja) * | 2015-03-20 | 2018-08-22 | 株式会社Nttドコモ | ゲートウェイ装置及び通信方法 |
US10579406B2 (en) | 2015-04-08 | 2020-03-03 | Avago Technologies International Sales Pte. Limited | Dynamic orchestration of overlay tunnels |
US10439929B2 (en) | 2015-07-31 | 2019-10-08 | Avago Technologies International Sales Pte. Limited | Graceful recovery of a multicast-enabled switch |
US10171303B2 (en) | 2015-09-16 | 2019-01-01 | Avago Technologies International Sales Pte. Limited | IP-based interconnection of switches with a logical chassis |
US9912614B2 (en) | 2015-12-07 | 2018-03-06 | Brocade Communications Systems LLC | Interconnection of switches based on hierarchical overlay tunneling |
KR101821794B1 (ko) * | 2015-12-23 | 2018-03-08 | 주식회사 케이티 | 보안 ip 통신 서비스를 제공하기 위한 장치, 방법 및 통신 시스템 |
WO2017111404A1 (ko) * | 2015-12-23 | 2017-06-29 | 주식회사 케이티 | 보안 ip 통신 서비스를 제공하기 위한 장치, 방법 및 통신 시스템 |
US9729581B1 (en) | 2016-07-01 | 2017-08-08 | Tempered Networks, Inc. | Horizontal switch scalability via load balancing |
JP6790622B2 (ja) * | 2016-09-08 | 2020-11-25 | 富士ゼロックス株式会社 | 情報処理装置及びプログラム |
US10237090B2 (en) | 2016-10-28 | 2019-03-19 | Avago Technologies International Sales Pte. Limited | Rule-based network identifier mapping |
WO2018101452A1 (ja) * | 2016-11-30 | 2018-06-07 | 株式会社Lte-X | 通信方法および中継装置 |
WO2018116435A1 (ja) * | 2016-12-22 | 2018-06-28 | 三菱電機株式会社 | 中継装置、表示装置、接続情報送信方法、およびネットワーク構成表示方法 |
JP6666863B2 (ja) * | 2017-01-31 | 2020-03-18 | 日本電信電話株式会社 | 仮想閉域網の形成システム及び方法並びにプログラム |
JP6986354B2 (ja) * | 2017-02-24 | 2021-12-22 | 株式会社ソラコム | 通信システム及び通信方法 |
JP7321235B2 (ja) * | 2017-02-24 | 2023-08-04 | 株式会社ソラコム | 通信システム及び通信方法 |
JP6446494B2 (ja) * | 2017-03-23 | 2018-12-26 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | エッジノード装置、リソース制御方法、及びプログラム |
JP6640800B2 (ja) * | 2017-08-04 | 2020-02-05 | Necプラットフォームズ株式会社 | ネットワーク装置、ネットワークシステム、ネットワーク接続方法及びネットワーク接続プログラム |
US11218485B1 (en) * | 2017-12-12 | 2022-01-04 | Berryville Holdings, LLC | Systems and methods for providing transparent simultaneous access to multiple secure enclaves |
US10069726B1 (en) | 2018-03-16 | 2018-09-04 | Tempered Networks, Inc. | Overlay network identity-based relay |
US10116539B1 (en) | 2018-05-23 | 2018-10-30 | Tempered Networks, Inc. | Multi-link network gateway with monitoring and dynamic failover |
US10158545B1 (en) | 2018-05-31 | 2018-12-18 | Tempered Networks, Inc. | Monitoring overlay networks |
WO2020061853A1 (en) * | 2018-09-26 | 2020-04-02 | Siemens Aktiengesellschaft | Web-architecture based on client-controlled cap configuration |
JP7361309B2 (ja) * | 2020-01-31 | 2023-10-16 | パナソニックIpマネジメント株式会社 | 無線通信装置、無線通信方法及び無線通信システム |
DE102020203031B3 (de) * | 2020-03-10 | 2021-06-02 | BSH Hausgeräte GmbH | Vorrichtung und Verfahren zur Steuerung des Zugriffs auf ein Elektrogerät |
US10911418B1 (en) | 2020-06-26 | 2021-02-02 | Tempered Networks, Inc. | Port level policy isolation in overlay networks |
US11070594B1 (en) | 2020-10-16 | 2021-07-20 | Tempered Networks, Inc. | Applying overlay network policy based on users |
US10999154B1 (en) | 2020-10-23 | 2021-05-04 | Tempered Networks, Inc. | Relay node management for overlay networks |
US12034707B2 (en) | 2021-11-18 | 2024-07-09 | Cisco Technology, Inc. | Randomizing server-side addresses |
US11683286B2 (en) * | 2021-11-18 | 2023-06-20 | Cisco Technology, Inc. | Anonymizing server-side addresses |
US11601395B1 (en) * | 2021-12-22 | 2023-03-07 | Uab 360 It | Updating parameters in a mesh network |
US11799830B2 (en) | 2021-12-29 | 2023-10-24 | Uab 360 It | Access control in a mesh network |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5550816A (en) * | 1994-12-29 | 1996-08-27 | Storage Technology Corporation | Method and apparatus for virtual switching |
JP3514279B2 (ja) * | 1997-02-21 | 2004-03-31 | 日本電信電話株式会社 | 相手選択型アドレス解決方法及びその装置 |
US6167052A (en) * | 1998-04-27 | 2000-12-26 | Vpnx.Com, Inc. | Establishing connectivity in networks |
JPH11331254A (ja) * | 1998-05-18 | 1999-11-30 | Nippon Telegr & Teleph Corp <Ntt> | グループ通信装置 |
JP2000059357A (ja) * | 1998-08-07 | 2000-02-25 | Nippon Telegr & Teleph Corp <Ntt> | 閉域グループ通信システム,管理サーバ装置および通信端末,ならびにそれらのプログラム記憶媒体 |
JP2001333099A (ja) * | 2000-05-23 | 2001-11-30 | Mitsubishi Electric Corp | 閉域通信管理装置、閉域通信システムおよびその管理方法 |
US20020186698A1 (en) * | 2001-06-12 | 2002-12-12 | Glen Ceniza | System to map remote lan hosts to local IP addresses |
KR100485801B1 (ko) * | 2002-03-07 | 2005-04-28 | 삼성전자주식회사 | 서로 다른 사설망에 존재하는 네트워크장치들 간의직접접속을 제공하는 망접속장치 및 방법 |
KR100474485B1 (ko) * | 2002-03-11 | 2005-03-09 | 삼성전자주식회사 | 홈네트워크내의 독립망기기 제어장치 및 방법 |
WO2004107683A1 (ja) * | 2003-05-29 | 2004-12-09 | Nec Corporation | パケット中継装置及びパケット中継方法並びにプログラム |
US7483374B2 (en) * | 2003-08-05 | 2009-01-27 | Scalent Systems, Inc. | Method and apparatus for achieving dynamic capacity and high availability in multi-stage data networks using adaptive flow-based routing |
-
2003
- 2003-09-11 CN CNA038270587A patent/CN1839592A/zh active Pending
- 2003-09-11 EP EP03818656A patent/EP1667382A4/en not_active Withdrawn
- 2003-09-11 WO PCT/JP2003/011623 patent/WO2005027438A1/ja active Application Filing
- 2003-09-11 US US10/571,577 patent/US20070081530A1/en not_active Abandoned
- 2003-09-11 JP JP2005508916A patent/JPWO2005027438A1/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
EP1667382A4 (en) | 2006-10-04 |
WO2005027438A1 (ja) | 2005-03-24 |
US20070081530A1 (en) | 2007-04-12 |
EP1667382A1 (en) | 2006-06-07 |
CN1839592A (zh) | 2006-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPWO2005027438A1 (ja) | パケット中継装置 | |
US8295285B2 (en) | Method and apparatus for communication of data packets between local networks | |
Atkinson et al. | Identifier-locator network protocol (ILNP) architectural description | |
JP5456683B2 (ja) | 仮想ipアドレスを割り当てるための中央ステーションのための種々の方法および装置 | |
JP3965160B2 (ja) | 相異なる私設網に位置したネットワーク装置間の通信を支援するネットワーク接続装置 | |
JP5368459B2 (ja) | ユーザ装置における三重動作サービスのサポート | |
JP5214402B2 (ja) | パケット転送装置、パケット転送方法、パケット転送プログラム及び通信装置 | |
JP2006524974A5 (ja) | ||
WO2011032472A1 (zh) | 虚拟专用网络的实现方法及系统 | |
JP5323674B2 (ja) | DNS(DomainNameSystem)登録装置、VPN(VirtualPrivateNetwork)間接続管理システム、広域DNS装置、DNS登録プログラム、広域DNSプログラム、DNS登録方法、及びVPN間接続管理方法 | |
US20050265354A1 (en) | Method and apparatus for enabling link local address system to communicate with outer system | |
US11621917B2 (en) | Transparent multiplexing of IP endpoints | |
WO2011035528A1 (zh) | 用于通过中继方式进行nat穿越的方法、系统和中继服务器 | |
US20060268863A1 (en) | Transparent address translation methods | |
WO2012088882A1 (zh) | 一种数据传输方法、系统及接入网关 | |
JP3858884B2 (ja) | ネットワークアクセスゲートウェイ及びネットワークアクセスゲートウェイの制御方法並びにプログラム | |
JP2009010606A (ja) | トンネル接続システム、トンネル管理サーバ、トンネル接続装置、及びトンネル接続方法 | |
KR100964860B1 (ko) | 주소 매핑 장치 및 방법 | |
JP4292897B2 (ja) | 中継装置とポートフォワード設定方法 | |
JP5350333B2 (ja) | パケット中継装置及びネットワークシステム | |
JP4191180B2 (ja) | 通信支援装置、システム、通信方法及びコンピュータプログラム | |
JP4615435B2 (ja) | ネットワーク中継装置 | |
WO2012075768A1 (zh) | 身份位置分离网络的监听方法和系统 | |
KR20040007389A (ko) | 아이피 버전 6 주소 사용 시스템 및 방법 | |
JP2004254203A (ja) | ゲートウェイ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080819 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081016 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20081111 |