(57)【特許請求の範囲】
【請求項１】
同一のグループに属する端末装置間で送受信される、グループメンバ間通信のためのＩＰパケットの伝送ルート上に配置されるパケット中継装置であって、
ＩＰアドレスと夫々異なる、ＩＰパケットの宛先に応じた宛先識別番号及び内部管理番号を記憶した記憶部であって、宛先識別番号に対応する内部管理番号が格納された第１テーブルと、前記内部管理番号に対応するＩＰパケットのルーティング情報を格納した第２テーブルとを記憶した記憶部と、
パケットの受信部と、
前記伝送ルート上に配置された前ホップのパケット中継装置から暗号化されている前記ＩＰパケットが前記受信部で受信された場合に、受信されたＩＰパケットを復号化する復号部と、
前記ＩＰパケットに付与されている宛先識別番号に対応する内部管理番号を前記第１テーブルから検索する検索部と、
前記内部管理番号に対応するルーティング情報を前記第２テーブルから検索し、検索されたルーティング情報に含まれる新たな宛先識別番号を前記ＩＰパケットに付与する転送制御部と、
新たな宛先識別番号が設定された前記ＩＰパケットを暗号化する暗号化部と、
暗号化された前記ＩＰパケットを前記ルーティング情報に基づいて前記伝送ルート上に配置された次ホップのパケット中継装置へ転送する送信部と
を含むパケット中継装置。
【請求項２】
前記記憶部は、前記グループメンバ間通信に適用される、端末装置の実ＩＰアドレスと異なる仮想ＩＰアドレスであって、前記グループメンバ間通信で宛先となる端末装置の仮想ＩＰアドレスに対応する前記内部管理番号を格納した第３テーブルを記憶しており、
前記受信部が前記パケット中継装置の配下の端末装置から、宛先ＩＰアドレスとして仮想ＩＰアドレスが設定されたＩＰパケットを受信した場合に、前記転送制御部は、前記第３テーブルから検索される、前記ＩＰパケットの宛先ＩＰアドレスに応じた内部管理番号に対応するルーティング情報を前記第２テーブルから検索し、検索されたルーティング情報に含まれる宛先識別番号を前記ＩＰパケットに付与し、
前記暗号化部は、宛先識別番号が付与された前記ＩＰパケットを暗号化し、
前記送信部は、前記検索されたルーティング情報に基づいて前記次ホップのパケット中継装置へ暗号化された前記ＩＰパケットを転送する
請求項１に記載のパケット中継装置。
【請求項３】
前記第１テーブルは、前記受信部で受信されるＩＰパケットを前記パケット中継装置の配下の端末装置へ転送することを示す転送情報を前記宛先識別番号と関連づけて格納しており、
前記検索部が前記第１テーブルから前記転送情報を検索した場合に、前記転送制御部は、前記配下の端末装置へ転送すべきＩＰパケットに対し、送信元ＩＰアドレスとして送信元の端末装置の仮想ＩＰアドレスを設定し、宛先ＩＰアドレスとして前記配下の端末装置の実ＩＰアドレスを設定し、前記ＩＰパケットに設定されている宛先識別番号を削除し、
宛先識別番号が削除された前記ＩＰパケットが、前記配下の端末装置へ転送される
請求項２記載のパケット中継装置。
【請求項４】
前記配下の端末装置へ転送すべきＩＰパケットが、このＩＰパケットの送信元を宛先とする逆方向のＩＰパケットに対して設定すべき宛先識別番号としての折り返し宛先識別番号を含み、
前記検索部が前記第１テーブルから前記転送情報を検索した場合に、前記転送制御部は、少なくとも当該ＩＰパケットの入力ポート値と前記折り返し宛先識別番号とを用いて生成される仮想ＩＰアドレスを前記送信元の端末装置の仮想ＩＰアドレスとして当該ＩＰパケットに設定し、
その後、前記配下の端末装置を送信元とする前記逆方向のＩＰパケットが受信された場合に、前記転送制御部は、この逆方向のＩＰパケットにて宛先ＩＰアドレスとして設定されている仮想ＩＰアドレスから、前記折り返し宛先識別番号と前記入力ポート値とを抽出し、前記折り返し宛先識別番号を宛先識別番号として前記逆方向のＩＰパケットに付与するとともに、前記入力ポート値を前記逆方向のＩＰパケットの出力ポート値として指定する
請求項３に記載のパケット中継装置。
【請求項５】
同一のグループに属する異なる端末装置との間で実行されるグループメンバ間通信で送受信されるＩＰパケットの伝送ルート上に配置されるパケット中継装置と接続される端末装置であって、
前記グループメンバ間通信に適用される、端末装置の実ＩＰアドレスと異なる仮想ＩＰアドレスであって、前記グループメンバ間通信で宛先となる端末装置の仮想ＩＰアドレスに対応する前記内部管理番号を記憶した第１管理テーブルと、内部管理番号に対応するルーティング情報を格納した第２管理テーブルとを記憶した記憶部と、
グループメンバ間通信用のＩＰパケットとして、宛先の端末装置の仮想ＩＰアドレスが宛先ＩＰアドレスに設定されたＩＰパケットに対し、前記第１管理テーブルから検索される前記内部管理番号に対応するルーティング情報を前記第２管理テーブルから検索し、検索されたルーティング情報に含まれる宛先識別番号を前記ＩＰパケットに付与する転送制御部と、
宛先識別番号が付与された前記ＩＰパケットを暗号化する暗号化部と、
前記検索されたルーティング情報に基づいて前記パケット中継装置へ暗号化された前記ＩＰパケットを転送する送信部と
を含む端末装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信ネットワークで接続された任意のホストを仮想的にグループ化し、閉域網を提供する技術におけるパケット中継装置に関する。
【背景技術】
【０００２】
最近、ＩＰ(Internet Protocol)ネットワークには、パーソナルコンピュータ(ＰＣ)以外のホスト(例えばＩＰ通信が可能な家電製品等の機器)も接続される。ＩＰネットワークから家電製品を制御したり、ＩＰ対応の家電製品間でコンテンツを送受信したりするような、ＩＰネットワークの利用が開始されている。ＩＰ通信が可能な機器(以下、ホスト)の数と種類とが増加し、ＰＣより低機能のホストがＩＰネットワークに接続される状況である。【０００３】
ホストの増加に応じて、複数のホストを仮想的にグループ化することを通じて多数のホストを簡易に管理する必要がある。また、低機能のホストを考慮して、ホストへの負担が少ない単純な方法でグループ間の通信を実現する必要がある。【０００４】
ここで、ホストのグループを一般的なＶＰＮ(Virtual Private Network)で構築し通信を実現する方法が想定される。この場合、ＶＰＮを設定したネットワーク間にセキュリティを考慮したトンネル接続等が設定される。例えば、ＰＣ１−ＧＷ(ゲートウェイ)１−ＧＷ２−ＰＣ１のようなネットワーク接続構成において、ＰＣ１とＰＣ２との間にＶＰＮが構築される場合には、ＧＷ１とＧＷ２との間にトンネルが構築される。このトンネルでは、ＧＷ間をやりとりされるＩＰパケットには、仮のＩＰアドレス(仮想ＩＰアドレス)が割り当てられ、その仮想ＩＰアドレスによるＩＰルーティング処理で、ＶＰＮ通信が実現される。【０００５】
また、グループの構成単位が一般のＶＰＮのようなサブネットワーク(ローカルネットワーク)単位ではなく、ホスト(ＩＰアドレス)単位で構成される場合、サブネットワークのゲートウェイとなるゲートウェイ装置(ＧＷ装置)がグループに属するサブネットワーク配下のホスト(ＩＰ)を管理することになる。このため、グループ構成によっては、管理負荷や通信経路に問題が発生する可能性がある。【０００６】
一例として、サーバ・クライアントでのグループ構成(ウェブサーバとブラウザ端末等の構成)では、サーバ側のＧＷ装置が膨大な数のクライアントのホスト(ＩＰ)を管理する必要性がある。また、クライアント同士が通信することを抑制したい場合が想定される。【０００７】
また、現状のＴＣＰ／ＩＰ(Transmission Control Protocol/ Internet Protocol)では、ＧＷ間で転送されるパケットに対するＱｏＳ(Quality of Service)制御を実行することができなかった。
【非特許文献１】ＲＦＣ１６３１
【非特許文献２】ＲＦＣ２３９１
【非特許文献３】NS2001-263(情報システム研究会NS)2002.3 複数ネットワーク接続に適した分散型VPNのデザイン  田島佳武(NTT)
【非特許文献４】NS2001-262(情報システム研究会NS)2002.3 仮想ネットワーキングサービスプラットフォーム(VNSP)におけるマルチVPNサービス  サービス提供方式  岡大祐(NTT)他
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明の目的は、同一のグループに属する端末装置間で送受信される、グループメンバ間通信のパケットを中継するパケット中継装置の負荷軽減を図ることができる技術を提供することである。
【課題を解決するための手段】
【０００９】
本発明は、上記目的を達成するため、以下の構成を採用する。【００１０】
即ち、本発明は、同一のグループに属する端末装置間で送受信される、グループメンバ間通信のためのＩＰパケットの伝送ルート上に配置されるパケット中継装置であって、
ＩＰアドレスと夫々異なる、ＩＰパケットの宛先に応じた宛先識別番号及び内部管理番号を記憶した記憶部であって、宛先識別番号に対応する内部管理番号が格納された第１テーブルと、前記内部管理番号に対応するＩＰパケットのルーティング情報を格納した第２テーブルとを記憶した記憶部と、
パケットの受信部と、
前記伝送ルート上に配置された前ホップのパケット中継装置から暗号化されている前記ＩＰパケットが前記受信部で受信された場合に、受信されたＩＰパケットを復号化する復号部と、
前記ＩＰパケットに付与されている宛先識別番号に対応する内部管理番号を前記第１テーブルから検索する検索部と、
前記内部管理番号に対応するルーティング情報を前記第２テーブルから検索し、検索されたルーティング情報に含まれる新たな宛先識別番号を前記ＩＰパケットに付与する転送制御部と、
新たな宛先識別番号が設定された前記ＩＰパケットを暗号化する暗号化部と、
暗号化された前記ＩＰパケットを前記転送情報に基づいて前記伝送ルート上に配置された次ホップのパケット中継装置へ転送する送信部と
を含む。【００１１】
本発明によれば、ＩＰアドレスと異なる宛先識別番号及び内部管理番号でルーティング情報が検索される。このため、ルーティング情報の検索に必要な時間及び負荷を軽減でき、ひいてはルーティング処理の負荷軽減を図ることができる。従って、パケット中継装置の負荷軽減を図ることができる。
【発明の効果】
【００１２】
本発明によれば、同一のグループに属する端末装置間で送受信される、グループメンバ間通信のパケットを中継するパケット中継装置の負荷軽減を図ることができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１実施形態におけるネットワークシステムの構成例と、その動作例を説明する図である。
【図２】本発明の実施形態によるパケット中継装置(ゲートウェイ装置)の構成例を示す図である。
【図３】図２に示した管理テーブルを構成するローカルテーブルのデータ構造例を示す図である。
【図４】図２に示した管理テーブルを構成するグローバルテーブルのデータ構造例を示す図である。
【図５】図２に示した転送通番テーブルを構成する受信転送テーブルのデータ構造例を示す図である。
【図６】図２に示した転送通番テーブルを構成する受信転送テーブルのデータ構造例を示す図である。
【図７】図１に示した第１実施形態におけるＧＷ−Ａが保持するローカルテーブル，グローバルテーブル，受信転送テーブル及び送信転送テーブルの格納内容を示す図である。
【図８】第１実施形態におけるＧＷ−Ａの処理を示すフローチャートである。
【図９】図１に示した第１実施形態におけるＧＷ−Ｂが保持するローカルテーブル，グローバルテーブル，受信転送テーブル及び送信転送テーブルの格納内容を示す図である。
【図１０】第１実施形態におけるＧＷ−Ｂの処理を示すフローチャートである。
【図１１】図１に示した第１実施形態におけるＧＷ−Ｃが保持するローカルテーブル，グローバルテーブル，受信転送テーブル及び送信転送テーブルの格納内容を示す図である。
【図１２】第１実施形態におけるＧＷ−Ｃの処理を示すフローチャートである。
【図１３】本発明の第２実施形態における、同期処理の例を示すシーケンス図である。
【図１４】本発明の第３実施形態で適用される送信転送テーブルのデータ構造例を示す図である。
【図１５】第３実施形態のネットワークシステムの動作例を説明する図である。
【図１６】図１５に示した第３実施形態におけるＧＷ−Ａが保持するローカルテーブル，グローバルテーブル，受信転送テーブル及び送信転送テーブルの格納内容を示す図である。
【図１７】第３実施形態におけるＧＷ−Ａの処理を示すフローチャートである。
【図１８】図１５に示した第３実施形態におけるＧＷ−Ｂが保持するローカルテーブル，グローバルテーブル，受信転送テーブル及び送信転送テーブルの格納内容を示す図である。
【図１９】第３実施形態におけるＧＷ−Ｂの処理を示すフローチャートである。
【図２０】図１５に示した第３実施形態におけるＧＷ−Ｃが保持するローカルテーブル，グローバルテーブル，受信転送テーブル及び送信転送テーブルの格納内容を示す図である。
【図２１】第１実施形態におけるＧＷ−Ｃの処理を示すフローチャートである。
【図２２】第３実施形態における動作例の説明図であって、サーバから端末装置への折り返しパケットの転送の様子を示す図である。
【図２３】第３実施形態におけるＧＷ−Ｃが折り返しパケットを送信する場合における処理を示すフローチャートである。
【図２４】第３実施形態におけるＧＷ−Ｃが折り返しパケットを送信する場合における処理を示すフローチャートである。
【図２５】本発明の第４実施形態における、優先制御に係る構成例を示す図である。
【図２６】第４実施形態における受信転送テーブル及び送信転送テーブルの例を示す図である。
【図２７】本発明の第５実施形態における端末装置の構成例を示す図である。
【符号の説明】
【００１４】
ａ，ｂ，ｃ・・・端末装置
ＧＷ−Ａ，ＧＷ−Ｂ，ＧＷ−Ｃ・・・ゲートウェイ装置
Ｑ１，Ｑ２・・・送信待ちキュー
ｓ・・・サーバ(端末装置)
１０・・・ゲートウェイ装置
１３・・・ＧＷヘッダ＆ＮＡＴ処理部
１４・・・転送通番処理部
１６・・・トンネル処理部
１７・・・パケット送受信部
２１・・・記憶部
２３・・・ローカルテーブル
２４・・・グローバルテーブル
２５・・・受信転送テーブル
２６・・・送信転送テーブル
２８・・・読み出し制御部
【発明を実施するための最良の形態】
【００１５】
〔発明の概要〕
本発明に係るネットワークシステムは、ＩＰネットワーク上に配置された複数のゲートウェイ装置(パケット中継装置)と、複数のゲートウェイ装置のいずれかに夫々収容される複数のホスト(端末装置：「クライアント端末」とも呼ぶ)を備える。ゲートウェイ装置は、ゲートウェイ装置間の連携を通じて複数のホストをグループ化する機能と、各グループに属するホストを管理する機能とを有する。さらに、複数のゲートウェイ装置は、連携を通じてグループ内に閉じた仮想閉鎖ネットワークを構築し、この仮想閉鎖ネットワーク内で、パケットのユニキャスト，ブロードキャスト，及びマルチキャストを実現する。【００１６】
仮想閉鎖ネットワークは、グループに属するホスト(グループメンバ)と、ホスト間で送受信されるパケットの伝送ルート上に位置する複数のゲートウェイ装置とから構成される。ゲートウェイ装置には、ホストを配下に持つ(収容する)ものと、ホストを配下に持たず、前ホップとしてのゲートウェイ装置からのパケットを次ホップとしてのゲートウェイ装置へ中継するものとがあり、また両方の機能をもつゲートウェイ装置もある。【００１７】
ホストは、仮想閉鎖ネットワーク上において、実ＩＰアドレスと異なる仮想ＩＰアドレスを持つホストとして管理される。仮想ＩＰアドレスは、ゲートウェイ装置で管理される。或るホストが送信元ホストとして、或るホストと同一のグループに属する宛先ホストにＩＰパケットを送信する(グループ内通信を行う)場合には、宛先ホストに割り当てられた仮想ＩＰアドレスが宛先ＩＰアドレスとしてＩＰパケットに設定される。ＩＰパケットは、複数のゲートウェイ装置を通って宛先ホストに到着する。ゲートウェイ装置間には、ＶＰＮ技術を用いたトンネルが確立され、ゲートウェイ装置間では、ＩＰパケットは暗号化されて送受信される。【００１８】
ゲートウェイ装置は、ＩＰパケットの転送時に、経路探索(ルーティング)を実行する。本願の出願人は、ＩＰパケットに設定された宛先ＩＰアドレス(仮想ＩＰアドレス)を用いてルーティングを行う技術を既に出願している(ＰＣＴ／ＪＰ２００５／００３７８８，出願日２００５年３月４日)。【００１９】
仮想閉鎖ネットワーでのルーティングに適用される情報として、仮想ＩＰアドレスを適用すれば、既に提案されているＩＰアドレスを用いたルーティング技術や管理技術を流用することができる。但し、この場合には、ＩＰアドレスを用いたルーティング及び管理技術で非効率的な部分も取り込むことになる。【００２０】
例えば、ＩＰアドレスによるルーティングが実施される場合、ＩＰルーティングテーブルには、ＩＰアドレスとして採り得る値を考慮した多数のエントリを用意しなければならない。このため、所望のエントリ検索に時間がかかり、結果としてルーティングに時間がかかる。従って、送信パケット数が大きくなると、ゲートウェイ装置に多大な負荷がかかることになる。【００２１】
本発明は、このような非効率的な部分を取り除き、仮想閉鎖ネットワークでのパケット転送に係る負荷を軽減することを目的の一つとしている。【００２２】
〔第１実施形態〕
〈全体構成〉
図１は、本発明に係るネットワークシステムの全体構成例を示す図である。図１に示す例では、ネットワークシステムは、パケット中継装置としてのゲートウェイ装置ＧＷ−Ａと、ゲートウェイ装置ＧＷ−ＡにネットワークＸ(グローバル側ネットワーク)を介して接続されたゲートウェイ装置ＧＷ−Ｂと、ゲートウェイ装置ＧＷ−ＢにネットワークＹ(グローバル側ネットワーク)を介して接続されたゲートウェイ装置ＧＷ−Ｃと、を備えている。【００２３】
ゲートウェイ装置ＧＷ−Ａは、ローカル側ネットワークＬＮ１を収容しており、ローカル側ネットワークＬＮ１に接続された端末装置(ホスト)ａを収容している。ゲートウェイ装置ＧＷ−Ｂは、ローカル側ネットワークＬＮ２を収容しており、ローカル側ネットワークＬＮ２に接続された端末装置(ホスト)ｂを収容している。ゲートウェイ装置ＧＷ−Ｃは、ローカル側ネットワークＬＮ３を収容しており、ローカル側ネットワークＬＮ３に接続された端末装置(ホスト)ｃを収容している。【００２４】
ゲートウェイ装置ＧＷ−Ａ，ＧＷ−Ｂ及びＧＷ−Ｃは、端末装置ａ，ｂ及びｃをグループ化し(グループ１)、グループ内でパケットがユニキャスト，ブロードキャスト及びマルチキャストされるようにした仮想閉鎖ネットワークを構築している。【００２５】
仮想閉鎖ネットワークは、次のようにして構築されている。グループに属するホストには、グループ内のパケット通信に適用されるＩＰアドレス(仮想ＩＰアドレス)が割り当てられる。【００２６】
仮想ＩＰアドレスは、ホストが通常のＩＰパケット通信を行う場合に使用する実ＩＰアドレスと異なるＩＰアドレスであり、グループメンバ間の通信においてのみ有効に機能する。【００２７】
仮想ＩＰアドレスは、仮想閉鎖ネットワークで、パケットを中継する複数のゲートウェイ装置にて管理される。ゲートウェイ装置間には、ＩＰｓｅｃのようなＶＰＮトンネリング技術を用いたトンネルで直接接続される。【００２８】
異なるゲートウェイ装置に夫々接続された同一グループのホスト間でＩＰパケットの送受信(グループ内通信)が２以上のゲートウェイ装置を介して行われる場合には、次の動作が行われる。【００２９】
送信元のホストを収容するゲートウェイ装置は、送信元ホストから受信されるＩＰパケットに対し、ゲートウェイ間通信(ＧＷ間通信)で経路探索に使用する情報(ルーティング情報)が設定されたヘッダ(「ＧＷヘッダ」又は「グループ内通信用ヘッダ」と呼ぶ)をＩＰパケットに付与する処理(カプセル化)を行う。【００３０】
また、ＧＷヘッダが付与されたＩＰパケット(IP packet with GW header: 「カプセル化パケット(encapsulated packet)」とも呼ぶ)に対して、トンネル通信に適用される暗号化を行い、宛先ホストを収容するゲートウェイ装置へ向けて送信する。宛先ホストを収容するゲートウェイ装置へＩＰパケットを中継するゲートウェイ装置は、カプセル化パケットの復号化を行い、ＧＷヘッダを参照してルーティングを行い、宛先ホストを収容するゲートウェイ装置へカプセル化パケットを送信する。宛先ホストを収容するゲートウェイ装置は、カプセル化パケットの復号化，デカプセル化(ＧＷヘッダの削除)を行い、宛先ホストへ転送する。【００３１】
このように、ゲートウェイ装置が中継ノードとなり、ゲートウェイ装置間を結ぶトンネルがリンクとなる仮想閉鎖ネットワークがネットワーク上に構築される。これにより、ホスト毎にＶＰＮが構築された状態で、グループ内におけるホスト間通信が実現される。また、グループ内で、宛先の仮想ＩＰアドレスとしてブロードキャストアドレス又はマルチキャストアドレスが指定されることで、グループに対するブロードキャスト又はマルチキャストが実現される。【００３２】
図１に示す例では、端末装置ａ，ｂ及びｃは、同一のグループ(グループ１)に属しており、端末装置ａ，ｂ及びｃを収容するゲートウェイ装置ＧＷ−Ａ，ＧＷ−Ｂ及びＧＷ−Ｃは、グループに係る情報を管理する。グループに係る情報は、グループに属するホストの情報を含み、ホストの情報はホストに割り当てられた仮想ＩＰアドレスを含む。また、グループ１に係る情報は、ゲートウェイ装置間の通信で経路探索に使用されるルーティング情報を含む。【００３３】
〈ゲートウェイ装置の構成例〉
図２は、ゲートウェイ装置ＧＷ−Ａ，ＧＷ−Ｂ及びＧＷ−Ｃに適用されるゲートウェイ装置の構成例を示す図である。図２において、ゲートウェイ装置(以下、「ＧＷ装置」と表記)１０は、端末装置(ローカル側ネットワーク)と接続されるローカル側インタフェース１１と、異なるＧＷ装置とグローバル側ネットワーク(例えばネットワークＸ，Ｙ)を介して接続されるグローバル側インタフェース１２とを備えている。以下の説明において、「通し番号」を「通番」と表記することもある。【００３４】
ローカル側インタフェース１１には、ＧＷヘッダ及びＮＡＴ(Network Address Translation)処理部１３(以下、「ヘッダ処理部１３」と表記)が接続されている。ヘッダ処理部１３は、転送通番処理部１４と、ＩＰルーティング処理部１５とに接続されている。転送通番処理部１４及びＩＰルーティング処理部１５は、トンネル処理部１６に接続されている。トンネル処理部１６は、パケット送受信部１７に接続されている。パケット送受信部１７は、グローバル側インタフェース１２に接続されている。【００３５】
また、ＧＷ装置１０は、ヘッダ処理部１１によって参照される仮想ＩＰ，グループ及び転送通番管理テーブル１８(以下、「管理テーブル１８」と表記)と、転送通番処理部１４によって参照される転送通番テーブル１９(以下、「通番テーブル１９」)と、ＩＰルーティング処理部１５によって参照されるＩＰルーティングテーブル２０とを備えている。【００３６】
管理テーブル１８及び通番テーブル１９は、記憶装置(メモリなど)を用いて構成される記憶部２１上に作成されており、ＩＰルーティングテーブル２０は、記憶部２１と同一又は異なる記憶部上に作成されている。【００３７】
ヘッダ処理部１３は、ローカル側インタフェース１１から受信されるＩＰパケットが通常のＩＰパケットか、グループメンバ間で送受信されるＩＰパケットかを判定する。ＩＰパケットが通常のＩＰパケットであれば、このＩＰパケットをＩＰルーティング処理部１５に転送する。【００３８】
これに対し、ＩＰパケットがグループメンバ間で送受信されるＩＰパケットであれば、管理テーブル１８を参照してＮＡＴ処理(グローバルアドレス(仮想ＩＰアドレス)とローカルアドレス(実ＩＰアドレス)との間の変換処理)，ＩＰパケットに対するＧＷヘッダ付与，送信元ＩＰアドレス(ＳＡ)及び宛先ＩＰアドレス(ＤＡ)に対応する発信元転送通番(ＳＮ)及び宛先転送通番(ＤＮ)の設定，並びに転送通番処理部１４に対する内部管理転送通番(ＬＴＮ)の指定を行う。【００３９】
また、ヘッダ処理部１３は、転送通番処理部１４からＧＷヘッダを有するＩＰパケット(カプセル化パケット)を受け取った場合に、このＩＰパケットに対するＤＡ及びＳＡの設定(ＮＡＴ処理)，ＧＷヘッダの削除，ローカル側ネットワークへの転送を行う。さらに、ヘッダ処理部１３は、ＩＰルーティング処理部１５からＩＰパケットを受信した場合には、ＩＰルーティング処理部１５からの指示に従って、ＩＰパケットをローカル側ネットワークへ転送する。【００４０】
転送通番処理部１４は、ヘッダ処理部１３からＩＰパケットを受け取った場合には、ヘッダ処理部１３から指定されたＬＴＮに基づき、通番テーブル１９を参照し、ＧＷヘッダに対するルーティング情報の設定(ＬＴＮに対応する転送通番(ＴＮ)及びグループ通番(ＧＮ)の設定)及び出力ポートの指定を行い、カプセル化パケットをトンネル処理部１６に転送する。【００４１】
また、転送通番処理部１４は、トンネル処理部１６からカプセル化パケットを受け取った場合には、ＧＷヘッダと通番テーブル１９とを参照し、このパケットの転送先がローカル側ネットワークとグローバル側ネットワークとのどちらであるかを決定する。パケットがローカル側ネットワークに転送される場合には、転送通番処理部１４は、このパケットをヘッダ処理部１３に転送する。パケットがグローバル側ネットワークに転送される場合には、転送通番処理部１４は、このパケットのＧＷヘッダ中のルーティング情報の更新(書き換え)を行い、トンネル処理部１６に転送する。【００４２】
ＩＰルーティング処理部１５は、ヘッダ処理部１３又はトンネル処理部１６からＩＰパケットを受信した場合に、ＩＰルーティングテーブル２０を参照し、ＩＰパケットのＤＡに対応する出力ポートを決定し、この出力ポートの指定とともにＩＰパケットをトンネル処理部１６又はヘッダ処理部１３へ転送する。【００４３】
トンネル処理部１６は、転送通番処理部１４からのパケットに対してトンネリングのための暗号化処理等を行い、パケット送受信部１７に転送する。また、トンネル処理部１６は、ＩＰルーティング処理部１５からのパケットを出力ポートの指定とともにパケット送受信部１７に渡す。【００４４】
また、トンネル処理部１６は、パケット送受信部１７から受け取ったパケットを復号化し、このパケットに対するＧＷヘッダの有無を判定し、パケットがＧＷヘッダを有する場合には、このパケットを転送通番処理部１４に転送する。パケットがＧＷヘッダを有しない場合には、トンネル処理部１６は、このパケットをＩＰルーティング処理部１５に転送する。パケット送受信部１７は、ＩＰパケットの送受信処理を行う。【００４５】
図２に示したＧＷ装置１０の構成では、ローカル側とグローバル側との間のルートとして、転送通番処理部１４を通過する第１のルートと、ＩＰルーティング処理部１５を通過する第２のルートとが設けられている。第２のルートは、通常のＩＰパケット処理用のルートであり、例えば、ローカル側の端末装置からグローバル側のインターネット上にあるＷｅｂページを閲覧する場合に使用される。これに対し、第１のルートは、ＧＷ間を通じてグループ内通信が実行される場合に、ＩＰパケットに付与されるＧＷヘッダを処理するために使用される。【００４６】
このため、ヘッダ処理部１３及びトンネル処理部１６は、受信パケットのヘッダを参照して、第１及び第２のルートのいずれにパケットを転送するかを判定する機能を有している。【００４７】
なお、ヘッダ処理部１３が、本発明の転送制御部に相当する。また、パケット送受信部１７が本発明の受信部，送信部に相当する。また、転送通番処理部１４が本発明の検索部に相当する。また、トンネル処理部１６が本発明の暗号化部及び復号化部に相当する。もっとも、パケット送受信部１７の代わりに、送信部と受信部とが設けられていても良い。あるいは、トンネル処理部１６の代わりに、暗号化部と復号化部とが設けられていても良い。【００４８】
〈テーブルのデータ構造〉
次に、図２に示した管理テーブル１８及び通番テーブル１９のデータ構造例について説明する。図３は、管理テーブル１８内に備えられるローカルテーブル２３のデータ構造例を示す図であり、図４は、管理テーブル１８内に備えられるグローバルテーブル２４のデータ構造例を示す図である。図５は、通番テーブル１９内に備えられる受信転送テーブル２５のデータ構造例を示す図であり、図６は、通番テーブル１９内に備えられる送信転送テーブル２６のデータ構造例を示す図である。【００４９】
図３に示すように、ローカルテーブル２３は、実ＩＰアドレス(Real IP address: R-IP)と、発信元通番(Source serial Number: SN)と、グループ通番(Group serial Number: GN)とを要素とする１以上のエントリからなる。【００５０】
実ＩＰアドレスは、ホスト(端末装置)に割り当てられた、通常のＩＰ通信に使用されるＩＰアドレスであり、ローカルアドレスとして管理される。ＳＮは、グループ内通信中のＧＷ間通信にて使用される、送信元ホストに割り当てられた通し番号を示す。各ホストには、グループ内通信で使用される通し番号(ホスト通し番号：「端末通番」とも表記)が予め割り当てられる。端末通番は、グループ内において一意に定義される。ＧＮは、ＧＷ間通信にて使用される、各グループに割り当てられた通し番号を示す。ＧＮは、ＧＷ装置毎に、一意に定義される。ＧＮ値として、自ＧＷ装置がグループに対して割り当てた値が格納される。【００５１】
図４に示すように、グローバルテーブル２４は、仮想ＩＰアドレス(Virtual IP address: V-IP)と、宛先通番(Destination serial Number: DN)と、ＧＮと、内部管理転送通番(Local management Transmission serial Number: LTN)とを要素とする１以上のエントリからなる。【００５２】
仮想ＩＰアドレスは、仮想閉鎖ネットワークにおけるホストのＩＰアドレスであり、グローバルアドレスとして管理される。ＤＮは、宛先ホストに割り当てられた端末通番を示す。ＧＮ値は、自ＧＷ装置がグループに対して割り当てた値が設定される。ＬＴＮは、ＧＷ装置１０内(ローカル)で管理されるルーティング情報検索のための通し番号(内部管理番号)であり、送信転送テーブル２６(図６)の検索キー(ポインタ)として使用される。【００５３】
図５に示すように、受信転送テーブル２５は、転送通番(Transmission serial Number: TN)と、ＬＴＮとを要素とする１以上のエントリからなる。ＴＮは、パケットの宛先識別番号として機能する通し番号である。ＬＴＮは、送信転送テーブル２６に格納されるルーティング情報の検索キー(ポインタ)として機能する。【００５４】
図６に示すように、送信転送テーブル２６は、ＬＴＮと、ＬＴＮに対応するルーティング情報(ＴＮ，ＧＮ，及び出力ポート値(Outport))とを要素とする１以上のエントリからなる。ＴＮ値として、次ホップのＧＷ装置における受信転送テーブル２５の検索キーとなる値が設定される。また、ＧＮとして、次ホップのＧＷ装置においてグループに対して割り当てられたＧＮ値が設定される。出力ポート値は、パケットの出力ポート値を示す。【００５５】
上述したローカルテーブル２３，グローバルテーブル２４，受信転送テーブル２５，及び送信転送テーブル２６は、ＧＷ装置１０が管理するグループ毎に用意される。【００５６】
なお、受信転送テーブル２５が本発明の第１テーブルに相当し、送信転送テーブル２５が本発明の第２テーブルに相当し、グローバルテーブル２４が本発明の第３テーブルに相当する。さらに、ローカルテーブルを本発明の第４テーブルとして定義することができる。【００５７】
〈動作例〉
次に、第１実施形態におけるネットワークシステムにおける動作例について説明する。動作例として、図１に示した端末装置ａから端末装置ｃへグループ内通信に係るパケット転送を行う例について説明する。【００５８】
図１に示すように、グループ１には、端末装置ａ，ｂ及びｃが参加している。端末装置ａは、実ＩＰアドレス“ａ”を有している。また、端末装置ａには、仮想ＩＰアドレス“ａＤ”が割り当てられるとともに、グループ１に端末通番“１０１”が割り当てられている。端末装置ｂは、実ＩＰアドレス“ｂ”を有している。端末装置ｂには、仮想ＩＰアドレス“ｂＤ”が割り当てられるとともに、グループ１における端末通番“１０２”が割り当てられている。端末装置ｃは、実ＩＰアドレス“ｃ”を有している。端末装置ｂには、仮想ＩＰアドレス“ｃＤ”が割り当てられるとともに、グループ１における端末通番“１０３”が割り当てられている。【００５９】
また、ＧＷ装置ＧＷ−Ａは、グループ１に対してＧＮ“１”を割り当てている。ＧＷ装置ＧＷ−Ｂは、グループ１に対してＧＮ“１０”を割り当てている。ＧＷ装置ＧＷ−Ｃは、グループ１に対してＧＮ“２０”を割り当てている。【００６０】
端末装置ａは、ＧＷ装置ＧＷ−Ａへ向けてデータにＴＣＰ／ＩＰヘッダが付加されたパケット(ＩＰパケット)を送信する。このＩＰパケットには、送信元ＩＰアドレス(ＳＡ)として、端末装置ａの実ＩＰアドレス“ａ”が設定されるとともに、宛先ＩＰアドレス(ＤＡ)として、端末装置ｃの仮想ＩＰアドレス“ｃＤ(c-dash)”が設定される。【００６１】
ＧＷ−Ａは、ＩＰパケットをローカル側インタフェース１１(図２)で受信すると、このＩＰパケットに対する転送処理を実行する。図７は、ＧＷ装置ＧＷ−Ａの管理テーブル１８及び通番テーブル１９に格納されたグループ１に対するローカルテーブル２３Ａ，グローバルテーブル２４Ａ，受信転送テーブル２５Ａ，及び送信転送テーブル２６Ａを示す図であり、図８は、ＧＷ装置ＧＷ−Ａ内における処理を示すフローチャートである。【００６２】
図８において、ローカル側インタフェース１１でＩＰパケットが受信されると(ステップＳ０１)、そのＩＰパケットはヘッダ処理部１３に転送される。ヘッダ処理部１３は、ＩＰパケットから宛先ＩＰアドレス(ＤＡ)を取り出すとともに、管理テーブル１８内のグローバルテーブル２４(図４)を参照し、ＤＡがグローバルテーブル２４に存在するか否かを判定する(ステップＳ０２)。【００６３】
ＤＡがグローバルテーブル２４に存在しない場合(即ち、ＤＡが仮想ＩＰアドレスでない場合。Ｓ０２；ＮＯ)には、ＩＰパケットが通常のＩＰパケットであると判定され、ＩＰルーティング処理部１５へＩＰパケットが転送される(ステップＳ０３)。【００６４】
これに対し、ＤＡがグローバルテーブル２４に存在する場合(即ち、ＤＡが仮想ＩＰアドレスである場合。Ｓ０２；ＹＥＳ)には、ヘッダ処理部１３は、ＤＡに対応するＧＮをグローバルテーブル２４から取り出す。続いて、ヘッダ処理部１３は、ＩＰパケットからＳＡを取り出すとともに、管理テーブル１８内のローカルテーブル２３(図３)を参照し、ＳＡに対応するＧＮが、グローバルテーブル２４から取り出したＧＮと同じかを判定する(ステップＳ０４)。【００６５】
このとき、ＧＮが同じでない場合(Ｓ０４；ＮＯ)には、ヘッダ処理部１３は、ＩＰパケットが転送対象グループ外のＩＰパケットであると判定し、このＩＰパケットを破棄する(ステップＳ０５)。これに対し、ＧＮが同じである場合(Ｓ０４；ＹＥＳ)には、ヘッダ処理部１３は、処理をステップＳ０６に進める。【００６６】
このように、ＳＡに対応するＧＮと、ＤＡに対応するＧＮとが一致するかどうかが判定されることで、送信元ホストと宛先ホストとが同一のグループに属するか否かが判断される。【００６７】
この動作例では、ＧＷ装置ＧＷ−Ａのヘッダ処理部１３は、ＩＰパケットのＤＡ“ｃＤ”がグローバルテーブル２４Ａ(図７)に存在するかを判定する(Ｓ０２)。ＤＡ“ｃＤ”がグローバルテーブル２４Ａに存在するので、グローバルテーブル２４Ａから対応するＧＮ“１”を取り出す。続いて、ヘッダ処理部１３は、ローカルテーブル２３Ａ(図７)から、ＩＰパケットのＳＡ“ａ”に対応するＧＮ“１”を取り出す。双方のＧＮが一致するので、ヘッダ処理部１３は、ＩＰパケットが転送対象グループのＩＰパケットであると判定し、処理をステップＳ０６に進める。【００６８】
ステップＳ０６では、ヘッダ処理部１３は、ＩＰパケットにＧＷヘッダ(ＧＷ間ヘッダ)を付与し、このＧＷヘッダに対し、ＤＡ及びＳＡに相当するＤＮ及びＳＮを設定する。ＧＷヘッダは、グループ内通信(即ち、グループメンバ間での通信)のためにＧＷ装置間で送受信されるパケットの転送処理に使用されるヘッダであり、図１に示すように、ＴＮ，ＧＮ，ＤＮ及びＳＮを夫々設定するためのフィールドを有する。【００６９】
ヘッダ処理部１３は、ローカルテーブル２３Ａ(図７)から、ＳＡ“ａ”に対応するＳＮ“１０１”を取り出すとともに、グローバルテーブル２４Ａ(図７)から、ＤＡ“ｃＤ”に対応するＤＮ“１０３”を取り出し、ＳＮ“１０１”及びＤＮ“１０３”をＧＷ間ヘッダに設定する。【００７０】
続いて、ヘッダ処理部１３は、グローバルテーブル２４Ａ(図７)からＤＮ“１０３”に対応するＬＴＮ“２”を取り出す。ヘッダ処理部１３は、ＬＴＮ“２”(指定ＬＴＮ)と、ＧＷヘッダを有するＩＰパケット(カプセル化パケット)とを転送通番処理部１４へ転送する(ステップＳ０７)。【００７１】
転送通番処理部１４は、送信転送テーブル２６Ａ(図７)を参照し、指定ＬＴＮ“２”に対応するＴＮ“２”及びＧＮ“１０”を取り出し、ＧＷヘッダに設定する(ステップＳ０８)。【００７２】
続いて、転送通番処理部１４は、指定ＬＴＮに対応する出力ポート値(ここでは“ＡＢ”)を指定し、この指定をカプセル化パケットとともにトンネル処理部１６へ転送する(ステップＳ０９)。【００７３】
トンネル処理部１６は、転送通番処理部１４から受信されるカプセル化パケットに対する暗号化処理等を行う。パケット送受信部１７は、指定された出力ポート“ＡＢ”からカプセル化パケットを送出する。カプセル化パケットは、グローバル側インタフェース１２からグローバル側のネットワークＸへ送出される。このＩＰパケットは、ネットワークＸにおいて、ＧＷ装置ＧＷ−ＡとＧＷ装置ＧＷ−Ｂとの間に確立されたトンネルを通って転送される。【００７４】
このように、送信側のＧＷ装置ＧＷ−Ａ(送信元ホストを収容するＧＷ装置)では、異なるＧＷ装置ＧＷ−Ｃに収容された端末装置ｃへＩＰパケットを転送する場合には、このＩＰパケットに仮想閉鎖ネットワーク(グループ内)でのパケット転送に使用されるＧＷヘッダが付与される(ＩＰパケットがカプセル化される)。【００７５】
このとき、ＧＷヘッダには、仮想ＩＰアドレスを用いたＳＡ及びＤＡではなく、グループメンバ間通信のために用意されたＳＮ及びＤＮが、ＧＷ装置のみで認識可能なホストの識別子として設定される。また、ＧＮ及びＴＮが次ホップのＧＷでのルーティングのためのルーティング情報として設定される。ＧＮは次ホップのＧＷ装置でグループを特定するための識別子として機能する。また、ＴＮは、次ホップのＧＷ装置でルーティング情報を検索するための宛先識別番号として機能する。【００７６】
ＧＷ装置ＧＷ−Ｂ(図１)は、カプセル化パケットをグローバル側インタフェース１２(図２)で受信する。すると、ＧＷ装置ＧＷ−Ｂは、このカプセル化パケットに対する転送処理を実行する。【００７７】
図９は、ＧＷ装置ＧＷ−Ｂの管理テーブル１８及び通番テーブル１９に格納されたグループ１に対するローカルテーブル２３Ｂ，グローバルテーブル２４Ｂ，受信転送テーブル２５Ｂ，及び送信転送テーブル２６Ｂを示す図であり、図１０は、ＧＷ装置ＧＷ−Ｂ内における処理を示すフローチャートである。【００７８】
図１０に示すように、ＧＷ装置ＧＷ−Ｂでは、カプセル化パケットは、グローバル側インタフェース１２及びパケット送受信部１７で受信され(ステップＳ２１)、トンネル処理部１６に与えられる。【００７９】
トンネル処理部１６は、受信パケットの復号化処理等を行った後、受信パケットがＧＷヘッダを有するか否かを判定する(ステップＳ２２)。このとき、受信パケットがＧＷヘッダを有しない場合(Ｓ２２；ＮＯ)には、トンネル処理部は、受信パケットが通常のＩＰパケットであると判定し、このパケットをＩＰルーティング処理部１５へ転送する(ステップＳ２３)。これに対し、受信パケットがＧＷヘッダを有する場合(Ｓ２２；ＹＥＳ)には、処理がステップＳ２４に進む。【００８０】
この動作例では、受信パケットはＧＷヘッダを有するカプセル化パケットである。このため、トンネル処理部１６は、ＧＷヘッダを検出することができる。この場合、トンネル処理部１６がカプセル化パケットを転送通番処理部１４へ転送し、処理がステップＳ２４に進む。【００８１】
ステップＳ２４では、転送通番処理部１４が、ＧＷヘッダからＴＮ“２”を取り出すとともに、通番テーブル１９中の受信転送テーブル２５Ｂ(図９)を参照し、ＴＮ“２”に対応するＬＴＮ“２”を得る。【００８２】
次に、転送通番処理部１４は、送信転送テーブル２６Ｂ(図９)を参照し、ＬＴＮ“２”に対応するＴＮ“１”及びＧＮ“２０”を取り出し、ＧＷヘッダに設定する(ＧＷヘッダ中のＴＮ及びＧＮの値を書き換える)(ステップＳ２５)。【００８３】
次に、転送通番処理部１４は、ＬＴＮ“２”に対応する出力ポート値“ＢＣ”を送信転送テーブル２６Ｂ(図９)から取り出し、この出力ポート値“ＢＣ”(指定出力ポート)をカプセル化パケットとともにトンネル処理部１６へ転送する(ステップＳ２６)。【００８４】
トンネル処理部１６では、カプセル化ＩＰパケットに対する暗号化処理等が行われた後、パケット送受信部１７が出力ポート“ＢＣ”からカプセル化パケットを送出する(ステップＳ２７)。カプセル化パケットは、グローバル側のネットワークＹへ送出され、ＧＷ装置ＧＷ−ＢとＧＷ装置ＧＷ−Ｃとの間に構築されたトンネルを通って転送される。【００８５】
このように、中継を行うＧＷ装置ＧＷ−Ｂでは、カプセル化パケットの転送処理(ルーティング)が、通常のＩＰルーティングと異なり、ＧＷヘッダに設定されたＴＮ(宛先識別番号)を用いたルーティングによって行われる。【００８６】
ＧＷ装置ＧＷ−Ｃ(図１)は、カプセル化パケットをグローバル側インタフェース１２(図２)で受信する。すると、ＧＷ装置ＧＷ−Ｃは、このカプセル化ＩＰパケットに対する転送処理を実行する。【００８７】
図１１は、ＧＷ装置ＧＷ−Ｃの管理テーブル１８及び通番テーブル１９に格納されたグループ１に対するローカルテーブル２３Ｃ，グローバルテーブル２４Ｃ，受信転送テーブル２５Ｃ，及び送信転送テーブル２６Ｃを示す図であり、図１２は、ＧＷ装置ＧＷ−Ｃ内における処理を示すフローチャートである。【００８８】
図１２に示すように、ＧＷ装置ＧＷ−Ｃでは、パケット送受信部１７は、カプセル化パケットを受信し(ステップＳ３１)、トンネル処理部１６に転送する。【００８９】
トンネル処理部１６は、受信パケットの復号化処理等を行った後、このパケットにＧＷヘッダが含まれるか否かを判定する(ステップＳ３２)。このとき、受信パケットにＧＷヘッダが含まれない場合(Ｓ３２；ＮＯ)には、トンネル処理部１６は、受信パケットが通常のＩＰパケットであると判定し、受信パケットをＩＰルーティング処理部１５へ転送する(ステップＳ３３)。これに対し、受信パケットにＧＷヘッダが含まれる場合(Ｓ３２；ＹＥＳ)には、処理がステップＳ３４に進む。この動作例では、受信パケットはＧＷヘッダを含むので、トンネル処理部１６は、受信パケット(カプセル化パケット)を転送通番処理部１４へ転送する。【００９０】
転送通番処理部１４は、通番テーブル１９内の受信転送テーブル２５Ｃ(図１１)を参照し、カプセル化パケットのＧＷヘッダに設定されたＴＮ“１”に対応するＬＴＮ(この例では“LOCAL”)を得る(ステップＳ３４)。【００９１】
転送通番処理部１４は、得られたＬＴＮによる指定が“LOCAL”であるので、カプセル化パケットをヘッダ処理部１３に転送する(ステップＳ３５)。なお、ＬＴＮの指定が“LOCAL”でない場合は、ＧＷ装置ＧＷ−Ｂにおける処理と同様に、ＬＴＮに基づく送信通番テーブルの検索が実行される。【００９２】
ヘッダ処理部１３は、転送通番処理部１４からカプセル化パケットを受け取ると、このカプセル化パケットのＧＷヘッダからＤＮを取り出すとともに、管理テーブル１８内のグローバルテーブル２４Ｃ(図１１)を参照し、ＤＮに対応する仮想ＩＰアドレス(Ｖ−ＩＰ)“ａＤ(a-dash)”を得る。仮想ＩＰアドレス“ａＤ”は、ＩＰパケットの送信元の端末装置ａのＶ−ＩＰである。【００９３】
また、ヘッダ処理部１３は、ＧＷヘッダからＳＮを取り出すとともに、ローカルテーブル２３Ｃ(図１１)を参照し、ＳＮに対応する実アドレス(Ｒ−ＩＰ)“ｃ”を得る。実ＩＰアドレス“ｃ”は、ＩＰパケットの宛先の端末装置ｃのＲ−ＩＰである。ヘッダ処理部１３は、カプセル化パケット中のＴＣＰ／ＩＰヘッダ中のＤＡ及びＳＡの値を“ｃ”及び“ａＤ”に夫々書き換える(ステップＳ３６)。【００９４】
その後、ヘッダ処理部１３は、カプセル化パケットからＧＷヘッダを削除し(デカプセル化)、ローカル側インタフェース１１を介してローカル側ネットワークへ転送する(ステップＳ３７)。その後、ＩＰパケットは、ＧＷ装置ＧＷ−Ｃに収容された宛先の端末装置ｃに到達する。【００９５】
〈第１実施形態の作用効果〉
第１実施形態におけるネットワークシステムによると、同一のグループ(グループ１)に属する端末装置ａ，ｂ及びｃを夫々配下とするＧＷ装置ＧＷ−Ａ，ＧＷ−Ｂ及びＧＷ−Ｃの夫々は、端末装置ａ，ｂ及びｃがグループ１内で通信するためのＧＷ内管理テーブルとして、ＧＷ装置の配下の端末情報(Ｒ−ＩＰ，ＳＮ及びＧＮ)を管理するローカルテーブル２３，異なるＧＷ装置の配下の端末情報等(Ｖ−ＩＰ，ＤＮ，ＧＮ，ＬＴＮ)を管理するグローバルテーブル２４，異なるＧＷ装置からのパケットの受信時に参照される受信転送テーブル２５，及びローカルネットワーク(ホスト)−ＧＷ間，及びＧＷ間のパケット送信時に参照される送信転送テーブル２６を備える。【００９６】
このようなＧＷ装置によれば、パケット中継を行うＧＷ装置(図１ではＧＷ−Ｂ)において、中継先(転送先)を決定するための参照テーブルとして、ＩＰアドレスに基づくＩＰルーティングテーブルではなく、独自の通し番号(ＴＮやＬＴＮ)で管理された受信転送テーブル２５及び送信転送テーブル２６が適用される。【００９７】
即ち、ＧＷヘッダ中のＴＮに基づき受信転送テーブル２５が参照されることで、ルーティング情報を検索するポインタ(送信転送テーブル２６のポインタ)として機能するＬＴＮが決定される。続いて、ＬＴＮに基づき送信転送テーブル２６が参照されることで、転送処理に必要なルーティング情報(ＴＮ，ＧＮ及び出力ポート値)を直接的に検索することができる。【００９８】
受信転送テーブル２５のエントリ数(ＴＮ／ＬＴＮの数)は、パケットの宛先数に制限することができる。従って、受信転送テーブル２５のエントリ数は、ＩＰルーティングテーブルに比べて非常に少なくなる。従って、受信転送テーブル２５の検索に係る時間は短い。一方、送信転送テーブル２６に関しては、受信転送テーブル２５から検索されたＬＴＮに対応するエントリのみを参照すれば良いので、送信転送テーブル２６からの情報検索は、短い時間で終了する。【００９９】
よって、受信転送テーブル２５及び送信転送テーブル２６を用いれば、ＧＷ装置にてパケット中継に必要な情報を得る処理は、ＩＰルーティングに比べて著しく簡易化及び短縮化される。これによって、パケット中継が集中するＧＷ装置(図１ではＧＷ−Ｂ)によるパケット転送処理の負荷が軽減される。【０１００】
また、ＴＮ，ＬＴＮ，ＧＮ，ＳＮ，ＤＮのような通し番号は、グループメンバ間通信に必要な数を用意すれば良いので、ＩＰアドレスとして採り得る数よりも少ない。従って、ＩＰアドレスよりも小さいサイズで表現できる。従って、管理テーブル１８や通番テーブル１９は、少ない記憶容量で作成することができる。【０１０１】
なお、第１実施形態では、ＩＰパケットに独自のＧＷヘッダを付与する構成が採用されている。この構成の代わりに、ＴＣＰ／ＩＰヘッダに対してＴＮ，ＧＮ，ＳＮ，ＤＮが設定される構成としても良い。送信先の端末装置(ホスト)を収容するＧＷ装置では、ＤＮやＳＮを元にローカル側ネットワークへ送信されるパケットのＤＡ及びＳＡが決定されるので、この場合でも、上述した各テーブル２３〜２６の構成をそのまま適用することができる。【０１０２】
〔第２実施形態〕
次に、本発明の第２実施形態について説明する。第２実施形態は、第１実施形態と同様の構成を含むので、主として異なる構成について説明し、同様の構成についての説明は省略する。【０１０３】
〈構成〉
第１実施形態で説明した各テーブル２３〜２６の格納内容は、ネットワーク管理者によるマニュアル設定(スタティック設定)によって規定することができる。但し、格納内容は、動的に設定することも可能である。【０１０４】
第２実施形態では、図１に示したネットワークシステムにおけるＧＷ装置ＧＷ−Ａ，ＧＷ−Ｂ及びＧＷ−Ｃが、グループの状態変化(グループの追加／削除，端末装置の追加／削除，マルチキャストアドレスの追加／削除)に伴い、ＧＷ間で各テーブル２３〜２６の同期をとって更新する(同期処理を行う)機能について説明する。【０１０５】
図１３は、第２実施形態における同期処理の例を示すシーケンス図である。図１３では、ＧＷ装置ＧＷ−ＢとＧＷ装置ＧＷ−Ｃとの間でグループ１の通信のためのトンネルが確立され、例えば、図１に示した端末装置ｂと端末装置ｃとの間でグループ１の通信が可能な状態となっている(ＳＱ１)。なお、ＳＱ１の時点では、グループ１には、端末装置ｂ及びｃのみが属している。【０１０６】
この状態において、例えば、ＧＷ装置ＧＷ−Ａの配下の端末装置(例えば、端末装置ａ)がグループ１に追加される(参加する)場合には、次のような処理がＧＷ間で実行される。【０１０７】
最初に、ＧＷ装置ＧＷ−Ａ(以下、「ＧＷ−Ａ」と表記)とＧＷ装置ＧＷ−Ｂ(以下、「ＧＷ−Ｂ」と表記)との間で、ＧＷ間認証が実行される(ＳＱ２)。お互いの認証が終了すると、ＧＷ−ＡとＧＷ−Ｂとの間での通信に使用されるトンネル確立手順が実行され、トンネルが確立される(ＳＱ３)。その後、ＧＷ−ＡとＧＷ−Ｂとの間の通信は、このトンネルを用いて行われる。【０１０８】
ＧＷ−Ａは、ホスト一覧要求をＧＷ−Ｂに送信する(ＳＱ４)。すると、ＧＷ−Ｂは、グループ１に属している端末装置(端末装置ｂ及びｃ)の情報を応答としてＧＷ−Ａに返信する(ＳＱ５)。端末装置の情報として、例えば、端末装置ｂ及びｃの実ＩＰアドレス及び仮想ＩＰアドレスを通知することができる。【０１０９】
次に、ＧＷ−Ａは、端末装置ａのグループ１への登録要求(ｇ１：ａ)を、ＧＷ−Ｂへ送信する(ＳＱ６)。グループ登録要求は、端末装置ａの識別情報(例えば実ＩＰアドレス)と、参加するグループの識別情報(例えば“グループ１”)とを含む。ＧＷ−Ｂは、グループ登録要求を受信すると、その確認メッセージ(ＡＣＫ)をＧＷ−Ａに返信する(ＳＱ７)。【０１１０】
次に、ＧＷ−ＡとＧＷ−Ｂとの間、及びＧＷ−ＢとＧＷ装置ＧＷ−Ｃ(以下、「ＧＷ−Ｃ」と表記)との間で、仮想ＩＰ／端末通番同期処理が実行される(ＳＱ８，ＳＱ９)。即ち、端末装置ａに対して仮想ＩＰアドレス(例えば、“ａＤ”)が割り当てられ、端末装置ａに対して端末通番(例えば“１０１”)が割り当てられ、端末装置ｂに対して端末通番(例えば“１０２”)が割り当てられ、端末装置ｃに対して端末通番(例えば“１０３”)が割り当てられる。端末装置ａに対する実ＩＰアドレス及び仮想ＩＰアドレスと、端末装置ａ,ｂ及びｃに対する端末通番は、ＧＷ−ＡとＧＷ−Ｂとの間，ＧＷ−ＢとＧＷ−Ｃとの間で交換され、共有される。【０１１１】
次に、ＧＷ−Ａ，ＧＷ−Ｂ及びＧＷ−Ｃの夫々において、管理テーブル１８(ローカルテーブル２３(図３)及びグローバルテーブル２４(図４))の設定(更新)処理が実行される(ＳＱ１０，ＳＱ１１，ＳＱ１２)。即ち、各テーブル２３及び２４に対するＲ−ＩＰ，ＳＮ，Ｖ−ＩＰ，ＧＮ，ＤＮ，及びＬＴＮの設定が実行される。【０１１２】
次に、ＧＷ−ＡとＧＷ−Ｂとの間，及びＧＷ−ＢとＧＷ−Ｃとの間で、転送通番同期処理が実行される(ＳＱ１３，ＳＱ１４)。即ち、ＧＷ間で矛盾のないように、各ＧＷ装置が使用するＬＴＮ及びＴＮが相互に交換される。【０１１３】
次に、ＧＷ−Ａ，ＧＷ−Ｂ及びＧＷ−Ｃの夫々において、通番テーブル１９(受信転送テーブル２５(図５)及び送信転送テーブル２６(図６))の設定(更新)処理が実行される(ＳＱ１５，ＳＱ１６，ＳＱ１７)。即ち、各テーブル２５及び２６に対するＴＮ，ＬＴＮ，ＧＮ及び出力ポート(Outport)の設定が実行される。【０１１４】
通番テーブル１９の設定が完了すると、端末装置ａがグループ１に属して端末装置ｂ又はｃとのメンバ間通信が可能な状態となる(ＳＱ１８)。【０１１５】
なお、上述した処理は、或るグループへの端末装置(ホスト)の追加について説明した。端末装置ａの削除の場合には、ＧＷ−Ｂ及びＧＷ−Ｃに端末装置ａの削除(グループ削除要求)が通知された後、ＳＱ８〜ＳＱ１７と同様の処理が実行されて各ＧＷ装置における管理テーブル１８及び通番テーブル１９の更新(端末装置ａに係る情報の削除)が実行される。その後、ＧＷ−ＡとＧＷ−Ｂとの間に設けられたトンネルが削除される。【０１１６】
マルチキャストアドレスの追加／削除，グループの追加／削除においても、端末装置の追加／削除と同様の手順が実行され、ＧＷ装置間で、管理テーブル１８及び通番テーブル１９の格納内容の同期が図られる。【０１１７】
なお、図１３に示したシーケンスは、例えば、ＧＷ−Ａが制御端末から端末装置ａの追加指示を受け取ったことを契機として開始される。或いは、端末装置ａが、マルチキャストグループへの参加手順と類似する手順を通じてＧＷ−Ａにグループ１への参加を表明したことを契機として開始されるようにしても良い。【０１１８】
〈作用効果〉
第２実施形態によれば、ＧＷ間で管理テーブル１８及び通番テーブル１９の同期をとることができ、グループに係る状態変化に適正に対応することが可能となる。【０１１９】
〔第３実施形態〕
次に、本発明の第３実施形態について説明する。第３実施形態は、第１実施形態と同様の構成を含むので、主として異なる構成について説明し、同様の構成についての説明は省略する。【０１２０】
〈構成〉
第１及び第２実施形態では、グループ内における多対多通信を想定したコラボレーション(Collaboration)構成を説明した。しかし、ホストのグループ化においては、コラボレーション構成のみではなく、サーバ−クライアント(Server-Client)構成も考慮する必要がある。即ち、グループに属するホストが、サーバと、このサーバに対してアクセスする１以上のクライアントとからなる場合である。【０１２１】
この場合、ＧＷ装置に端末装置の情報を管理する負荷がかかる。例えば、本社と各支社という社内構成で、本社のウェブサーバ(Ｗｅｂサーバ)と各支社の端末装置のようなサーバ−クライアント構成でグループ化される場合を考える。この場合、Ｗｅｂサーバ側を管理する(Ｗｅｂサーバを配下に持つ)ＧＷ装置は、各支社に存するすべての端末装置の情報をグローバルテーブル２４で管理しなければならない。また、各支社の端末装置を配下とするＧＷ装置は、殆ど通信することのない他の支社の端末情報をグローバルテーブル２４で管理しなければならない。このような不要なホスト管理を削減する方法として、第３実施形態におけるネットワークシステムは、第１実施形態で説明した構成に付加される以下の３つの構成をさらに備える。
〈１〉送信転送テーブル２６で、ＴＮと対応する折り返し転送通番(Return Transmission serial Number: RTN(折り返し宛先識別番号に相当))を管理する(図１４に示した送信転送テーブル２６−１参照)。ＲＴＮ値として、パケットの送信元を宛先とする逆方向(折り返し方向)のパケットに対して設定されるＴＮ値と同じ値が設定される。
〈２〉異なるＧＷ装置へ送信されるＩＰパケットのＧＷヘッダに、ＲＴＮ及び折り返しグループ通番(Return Group serial Number: RGN)を追加設定する。このとき、ＲＧＮとして、自装置に対応するＧＮ(自ＧＮ)が設定される(図１５)。
〈３〉サーバを配下に持つＧＷ装置が、クライアントからのパケットをサーバに転送する場合において、このＧＷ装置からサーバへ通知されるクライアントアドレス(仮想ＩＰアドレス)として、入力ポート値(InPort)，ＲＧＮ，ＲＴＮ，及びＳＮの組み合わせを通知する。これにより、サーバから送信元のクライアントへのパケットの返信(折り返し)を可能にする。【０１２２】
〈動作例〉
図１５は、第３実施形態における動作例を説明する図である。図１５に示すネットワークシステムの構成は、図１に示した構成とほぼ同様である。但し、グループ１には、端末装置ｃの代わりの端末装置として、サーバｓが参加している。端末装置ａ及びｂはサーバｓに対するクライアントに相当する。【０１２３】
サーバｓは、ＧＷ−Ｃの配下に属しており、実ＩＰアドレス“ｓ”を有している。サーバｓには、仮想ＩＰアドレス“ｓＤ(s-dash)”及び端末通番“２００”が割り当てられている。【０１２４】
ＧＷ−Ａ，ＧＷ−Ｂ及びＧＷ−Ｃには、それぞれ図２に示したＧＷ装置１０が適用される。但し、ＧＷ−Ａ，ＧＷ−Ｂ，ＧＷ−Ｃの送信転送テーブルは、図１４に示した送信転送テーブル２６−１のようなデータ構造を有する。【０１２５】
以下、図１５において、クライアントたる端末装置ａがサーバｓへ向けてＩＰパケットを転送する場合(クライアント→サーバ通信)の動作について説明する。端末装置ａは、サーバｓ宛てのＩＰパケット(DA=sD, SA=a)をＧＷ−Ａに向けて送信する。ＧＷ−Ａは、ＩＰパケットを受信すると、ＩＰパケットに対する転送処理を行う。【０１２６】
図１６は、ＧＷ−Ａが有するローカルテーブル２３Ａ，グローバルテーブル２４Ａ，受信転送テーブル２５Ａ及び送信転送テーブル２６−１Ａの格納内容を示す図であり、図１７は、ＧＷ−Ａによる処理を示すフローチャートである。【０１２７】
図１７に示す処理は、図８に示したＧＷ−Ａにおける処理ステップと同様の処理ステップを含んでおり、同一の処理ステップには、同一のステップ番号が付与されている。第３実施形態では、転送通番処理部１４(図２)による処理(ステップＳ０８Ａ，Ｓ０９Ａ)が第１実施形態と異なる。【０１２８】
ステップＳ０８Ａでは、転送通番処理部１４は、ヘッダ処理部１３から指定されたＬＴＮ“１”(図１６のテーブル２４Ａから得られる)を元に、送信転送テーブル２６−１Ａ(図１６)を参照し、ＬＴＮ“１”に対応するＴＮ“２”，ＧＮ“１０”及びＲＴＮ“１”を取得し、ＧＷヘッダに設定する。【０１２９】
ステップＳ０９Ａでは、転送通番処理部１４は、ＬＴＮ“１”に対応する出力ポート値“ＡＢ”を取得するとともに、ＧＷ−ＡにおけるＧＮ(自ＧＮ)“１”をＲＧＮとしてＧＷヘッダに設定する。このように、ＲＴＮ及びＲＧＮの値として、カプセル化パケットの送信方向と逆方向のカプセル化パケットにおいてＴＮ及びＧＮとして設定される値が設定される。【０１３０】
その後、図１５に示すように、ＴＮ“２”，ＧＮ“１０”，ＤＮ“２００”(サーバｓの端末通番)，ＳＮ“１０１”，ＲＴＮ“１”及びＲＧＮ“１”を含むＧＷヘッダを有するＩＰパケット(カプセル化パケット)が、出力ポート“ＡＢ”からグローバル側ネットワークとしてのネットワークＸへ送出される。【０１３１】
カプセル化パケットは、トンネルを通ってＧＷ−Ｂに到着する。すると、ＧＷ−Ｂは、カプセル化パケットに対する転送処理を実行する。図１８は、ＧＷ−Ｂが有するローカルテーブル２３Ｂ，グローバルテーブル２４Ｂ，受信転送テーブル２５Ｂ及び送信転送テーブル２６−１Ｂの格納内容を示す図であり、図１９は、ＧＷ−Ｂによる処理を示すフローチャートである。【０１３２】
図１９に示す処理は、図１０に示した第１実施形態におけるＧＷ−Ｂの処理ステップと同様の処理ステップを含んでおり、同一の処理ステップには、同一のステップ番号が付与されている。第３実施形態では、転送通番処理部１４(図２)による処理において、ステップＳ２５(図１０)の代わりのステップＳ２５Ａが設けられ、且つステップＳ２５ＡとステップＳ２６(図１０)との間に、追加に係るステップＳ２５Ｂが設けられている。【０１３３】
ステップＳ２５Ａでは、転送通番処理部１４は、ヘッダ処理部１３から指定されたＬＴＮ“１”(図１８のテーブル２４Ｂから得られる)を元に、送信転送テーブル２６−１Ｂ(図１８)を参照し、ＬＴＮ“１”に対応するＴＮ“１”，ＧＮ“２０”及びＲＴＮ“３”を取得し、ＧＷヘッダに設定する。【０１３４】
ステップＳ２６Ａでは、転送通番処理部１４は、ＧＷ−ＢにおけるＧＮ(自ＧＮ)“１０”をＲＧＮに指定し、ＧＷヘッダに設定する。【０１３５】
その後、図１５に示すように、ＧＷヘッダの内容が、ＴＮ“１”，ＧＮ“２０”，ＲＴＮ“３”及びＲＧＮ“１０”に書き換えられたカプセル化パケットが、ＬＴＮで指定された出力ポート“ＢＣ”から、グローバル側ネットワークであるネットワークＹへ送出される。【０１３６】
カプセル化パケットは、ＧＷ−Ｃにおける入力ポート“ＣＢ”で受信される。すると、ＧＷ−Ｃは、カプセル化パケットに対する転送処理を実行する。図２０は、ＧＷ−Ｃが有するローカルテーブル２３Ｃ，グローバルテーブル２４Ｃ，受信転送テーブル２５Ｃ及び送信転送テーブル２６−１Ｃの格納内容を示す図であり、図２１は、ＧＷ−Ｃによる処理を示すフローチャートである。【０１３７】
図２０に示すように、第３実施形態におけるグローバルテーブル２４Ｃには、第１実施形態と異なり、ＧＷ−Ｃ配下のホスト(端末装置)に対するエントリは格納されない。【０１３８】
図２１に示す処理は、図１２に示した第１実施形態におけるＧＷ−Ｃの処理ステップと同様の処理ステップを含んでおり、同一の処理ステップには、同一のステップ番号が付与されている。第３実施形態では、転送通番処理部１４(図２)による処理において、ステップＳ３５(図１２)の代わりのステップＳ３５Ａが設けられている。また、ヘッダ処理部１３(図２)による処理において、ステップＳ３６(図１２)の代わりに、ステップＳ３６Ａ及びステップＳ３６Ｂが設けられている。【０１３９】
図２１のステップＳ３４において、転送通番処理部１４は、ＧＷヘッダのＴＮに対応するＬＴＮ“LOCAL”を受信転送テーブル２５Ｃ(図２０)から得る。すると、転送通番処理部１４は、送信転送テーブル２６−Ｃから、ＧＮ“１０”及び出力ポート値“ＣＢ(値の例：203(0xCB))”を取り出し、これらをＲＧＮ及び出力ポートの指定情報に設定し、指定情報をカプセル化パケットとともにヘッダ処理部１３へ転送する(ステップＳ３５Ａ)。ここに、出力ポート値“ＣＢ”は、カプセル化パケットの入力ポート値に相当する。【０１４０】
ヘッダ処理部１３は、ＩＰパケットのＳＡを自動生成する(ステップＳ３６Ａ)。即ち、ヘッダ処理部１３は、カプセル化パケットのＧＷヘッダからＳＮ“１０１”及びＲＴＮ“３”を取り出す。続いて、ヘッダ処理部１３は、指定情報としての出力ポート値(カプセル化パケットの入力ポート値)“ＣＢ”，ＲＧＮ“１０”，ＲＴＮ“３”，及びＳＮ“１０１”が“出力ポート．ＲＧＮ．ＲＴＮ．ＳＮ”の順で並べられたときに得られる値“203(0xCB).10.3.101”(IPv4：32bitの場合)を、送信元のクライアント(端末装置ａ)に対するグローバルアドレス(仮想ＩＰアドレス“ａＤ”)として決定し、この“ａＤ”をカプセル化パケットのＴＣＰ／ＩＰヘッダにおけるＳＡフィールドに設定(格納)する。このようなＳＡの自動生成を行うため、出力ポート値，ＲＧＮ(ＧＮ)，ＲＴＮ(ＴＮ)，ＳＮ(ＤＮ)の値は、それぞれ８ビットで表現されるのが好ましい(ＩＰｖ４の場合)。【０１４１】
続いて、ヘッダ処理部１３は、ＧＷヘッダのＳＮ“２００”に対応するＲ−ＩＰ“ｓ”をローカルテーブル２３Ｃ(図２０)から検索し、ＴＣＰ／ＩＰヘッダのＤＡフィールドに設定(格納)する(ステップＳ３６Ｂ)。【０１４２】
その後、ＧＷヘッダが削除され、ＩＰパケットがローカル側ネットワークＬＮ３へ送出される。その後、ＩＰパケットは、サーバｓにて受信される。【０１４３】
図２２は、サーバｓが、端末装置ａへＩＰパケット(例えば、クライアントからの要求に対する応答パケット)を送信する場合(サーバ→クライアント通信時)における動作例を示す図である。図２３は、サーバｓから端末装置ａ(クライアント)宛てのＩＰパケットを受信した場合における処理を示すフローチャートである。【０１４４】
図２２に示すように、サーバｓは、端末装置ａにＩＰパケットを送信する場合には、ＳＡにＧＷ−Ｃから通知された仮想ＩＰアドレス“ａＤ”が設定され、且つＤＡにサーバｓの実ＩＰアドレス“ｓ”がＴＣＰ／ＩＰヘッダに設定されたＩＰパケットを、ＧＷ−Ｃに送信する。【０１４５】
ＧＷ−Ｃでは、サーバｓからのＩＰパケットがローカル側インタフェース１１で受信されると(ステップＳ３０１)、ヘッダ処理部１３が、ＩＰパケットのＤＡを参照し、ＤＡがグローバルテーブル２４Ｃ(図２０)に存在するか否かを判定する(ステップＳ３０２)。このとき、ＤＡがグローバルテーブル２４Ｃに存在しない場合(Ｓ３０２；ＮＯ)には、処理がステップＳ３０３(図２４)に進み、ＤＡがグローバルテーブル２４Ｃに存在する場合(Ｓ３０２；ＹＥＳ)には、処理がステップＳ３０８に進む。【０１４６】
この動作例では、ＩＰパケット中のＤＡ“ａＤ”はグローバルテーブル２４Ｃに存在しない。このため、ヘッダ処理部１３は、処理をステップＳ３０３に進める。【０１４７】
ステップＳ３０３では、ヘッダ処理部１３は、ＤＡが出力ポート，ＧＮ，ＴＮ及びＤＮに変換可能か否かを判定する。例えば、ＤＡ(ＩＰｖ４)を８ビット毎に分解した場合における先頭の値が出力ポート値(“ＣＢ”)と同じ値になるか否かを判定する。ヘッダ処理部１３は、出力ポート値“ＣＢ”を予め知っている(自身がアクセス可能な記憶領域に保管している)。【０１４８】
先頭の値が出力ポート値と同じ値にならない場合(Ｓ３０３；ＮＯ)には、ヘッダ処理部１３は、ＩＰパケットが通常のＩＰパケットであると判定し、ＩＰパケットをＩＰルーティング処理部１５へ転送する(ステップＳ３０４)。【０１４９】
この動作例では、ＤＡ“ａＤ”は、出力ポート，ＲＧＮ，ＲＴＮ，及びＳＮの値をそれぞれ８ビットで規定し、これらを直列に合成して得られた値である。このため、“ａＤ”に対して合成処理と逆の分解処理を行えば、これらの各値が得られる。従って、ヘッダ処理部１３は、“ａＤ”の先頭から８ビットまでの値として、出力ポート値“ＣＤ”と同じ値を得ることができる。よって、ヘッダ処理部１３は、ステップＳ３０３にて“ＹＥＳ”との判定を行い、処理をステップＳ３０５に進める。【０１５０】
ステップＳ３０５では、ヘッダ処理部１３は、ＩＰパケットにＧＷヘッダを付加し、ＧＮ，ＴＮ及びＤＮの値を、ＤＡから抽出してＧＷヘッダに設定する(ステップＳ３０５)。即ち、ヘッダ処理部１３は、分解処理によって得られるＲＧＮ“１０”，ＲＴＮ“３”及びＳＮ“１０１”の値を、それぞれ、ＧＮ“１０”，ＴＮ“１０”，ＤＮ“１０１”としてＧＷヘッダに設定する。【０１５１】
次に、ヘッダ処理部１３は、ＩＰヘッダのＳＡ“ｓ”(Ｒ−ＩＰ)に対応するＳＮをローカルテーブル２３Ｃ(図２０)から検索し、ＧＷヘッダに設定する(ステップＳ３０６)。【０１５２】
次に、ヘッダ処理部１３は、ＤＡ“ａＤ”から得られる出力ポート値“ＣＤ”を、出力ポートの指定情報に設定し、指定情報とＧＷヘッダを有するＩＰパケット(カプセル化パケット)とをトンネル処理部１６へ向けて転送する(ステップＳ３０７)。【０１５３】
この場合、転送通番処理部１４は、カプセル化パケットにＴＮやＧＮが設定されていることと、出力ポートの指定情報をカプセル化パケットとともに受け取ったこととの少なくとも一方を条件として、自身の処理を行う必要がないと判定する。この場合、転送通番処理部１４は、カプセル化パケット(ＧＷヘッダ)に対する処理を行うことなく、カプセル化パケット及び指定情報をトンネル処理部１６に転送する。【０１５４】
その後、ステップＳ３１４に処理が進み、トンネル処理部１６でカプセル化パケットに対する暗号化処理等が行われた後、指定情報で特定される出力ポート“ＣＤ”から、カプセル化パケットがグローバル側ネットワークたるネットワークＹへ送出される。【０１５５】
なお、端末装置ａ→サーバｓの通信では、ＧＷ−Ａは、ＲＴＮやＲＧＮを受信しなくても、上述した方法で対応するＴＮ及びＧＮを設定できる。このため、  サーバｓからクライアント(端末装置ａ)へカプセル化パケット(折り返しパケット)が送信される場合には、ＲＧＮ及びＲＴＮはＧＷヘッダに設定されない。従って、折り返しパケットのＧＷヘッダにおけるＲＧＮ及びＲＴＮの格納フィールドは省略可能である。【０１５６】
なお、図２３に示すステップＳ３０８〜Ｓ３１４の処理は、図８に示したステップＳ０４〜Ｓ１０と同様の処理である。これらのステップＳ３０８〜Ｓ３１４の処理は、コラボレーション構成を持つグループ１と異なるグループに対するパケット転送処理のために用意されている。【０１５７】
図２２に示すように、カプセル化パケットは、ネットワークＹ上に構築されたトンネルを通じてＧＷ−Ｂに受信される。ＧＷ−Ｂでは、図１８に示したテーブル２３Ｂ，２４Ｂ，２５Ｂ及び２６−１Ｂを用いて、図１９に示した処理が実行される。これによって、受信カプセル化パケットに設定されたＴＮ“３”及びＧＮ“１０”がＴＮ“１”及びＧＮ“１”に書き換えられたカプセル化パケットが、ＧＷ−Ｂの出力ポートＢＡからネットワークＸに送出される。【０１５８】
ＧＷ−Ａは、カプセル化パケットを受信すると、図１２に示したＧＷ−Ｃの処理と同様の処理を実行する。これによって、ＧＷヘッダが削除され、且つＤＡ“ａ”及びＳＡ“ｓＤ”が設定されたＩＰパケットがＧＷ−Ａから端末装置ａに転送される。【０１５９】
〈作用効果〉
第３実施形態では、クライアント−サーバ構成を有するグループ１におけるグループ内通信において、クライアント(端末装置ａ)からサーバｓへのＩＰパケット転送において、ＧＷヘッダに、サーバｓからクライアント(端末装置ａ)へ送信される逆方向のパケット(折り返しパケット)において設定されるＧＮ及びＴＮがＲＧＮ及びＲＴＮとして設定される。【０１６０】
また、第３実施形態では、サーバｓを配下に持つＧＷ装置(ＧＷ−Ｃ)において、カプセル化パケットの入力ポート(折り返しパケットの出力ポート)，ＲＧＮ，ＲＴＮ及びＳＮの値を直列に接続(合成)した値がクライアントの仮想ＩＰアドレス“ａＤ”として自動生成され、ＩＰパケットのＳＡに設定されてサーバｓに与えられる。【０１６１】
従って、サーバｓが、このＳＡ“ａＤ”をＤＡに設定した折り返しパケットをＧＷ−Ｃに送信すれば、ＧＷ−Ｃは、このＤＡ“ａＤ”から折り返しパケットのＧＷヘッダに設定すべきＧＮ，ＴＮ，ＤＮ及び出力ポート値を得ることができる。これにより、転送通番処理部１４の処理が省略される。【０１６２】
以上によって、サーバｓを配下に持つＧＷ−Ｃのグローバルテーブル２４Ｃにおいて、各クライアントに係るエントリを持つ必要がなくなる。即ち、ＧＷ−Ｃにおけるクライアント情報の管理負担が減る。また、転送通番処理部１４の処理が省略されることで、ＧＷ−Ｃの処理負担が減る。【０１６３】
即ち、第３実施形態によれば、ＧＷ装置内で管理する仮想ＩＰアドレスやホスト情報を低減することができ、ＧＷ装置の管理負荷の低減を図ることができる。【０１６４】
さらに、ＧＷ−Ａのグローバルテーブル２４Ａ及びＧＷ−Ｂのグローバルテーブル２４Ｂが、クライアントに相当するグループメンバのエントリ(クライアント端末情報)を持たない構成となっている(図１６，図１８参照)。即ち、第３実施形態では、第１実施形態と異なり、クライアントに相当する端末装置のＶ−ＩＰを管理しない。このため、第３実施形態では、クライアント間でグループ内通信を行うことはできない。【０１６５】
従って、例えば、或るグループが大多数の家電機器とその家電機器を管理するメーカのサーバとで構成される場合において、或る家庭の家電機器から異なる家庭の家電機器に対して通信可能となるのを抑えることができる。【０１６６】
また、上記した構成によって、クライアントを配下に持つＧＷ装置の管理負担が軽減される。また、ＧＷ装置で管理の必要がないことから、クライアントとしての端末装置には、仮想ＩＰアドレスを割り当てる必要がない。【０１６７】
〔第４実施形態〕
次に、本発明の第４実施形態について説明する。第４実施形態は、第１実施形態と同様の構成を含むので、主として異なる構成について説明し、同様の構成についての説明は省略する。【０１６８】
第１実施形態に示したネットワークシステムでは、ＧＷ装置間におけるパケット転送処理が、ＩＰルーティングテーブルと異なる独自のテーブル(受信転送テーブル２５及び送信転送テーブル２６)を用いて実行される。第４実施形態では、転送通番(ＴＮ/ＬＴＮ)によるＱｏＳの設定を可能とする方法について説明する。【０１６９】
例えば、図１に示すネットワークシステムにおいて、端末装置ａと端末装置ｃとが音声用マルチキャストアドレス“Multi1”を用いて通信している一方で、端末装置ａと端末装置ｂとの間でＦＴＰ(File Transfer Protocol)による通信を行っている場合を仮定する。【０１７０】
この場合、ＧＷ−Ｂのような中継処理を行うＧＷ装置で、端末装置ｂへのＦＴＰパケット及び端末装置ｃへの音声パケットが滞留し、ＧＷ−Ｂ内でスタックされることが起こり得る。このとき、ＧＷ−Ｂがパケット送信のために単純なシーケンシャル処理を行う(パケットの到着順で転送処理を行う)と、音声パケット(“Multi1”)に遅延が生じ、通話品質が低下するおそれがある。そこで、ＧＷ装置は、次のような構成を持つ。【０１７１】
〈構成〉
図２５は、ＱｏＳに基づく優先制御を行うための構成例を示す図である。図２５に示す例では、転送通番処理部１４とヘッダ処理部１３及びパケット送受信部１７との間に、送信待ちキューＱ１及びＱ２と、優先制御部としての読み出し制御部２８とが設けられている。【０１７２】
即ち、転送通番処理部１４は、受信転送テーブルの参照により特定できるパケットの宛先に応じて、パケットを複数の送信待ちキューのいずれか１つ(図２５では、送信待ちキューＱ１とＱ２との一方)に蓄積する。パケットは、読み出し制御部２８によって適宜のタイミングで読み出され、その宛先に応じてヘッダ処理部１３とトンネル処理部１６(パケット送受信部１７)との一方に転送される。【０１７３】
送信待ちキューＱ１は、優先度“高”のパケットを蓄積し、送信待ちキューＱ２は、優先度“低”のパケットを蓄積する。但し、送信待ちキューの数は、優先度のレベル数に応じて決定することができる。【０１７４】
第４実施形態では、優先度は、ＴＮ(ＬＴＮ)に関連付けて定義される。図２６は、第４実施形態におけるＧＷ−Ｂの有する受信転送テーブル２５Ｂ及び送信転送テーブル２６Ｂの格納内容を示す図である。ＧＷ−Ａ及びＧＷ−Ｃが有するテーブルの格納内容は、第１実施形態と同じである(図７，図１１)。【０１７５】
図２６に示すように、受信転送テーブル２５Ｂには、優先制御フラグのオン／オフを設定するフィールドが設けられている。優先度“高”のエントリにはフラグ“ＯＮ”が設定され、優先度“低”のエントリにはフラグ“ＯＦＦ”が設定される。【０１７６】
上述した仮定状況では、ＧＷ−Ｂの有する受信転送テーブル２５Ｂ及び送信転送テーブル２６Ｂの格納内容(図２６)に応じて、例えば、ＬＴＮ“LOCAL”(ＴＮ“１”)は、優先度“低”に関連付けられ、ＬＴＮ“５”又は“６”(ＴＮ“４”又は“７”)は、優先度“高”に関連付けられる。【０１７７】
一方、ＧＷ−Ａは、Ｖ−ＩＰ“MULTI1”に対してＴＮ“４”が設定され、且つＶ−ＩＰ“ｂＤ”に対してＴＮ“１”が設定されるように、グローバルテーブル２４及び送信転送テーブル２５の格納内容が規定されている(図７)。【０１７８】
ＧＷ−Ｂの転送通番処理部１４は、受信パケットのＴＮを元に受信転送テーブル２５Ｂから対応するＬＴＮを得る。このとき、転送通番処理部１４は、優先制御フラグがオンかオフかを判定し、オンであれば、パケットを送信待ちキューＱ１へ入力し、オフであれば、パケットを送信待ちキューＱ２へ入力する。【０１７９】
従って、ＧＷ−Ａから送信される端末装置ｃ宛の音声パケット(ＴＮ“５”)は、送信待ちキューＱ１に格納される。一方、ＧＷ−Ａから送信される端末装置ｂ宛のＦＴＰパケット(ＴＮ“１”)は、送信待ちキューＱ２に格納される。【０１８０】
読み出し制御部２８は、予め規定された読み出しルールに従って、送信待ちキューＱ１及びＱ２からパケットを読み出す。例えば、読み出し制御部２８は、ルールとして、送信待ちキューＱ１にパケットが蓄積されている場合には、そのパケット優先的に読み出し、送信待ちキューＱ１にパケットが蓄積されていないことを条件として、送信待ちキューＱ２からパケットを読み出す。また、端末装置ｃから端末装置ａへ送信される音声パケット(ＴＮ“７”)も、優先度“高”の送信待ちキューＱ１に格納される。【０１８１】
このようにして、優先制御フラグ“オン”が設定されたＬＴＮ(ＴＮ)のパケットは、送信待ちキューＱ１に格納されることで、パケット処理優先スレッドに転送された状態となる。【０１８２】
なお、上記した構成において、図２５に示していないが、転送通番処理部１４からヘッダ処理部１３へ通知されるＬＴＮ，及びトンネル処理部１６へ通知される出力ポート値は、パケットの読み出しと同期をとってヘッダ処理部１３及びトンネル処理部１６に与えられる。或いは、ＬＴＮ及び出力ポート値は、パケットとともに送信待ちキューへ入力される。【０１８３】
これによって、端末装置ａと端末装置ｃとの間で送受信される音声パケットは、端末装置ａと端末装置ｂとの間で送受信されるＦＴＰパケットよりも優先的にＧＷ−Ｂから送信される。このようにして、グループ内通信において、ＱｏＳに応じた優先制御を実現することができる。【０１８４】
〈作用効果〉
第４実施形態によると、パケットの転送先(ＴＮ，ＬＴＮ)に応じて優先制御を行うことができ、通信サービスの要求するＱｏＳが満たされたグループ内通信を実現することができる。即ち、第４実施形態によれば、ＧＷ間で転送されるパケットに対するＱｏＳ制御を実現することができる。【０１８５】
〔第５実施形態〕
次に、本発明の第５実施形態について説明する。第５実施形態は、第１実施形態と同様の構成を含むので、主として異なる構成について説明し、同様の構成についての説明は省略する。【０１８６】
第１実施形態では、ホストとして、通常のＩＰ通信機能を有する端末装置やサーバを適用した例について説明した。第５実施形態では、ＧＷ装置とその配下のホストとの間にトンネルが構築され、ホストとＧＷ装置間で仮想閉鎖ネットワーク通信を実現可能にする構成について説明する。【０１８７】
〈構成〉
図２７は、第５実施形態に係るホスト４０の構成例を示す図である。図２７に示すように、ホスト４０は、ユーザ領域とカーネル領域とを有し、両者の境界には、実ＬＡＮインタフェース(実ＬＡＮ−ＩＦ)４１と、仮想ＬＡＮインタフェース(仮想ＬＡＮ−ＩＦ)４２とが設けられている。【０１８８】
ユーザ領域には、ユーザによって使用されるアプリケーション４３が配置されている。一方、カーネル領域には、実ＬＡＮ−ＩＦ４２に接続された物理ＬＡＮドライバ４４と、物理ＬＡＮドライバ４４に接続されたＬＡＮカード４５とが配置されている。【０１８９】
また、カーネル領域には、仮想ＬＡＮ−ＩＦ４１に接続された仮想ＬＡＮドライバ４６と、ヘッダ処理部１３，転送通番処理部１４及びトンネル処理部１６が設けられ、トンネル処理部１６は物理ＬＡＮドライバ４４に接続されている。さらに、カーネル領域には、ヘッダ処理部１３で参照される管理テーブル１８と、転送通番処理部１４で参照される通番テーブル１９とが設けられている。【０１９０】
ヘッダ処理部１３，転送通番処理部１４，トンネル処理部１６，管理テーブル１８及び通番テーブル１９は、第１実施形態で説明した構成及び機能(図２〜６)とほぼ同じである。管理テーブル１８(詳しくは、管理テーブル１８内のグローバルテーブル２４)が、本発明の第１管理テーブルに相当し、通番テーブル１９(詳しくは、通番テーブル１９内の送信転送テーブル２６)が、本発明の第２管理テーブルに相当する。【０１９１】
ホスト４０のパケット送信時には、アプリケーション４３は、送信対象のデータを含んだＩＰパケットを生成する。このとき、ホストのルーティング設定によりＩＰパケットが通常のＩＰパケットである場合には、そのＩＰパケットは実ＬＡＮ−ＩＦ４２に与えられ、グループ内通信に係るＩＰパケットである場合には、仮想ＬＡＮ−ＩＦ４１に与えられる。例えば、ホストのルーティング設定において通常の社内環境ＬＡＮがＢクラス(10.xx.xx.xx)の場合、グループ内通信に係るＩＰパケットはＣクラス(192.xx.xx.xx)を使用し、ルーティング設定としてＣクラスのＩＰパケットは仮想ＬＡＮ−ＩＦ４１へ転送するように設定する。
これにより、ＤＡの仮想ＩＰアドレスはＣクラス内での割り当てとなる。【０１９２】
通常のＩＰパケットは、物理ＬＡＮドライバ４４及びＬＡＮカード４１を経て送出される。これに対し、グループ内通信に係るＩＰパケットは、仮想ＬＡＮドライバ４６による処理を経た後、ヘッダ処理部１３，転送通番処理部１４及びトンネル処理部１６によって、第１実施形態で説明したＧＷ−Ａの処理(図８)と同様の処理を行い、ＧＷヘッダ(グループ内通信用ヘッダ)を有するカプセル化パケットを物理ＬＡＮドライバ４４に転送する。その後、カプセル化パケットは、物理ＬＡＮドライバ４４及びＬＡＮカードを経て、トンネルを介して接続されたＧＷ装置へ転送される。ＧＷ装置では、第１実施形態におけるＧＷ−Ｂで実行されたパケット転送処理(グローバル→グローバル転送：図１０)や、ＧＷ−Ｃで実行されたパケット転送処理(グローバル→ローカル転送：図１２)と同様の転送処理が実行され、相手方のホストに到着する。【０１９３】
ホスト４０は、ＧＷ装置から、通常のＩＰパケットとカプセル化パケットとを受信する。パケット受信時には、ＬＡＮカード４１で受信されたパケットは、物理ＬＡＮドライバ４４に転送される。物理ＬＡＮドライバ４４は、例えば、パケットがトンネル経由かを判定し、トンネル経由の場合には、パケットをトンネル処理部１６へ転送し、そうでなければパケットを実ＬＡＮ−ＩＦ４２へ転送する。実ＬＡＮ−ＩＦ４２は、物理ＬＡＮドライバ４４からのパケットをアプリケーション４３に渡す。【０１９４】
トンネル処理部１６へ転送されたパケットは、トンネル処理部１６，転送通番処理部１４，及びヘッダ処理部１３で、第１実施形態で説明したＧＷ−３の処理(図１２)とほぼ同様の処理を施された後、仮想ＬＡＮドライバ４６及び仮想ＬＡＮ−ＩＦ４１による処理を経てアプリケーション４３に渡される。【０１９５】
〈作用効果〉
第５実施形態では、ＧＷ装置間のトンネル化だけでなく、ＧＷ装置−ホスト間もトンネル化される。これにより、ＧＷ装置とホストとの間におけるセキュリティを向上させることができる。従って、例えば、外出先から社内のＬＡＮに接続するような場合において、通信セキュリティを確保したグループ内通信を行うことができる。【０１９６】
なお、第５実施形態で説明した端末装置は、第３実施形態のネットワークシステムに適用することができる。【０１９７】
〔その他〕
第１〜第５実施形態において説明した構成は、本発明の目的を逸脱しない範囲で適宜組み合わせることが可能である。
【図１】
0004601704.tif 000002
【図２】
0004601704.tif 000003
【図３】
0004601704.tif 000004
【図４】
0004601704.tif 000005
【図５】
0004601704.tif 000006
【図６】
0004601704.tif 000007
【図７】
0004601704.tif 000008
【図８】
0004601704.tif 000009
【図９】
0004601704.tif 000010
【図１０】
0004601704.tif 000011
【図１１】
0004601704.tif 000012
【図１２】
0004601704.tif 000013
【図１３】
0004601704.tif 000014
【図１４】
0004601704.tif 000015
【図１５】
0004601704.tif 000016
【図１６】
0004601704.tif 000017
【図１７】
0004601704.tif 000018
【図１８】
0004601704.tif 000019
【図１９】
0004601704.tif 000020
【図２０】
0004601704.tif 000021
【図２１】
0004601704.tif 000022
【図２２】
0004601704.tif 000023
【図２３】
0004601704.tif 000024
【図２４】
0004601704.tif 000025
【図２５】
0004601704.tif 000026
【図２６】
0004601704.tif 000027
【図２７】
0004601704.tif 000028