RFC3089 日本語訳

3089 A SOCKS-based IPv6/IPv4 Gateway Mechanism. H. Kitamura. April 2001. (Format: TXT=25193 bytes) (Status: INFORMATIONAL)
プログラムでの自動翻訳です。
英語原文

Network Working Group                                        H. Kitamura
Request for Comments: 3089                               NEC Corporation
Category: Informational                                       April 2001

コメントを求めるワーキンググループH.喜田村要求をネットワークでつないでください: 3089年のNECカテゴリ: 情報の2001年4月

               A SOCKS-based IPv6/IPv4 Gateway Mechanism

ソックスベースのIPv6/IPv4ゲートウェイメカニズム

Status of this Memo

このMemoの状態

   This memo provides information for the Internet community.  It does
   not specify an Internet standard of any kind.  Distribution of this
   memo is unlimited.

このメモはインターネットコミュニティのための情報を提供します。 それはどんな種類のインターネット標準も指定しません。 このメモの分配は無制限です。

Copyright Notice

版権情報

   Copyright (C) The Internet Society (2001).  All Rights Reserved.

Copyright(C)インターネット協会(2001)。 All rights reserved。

Abstract

要約

   This document describes a SOCKS-based IPv6/IPv4 gateway mechanism
   that enables smooth heterogeneous communications between the IPv6
   nodes and IPv4 nodes.

このドキュメントはIPv6ノードとIPv4ノードとの滑らかな異種のコミュニケーションを可能にするSOCKSベースのIPv6/IPv4ゲートウェイメカニズムについて説明します。

   It is based on the SOCKS protocol [SOCKSv5].  By applying the SOCKS
   mechanism to the heterogeneous communications and relaying two
   "terminated" IPv4 and IPv6 connections at the "application layer"
   (the SOCKS server), the SOCKS-based IPv6/IPv4 gateway mechanism is
   accomplished.

それはSOCKSプロトコル[SOCKSv5]に基づいています。 「応用層」(SOCKSサーバ)でSOCKSメカニズムを異種のコミュニケーションに適用して、2の「終えられた」IPv4とIPv6接続をリレーすることによって、SOCKSベースのIPv6/IPv4ゲートウェイメカニズムは優れています。

   Since it is accomplished without introducing new protocols, it
   provides the same communication environment that is provided by the
   SOCKS mechanism.  The same appearance is provided to the
   heterogeneous communications.  No conveniences or functionalities of
   current communications are sacrificed.

新しいプロトコルを紹介しないで達成されるので、それはSOCKSメカニズムによって提供されるのと同じ通信環境を提供します。 同じ外観を異種のコミュニケーションに提供します。 現在のコミュニケーションのどんな利器も機能性も犠牲にされません。

1. Introduction

1. 序論

   The SOCKS-based IPv6/IPv4 gateway mechanism is based on a mechanism
   that relays two "terminated" IPv4 and IPv6 connections at the
   "application layer" (the SOCKS server); its characteristics are
   inherited from those of the connection relay mechanism at the
   application layer and those of the native SOCKS mechanism.

SOCKSベースのIPv6/IPv4ゲートウェイメカニズムは「応用層」(SOCKSサーバ)で2の「終えられた」IPv4とIPv6接続をリレーするメカニズムに基づいています。 特性は応用層の接続リレーメカニズムのものと固有のSOCKSメカニズムのものから引き継がれます。

Kitamura                     Informational                      [Page 1]

RFC 3089        SOCKS-based IPv6/IPv4 Gateway Mechanism       April 2001

ソックスベースの[1ページ]RFC3089IPv6/IPv4ゲートウェイメカニズム2001年4月の情報の喜田村

2. Basic SOCKS-based Gateway Mechanism

2. 基本的なソックスベースのゲートウェイメカニズム

   Figure 1 shows the basic SOCKS-based gateway mechanism.

図1は基本的なSOCKSベースのゲートウェイメカニズムを示しています。

                  Client C       Gateway G     Destination D
               +-----------+     (Server)
               |Application|
           +-->+===========+  +-------------+  +-----------+
      same-+   |*SOCKS Lib*|  |  *Gateway*  |  |Application|
       API +-->+===========+  +=====---=====+  +-----------+
               | Socket DNS|  | Socket  DNS |  | Socket DNS|
               +-----------+  +-------------+  +-----------+
               | [ IPv X ] |  |[IPvX]|(IPvY)|  | ( IPv Y ) |
               +-----------+  +-------------+  +-----------+
               |Network I/F|  | Network I/F |  |Network I/F|
               +-----+-----+  +---+-----+---+  +-----+-----+
                     |            |     |            |
                     +============+     +------------+
                       socksified           normal
                       connection         connection
                      (ctrl)+data          data only

クライアントCゲートウェイG目的地D+-----------+ (サーバ)|アプリケーション| +-->+===========+ +-------------+ +-----------+ 同じ+|*ソックスリブ*| | *ゲートウェイ*| |アプリケーション| API+-->+===========+ +=====---=====+ +-----------+ | ソケットDNS| | ソケットDNS| | ソケットDNS| +-----------+ +-------------+ +-----------+ | [IPv X]| |[IPvX]|(IPvY)| | (IPv Y) | +-----------+ +-------------+ +-----------+ |ネットワークI/F| | ネットワークI/F| |ネットワークI/F| +-----+-----+ +---+-----+---+ +-----+-----+ | | | | +============+ +------------+ socksified正常な接続接続(ctrl)+データデータ専用

                Fig. 1 Basic SOCKS-based Gateway Mechanism

図1 基本的なソックスベースのゲートウェイメカニズム

   In this figure, the Client C initiates the communication to the
   Destination D.  Two new functional blocks are introduced and they
   compose the mechanism.

この図では、Client CはDestination D.にコミュニケーションを開始します。Two新しい機能ブロックは紹介されます、そして、それらはメカニズムを構成します。

   One, *Socks Lib*, is introduced into the client side (Client C) (this
   procedure is called "socksifying").  The *Socks Lib* is located
   between the application layer and the socket layer, and can replace
   applications' socket APIs and DNS name resolving APIs (e.g.,
   gethostbyname(), getaddrinfo() etc.).  There is a mapping table in it
   for a "DNS name resolving delegation" feature (described below).
   Each socksified application has its own *Socks Lib*.

