JP3805771B2 - ネットワーク上における透過ゲートウェイまたは透過プロキシ具現方法 - Google Patents

ネットワーク上における透過ゲートウェイまたは透過プロキシ具現方法 Download PDF

Info

Publication number
JP3805771B2
JP3805771B2 JP2003508029A JP2003508029A JP3805771B2 JP 3805771 B2 JP3805771 B2 JP 3805771B2 JP 2003508029 A JP2003508029 A JP 2003508029A JP 2003508029 A JP2003508029 A JP 2003508029A JP 3805771 B2 JP3805771 B2 JP 3805771B2
Authority
JP
Japan
Prior art keywords
gateway
packet
session
transparent
destination
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
JP2003508029A
Other languages
English (en)
Other versions
JP2004522368A (ja
JP2004522368A5 (ja
Inventor
ジャイ−ヒョン・リー
Original Assignee
エクスキュアネット・カンパニー・リミテッド
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 エクスキュアネット・カンパニー・リミテッド filed Critical エクスキュアネット・カンパニー・リミテッド
Publication of JP2004522368A publication Critical patent/JP2004522368A/ja
Publication of JP2004522368A5 publication Critical patent/JP2004522368A5/ja
Application granted granted Critical
Publication of JP3805771B2 publication Critical patent/JP3805771B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/255Maintenance or indexing of mapping tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、ネットワーク上における透過ゲートウェイ(transparent gateway)または透過プロキシ(transparent proxy)具現方法に関し、特に、ネットワーク住所変換(Network Address Translation:以下、NATと略す)手法が具現されたルータ(Router)、ゲートウェイまたはスイッチング装備などでNATを変形した手法を使用することによって透過ゲートウェイまたは透過プロキシを具現できる方法に関する。
【0002】
【従来の技術および発明が解決しようとする課題】
透過ゲートウェイとは、使用者側からみるとき、まるでゲートウェイ無しにサーバーと直接通信しているかのように見えるゲートウェイを意味する。つまり、透過ゲートウェイは、使用者がゲートウェイまたはプロキシを直接設定しなくてもTCP(Transmission Control Protocol)のサービスポートに該当する全てのパケットがゲートウェイ或いはプロキシに伝送されて付加的な他の作業を可能にする。
【0003】
一般に、ゲートウェイとして最も広く活用されるのが、侵入遮断システムのプロキシまたはゲートウェイである。一般のプロキシでは全ての使用者がプロキシを設定するか、或いはプロキシに接続した後に実際に接続したいサーバーに再び接続する方式を採択している。しかし、透過ゲートウェイでは、使用者がゲートウェイ或いはプロキシを意識せずに直接接続したいシステムに接続を試みると、透過ゲートウェイで再び検証作業を経て自体的に実際のサーバーと連携して連結を行う。したがって、使用者とサーバーにとってそれらの間にゲートウェイ無しに直接通信しているかのように考えさせるシステムである。
【0004】
現在使用されている技術によれば、ウェブプロキシ(webproxy)などでは透過プロキシシステムを構成するのが可能である。この方式では、ネットワーク装備でウェブサービスポートが指定されたTCPパケットをプロキシに再伝送(redirection)すると、プロキシから全てのパケットを読み込んだ後、自分のIPで再びサーバーと連結されて通信する。これは、ウェブで使用するHTTPプロトコルで接続しなくてはならない相手側のウェブサーバーのホスト名とURL情報があるために可能である。この場合、単純に使用者がプロキシを指定しないでサーバーに直接接続をできるという意味から使われているが、サーバー側にとっては、実際に接続するクライアントを本来のクライアントとして把握するのではなくプロキシをクライアントとして把握する問題が残っている。したがって、サーバー側からクライアントを正確に把握するのが困難であるだけでなく、IPに基づいた認証体系を採択する場合には致命的な弱点となり得る。また、サーバー側で使用者を把握し難いため、課金などのような問題を解決できない場合には、ゲートウェイを通じた接続に対してはサービスできない場合も発生する。このため、保安などの様々な目的からゲートウェイを採択した多くの企業または団体ではゲートウェイの運営と関連して下記のような問題を抱えている。
【0005】
第一に、使用者の環境を変更させる作業を追加的に行わなければならない。第二に、使用者にゲートウェイを利用する方法を教育する煩わしい作業を必ず行わなければならない。第三に、問題発生のおそれのある部分に対するヘルプデスク(helpdesk)サービス費用が発生する。第四に、前述したように透過ウェブプロキシを運営するとしてもインターネットの数多くのシステムのうちIPに基づく制御を行うサーバー側では正常的なサービスが受けられない。第五に、透過ウェブプロキシはHTTPのように応用プロトコル内に存在する目的地サーバーの情報がわかるウェブに限って適用可能なものであり、仮に、テルネット(Telnet)やファイル伝送プロトコル(FTP)のようなゲートウェイで構成された場合、まず使用者はゲートウェイに接続し、ゲートウェイから再びサーバーのIPに接続を試みてこそ望むサーバーに連結可能である。したがって、透過ウェブプロキシだけでなく、TCPを根幹とする全てのサービスにおける応用プログラムに対して透過プロキシ或いは透過ゲートウェイを具現する必要がある。
【0006】
ここ数年間急速に成長してきたインターネットは、その構造が、現在のような膨大な連結を予測できなかった数十年前に創案されたため、可用インターネットプロトコル(Internet Protocol:以下、IPと略す)の問題点を補完するためにNATという概念が登場した。一般にNATは、私設網住所の再使用概念に基づいたものであって、ルータなどに適用されてルータが各ポート(port)からデータを受け取ってNAT規則(Mapping Rule)にしたがってIPパケットの発信地住所(Source IP Address)領域(field)を公認IP住所に変換して伝送する。前記NATの適用されたネットワーク装備は別途の住所プール(pool)に適当量の公認IP住所を確保しており、私設網から外部網への接続要請があると、確保していた公認IP住所のうち使用されない住所を私設網に割り当てる。ここで、公認IP住所の変換はNATテーブルを通じて管理する。
【0007】
図1は、基本NAT概念を説明する図である。図1に示すように、基本NATの方法では、データフローにおいてアウトゴーイング(outgoing)時には発信地のローカルIP住所に一つのグロバール住所を割り当て、これを変換テーブルに記録した後、ローカルIP住所をグロバールIP住所に変換して伝送し、インカミング(incoming)時には、目的時(つまり、アウトゴーイング時の変換された発信地)のグロバールIP住所を利用してローカルIP住所を検索した後、グロバールIP住所をローカルIPに変換する。このような基本NATでは目的地IP住所だけでデータフローが区分でき、複数台のホストが一つのIP住所を同時に共有できないので、住所変換は容易であるが、IP住所利用率は大幅に劣る。図1を参照してこれを具体的に説明する。
【0008】
例えば、ローカルネットワークのホストAとグロバールネットワークのXが通信し、ローカルネットワークのホストBとグロバールネットワークのYが通信をすると仮定する。AからXに向かうデータフローにおいて発信地のAの住所とここに割り当てられたグロバールIP住所Gを変換テーブルに記録する。図1に示すように、仮に、BからYに向かうデータフローに対してもAからXに向かうデータフローに割り当てられた同一のIP住所Gを割り当てると、基本NATではインカミング時Yからくるデータを伝達するために目的地住所のGだけで変換テーブルを検索するとき、AとBのローカル住所が全て検索されるので、どこにデータを伝達したらいいか混乱が生じる。したがって、基本NAT方法ではローカルネットワークにおいて各々のローカルIP住所を有する複数台のホストが同時に同一グロバールIPに変更できない。これを解決するために通常、IPとポートを含めて変換テーブルに記録する。
【0009】
図1の例に挙げてさらに具体的に説明する。AからXに向かうデータフローにおいて発信地のAの住所とポート番号100に割り当てられたグロバールIP住所Gとポート番号1000を変換テーブルに記録する。NATでは、図1に示すように、BからYに向かうデータフローについても、発信地Bの住所とポート番号100にポート番号2000だけを異にしてグロバール住所Gを割り当てることができる。このとき、インカミング時YからBにくるデータを伝達するために、目的地住所のGとポート番号2000で変換テーブルを検索すると、Bのローカル住所とポート番号100だけが検索されるので、同一のグロバールIP住所Gを持ってもAからXへのデータフローとBからYへのデータフローが区分できる。
【0010】
本発明の目的は、前記従来の技術の問題点を解決するために、ネットワーク住所変換手法が具現されたルータ、ゲートウェイまたはスイッチング装備でNATを変形した手法を使用することによって、透過ゲートウェイまたは透過プロキシが具現できる方法を提供することにある。
【0011】
【課題を解決するための手段】
前記目的を達成するために、本発明によるネットワーク上における透過ゲートウェイまたは透過プロキシ具現方法は、ネットワーク住所変換テーブルを備えるネットワーク装備を使ってゲートウェイまたはプロキシを含むネットワーク上で透過ゲートウェイまたは透過プロキシを具現する方法において、受信されたパケットに対して出発地または目的地ポートがネットワーク住所変換テーブルに存在するか否か照会する第1段階;前記第1段階で出発地または目的地ポートがネットワーク住所変換テーブルに存在する場合、セッションをセッション情報テーブルに記録する第2段階;前記第2段階以降のパケットに対してIP住所を変更する第3段階;を含むことを特徴とする。
【0012】
本発明によれば、使用者側からみるとき、まるでゲートウェイ無しに直接サーバー側と通信しているかのように見えるようにする透過ゲートウェイまたは透過プロキシを具現することによって使用者の環境を変更させる作業が要らなくなり、使用者にゲートウェイを利用する方法を教育せずに済むので、ネットワークの構成およびメンテナンスにかかる費用を大幅に節減できる。
【0013】
また、本発明によれば、IPに基づいて制御を行うサーバー側で正常的なサービスを提供することができ、テルネットやファイル伝送プロトコル(FTP)のようにプロトコルの内容から目的地IPがわからないプロトコルに対するプロキシまたはゲートウェイで構成された場合にも透明性が保障できる。
【0014】
【発明の実施の形態】
図2は、IPヘッダ(IP header)の構成を示す図であり、図3は、TCPヘッダ(TCP header)の構成を示す図であり、図4は、本発明による透過ゲートウェイを適用したネットワーク構成図である。
【0015】
図4において、クライアント10は、サーバー70と直接通信できるが、通常、保安などの目的からネットワーク中間にはゲートウェイが設置される。この種のゲートウェイの代表的な例が侵入遮断システムである。その他のゲートウェイとしてウェブプロキシ、SMTPゲートウェイ、FTPゲートウェイ、テルネットゲートウェイなど様々な形態のゲートウェイが考えられる。一般に、ゲートウェイをネットワークのトラフィック経路に設置する場合には、クライアントは環境を変えてゲートウェイに接続し、ゲートウェイは再びサーバーと接続しなければならない。このとき、クライアントとサーバー間の通信はIPデータグラム(datagram)を通じて行われる。したがって、ネットワーク住所変換(NAT)の含まれたネットワーク装備30のIPデータプログラムでIPヘッダを変形するのが可能である。仮に、アウトゴーイングパケットがゲートウェイを必要とするパケットであれば、ゲートウェイがパケットを受けるように目的地IP住所を変更する。すると、パケットはゲートウェイG1 40やゲートウェイG2 50に流れ、ゲートウェイは該当パケットを読み取って処理することができる。該当パケットが処理されると、パケットは再びネットワーク装備30に送信される。ネットワーク装備30では、そのパケットの発信地IPをゲートウェイのIPからクライアントIPに変えた後、サーバー70側に送信する。
【0016】
次いで、サーバー70からくるインカミングパケットについて説明する。インカミングパケットがネットワーク装備30に到達すると、クライアントIPになっている目的地IPを変更してゲートウェイ40、50のIPに変える。ゲートウェイ40、50での処理が終わると、処理されたパケットは再びネットワーク装備30に伝達され、そのパケットの発信地IPをサーバー70のIPに変えてクライアント10に送信する。このように、クライアント10とサーバー70との通信はゲートウェイのIPを隠した状態でなされるのである。
【0017】
図5および図6を参照して本発明による透過ゲートウェイまたは透過プロキシ具現方法の具体的な例を説明する。
図5は、本発明によるネットワーク住所変換を変形した、透過ゲートウェイまたは透過プロキシ具現方法の一実施例を説明するための構成図であり、図6は、一般のゲートウェイとのTCPセッション連結過程を示す例である。
【0018】
図5で、ホストC 100はIP住所がCであるクライアントであり、ホストS 110はIP住所がSであるサーバーである。ゲートウェイ120はGというIP住所をもっている。この状態で、ネットワーク装備130のNATテーブルに図示のように定義する。すなわち、23番ポートを使用するテルネットは目的地ポートが23であり、ゲートウェイはGを使用し、80番ポートを使用するウェブは目的地ポートが80であり、ゲートウェイはGを使用する。
【0019】
図5および図6を参照すれば、まず、ホストC 100は、ホストS 110に通信接続を試みる。この過程で、TCPパケットにはSYNフラグがセッティングされる。(C:G、23 SYN)。TCPヘッダには出発地ポートと目的地ポートが入っている。ネットワーク装備のNAT 130では目的地ポートが23番か、80ポートであればゲートウェイに送るパケットであることがわかる。すると、目的地IP住所をGに変えた後、ゲートウェイ120にルーチングする。このとき、ネットワーク装備130ではセッション情報テーブルにルーチング情報を含めて登録する。このセッション情報テーブルは次のように構成されている。
【0020】
【表1】
Figure 0003805771
【0021】
ゲートウェイ120は、そのパケットを読み込んでクライアント100にSYNとACKフラグをセッティングしたパケットをネットワーク装備130に送る(G、23:C SYN+ACK)。ネットワーク装備130では既に登録されているセッション情報テーブルを参照してパケットをどのように処理するか判断する。このとき、出発地ポートが23であるため、このパケットはクライアントの応答パケットであることがわかる。したがって、出発地IPをサーバーのIPに変更した後、クライアントに伝送する。
【0022】
クライアント100は、再びACKフラグを載せたパケット(C:G、23ACK)を再び伝送し、これにより、クライアントとゲートウェイ間のTCP連結が完了される。ここまでの過程をみると、ゲートウェイが実際の目的地IP住所を知らないという問題点がある。したがって、ネットワーク装備130のNATでは前記テーブルの値をゲートウェイ120に再び伝送する必要がある。図6においてNATを含むネットワーク装備130からゲートウェイ120にセッション情報を伝送する。これにより、ゲートウェイ120は実際に接続するサーバーのIPを確認できる。
【0023】
その後、ゲートウェイ120は、サーバーとTCP連結をしなければならないため、SYNフラグの含まれたパケット(G:S、23 SYN)を送信する。ネットワーク装備130では前記テーブルを参照して出発地IPのゲートウェイIPをクライアントIPのCに変更したパケット(C:S、23 SYN)に変更してサーバー110に伝送する。サーバー110は応答パケット(S、23:C SYN+ACK)をクライアント100に伝送する。このとき、またネットワーク装備130でまずパケットを読み取って処理するため、前記セッション情報テーブル値によってゲートウェイ120を使用するということがわかる。したがって、目的地IPをクライアントCからゲートウェイGに変更したパケット(S、23:G SYN+ACK)をゲートウェイ120に送信する。
【0024】
ゲートウェイ120は、ACKフラグが設定されたパケット(G:S、23 ACK)を再びサーバー110に送ると、中間のネットワーク装備130ではセッション情報テーブル値からクライアント情報を得て修正したパケット(C:S、23 ACK)をサーバーに伝送する。これにより、ゲートウェイ100とサーバー110間のTCP連結が完了される。これにより、実質的なクライアント100とサバー110間のTCP連結がゲートウェイ120を介してなされるのである。
【0025】
図7は、透過プロキシに設定されているゲートウェイとのTCP連結過程を示す図である。
一般的な商用ゲートウェイ或いはプロキシの中には応用プログラムによって目的地がどこに存在するかわかる場合がある。代表的なものがリレーメールシステム(SYSTEM)とウェブプロキシ(HTTP)である。ここでは応用プログラムのデータ内部から目的地IPを探す。この場合、図6に示すように、セッション情報をゲートウェイに伝達すると、応用プログラムのプロトコルが変更されるので、商用製品をそのまま利用できない問題がある。そこで、前記問題を補完するために図5のNATテーブルにモードを設定する。このモードの値がGであれば、一般のゲートウェイ(Global Gateway)という意味であり、モードの値がTであれば、ゲートウェイが目的地IPを分かる透過ゲートウェイ(Transparent Gateway)という意味を持つ。
【0026】
仮に、目的地ポートが80と設定され、ウェブプロキシをゲートウェイとして設定する場合なら、モードはTと設定し、図7のようにTCP連結がなされる。図7と図6の違いは、図7ではセッション情報をゲートウェイに伝達しないという点である。
【0027】
図8は、NATによる住所変換方法を示す流れ図である。
まず、パケットが入ってくると、TCPか否か確認する(S800)。TCPでないとパケットをそのまま伝送し、TCPパケットなら目的地ポートがNATテーブルに存在するか確認する(S810)。目的地ポートがNATテーブルに存在しないと出発地ポートがNATテーブルに存在するか確認する(S820)。仮に、NATテーブルに出発地ポートが存在しないと、このパケットはゲートウェイと関わりのないパケットなので、そのままパケット伝送モジュールに送る。
【0028】
一方、出発地或いは目的地ポートがNATテーブルに存在すると、出発地IPがゲートウェイIPか確認する(S830)。参考に、目的地IPがゲートウェイIPとなることは発生しない。これは、目的地IPをゲートウェイのIPに変えることはNATでの仕事であるからである。
【0029】
出発地IPがゲートウェイIPでないと、これは、クライアントやサーバーのパケットであるのを意味するので、これに対する処理を続け、SYNフラグのセッティングされたパケットか確認し(S840)、SYNフラグのセッティングされたパケットならセッションを開始するパケットを意味するので、セッションをセッション情報テーブルに登録する(S850)。
【0030】
次いで、ゲートウェイモードがGか確認する(S860)。ゲートウェイモードがGでなくTの場合は、IP住所を変更しないままパケット伝送モジュールに送る。しかし、ゲートウェイモードがGの場合にはセッション情報テーブルからセッションを照会する(S870)。このとき照会するのは、出発地IP、出発地ポート、目的地IP、目的地ポートの情報であって、唯一つのレコードを探索することによってテーブルに結果があるか判断する(S880)。
【0031】
テーブルに結果があると、目的地IPをゲートウェイIPに変更し(S900)、パケット伝送モジュールに送る。探索結果テーブルに結果がない場合にはパケットを捨てる(S890)。ここまで説明した内容は、クライアント或いはサーバーからパケットが送られる場合に関する。
【0032】
一方、ゲートウェイでパケットを処理して送信した場合(S830)には、目的地IPと目的地ポート、ゲートウェイIPと出発地ポートを通じてセッション情報テーブルからレコードを探索する(S910)。探索結果、テーブルに結果があるか判断し(S920)、存在する場合には、仮にパケットにFINフラグのセッティングされたパケットが二番目に発生するか、RSTフラグがセッティングされたパケットを処理すると(S940)、セッションテーブルからセッションを削除し(S950)、ゲートウェイIPとなっている出発地IPをテーブル上の実際のIPに変更し(S960)、パケット伝送モジュールに送る。
【0033】
前記段階S940で、パケットにFINフラグのセッティングされたパケットが二番目に発生するか、またはRSTフラグがセッティングされたパケットを処理するのでないと、セッションを削除する段階(S950)を省略し、直ぐゲートウェイIPとなっている出発地IPをテーブル上の実際のIPに変更し(S960)、パケットを伝送するモジュールに送る。
一方、前記段階S920でセッション情報テーブルにレコードが存在しない場合にはパケットを捨てる(S930)。
【0034】
次いで、本発明による透過ゲートウェイまたは透過プロキシ具現方法の他の実施例を図9および図10を参照して説明する。前記実施例においては、透過ゲートウェイまたはプロキシの具現に当たって負担となる部分がセッション情報をゲートウェイ側に再び伝送する部分である。仮に、ゲートウェイで目的地IPを用いて別途処理をしないと、クライアントのセッション連結時に出発地ポートが同時に同ポート番号を利用できないというTCP/IPの特性からセッション情報をゲートウェイに送る部分を省き、その代わりに図9のように具現できる。すなわち、図9のようにセッションテーブルを変更し、ゲートウェイセッションテーブルを追加する。
【0035】
図9の各テーブルで各項目が作られる過程を説明する。SYNフラグがあるパケットが入ってくる場合には、出発地IPがゲートウェイIPでないと、セッションテーブルにセッションを追加する(S1000)と共に、ゲートウェイセッションテーブルを追加する(S1100)。そして、セッションテーブルとゲートウェイセッションテーブルを連結する(S1200)。同様に、ゲートウェイセッションテーブルでもセッションテーブルが探せるようにセッションテーブルと連結する(S1300)。すると、ゲートウェイセッションテーブルにある情報の通りにパケットを修正し(すなわち、目的地IPがD1からG1に修正)、パケットをパケット伝送モジュールに送る。
【0036】
ゲートウェイからは目的地IPが分からないため、目的地IPの代わりに出発地IPに連結を試みる。このとき、住所変換機で本来のセッションを確認できなければならないため、目的地ポートも出発地のポートに連結を試みなければならない。つまり、たとえ出発地IPに連結を試みても実質的には目的地IPに連結させるのがこの説明における核心となる。この場合には、SYNフラグがあるパケットが入ってくるが、出発地IPはゲートウェイIP住所となる。このとき、ゲートウェイセッションテーブルにもう一つを追加する(S1400)。このとき追加する項目では目的地IPをゲートウェイIPに変更した部分が異なっている。ゲートウェイセッションテーブルからセッションテーブルを探せるようにセッションテーブルと連結する(S1500)。このときには目的地IPと出発地ポートを用いてセッションテーブルを探せばいい。最後に、セッションテーブルから再びゲートウェイセッションを探せるように連結する(S1600)。
【0037】
実際データの伝送過程で住所変換方式を説明すると次のようになる。まず、出発地IPがゲートウェイIPの場合には、ゲートウェイセッションテーブルを検索する。仮に、目的地ポートがNATテーブルに存在すると、ゲートウェイセッションテーブルのSessが指すセッションテーブルの情報の通りにIPを変換する。しかし、目的地ポートがNATテーブルに存在しないと、ゲートウェイセッションテーブルのSessが指すセッションテーブルと逆に(つまり、出発地IPはセッションテーブル上の目的地IPに、目的地IPはセッションテーブル上の出発地IPに、出発地ポートはセッションテーブル上の目的地ポートに、目的地ポートはセッションテーブル上の出発地ポートに)IPとポートを変更する。
【0038】
仮に、出発地IPがゲートウェイIPでないと、まず、セッションテーブルを検索する。検索ができたらCPTRから指すゲートウェイセッションテーブルの形態にIPを変更する。検索できなかったら、IPとポートの出発地と到着地を返して再び検索する。検索できたらセッションテーブルのSPTRから指すゲートウェイセッションテーブルの形態にIPを変更する。
【0039】
次に、セッションテーブルの項目が削除される場合を説明する。入力されたパケットがFINフラグに二番目に会うか、或いはRSTフラグがセッティングされたパケットの場合は、セッションを完全に終了するという意味である。仮に、出発地IPがゲートウェイIPである場合には、実際のデータ伝送過程と同様にパケットを修正して送った後、ゲートウェイセッションテーブルの該当項目を削除する。しかし、出発地IPがゲートウェイIPでない場合には、実際のデータ伝送過程と同様にパケットを修正して送った後、セッションテーブルの該当項目を削除する。
【0040】
図10は、図9における方法による本発明の他の一実施例を示す流れ図である。
まず、パケットを受信し(S2000)、目的地ポートがNATテーブルに存在するか確認する(S2010)。
NATテーブルに目的地ポートが存在すると、SYNフラグがセッティングされたか確認する(S2020)。SYNフラグがセッティングされたら、出発地IPがゲートウェイIPか確認する(S2030)。
【0041】
出発地IPがゲートウェイIPでない場合には、セッションテーブルに登録し(S2040)、また、ゲートウェイセッションテーブルにも登録する(S2050)。次いで、セッションテーブルのCptrを連結し(S2060)、ST.Cptrと同一にIPを変更する(S2070)。
一方、前記段階S2030で、出発地IPがゲートウェイIPの場合、ゲートウェイセッションテーブルに登録し(S2080)、セッションテーブルのSptrを連結する(S2090)。次いで、ゲートウェイセッションテーブルのSessと同一にIPとポートを変更する(S2100)。
【0042】
また、前記段階S2020で、SYNフラグがセッティングされていない場合、出発地IPがゲートウェイIPか確認した後(S2110)、出発地IPがゲートウェイIPでない場合セッションテーブルからセッションを照会する(S2120)。出発地IPがゲートウェイIPである場合には後述する段階(S2200)に進む。
その後、IPにおいて出発地と到着地が反対となっているか確認し(S2130)、出発地と到着地が反対の場合、ST.Sptrと同一にIPとポートを変更する(S2140)。出発地と到着地IPが反対でない場合、ST.Cptrと同一にIPとポートを変更する。
【0043】
次いで、FINまたはRSTフラグをセッティングしたか確認し(S2160)、FINまたはRSTフラグをセッティングした場合セッションテーブルを削除し(S2170)、パケット伝送モジュールに送る。
一方、前記段階S2010で、目的地ポートがNATテーブルに存在しないと、出発地ポートがNATテーブルに存在するか確認した後(S2180)、NATテーブルに存在すると、前記段階S2020に進んで前述と同様に以後の段階を行い、存在しないと、出発地IPがゲートウェイIPと同一か判断する(S2190)。
【0044】
出発地IPがゲートウェイIPと同一であれば、ゲートウェイセッションテーブルからセッションを照会し(S2200)、テーブルにセッションが存在するか判断する(S2210)。
セッションが存在しないと、パケット伝送モジュールに直接送り、セッションが存在すると、ゲートウェイセッションテーブルのSessと同一にIPとポートを変更する(S2220)。
【0045】
続いて、FINまたはRSTフラグセッティングされたか確認し(S2230)、セッティングされていない場合には直ぐパケット伝送モジュールに送り、セッティングされている場合にはゲートウェイセッションを削除した後(S2240)、パケット伝送モジュールに送る。
以上では最も好ましい実施例に上げて本発明の構成およびその作用について説明してきたが、本発明は、前記実施例に限定されなく、後述する特許請求の範囲内で様々な修正および変形が可能なのは当業者にとって明白であろう。
【図面の簡単な説明】
【図1】 基本ネットワーク住所変換技術の概念図。
【図2】 IPヘッダの構成を示す図。
【図3】 TCPヘッダの構成を示す図。
【図4】 本発明による透過ゲートウェイを適用したネットワーク構成図。
【図5】 変形されたネットワーク住所変換技術の概念図。
【図6】 本発明による一般のゲートウェイとのTCPセッション連結過程の一例を示す流れ図。
【図7】 本発明による透過プロキシに設定されたゲートウェイとのTCPセッション連結過程の例を示す流れ図。
【図8】 本発明による変形されたネットワーク住所変換方法の流れ図。
【図9】 本発明によるネットワーク住所変換方法の他の実施例を説明するための流れ図。
【図10】 本発明によるネットワーク住所変換方法の他の実施例を説明するための流れ図。
【符号の説明】
10 クライアント
70 サーバー
30ネットワーク装備
40 ゲートウェイG1
50 ゲートウェイG2
60 内部ネットワーク
100 ホストC
120 ゲートウェイ

Claims (4)

  1. ネットワーク住所変換テーブルを備えるネットワーク装備を使ってゲートウェイまたはプロキシを含むネットワーク上で透過ゲートウェイまたは透過プロキシを具現する方法において、
    受信されたパケットに対して出発地または目的地ポートがネットワーク住所変換テーブルに存在するか否か照会する第1段階;
    前記第1段階で出発地または目的地ポートがネットワーク住所変換テーブルに存在する場合、パケットの出発地IPがゲートウェイIPと同じであるか否かを照会する第2段階;
    パケットの出発地IPがゲートウェイIPと同じであるか否かによって、前記第2段階以降のパケットに対して出発地IPまたは目的地IPを変更する第3段階;
    を含み、
    前記第3段階は、
    前記第2段階の結果として、前記パケットの出発地IPがゲートウェイIPと同じでない照会結果となった場合、
    SYNフラグが前記パケットにセッティングされた場合、前記セッションを登録する段階;
    予め設定されたゲートウェイモードが一般のゲートウェイモードの場合、セッション情報テーブルから前記セッションを照会し、前記セッション照会によって照会された結果があると前記パケットの目的地IPをゲートウェイIPに変更する段階;
    予め設定されたゲートウェイモードが透過ゲートウェイモードである場合、そのまま前記パケットを伝送する段階
    を含むことを特徴とするネットワーク上における透過ゲートウェイまたは透過プロキシ具現方法。
  2. 前記第3段階において出発地IPがゲートウェイIPと同じでない場合、前記セッション照会は、出発地IP、出発地ポート、目的地IPおよび目的地ポートによって検索することを特徴とする請求項1記載のネットワーク上における透過ゲートウェイまたは透過プロキシ具現方法。
  3. 前記第3段階は、
    前記第2段階の結果として、前記パケットの出発地IPがゲートウェイIPと同じ照会結果となった場合、
    セッション情報テーブルからセッションを照会する段階;および
    前記セッション照会によって照会された結果がある場合、FINまたはRSTフラグが前記パケットにセッティングされた場合、セッション情報テーブルからセッションを削除した後、出発地IPをゲートウェイIPから実際の出発地IPに変更する段階
    を含むことを特徴とする請求項2記載のネットワーク上における透過ゲートウェイまたは透過プロキシ具現方法。
  4. 前記第3段階において出発地IPがゲートウェイIPと同じ場合、前記セッション照会は、目的地IP、目的地ポート、ゲートウェイIPおよび出発地ポートによって検索することを特徴とする請求項3記載のネットワーク上における透過ゲートウェイまたは透過プロキシ具現方法。
JP2003508029A 2001-06-22 2002-04-04 ネットワーク上における透過ゲートウェイまたは透過プロキシ具現方法 Expired - Fee Related JP3805771B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2001-0035710A KR100405113B1 (ko) 2001-06-22 2001-06-22 네트워크상에서의 투명한 게이트웨이 또는 투명한 프록시구현 방법
PCT/KR2002/000600 WO2003001756A1 (en) 2001-06-22 2002-04-04 Method for implementing transparent gateway or proxy in a network

Publications (3)

Publication Number Publication Date
JP2004522368A JP2004522368A (ja) 2004-07-22
JP2004522368A5 JP2004522368A5 (ja) 2005-06-23
JP3805771B2 true JP3805771B2 (ja) 2006-08-09

Family

ID=19711225

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003508029A Expired - Fee Related JP3805771B2 (ja) 2001-06-22 2002-04-04 ネットワーク上における透過ゲートウェイまたは透過プロキシ具現方法

Country Status (5)

Country Link
US (2) US20050015510A1 (ja)
JP (1) JP3805771B2 (ja)
KR (1) KR100405113B1 (ja)
CN (1) CN1217516C (ja)
WO (1) WO2003001756A1 (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100440886C (zh) 2003-09-02 2008-12-03 华为技术有限公司 多媒体协议穿越网络地址转换设备的实现方法
CN101262502B (zh) * 2003-09-02 2011-09-14 华为技术有限公司 多媒体协议穿越网络地址转换设备的实现方法
US20050060410A1 (en) * 2003-09-11 2005-03-17 Nokia Corporation System and method for proxy-based redirection of resource requests
CN1317874C (zh) * 2003-09-27 2007-05-23 财团法人资讯工业策进会 提供虚拟主机服务快速查询置换的网络地址端口转换网关器与方法
KR100563825B1 (ko) * 2003-10-28 2006-03-24 주식회사 엑스큐어넷 컨텐츠 분석이 가능한 고성능의 프럭시 서버 및 이를이용한 패킷 처리 방법
JP4533247B2 (ja) * 2004-06-08 2010-09-01 キヤノン株式会社 サービス提供システム、サービス提供方法及びサービス提供装置
JP4392029B2 (ja) * 2004-11-11 2009-12-24 三菱電機株式会社 通信ネットワークにおけるipパケット中継方法
KR100666005B1 (ko) * 2006-01-24 2007-01-09 양영수 방사선 경화 도전성 잉크와 이를 이용한 제조 방법
US8447802B2 (en) * 2006-03-08 2013-05-21 Riverbed Technology, Inc. Address manipulation to provide for the use of network tools even when transaction acceleration is in use over a network
US8004973B2 (en) * 2006-04-25 2011-08-23 Citrix Systems, Inc. Virtual inline configuration for a network device
CN100531158C (zh) * 2006-06-29 2009-08-19 华为技术有限公司 一种无线接入网关支持透明代理的系统及方法
CN100525251C (zh) * 2006-11-30 2009-08-05 中国科学院计算技术研究所 一种网络地址转换方法
EP2149093A4 (en) * 2007-04-17 2010-05-05 Kenneth Tola METHODS AND DISCRETE SYSTEMS FOR COLLECTING INFORMATION TRANSMITTED OVER A NETWORK
US8549157B2 (en) * 2007-04-23 2013-10-01 Mcafee, Inc. Transparent secure socket layer
KR100891713B1 (ko) * 2007-05-14 2009-04-03 (주)이지서티 Ip 주소 투명화를 위한 게이트웨이 및 방법과 컴퓨터프로그램 기록매체
KR100898371B1 (ko) * 2007-06-18 2009-05-18 (주)모니터랩 투명 프록시 시스템 및 그의 패킷 처리 방법
CN101605153B (zh) * 2008-06-13 2013-10-09 中怡(苏州)科技有限公司 利用路由装置进行地址协议解析的方法
US9002923B2 (en) 2008-07-01 2015-04-07 Thomson Licensing Transparent web proxy
US8874693B2 (en) * 2009-02-20 2014-10-28 Microsoft Corporation Service access using a service address
CN102006337B (zh) * 2010-11-23 2013-12-18 华为技术有限公司 一种基于cgn实体的数据传输方法、cgn实体、网关及系统
JP5750352B2 (ja) * 2011-10-04 2015-07-22 株式会社Into ネットワークゲートウェイ装置
CN106357590A (zh) * 2015-07-15 2017-01-25 艾默生网络能源系统北美公司 一种网络协议转换系统、网络协议转换器及其转换方法
CN107483593B (zh) * 2017-08-22 2019-12-31 网宿科技股份有限公司 双向透明代理方法及系统
US11194930B2 (en) 2018-04-27 2021-12-07 Datatrendz, Llc Unobtrusive systems and methods for collecting, processing and securing information transmitted over a network
CN108833418B (zh) * 2018-06-22 2021-05-25 京东数字科技控股有限公司 用于防御攻击的方法、装置和系统
KR102090138B1 (ko) * 2018-12-21 2020-03-17 (주)모니터랩 세션 관리 방법 및 이를 이용한 보안중계장치
KR102085331B1 (ko) * 2019-01-07 2020-03-05 주식회사 엑스게이트 네트워크 이중화 환경에서 투명 프록시를 이용한 패킷 처리 방법 및 패킷 처리 시스템
CN109587275A (zh) * 2019-01-08 2019-04-05 网宿科技股份有限公司 一种通信连接的建立方法及代理服务器
CN109921948B (zh) * 2019-03-27 2022-07-29 新华三技术有限公司 数据平面的故障检测方法、装置及网关设备

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4677588A (en) * 1983-11-14 1987-06-30 International Business Machines Corp. Network interconnection without integration
US5493607A (en) * 1992-04-21 1996-02-20 Boston Technology Multi-system network addressing
US5781550A (en) * 1996-02-02 1998-07-14 Digital Equipment Corporation Transparent and secure network gateway
US5856974A (en) * 1996-02-13 1999-01-05 Novell, Inc. Internetwork address mapping gateway
US6473406B1 (en) * 1997-07-31 2002-10-29 Cisco Technology, Inc. Method and apparatus for transparently proxying a connection
US6389462B1 (en) * 1998-12-16 2002-05-14 Lucent Technologies Inc. Method and apparatus for transparently directing requests for web objects to proxy caches
US6381638B1 (en) * 1999-02-24 2002-04-30 3Com Corporation System and method for options based address reuse
KR100336998B1 (ko) * 1999-08-02 2002-05-30 전우직 발신지 주소에 의한 네트워크 주소 변환 방법
KR100301026B1 (ko) * 1999-08-20 2001-11-01 윤종용 망주소 변환 테이블을 사용한 사설망과 공용망의 망연동 방법 및 이를 위한 기록 매체
KR100333530B1 (ko) * 1999-09-29 2002-04-25 최명렬 네트워크 주소 변환(nat) 기능을 이용한 가상 사설망(vpn) 구성 방법 및 이를 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체
CN1141657C (zh) * 1999-12-29 2004-03-10 西安交通大学 基于透明网络地址翻译的防火墙代理网关
US6754709B1 (en) * 2000-03-29 2004-06-22 Microsoft Corporation Application programming interface and generalized network address translator for intelligent transparent application gateway processes
KR100438236B1 (ko) * 2000-12-28 2004-07-02 엘지전자 주식회사 브이오아이피 게이트웨이에서 네트워크 주소 변환 서버를통한 음성 패킷 전달 방법
US20020152307A1 (en) * 2001-04-12 2002-10-17 Doyle Ronald Patrick Methods, systems and computer program products for distribution of requests based on application layer information
US7272650B2 (en) * 2001-04-17 2007-09-18 Intel Corporation Communication protocols operable through network address translation (NAT) type devices
TW588532B (en) * 2002-03-29 2004-05-21 Realtek Semiconductor Corp Management device and method of NAT/NAPT session
ATE353522T1 (de) * 2003-12-23 2007-02-15 Cit Alcatel Verfahren zur ausführung einer symmetrischen adressenumsetzung

Also Published As

Publication number Publication date
CN1460347A (zh) 2003-12-03
CN1217516C (zh) 2005-08-31
US20050015510A1 (en) 2005-01-20
JP2004522368A (ja) 2004-07-22
KR20030000080A (ko) 2003-01-06
WO2003001756A1 (en) 2003-01-03
KR100405113B1 (ko) 2003-11-10
US20080133774A1 (en) 2008-06-05

Similar Documents

Publication Publication Date Title
JP3805771B2 (ja) ネットワーク上における透過ゲートウェイまたは透過プロキシ具現方法
US8468259B2 (en) Middlebox control
US6157950A (en) Methods and apparatus for interfacing a computer or small network to a wide area network such as the internet
US7894432B2 (en) Apparatus and method creating virtual routing domains in an internet protocol network
US9288187B2 (en) Externally controlled reachability in virtual private networks
KR100454502B1 (ko) 아이피 라우터에서 VoIP 트래픽에 대한 QoS를제공하는 장치 및 포워딩방법
US7574522B2 (en) Communication data relay system
US7630368B2 (en) Virtual network interface card loopback fastpath
US8094660B2 (en) VLAN server
US7782902B2 (en) Apparatus and method for mapping overlapping internet protocol addresses in layer two tunneling protocols
US20050213591A1 (en) Router and sip server
US20040158606A1 (en) Transmission method of multimedia data over a network
KR20000010612A (ko) 인터넷 프로토콜 필터
WO2013069161A1 (ja) ルーティング方法およびネットワーク伝送装置
US20080279178A1 (en) Port reduction for voice over internet protocol router
EP1633084B1 (en) Method for selecting services provided by different network service providers
US8103790B2 (en) Apparatus and method for supporting multiple traffic categories at a single networked device
JP6007644B2 (ja) 通信装置、プログラムおよびルーティング方法
EP1777915A1 (en) An method and apparatus for implementing the signaling proxy
US6577627B1 (en) Service selection on IP access networks
KR100519166B1 (ko) 에이티엠 엠피엘에스 브이피엔 망에서의 반향 요청 방법
JP7178522B2 (ja) 中継装置及びローカルブレイクアウトの転送方法
KR20070108772A (ko) Sip서버 및 이를 이용한 sip기반의 통신 방법

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060213

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060411

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060510

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100519

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110519

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120519

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130519

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20140519

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees