(57)【要約】【課題】IPv4のアドレス枯渇に対処し、WEBクライアントの操作性を向上させ、処理の負荷を軽減させることのできる通信装置およびその通信方法を提供。【解決手段】ゲートウェイ装置20は、ホストテーブル38のグローバル・アドレス(GA)の値をすべて同値に設定し、転送テーブル36のGAの値をすべて同値に設定し、ローカル・ポート(LP)の値をすべて同じ値に設定し、IPパケット解析部34の振分け部40でWEBクライアントからのパケット48を解析して、パケット50を振り分け、リダイレクト部44で解析の結果に応じてパケット64によりGAおよびグローバル・ポート(GP)を、要求したWEBクライアントに供給してリダイレクトし、振分け部40を介したパケット52や56に対して変換転送部42で解析し、アドレス(GA/LA：ローカル・アドレス)とポート(GP/LP)をそれぞれ相互に変換して、変換したパケット56やパケット60を転送し、コネクション確立以降の手順を繰り返す。【選択図】図１
2011077804.tif 000002
【特許請求の範囲】
【請求項１】
グローバル空間に配されたWEBクライアントとローカル空間に配されたWEBサーバの間に配される通信装置において、該装置は、
前記WEBクライアントのホスト名に対してグローバル・アドレスおよびグローバル・ポートを格納し、該グローバル・アドレスとしてすべて同じ値を設定するホストテーブルと、
前記WEBクライアントのホスト名、該ホスト名に対するグローバル・アドレスおよびグローバル・ポートを格納し、格納するグローバル・アドレスおよびグローバル・ポートに対する前記WEBサーバのローカル・アドレスおよびローカル・ポートを格納し、前記グローバル・アドレスとしてすべて同じ値を設定し、前記ローカル・ポートとしてすべて同じ値を設定する転送テーブルと、
前記WEBクライアントからのパケットを解析し、解析の結果に応じて前記グローバル・アドレスおよびグローバル・ポートを、要求したWEBクライアントに供給してHTTP（Hyper-Text Transfer Protocol）リダイレクトし、HTTPリダイレクトしたグローバル・アドレスおよびグローバル・ポートとローカル・アドレスおよびローカル・ポートとを解析し、解析したアドレスとポートをそれぞれ変換して、変換したアドレスとポートに基づくパケットを転送する解析手段とを含み、
前記解析手段は、前記WEBクライアントから供給されるパケットの宛先アドレスがホスト名を認証したサーバから提供された所定のグローバル・アドレスおよびグローバル・ポートの値か否かを判断し、供給されるパケットの供給先を振り分ける振分け手段と、
供給されるパケットから送信先のホスト名を抽出し、抽出したホスト名を前記ホストテーブルから検索し、検索により取得したグローバル・アドレスおよびグローバル・ポートを要求のあったWEBクライアントに送信し、HTTPリダイレクトするリダイレクト手段と、
前記振分け手段からのパケットを受信し、前記転送テーブルに受信したパケットが有する送信先のグローバル・アドレスと送信先のグローバル・ポートに一致するものがあるか検索し、検索結果に応じて送信先のグローバル・アドレスと送信先のグローバル・ポートを、送信先である前記WEBサーバのローカル・アドレスと送信先のローカル・ポートに変更し、変更したパケットを送信先のWEBサーバに転送し、逆に、前記WEBサーバからのパケットを受信し、前記転送テーブルに受信したパケットが有する送信元のローカル・アドレスと送信元のローカル・ポートに一致するものがあるか検索し、検索結果に応じて送信元のローカル・アドレスと送信元のローカル・ポートを、送信元である前記WEBサーバのグローバル・アドレスと送信元のグローバル・ポートに変更し、変更したパケットを前記WEBクライアントに転送する変換転送手段とを含むことを特徴とする通信装置。
【請求項２】
請求項１に記載の装置において、前記リダイレクト手段は、供給されるパケット自身が有するグローバル・アドレス値の変更を検出する監視機能ブロックと、
前記グローバル・アドレス値の変更の検出に応じて前記ホストテーブルおよび前記転送テーブルにおける該当するエントリのグローバル・アドレス値を変更する書換え機能ブロックとを含むことを特徴とする通信装置。
【請求項３】
請求項１または２に記載の装置において、前記リダイレクト手段は、ローカル空間内の前記WEBサーバがダウンしたか否かを検出するダウン監視機能ブロックと、
ダウンの検出に応じて前記ホストテーブルで該当するホスト名のエントリと前記転送テーブルのグローバル・アドレスに該当するエントリを削除する削除機能ブロックとを含むことを特徴とする通信装置。
【請求項４】
グローバル空間に配されたWEBクライアントとローカル空間に配されたWEBサーバの間に通信装置を配し、前記WEBクライアント、前記通信装置および前記WEBサーバの通信方法において、該方法は、
前記WEBクライアントから前記WEBサーバに向けてホスト名、グローバル・アドレスおよび前記グローバル・ポートを含むパケットを送信する第１の工程と、
該装置が前記パケットを受信し、該パケットの宛先アドレスが、ホスト名を認証したサーバから提供された所定のグローバル・アドレスおよびグローバル・ポートの値か否かを判断し、供給されるパケットの供給先を振り分ける振分け手段で供給されるパケットの供給先を振り分ける第２の工程と、
判断が真の場合、供給されるパケットから送信先のホスト名を抽出し、抽出したホスト名を、前記ホスト名に対するグローバル・アドレスおよびグローバル・ポートを一つのエントリとして格納するホストテーブルから検索し、検索により取得したグローバル・アドレスおよびグローバル・ポートを要求のあったWEBクライアントに送信し、HTTP（Hyper-Text Transfer Protocol）リダイレクトするリダイレクト手段で取得したグローバル・アドレスおよびグローバル・ポートを要求のあったWEBクライアントに送信し、HTTPリダイレクトする第３の工程と、
該装置から供給されたグローバル・アドレスおよびグローバル・ポートに変更した前記WEBクライアントからパケットを宛先に送信し、該WEBクライアントと該装置の間にコミュニケーションを確立する第４の工程と、
前記WEBクライアントからのリクエストを受信し、第２の工程の判断が偽の場合、前記ホスト名に対するグローバル・アドレス、グローバル・ポート、ローカル・アドレスおよびローカル・ポートを一つのエントリとして格納する転送テーブルに受信したパケットが有する送信先のグローバル・アドレスと送信先のグローバル・ポートに一致するものがあるか検索し、検索結果に応じて送信先のグローバル・アドレスと送信先のグローバル・ポートを、送信先である前記WEBサーバのローカル・アドレスと送信先のローカル・ポートに変更し、変更したパケットを送信先のWEBサーバに転送する変換転送手段でパケットのアドレスおよびポートを、グローバルなものからローカルなものに変更し、変更したパケットを宛先のWEBサーバに転送する第５の工程と、
前記WEBサーバからのパケットを受信した場合、前記転送テーブルに受信したパケットが有する送信元のローカル・アドレスと送信元のローカル・ポートに一致するものがあるか検索し、検索結果に応じて送信元のローカル・アドレスと送信元のローカル・ポートを、送信元である前記WEBサーバのグローバル・アドレスと送信元のグローバル・ポートに変更し、変更したパケットを前記WEBクライアントに転送する変換転送手段でパケットのアドレスおよびポートを、ローカルなものからグローバルなものに変更し、変更したパケットを前記WEBクライアントに転送する第６の工程とを含み、
以後、該方法は、第５および第６の工程を繰り返し、
前記ホストテーブルは、前記グローバル・アドレスの値をすべて同じ値に設定し、
前記転送テーブルは、前記グローバル・アドレスの値をすべて同じ値に設定し、前記ローカル・ポートの値をすべて同じ値に設定することを特徴とする通信方法。
【請求項５】
請求項４に記載の方法において、該方法は、ホスト名に対するグローバル・アドレスの値が他の値に変更されたか否かを所定の周期で監視する監視機能ブロックで前記グローバル・アドレスの変更を監視する第７の工程と、
前記グローバル・アドレスの変更を検出した際に、前記ホストテーブルおよび前記転送テーブルのグローバル・アドレスの値を書き換える書換え機能ブロックで前記グローバル・アドレスの値を書き換える第８の工程と、
該装置から変更したグローバル・アドレスへの書換え指示を、動的に更新する機能を有するホスト名を認証したサーバに送り、前記変更したグローバル・アドレスに書き換える第９の工程と、
前記動的に更新する機能を有するホスト名を認証したサーバから要求を出したことのあるWEBクライアントに前記変更したグローバル・アドレスへのアドレス変更を指示し、前記変更したグローバル・アドレスに書き換える第10の工程とを含むことを特徴とする通信方法。
【請求項６】
請求項４または５に記載の方法において、該方法は、ローカル空間内の前記WEBサーバがダウンしたか否かを検出するダウン監視機能ブロックで前記WEBサーバのダウンを監視し、
ダウンの検出に応じて前記ホストテーブルで該当するホスト名のエントリと前記転送テーブルのグローバル・アドレスに該当するエントリを削除する削除機能ブロックでそれぞれ該当するエントリを削除することを特徴とする通信方法。
【請求項７】
グローバル空間に配されたWEBクライアントとローカル空間に配されたWEBサーバの間に配される通信装置において、
該通信装置は、前記WEBクライアントから供給されるパケットの宛先アドレスがホスト名を認証したサーバから提供された所定のグローバル・アドレスおよびグローバル・ポートの値か否かを判断し、供給されるパケットの供給先を振り分ける振分け手段と、
供給されるパケットから送信先のホスト名を抽出し、抽出したホスト名を前記ホストテーブルから検索し、検索により取得したグローバル・アドレスおよびグローバル・ポートを要求のあったWEBクライアントに送信し、HTTP（Hyper-Text Transfer Protocol）リダイレクトするリダイレクト手段と、
前記WEBクライアントのホスト名に対してグローバル・アドレスおよびグローバル・ポートを格納し、該グローバル・アドレスとしてすべて同じ値を設定するホストテーブルとを含むリダイレクト装置、および
前記WEBクライアントのホスト名、該ホスト名に対するグローバル・アドレスおよびグローバル・ポートを格納し、格納するグローバル・アドレスおよびグローバル・ポートに対する前記WEBサーバのローカル・アドレスおよびローカル・ポートを格納し、前記グローバル・アドレスとしてすべて同じ値を設定し、前記ローカル・ポートとしてすべて同じ値を設定する転送テーブルと、
前記振分け手段からのパケットを受信し、前記転送テーブルに受信したパケットが有する送信先のグローバル・アドレスと送信先のグローバル・ポートに一致するものがあるか検索し、検索結果に応じて送信先のグローバル・アドレスと送信先のグローバル・ポートを、送信先である前記WEBサーバのローカル・アドレスと送信先のローカル・ポートに変更し、変更したパケットを送信先のWEBサーバに転送し、逆に、前記WEBサーバからのパケットを受信し、前記転送テーブルに受信したパケットが有する送信元のローカル・アドレスと送信元のローカル・ポートに一致するものがあるか検索し、検索結果に応じて送信元のローカル・アドレスと送信元のローカル・ポートを、送信元である前記WEBサーバのグローバル・アドレスと送信元のグローバル・ポートに変更し、変更したパケットを前記WEBクライアントに転送する変換転送手段とを含むゲートウェイ装置を有することを特徴とする通信装置。
【請求項８】
請求項７に記載の通信装置において、前記リダイレクト装置は、供給されるパケット自身が有するグローバル・アドレス値の変更を検出する監視機能ブロックと、
前記グローバル・アドレス値の変更の検出に応じて前記ホストテーブルおよび前記転送テーブルにおける該当するエントリのグローバル・アドレス値を変更する書換え機能ブロックとを含むことを特徴とする通信装置。
【請求項９】
請求項７または８に記載の通信装置において、前記リダイレクト装置は、ローカル空間内の前記WEBサーバがダウンしたか否かを検出するダウン監視機能ブロックと、
ダウンの検出に応じて前記ホストテーブルで該当するホスト名のエントリと前記転送テーブルのグローバル・アドレスに該当するエントリを削除する削除機能ブロックとを含むことを特徴とする通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置およびその通信方法に関するものであり、とくに、通信装置は、グローバルIPv4（Internet Protocol version 4）アドレスを一つのグローバル・アドレスで代表し、代表したグローバル・アドレスを共有して管理し、グローバル空間のWEBクライアントとローカル空間に位置する複数のWEBサーバを中継する装置に関するものである。また、通信方法は、グローバルIPv4アドレスを一つのグローバル・アドレスで代表し、代表したグローバル・アドレスを共有して管理し、グローバル空間のWEBクライアントとローカル空間に位置する複数のWEBサーバを中継する場合におけるアドレス共有通信手順に関するものである。
【背景技術】
【０００２】
一般的に、WEBクライアントがIPネットワークを介して様々なアプリケーションを享受しようとする場合、WEBクライアントは、IPネットワークを介して、アプリケーションを収容するWEBサーバとピアツゥピア接続させてグローバル空間に配して通信する。このように接続することにより、WEBサーバにはアプリケーションごとにIPアドレスが付与され、識別される。また、たとえば、プログラム処理するアプリケーションごとにWEBサーバは、一般的に設けることが多い。したがって、グローバル空間やローカル空間においてWEBサーバは、増加する傾向にある。この増加によって、IPv4におけるアドレスの枯渇が懸念されている。このため、一つのIPアドレスを複数のWEBサーバで共存ずるという要求が高まりつつある。
【０００３】
このような要求を満たすために、所定機能付のゲートウェイ装置は、大規模なデータセンタを設け大量のメモリを用いることになるから、所定機能付のゲートウェイ装置は、非常に高価な機器になってしまう。所定機能とは、ネットワーク・アドレスの枯渇に対する一つの処理方法としてRFC（Request For Comments）1631で提案されているNAT（Network Address Translator）機能である。
【０００４】
具体的に、ローカルネットワーク（LAN）には、ローカルIPアドレスまたはプライベートIPアドレスが付された、複数のWEBサーバが接続されて、収容されている。以後、簡略化のため、グローバルIPアドレスやローカルIPアドレス等における記載をグローバル・アドレスやローカル・アドレスと記述する。NAT機能は、WEBサーバそれぞれに対して一つのグローバル・アドレスを共有して外部のグローバル・アドレスを有する装置と通信する。
【０００５】
このようなNAT機能を用いてアドレス変換する装置が提案されている。特許文献１はアドレス変換機能付通信装置およびマルチメディア通信方法であり、特許文献２はアドレス変換機能付ゲートウェイ装置およびそのアドレス変換方法である。
【０００６】
このような場合、非特許文献１に示すように、所定の機能が考慮されたゲートウェイ装置を用いることが望まれる。この所定機能付のゲートウェイ装置は、HTTP（Hyper-Text Transfer Protocol）のクライアントとTCP（Transmission Control Protocol）のコネクションを終端し、HTTPメッセージを解析し、転送する機能を有している。
【０００７】
また、アドレス変換方式の一つとしてIPマスカレードまたはNAPT（Network Address Port Translation）がある。上述したNATに類似する機能であり、IPアドレスに加えて、TCP/UDP（Transmission Control Protocol/User Datagram Protocol）のポート番号も変換する点で異なっている。この変換機能により、LAN（Local Area Network）上にある複数台の通信端末装置やWEBサーバが同時に一つのIPアドレスを共有してインターネット接続を実現している。
【０００８】
ただし、マルチメディア・アプリケーションは、IPマスカレードを利用すると通信できなくなることが知られている。
【０００９】
このように、これまでは、グローバル空間のネットワークに接続された一つの装置に対してプライベート空間のネットワークに接続された複数の装置という、一対多の接続関係におけるネットワーク層までの通信が実現されてきている。ただし、IPマスカレードは、ローカル空間のネットワークに接続された複数の装置からグローバル空間のネットワークに接続された一つの装置への同時アクセスする一方向だけの通信を効率よく実現させるように考慮されている点を注意しておきたい。NAT機能は、グローバル空間の装置とプライベート空間の装置とで一対一のアドレス変換を規定しているに過ぎない。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開2002−152260号公報
【特許文献２】特開2003−324482号公報
【非特許文献】
【００１１】
【非特許文献１】M. Holdrege、“RFC2663- IP Network Address Translator (NAT) Terminology andConsideration”、 [online]、インターネット協会、平成10年、８月、[平成21年9月10日検索]、インターネット:〈URL:http://www.faqs.org/rfcs/rfc2663.html〉
【発明の概要】
【発明が解決しようとする課題】
【００１２】
ところで、IPv4におけるアドレスの枯渇対策を検討した場合、WEBサーバをローカル・アドレス空間に配して対応させることが考えられる。この場合、あらかじめ、WEBクライアントは、DNS（Domain Name System）サーバから完全修飾ドメイン名（Fully Qualified Domain Name）に対応するグローバル・アドレスを取得しておく。
【００１３】
ここで、FQRNは、ネットワーク上、すなわちインターネットやイントラネットのようなTCP/IPネットワークにおいて、ドメイン名、サブドメイン名、ホスト名等をすべて省略せずに指定してドメイン名を記述する方式のことである。
【００１４】
WEBクライアントからの通信を実現するため、所定機能付の装置（ゲートウェイ装置）は、グローバル空間のWEBクライアントと、プライベート空間、すなわちローカルネットに接続されたWEBサーバとの間のTCP情報すべてを保持することが要求される。
【００１５】
また、最近のWEBアプリケーションを実行すると、WEBアプリケーションは、一つの画面を表示する上でたとえば、数十個のTCPセッションを同時に発生する傾向が大きい。これは、グローバル空間のWEBクライアントから要求があると、ローカル空間の複数のWEBサーバが受けた要求に対して同時に動作させられる可能性が大きいことを意味する。
【００１６】
しかしながら、WEBサーバにおけるアプリケーションを実行させる際、グローバル空間のWEBクライアントは、ホストヘッダに格納されたグローバル・アドレスにアクセスする、すなわち送信先のドメイン名を有するHTTPメッセージを、所定機能付のゲートウェイ装置に送る。このとき、WEBサーバは、アプリケーション層にアクセスするとき、標準仕様でポート番号“80”の一つだけに限定される。したがって、所定機能付のゲートウェイ装置は、複数のWEBサーバをアクセスするように収容できない。
【００１７】
所定機能付のゲートウェイ装置は、TCPセッションを受信し、非特許文献１で規定しているように、順次、WEBアプリケーションを動作に応じて各TCPセッションを終端し、各HTTPメッセージを解析または識別し、解析によって得られたグローバル・アドレスをローカル・アドレスに変換して、このローカル・アドレスを有するWEBサーバにHTTPメッセージを転送する。
【００１８】
WEBクライアントは、これらの手順を手動操作する場合、所定機能付のゲートウェイ装置に複数回にわたって操作することになり、煩雑な操作を余儀なくされる。煩雑な操作にともない所定機能付のゲートウェイ装置は、受信したデータの解析といった処理能力の負荷も増大してしまう。
【００１９】
本発明はこのような課題に鑑み、IPv4のアドレス枯渇に対処し、WEBクライアントの操作性を向上させ、処理の負荷を軽減させることのできる通信装置およびその通信方法を提供することを目的とする。
【課題を解決するための手段】
【００２０】
本発明は上述の課題を解決するために、グローバル空間に配されたWEBクライアントとローカル空間に配されたWEBサーバの間に配される通信装置において、この装置は、WEBクライアントのホスト名に対してグローバル・アドレスおよびグローバル・ポートを格納し、このグローバル・アドレスとしてすべて同じ値を設定するホストテーブルと、WEBクライアントのホスト名、このホスト名に対するグローバル・アドレスおよびグローバル・ポートを格納し、格納するグローバル・アドレスおよびグローバル・ポートに対するWEBサーバのローカル・アドレスおよびローカル・ポートを格納し、グローバル・アドレスとしてすべて同じ値を設定し、ローカル・ポートとしてすべて同じ値を設定する転送テーブルと、WEBクライアントからのパケットを解析し、解析の結果に応じてグローバル・アドレスおよびグローバル・ポートを、要求したWEBクライアントに供給してHTTP（Hyper-Text Transfer Protocol）リダイレクトし、HTTPリダイレクトしたグローバル・アドレスおよびグローバル・ポートとローカル・アドレスおよびローカル・ポートとを解析し、解析したアドレスとポートをそれぞれ変換して、変換したアドレスとポートに基づくパケットを転送する解析手段とを含み、解析手段は、WEBクライアントから供給されるパケットの宛先アドレスがホスト名を認証したサーバから提供された所定のグローバル・アドレスおよびグローバル・ポートの値か否かを判断し、供給されるパケットの供給先を振り分ける振分け手段と、供給されるパケットから送信先のホスト名を抽出し、抽出したホスト名をホストテーブルから検索し、検索により取得したグローバル・アドレスおよびグローバル・ポートを要求のあったWEBクライアントに送信し、HTTPリダイレクトするリダイレクト手段と、振分け手段からのパケットを受信し、転送テーブルに受信したパケットが有する送信先のグローバル・アドレスと送信先のグローバル・ポートに一致するものがあるか検索し、検索結果に応じて送信先のグローバル・アドレスと送信先のグローバル・ポートを、送信先であるWEBサーバのローカル・アドレスと送信先のローカル・ポートに変更し、変更したパケットを送信先のWEBサーバに転送し、逆に、WEBサーバからのパケットを受信し、転送テーブルに受信したパケットが有する送信元のローカル・アドレスと送信元のローカル・ポートに一致するものがあるか検索し、検索結果に応じて送信元のローカル・アドレスと送信元のローカル・ポートを、送信元であるWEBサーバのグローバル・アドレスと送信元のグローバル・ポートに変更し、変更したパケットをWEBクライアントに転送する変換転送手段とを含むことを特徴とする。
【００２１】
また、本発明は上述の課題を解決するために、グローバル空間に配されたWEBクライアントとローカル空間に配されたWEBサーバの間に通信装置を配し、WEBクライアント、通信装置およびWEBサーバの通信方法において、この方法は、WEBクライアントからWEBサーバに向けてホスト名、グローバル・アドレスおよびグローバル・ポートを含むパケットを送信する第１の工程と、この装置がパケットを受信し、このパケットの宛先アドレスが、ホスト名を認証したサーバから提供された所定のグローバル・アドレスおよびグローバル・ポートの値か否かを判断し、供給されるパケットの供給先を振り分ける振分け手段で供給されるパケットの供給先を振り分ける第２の工程と、判断が真の場合、供給されるパケットから送信先のホスト名を抽出し、抽出したホスト名を、ホスト名に対するグローバル・アドレスおよびグローバル・ポートを一つのエントリとして格納するホストテーブルから検索し、検索により取得したグローバル・アドレスおよびグローバル・ポートを要求のあったWEBクライアントに送信し、HTTP（Hyper-Text Transfer Protocol）リダイレクトするリダイレクト手段で取得したグローバル・アドレスおよびグローバル・ポートを要求のあったWEBクライアントに送信し、HTTPリダイレクトする第３の工程と、この装置から供給されたグローバル・アドレスおよびグローバル・ポートに変更したWEBクライアントからパケットを宛先に送信し、このWEBクライアントとこの装置の間にコミュニケーションを確立する第４の工程と、WEBクライアントからのリクエストを受信し、第２の工程の判断が偽の場合、ホスト名に対するグローバル・アドレス、グローバル・ポート、ローカル・アドレスおよびローカル・ポートを一つのエントリとして格納する転送テーブルに受信したパケットが有する送信先のグローバル・アドレスと送信先のグローバル・ポートに一致するものがあるか検索し、検索結果に応じて送信先のグローバル・アドレスと送信先のグローバル・ポートを、送信先であるWEBサーバのローカル・アドレスと送信先のローカル・ポートに変更し、変更したパケットを送信先のWEBサーバに転送する変換転送手段でパケットのアドレスおよびポートを、グローバルなものからローカルなものに変更し、変更したパケットを宛先のWEBサーバに転送する第５の工程と、WEBサーバからのパケットを受信した場合、転送テーブルに受信したパケットが有する送信元のローカル・アドレスと送信元のローカル・ポートに一致するものがあるか検索し、検索結果に応じて送信元のローカル・アドレスと送信元のローカル・ポートを、送信元であるWEBサーバのグローバル・アドレスと送信元のグローバル・ポートに変更し、変更したパケットをWEBクライアントに転送する変換転送手段でパケットのアドレスおよびポートを、ローカルなものからグローバルなものに変更し、変更したパケットをWEBクライアントに転送する第６の工程とを含み、以後、この方法は、第５および第６の工程を繰り返し、ホストテーブルは、グローバル・アドレスの値をすべて同じ値に設定し、転送テーブルは、グローバル・アドレスの値をすべて同じ値に設定し、ローカル・ポートの値をすべて同じ値に設定することを特徴とする。
【００２２】
さらに、本発明は上述の課題を解決するために、グローバル空間に配されたWEBクライアントとローカル空間に配されたWEBサーバの間に配される通信装置において、この通信装置は、WEBクライアントから供給されるパケットの宛先アドレスがホスト名を認証したサーバから提供された所定のグローバル・アドレスおよびグローバル・ポートの値か否かを判断し、供給されるパケットの供給先を振り分ける振分け手段と、供給されるパケットから送信先のホスト名を抽出し、抽出したホスト名を前記ホストテーブルから検索し、検索により取得したグローバル・アドレスおよびグローバル・ポートを要求のあったWEBクライアントに送信し、HTTP（Hyper-Text Transfer Protocol）リダイレクトするリダイレクト手段と、WEBクライアントのホスト名に対してグローバル・アドレスおよびグローバル・ポートを格納し、このグローバル・アドレスとしてすべて同じ値を設定するホストテーブルとを含むリダイレクト装置、およびWEBクライアントのホスト名、このホスト名に対するグローバル・アドレスおよびグローバル・ポートを格納し、格納するグローバル・アドレスおよびグローバル・ポートに対するWEBサーバのローカル・アドレスおよびローカル・ポートを格納し、グローバル・アドレスとしてすべて同じ値を設定し、ローカル・ポートとしてすべて同じ値を設定する転送テーブルと、振分け手段からのパケットを受信し、転送テーブルに受信したパケットが有する送信先のグローバル・アドレスと送信先のグローバル・ポートに一致するものがあるか検索し、検索結果に応じて送信先のグローバル・アドレスと送信先のグローバル・ポートを、送信先であるWEBサーバのローカル・アドレスと送信先のローカル・ポートに変更し、変更したパケットを送信先のWEBサーバに転送し、逆に、WEBサーバからのパケットを受信し、転送テーブルに受信したパケットが有する送信元のローカル・アドレスと送信元のローカル・ポートに一致するものがあるか検索し、検索結果に応じて送信元のローカル・アドレスと送信元のローカル・ポートを、送信元であるWEBサーバのグローバル・アドレスと送信元のグローバル・ポートに変更し、変更したパケットをWEBクライアントに転送する変換転送手段とを含むゲートウェイ装置を有することを特徴とする。
【発明の効果】
【００２３】
本発明に係る通信装置およびその通信方法によれば、ホストテーブルには、WEBクライアントのホスト名に対するグローバル・アドレスおよびグローバル・ポートを設け、グローバル・アドレスの値をすべて同値に設定し、転送テーブルには、WEBクライアントのホスト名、このホスト名に対するグローバル・アドレス、グローバル・ポート、ローカル・アドレスおよびローカル・ポートを設け、グローバル・アドレスの値をすべて同値に設定し、ローカル・ポートの値をすべて同じ値に設定し、解析手段でWEBクライアントからのパケットを解析し、解析の結果に応じてグローバル・アドレスおよびグローバル・ポートを、要求したWEBクライアントに供給してHTTPリダイレクトし、HTTPリダイレクトしたグローバル・アドレスおよびグローバル・ポートとローカル・アドレスおよびローカル・ポートとを解析し、解析したアドレスとポートをそれぞれ変換して、変換したアドレスとポートに基づくパケットを転送し、さらに、解析手段は、振分け手段でWEBクライアントから供給されるパケットの宛先アドレスがホスト名を認証したサーバから提供された所定のグローバル・アドレスおよびグローバル・ポートの値か否かを判断し、供給されるパケットの供給先を振り分け、リダイレクト手段で供給されるパケットから送信先のホスト名を抽出し、抽出したホスト名をホストテーブルから検索し、検索により取得したグローバル・アドレスおよびグローバル・ポートを要求のあったWEBクライアントに送信し、HTTPリダイレクトし、変換転送手段で振分け手段からのパケットを受信し、転送テーブルに受信したパケットが有する送信先のグローバル・アドレスと送信先のグローバル・ポートに一致するものがあるか検索し、検索結果に応じて送信先のグローバル・アドレスと送信先のグローバル・ポートを、送信先であるWEBサーバのローカル・アドレスと送信先のローカル・ポートに変更し、変更したパケットを送信先のWEBサーバに転送し、逆に、WEBサーバからのパケットを受信し、転送テーブルに受信したパケットが有する送信元のローカル・アドレスと送信元のローカル・ポートに一致するものがあるか検索し、検索結果に応じて送信元のローカル・アドレスと送信元のローカル・ポートを、送信元であるWEBサーバのグローバル・アドレスと送信元のグローバル・ポートに変更し、変更したパケットをWEBクライアントに転送し、コネクション確立以降の手順を繰り返すことにより、WEBクライアントとWEBサーバとの間のTCPのコネクションを終端せずに、複数のWEBサーバでグローバル・アドレスを共有できるので、WEBクライアントの操作性を向上させることができ、リダイレクト手段と変換転送手段に分けて処理することにより通信装置における処理の負荷を軽減させることができる。
【００２４】
通信装置は、ゲートウェイ装置とリダイレクト装置に分けて配設する最小限の構成要素の追加により、IPv4のアドレス枯渇に対処し、WEBクライアントの操作性を向上させ、処理の負荷を軽減させることができる。
【図面の簡単な説明】
【００２５】
【図１】本発明に係る通信装置を適用したゲートウェイ装置の概略的な構成を示すブロック図である。
【図２】図１のゲートウェイ装置を適用した通信システムの概略的な構成を示すブロック図である。
【図３】図１のゲートウェイ装置が有するホストテーブルのデータ構造およびデータの一例を示す図である。
【図４】図１のゲートウェイ装置が有する転送テーブルのデータ構造およびデータの一例を示す図である。
【図５】図２の通信システムにおける動作手順を示すシーケンシャルチャートである。
【図６】図５に続くシーケンシャルチャートである。
【図７】図５および図６に続くシーケンシャルチャートである。
【図８】図７に続くシーケンシャルチャートである。
【図９】図２の通信システムにおいて他の実施例における概略的な構成を示すブロック図である。
【図１０】図９の通信システムに適用するゲートウェイ装置の構成を示す要部拡大したブロック図である。
【図１１】図10のゲートウェイ装置が有するホストテーブルのデータ構造およびデータの一例を示す図である。
【図１２】図10のゲートウェイ装置が有する転送テーブルのデータ構造およびデータの一例を示す図である。
【図１３】図９の通信システムにおいて適用する動作手順を示すシーケンシャルチャートである。
【図１４】図９の通信システムに適用するダイナミックDNSサーバの管理テーブルにおけるデータ構造およびデータの一例を示す図である。
【図１５】図１および図10のゲートウェイ装置が有する機能を示す規模ブロック図である。
【図１６】図１および図10のゲートウェイ装置が有するホストテーブルのデータ構造およびデータの一例を示す図である。
【図１７】図１および図10のゲートウェイ装置が有する転送テーブルのデータ構造およびデータの一例を示す図である。
【図１８】図１および図10のゲートウェイ装置におけるホストテーブルおよび転送テーブルの異常対応処理の動作手順を示すフローチャートである。
【図１９】本発明に係る通信装置を適用したリダイレクト装置およびゲートウェイ装置の概略的な構成を示すブロック図である。
【発明を実施するための形態】
【００２６】
次に添付図面を参照して本発明による通信装置の実施例を詳細に説明する。図１を参照すると、本発明による通信装置の実施例は、ゲートウェイ装置に特徴がある。ゲートウェイ装置20は、ホストテーブル38には、WEBクライアントのホスト名に対するグローバル・アドレスおよびグローバル・ポートを設け、グローバル・アドレスの値をすべて同値に設定し、転送テーブル36には、WEBクライアントのホスト名、このホスト名に対するグローバル・アドレス、グローバル・ポート、ローカル・アドレスおよびローカル・ポートを設け、グローバル・アドレスの値をすべて同値に設定し、ローカル・ポートの値をすべて同じ値に設定し、IPパケット解析部34でWEBクライアントからのパケット48を解析し、解析の結果に応じてグローバル・アドレスおよびグローバル・ポートを、要求したWEBクライアントに供給してHTTPリダイレクトし、HTTPリダイレクトしたグローバル・アドレスおよびグローバル・ポートとローカル・アドレスおよびローカル・ポートとを解析し、解析したアドレスとポートをそれぞれ変換して、変換したアドレスとポートに基づくパケット56を転送し、さらに、IPパケット解析部34は、振分け部40でWEBクライアントから供給されるパケットの宛先アドレスがホスト名を認証したサーバから提供された所定のグローバル・アドレスおよびグローバル・ポートの値か否かを判断し、供給されるパケットの供給先を振り分け、リダイレクト部44で供給されるパケット50から送信先のホスト名を抽出し、抽出したホスト名をホストテーブル38から検索し、検索により取得したグローバル・アドレスおよびグローバル・ポートを要求のあったWEBクライアントに送信し、HTTPリダイレクトし、変換転送部42で振分け部40からのパケット52を受信し、転送テーブル36に受信したパケット52が有する送信先のグローバル・アドレスと送信先のグローバル・ポートに一致するものがあるか検索し、検索結果に応じて送信先のグローバル・アドレスと送信先のグローバル・ポートを、送信先であるWEBサーバのローカル・アドレスと送信先のローカル・ポートに変更し、変更したパケット64を送信先のWEBサーバに転送し、逆に、WEBサーバからのパケット56を受信し、転送テーブル36に受信したパケット56が有する送信元のローカル・アドレスと送信元のローカル・ポートに一致するものがあるか検索し、検索結果に応じて送信元のローカル・アドレスと送信元のローカル・ポートを、送信元であるWEBサーバのグローバル・アドレスと送信元のグローバル・ポートに変更し、変更したパケット60をWEBクライアントに転送し、コネクション確立以降の手順を繰り返すことにより、WEBクライアントとWEBサーバとの間のTCPのコネクションを終端せずに、複数のWEBサーバでグローバル・アドレスを共有できるので、WEBクライアントの操作性を向上させることができ、リダイレクト部44と変換転送部42に分けて処理することにより通信装置における処理の負荷を軽減させることができる。
【００２７】
本発明と直接関係のない部分について図示および説明を省略する。以下の説明で、信号はその現れる接続線の参照番号で指示する。
【００２８】
本実施例は、本発明による通信装置をゲートウェイ装置に適用した場合である。ネットワークに接続される構成要素は、従来と同じであるが、本実施例のゲートウェイ装置だけに課題を解決するための特徴を有する構成要素を含む。また、本実施例のゲートウェイ装置を適用することによりグローバル空間の複数の装置とプライベート空間の複数の装置との通信を実現させる。したがって、接続関係は、多対多の通信を可能にする。
【００２９】
基本的に、通信システム10は、図２に示すように、IPネットワーク12およびローカルネットワーク（LAN）14で構築されている。IPネットワーク12は、グローバル空間におけるグローバルIPv4アドレスを使用して通信するネットワークである。LAN 14は、プライベート空間でローカル・アドレスを使用して通信するネットワークである。
【００３０】
IPネットワーク12には、DNSサーバ16、WEBクライアント群18およびゲートウェイ装置20が接続されている。また、ローカルネットワーク14には、ゲートウェイ装置20およびWEBサーバ群22に接続されている。
【００３１】
DNS（Domain Name System）サーバ16は、ホストの識別子を利用者が理解し易い形式、すなわちドメイン名とコンピュータが理解し易い形式、すなわちIPアドレスを対応付けるコンピュータやサーバソフトウェアである。DNSサーバ16は、IPネットワーク12に接続されたWEBクライアント群18やゲートウェイ装置20からドメイン名およびIPアドレスが要求された際に、ドメイン名に対応したグローバル空間におけりIPアドレスを取得し、取得した内容を要求元の装置やソフトウェアに返す。
【００３２】
WEBクライアント群18は、IPネットワーク12に接続されたN個のWEBクライアント機能を有するものである。WEBクライアント群18の構成要素それぞれを、WEBクライアントと呼ぶ。WEBクライアント24は、コンピュータ端末装置やWEBブラウザを含む。WEBクライアント24は、たとえばパーソナルコンピュータ（PC）内にソフトウェアとして、WEBブラウザ26および28のように複数含んでいてもよい。本実施例におけるWEBクライアント群18は、N個のWEBクライアント24およびWEBブラウザ26および28を含む。
【００３３】
ゲートウェイ装置20は、グローバルインターフェース（IF）部30、ローカルインターフェース（IF）部32、IPパケット解析部34、転送テーブル36およびホストテーブル38を含む。グローバルインターフェース部30は、ゲートウェイ装置20とグローバル・アドレス空間の装置との送受信機能を有する。ローカルインターフェース部32は、ゲートウェイ装置20とローカル・アドレス空間の装置との送受信機能を有する。
【００３４】
IPパケット解析部34は、図１に示すように、振分け部40、変換転送部42およびリダイレクト部44を含む。IPパケット解析部34は、WEBクライアント24からのパケットを解析し、解析の結果に応じてグローバル・アドレスおよびグローバル・ポートを、要求したWEBクライアント24に供給してリダイレクトし、リダイレクトしたグローバル・アドレスおよびグローバル・ポートとローカル・アドレスおよびローカル・ポートとを解析し、解析したアドレスとポートをそれぞれ変換して、変換したアドレスとポートに基づくパケットを転送する機能を有する。
【００３５】
IPパケット解析部34において振分け部40は、IPネットワーク12から受信したバケット46のうち、グローバルインターフェース部30を介して供給されるIPパケット48の宛先のIPアドレスがDNSサーバ16から供給された所定のグローバル・アドレスであり、かつTCPポート（グローバル・ポート）が所定の値、すなわち標準値80か否かを判断し、供給するパケットを振り分ける機能を有する。振分け部40は、該当する条件の場合、IPパケット50をリダイレクト部44に送り、それ以外の条件、たとえばコミュニケーション確立後でDNSサーバ16からの値でないと判断された場合、IPバケット52を変換転送部42に送る。
【００３６】
変換転送部42は、振分け部34からのIPパケット52の受信に際して、IPパケット52が有する送信先IPアドレスと送信先ポート番号が、転送テーブル36のエントリでグローバル・アドレスとグローバル・ポートに合致するものがあるか検索する機能を有する。変換転送部42は、検索要求信号54を転送テーブル36に出力して合致するエントリがあれば、検索結果54を受けて、IPパケット52の送信先IPアドレスと送信先ポート番号を、転送テーブル36に格納されているエントリのローカル・アドレスとローカル・ポートに変更する変換機能を有する。変換転送部42は、ローカル・アドレスとローカル・ポートに変更したパケット56をローカルインターフェース部26に送信する。ローカルインターフェース部32は、変換したパケット56をパケット58として宛先のWEBサーバに供給する。
【００３７】
また、変換転送部42は、ローカルインターフェース部からのIPパケット56を受信した際に、IPパケット56が有する送信元のローカル・アドレスと送信元のローカル・ポートの値が、転送テーブル30のエントリでローカルIPアドレスとローカル・ポートに合致するものがあるか否かを検索する機能を有する。変換転送部42は、検索要求信号54を転送テーブル36に出力して合致するエントリがあれば、IPパケット56の送信元IPアドレスと送信元ポート番号を、転送テーブル36に格納されているエントリのグローバル・アドレスとグローバル・ポートに変更する機能、IPマスカレードまたはNAPT機能を有する。変換転送部36は、グローバル・アドレスとグローバル・ポートに変更したパケット60をグローバルインターフェース部30に送信する。グローバルインターフェース部30は、出力されたパケット60を要求のあったWEBクライアントにIPパケット46として出力する。
【００３８】
リダイレクト部44は、振分け部からのパケット50に含まれるHTTPリクエストを受信し、HTTPリクエストのホストヘッダを抽出する機能を有する。ホストヘッダは、送信先として供給されるホスト名を抽出する。また、リダイレクト部44は、取得したホストヘッダにおけるホスト名を基に、ホストテーブル38のホスト名を検索する機能を有する。リダイレクト部44は、検索要求信号62をホストテーブル38に出力する。リダイレクト部44は、検索要求信号62に応じてホストテーブル38を検索する。リダイレクト部44は、要求のあったWEBクライアントに検索結果として取得したグローバル・アドレスおよびグローバル・ポートを送信し、このグローバル・アドレスおよびグローバル・ポートに書き換えるHTTPリダイレクト機能を有する。
【００３９】
実際に、リダイレクト部44は、ホストテーブル38に該当するエントリがあるとの検索結果62を受けると、要求のあったWEBクライアントにリダイレクトのレスポンス64を送信し、HTTPリダイレクトを実行する。このレスポンス64は、たとえばステータスコードが“3xx”である。このレスポンス64の中には、ロケーションヘッダが含まれている。ロケーションヘッダには、ホストテーブル38に格納されている該当エントリのIPアドレスとポート番号が含まれている。
【００４０】
とくに、HTTPリダイレクト機能とは、www（world wide web）でデータの送受信に使われるHTTPにおけるサーバからの応答の種類の一つで、URL（Uniform Resource Locator）が変更されたことを知らせる機能である。ステータスコード301と302は、HTTPリダイレクト用のコードで、“301 Moved Permanently”はページが完全に引っ越したこと、“302 Moved Temporarily”はページが一時的に別の場所に用意されていることを意味する。ただし、HTTP 1.1では、コード307に変更されている。ほとんどのWEBブラウザは、自動的にこのコードを認識し、リダイレクト先のURLを読みに行く。単なるリダイレクトと区別して用いている。
【００４１】
ホストテーブル38は、図３に示すように、ホスト名（FQDN）の領域72、グローバル・アドレスの領域74およびグローバル・ポートの領域76を構成要素に設定したデータセットを有する。本実施例において、グローバル・アドレスの領域74は、同じ値“1.1.1.1”を用い、ホスト名の領域72の名前それぞれを識別に用いる。グローバル・アドレスの領域74の値を同じ値にすること、複数のFQDNそれぞれに異なるポートを設定することから、IPv4におけるIPアドレスの枯渇の抑制、HTTPポート“80”の規定にともなう限定を防いでいる。
【００４２】
ここで、www.n.comのグローバル・ポートの数値は、“1000(n-1)”であるが、誤解を避けるため、“10000+(n-1)”と記述している。
【００４３】
転換テーブル36は、図４に示すように、グローバル・アドレスの領域78、グローバル・ポートの領域80、ローカル・アドレスの領域82およびローカル・ポートの領域84を構成要素に設定したデータセットを一つのエントリとして格納している。本実施例においてグローバル・アドレスの領域78は、“1.1.1.1”を用い、ローカル・ポートの領域84は、HTTPで規定されている値“80”を用いている。転送テーブル36は、このように、LAN 14に複数のWEBサーバ66、68および70を収容しても、グローバル空間からの接続、通信を可能にするように設けられている。これにより、複数のFQDNのアドレスに対してFQDNそれぞれに対応する一つのローカルサーバの間で相互にNAPTし、WEBクライアントと接続できるようになる。
【００４４】
ここで、本実施例がホストテーブル38および転送テーブル36を設ける理由について記述する。
【００４５】
通常、LAN 14側の装置を送信元としてグローバル空間の装置と通信する場合、ゲートウェイ装置やルータは、変換テーブルを作成できることから、NAPT機能によりグローバル空間の装置と通信することができる。これに対して、IPネットワーク12側の装置を送信元としてローカル空間の装置と通信する場合、ゲートウェイ装置やルータは、変換テーブルがないことから、ローカル空間の装置と通信できない。また、グローバル空間では、ローカル空間で使用するために規定されたローカル・アドレスを使用できないため、LAN 14側の装置から通信がないと、ゲートウェイ装置やルータは変換テーブルが作れない。
【００４６】
ただし、LAN 14側にWEBサーバを配置し、グローバル空間から接続する場合、たとえばブロードバンドバンドルルータは、IPネットワーク12側の装置におけるグローバル・ポート“80”を、NAPT機能によりアドレス：ポートとして、たとえば“192.168.0.2:80”と変換して、LAN 14側のWEBサーバと通信する。また、LAN 14側のネットワークカメラに対してグローバル空間から通信する場合、IPネットワーク12側の装置におけるグローバル・ポート“8080”を、NAPT機能によりアドレス：ポートとしてたとえば“192.168.0.3:8080”と変換して、ネットワークカメラと通信する。このように異なるポート番号を用いてNAPT機能を発揮させることにより、LAN 14側に配置したWEBサーバとネットワークカメラは、IPネットワーク12側に接続されている装置への公開が可能になる。
【００４７】
しかしながら、前述の課題でも述べたように、ローカル空間内に複数のWEBサーバを配置しても、複数のWEBサーバすべてをIPネットワーク12側に接続されている装置への公開することはできない。これは、ブロードバンドルータでHTTPにおける標準値として規定したグローバル・ポートがすでに利用されているから、グローバル・ポート“80”で受けた通信を、第２、第３のWEBサーバに中継することができないことに基づいている。
【００４８】
ここで、HTTPで規定された標準値について簡単に記述する。グローバル・ポート“80”は“WELL KNOWN PORT NUMBR”の一つで、HTTPに関するものあり、IANA（Internet Assigned Number Authority）で管理されているものである。
【００４９】
WEBサーバ群は、n個のWEBサーバ66、68、・・・70の集合体であり、ローカルネットワーク14に接続されている。WEBサーバ66、68、・・・70は、WEBサーバ機能を有する。また、WEBサーバ66、68、・・・70には、n個のローカル・アドレスそれぞれが付与されている。
【００５０】
次に本発明に係る通信装置を適用したゲートウェイ装置20の動作について通信システム10を参照しながら、記述する。図５に示すWEBクライアント24が通信する宛先はWEBサーバ群22のWEBサーバ66であり、WEBサーバ66にアクセスする動作を図５ないし図８に示す。WEBサーバ66のFQDNは、www.1.comである。
【００５１】
WEBクライアント24は、DNSサーバ16によりWEBサーバ66のグローバル・アドレス“1.1.1.1”をたとえばアドレス0として取得する。取得後、時刻T10にて、WEBクライアント24は、FQDN：www.1.comのWEBサーバ66を宛先としてグローバル・アドレス“1.1.1.1”、ポート“80”をホストヘッダに含む、TCPパケット86を送信する。ホストヘッダに含まれるデータは、“1.1.1.1:80”のように英数字で記述されていればよいと規定されている。TCPパケット86は、ゲートウェイ装置20のグローバルインターフェース部30で受信される。
【００５２】
グローバルインターフェース部30は、時刻T12にて供給されたTCPパケット88を振分け部40に出力する。振分け部40は、時刻T14にて供給されたTCPパケット88をTCPパケット90としてリダイレクト部44に出力する。グローバルインターフェース部30の動作は省略する。
【００５３】
リダイレクト部44は、時刻T16にてWEBクライアント24と一対一の通信を確立する（コネクション確立92）。コネクションの確立により接続手順の一段階が終了し、直ちに、次の接続手順、すなわち後述するNAT処理の手順、NAPT処理の手順に順次、移行する。
【００５４】
WEBクライアント24は、時刻T18にてホストヘッダ“www.1.com”を持つHTTPリクエスト94をリダイレクト部44に送信する。リダイレクト部44は、HTTPリクエスト94を受信し、送信先アドレスが“1.1.1.1”、ホストヘッダ“www.1.com”を認識する。
【００５５】
次にリダイレクト部44は、時刻T20にて、供給されたリクエスト94が有するFQDN:www.1.comをホストテーブル38が含むか否かを検索する検索要求信号96をホストテーブル38に出力する。ホストテーブル38は、時刻T22にて検索結果98をリダイレクト部44に送信する。リダイレクト部44は、検索結果94を基に所望のFQDNの有無を判断する。所望のFQDNが存在した場合、リダイレクト部44は、FQDN 72:www.1.comに対応して設定されているグローバル・アドレス74とグローバル・ポート76の値“1.1.1.1:10000”を取得する。また、所望のFQDNが存在しない場合、リダイレクト部44は、FQDN 72にwww.1.comを格納し、FQDNに対応するグローバル・アドレス74とグローバル・ポート76の値“1.1.1.1:1000n”に設定して、各データ領域に格納し、これらの値を取得する。
【００５６】
リダイレクト部44は、所望のFQDNに対応して取得したグローバル・アドレス74とグローバル・ポート76の値を収納したパケット100を生成する。複数のFQDNに対して一つのグローバル・アドレスだけで対応し、複数のFQDNに対してグローバル・ポートに“80”でない、それぞれ異なるポートを設定している点に特徴がある。
【００５７】
リダイレクト部44は、時刻T24にてグローバルインターフェース部30を介して、WEBクライアント24に生成したパケットとして、HTTPリダイレクトのコード（3xx）100を出力する。ロケーションは、グローバル・アドレス“1.1.1.1”:グローバル・ポート“10000”である。このように動作させることにより、WEBクライアント24それぞれのアクセスに対して、通信を一つだけに限定することなく、それぞれ確立することができる。FQDNごとに設定されたWEBサーバ群22のWEBサーバのグローバル・アドレスはすべて同じ値一つで代表することから、アドレスの枯渇を防ぐことができる。また、グローバル・ポートの値が“80”以外の値を用いることから、グローバル空間内のWEBクライアントからのアクセスを拒絶することなく、複数のWEBクライアントによるアプリケーションに対応することができる。
【００５８】
WEBクライアント24は、リダイレクト部44からのHTTPリダイレクトを受信して、時刻T26にてグローバル・アドレス:グローバル・ポート“1.1.1.1:10000”を有するTCPパケット102を振分け部40に送信する。
【００５９】
振分け部は、時刻T28にて供給されたTCPパケット102をパケット104として変換転送部42に送信する。変換転送部42は、パケットの送信先アドレスがグローバル・アドレス“1.1.1.1”であり、送信先ポートがグローバル・ポート“10000”であることを認識する。
【００６０】
変換転送部42は、時刻T30にて転送テーブル36がグローバル・アドレス“1.1.1.1”、グローバル・ポート“10000”を有するか否かを検索する検索要求106を、図６の転送テーブル36に出力する。転送テーブル36は、グローバル・アドレスの領域78とグローバル・ポートの領域80の値“1.1.1.1:10000”を検索し、ローカル・アドレス82とローカル・ポート84の値を取得する。転送テーブル36は、時刻T32にて検索結果108を、図５の変換転送部42に返す。これにより、変換転送部42は、ローカル・アドレス“1.1.0.1”とローカル・ポート“80”を取得する。
【００６１】
変換転送部42は、IPパケットの送信先アドレス、すなわちグローバル・アドレス“1.1.1.1”をローカル・アドレス“1.1.0.1”に変換し、送信先ポート、すなわちグローバル・ポート“10000”をローカル・ポート“80”に変換し、変換したパケット110を、ローカルインターフェース部32を介して、LAN 14に送信する。
【００６２】
WEBサーバ66は、ゲートウェイ装置20からパケット110の送出を受けて、パケット110が該当するか否かを判断する。WEBサーバ66は、パケット110が該当するローカル・アドレス“1.1.0.1”を有する場合、パケット110を受信する。
【００６３】
WEBサーバ66は、時刻T36にて送信元IPアドレス“1.1.0.1”、送信元ポート“80”のパケット112を変換転送部42に送信する。変換転送部42は、パケット112を受信し、パケット112の送信元アドレスが“1.1.0.1”、送信元ポートが“80”であることを認識する。
【００６４】
変換転送部42は、時刻T38にて検索要求114を転送テーブル36に出力する。転送テーブル36は、時刻T40にてローカル・アドレス“1.1.0.1”、ローカル・ポート“80”を検索し、ローカル・アドレス“1.1.0.1”、ローカル・ポート“80”に対応するグローバル・アドレス“1.1.1.1”とグローバル・ポート“10000”を検索結果116として取得する。
【００６５】
変換転送部42は、パケットの送信元アドレスをグローバル・アドレス“1.1.1.1”に変換し、送信元ポートをグローバル・ポート“10000”に変換する。変換転送部44は、時刻T42にて変換した送信元アドレス“1.1.1.1”、送信元ポート“10000”のパケット118をIPネットワーク12に送信する。
【００６６】
WEBクライアント24は、送信元アドレス“1.1.1.1”、送信元ポート“10000”のパケット118を受信する。
【００６７】
以後、WEBクライアント24とWEBサーバ66とのTCP通信は、時刻T26ないし時刻T42の手順を繰り返す。これにより、WEBクライアント24とWEBサーバ66との間でのHTTP通信が可能になる。
【００６８】
このように、ゲートウェイ装置20を用いることにより、最初、通常のTCPパケット通信し、複数のFQDNに対するグローバル・アドレスを一つで共有し、それぞれ異なるグローバル・ポートを設定し、リダイレクトし、リダイレクトで提供されたグローバル・アドレスとグローバル・ポートで通信することで、“WELL KNOWN PORT NUMBR”のHTTPの規定を外すことができ、さらに、グローバル・アドレスとグローバル・ポートをローカル・アドレスとローカル・ポートに変換してWEBサーバと通信し、WEBサーバのローカル・アドレスとローカル・ポートをグローバル・アドレスとグローバル・ポートに変換して通信して、複数のFQDNのアドレスに対し、それぞれのFQDNに対応する一つのローカル空間のWEBサーバの間のTCPのコネクションを終端することなく、WEBクライアントと接続し、通信することができる。
【００６９】
図２に示した先の実施例における通信システム10には、図９に示すように、構成要素としてDNSサーバ16でなく、動的DNSサーバ（Dynamic DNS）120が設けられるようにしてもよい。動的DNSサーバ120は、RFC2136として規格化されており、DNSデータベースを動的に更新する機能を有したサーバである。
【００７０】
常時接続環境を利用して、自宅のパソコンをWEBサーバとして公開する際、IPアドレスやプロバイダによって機械的に付加されたホスト名は、あまり意味をなさない数字、アルファベット、記号の羅列となる。したがって、ホスト名は、一般に公開して周知してもらうためには不向きな情報である。また、DNSサーバ16は、ネットワークへの接続を切断、再接続する度に新しいIPアドレスが付与されてしまう場合が多い。これに対し、動的DNSサーバ120は、接続ごとにDNSレコードを更新することで一意のホスト名を、常時接続環境を利用する自宅のパソコンに対して付与するサービスを提供する。本実施例が適用するゲートウェイ装置20がアドレスを変更する場合に対応するためである。
【００７１】
DDNSサーバ120のサービス提供には、主に、動的DNSサーバを専門に提供する業者と、常時接続環境を提供するプロバイダによる動的DNSサービス提供の２通りある。
【００７２】
本実施例では、ゲートウェイ装置20は、グローバル・アドレスを変更可能な点で先の実施例と相違し、グローバル・アドレスそれぞれの中で設定した一つのグローバル・アドレスを複数のWEBサーバに対して共有させている点に特徴がある。
【００７３】
ゲートウェイ装置20は、先の実施例と同じ構成要素を用いている。ゲートウェイ装置20の要部を図10に示す。リダイレクト部44は、図10に示すように、供給されるパケット自身が有するグローバル・アドレスの値の変更を検出する監視機能部122を有し、変更を検出した場合、ホストテーブル38および転送テーブル36における該当するエントリのグローバル・アドレス値を変更する書換え機能部124も有している。リダイレクト部44は、先の実施例の機能に加え、書換え機能部124によりホストテーブル38の値を供給するデータ62に書き換えて格納する。また、リダイレクト部44は、書換え機能部124により転送テーブル38の値を供給するデータ126に書き換えて格納する。
【００７４】
転送テーブル36およびホストテーブル38もそれぞれテーブルのデータ構造は先の実施例と同じである。
【００７５】
ただし、ホストテーブル38のグローバル・アドレス74は、図３の値“1.1.1.1”が図11に示すように値“1.1.1.2”に書き換えられている。また、転送テーブル36のグローバル・アドレス78も、図４の値“1.1.1.1”が図12に示すように値“1.1.1.2”に書き換えられている。これ以外の値に変更はない。
【００７６】
次に本発明に係る通信装置を適用したゲートウェイ装置20の動作について通信システム10を参照しながら、記述する。図９に示すWEBクライアント24が通信する宛先はWEBサーバ群22のWEBサーバ66であり、WEBサーバ66にアクセスする動作を図13に示す。アクセス対象のWEBサーバ68のFQDNは、www.1.comである。
【００７７】
ゲートウェイ装置20は、たとえばDNSサーバ16によりFQDN 72のwww.1.comのグローバル・アドレスを取得する。ゲートウェイ装置20におけるリダイレクト部44の監視機能部122は、FQDN 72に対するグローバル・アドレス74の値が“1.1.1.1”から他の値に変更されたか否かを所定の周期で監視する。監視機能部122は、時刻T50にてFQDN 72のwww.1.comでグローバル・アドレス74の値“1.1.1.1”から“1.1.1.2”の変更の検出に応じて変更検出130を書換え機能部124に供給する。
【００７８】
書換え機能部124は、時刻T52にて書換え指示132および134を転送テーブル36およびホストテーブル38それぞれに供給して、グローバル・アドレス74の値を“1.1.1.2”に書き換える。
【００７９】
ゲートウェイ装置20は、時刻T54にて書換え指示136をDDNSサーバ120に供給する。DDNSサーバ120は、図14に示す管理テーブル138を供給された値で書き換える。管理テーブル138は、FQDN 140に対応するグローバル・アドレス142の値を“1.1.1.2”に変更する。
【００８０】
DDNSサーバ120は、時刻T56にて管理するWEBクライアントに変更されたグローバル・アドレスの値138を出力する。WEBクライアント24は、自身のFQDNに該当するホスト名で照合して、供給されたグローバル・アドレスの値を格納する。通信システム10は、このアドレス設定において先の実施例におけるWEBクライアント24による時刻T10の手順から変換転送部42による時刻T42の手順で動作する。
【００８１】
そして、これ以後、WEBクライアント24とWEBサーバ66とのTCP通信は、時刻T26ないし時刻T42の手順を繰り返す。これにより、WEBクライアント24とWEBサーバ66との間でのHTTP通信が可能になる。
【００８２】
このように動作させることにより、管理するグローバル・アドレスの値に変更があるか否かを監視し、変更が検出された際にホストテーブル38および転送テーブル36のグローバル・アドレスの値を書き換えて、ゲートウェイ装置20がDDNSサーバ120の管理テーブル138を書き換えて、WEBクライアントに通知することにより、WEBクライアントとWEBサーバと間のTCPコネクションを終端することなく、グローバル・アドレスの変更にも対応して、かつ複数のWEBサーバで一つのグローバル・アドレスを共有して使用することができる。
【００８３】
次にゲートウェイ装置20における機能について図15を参照しながら簡単に記述する。図１および図10に示したゲートウェイ装置20は、図15に示すように、ダウン監視機能部144および削除機能部146を含む。ダウン監視機能部144は、ローカル空間内の装置、たとえばWEBサーバがダウンしたか否かを検出する機能である。ダウン監視機能部144は、たとえば“ping”コマンドで動作する機能に同じである。“ping”は、ネットワークの疎通を確認要求するホストに対してIPパケットを発行し、IPパケットが正しく届き返答が行われるか否かの確認に用いるコマンドである。
【００８４】
削除機能部146は、ダウン監視機能部144でダウンが検出された場合、ホストテーブル38のFQDN 72領域内で該当するホスト名のエントリを削除し、転送テーブル36のグローバル・アドレス78領域内に該当するエントリを削除する機能を有する。ダウン監視機能部144でwww.1.comでダウンが検出されたとき、図16のホストテーブル38は、該当するエントリ148が削除され、図17の転送テーブル36は、該当するエントリ150が削除される。
【００８５】
次にゲートウェイ装置20におけるローカル空間の装置がダウンした場合の処理について記述する。図１および図10に示したゲートウェイ装置20は、図18に示すように、ダウン監視機能部144でLAN 14に接続された装置、本実施例のWEBサーバ群22を対象に、ダウンを監視する（ステップS10）。監視にはたとえば“ping”コマンドと同等に処理する。
【００８６】
監視結果にダウンが含まれるか否かを判断する（ステップ12）。ダウンを含まない（NO）、すなわち正常に実行できた場合、通常はホスト間のLAN 14は正常であると判断し、待機処理に進む（ステップS12）。また、ダウンが存在した（YES）、障害が発生したFQDNのホスト名を取得し、削除処理に進む（ステップS16へ）。
【００８７】
次に削除機能部146は、ホストテーブル38のFQDN 72領域内で該当するホスト名のエントリを削除する（ステップS16）。次に削除機能部146は、転送テーブル36のグローバル・アドレス78領域内で該当するエントリを削除する（ステップS18）。この後、待機処理に進む（ステップS12へ）。
【００８８】
待機処理は、所定の時間が経過するまで監視処理を待機させる。この時間経過後、処理手順をダウンの監視処理に戻る（ステップS10へ）。監視は、これらの手順を繰り返す。
【００８９】
このように動作させることにより、この状況においてWEBクライアント24やWEBブラウザ26がFQDNとしてwww.1.comにアクセスしても、ホストテーブル38や転送テーブル36におけるwww.1.comに対応するエントリが存在しないことから、ゲートウェイ装置20は、直ちに、エラー、すなわちコード404応答を送信元に返すことができる。したがって、すぐにサービスを終了させることができ、無駄な処理時間を費やしてしまう虞をなくし、迅速な対応が可能になる。
【００９０】
次に本発明に係る通信装置を適用したゲートウェイ装置20およびリダイレクト装置152における他の実施例について簡単に図19を参照しながら、記述する。先の実施例におけるゲートウェイ装置20は、IPパケット解析部34、転送テーブル36およびホストテーブル38すべてを含むが、本実施例はこれに限定されない。本実施例におけるゲートウェイ装置20は、ゲートウェイ装置としてグローバルインターフェース部30、ローカルインターフェース部32、転送テーブル36および変換転送部42といった本来の構成要素を有する。通常と相違する点は、図４に示したように、転送テーブル36が有する、グローバル・アドレスのデータが同じ値であり、ローカル・ポートのデータも同じ値である。
【００９１】
リダイレクト装置152は、図19に示すように、ホストテーブル38、振分け部40およびリダイレクト部44を有する。最小限の構成要素だけでリダイレクト装置152を実現させるため、振分け部40は、グローバルインターフェース部30からパケット48を入力し、解析結果に応じてパケット50をリダイレクト部44に出力したり、変換転送部42に出力したりするように接続されている。また、リダイレクト部44は、グローバルインターフェース部30との通信が可能なように接続されている。
【００９２】
このようにゲートウェイ装置20とリダイレクト装置152の各構成要素を接続し、通信しても、図１、図10および図15の実施例を実現させることができることは言うまでもない。このように構成すると、リダイレクト装置152を追加するだけで、IPv4におけるアドレス枯渇を防ぎ、外部であるグローバル空間とローカル空間に配された複数のWEBサーバと相互に通信することができる。
【００９３】
なお、本実施例は、トランスポート層におけるアプリケーションのHTTP規定に依存しない通信方法を例示したが、これに限定されるものでなく、このような手順やテーブルそれぞれの値を設定することにより応用層における規定を外した通信を可能にできることは言うまでもない。
【００９４】
また、本発明は、上述した実施例に限定されるものでなく、仮想OS（Operating System）等の技術を利用し、ゲートウェイと各WEBサーバを一つの装置で通信を実現させる場合にも適用できることは言うまでもない。
【符号の説明】
【００９５】
10  通信システム
12  IPネットワーク
14  ローカルネットワーク（LAN）
16  DNSサーバ
18  WEBクライアント群
20  ゲートウェイ装置
22  WEBサーバ群
34  IPパケット解析部
36  転送テーブル
38  ホストテーブル
40  振分け部
42  変換転送部
44  リダイレクト部
【図１】
2011077804.tif 000003
【図２】
2011077804.tif 000004
【図３】
2011077804.tif 000005
【図４】
2011077804.tif 000006
【図５】
2011077804.tif 000007
【図６】
2011077804.tif 000008
【図７】
2011077804.tif 000009
【図８】
2011077804.tif 000010
【図９】
2011077804.tif 000011
【図１０】
2011077804.tif 000012
【図１１】
2011077804.tif 000013
【図１２】
2011077804.tif 000014
【図１３】
2011077804.tif 000015
【図１４】
2011077804.tif 000016
【図１５】
2011077804.tif 000017
【図１６】
2011077804.tif 000018
【図１７】
2011077804.tif 000019
【図１８】
2011077804.tif 000020
【図１９】
2011077804.tif 000021