1(*ソックスLib*)はクライアント側(クライアントC)に取り入れられます(この手順は「socksifying」と呼ばれます)。 *ソックスLib*は、応用層とソケットレイヤーの間に位置していて、API(例えば、getaddrinfo()gethostbyname()など)を決議しながら、アプリケーションのソケットAPIとDNS名を置き換えることができます。 マッピングテーブルが「委譲を決議するDNS名」特徴(以下で、説明される)のためにそこにあります。 それぞれのsocksifiedアプリケーションには、それ自身の*ソックスLib*があります。

   The other, *Gateway*, is installed on the IPv6 and IPv4 dual stack
   node (Gateway G).  It is an enhanced SOCKS server that enables any
   types of protocol combination relays between Client C (IPvX) and
   Destination D (IPvY).  When the *Socks Lib* invokes a relay, one
   corresponding *Gateway* process (thread) is spawned from the parent
   *Gateway* to take charge of the relay connection.

もう片方(*ゲートウェイ*)がIPv6とIPv4デュアルスタックノード(ゲートウェイG)にインストールされます。 それはClient C(IPvX)とDestination D(IPvY)の間のどんなタイプのプロトコル組み合わせリレーも可能にする高められたSOCKSサーバです。 *ソックスLib*がリレーを呼び出すとき、1つの対応する*ゲートウェイ*プロセス(スレッド)が、リレー接続を預かるために親*ゲートウェイ*から量産されます。

   The following four types of combinations of IPvX and IPvY are
   possible in the mechanism.

以下の4つのタイプのIPvXとIPvYの組み合わせはメカニズムで可能です。

Kitamura                     Informational                      [Page 2]

RFC 3089        SOCKS-based IPv6/IPv4 Gateway Mechanism       April 2001

ソックスベースの[2ページ]RFC3089IPv6/IPv4ゲートウェイメカニズム2001年4月の情報の喜田村

    type C ------ G ------ D
           [IPvX]   (IPvY)
     A      IPv4     IPv4       homogeneous (normal SOCKS)
     B      IPv4     IPv6     * heterogeneous *
     C      IPv6     IPv4     * heterogeneous *
     D      IPv6     IPv6       homogeneous

Cをタイプしてください。------ G------ D[IPvX](IPvY)均質の(正常なSOCKS)B IPv4 IPv6*異種の*C*異種の*D A IPv4 IPv4IPv6 IPv4IPv6 IPv6均質です。

   Type A is supported by the normal SOCKS mechanism.  Type B and C are
   the main targets for the SOCKS-based IPv6/IPv4 gateway mechanism.
   They provide heterogeneous communications.  Type D can be supported
   by the natural extension of the SOCKS mechanism, because it is a
   homogeneous communication.

タイプAは正常なSOCKSメカニズムによってサポートされます。 タイプBとCはSOCKSベースのIPv6/IPv4ゲートウェイメカニズムのための主要目標です。 彼らは異種のコミュニケーションを提供します。 それが均質のコミュニケーションであるので、SOCKSメカニズムの自然な拡大でタイプDをサポートすることができます。

   Since the *Socks Lib* communicates with the *Gateway* by using SOCKS
   protocol [SOCKSv5], the connection between them (the Client C and the
   Gateway G) is a special connection and is called a "socksified
   connection".  It can transfer not only data but also control
   information (e.g., the location information of Destination D).

*ソックスLib*が*ゲートウェイ*でSOCKSプロトコル[SOCKSv5]を使用することによって交信するので、彼ら(Client CとゲートウェイG)の間の接続は、特別な接続であり、「socksified接続」と呼ばれます。 それはデータだけではなく、制御情報(例えば、Destination Dに関する位置情報)も移すことができます。

   The connection between the Gateway G and the Destination D is a
   normal connection.  It is not modified (socksified).  A server
   application that runs on Destination D does not notice the existence
   of the Client C.  It recognizes that the peer node of the connection
   is the Gateway G (not Client C).

ゲートウェイGとDestination Dとの接続は普通の接続です。 それは変更されていません(socksifiedされます)。 Destination Dの上で作業するサーバ・アプリケーションはClient C.の存在に気付きません。Itは、接続の同輩ノードがゲートウェイGである(Client Cでない)と認めます。

   No new protocols are introduced to the SOCKS protocol [SOCKSv5] to
   accomplish the mechanism.

どんな新しいプロトコルも、メカニズムを達成するためにSOCKSプロトコル[SOCKSv5]に取り入れられません。

   * Packet Size Adjustment

* パケットサイズの調節

     Since the length of the IPv6 header is different from that of the
     IPv4 header, it is necessary to consider the packet size adjustment
     in heterogeneous communications.  If this is not taken into
     consideration, the packet size may exceed the MTU of the network.

IPv6ヘッダーの長さがIPv4ヘッダーのものと異なっているので、パケットサイズが異種のコミュニケーションで調整であると考えるのが必要です。 これが考慮に入れられないなら、パケットサイズはネットワークのMTUを超えるかもしれません。

     In the SOCKS-based IPv6/IPv4 gateway mechanism, it never exceeds
     the MTU, because the mechanism is based on relaying two
     "terminated" connections at the "application layer".  The relayed
     data is a simple data stream for the application, and the packet
     size is naturally adjusted at each relayed connection side.

SOCKSベースのIPv6/IPv4ゲートウェイメカニズムでは、MTUを決して超えていません、メカニズムが「応用層」での2つの「終えられた」接続をリレーするのに基づいているので。 リレーされたデータはアプリケーションのための簡単なデータ・ストリームです、そして、パケットサイズはそれぞれのリレー接続側で自然に調整されます。

   * Authenticated Relay

* 認証されたリレー

     Since the SOCKS is originally designed for firewall systems and it
     has various authentication methods, the relayed connections can be
     authenticated by the native SOCKS authentication methods.

