[go: up one dir, main page]

JP3587633B2 - Network communication method and apparatus - Google Patents

Network communication method and apparatus Download PDF

Info

Publication number
JP3587633B2
JP3587633B2 JP27580996A JP27580996A JP3587633B2 JP 3587633 B2 JP3587633 B2 JP 3587633B2 JP 27580996 A JP27580996 A JP 27580996A JP 27580996 A JP27580996 A JP 27580996A JP 3587633 B2 JP3587633 B2 JP 3587633B2
Authority
JP
Japan
Prior art keywords
relay
server
information
authentication
server device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP27580996A
Other languages
Japanese (ja)
Other versions
JPH10126440A (en
Inventor
信 萱島
真敏 寺田
達也 藤山
孝明 荻野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP27580996A priority Critical patent/JP3587633B2/en
Priority to US08/884,133 priority patent/US6111883A/en
Publication of JPH10126440A publication Critical patent/JPH10126440A/en
Priority to US09/625,975 priority patent/US6754212B1/en
Application granted granted Critical
Publication of JP3587633B2 publication Critical patent/JP3587633B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、複数のファイアウォールが介在する環境で、クライアントとサーバとの通信を行なうネットワーク通信システムにおいて、アプリケーションの通信を中継する仮想ネットワークの通信方法および装置に関する。
【0002】
【従来の技術】
従来、ファイアウォールが介在する環境で、クライアントとサーバとの通信を中継する代理サーバとして、 RFC1928 で提案されている socks V5 がある。
【0003】
socks ではクライアントと中継サーバの間での相互認証、および中継サーバに対する接続命令を実現する socks プロトコルを定義しており、1つのファイアウォールを越えたクライアントとサーバとの通信を実現することができる。
【0004】
また、 IP レイヤにおける中継経路情報の交換を動的に行なうメカニズムとしては、 RIP(Routing Information Protocol: RFC1058)、 OSPF(Open Shortest Path First:RFC1131) 等のゲートウェイプロトコルがある。
【0005】
【発明が解決しようとする課題】
インターネットの普及につれて、インターネットを介した事業部、企業間での協動や、遠隔オフィス/在宅勤務者に対応したネットワーク環境が求められている。このようなネットワーク環境では、外部から企業ネットワークへの侵入や、外部ネットワークにおけるデータの盗聴等のセキュリティの脅威が問題になっている。このため、外部から企業ネットワークへの侵入を防ぐためのセキュリティツールとして、ファイアウォールが考案されている。ファイアウォールは、保護対象となるネットワークの構成等の情報を外部から隠蔽し、ネットワークの境界において通信主体の認証に基づくアクセス制御を実行することで、外部からの侵入を防ぎつつ、正当ユーザの通信を可能にする機能を持つ。
【0006】
また、IETF では、外部ネットワークにより接続した2つのネットワーク間の通信で、外部ネットワークにおけるデータ盗聴を防ぐために、それぞれのネットワークの外部ネットワークとの境界にあるファイアウォールもしくはルータ間で、通信パケットの暗号化/復号化を行なう方法が提案されている。この方法を用いることにより、インターネットを仮想的な企業ネットワークに見せる技術である VPN (Virtual Private Network) を実現することができる。
【0007】
このように、インターネットを利用した企業ネットワークでは、ファイアウォールがセキュリティ上重要な役割を果たしており、企業ネットワーク内でも、サブネットワークを保護する目的で内部ファイアウォールが設置されるようになりつつある。このような複数のファイアウォールが介在する環境における通信には、いくつかの問題がある。例えば、サブネットワークを保護する内部ファイアウォールを越える通信を、外部ネットワークの計算機から行なう場合、外部ファイアウォールと内部ファイアウォールが通信を中継する必要がある。
【0008】
しかし、中継を行なう内部ファイアウォールへの経路情報は、外部ネットワークでは隠蔽されているため、何らかの方法で経路情報を取得する必要がある。
【0009】
第1図は、上記の問題点の例である。クライアント 101 がA社ネットワーク 106 内のサーバと通信する場合、外部ファイアウォール 102 が通信を中継する。A社ネットワーク 106 内のサーバ 104 との通信では、外部ファイアウォール 102 がサーバ 104 への経路情報を取得できるため、通信を行なうことができる。しかし、サブネットワーク 107 内にあるサーバ 105 との通信では、サーバ 105が内部ファイアウォール 103 により隠蔽されているため、外部ファイアウォール 102はサーバ 105 への経路情報を取得することができず、通信を行なうことができない。また、外部ネットワークにより接続した2つのネットワーク間の通信で、それぞれの内部ファイアウォール間では、外部ファイアウォールに対して内部ファイアウォールを特定するための経路情報を設定しない限り、VPN を構成できない。
【0010】
第 2 図は、上記の問題点の例である。ファイアウォール 205 でサーバ202 への経路としてファイアウォール 206 を登録することにより、ネットワーク210 内のクライアント 201 は、ネットワーク 2111 内のサーバ 202 と VPN で通信を行なうことができる。しかし、ネットワーク 213 の内部のサブネットワーク 214 にサーバ 204 がある場合、経路がファイアウォール 208 により隠蔽されているため、ファイアウォール 207 に内部ファイアウォール 209 を登録することができない。
【0011】
そこで、本発明では、複数のファイアウォールが介在していても、ユーザが中継経路を意識せずに通信アプリケーションが利用できる仮想ネットワーク環境を提供することにより上記の 2 つの問題を解決することを目的とする。
【0012】
【課題を解決するための手段】
上記課題を解決するために本発明では、クライアント上の通信クライアントプログラムと、サーバの通信サーバプログラムの通信を中継する通信中継プログラムをファイアウォール等の中継サーバ上で起動し、クライアントおよび中継サーバにはデータ中継経路を制御するための経路情報テーブルを持たせ、クライアント上の通信クライアントプログラムは、ファイアウォールにより直接接続できないサーバへの接続処理において、
(1)目的のサーバへの経路の途中にあり、かつ
(2)クライアントから通信可能な中継サーバをデータ中継制御テーブルより選択する処理と、
上記処理により確定した中継サーバの中継プログラムと接続し、前記中継サーバにサーバ上の通信サーバプログラムとの通信の中継を依頼する処理を実行する。
【0013】
そこで、中継サーバ上の中継プログラムは、クライアント上の通信クライアントプログラムの依頼内容に基づきクライアントの通信クライアントプログラムとサーバ上の通信サーバプログラムとの通信を中継する機能を持つものである。更に、中継サーバ上の中継プログラムは、ファイアウォールにより直接接続できないサーバへの接続処理において、クライアントの通信クライアントプログラムと同様に、
(1)目的のサーバへの経路の途中にあり、かつ
(2)クライアントから通信可能な中継サーバをデータ中継制御テーブルより選択する処理と、
上記処理により確定した中継サーバの中継プログラムと接続し、前記中継サーバにサーバ上の通信サーバプログラムとの通信の中継を依頼する処理を実行する。
【0014】
本発明の仮想ネットワーク構成方法および装置では、ネットワーク上に配置した通信中継サーバを用いてクライアントとサーバの通信を中継し、クライアントおよび中継サーバにはデータ中継経路を制御するための経路情報テーブルを持たせ、クライアントの通信プログラムおよび中継サーバの中継プログラムが、
(1)目的のサーバへの経路の途中にあり、かつ
(2)クライアントから通信可能な中継サーバをデータ中継制御テーブルより選択する処理と、
をデータ中継制御テーブルより選択する処理を実行して通信経路を確保することにより、複数のファイアウォールが介在していても、クライアントのユーザが中継経路を意識せずに通信アプリケーションを利用できる。
【0015】
【発明の実施の形態】
本発明の一実施例を、第 3 図から第 7 図を用いて説明する。第 3 図は、本方式の仮想ネットワーク構成方法および装置の概要を示す図である。 301、302はサーバ計算機、 303 はクライアント計算機、 304 〜 306 はファイアウォール兼中継サーバ、 307、 308 はローカルセグメント、 309 はバックボーンセグメント、 310 はインターネット、 311、 312 はファイアウォールにより守られたネットワークサブドメイン 313 はネットワークドメインである。クライアント計算機 303 から、サーバ計算機 301 への通信を実行する場合、ファイアウォール兼中継サーバ 306 および 304 が通信を中継する。
【0016】
第 4 図は、本方式の仮想ネットワーク構成方法および装置で使用するクライアントおよび、中継サーバで使用する計算機の構成を示す図である。 41 はメモリ、 411 は中継経路情報記憶エリア、 412 は通信データ記憶エリア、 413 はプログラムロードエリア、 42 はバス、 43 は CPU、 44 は外部記憶装置、 441は通信プログラム、 442 はデータ中継制御プログラム、 443 は中継経路テーブル、 45 は通信 I/O である。
【0017】
第 5 図は、本方式の仮想ネットワーク構成方法および装置において、クライアント計算機 303 が、サーバ計算機 301 に対して通信を行なう通信クライアントプログラムの概略を示すフローチャートである。ステップ 501 は、サーバ計算機 301 の通信アドレスへの中継を行なうファイアウォール兼中継サーバ 306 を、中継経路テーブル 442 を参照して特定するステップ、ステップ 502は、ファイアウォール兼中継サーバの中継が必要か判定するステップ、ステップ503 は、ファイアウォール兼中継サーバによる中継が必要な場合の処理で、ファイアウォール兼中継サーバ 306 への接続を行なうステップ、ステップ 504 は、ファイアウォール兼中継サーバによる中継が不要な場合の処理で、サーバ計算機への接続を直接行なうステップ、ステップ 505 は、ファイアウォール兼中継サーバ 306 にサーバ計算機 301 の通信アドレスを通知するステップ、ステップ506 は、ファイアウォール兼中継サーバ 306 が実施したサーバとの接続処理結果を受信するステップ、ステップ 507 は、ステップ 506 で受信した内容より、ファイアウォール兼中継サーバ 306 が接続した相手がサーバかどうか判定するステップ、ステップ 508 は、サーバ計算機 301 との通信データを送受信するステップである。本フローは、クライアント計算機 303 で動作する全ての通信プログラム 441 で共通しており、例えば UNIX OS の場合には、通信用ライブラリに上記機能を組み込むことができる。
【0018】
第 6 図は、本方式の仮想ネットワーク構成方法および装置において、中継サーバ 306 が、サーバ計算機 301 への通信を中継する中継プログラム 442 の概略を示すフローチャートである。ステップ 601 は、クライアント計算機 303 の通信クライアントプログラムからの中継要求待ちを行なうステップ、ステップ 602 は、クライアント計算機 303 からサーバ計算機 301 の通信アドレスを受信するステップ、ステップ 603 は、サーバ計算機 301 の通信アドレスへの中継を行なうファイアウォール兼中継サーバ 304 を、中継経路テーブル 442 を参照して特定するステップ、ステップ 604 は、ファイアウォール兼中継サーバの中継が必要か判定するステップ、ステップ 605 は、ファイアウォール兼中継サーバによる中継が必要な場合の処理で、ファイアウォール兼中継サーバ 304 への接続を行なうステップ、ステップ 606 は、ファイアウォール兼中継サーバによる中継が不要な場合の処理で、サーバ計算機への接続を直接行なうステップ、ステップ 607 は、サーバ計算機 301 との通信データを送受信するステップである。
【0019】
第 7 図は、本方式の仮想ネットワーク構成方法および装置で使用する経路情報テーブル 422 の内容とネットワーク例を示す図である。 71 は架空のドメイン food.co.jp のネットワーク例である。 food.co.jp ドメインは、サブドメインとして、 fruit.food.co.jp ドメインと、 vegetable.food.co.jp ドメインを持ち、外部ネットワークとのファイアウォール兼中継サーバ dinner.food.co.jpと、 サーバ計算機 supper.food.co.jp を持つ。
【0020】
food.co.jp のサブドメイン fruit.food.co.jp ドメインは、 ドメイン外とのファイアウォール兼中継サーバ lemon.fruit.food.co.jp と、サーバ計算機 kiwi.fruit.food.co.jp と、クライアント計算機 cherry.fruit.food.co.jp を持つ。food.co.jp のサブドメイン veg− etable.food.co.jp ドメインは、ドメイン外とのファイアウォール兼中継サーバpotato.vegetable.food.co.jp と、 サー バ 計 算 機 carrot.vegetable.food.co.jp を 持つ。 72 は fruit.food.co.jpドメインのクライアント計算機 cherry.fruit.food.co.jp用の中継経路テーブルの構成を示す図で、中継を必要とするドメインを指定するドメイン名記述フィールド 721 と、前記ドメインへの中継を行なうファイアウォール兼中継サーバを指定する中継サーバ名記述フィールド 722を持つ。
【0021】
ドメイン名記述フィールド 721 は、記述したドメイン名以外の部分を表現するための記述として、否定演算子” ̄”を使用することができる。例えば、” ̄fruit.food.co.jp” は、「fruit.food.co.jpドメイン以外のドメイン」を表す。中継経路テーブル 72 は、「fruit.food.co.jp ドメイン以外はlemon.fruit.food.co.jp が中継する」ことを表すレコード 723 が登録されている。同様に 73 は fruit.food.co.jp ドメインの中継サーバ lemon.fruit.food.co.jp用の中継経路テーブルの構成を示す図で、「vegetable.food.co.jp ドメインへは potato.vegetable.food.co.jp が中継する」ことを表すレコード 731 と、「food.co.jp ドメイン以外は dinner.food.co.jp が中継する」ことを表すレコード 732 が登録されている。
【0022】
クライアント計算機 cherry.fruit.food.co.jp はサーバ計算機 kiwi.fruit.food.co.jp と通信する場合、中継経路制御テーブル 72 を評価し、 kiwi が fruit.food.co.jp ドメインのサーバ計算機であることから、直接接続を行なう。また別のケースとして、クライアント計算機 cherry.fruit.food.co.jpはサーバ計算機 supper.food.co.jp と通信する場合、中継経路制御テーブル 72 を評価し、 supper が fruit.food.co.jp ドメイン外のサーバ計算機であることから、lemon.fruit.food.co.jp に中継を依頼する。 中継サーバ lemon.fruit.food.co.jpは、中継経路制御テーブル 73 を評価し、 supper が vegetable.food.co.jp ドメイン外のサーバであり、かつ food.co.jp 内のサーバであることから、直接接続を行なう。更に別のケースとして、クライアント計算機 cherry.fruit.food.co.jp が外部ネットワークのサーバと通信を行なう時、中継経路制御テーブル 72 を評価し、外部ネットワークのサーバが fruit.food.co.jp ドメイン外のサーバ計算機であることから、 lemon.fruit.food.co.jp に中継を依頼する。この時中継サーバlemon.fruit.food.co.jp は、中継経路制御テーブル 73 を評価し、外部ネットワークのサーバが vegetable.food.co.jp ドメイン外のサーバであり、かつ food.co.jp外のサーバであることから、 dinner.food.co.jp に中継を依頼する。中継サーバdinner.food.co.jp もまた、 lemon.fruit.food.co.jp と同様に中継経路制御テーブルを評価し、サーバとの接続方法を決定する。
【0023】
第 7 図では、中継経路テーブルでのドメインと中継サーバを、 DNS におけるドメイン名およびホスト名で記述しているが、この記述は IP アドレスとネットマスクによる指定で行なうことも可能である。
【0024】
以上が本方式の基本的な仮想ネットワーク構成方法および装置であるが、クライアント計算機側通信プログラム 441 の概略フローチャートのステップ 505および、中継サーバ側中継プログラム 442 の概略フローチャートのステップ 602において相互認証をすると、クライアント計算機と中継サーバ双方のなり済ましを防止することができる。第 8 図は、上記の機能を実現するためのシステム構成を示す図である。クライアント計算機 303 および、ファイアウォール兼中継サーバ 304、 306 は、自計算機と相互認証を行なう計算機の認証関係情報を格納する認証情報テーブル 81 〜 83 を持つ。認証情報テーブル 81 〜 83 は、認証相手側計算機の ID フィールド 813 と、認証用共有情報フィールド 814 を持つ。認証情報テーブル 81 は、ファイアウォール兼中継サーバ 306 の ID および、認証用共有情報 84 を含むエントリ 811 と、ファイアウォール兼中継サーバ 304 のID および、認証用共有情報 85 を含むエントリ 812 を持つ。認証情報テーブル82 は、クライアント計算機 303 の ID および、認証用共有情報 84 を含むエントリ 821 を持つ。認証情報テーブル 83 は、クライアント計算機 303 の ID および、認証用共有情報 85 を含むエントリ 831 を持つ。クライアント計算機 303 の通信プログラム 441 は、ステップ 501 もしくはステップ 506 において取得した相互認証を行なうファイアウォール兼中継サーバの ID をキーに検索を行ない、認証情報テーブル 81 より前記ファイアウォール兼中継サーバとの認証用共有情報を取得し、相互認証処理を実行する。ファイアウォール兼中継サーバ 306 の中継プログラム 442 は、ステップ 602 で取得したクライアント計算機の ID をキーに検索を行ない、認証情報テーブル 82 より前記クライアント計算機との認証用共有情報を取得し、相互認証処理を実行する。ここで、クライアント計算機 303 の通信プログラム 441 がファイアウォール兼中継サーバ 306 の中継プログラム 442 と認証処理を実行し、前記認証処理が成功した場合は更にファイアウォール兼中継サーバ 304 の中継プログラム 442 と認証処理を実行し、前記認証処理が成功した場合サーバ 301 との接続を確立することによりセキュリティを高めることができる。相互認証処理は、例えば認証用共有情報 84、 85 が共有鍵暗号方式における共通鍵であれば、 ISO/IEC9798 認証方式を利用することができる。
【0025】
また、公開鍵暗号方式を利用した認証を利用することも可能である。本認証処理を使用した場合、クライアント計算機とファイアウォール兼中継サーバとの間で、通信データを暗号化するための情報を交換することができる。本図では、クライアント計算機 303 がファイアウォール兼中継サーバ 306 および、304 と暗号化のための情報を交換することができるため、クライアント計算機303 からファイアウォール兼中継サーバ 306 間、もしくは、クライアント計算機303 からファイアウォール兼中継サーバ 304 間でデータの暗号化を実行することができる。
【0026】
第 9 図は、本方式の仮想ネットワーク構成方法および装置における相互認証の他の方法を示した図である。クライアント計算機 303 の認証情報テーブル 91には、ファイアウォール兼中継サーバ 306 の ID および、認証用共有情報 94 を含むエントリ 911 を持つ。ファイアウォール兼中継サーバ 306 の認証情報テーブル 92 には、クライアント計算機 303 の ID および、認証用共有情報 94 を含むエントリ 921 と、ファイアウォール兼中継サーバ 304 の ID および、認証用共有情報 95 を含むエントリ 922 を持つ。ファイアウォール兼中継サーバ 304 の認証情報テーブル 93 には、ファイアウォール兼中継サーバ 306 の ID および、認証用共有情報 95 を含むエントリ 931 を持つ。クライアント計算機 303 の通信プログラム 441 は、ステップ 503 において接続するファイアウォール兼中継サーバ 306 と相互認証処理を実行する。ファイアウォール兼中継サーバ 306 は、ステップ 602 において接続したクライアント計算機 303 と、ステップ 605 において接続するファイアウォール兼中継サーバ 304 と相互認証処理を実行する。第 8図と同様に、本認証処理を実行した場合、クライアント計算機 303 からファイアウォール兼中継サーバ 306 間、もしくは、ファイアウォール兼中継サーバ 306からファイアウォール兼中継サーバ 304 間でデータの暗号化を実行することができる。
【0027】
第 10 図は、本方式の仮想ネットワーク構成方法および装置における中継経路情報の更新方法を示す図である。 1001 は架空のドメイン food.co.jp のネットワーク例である。 food.co.jp ドメインはサブドメインとして、 fruit.food.co.jpドメインを持ち、外部ネットワークとのファイアウォール兼中継サーバdinner.food.co.jp と、サーバ計算機 supper.food.co.jp を持つ。 food.co.jp のサブドメイン fruit.food.co.jp ドメインは、ドメイン外とのファイアウォール兼中継サーバ lemon.fruit.food.co.jp および banana.fruit.food.co.jp と、サーバ計算機 kiwi.fruit.food.co.jp および apple.fruit.food.co.jp と、クライアント計算機cherry.fruit.food.co.jp を持つ。 dinner.food.co.jp の中継経路テーブル 1002 には、外部ネットワークのクライアントから fruit.food.co.jp ドメインへのアクセスを中継するためのエントリとして、 lemon.fruit.food.co.jp をファイアウォール兼中継サーバとして指定したエントリ 1021 と、 banana.fruit.food.co.jp をファイアウォール兼中継サーバとして指定したエントリ 1022 がある。 ファイアウォール兼中継サーバ lemon.fruit.food.co.jp と、 banana.fruit.food.co.jpが定期的に前記各エントリ 1021 および 1022 を dinner.food.co.jp に送信し、dinner.food.co.jp が前記情報に基づき中継経路テーブル 1002 を更新することにより、動的に中継経路情報を更新することができる。 更に中継経路テーブル 1002 にプライオリティフィールド 1025 を設け、 ファイアウォール兼中継サーバ lemon.fruit.food.co.jp と、 banana.fruit.food.co.j が、例えば負荷状況に応じて設定したプライオリティを dinner.food.co.jp に送信することにより、 dinner.food.co.jp は fruit.food.co.jp ドメインへの通信に使用するファイアウォール兼中継サーバを変更することができる。また、ドメイン名記述フィールド 1023 に、サーバ名称を記述することにより、 サーバ毎に中継に使用するファイアウォール兼中継サーバを変更することもできる。例えば、エントリ 1021 のドメイン名記述フィールド 1023 を kiwi.fruit.food.co.jp に、エントリ 1022 のドメイン名記述フィールド 1023 を apple.fruit.food.co.jp にすることにより、kiwi.fruit.food.co.jp 宛の通信は lemon.fruit.food.co.jp が、apple.fruit.food.co.jp 宛の通信は banana.fruit.food.co.jp がそれぞれ中継することになる。
【0028】
第 11 図は、本方式の仮想ネットワーク構成方法および装置における通信インフラの変換機能の例を説明した図である。 1101 はクライアント計算機、 1102はファイアウォール兼中継サーバ、 1111 は通信クライアントプログラム、 1121はデータ中継制御プログラム、 1103 はサーバ計算機、 1131 はサーバプログラム、 1104 は IP V4 対応通信モジュール、 1105 は IP V6 対応通信モジュール、1106 は IP V4 ネットワーク、 1107 は IP V6 ネットワークである。クライアント計算機 1101 は IP V4 対応通信モジュール 1104 を用いて、 IP V4 プロトコルによる通信を行なう。また、サーバ計算機 1103 は、 IP V4 対応通信モジュール1105 を用いて、 IP V6 プロトコルによる通信を行なう。
【0029】
このため、クライアント計算機 1101 とサーバ計算機 1103 は直接通信を行なうことができない。しかし、 IP V4 通信モジュール 1104 と、 IP V6 通信モジュール 1105 を持つファイアウォール兼中継サーバ 1102 でデータ中継制御プログラム 1121 を用いることにより、クライアント計算機 1101 とサーバ計算機 1103 との間で通信を行なうことができるようになる。第 11 図では、通信インフラの例として IP V4 と IP V6 との間の変換を行なったが、適切な中継プログラムおよび、中継経路テーブルを用いることにより、通信インフラとして Apple Talk、 SNA や IPX 等を使用することも可能である。
【0030】
【発明の効果】
以上の説明から明らかなように、本発明によれば、複数のファイアウォールにより中継経路情報が隠蔽された場合でも、クライアントのユーザが中継経路を意識せずに通信アプリケーションを利用することのできるネットワーク通信方法および装置を得ることができる。
【図面の簡単な説明】
【図1】従来のネットワーク構成を示す図である。
【図2】従来の他のネットワーク構成を示す図である。
【図3】本発明の一実施例を示すネットワーク構成図である。
【図4】クライアント、中継サーバの構成の一例を示すブロック図である。
【図5】クライアント計算機の処理動作を示すフローチャートである。
【図6】中継サーバの処理動作を示すフローチャートである。
【図7】経路情報テーブルの一実施例を示す図である。
【図8】本発明に利用する認証用システムの一実施例を示す図である。
【図9】本発明に利用する認証用システムの他の実施例を示す図である。
【図10】動的経路制御の一例を示す図である。
【図11】本発明の他の実施例の主要部を示す図である。
【符号の説明】
101...クライアント計算機、102...外部ファイアウォール、103...内部ファイアウォール、104...サーバ、105...サーバ、106...A社ネットワーク、107...サブネットワーク、201...クライアント計算機、202...サーバ計算機、203...クライアント計算機、204...サーバ計算機、205...ファイアウォール、206...ファイアウォール、207...ファイアウォール、208...ファイアウォール、209...内部ファイアウォール、210...ネットワーク、211...ネットワーク、212...ネットワーク、213...ネットワーク、214...サブネットワーク、215...外部ネットワーク、216...外部ネットワーク、301...サーバ計算機、302...サーバ計算機、303...クライアント計算機、304...ファイアウォール兼中継サーバ、305...ファイアウォール兼中継サーバ、306...ファイアウォール兼中継サーバ、307...ローカルセグメント、308...ローカルセグメント、309...バックボーンセグメント、310...インターネット、311...ネットワークサブドメイン、312...ネットワークサブドメイン、313...ネットワークドメイン、41...メモリ、411...中継経路情報記憶エリア、412...通信データ記憶エリア、413...プログラムロードエリア、42...バス、43...CPU、44...外部記憶装置、441...通信プログラム、442...データ中継制御プログラム、443...中継経路テーブル、45...通信 I/O、 501...中継サーバ特定処理、502...中継処理の必要性判定処理、503...中継サーバ接続処理、504...サーバ接続処理、505...サーバアドレス通知処理、506...中継処理結果受信処理、507...サーバ接続の判定処理、508...通信データ送受信処理、601...クライアント通信要求待ち処理、602...サーバアドレス受信処理、603...中継サーバ特定処理、604...中継処理の必要性判定処理、605...中継サーバ接続処理、606...サーバアドレス通知処理、607...サーバ接続処理、71...ネットワーク例、72...中継経路テーブル、721...ドメイン名記述フィールド、722...中継サーバ名記述フィールド、723...エントリ、731...エントリ、732...エントリ、81...認証情報テーブル、811...認証情報エントリ、812...認証情報エントリ、813...認証相手側計算機 ID フィールド、814...認証用共有情報フィールド、82...認証情報テーブル、821...認証情報エントリ、83...認証情報テーブル、831...認証情報エントリ、84...認証用共有情報、85...認証用共有情報、91...認証情報テーブル、911...認証情報エントリ、92...認証情報テーブル、921...認証情報エントリ、922...認証情報エントリ、93...認証情報テーブル、931...認証情報エントリ、94...認証用共有情報、95...認証用共有情報、1001...ネットワーク例、1002...中継経路テーブル、1021...エントリ、1022...エントリ、1023...ドメイン名記述フィールド、1024...中継サーバ名記述フィールド、1025...プライオリティ記述フィールド、1101...クライアント計算機、1102...ファイアウォール兼中継サーバ、1111...通信クライアントプログラム、1121...データ中継制御プログラム、1103...サーバ計算機、1131...サーバプログラム、1104...IP V4 対応通信モジュール、1105...IP V6 対応通信モジュール、1106...IP V4 ネットワーク、1107...IP V6 ネットワーク
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a communication method and apparatus for a virtual network that relays application communication in a network communication system that performs communication between a client and a server in an environment in which a plurality of firewalls intervene.
[0002]
[Prior art]
Conventionally, there is socks V5 proposed in RFC1928 as a proxy server that relays communication between a client and a server in an environment where a firewall is interposed.
[0003]
Socks defines a socks protocol that realizes mutual authentication between a client and a relay server and a connection command to the relay server, and can realize communication between the client and the server beyond one firewall.
[0004]
As a mechanism for dynamically exchanging relay route information in the IP layer, there are gateway protocols such as RIP (Routing Information Protocol: RFC1058) and OSPF (Open Shortest Path First: RFC1131).
[0005]
[Problems to be solved by the invention]
With the spread of the Internet, cooperation between business units and companies via the Internet and a network environment compatible with remote offices / telecommuting workers are required. In such a network environment, security threats such as intrusion into the corporate network from the outside and eavesdropping of data in the external network have become problems. For this reason, a firewall has been devised as a security tool for preventing intrusion into a corporate network from the outside. The firewall conceals information such as the configuration of the network to be protected from the outside and executes access control based on the authentication of the communication entity at the boundary of the network, thereby preventing intrusion from the outside and preventing communication of legitimate users. Has a function to enable.
[0006]
In IETF, in order to prevent data eavesdropping in the external network in communication between two networks connected by the external network, encryption / encryption of communication packets between firewalls or routers at the boundary between the respective networks and the external network. A method for performing decoding has been proposed. By using this method, it is possible to realize a VPN (Virtual Private Network) that is a technology for making the Internet appear as a virtual corporate network.
[0007]
As described above, in the corporate network using the Internet, the firewall plays an important role in security, and an internal firewall is being installed in the corporate network for the purpose of protecting the sub-network. Communication in such an environment with multiple firewalls has several problems. For example, when communication from an external network computer is performed through an internal firewall that protects a subnetwork, the external firewall and the internal firewall need to relay the communication.
[0008]
However, since the route information to the internal firewall that performs the relay is hidden in the external network, it is necessary to acquire the route information by some method.
[0009]
FIG. 1 is an example of the above problem. When the client 101 communicates with a server in the company A network 106, the external firewall 102 relays the communication. In the communication with the server 104 in the company A network 106, the external firewall 102 can obtain the route information to the server 104, so that the communication can be performed. However, in communication with the server 105 in the subnetwork 107, since the server 105 is hidden by the internal firewall 103, the external firewall 102 cannot obtain the route information to the server 105 and perform communication. Can not. Further, in communication between two networks connected by an external network, a VPN cannot be formed between the respective internal firewalls unless route information for specifying the internal firewall is set for the external firewall.
[0010]
FIG. 2 is an example of the above problem. By registering the firewall 206 in the firewall 205 as a path to the server 202, the client 201 in the network 210 can communicate with the server 202 in the network 2111 by VPN. However, when the server 204 is located in the sub-network 214 inside the network 213, the internal firewall 209 cannot be registered in the firewall 207 because the route is hidden by the firewall 208.
[0011]
Therefore, an object of the present invention is to solve the above two problems by providing a virtual network environment in which a user can use a communication application without being aware of a relay route even when a plurality of firewalls are interposed. I do.
[0012]
[Means for Solving the Problems]
In order to solve the above problems, in the present invention, a communication client program on a client and a communication relay program for relaying communication of a communication server program of a server are started on a relay server such as a firewall, and data is transmitted to the client and the relay server. A route information table for controlling the relay route is provided, and the communication client program on the client executes the process of connecting to the server which cannot be directly connected by the firewall.
(1) It is in the middle of the route to the target server, and
(2) a process of selecting a relay server communicable from the client from the data relay control table;
A connection is made with the relay program of the relay server determined by the above process, and a process of requesting the relay server to relay communication with the communication server program on the server is executed.
[0013]
Therefore, the relay program on the relay server has a function of relaying communication between the communication client program of the client and the communication server program on the server based on the request content of the communication client program on the client. Further, the relay program on the relay server, in the process of connecting to the server that cannot be directly connected by the firewall, like the communication client program of the client,
(1) It is in the middle of the route to the target server, and
(2) a process of selecting a relay server communicable from the client from the data relay control table;
A connection is made with the relay program of the relay server determined by the above process, and a process of requesting the relay server to relay communication with the communication server program on the server is executed.
[0014]
In the virtual network configuration method and apparatus according to the present invention, a communication between a client and a server is relayed by using a communication relay server arranged on a network, and the client and the relay server have a path information table for controlling a data relay path. The client communication program and the relay server relay program
(1) It is in the middle of the route to the target server, and
(2) a process of selecting a relay server communicable from the client from the data relay control table;
Is executed from the data relay control table to secure the communication path, so that the client user can use the communication application without being aware of the relay path even if a plurality of firewalls are interposed.
[0015]
BEST MODE FOR CARRYING OUT THE INVENTION
One embodiment of the present invention will be described with reference to FIGS. 3 to 7. FIG. FIG. 3 is a diagram showing an outline of a virtual network configuration method and device of this method. 301 and 302 are server computers, 303 is a client computer, 304 to 306 are firewall / relay servers, 307 and 308 are local segments, 309 is a backbone segment, 310 is the Internet, 311 and 312 are network subdomains protected by firewalls 313 Is the network domain. When executing communication from the client computer 303 to the server computer 301, the firewall / relay servers 306 and 304 relay the communication.
[0016]
FIG. 4 is a diagram showing a configuration of a client used in the virtual network configuration method and apparatus of the present method and a computer used in the relay server. 41 is a memory, 411 is a relay route information storage area, 412 is a communication data storage area, 413 is a program load area, 42 is a bus, 43 is a CPU, 44 is an external storage device, 441 is a communication program, and 442 is a data relay control program. , 443 is a relay route table, and 45 is a communication I / O.
[0017]
FIG. 5 is a flowchart showing an outline of a communication client program in which the client computer 303 communicates with the server computer 301 in the virtual network configuration method and apparatus of the present system. Step 501 is a step of specifying the firewall / relay server 306 that relays to the communication address of the server computer 301 with reference to the relay path table 442. Step 502 is a step of determining whether the firewall / relay server needs to be relayed. Step 503 is a process in the case where relaying by the firewall / relay server is required, and is a step of connecting to the firewall / relay server 306. Step 504 is a process in the case where relaying by the firewall / relay server is unnecessary. The step of directly connecting to the computer, the step 505 is a step of notifying the firewall / relay server 306 of the communication address of the server computer 301, and the step 506 is a step of the firewall / relay server 306. The step of receiving the result of the connection processing with the server that has been performed, the step 507 is a step of judging from the content received in the step 506 whether or not the other party connected to the firewall / relay server 306 is a server, and the step 508 is a step in which the server computer 301 This is the step of transmitting and receiving communication data. This flow is common to all communication programs 441 operating on the client computer 303. For example, in the case of a UNIX OS, the above functions can be incorporated in a communication library.
[0018]
FIG. 6 is a flowchart schematically showing a relay program 442 in which the relay server 306 relays communication to the server computer 301 in the virtual network configuration method and apparatus of the present method. Step 601 is a step of waiting for a relay request from the communication client program of the client computer 303, Step 602 is a step of receiving the communication address of the server computer 301 from the client computer 303, and Step 603 is a step of receiving the communication address of the server computer 301. The step of identifying whether the firewall / relay server 304 which performs the relay of the firewall / relay server 304 is required by referring to the relay route table 442, the step 604 is a step of determining whether the relay of the firewall / relay server is necessary, and the step 605 is a step of determining whether the relay / relay server is required. Is a step in which connection to the firewall / relay server 304 is performed, and step 606 is a processing in the case where relay by the firewall / relay server is not required. , Step, step 607 for connecting to the server computer directly, a step for transmitting and receiving communication data with the server computer 301.
[0019]
FIG. 7 is a diagram showing the contents of a route information table 422 used in the virtual network configuration method and apparatus of the present system and an example of a network. 71 is a fictitious domain food. co. jp is a network example. food. co. jp domain is a subdomain of fruit. food. co. jp domain, and vegetable. food. co. jp domain and a firewall / relay server with an external network. food. co. jp and the server computer super. food. co. jp.
[0020]
food. co. jp subdomain fruit. food. co. jp domain is a firewall / relay server outside the domain lemon. fruit. food. co. jp and the server computer kiwi. fruit. food. co. jp and the client computer cherry. fruit. food. co. jp. food. co. jp subdomain veg-table. food. co. jp domain is a firewall / relay server potato. vegetable. food. co. jp and the server calculator carrot. vegetable. food. co. jp. 72 is fruit. food. co. jp domain client computer cherry. fruit. food. co. In the figure showing the configuration of the relay route table for jp, a domain name description field 721 specifying a domain that requires relay and a relay server name description field 722 specifying a firewall / relay server that relays to the domain are specified. Have.
[0021]
The domain name description field 721 can use a negation operator “$” as a description for expressing a part other than the described domain name. For example, “@ fruit.food.co.jp” represents “a domain other than the fruit.food.co.jp domain”. In the relay route table 72, a record 723 indicating that "lemon.fruit.food.co.jp relays except for the fruit.food.co.jp domain" is registered. Similarly, 73 is fruit. food. co. jp domain relay server lemon. fruit. food. co. FIG. 7 is a diagram showing the configuration of a relay route table for jp, where a record 731 indicating that “potato.vegetable.food.co.jp relays to the vegetable.food.co.jp domain” and “food.co.jp”. A record 732 indicating that “other than the domain is relayed by dinner.food.co.jp” is registered.
[0022]
Client computer cherry. fruit. food. co. jp is the server computer kiwi. fruit. food. co. jp, the relay route control table 72 is evaluated, and kiwi determines that fruit. food. co. Because it is a server computer in the jp domain, a direct connection is made. As another case, the client computer “cherry. fruit. food. co. jp is the server computer super. food. co. jp, the relay route control table 72 is evaluated, and the super is determined to be fruit. food. co. jp. Since it is a server computer outside the domain, lemon. fruit. food. co. jp for relay. Relay server lemon. fruit. food. co. jp evaluates the relay route control table 73, and the super is “vegetable. food. co. jp server outside the domain, and food. co. jp, so that a direct connection is made. As still another case, the client computer “cherry. fruit. food. co. When jp communicates with a server on the external network, the relay network control table 72 is evaluated, and the server on the external network determines that the fruit. food. co. jp because it is a server computer outside the domain. fruit. food. co. jp for relay. At this time, the relay server lemon. fruit. food. co. jp evaluates the relay route control table 73, and the server of the external network determines whether or not “vegetable. food. co. jp server outside the domain, and food. co. jp. food. co. jp for relay. Relay server dinner. food. co. jp is also Lemon. fruit. food. co. In the same way as jp, the relay route control table is evaluated, and the connection method with the server is determined.
[0023]
In FIG. 7, the domain and the relay server in the relay route table are described by the domain name and the host name in DNS, but this description can also be made by specifying the IP address and the netmask.
[0024]
The basic virtual network configuration method and apparatus of the present system have been described above. If mutual authentication is performed in step 505 of the schematic flowchart of the client computer side communication program 441 and step 602 of the schematic flowchart of the relay server side relay program 442, It is possible to prevent impersonation of both the client computer and the relay server. FIG. 8 is a diagram showing a system configuration for realizing the above functions. The client computer 303 and the firewall / relay servers 304 and 306 have authentication information tables 81 to 83 for storing authentication-related information of computers that perform mutual authentication with the own computer. Each of the authentication information tables 81 to 83 has an ID field 813 of the authentication partner computer and a shared information field for authentication 814. The authentication information table 81 has an entry 811 including the ID of the firewall / relay server 306 and the shared information for authentication 84, and an entry 812 including the ID of the firewall / relay server 304 and the shared information for authentication 85. The authentication information table 82 has an entry 821 including the ID of the client computer 303 and the shared information for authentication 84. The authentication information table 83 has an entry 831 including the ID of the client computer 303 and the shared information for authentication 85. The communication program 441 of the client computer 303 performs a search using the ID of the firewall / relay server that performs mutual authentication acquired in step 501 or step 506 as a key, and from the authentication information table 81, the shared information for authentication with the firewall / relay server. And execute a mutual authentication process. The relay program 442 of the firewall / relay server 306 performs a search using the ID of the client computer obtained in step 602 as a key, obtains shared information for authentication with the client computer from the authentication information table 82, and executes a mutual authentication process. I do. Here, the communication program 441 of the client computer 303 executes authentication processing with the relay program 442 of the firewall / relay server 306, and if the authentication processing is successful, further executes the authentication processing with the relay program 442 of the firewall / relay server 304. However, if the authentication process is successful, security can be enhanced by establishing a connection with the server 301. In the mutual authentication processing, for example, if the authentication shared information 84, 85 is a common key in a shared key encryption method, an ISO / IEC9798 authentication method can be used.
[0025]
It is also possible to use authentication using a public key cryptosystem. When this authentication process is used, information for encrypting communication data can be exchanged between the client computer and the firewall / relay server. In this figure, since the client computer 303 can exchange information for encryption with the firewall / relay server 306 and 304, it is possible to exchange information between the client computer 303 and the firewall / relay server 306 or between the client computer 303 and the firewall / relay server 306. Data encryption can be performed between the relay servers 304.
[0026]
FIG. 9 is a diagram showing another method of mutual authentication in the virtual network configuration method and apparatus of the present method. The authentication information table 91 of the client computer 303 has an entry 911 including the ID of the firewall / relay server 306 and the authentication shared information 94. The authentication information table 92 of the firewall / relay server 306 includes an entry 921 including the ID of the client computer 303 and the shared information for authentication 94, and an entry 922 including the ID of the firewall / relay server 304 and the shared information 95 for authentication. Have. The authentication information table 93 of the firewall / relay server 304 has an entry 931 including the ID of the firewall / relay server 306 and the shared information 95 for authentication. The communication program 441 of the client computer 303 executes a mutual authentication process with the firewall / relay server 306 connected in step 503. The firewall / relay server 306 performs mutual authentication with the client computer 303 connected in step 602 and the firewall / relay server 304 connected in step 605. As in FIG. 8, when this authentication processing is executed, data encryption can be performed between the client computer 303 and the firewall / relay server 306 or between the firewall / relay server 306 and the firewall / relay server 304. it can.
[0027]
FIG. 10 is a diagram illustrating a method of updating the relay route information in the virtual network configuration method and device of the present method. 1001 is a fictitious domain food. co. jp is a network example. food. co. jp domain as a subdomain, fruit. food. co. jp domain, and a firewall / relay server dinner. food. co. jp and the server computer super. food. co. jp. food. co. jp subdomain fruit. food. co. jp domain is a firewall / relay server outside the domain lemon.jp. fruit. food. co. jp and banana. fruit. food. co. jp and the server computer kiwi. fruit. food. co. jp and apple. fruit. food. co. jp, and the client computer cherry. fruit. food. co. jp. dinner. food. co. jp is stored in the relay route table 1002 from the client of the external network. food. co. The entry for relaying access to the jp domain is lemon. fruit. food. co. jpn designated as a firewall / relay server; fruit. food. co. There is an entry 1022 that specifies jp as a firewall / relay server. Firewall / relay server lemon. fruit. food. co. jp and banana. fruit. food. co. jp periodically stores each of the entries 1021 and 1022 in a diner. food. co. jp., and send to dinner.jp. food. co. jp can update the relay route information dynamically by updating the relay route table 1002 based on the information. Further, a priority field 1025 is provided in the relay route table 1002, and the firewall / relay server lemon. fruit. food. co. jp and banana. fruit. food. co. j is, for example, a priority set according to the load situation, which is set to dinner. food. co. jp. to send to the dinner. food. co. jp is fruit. food. co. The firewall / relay server used for communication with the jp domain can be changed. In addition, by describing the server name in the domain name description field 1023, the firewall / relay server used for relay can be changed for each server. For example, when the domain name description field 1023 of the entry 1021 is set to kiwi. fruit. food. co. jp, add the domain name description field 1023 of entry 1022 to apple. fruit. food. co. jp, so that kiwi. fruit. food. co. jp is sent to lemon. fruit. food. co. jp is an apple. fruit. food. co. jp is sent to banana. fruit. food. co. jp will relay each.
[0028]
FIG. 11 is a diagram illustrating an example of a communication infrastructure conversion function in the virtual network configuration method and device of the present scheme. 1101 is a client computer, 1102 is a firewall / relay server, 1111 is a communication client program, 1121 is a data relay control program, 1103 is a server computer, 1131 is a server program, 1104 is an IPV4-compatible communication module, and 1105 is an IPV6-compatible communication module. Reference numeral 1106 denotes an IPv4 network, and 1107 denotes an IPv6 network. The client computer 1101 uses the IPV4 compatible communication module 1104 to perform communication according to the IPV4 protocol. Further, the server computer 1103 performs communication according to the IPV6 protocol using the communication module 1105 corresponding to the IPV4.
[0029]
Therefore, the client computer 1101 and the server computer 1103 cannot perform direct communication. However, by using the data relay control program 1121 in the firewall / relay server 1102 having the IPV4 communication module 1104 and the IPV6 communication module 1105, communication can be performed between the client computer 1101 and the server computer 1103. become. In FIG. 11, conversion between IP V4 and IP V6 was performed as an example of the communication infrastructure, but by using an appropriate relay program and a relay path table, Apple Talk, SNA, IPX, etc. can be used as the communication infrastructure. It is also possible to use.
[0030]
【The invention's effect】
As is apparent from the above description, according to the present invention, even when relay route information is concealed by a plurality of firewalls, network communication that allows a user of a client to use a communication application without being aware of a relay route. A method and apparatus can be obtained.
[Brief description of the drawings]
FIG. 1 is a diagram showing a conventional network configuration.
FIG. 2 is a diagram showing another conventional network configuration.
FIG. 3 is a network configuration diagram showing one embodiment of the present invention.
FIG. 4 is a block diagram illustrating an example of a configuration of a client and a relay server.
FIG. 5 is a flowchart showing a processing operation of the client computer.
FIG. 6 is a flowchart illustrating a processing operation of the relay server.
FIG. 7 is a diagram illustrating an example of a route information table.
FIG. 8 is a diagram showing an embodiment of an authentication system used in the present invention.
FIG. 9 is a diagram showing another embodiment of the authentication system used in the present invention.
FIG. 10 is a diagram illustrating an example of dynamic route control.
FIG. 11 is a diagram showing a main part of another embodiment of the present invention.
[Explanation of symbols]
101. . . Client computer, 102. . . External firewall, 103. . . Internal firewall, 104. . . Server, 105. . . Server, 106. . . Company A network, 107. . . Subnetwork, 201. . . Client computer, 202. . . Server computer, 203. . . Client computer, 204. . . Server computer, 205. . . Firewall, 206. . . Firewall, 207. . . Firewall, 208. . . Firewall, 209. . . Internal firewall, 210. . . Network, 211. . . Network, 212. . . Network, 213. . . Network, 214. . . Subnetwork, 215. . . External network, 216. . . External network, 301. . . Server computer, 302. . . Server computer, 303. . . Client computer, 304. . . 305. Firewall / relay server . . 306. Firewall / relay server . . 307. firewall / relay server . . Local segment, 308. . . Local segment, 309. . . Backbone segment, 310. . . Internet, 311. . . Network subdomain, 312. . . Network subdomain, 313. . . Network domain, 41. . . Memory, 411. . . 412. Relay route information storage area . . Communication data storage area, 413. . . Program load area, 42. . . Bus, 43. . . CPU, 44. . . External storage device, 441. . . Communication program, 442. . . Data relay control program, 443. . . Relay route table, 45. . . Communication I / O, 501. . . Relay server identification processing, 502. . . 503. relay processing necessity determination processing; . . Relay server connection processing, 504. . . Server connection processing, 505. . . Server address notification processing, 506. . . Relay processing result reception processing, 507. . . Server connection determination processing, 508. . . Communication data transmission / reception processing; . . Waiting for client communication request, 602. . . Server address reception processing, 603. . . Relay server identification processing, 604. . . Processing for determining necessity of relay processing, 605. . . Relay server connection processing, 606. . . Server address notification processing, 607. . . Server connection processing, 71. . . Network example, 72. . . Relay route table, 721. . . Domain name description field, 722. . . Relay server name description field, 723. . . Entry, 731. . . Entry, 732. . . Entry, 81. . . Authentication information table, 811. . . Authentication information entry, 812. . . Authentication information entry, 813. . . Authentication partner computer ID field, 814. . . 82. Authentication shared information field . . Authentication information table, 821. . . Authentication information entry, 83. . . Authentication information table, 831. . . Authentication information entry, 84. . . Shared information for authentication, 85. . . Shared information for authentication, 91. . . Authentication information table, 911. . . Authentication information entry, 92. . . Authentication information table, 921. . . Authentication information entry, 922. . . Authentication information entry, 93. . . Authentication information table, 931. . . Authentication information entry, 94. . . Shared information for authentication, 95. . . Shared information for authentication, 1001. . . Network example, 1002. . . Relay route table, 1021. . . Entries, 1022. . . Entry, 1023. . . Domain name description field, 1024. . . Relay server name description field, 1025. . . Priority description field, 1101. . . Client computer, 1102. . . Firewall / relay server, 1111. . . Communication client program, 1121. . . Data relay control program, 1103. . . Server computer, 1131. . . Server program, 1104. . . IPV4 compatible communication module, 1105. . . IPV6-compatible communication module, 1106. . . IPV4 network, 1107. . . IP V6 network

Claims (7)

クライアント装置とサーバ装置との間に,前記サーバ装置への中継経路情報を前段の装置から隠蔽する中継装置を複数段備えるネットワークにおいて,前記クライアント装置と複数の前記中継装置と前記サーバ装置との間に接続を確立して,前記クライアント装置が前記サーバ装置と通信を行う通信システムであって,
前記中継装置おのおのと,前記クライアント装置は,
前記サーバ装置の識別情報と,前記サーバ装置への接続要求を送信する場合に接続するべき次段の装置の識別情報と,を対応づけて格納する中継経路制御テーブルを備え,
前記中継装置おのおのは,
前段の装置である,前記クライアント装置または前段の中継装置,から受信する,前記クライアント装置による前記サーバ装置への接続要求に対して,前記中継経路制御テーブルを参照し,前記サーバ装置への接続要求に含まれる前記サーバ装置の識別情報に基づいて,次段の装置を決定する手段と,
前記次段の装置が,いずれかの前記中継装置であった場合は,当該次段の中継装置へ接続する手段と,
前記次段の中継装置へ接続したことを前記前段の装置へ通知する手段と,
前記前段の装置への前記通知に応答して,前記前段の装置から新たに受信する前記サーバ装置への接続要求を,接続した前記次段の中継装置へ,転送する手段と,
前記次段の中継装置から,転送した前記サーバ装置への接続要求に対する結果を受信して,前記前段の装置へ前記結果を転送する手段と,
前記前段の装置へ転送した,前記サーバ装置への接続要求に対する結果に応答して,前記前段の装置から新たに受信する前記サーバ装置への接続要求を,接続した前記次段の中継装置へ,転送する手段と,を備え,
前記クライアント装置は,
前記サーバ装置への接続要求時に,前記中継経路制御テーブルを参照し,前記サーバ装置の識別情報に基づいて,当該サーバ装置への接続要求の送信先となる次段の中継装置を選択し,選択した前記次段の中継装置へ接続する手段と,
接続された前記次段の中継装置へ前記サーバ装置への接続要求を送信する手段と,
前記サーバ装置への接続要求に対する結果を受信して,前記サーバ装置に接続されたか否かを判定する手段と,
前記判定結果が,前記サーバ装置ではなくいずれかの前記中継装置に接続されたことを示す場合は,再び,前記サーバ装置への接続要求を,接続されている前記次段の中継装置に送信する手段と,
を備えることを特徴とする通信システム。
In a network having a plurality of relay devices between a client device and a server device for hiding relay route information to the server device from a preceding device, a network between the client device, the plurality of relay devices, and the server device is provided. A communication system in which the client device communicates with the server device by establishing a connection with
Each of the relay devices and the client device,
A relay path control table storing the identification information of the server device and the identification information of the next device to be connected when transmitting a connection request to the server device, in association with each other;
Each of the relay devices is
In response to a connection request to the server device by the client device received from the client device or the preceding relay device, which is a preceding device, the connection request to the server device is referred to by referring to the relay route control table. Means for determining a next-stage device based on the identification information of the server device included in
A means for connecting to the next-stage relay device when the next-stage device is any of the relay devices;
Means for notifying to the preceding device that connection to the next-stage relay device has been established;
Means for, in response to the notification to the preceding device, transferring a connection request to the server device newly received from the preceding device to the connected next relay device;
Means for receiving, from the next-stage relay device, the result of the transferred connection request to the server device and transferring the result to the preceding-stage device;
In response to the result of the connection request to the server device transferred to the preceding device, a connection request to the server device newly received from the preceding device is transmitted to the connected next relay device. Means for transferring,
The client device comprises:
At the time of a connection request to the server device, the relay route control table is referred to, and based on the identification information of the server device, a next-stage relay device to which a connection request to the server device is to be transmitted is selected. Means for connecting to the next-stage relay device,
Means for transmitting a connection request to the server device to the connected next relay device;
Means for receiving a result of the connection request to the server device and determining whether or not the server device has been connected;
If the determination result indicates that the connection is made to one of the relay devices instead of the server device, a connection request to the server device is transmitted again to the connected next-stage relay device. Means,
A communication system comprising:
請求項1に記載の通信システムであって,
前記クライアント装置と,前記中継装置は,
他の装置である前記サーバ装置または他の中継装置との間で認証を行うために,前記他の装置を特定する識別情報と認証用情報を対応づけて格納した認証情報テーブルと,
前記識別情報を含んだ前記サーバ装置への接続要求を受信した際に,前記認証情報テーブルを用いて,前記識別情報により特定される前記他の装置と認証を行う手段と,を備えることを特徴とする通信システム。
The communication system according to claim 1, wherein
The client device and the relay device,
To perform authentication with the other is a device wherein the server apparatus or another relay device, an authentication information table information for authentication and identification information identifying the other device and stored in association,
Characterized in that when receiving a connection request to the containing identification information the server device, by using the authentication information table, and means for performing authentication with the other apparatus identified by said identification information Communication system.
請求項2に記載の通信システムであって,
前記クライアント装置が備える前記認証情報テーブルは,前記中継装置各々と認証を行うための識別情報と認証用情報とを有し,
前記中継装置各々が備える前記認証情報テーブルは,前記クライアント装置と認証を行うための識別情報と認証用情報とを有することを特徴とする通信システム。
The communication system according to claim 2, wherein
Wherein the authentication information table which the client device comprises has identification information for authentication and the relay device respectively the authentication information,
The authentication information table, the communication system characterized by having said client device and identification information for authentication and the authentication information by the relay device each comprising.
請求項2に記載の通信システムであって,
前記クライアント装置が備える前記認証情報テーブルは,次段の中継装置と認証を行うための識別情報と認証用情報とを有し,
前記中継装置が備える前記認証情報テーブルは,隣接する他の装置と認証を行うための識別情報と認証用情報とを有することを特徴とする通信システム。
The communication system according to claim 2, wherein
Wherein the authentication information table which the client device comprises includes the authentication information and identification information for authenticating the next stage relay apparatus,
Communication system wherein the authentication information table, characterized by having a identification information for authenticating the other adjacent device and authentication information by the relay apparatus.
請求項1に記載の通信システムであって,
前記クライアント装置といずれかの前記中継装置とは,
データの暗号化情報を共有する手段と,
共有した暗号化情報を用いて,データの暗号化通信を行う手段と,を備えることを特徴とする通信システム。
The communication system according to claim 1, wherein
The client device and any of the relay devices
Means for sharing data encryption information,
Means for performing encrypted communication of data using the shared encryption information.
請求項1に記載の通信システムであって,
前記クライアント装置と,前記中継装置は,
それぞれ隣接する装置間でデータの暗号化情報を共有する手段と,
共有した暗号化情報を用いて,データの暗号化通信を行う手段と,を備えることを特徴とする通信システム。
The communication system according to claim 1, wherein
The client device and the relay device,
Means for sharing data encryption information between adjacent devices,
Means for performing encrypted communication of data using the shared encryption information.
請求項1に記載の通信システムであって,
前記クライアント装置と,前記中継装置のいずれかの中継経路制御テーブルは,
格納された情報に優先度を与える優先度情報をさらに格納し,
前記いずれかの装置は,
他の装置の前記中継経路制御テーブルに格納された情報の優先度を変更する情報を送信する手段と,
他の装置から受信した前記優先度変更情報に基づいて,前記中継経路制御テーブルに格納された情報の優先度を変更する手段と,を備え,
前記いずれかの装置の前記中継装置を選択する手段は,前記中継経路制御テーブルに格納された優先度情報を用いて他の装置を選択することを特徴とする通信システム。
The communication system according to claim 1, wherein
The relay route control table of one of the client device and the relay device is
Priority information that gives priority to the stored information is further stored,
Any of the above devices,
Means for transmitting information for changing the priority of information stored in the relay path control table of another device;
Means for changing the priority of the information stored in the relay route control table based on the priority change information received from another device,
The communication system according to claim 1, wherein the means for selecting the relay device of any one of the devices selects another device using the priority information stored in the relay path control table.
JP27580996A 1996-07-12 1996-10-18 Network communication method and apparatus Expired - Fee Related JP3587633B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP27580996A JP3587633B2 (en) 1996-10-18 1996-10-18 Network communication method and apparatus
US08/884,133 US6111883A (en) 1996-07-12 1997-06-27 Repeater and network system utilizing the same
US09/625,975 US6754212B1 (en) 1996-07-12 2000-07-26 Repeater and network system utililzing the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27580996A JP3587633B2 (en) 1996-10-18 1996-10-18 Network communication method and apparatus

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2001019383A Division JP3692943B2 (en) 2001-01-29 2001-01-29 Communication client device

Publications (2)

Publication Number Publication Date
JPH10126440A JPH10126440A (en) 1998-05-15
JP3587633B2 true JP3587633B2 (en) 2004-11-10

Family

ID=17560724

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27580996A Expired - Fee Related JP3587633B2 (en) 1996-07-12 1996-10-18 Network communication method and apparatus

Country Status (1)

Country Link
JP (1) JP3587633B2 (en)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3253542B2 (en) * 1996-11-22 2002-02-04 株式会社日立製作所 Network communication system
US6502135B1 (en) 1998-10-30 2002-12-31 Science Applications International Corporation Agile network protocol for secure communications with assured system availability
ES2760905T3 (en) 1998-10-30 2020-05-18 Virnetx Inc An agile network protocol for secure communications with assured system availability
US6826616B2 (en) 1998-10-30 2004-11-30 Science Applications International Corp. Method for establishing secure communication link between computers of virtual private network
US10511573B2 (en) 1998-10-30 2019-12-17 Virnetx, Inc. Agile network protocol for secure communications using secure domain names
US7418504B2 (en) 1998-10-30 2008-08-26 Virnetx, Inc. Agile network protocol for secure communications using secure domain names
JP2000253038A (en) * 1999-02-26 2000-09-14 Kenwood Corp Firewall system
JP2001175551A (en) * 1999-12-10 2001-06-29 Internatl Business Mach Corp <Ibm> Maintenance management system, remote maintenance management method, sheet member processing apparatus, and printer remote maintenance management method
JP3637863B2 (en) 2000-11-01 2005-04-13 日本電気株式会社 Virtual network and virtual network connection method
US7206088B2 (en) 2001-01-15 2007-04-17 Murata Kikai Kabushiki Kaisha Relay server, communication system and facsimile system
JP4222397B2 (en) 2006-09-12 2009-02-12 村田機械株式会社 Relay server
EP2112805B1 (en) 2006-10-11 2011-02-09 Murata Machinery, Ltd. Relay server
EP1912404B1 (en) 2006-10-11 2011-06-01 Murata Machinery, Ltd. File transfer server

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL114182A (en) * 1995-06-15 2003-03-12 Checkpoint Software Techn Ltd Method for controlling computer network security
JP3688830B2 (en) * 1995-11-30 2005-08-31 株式会社東芝 Packet transfer method and packet processing apparatus
JPH09321802A (en) * 1996-05-24 1997-12-12 Nec Corp Relay type file transfer system
JPH1028144A (en) * 1996-07-12 1998-01-27 Hitachi Ltd Network configuration method with access control function

Also Published As

Publication number Publication date
JPH10126440A (en) 1998-05-15

Similar Documents

Publication Publication Date Title
US11831607B2 (en) Secure private traffic exchange in a unified network service
US7159109B2 (en) Method and apparatus to manage address translation for secure connections
CA2383247C (en) External access to protected device on private network
JP3651721B2 (en) Mobile computer device, packet processing device, and communication control method
JP4727126B2 (en) Providing secure network access for short-range wireless computing devices
KR100416541B1 (en) Method for accessing to home-network using home-gateway and home-portal sever and apparatus thereof
EP1710953B1 (en) Encryption communication method
US7760729B2 (en) Policy based network address translation
US8073949B2 (en) Secure multiapplication proxy
JP3587633B2 (en) Network communication method and apparatus
JP2008507929A (en) Method and system for securing remote access to a private network
CN114268499B (en) Data transmission method, device, system, equipment and storage medium
Henderson et al. The Host Identity Protocol (HIP) Experiment Report
WO2014001871A1 (en) System and method for facilitating communication between multiple networks
JP3692943B2 (en) Communication client device
JP3575369B2 (en) Access routing method and access providing system
US20070147376A1 (en) Router-assisted DDoS protection by tunneling replicas
JP2002236627A (en) How to change firewall dynamic ports
JP2006216014A (en) System and method for authenticating a message, firewall for authenticating a message, network device, and computer-readable medium
Gillmor et al. RFC 9539: Unilateral Opportunistic Deployment of Encrypted Recursive-to-Authoritative DNS
WO2023199189A1 (en) Methods and systems for implementing secure communication channels between systems over a network

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040628

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040810

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

Free format text: PAYMENT UNTIL: 20070820

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20080820

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20080820

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090820

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100820

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees