(57)【要約】本発明は、ネットワーク上における透過ゲートウェイまたは透過プロキシ具現方法に関し、特に、ネットワーク住所変換手法の具現されたルータ、ゲートウェイまたはスイッチング装備などのネットワーク装備でＮＡＴを変形した手法を使用することを特徴とする。これによれば、ネットワーク経路にゲートウェイがあってもクライアントサーバーはそれらの間にゲートウェイがないような状態で通信を行う。
2004522368.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク住所変換テーブルを備えるネットワーク装備を使ってゲートウェイまたはプロキシを含むネットワーク上で透過ゲートウェイまたは透過プロキシを具現する方法において、
受信されたパケットに対して出発地または目的地ポートがネットワーク住所変換テーブルに存在するか否か照会する第１段階；
前記第１段階で出発地または目的地ポートがネットワーク住所変換テーブルに存在する場合、セッションをセッション情報テーブルに記録する第２段階；
前記第２段階以降のパケットに対してＩＰ住所を変更する第３段階；
を含むことを特徴とするネットワーク上における透過ゲートウェイまたは透過プロキシ具現方法。
【請求項２】
前記第３段階は、
出発地ＩＰがゲートウェイＩＰでない場合、
ＳＹＮフラグがセッティングされた場合、セッションを登録した後、予め設定されたゲートウェイモードが一般のゲートウェイモードの場合、セッション情報テーブルからセッションを照会し、前記セッション照会によって照会された結果があると目的地ＩＰをゲートウェイＩＰに変更し、予め設定されたゲートウェイモードが透過ゲートウェイモードであるとそのままパケットを伝送する段階を含むことを特徴とする請求項１記載のネットワーク上における透過ゲートウェイまたは透過プロキシ具現方法。
【請求項３】
前記セッション照会は、出発地ＩＰ、出発地ポート、目的地ＩＰおよび目的地ポートによって検索することを特徴とする請求項２記載のネットワーク上における透過ゲートウェイまたは透過プロキシ具現方法。
【請求項４】
前記第３段階は、
出発地ＩＰがゲートウェイＩＰである場合、
セッション情報テーブルからセッションを照会し、前記セッション照会によって照会された結果があると、ＦＩＮまたはＲＳＴフラグがセッティングされた場合、セッションを削除した後、出発地ＩＰをゲートウェイＩＰから実際の出発地ＩＰに変更する段階を含むことを特徴とする請求項３記載のネットワーク上における透過ゲートウェイまたは透過プロキシ具現方法。
【請求項５】
前記セッション照会は、目的地ＩＰ、目的地ポート、ゲートウェイＩＰおよび出発地ポートによって検索することを特徴とする請求項４記載のネットワーク上における透過ゲートウェイまたは透過プロキシ具現方法。
【請求項６】
ネットワーク住所変換テーブルを備えるネットワーク装備を使ってゲートウェイまたはプロキシを含むネットワーク上で透過ゲートウェイまたは透過プロキシを具現する方法において、
受信されたパケットに対して出発地または目的地ポートがネットワーク住所変換テーブルに存在するか否か照会する第１段階；
前記第１段階で出発地または目的地ポートがネットワーク住所変換テーブルに存在しないと、出発地ＩＰがゲートウェイＩＰである場合、ゲートウェイセッションテーブルからセッションを照会し、セッションが存在するとゲートウェイセッションテーブルのセッションと同一にＩＰポートを変更する第２段階；
ＦＩＮまたはＲＳＴフラグがセッティングされた場合、ゲートウェイセッションを削除する第３段階；
を含むことを特徴とするネットワーク上における透過ゲートウェイまたは透過プロキシ具現方法。
【請求項７】
ネットワーク住所変換テーブルを備えるネットワーク装備を使ってゲートウェイまたはプロキシを含むネットワーク上で透過ゲートウェイまたは透過プロキシを具現する方法において、
受信されたパケットに対して出発地または目的地ポートがネットワーク住所変換テーブルに存在するか否か照会する第１段階；
前記第１段階で出発地または目的地ポートがネットワーク住所変換テーブルに存在する場合、ＳＹＮフラグがセッティングされたか確認する第２段階；
前記第２段階でＳＹＮフラグがセッティングされた場合、ＩＰとポートを変更する第３段階；
を含むことを特徴とするネットワーク上における透過ゲートウェイまたは透過プロキシ具現方法。
【請求項８】
前記第３段階は、
出発地ＩＰがゲートウェイＩＰである場合、ゲートウェイセッションテーブルに登録し、セッションテーブルのＳｐｔｒを連結し、ゲートウェイセッションテーブルと同一にＩＰとポートを変更することを特徴とする請求項７記載のネットワーク上における透過ゲートウェイまたは透過プロキシ具現方法。
【請求項９】
出発地ＩＰがゲートウェイＩＰでない場合、セッションテーブルに登録した後、ゲートウェイセッションテーブルに登録し、セッションテーブルのＣｐｔｒを連結し、ＳＴ．Ｃｐｔｒと同一にＩＰとポートを変更することを特徴とする請求項７記載のネットワーク上における透過ゲートウェイまたは透過プロキシ具現方法。
【請求項１０】
ネットワーク住所変換テーブルを備えるネットワーク装備を使ってゲートウェイまたはプロキシを含むネットワーク上で透過ゲートウェイまたは透過プロキシを具現する方法において、
受信されたパケットに対して出発地または目的地ポートがネットワーク住所変換テーブルに存在するか否か照会する第１段階；
前記第１段階で出発地または目的地ポートがネットワーク住所変換テーブルに存在する場合、ＳＹＮフラグがセッティングされたか確認する第２段階；
前記第２段階でＳＹＮフラグがセッティングされていない場合、ＩＰとポートを変更する第３段階；
を含むことを特徴とするネットワーク上における透過ゲートウェイまたは透過プロキシ具現方法。
【請求項１１】
前記第３段階は、
出発地ＩＰがゲートウェイＩＰである場合、ゲートウェイセッションテーブルからセッションを照会し、セッションが存在する場合ゲートウェイセッションテーブルのセッションと同一にＩＰとポートを変更する段階；
ＦＩＮまたはＲＳＴフラグがセッティングされた場合ゲートウェイセッションを削除する段階；
を含むことを特徴とする請求項１０記載のネットワーク上における透過ゲートウェイまたは透過プロキシ具現方法。
【請求項１２】
前記第３段階は、
出発地ＩＰがゲートウェイＩＰでない場合、セッションテーブルからセッションを照会し、セッションが存在する場合、出発地ＩＰと到着地ＩＰが反対か判断する段階；
出発地ＩＰと到着地ＩＰが反対の場合、ＳＴ．Ｓｐｔｒと同一にＩＰとポートを変更し、ＦＩＮまたはＲＳＴフラグがセッティングされた場合、セッションテーブルを削除する段階；
出発地ＩＰと到着地ＩＰが反対でない場合、ＳＴ．Ｃｐｔｒと同一にＩＰとポートを変更し、ＦＩＮまたはＲＳＴフラグがセッティングされた場合、セッションテーブルを削除する段階；
を含むことを特徴とする請求項１０記載のネットワーク上における透過ゲートウェイまたは透過プロキシ具現方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワーク上における透過ゲートウェイ（ｔｒａｎｓｐａｒｅｎｔ ｇａｔｅｗａｙ）または透過プロキシ（ｔｒａｎｓｐａｒｅｎｔ ｐｒｏｘｙ）具現方法に関し、特に、ネットワーク住所変換（Ｎｅｔｗｏｒｋ Ａｄｄｒｅｓｓ Ｔｒａｎｓｌａｔｉｏｎ：以下、ＮＡＴと略す）手法が具現されたルータ（Ｒｏｕｔｅｒ）、ゲートウェイまたはスイッチング装備などでＮＡＴを変形した手法を使用することによって透過ゲートウェイまたは透過プロキシを具現できる方法に関する。
【０００２】
【従来の技術および発明が解決しようとする課題】
透過ゲートウェイとは、使用者側からみるとき、まるでゲートウェイ無しにサーバーと直接通信しているかのように見えるゲートウェイを意味する。つまり、透過ゲートウェイは、使用者がゲートウェイまたはプロキシを直接設定しなくてもＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ Ｃｏｎｔｒｏｌ Ｐｒｏｔｏｃｏｌ）のサービスポートに該当する全てのパケットがゲートウェイ或いはプロキシに伝送されて付加的な他の作業を可能にする。
【０００３】
一般に、ゲートウェイとして最も広く活用されるのが、侵入遮断システムのプロキシまたはゲートウェイである。一般のプロキシでは全ての使用者がプロキシを設定するか、或いはプロキシに接続した後に実際に接続したいサーバーに再び接続する方式を採択している。しかし、透過ゲートウェイでは、使用者がゲートウェイ或いはプロキシを意識せずに直接接続したいシステムに接続を試みると、透過ゲートウェイで再び検証作業を経て自体的に実際のサーバーと連携して連結を行う。したがって、使用者とサーバーにとってそれらの間にゲートウェイ無しに直接通信しているかのように考えさせるシステムである。
【０００４】
現在使用されている技術によれば、ウェブプロキシ（ｗｅｂｐｒｏｘｙ）などでは透過プロキシシステムを構成するのが可能である。この方式では、ネットワーク装備でウェブサービスポートが指定されたＴＣＰパケットをプロキシに再伝送（ｒｅｄｉｒｅｃｔｉｏｎ）すると、プロキシから全てのパケットを読み込んだ後、自分のＩＰで再びサーバーと連結されて通信する。これは、ウェブで使用するＨＴＴＰプロトコルで接続しなくてはならない相手側のウェブサーバーのホスト名とＵＲＬ情報があるために可能である。この場合、単純に使用者がプロキシを指定しないでサーバーに直接接続をできるという意味から使われているが、サーバー側にとっては、実際に接続するクライアントを本来のクライアントとして把握するのではなくプロキシをクライアントとして把握する問題が残っている。したがって、サーバー側からクライアントを正確に把握するのが困難であるだけでなく、ＩＰに基づいた認証体系を採択する場合には致命的な弱点となり得る。また、サーバー側で使用者を把握し難いため、課金などのような問題を解決できない場合には、ゲートウェイを通じた接続に対してはサービスできない場合も発生する。このため、保安などの様々な目的からゲートウェイを採択した多くの企業または団体ではゲートウェイの運営と関連して下記のような問題を抱えている。
【０００５】
第一に、使用者の環境を変更させる作業を追加的に行わなければならない。第二に、使用者にゲートウェイを利用する方法を教育する煩わしい作業を必ず行わなければならない。第三に、問題発生のおそれのある部分に対するヘルプデスク（ｈｅｌｐｄｅｓｋ）サービス費用が発生する。第四に、前述したように透過ウェブプロキシを運営するとしてもインターネットの数多くのシステムのうちＩＰに基づく制御を行うサーバー側では正常的なサービスが受けられない。第五に、透過ウェブプロキシはＨＴＴＰのように応用プロトコル内に存在する目的地サーバーの情報がわかるウェブに限って適用可能なものであり、仮に、テルネット（Ｔｅｌｎｅｔ）やファイル伝送プロトコル（ＦＴＰ）のようなゲートウェイで構成された場合、まず使用者はゲートウェイに接続し、ゲートウェイから再びサーバーのＩＰに接続を試みてこそ望むサーバーに連結可能である。したがって、透過ウェブプロキシだけでなく、ＴＣＰを根幹とする全てのサービスにおける応用プログラムに対して透過プロキシ或いは透過ゲートウェイを具現する必要がある。
【０００６】
ここ数年間急速に成長してきたインターネットは、その構造が、現在のような膨大な連結を予測できなかった数十年前に創案されたため、可用インターネットプロトコル（Ｉｎｔｅｒｎｅｔ Ｐｒｏｔｏｃｏｌ：以下、ＩＰと略す）の問題点を補完するためにＮＡＴという概念が登場した。一般にＮＡＴは、私設網住所の再使用概念に基づいたものであって、ルータなどに適用されてルータが各ポート（ｐｏｒｔ）からデータを受け取ってＮＡＴ規則（Ｍａｐｐｉｎｇ Ｒｕｌｅ）にしたがってＩＰパケットの発信地住所（Ｓｏｕｒｃｅ ＩＰ Ａｄｄｒｅｓｓ）領域（ｆｉｅｌｄ）を公認ＩＰ住所に変換して伝送する。前記ＮＡＴの適用されたネットワーク装備は別途の住所プール（ｐｏｏｌ）に適当量の公認ＩＰ住所を確保しており、私設網から外部網への接続要請があると、確保していた公認ＩＰ住所のうち使用されない住所を私設網に割り当てる。ここで、公認ＩＰ住所の変換はＮＡＴテーブルを通じて管理する。
【０００７】
図１は、基本ＮＡＴ概念を説明する図である。図１に示すように、基本ＮＡＴの方法では、データフローにおいてアウトゴーイング（ｏｕｔｇｏｉｎｇ）時には発信地のローカルＩＰ住所に一つのグロバール住所を割り当て、これを変換テーブルに記録した後、ローカルＩＰ住所をグロバールＩＰ住所に変換して伝送し、インカミング（ｉｎｃｏｍｉｎｇ）時には、目的時（つまり、アウトゴーイング時の変換された発信地）のグロバールＩＰ住所を利用してローカルＩＰ住所を検索した後、グロバールＩＰ住所をローカルＩＰに変換する。このような基本ＮＡＴでは目的地ＩＰ住所だけでデータフローが区分でき、複数台のホストが一つのＩＰ住所を同時に共有できないので、住所変換は容易であるが、ＩＰ住所利用率は大幅に劣る。図１を参照してこれを具体的に説明する。
【０００８】
例えば、ローカルネットワークのホストＡとグロバールネットワークのＸが通信し、ローカルネットワークのホストＢとグロバールネットワークのＹが通信をすると仮定する。ＡからＸに向かうデータフローにおいて発信地のＡの住所とここに割り当てられたグロバールＩＰ住所Ｇを変換テーブルに記録する。図１に示すように、仮に、ＢからＹに向かうデータフローに対してもＡからＸに向かうデータフローに割り当てられた同一のＩＰ住所Ｇを割り当てると、基本ＮＡＴではインカミング時Ｙからくるデータを伝達するために目的地住所のＧだけで変換テーブルを検索するとき、ＡとＢのローカル住所が全て検索されるので、どこにデータを伝達したらいいか混乱が生じる。したがって、基本ＮＡＴ方法ではローカルネットワークにおいて各々のローカルＩＰ住所を有する複数台のホストが同時に同一グロバールＩＰに変更できない。これを解決するために通常、ＩＰとポートを含めて変換テーブルに記録する。
【０００９】
図１の例に挙げてさらに具体的に説明する。ＡからＸに向かうデータフローにおいて発信地のＡの住所とポート番号１００に割り当てられたグロバールＩＰ住所Ｇとポート番号１０００を変換テーブルに記録する。ＮＡＴでは、図１に示すように、ＢからＹに向かうデータフローについても、発信地Ｂの住所とポート番号１００にポート番号２０００だけを異にしてグロバール住所Ｇを割り当てることができる。このとき、インカミング時ＹからＢにくるデータを伝達するために、目的地住所のＧとポート番号２０００で変換テーブルを検索すると、Ｂのローカル住所とポート番号１００だけが検索されるので、同一のグロバールＩＰ住所Ｇを持ってもＡからＸへのデータフローとＢからＹへのデータフローが区分できる。
【００１０】
本発明の目的は、前記従来の技術の問題点を解決するために、ネットワーク住所変換手法が具現されたルータ、ゲートウェイまたはスイッチング装備でＮＡＴを変形した手法を使用することによって、透過ゲートウェイまたは透過プロキシが具現できる方法を提供することにある。
【００１１】
【課題を解決するための手段】
前記目的を達成するために、本発明によるネットワーク上における透過ゲートウェイまたは透過プロキシ具現方法は、ネットワーク住所変換テーブルを備えるネットワーク装備を使ってゲートウェイまたはプロキシを含むネットワーク上で透過ゲートウェイまたは透過プロキシを具現する方法において、受信されたパケットに対して出発地または目的地ポートがネットワーク住所変換テーブルに存在するか否か照会する第１段階；前記第１段階で出発地または目的地ポートがネットワーク住所変換テーブルに存在する場合、セッションをセッション情報テーブルに記録する第２段階；前記第２段階以降のパケットに対してＩＰ住所を変更する第３段階；を含むことを特徴とする。
【００１２】
本発明によれば、使用者側からみるとき、まるでゲートウェイ無しに直接サーバー側と通信しているかのように見えるようにする透過ゲートウェイまたは透過プロキシを具現することによって使用者の環境を変更させる作業が要らなくなり、使用者にゲートウェイを利用する方法を教育せずに済むので、ネットワークの構成およびメンテナンスにかかる費用を大幅に節減できる。
【００１３】
また、本発明によれば、ＩＰに基づいて制御を行うサーバー側で正常的なサービスを提供することができ、テルネットやファイル伝送プロトコル（ＦＴＰ）のようにプロトコルの内容から目的地ＩＰがわからないプロトコルに対するプロキシまたはゲートウェイで構成された場合にも透明性が保障できる。
【００１４】
【発明の実施の形態】
図２は、ＩＰヘッダ（ＩＰ  ｈｅａｄｅｒ）の構成を示す図であり、図３は、ＴＣＰヘッダ（ＴＣＰ  ｈｅａｄｅｒ）の構成を示す図であり、図４は、本発明による透過ゲートウェイを適用したネットワーク構成図である。
【００１５】
図４において、クライアント１０は、サーバー７０と直接通信できるが、通常、保安などの目的からネットワーク中間にはゲートウェイが設置される。この種のゲートウェイの代表的な例が侵入遮断システムである。その他のゲートウェイとしてウェブプロキシ、ＳＭＴＰゲートウェイ、ＦＴＰゲートウェイ、テルネットゲートウェイなど様々な形態のゲートウェイが考えられる。一般に、ゲートウェイをネットワークのトラフィック経路に設置する場合には、クライアントは環境を変えてゲートウェイに接続し、ゲートウェイは再びサーバーと接続しなければならない。このとき、クライアントとサーバー間の通信はＩＰデータグラム（ｄａｔａｇｒａｍ）を通じて行われる。したがって、ネットワーク住所変換（ＮＡＴ）の含まれたネットワーク装備３０のＩＰデータプログラムでＩＰヘッダを変形するのが可能である。仮に、アウトゴーイングパケットがゲートウェイを必要とするパケットであれば、ゲートウェイがパケットを受けるように目的地ＩＰ住所を変更する。すると、パケットはゲートウェイＧ１  ４０やゲートウェイＧ２  ５０に流れ、ゲートウェイは該当パケットを読み取って処理することができる。該当パケットが処理されると、パケットは再びネットワーク装備３０に送信される。ネットワーク装備３０では、そのパケットの発信地ＩＰをゲートウェイのＩＰからクライアントＩＰに変えた後、サーバー７０側に送信する。
【００１６】
次いで、サーバー７０からくるインカミングパケットについて説明する。インカミングパケットがネットワーク装備３０に到達すると、クライアントＩＰになっている目的地ＩＰを変更してゲートウェイ４０、５０のＩＰに変える。ゲートウェイ４０、５０での処理が終わると、処理されたパケットは再びネットワーク装備３０に伝達され、そのパケットの発信地ＩＰをサーバー７０のＩＰに変えてクライアント１０に送信する。このように、クライアント１０とサーバー７０との通信はゲートウェイのＩＰを隠した状態でなされるのである。
【００１７】
図５および図６を参照して本発明による透過ゲートウェイまたは透過プロキシ具現方法の具体的な例を説明する。
図５は、本発明によるネットワーク住所変換を変形した、透過ゲートウェイまたは透過プロキシ具現方法の一実施例を説明するための構成図であり、図６は、一般のゲートウェイとのＴＣＰセッション連結過程を示す例である。
【００１８】
図５で、ホストＣ  １００はＩＰ住所がＣであるクライアントであり、ホストＳ  １１０はＩＰ住所がＳであるサーバーである。ゲートウェイ１２０はＧというＩＰ住所をもっている。この状態で、ネットワーク装備１３０のＮＡＴテーブルに図示のように定義する。すなわち、２３番ポートを使用するテルネットは目的地ポートが２３であり、ゲートウェイはＧを使用し、８０番ポートを使用するウェブは目的地ポートが８０であり、ゲートウェイはＧを使用する。
【００１９】
図５および図６を参照すれば、まず、ホストＣ １００は、ホストＳ １１０に通信接続を試みる。この過程で、ＴＣＰパケットにはＳＹＮフラグがセッティングされる。（Ｃ：Ｇ、２３  ＳＹＮ）。ＴＣＰヘッダには出発地ポートと目的地ポートが入っている。ネットワーク装備のＮＡＴ  １３０では目的地ポートが２３番か、８０ポートであればゲートウェイに送るパケットであることがわかる。すると、目的地ＩＰ住所をＧに変えた後、ゲートウェイ１２０にルーチングする。このとき、ネットワーク装備１３０ではセッション情報テーブルにルーチング情報を含めて登録する。このセッション情報テーブルは次のように構成されている。
【００２０】
【表１】
2004522368.tif 000003
【００２１】
ゲートウェイ１２０は、そのパケットを読み込んでクライアント１００にＳＹＮとＡＣＫフラグをセッティングしたパケットをネットワーク装備１３０に送る（Ｇ、２３：Ｃ  ＳＹＮ＋ＡＣＫ）。ネットワーク装備１３０では既に登録されているセッション情報テーブルを参照してパケットをどのように処理するか判断する。このとき、出発地ポートが２３であるため、このパケットはクライアントの応答パケットであることがわかる。したがって、出発地ＩＰをサーバーのＩＰに変更した後、クライアントに伝送する。
【００２２】
クライアント１００は、再びＡＣＫフラグを載せたパケット（Ｃ：Ｇ、２３ＡＣＫ）を再び伝送し、これにより、クライアントとゲートウェイ間のＴＣＰ連結が完了される。ここまでの過程をみると、ゲートウェイが実際の目的地ＩＰ住所を知らないという問題点がある。したがって、ネットワーク装備１３０のＮＡＴでは前記テーブルの値をゲートウェイ１２０に再び伝送する必要がある。図６においてＮＡＴを含むネットワーク装備１３０からゲートウェイ１２０にセッション情報を伝送する。これにより、ゲートウェイ１２０は実際に接続するサーバーのＩＰを確認できる。
【００２３】
その後、ゲートウェイ１２０は、サーバーとＴＣＰ連結をしなければならないため、ＳＹＮフラグの含まれたパケット（Ｇ：Ｓ、２３  ＳＹＮ）を送信する。ネットワーク装備１３０では前記テーブルを参照して出発地ＩＰのゲートウェイＩＰをクライアントＩＰのＣに変更したパケット（Ｃ：Ｓ、２３  ＳＹＮ）に変更してサーバー１１０に伝送する。サーバー１１０は応答パケット（Ｓ、２３：Ｃ  ＳＹＮ＋ＡＣＫ）をクライアント１００に伝送する。このとき、またネットワーク装備１３０でまずパケットを読み取って処理するため、前記セッション情報テーブル値によってゲートウェイ１２０を使用するということがわかる。したがって、目的地ＩＰをクライアントＣからゲートウェイＧに変更したパケット（Ｓ、２３：Ｇ  ＳＹＮ＋ＡＣＫ）をゲートウェイ１２０に送信する。
【００２４】
ゲートウェイ１２０は、ＡＣＫフラグが設定されたパケット（Ｇ：Ｓ、２３ ＡＣＫ）を再びサーバー１１０に送ると、中間のネットワーク装備１３０ではセッション情報テーブル値からクライアント情報を得て修正したパケット（Ｃ：Ｓ、２３  ＡＣＫ）をサーバーに伝送する。これにより、ゲートウェイ１００とサーバー１１０間のＴＣＰ連結が完了される。これにより、実質的なクライアント１００とサバー１１０間のＴＣＰ連結がゲートウェイ１２０を介してなされるのである。
【００２５】
図７は、透過プロキシに設定されているゲートウェイとのＴＣＰ連結過程を示す図である。
一般的な商用ゲートウェイ或いはプロキシの中には応用プログラムによって目的地がどこに存在するかわかる場合がある。代表的なものがリレーメールシステム（ＳＹＳＴＥＭ）とウェブプロキシ（ＨＴＴＰ）である。ここでは応用プログラムのデータ内部から目的地ＩＰを探す。この場合、図６に示すように、セッション情報をゲートウェイに伝達すると、応用プログラムのプロトコルが変更されるので、商用製品をそのまま利用できない問題がある。そこで、前記問題を補完するために図５のＮＡＴテーブルにモードを設定する。このモードの値がＧであれば、一般のゲートウェイ（Ｇｌｏｂａｌ Ｇａｔｅｗａｙ）という意味であり、モードの値がＴであれば、ゲートウェイが目的地ＩＰを分かる透過ゲートウェイ（Ｔｒａｎｓｐａｒｅｎｔ Ｇａｔｅｗａｙ）という意味を持つ。
【００２６】
仮に、目的地ポートが８０と設定され、ウェブプロキシをゲートウェイとして設定する場合なら、モードはＴと設定し、図７のようにＴＣＰ連結がなされる。図７と図６の違いは、図７ではセッション情報をゲートウェイに伝達しないという点である。
【００２７】
図８は、ＮＡＴによる住所変換方法を示す流れ図である。
まず、パケットが入ってくると、ＴＣＰか否か確認する（Ｓ８００）。ＴＣＰでないとパケットをそのまま伝送し、ＴＣＰパケットなら目的地ポートがＮＡＴテーブルに存在するか確認する（Ｓ８１０）。目的地ポートがＮＡＴテーブルに存在しないと出発地ポートがＮＡＴテーブルに存在するか確認する（Ｓ８２０）。仮に、ＮＡＴテーブルに出発地ポートが存在しないと、このパケットはゲートウェイと関わりのないパケットなので、そのままパケット伝送モジュールに送る。
【００２８】
一方、出発地或いは目的地ポートがＮＡＴテーブルに存在すると、出発地ＩＰがゲートウェイＩＰか確認する（Ｓ８３０）。参考に、目的地ＩＰがゲートウェイＩＰとなることは発生しない。これは、目的地ＩＰをゲートウェイのＩＰに変えることはＮＡＴでの仕事であるからである。
【００２９】
出発地ＩＰがゲートウェイＩＰでないと、これは、クライアントやサーバーのパケットであるのを意味するので、これに対する処理を続け、ＳＹＮフラグのセッティングされたパケットか確認し（Ｓ８４０）、ＳＹＮフラグのセッティングされたパケットならセッションを開始するパケットを意味するので、セッションをセッション情報テーブルに登録する（Ｓ８５０）。
【００３０】
次いで、ゲートウェイモードがＧか確認する（Ｓ８６０）。ゲートウェイモードがＧでなくＴの場合は、ＩＰ住所を変更しないままパケット伝送モジュールに送る。しかし、ゲートウェイモードがＧの場合にはセッション情報テーブルからセッションを照会する（Ｓ８７０）。このとき照会するのは、出発地ＩＰ、出発地ポート、目的地ＩＰ、目的地ポートの情報であって、唯一つのレコードを探索することによってテーブルに結果があるか判断する（Ｓ８８０）。
【００３１】
テーブルに結果があると、目的地ＩＰをゲートウェイＩＰに変更し（Ｓ９００）、パケット伝送モジュールに送る。探索結果テーブルに結果がない場合にはパケットを捨てる（Ｓ８９０）。ここまで説明した内容は、クライアント或いはサーバーからパケットが送られる場合に関する。
【００３２】
一方、ゲートウェイでパケットを処理して送信した場合（Ｓ８３０）には、目的地ＩＰと目的地ポート、ゲートウェイＩＰと出発地ポートを通じてセッション情報テーブルからレコードを探索する（Ｓ９１０）。探索結果、テーブルに結果があるか判断し（Ｓ９２０）、存在する場合には、仮にパケットにＦＩＮフラグのセッティングされたパケットが二番目に発生するか、ＲＳＴフラグがセッティングされたパケットを処理すると（Ｓ９４０）、セッションテーブルからセッションを削除し（Ｓ９５０）、ゲートウェイＩＰとなっている出発地ＩＰをテーブル上の実際のＩＰに変更し（Ｓ９６０）、パケット伝送モジュールに送る。
【００３３】
前記段階Ｓ９４０で、パケットにＦＩＮフラグのセッティングされたパケットが二番目に発生するか、またはＲＳＴフラグがセッティングされたパケットを処理するのでないと、セッションを削除する段階（Ｓ９５０）を省略し、直ぐゲートウェイＩＰとなっている出発地ＩＰをテーブル上の実際のＩＰに変更し（Ｓ９６０）、パケットを伝送するモジュールに送る。
一方、前記段階Ｓ９２０でセッション情報テーブルにレコードが存在しない場合にはパケットを捨てる（Ｓ９３０）。
【００３４】
次いで、本発明による透過ゲートウェイまたは透過プロキシ具現方法の他の実施例を図９および図１０を参照して説明する。前記実施例においては、透過ゲートウェイまたはプロキシの具現に当たって負担となる部分がセッション情報をゲートウェイ側に再び伝送する部分である。仮に、ゲートウェイで目的地ＩＰを用いて別途処理をしないと、クライアントのセッション連結時に出発地ポートが同時に同ポート番号を利用できないというＴＣＰ／ＩＰの特性からセッション情報をゲートウェイに送る部分を省き、その代わりに図９のように具現できる。すなわち、図９のようにセッションテーブルを変更し、ゲートウェイセッションテーブルを追加する。
【００３５】
図９の各テーブルで各項目が作られる過程を説明する。ＳＹＮフラグがあるパケットが入ってくる場合には、出発地ＩＰがゲートウェイＩＰでないと、セッションテーブルにセッションを追加する（Ｓ１０００）と共に、ゲートウェイセッションテーブルを追加する（Ｓ１１００）。そして、セッションテーブルとゲートウェイセッションテーブルを連結する（Ｓ１２００）。同様に、ゲートウェイセッションテーブルでもセッションテーブルが探せるようにセッションテーブルと連結する（Ｓ１３００）。すると、ゲートウェイセッションテーブルにある情報の通りにパケットを修正し（すなわち、目的地ＩＰがＤ１からＧ１に修正）、パケットをパケット伝送モジュールに送る。
【００３６】
ゲートウェイからは目的地ＩＰが分からないため、目的地ＩＰの代わりに出発地ＩＰに連結を試みる。このとき、住所変換機で本来のセッションを確認できなければならないため、目的地ポートも出発地のポートに連結を試みなければならない。つまり、たとえ出発地ＩＰに連結を試みても実質的には目的地ＩＰに連結させるのがこの説明における核心となる。この場合には、ＳＹＮフラグがあるパケットが入ってくるが、出発地ＩＰはゲートウェイＩＰ住所となる。このとき、ゲートウェイセッションテーブルにもう一つを追加する（Ｓ１４００）。このとき追加する項目では目的地ＩＰをゲートウェイＩＰに変更した部分が異なっている。ゲートウェイセッションテーブルからセッションテーブルを探せるようにセッションテーブルと連結する（Ｓ１５００）。このときには目的地ＩＰと出発地ポートを用いてセッションテーブルを探せばいい。最後に、セッションテーブルから再びゲートウェイセッションを探せるように連結する（Ｓ１６００）。
【００３７】
実際データの伝送過程で住所変換方式を説明すると次のようになる。まず、出発地ＩＰがゲートウェイＩＰの場合には、ゲートウェイセッションテーブルを検索する。仮に、目的地ポートがＮＡＴテーブルに存在すると、ゲートウェイセッションテーブルのＳｅｓｓが指すセッションテーブルの情報の通りにＩＰを変換する。しかし、目的地ポートがＮＡＴテーブルに存在しないと、ゲートウェイセッションテーブルのＳｅｓｓが指すセッションテーブルと逆に（つまり、出発地ＩＰはセッションテーブル上の目的地ＩＰに、目的地ＩＰはセッションテーブル上の出発地ＩＰに、出発地ポートはセッションテーブル上の目的地ポートに、目的地ポートはセッションテーブル上の出発地ポートに）ＩＰとポートを変更する。
【００３８】
仮に、出発地ＩＰがゲートウェイＩＰでないと、まず、セッションテーブルを検索する。検索ができたらＣＰＴＲから指すゲートウェイセッションテーブルの形態にＩＰを変更する。検索できなかったら、ＩＰとポートの出発地と到着地を返して再び検索する。検索できたらセッションテーブルのＳＰＴＲから指すゲートウェイセッションテーブルの形態にＩＰを変更する。
【００３９】
次に、セッションテーブルの項目が削除される場合を説明する。入力されたパケットがＦＩＮフラグに二番目に会うか、或いはＲＳＴフラグがセッティングされたパケットの場合は、セッションを完全に終了するという意味である。仮に、出発地ＩＰがゲートウェイＩＰである場合には、実際のデータ伝送過程と同様にパケットを修正して送った後、ゲートウェイセッションテーブルの該当項目を削除する。しかし、出発地ＩＰがゲートウェイＩＰでない場合には、実際のデータ伝送過程と同様にパケットを修正して送った後、セッションテーブルの該当項目を削除する。
【００４０】
図１０は、図９における方法による本発明の他の一実施例を示す流れ図である。
まず、パケットを受信し（Ｓ２０００）、目的地ポートがＮＡＴテーブルに存在するか確認する（Ｓ２０１０）。
ＮＡＴテーブルに目的地ポートが存在すると、ＳＹＮフラグがセッティングされたか確認する（Ｓ２０２０）。ＳＹＮフラグがセッティングされたら、出発地ＩＰがゲートウェイＩＰか確認する（Ｓ２０３０）。
【００４１】
出発地ＩＰがゲートウェイＩＰでない場合には、セッションテーブルに登録し（Ｓ２０４０）、また、ゲートウェイセッションテーブルにも登録する（Ｓ２０５０）。次いで、セッションテーブルのＣｐｔｒを連結し（Ｓ２０６０）、ＳＴ．Ｃｐｔｒと同一にＩＰを変更する（Ｓ２０７０）。
一方、前記段階Ｓ２０３０で、出発地ＩＰがゲートウェイＩＰの場合、ゲートウェイセッションテーブルに登録し（Ｓ２０８０）、セッションテーブルのＳｐｔｒを連結する（Ｓ２０９０）。次いで、ゲートウェイセッションテーブルのＳｅｓｓと同一にＩＰとポートを変更する（Ｓ２１００）。
【００４２】
また、前記段階Ｓ２０２０で、ＳＹＮフラグがセッティングされていない場合、出発地ＩＰがゲートウェイＩＰか確認した後（Ｓ２１１０）、出発地ＩＰがゲートウェイＩＰでない場合セッションテーブルからセッションを照会する（Ｓ２１２０）。出発地ＩＰがゲートウェイＩＰである場合には後述する段階（Ｓ２２００）に進む。
その後、ＩＰにおいて出発地と到着地が反対となっているか確認し（Ｓ２１３０）、出発地と到着地が反対の場合、ＳＴ．Ｓｐｔｒと同一にＩＰとポートを変更する（Ｓ２１４０）。出発地と到着地ＩＰが反対でない場合、ＳＴ．Ｃｐｔｒと同一にＩＰとポートを変更する。
【００４３】
次いで、ＦＩＮまたはＲＳＴフラグをセッティングしたか確認し（Ｓ２１６０）、ＦＩＮまたはＲＳＴフラグをセッティングした場合セッションテーブルを削除し（Ｓ２１７０）、パケット伝送モジュールに送る。
一方、前記段階Ｓ２０１０で、目的地ポートがＮＡＴテーブルに存在しないと、出発地ポートがＮＡＴテーブルに存在するか確認した後（Ｓ２１８０）、ＮＡＴテーブルに存在すると、前記段階Ｓ２０２０に進んで前述と同様に以後の段階を行い、存在しないと、出発地ＩＰがゲートウェイＩＰと同一か判断する（Ｓ２１９０）。
【００４４】
出発地ＩＰがゲートウェイＩＰと同一であれば、ゲートウェイセッションテーブルからセッションを照会し（Ｓ２２００）、テーブルにセッションが存在するか判断する（Ｓ２２１０）。
セッションが存在しないと、パケット伝送モジュールに直接送り、セッションが存在すると、ゲートウェイセッションテーブルのＳｅｓｓと同一にＩＰとポートを変更する（Ｓ２２２０）。
【００４５】
続いて、ＦＩＮまたはＲＳＴフラグセッティングされたか確認し（Ｓ２２３０）、セッティングされていない場合には直ぐパケット伝送モジュールに送り、セッティングされている場合にはゲートウェイセッションを削除した後（Ｓ２２４０）、パケット伝送モジュールに送る。
以上では最も好ましい実施例に上げて本発明の構成およびその作用について説明してきたが、本発明は、前記実施例に限定されなく、後述する特許請求の範囲内で様々な修正および変形が可能なのは当業者にとって明白であろう。
【図面の簡単な説明】
【図１】基本ネットワーク住所変換技術の概念図。
【図２】ＩＰヘッダの構成を示す図。
【図３】ＴＣＰヘッダの構成を示す図。
【図４】本発明による透過ゲートウェイを適用したネットワーク構成図。
【図５】変形されたネットワーク住所変換技術の概念図。
【図６】本発明による一般のゲートウェイとのＴＣＰセッション連結過程の一例を示す流れ図。
【図７】本発明による透過プロキシに設定されたゲートウェイとのＴＣＰセッション連結過程の例を示す流れ図。
【図８】本発明による変形されたネットワーク住所変換方法の流れ図。
【図９】本発明によるネットワーク住所変換方法の他の実施例を説明するための流れ図。
【図１０】本発明によるネットワーク住所変換方法の他の実施例を説明するための流れ図。
【符号の説明】
１０    クライアント
７０    サーバー
３０ネットワーク装備
４０    ゲートウェイＧ１
５０    ゲートウェイＧ２
６０    内部ネットワーク
１００  ホストＣ
１２０  ゲートウェイ
【図２】
2004522368.tif 000004
【図３】
2004522368.tif 000005
【図４】
2004522368.tif 000006
【図６】
2004522368.tif 000007
【図７】
2004522368.tif 000008
【図８】
2004522368.tif 000009
【図９】
2004522368.tif 000010
【図１０】
2004522368.tif 000011
【国際公開パンフレット】
2004522368.tif 000012
2004522368.tif 000013
2004522368.tif 000014
2004522368.tif 000015
2004522368.tif 000016
2004522368.tif 000017
2004522368.tif 000018
2004522368.tif 000019
2004522368.tif 000020
2004522368.tif 000021
2004522368.tif 000022
2004522368.tif 000023
2004522368.tif 000024
2004522368.tif 000025
2004522368.tif 000026
2004522368.tif 000027
2004522368.tif 000028
2004522368.tif 000029
2004522368.tif 000030
2004522368.tif 000031
2004522368.tif 000032
2004522368.tif 000033
2004522368.tif 000034
2004522368.tif 000035
2004522368.tif 000036
2004522368.tif 000037
2004522368.tif 000038
2004522368.tif 000039
2004522368.tif 000040
2004522368.tif 000041
2004522368.tif 000042
2004522368.tif 000043
2004522368.tif 000044
2004522368.tif 000045
2004522368.tif 000046
【国際調査報告】
2004522368.tif 000047