SOCKSが元々、ファイアウォールシステムのために設計されて、それには様々な認証方法があるので、固有のSOCKS認証方法でリレーされた接続を認証できます。

Kitamura                     Informational                      [Page 3]

RFC 3089        SOCKS-based IPv6/IPv4 Gateway Mechanism       April 2001

ソックスベースの[3ページ]RFC3089IPv6/IPv4ゲートウェイメカニズム2001年4月の情報の喜田村

3. DNS Name Resolving Procedure

3. 手順を決議するDNS名

   In all communication applications, it is a necessary to obtain
   destination IP address information to start a communication.  It is,
   however, theoretically impossible for the heterogeneous
   communications to obtain correct information, because an existing
   IPv4 application can not deal with an IPv6 address.  It prepares only
   a 4-byte address space to store an IP address information, and it can
   not store an IPv6 address information into there.  This is a critical
   problem caused by differences in address length.

すべてのコミュニケーションアプリケーションでは、それはコミュニケーションを始めるために目的地IPアドレス情報を得るのに必要なaです。 しかしながら、異種のコミュニケーションが正確な情報を得るのは、理論的に不可能です、既存のIPv4アプリケーションがIPv6アドレスに対処できないので。 それはIPアドレス情報を保存するために4バイトのアドレスのスペースだけを準備します、そして、IPv6アドレス情報をそことして保存できません。 これはアドレスの長さの違いによって引き起こされた重大問題です。

   In order to solve the problem, a feature called "DNS name resolving
   delegation" is used in the SOCKS-based IPv6/IPv4 gateway mechanism.
   The feature involves the delegating of DNS name resolving actions at
   the source node (Client C) to the relay server (Gateway G).  Since
   the relay server is an IPv4 and IPv6 dual stack node, DNS name
   resolving queries for any address family types of destinations can be
   made without causing any problems.  Therefore, it is not necessary to
   modify the existing DNS mechanism at all.

問題を解決するために、「委譲を決議するDNS名」と呼ばれる特徴はSOCKSベースのIPv6/IPv4ゲートウェイメカニズムで使用されます。 特徴はソースノード(クライアントC)でリレーサーバ(ゲートウェイG)に動作を決議するDNS名を代表として派遣することにかかわります。 したがって、リレーサーバがIPv4とIPv6デュアルスタックノード(どんな問題も引き起こさないでどんなアドレスファミリータイプの目的地のための質問もすることができると決議するDNS名)であるので、全く既存のDNSメカニズムを変更するのは必要ではありません。

   The feature supports not only the case in which a destination logical
   host name (FQDN) information is given but also the case in which a
   destination literal (numerical) IP address is given.  The latter case
   is supported in almost the same way as the former case.  Since the
   literal IPv6 address expression includes colons (":"), it is
   identified as an FQDN (not a literal IPv4 address) for the IPv4
   application.

特徴は目的地の論理的なホスト名(FQDN)情報が与えられている場合だけではなく、送付先の文字通り(数字の)のIPアドレスが与えられている場合もサポートします。 後者のケースは前のケースとほとんど同じように支えられます。 以来文字通りのIPv6アドレス式がコロンを含んでいる、(「:」、)、それはIPv4アプリケーションのためのFQDN(文字通りのIPv4アドレスでない)として特定されます。

   The SOCKS protocol specification [SOCKSv5] defines that IPv4 address,
   IPv6 address, and DOMAINNAME (FQDN) information can be used in the
   ATYP (address type) field of the SOCKS protocol format.  In the "DNS
   name resolving delegation" feature, the DOMAINNAME (FQDN) information
   is used in the ATYP (address type) field.  The FQDN information is
   transferred from the Client C to the Gateway G to indicate the
   Destination D.

SOCKSプロトコル仕様[SOCKSv5]はそのIPv4アドレスを定義します、IPv6アドレス、そして、SOCKSプロトコル形式のATYP(アドレスタイプ)分野でDOMAINNAME(FQDN)情報を使用できます。 「委譲を決議するDNS名」特徴では、DOMAINNAME(FQDN)情報はATYP(アドレスタイプ)分野で使用されます。 Destination Dを示すためにClient CからゲートウェイGまでFQDN情報を移します。

   In order to solve the formerly explained critical problem, an
   appropriate "fake IP" address is introduced in the feature, and it is
   used as a virtual destination IP address for a socksified
   application.  A mapping table is also introduced in the *Socks Lib*
   (at the Client C) to manage mappings between "fake IP" and "FQDN".  A
   "fake IP" address is used as a key to look up the corresponding
   "FQDN" information.  The mapping table is local and independent of
   other applications or their *Socks Lib*s.

以前説明された重大問題を解決するために、「にせのIP」という適切なアドレスは特徴で紹介されます、そして、それはsocksifiedアプリケーションに仮想の送付先IPアドレスとして使用されます。 また、マッピングテーブルは、「にせのIP」と"FQDN"の間のマッピングを管理するために*ソックスLib*(Client Cの)で紹介されます。 「にせのIP」というアドレスは、対応する"FQDN"情報を調べるのにキーとして使用されます。 マッピングテーブルは、他のアプリケーションかそれらの*ソックスLib*sから地方であって独立しています。

Kitamura                     Informational                      [Page 4]

RFC 3089        SOCKS-based IPv6/IPv4 Gateway Mechanism       April 2001

ソックスベースの[4ページ]RFC3089IPv6/IPv4ゲートウェイメカニズム2001年4月の情報の喜田村

   The transparentness to applications is maintained in the feature.
   Nothing special is required to execute it except socksifying the
   applications.  Since DNS name resolving APIs are replaced by the
   *Socks Lib*, the "DNS name resolving delegation" is executed
   internally merely by calling the DNS name resolving APIs in ordinal
   methods.

アプリケーションへの透明は特徴で維持されます。 特別なものは何も、アプリケーションをsocksifyingする以外に、それを実行するのに必要ではありません。 APIが*ソックスLib*に取り替えられると決議するDNS名以来、単にDNS名を序数のメソッドでAPIを決議すると呼ぶことによって、「委譲を決議するDNS名」は内部的に実行されます。

   The "DNS name resolving delegation" is accomplished only when FQDN
   information is used in the ATYP (address type) field of the SOCKS
   command.  Therefore, it is mandatory to do so for heterogeneous
   communications.  The method of using FQDN information in the ATYP
   field depends on the configuration setting and implementation of the
   SOCKS protocol.  In order to simplify the discussion, only the case
   in which the FQDN information is used in the ATYP field is discussed
   here.

FQDN情報がSOCKSコマンドのATYP(アドレスタイプ)分野で使用されるときだけ、「委譲を決議するDNS名」は優れています。 したがって、異種のコミュニケーションのためにそうするのは義務的です。 ATYP分野でFQDN情報を使用するメソッドはSOCKSプロトコルの構成設定と実装に依存します。 議論を簡素化するために、ここでFQDN情報がATYP分野で使用される場合だけについて議論します。

   The detailed internal procedure of the "DNS name resolving
   delegation" and address mapping management related issues are
   described as follows.

「委譲を決議するDNS名」と管理関連する問題を写像するアドレスの詳細な内部手続きは以下の通り説明されます。

   1. An application on the source node (Client C) tries to get the
      IP address information of the destination node (Destination D) by
      calling the DNS name resolving function (e.g., gethostbyname()).
      At this time, the logical host name ("FQDN") information of the
      Destination D is passed to the application's *Socks Lib* as an
      argument of called APIs.

1. DNS名を機能を決議すると呼ぶことによって、ソースノード(クライアントC)におけるアプリケーションは目的地ノード(目的地D)に関するIPアドレス情報を得ようとします。(例えば、gethostbyname())。 このとき、情報という目的地Dの論理的なホスト名("FQDN")は呼ばれたAPIの議論としてアプリケーションの*ソックスリブ*に通過されます。

   2. Since the *Socks Lib* has replaced such DNS name resolving APIs,
      the real DNS name resolving APIs is not called here.  The argued
      "FQDN" information is merely registered into a mapping table in
      *Socks Lib*, and a "fake IP" address is selected as information
      that is replied to the application from a reserved special IP
      address space that is never used in real communications (e.g.,
      0.0.0.x).  The address family type of the "fake IP" address must be
      suitable for requests called by the applications.  Namely, it must
      belong to the same address family of the Client C, even if the
      address family of the Destination D is different from it.  After
      the selected "fake IP" address is registered into the mapping
      table as a pair with the "FQDN", it is replied to the application.

2. *ソックスLib*がAPIを決議しながらDNSが命名するそのようなものを取り替えたので、APIを決議する本当のDNS名はここに呼ばれません。 論争された"FQDN"情報は*ソックスリブ*でマッピングテーブルに単に登録されます、そして、アプリケーションに関して決してそうでない予約された特別なIPアドレス空間から返答される情報が本当のコミュニケーションで(例えば、0.0.0.x)を使用したので、「にせのIP」というアドレスは選択されます。 「にせのIP」というアドレスのアドレスファミリータイプはアプリケーションで呼ばれる要求に適しているに違いありません。 すなわち、それはClient Cの同じアドレスファミリーのものでなければなりません、Destination Dのアドレスファミリーがそれと異なっても。 選択された「にせのIP」というアドレスが"FQDN"と共にマッピングテーブルに対にし登録された後に、それはアプリケーションに関して返答されます。

   3. The application receives the "fake IP" address, and prepares a
      "socket".  The "fake IP" address information is used as an element
      of the "socket".  The application calls socket APIs (e.g.,
      connect()) to start a communication.  The "socket" is used as an
      argument of the APIs.

3. アプリケーションは、「にせのIP」というアドレスを受け取って、「ソケット」を準備します。 「にせのIP」アドレス情報は「ソケット」の要素として使用されます。 アプリケーションは、ソケットをAPIと呼びます。(例えば、コミュニケーションを始める())を接続してください。 「ソケット」はAPIの議論として使用されます。

Kitamura                     Informational                      [Page 5]

RFC 3089        SOCKS-based IPv6/IPv4 Gateway Mechanism       April 2001

ソックスベースの[5ページ]RFC3089IPv6/IPv4ゲートウェイメカニズム2001年4月の情報の喜田村

   4. Since the *Socks Lib* has replaced such socket APIs, the real
      socket function is not called.  The IP address information of the
      argued socket is checked.  If the address belongs to the special
      address space for the fake address, the matched registered "FQDN"
      information of the "fake IP" address is obtained from the mapping
      table.

4. *ソックスLib*がそのようなソケットAPIを取り替えたので、本当のソケット機能は呼ばれません。 論争されたソケットに関するIPアドレス情報はチェックされます。 アドレスがにせのアドレスのための特別なアドレス空間に属すなら、マッピングテーブルから「にせのIP」というアドレスの取り組んでいる登録された"FQDN"情報を得ます。

   5. The "FQDN" information is transferred to the *Gateway* on the
      relay server (Gateway G) by using the SOCKS command that is
      matched to the called socket APIs.  (e.g., for connect(), the
      CONNECT command is used.)

5. 呼ばれたソケットAPIに合わせられているソックスコマンドを使用することによって、リレーサーバ(ゲートウェイG)の*ゲートウェイ*に"FQDN"情報を移します。 (例えば、接続、()、使用されるCONNECTコマンド)。

   6. Finally, the real DNS name resolving API (e.g., getaddrinfo()) is
      called at the *Gateway*.  At this time, the received "FQDN"
      information via the SOCKS protocol is used as an argument of the
      called APIs.

6. 最終的に、本当のDNSは決議をAPIと命名します。例えばgetaddrinfo())は*ゲートウェイ*に呼ばれます。(このとき、ソックスを通した情報が議定書の中で述べる容認された"FQDN"は呼ばれたAPIの議論として使用されます。

   7. The *Gateway* obtains the "real IP" address from a DNS server,
      and creates a "socket".  The "real IP" address information is used
      as an element of the "socket".

7. *ゲートウェイ*は、DNSサーバから「本当のIP」というアドレスを得て、「ソケット」を作成します。 「本当のIP」アドレス情報は「ソケット」の要素として使用されます。

   8. The *Gateway* calls socket APIs (e.g., connect()) to communicate
      with the Destination D.  The "socket" is used as an argument of the
      APIs.

8. *ゲートウェイ*は、ソケットAPIと呼びます。例えば、())を接続します。(Destination D.とコミュニケートしてください、そして、「ソケット」はAPIの議論として使用されます。

   The problem with the feature is that failures of the DNS name
   resolving process are detected incorrectly at the source node (Client
   C).  They are detected as connection-establishment failures.

特徴に関する問題はプロセスを決議するDNS名の失敗がソースノード(クライアントC)に不当に検出されるということです。 それらはコネクション確立失敗として検出されます。

   (Restrictions on applicability of "fake IP" address, etc., are
   described in Section 5.)

(「にせのIP」というアドレスの適用性における制限などはセクション5で説明されます。)

   * Operations for Address Management (reservation, mapping etc.)

* アドレス管理のための操作(マッピング予約など)

   The SOCKS-based gateway mechanism does not require the reserving of a
   wide global address space for the address mapping, and complex
   address allocation and garbage-collection mechanisms are not
   necessary.

SOCKSベースのゲートウェイメカニズムはアドレス・マッピングのために広いグローバルアドレススペースの予約を必要としません、そして、複雑なアドレス配分とガーベージコレクションメカニズムは必要ではありません。

   Such address management operations are done at the *Socks Lib* by
   using the fake IP address and the mapping table for the DNS name
   resolving delegation.  Since the mapping table is prepared in each
   application, it is locally closed and independent of other
   applications.  Therefore, it is easy to manage the table, and it is
   not necessary to reserve a wide global address space.

*ソックスLib*でDNS名に委譲を決議しながらにせのIPアドレスとマッピングテーブルを使用することによって、そのようなアドレス管理操作をします。 マッピングテーブルが各アプリケーションで準備されるので、それは、他のアプリケーションから局所的に閉じられて独立しています。 したがって、テーブルを管理するのが簡単であり、広いグローバルアドレススペースを予約するのは必要ではありません。

Kitamura                     Informational                      [Page 6]

RFC 3089        SOCKS-based IPv6/IPv4 Gateway Mechanism       April 2001

ソックスベースの[6ページ]RFC3089IPv6/IPv4ゲートウェイメカニズム2001年4月の情報の喜田村

4. Multiple Chained Relay Mechanism (Advanced usage)

4. 複数のチェーニングされたリレーメカニズム(高度な用法)

   The SOCKS-based gateway mechanism has the flexibility to support
   multiple chained relay topologies.  With the mechanism, IPv4 and IPv6
   mixed various communication topologies are accomplished.

SOCKSベースのゲートウェイメカニズムには、複数のチェーニングされたリレーtopologiesをサポートする柔軟性があります。 様々な状態で複雑であったメカニズム、IPv4、およびIPv6と共にコミュニケーションtopologiesは優れています。

   Figure 2 shows the structure of the multiple chained relay mechanism.

図2は複数のチェーニングされたリレーメカニズムの構造を示しています。

        Client C       Gateway G1       Gateway G2    Destination D
     +-----------+     (Server 1)       (Server 2)
     |Application|
     +===========+  +-------------+  +-------------+  +-----------+
     |*SOCKS Lib*|  |  *Gateway1* |  |  *Gateway2* |  |Application|
     +===========+  +=====---=====+  +=====---=====+  +-----------+
     | Socket DNS|  | Socket  DNS |  | Socket  DNS |  | Socket DNS|
     +-----------+  +-------------+  +-------------+  +-----------+
     | [ IPv X ] |  |[IPvX]|(IPvY)|  |(IPvY)|{IPvZ}|  | { IPv Z } |
     +-----------+  +-------------+  +-------------+  +-----------+
     |Network I/F|  | Network I/F |  | Network I/F |  |Network I/F|
     +-----+-----+  +---+-----+---+  +---+-----+---+  +-----+-----+
           |            |     |          |     |            |
           +============+     +==========+     +------------+
             socksified        socksified          normal
             connection        connection        connection
            (ctrl)+data       (ctrl)+data         data only

クライアントCゲートウェイG1ゲートウェイG2目的地D+-----------+ (サーバ1)(サーバ2)|アプリケーション| +===========+ +-------------+ +-------------+ +-----------+ |*ソックスリブ*| | *Gateway1*| | *Gateway2*| |アプリケーション| +===========+ +=====---=====+ +=====---=====+ +-----------+ | ソケットDNS| | ソケットDNS| | ソケットDNS| | ソケットDNS| +-----------+ +-------------+ +-------------+ +-----------+ | [IPv X]| |[IPvX]|(IPvY)| |(IPvY)|IPvZ| | IPv Z| +-----------+ +-------------+ +-------------+ +-----------+ |ネットワークI/F| | ネットワークI/F| | ネットワークI/F| |ネットワークI/F| +-----+-----+ +---+-----+---+ +---+-----+---+ +-----+-----+ | | | | | | +============+ +==========+ +------------+ socksified socksified正常な接続接続接続(ctrl)+データ(ctrl)+データデータ専用

                  Fig. 2 Multiple Chained Relay Mechanism

図2 複数のチェーニングされたリレーメカニズム

   In this figure, the source node (Client C) initiates the
   communication with the destination (Destination D).  Underneath, the
   connection is replaced with three connections, and they are relayed
   at the two relay servers (Gateway G1 and G2).  The *Gateway* includes
   the same type of functions of *Socks Lib*.  By enabling the *Socks
   Lib* functions at the *Gateway1* on the first relay server (Gateway
   G1), the multiple chained relay topology is accomplished.

この図では、ソースノード(クライアントC)は目的地(目的地D)とのコミュニケーションを開始します。 下部では、接続を3つの接続に取り替えます、そして、2つのリレーサーバ(ゲートウェイG1とG2)で彼らをリレーします。 *ゲートウェイ*は同じタイプの*ソックスLib*の関数を含んでいます。最初のリレーサーバ(ゲートウェイG1)で*Gateway1*で*ソックスLib*機能を可能にすることによって、複数のチェーニングされたリレートポロジーが優れています。

   There is no limitation on the number of relay operations between the
   source node and the final destination node.  It is possible to have
   more than two intermediate relay servers.  To simplify the
   explanation, a twice-relayed topology is shown here.

ソースノードと最終的な目的地ノードの間には、制限が全くリレー操作の数にありません。 2つ以上の中間的リレーサーバを持っているのは可能です。 説明を簡素化するために、二度リレーされたトポロジーはここに示されます。

   Since the multiple chained relay is more complex than one-time relay
   and causes complexity, it is recommended that the multiple chained
   relay communication should be used only when it is necessary for some
   reason (e.g., usable protocols or topologies are limited by routers
   etc.).

複数のチェーニングされたリレーが1回のリレーより複雑であり、複雑さを引き起こすので、それがある理由で必要であるときにだけ(例えば使用可能なプロトコルかtopologiesがルータなどによって制限されます)、複数のチェーニングされたリレーコミュニケーションが使用されるのは、お勧めです。

Kitamura                     Informational                      [Page 7]

RFC 3089        SOCKS-based IPv6/IPv4 Gateway Mechanism       April 2001

ソックスベースの[7ページ]RFC3089IPv6/IPv4ゲートウェイメカニズム2001年4月の情報の喜田村

5. Applicability statement

5. 適用性証明

   The SOCKS-based gateway mechanism requests socksification of
   applications (install *Socks Lib*) to accomplish heterogeneous
   communications.  It is not necessary to modify (change source codes
   and recompile them, etc.) the applications, because typical
   socksification is done by changing the linking order of dynamic link
   libraries (specifically, by linking the SOCKS dynamic link library
   before the dynamic link libraries for normal socket and DNS name
   resolving APIs).

SOCKSベースのゲートウェイメカニズムは、異種のコミュニケーションを達成するようアプリケーション(*ソックスLib*をインストールする)のsocksificationに要求します。 アプリケーションを変更するのは(ソースコードを変えて、それらなどを再コンパイルします)必要ではありません、ダイナミックリンクライブラリ(特にダイナミックリンクライブラリの前に正常なソケットとDNS名のためにAPIを決議しながらSOCKSダイナミックリンクライブラリをリンクするのによる)のリンク注文を変えることによって典型的なsocksificationをするので。

   The mechanism does not request modification of the DNS system,
   because the DNS name resolving procedure at the Client C is delegated
   to the dual stack node Gateway G.

メカニズムはDNSシステムの変更を要求しません、Client Cで手順を決議するDNS名をデュアルスタックノードゲートウェイGへ代表として派遣するので。

   Other than the socksification, the SOCKS-based gateway mechanism has
   the following three types of constraints.

socksificationを除いて、SOCKSベースのゲートウェイメカニズムには、以下の3つのタイプの規制があります。

   1. Essential constraints:

1. 不可欠の規制:

      Constraints are caused by the address length difference between
      IPv4 and IPv6.

規制はIPv4とIPv6のアドレス長さの差によって引き起こされます。

      Functions that request an IP address as one of the return values
      (e.g., getpeername() and getsockname() etc.) can not provide the
      correct IP address as a return value.  However, a suitable port
      value can be provided, because IPv4 and IPv6 use the same size
      port space and an appropriate port information is transferred by
      the SOCKS protocol.

リターンのひとりが(例えば、getpeername()、getsockname()など)を評価するときIPアドレスを要求する機能はリターン値として正しいIPアドレスを提供できません。 しかしながら、適当なポート値を提供できます、IPv4とIPv6が同じサイズポートスペースを使用して、SOCKSプロトコルで適切なポート情報を移すので。

   2. Constraints of the SOCKS mechanism:

2. SOCKSメカニズムの規制:

      Since the current SOCKS system can not socksify all of the tricky
      applications in which extraordinary manners are used to create
      connections, the SOCKS-based gateway mechanism can not be applied
      to them.

現在のSOCKSシステムが並はずれたマナーが接続を創造するのに使用される油断のならないアプリケーションのすべてをsocksifyすることができないので、SOCKSベースのゲートウェイメカニズムを彼らに適用できません。

   3. Constraints to deal with the fake address:

3. 偽物に対処するという規制は以下を扱います。

      The fake address must be dealt with as a temporary value at the
      application.  It is used as a key value in the mapping table for
      the "DNS name resolving delegation" feature.  When the application
      is finished and the mapping table disappears, the fake address
      information must be also released.

アプリケーションのときに一時的な値としてにせのアドレスに対処しなければなりません。 それは「委譲を決議するDNS名」特徴にキー値としてマッピングテーブルで使用されます。 また、アプリケーションが終わっていて、マッピングテーブルが見えなくなるとき、にせのアドレス情報を発表しなければなりません。

      Even if it is recorded permanently (e.g., recorded as a bookmark),
      serious problems will not occur.  The recorded fake address
      information will merely become useless, because fake address

それが永久に(例えば、ブックマークとして、記録される)記録されても、深刻な問題は起こらないでしょう。 記録されたにせのアドレス情報がにせであるので単に役に立たなくなる、アドレス

Kitamura                     Informational                      [Page 8]

RFC 3089        SOCKS-based IPv6/IPv4 Gateway Mechanism       April 2001

ソックスベースの[8ページ]RFC3089IPv6/IPv4ゲートウェイメカニズム2001年4月の情報の喜田村

      information is taken from a reserved special IP address space that
      is never used in real communications (e.g., 0.0.0.x) and such a
      information is useless for the normal communication applications.
      Furthermore, such cases will be rare because most applications
      usually record FQDN information (not fake IP address information)
      to the bookmark, etc.

本当のコミュニケーション(例えば、0.0.0.x)で決して使用されない予約された特別なIPアドレス空間から情報を取ります、そして、通常のコミュニケーションアプリケーションに、そのような情報は役に立ちません。 その上、ほとんどのアプリケーションが通常、ブックマークへのFQDN情報(IPアドレス情報を見せかけない)などを記録するので、そのような場合はまれになるでしょう。

5.1 Native SOCKS mechanism considerations

5.1 固有のSOCKSメカニズム問題

   The characteristics of the SOCKS-based IPv6/IPv4 gateway mechanism
   are inherited from those of the native SOCKS mechanism.  Therefore,
   consideration issues of the native SOCKS mechanism are discussed in
   this section.

SOCKSベースのIPv6/IPv4ゲートウェイメカニズムの特性は固有のSOCKSメカニズムのものから引き継がれます。 したがって、このセクションで固有のSOCKSメカニズムの考慮問題について議論します。

   The SOCKSv5 protocol is composed of three commands (CONNECT, BIND and
   UDP ASSOCIATE).  All of three commands can be applied in the SOCKS-
   based IPv6/IPv4 gateway mechanism.

SOCKSv5プロトコルは3つのコマンド(CONNECT、BIND、およびUDP ASSOCIATE)で構成されます。 SOCKSのベースのIPv6/IPv4ゲートウェイメカニズムで3つのコマンドのすべてを適用できます。

   This document is described with assuming the usage of the CONNECT
   command mainly, because the CONNECT command is the main and most
   frequently used command in the SOCKS mechanism.  Since the CONNECT
   command does not have clear week points, we can use it freely without
   considerations.

このドキュメントはCONNECTコマンドの用法を主に仮定するのに説明されます、CONNECTコマンドがSOCKSメカニズムのメインとほとんどの頻繁に使用するコマンドであるので。 CONNECTコマンドには明確な週の点がないので、私たちは問題なしでそれを自由に使用できます。

   The other (BIND and UDP ASSOCIATE) commands have the following weak
   points.  So, we have to consider these points when we use the BIND or
   UDP ASSOCIATE commands in the mechanism.

他の(BINDとUDP ASSOCIATE)コマンドには、以下の弱点があります。 それで、私たちは、私たちがBINDを使用するときのこれらのポイントかUDP ASSOCIATEがメカニズムでコマンドであると考えなければなりません。

   The BIND command is basically designed to support reverse-channel
   rendezvous of the FTP type applications.  So, general usages of the
   BIND command may cause problems.

BINDコマンドは、FTPタイプアプリケーションの逆チャンネルランデブーをサポートするように基本的に設計されています。 それで、BINDコマンドの一般的な用法は問題を起こすかもしれません。

   The UDP ASSOCIATE command is basically designed for simple UDP
   applications (e.g., archie).  It is not general enough to support a
   large class of applications that use both TCP and UDP.

UDP ASSOCIATEコマンドは簡単なUDPアプリケーション(例えば、archie)のために基本的に設計されています。 それはTCPとUDPの両方を使用する多人数のクラスのアプリケーションをサポートするくらいには一般的ではありません。

Kitamura                     Informational                      [Page 9]

RFC 3089        SOCKS-based IPv6/IPv4 Gateway Mechanism       April 2001

ソックスベースの[9ページ]RFC3089IPv6/IPv4ゲートウェイメカニズム2001年4月の情報の喜田村

6. Security Considerations

6. セキュリティ問題

   Since the SOCKS-based IPv6/IPv4 gateway mechanism is based on SOCKSv5
   protocol, the security feature of the mechanism matches that of
   SOCKSv5.  It is described in the Security Considerations section of
   the SOCKS Protocol Version 5 [SOCKSv5].

SOCKSベースのIPv6/IPv4ゲートウェイメカニズムがSOCKSv5プロトコルに基づいているので、メカニズムのセキュリティ機能はSOCKSv5のものに合っています。 それはSOCKSプロトコルバージョン5[SOCKSv5]のSecurity Considerations部で説明されます。

   The mechanism is based on relaying two "terminated" connections at
   the "application layer".  The end-to-end security is maintained at
   each of the relayed connections (i.e., between Client C and Gateway
   G, and between Gateway G and Destination D).  The mechanism does not
   provide total end-to-end security relay between the original source
   (Client C) and the final destination (Destination D).

メカニズムは「応用層」での2つの「終えられた」接続をリレーするのに基づいています。 終わりから終わりへのセキュリティはリレーされた接続各人(すなわち、Client CとゲートウェイGと、ゲートウェイGとDestination Dの間の)のときに維持されます。 メカニズムは一次資料(クライアントC)と最終的な目的地(目的地D)の間に終わりから終わりへのセキュリティ総リレーを提供しません。

Kitamura                     Informational                     [Page 10]

RFC 3089        SOCKS-based IPv6/IPv4 Gateway Mechanism       April 2001

ソックスベースの[10ページ]RFC3089IPv6/IPv4ゲートウェイメカニズム2001年4月の情報の喜田村

Appendix A. Implementations

付録A.実装

   Currently, there are two independent implementations of the SOCKS-
   based IPv6/IPv4 gateway mechanism.  Both of them are open to the
   public.

現在、SOCKSのベースのIPv6/IPv4ゲートウェイメカニズムの2つの独立している実装があります。 それらの両方が公開されています。

   One is NEC's implementation.  Its source codes are available at the
   following URL.

1つはNECの実装です。 ソースコードは以下のURLで利用可能です。

            http://www.socks.nec.com/

http://www.socks.nec.com/

   The other is Fujitsu Lab.'s implementation, which is called
   "SOCKS64".  Its source codes are available at the following URL.

実装はそうですか?もう片方が富士通Labです。(それは、"SOCKS64""と呼ばれます)。 ソースコードは以下のURLで利用可能です。

            ftp://ftp.kame.net/pub/kame/misc/socks64-...

ftp://ftp.kame.net/pub/kame/misc/socks64-.. 。

References

参照

   [SOCKSv5]    Leech, M., Ganis, M., Lee, Y., Kuris, R., Koblas, D. and
                L. Jones, "SOCKS Protocol V5", RFC 1928, April 1996.

[SOCKSv5]のヒル、M.、Ganis、M.、リー、Y.、Kuris、R.、Koblas、D.、およびL.ジョーンズ、「ソックスはV5"について議定書の中で述べます、RFC1928、1996年4月。」

   [TRANSMECH]  Gilligan, R. and E. Nordmark, "Transition Mechanisms for
                IPv6 Hosts and Routers", RFC 2893, August 2000.

[TRANSMECH] ギリガンとR.とE.Nordmark、「IPv6ホストとルータのための変遷メカニズム」、RFC2893、2000年8月。

   [IPv6]       Deering, S. and R. Hinden, "Internet Protocol, Version 6
                (IPv6) Specification", RFC 2460, December 1998.

[IPv6]デアリング、S.とR.Hinden、「インターネットプロトコル、バージョン6(IPv6)仕様」、RFC2460、12月1998日

   [INET99]     H. Kitamura, "Entering the IPv6 communication world by
                the SOCKS-based IPv6/IPv4 Translator", in Proceedings of
                INET99, July 1999.

INET99のProceedingsの1999年7月に「SOCKSベースのIPv6/IPv4 TranslatorはIPv6コミュニケーション世界に入る」[INET99]H.喜田村。

Author's Address

作者のアドレス

   Hiroshi Kitamura
   NEC Corporation
   Development Laboratories
   (Igarashi Building 4F) 11-5, Shibaura 2-Chome,
   Minato-Ku, Tokyo 108-8557, JAPAN

Hiroshi喜田村NEC開発研究所(4Fを建てる五十嵐)11-5、2丁目のShibaura港区、東京108-8557(日本)

   Phone: +81 (3) 5476-1071
   Fax:   +81 (3) 5476-1005
   EMail: kitamura@da.jp.nec.com

以下に電話をしてください。 +81 (3) 5476-1071Fax: +81 (3) 5476-1005 メールしてください: kitamura@da.jp.nec.com

Kitamura                     Informational                     [Page 11]

RFC 3089        SOCKS-based IPv6/IPv4 Gateway Mechanism       April 2001

ソックスベースの[11ページ]RFC3089IPv6/IPv4ゲートウェイメカニズム2001年4月の情報の喜田村

Full Copyright Statement

完全な著作権宣言文

   Copyright (C) The Internet Society (2001).  All Rights Reserved.

Copyright(C)インターネット協会(2001)。 All rights reserved。

   This document and translations of it may be copied and furnished to
   others, and derivative works that comment on or otherwise explain it
   or assist in its implementation may be prepared, copied, published
   and distributed, in whole or in part, without restriction of any
   kind, provided that the above copyright notice and this paragraph are
   included on all such copies and derivative works.  However, this
   document itself may not be modified in any way, such as by removing
   the copyright notice or references to the Internet Society or other
   Internet organizations, except as needed for the purpose of
   developing Internet standards in which case the procedures for
   copyrights defined in the Internet Standards process must be
   followed, or as required to translate it into languages other than
   English.

それに関するこのドキュメントと翻訳は、コピーして、それが批評するか、またはそうでなければわかる他のもの、および派生している作品に提供するか、または準備されているかもしれなくて、コピーされて、発行されて、全体か一部分配された実装を助けるかもしれません、どんな種類の制限なしでも、上の版権情報とこのパラグラフがそのようなすべてのコピーと派生している作品の上に含まれていれば。 しかしながら、このドキュメント自体は何らかの方法で変更されないかもしれません、インターネット協会か他のインターネット組織の版権情報か参照を取り除くのなどように、それを英語以外の言語に翻訳するのが著作権のための手順がインターネットStandardsプロセスで定義したどのケースに従わなければならないか、必要に応じてさもなければ、インターネット標準を開発する目的に必要であるのを除いて。

   The limited permissions granted above are perpetual and will not be
   revoked by the Internet Society or its successors or assigns.

上に承諾された限られた許容は、永久であり、インターネット協会、後継者または案配によって取り消されないでしょう。

   This document and the information contained herein is provided on an
   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
   TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
   BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
   HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

このドキュメントとそして、「そのままで」という基礎とインターネットの振興発展を目的とする組織に、インターネット・エンジニアリング・タスク・フォースが速達の、または、暗示しているすべての保証を放棄するかどうかというここにことであり、他を含んでいて、含まれて、情報の使用がここに侵害しないどんな保証も少しもまっすぐになるという情報か市場性か特定目的への適合性のどんな黙示的な保証。

Acknowledgement

承認

   Funding for the RFC Editor function is currently provided by the
   Internet Society.

RFC Editor機能のための基金は現在、インターネット協会によって提供されます。

Kitamura                     Informational                     [Page 12]

喜田村Informationalです。[12ページ]

一覧

 RFC 1〜100  RFC 1401〜1500  RFC 2801〜2900  RFC 4201〜4300 
 RFC 101〜200  RFC 1501〜1600  RFC 2901〜3000  RFC 4301〜4400 
 RFC 201〜300  RFC 1601〜1700  RFC 3001〜3100  RFC 4401〜4500 
 RFC 301〜400  RFC 1701〜1800  RFC 3101〜3200  RFC 4501〜4600 
 RFC 401〜500  RFC 1801〜1900  RFC 3201〜3300  RFC 4601〜4700 
 RFC 501〜600  RFC 1901〜2000  RFC 3301〜3400  RFC 4701〜4800 
 RFC 601〜700  RFC 2001〜2100  RFC 3401〜3500  RFC 4801〜4900 
 RFC 701〜800  RFC 2101〜2200  RFC 3501〜3600  RFC 4901〜5000 
 RFC 801〜900  RFC 2201〜2300  RFC 3601〜3700  RFC 5001〜5100 
 RFC 901〜1000  RFC 2301〜2400  RFC 3701〜3800  RFC 5101〜5200 
 RFC 1001〜1100  RFC 2401〜2500  RFC 3801〜3900  RFC 5201〜5300 
 RFC 1101〜1200  RFC 2501〜2600  RFC 3901〜4000  RFC 5301〜5400 
 RFC 1201〜1300  RFC 2601〜2700  RFC 4001〜4100  RFC 5401〜5500 
 RFC 1301〜1400  RFC 2701〜2800  RFC 4101〜4200 

スポンサーリンク

HTMLファイルを作って、ブラウザで表示してみる

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る