この文書はRFC2782の日本語訳(和訳)です。 この文書の翻訳内容の正確さは保障できないため、 正確な知識を求める方は原文を参照してください。 翻訳者はこの文書によって読者が被り得る如何なる損害の責任をも負いません。 この翻訳内容に誤りがある場合、訂正版の公開や、 誤りの指摘は適切です。 この文書の配布は元のRFC同様に無制限です。


Network Working Group                                     A. Gulbrandsen
Request for Comments: 2782                            Troll Technologies
Obsoletes: 2052                                                 P. Vixie
Category: Standards Track                   Internet Software Consortium
                                                               L. Esibov
                                                         Microsoft Corp.
                                                           February 2000


       A DNS RR for specifying the location of services (DNS SRV)
       サービスの場所を指定するDNS資源レコード(DNS SRV)


Status of this Memo
この文書の状態


   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.
   この文書はインターネット共同体のためのインターネット標準化作業中のプ
   ロトコルを指定して、そして改良のために議論と提案を求めます。標準化状
   態とこのプロトコル状態は「インターネット公式プロトコル標準」(STD
   1)の現在の版を参照してください。このメモの配布は無制限です。

Copyright Notice
著作権表示

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

Abstract
概要

   This document describes a DNS RR which specifies the location of the
   server(s) for a specific protocol and domain.
   この文書は特定のプロトコルとドメインのサーバーの場所を指定するDNS
   資源レコードを記述します。

Overview and rationale
概観と原理

   Currently, one must either know the exact address of a server to
   contact it, or broadcast a question.
   現在、サーバと通信するには厳密なアドレスを知っているか、ブロードキャ
   ストで質問しなくてはなりません。

   The SRV RR allows administrators to use several servers for a single
   domain, to move services from host to host with little fuss, and to
   designate some hosts as primary servers for a service and others as
   backups.
   サービス資源レコードは管理者がひとつのドメインのいくつかのサーバーを
   使って、ほとんど混乱なしでサービスを他のホストに動かしたり、あるホス
   トを主とし、他をバックアップとする事を許します。

   Clients ask for a specific service/protocol for a specific domain
   (the word domain is used here in the strict RFC 1034 sense), and get
   back the names of any available servers.
   クライアントが特定のドメイン(ここで単語ドメインは厳密にRFC1034の意味
   で使っている)の特定のサービス/プロトコルを求めて、利用可能なサーバー
   の名を得ます。

   Note that where this document refers to "address records", it means A
   RR's, AAAA RR's, or their most modern equivalent.
   この書類で「アドレスレコード」を参照する所は、A資源レコードやAAAA
   資源レコードやそれらの最も新しい同等物を意味することに注意してください。

Definitions
定義

   The key words "MUST", "MUST NOT", "SHOULD", "SHOULD NOT" and "MAY"
   used in this document are to be interpreted as specified in [BCP 14].
   Other terms used in this document are defined in the DNS
   specification, RFC 1034.
   この文章のキーワード"MUST"と"MUST NOT"と"SHOULD"と"SHOULD NOT"と"MAY"
   は[BCP 14]で指定されるように、解釈されるはずである。この文書で使われ
   た他の用語がDNS仕様書、RFC1034で定義されます。

Applicability Statement
適用性宣言

   In general, it is expected that SRV records will be used by clients
   for applications where the relevant protocol specification indicates
   that clients should use the SRV record. Such specification MUST
   define the symbolic name to be used in the Service field of the SRV
   record as described below. It also MUST include security
   considerations. Service SRV records SHOULD NOT be used in the absence
   of such specification.
   一般に、サービス資源レコードは適切なプロトコル仕様書がクライアントが
   サービス資源レコードを使うべきであることを示すアプリケーションのため
   にクライアントによって使われるであろうと思われます。このような仕様書
   は、下に記述されるように、サービス資源レコードのサービスフィールドで
   使われるために象徴的な名前を定義しなくてはなりません(MUST)。それは同
   じくセキュリティの考慮を含まなくてはなりません(MUST)。サービス資源レ
   コードがこのような仕様書なしで使われるべきではありません(SHOULD NOT)。

Introductory example
導入例

   If a SRV-cognizant LDAP client wants to discover a LDAP server that
   supports TCP protocol and provides LDAP service for the domain
   example.com., it does a lookup of
   もしSRVを認識しているLDAPクライアントが、TCPプロトコルをサ
   ポートし、ドメインexample.com.のためにLDAPサービスを供給するLD
   APサーバーを見つけることを望むなら、[ARM]で記述されるように以下を
   検索します。

      _ldap._tcp.example.com

   as described in [ARM].  The example zone file near the end of this
   memo contains answering RRs for an SRV query.
   このメモの終わりの近くのゾーンファイルがSRVの質問に答える資源レ
   コードの例です。

   Note: LDAP is chosen as an example for illustrative purposes only,
   and the LDAP examples used in this document should not be considered
   a definitive statement on the recommended way for LDAP to use SRV
   records. As described in the earlier applicability section, consult
   the appropriate LDAP documents for the recommended procedures.
   ノート:LDAPは説明目的の例として選ばれ、この文書で使ったLDAP
   例はLDAPをSRVレコードで使う推薦された方法と思ってはなりません。
   前の適用性の章で記述されるように、推薦された手順は適切なLDAP文書
   を調べてください。

The format of the SRV RR
サービス資源レコードフォーマット

   Here is the format of the SRV RR, whose DNS type code is 33:
   DNSタイプコード33のサービス資源レコードフォーマットを示します:

        _Service._Proto.Name TTL Class SRV Priority Weight Port Target

        (There is an example near the end of this document.)
        (この文書の終わりの近くに例があります)

   Service
   サービス
        The symbolic name of the desired service, as defined in Assigned
        Numbers [STD 2] or locally.  An underscore (_) is prepended to
        the service identifier to avoid collisions with DNS labels that
        occur in nature.
        番号割り当て[STD 2]かローカルに定義された望ましいサービスのシン
        ボル名。自然に生じるDNSラベルとの衝突を避けるため、サービス
        識別子の前に下線(_)を付けます。

        Some widely used services, notably POP, don't have a single
        universal name.  If Assigned Numbers names the service
        indicated, that name is the only name which is legal for SRV
        lookups.  The Service is case insensitive.
        いくつかの広く使われたサービス、とくにPOPがひとつの普遍的な名
        前を持っていません。もし番号割当がサービスを示す名づけをしたら、
        その名前がSRV検索のための合法的な唯一の名前です。サービスは大
        文字小文字の違いを無視します。

   Proto
   プロトコル
        The symbolic name of the desired protocol, with an underscore
        (_) prepended to prevent collisions with DNS labels that occur
        in nature.  _TCP and _UDP are at present the most useful values
        for this field, though any name defined by Assigned Numbers or
        locally may be used (as for Service).  The Proto is case
        insensitive.
        望ましいプロトコルのシンボル名、自然に生じるDNSラベルとの衝突
        を避けるため、前に下線(_)を付けます。(サービスの対して)番号割
        り当てかローカルに定義された名前が使われるかしれないが、_TCPと
        _UDPがこのフィールドの最も有用な値です。プロトコルは大文字小文字
        の違いを無視します。

   Name
   名前
        The domain this RR refers to.  The SRV RR is unique in that the
        name one searches for is not this name; the example near the end
        shows this clearly.
        この資源レコードを参照するドメイン。サービス資源レコードは、捜す
        名前がこの名前ではないという点で、変っています;終わりの近くの例
        ははっきりとこれを示します。

   TTL
   生存時間
        Standard DNS meaning [RFC 1035].
        標準DNSの意味[RFC 1035]。

   Class
   クラス
        Standard DNS meaning [RFC 1035].   SRV records occur in the IN
        Class.
        標準DNSの意味[RFC 1035]。SRVレコードはINクラスで生じます。

   Priority
   優先順位
        The priority of this target host.  A client MUST attempt to
        contact the target host with the lowest-numbered priority it can
        reach; target hosts with the same priority SHOULD be tried in an
        order defined by the weight field.  The range is 0-65535.  This
        is a 16 bit unsigned integer in network byte order.
        このホストの優先順位。クライアントは到達可能な最も番号の小さい優
        先順位のホストと通信を試みます(MUST);同じ優先順位のホストはウェ
        イトフィールドで定義した順序で試みます(SHOULD)。範囲は0から65
        535です。これはネットワークバイト順序で16ビット符号なしの整
        数です。

   Weight
   ウェイト
        A server selection mechanism.  The weight field specifies a
        relative weight for entries with the same priority. Larger
        weights SHOULD be given a proportionately higher probability of
        being selected. The range of this number is 0-65535.  This is a
        16 bit unsigned integer in network byte order.  Domain
        administrators SHOULD use Weight 0 when there isn't any server
        selection to do, to make the RR easier to read for humans (less
        noisy).  In the presence of records containing weights greater
        than 0, records with weight 0 should have a very small chance of
        being selected.
        サーバ選択メカニズム。ウェイトフィールドは同じ優先順位の項目の相
        対的な優先度を指定します。ウェイトに比例する確率で、より大きい
        ウェイトが選択されるべきです(SHOULD)。この数の範囲は0から
        65535です。これはネットワークバイト順の16ビット符号なしの
        整数です。ドメイン管理者は、選択するサーバがない場合に、資源レコー
        ドが人間に読みやすいように、ウェイト0を使うべきです(SHOULD)。
        0より大きいウェイトを含むレコードがある場合、ウェイト0のレコー
        ドが選択される確率は非常に小さくあるべきです。

        In the absence of a protocol whose specification calls for the
        use of other weighting information, a client arranges the SRV
        RRs of the same Priority in the order in which target hosts,
        specified by the SRV RRs, will be contacted. The following
        algorithm SHOULD be used to order the SRV RRs of the same
        priority:
        他のウェイト情報を要求するプロトコル仕様なしで、クライアントがサー
        ビス資源レコードで指定によって同じ優先度のホストの接続順序を決め
        ます。次のアルゴリズムが同じ優先度のサービス資源レコードを順序付
        けるために使われるべきです(SHOULD):

        To select a target to be contacted next, arrange all SRV RRs
        (that have not been ordered yet) in any order, except that all
        those with weight 0 are placed at the beginning of the list.
        次に接続する相手を選択するために、全てのサービス資源レコード(ま
        ら並べられていない)を適当に並べます、但しウェイトが0のレコード
        だけはリストの始めにします。

        Compute the sum of the weights of those RRs, and with each RR
        associate the running sum in the selected order. Then choose a
        uniform random number between 0 and the sum computed
        (inclusive), and select the RR whose running sum value is the
        first in the selected order which is greater than or equal to
        the random number selected. The target host specified in the
        selected SRV RR is the next one to be contacted by the client.
        Remove this SRV RR from the set of the unordered SRV RRs and
        apply the described algorithm to the unordered SRV RRs to select
        the next target host.  Continue the ordering process until there
        are no unordered SRV RRs.  This process is repeated for each
        Priority.
        これらの資源レコードのウェイトの合計を計算し、各資源レコードを選
        択順序でそこまでの合計値と関連づけます。0から合計値の間の一様乱
        数を計算し、そこまでの合計値が乱数を超える最初の資源レコードを選
        択します。選択されたサービス資源レコードの指定したホストがクライ
        アントが次に連絡を取るホストです。このサービス資源レコードをリス
        トから取り除いて、次の標的ホストを選択するためにアルゴリズムを適
        用します。リストからサービス資源レコードがなくなるまで順序付けプ
        ロセスを続けてください。このプロセスは各優先度毎に繰り返されます。

   Port
   ポート
        The port on this target host of this service.  The range is 0-
        65535.  This is a 16 bit unsigned integer in network byte order.
        This is often as specified in Assigned Numbers but need not be.
        このホストのこのサービスのポート。範囲は0から65535です。こ
        れはネットワークバイト順序で16ビット符号なしの整数です。これは
        しばしば番号割り当てで指定されますが、必須ではありません。

   Target
   標的
        The domain name of the target host.  There MUST be one or more
        address records for this name, the name MUST NOT be an alias (in
        the sense of RFC 1034 or RFC 2181).  Implementors are urged, but
        not required, to return the address record(s) in the Additional
        Data section.  Unless and until permitted by future standards
        action, name compression is not to be used for this field.
        標的ホストのドメイン名。この名前の1つ以上のアドレスレコードがあ
        るに違いありません(MUST)、名前は(RFC1034やRFC2181の意味で)別名
        であってはなりません(MUSTNOT)。必須ではありませんが、実装が追加
        データ部にアドレスレコードを返す事が強く勧められます。将来の標準
        行動によって認められるまで、名前圧縮がこのフィールドで使われない
        はずです。

        A Target of "." means that the service is decidedly not
        available at this domain.
        標的の"."はこのドメインでサービスが明らかに利用可能ではないこと
        を意味します。

Domain administrator advice
ドメイン管理者アドバイス

   Expecting everyone to update their client applications when the first
   server publishes a SRV RR is futile (even if desirable).  Therefore
   SRV would have to coexist with address record lookups for existing
   protocols, and DNS administrators should try to provide address
   records to support old clients:
   最初のサーバーがサービス資源レコードを公にする時、皆がクライアントア
   プリケーションを更新することを期待することは、(たとえ望ましいとして
   も)徒労です。それ故にサービス資源レコードは既存のプロトコルのアドレ
   スレコード検索と共存しなければならなく、DNS管理者は古いクライアン
   トをサポートするためにアドレスレコードを供給しようとするべきです:

      - Where the services for a single domain are spread over several
        hosts, it seems advisable to have a list of address records at
        the same DNS node as the SRV RR, listing reasonable (if perhaps
        suboptimal) fallback hosts for Telnet, NNTP and other protocols
        likely to be used with this name.  Note that some programs only
        try the first address they get back from e.g. gethostbyname(),
        and we don't know how widespread this behavior is.
      - ひとつのドメインのためのサービスがいくつかのホストで実施されてい
        る時、サービス資源レコードと同じDNSノードにアドレスレコードの
        リストを持つことは賢明に思われます、TelnetやNNTPや他のプロトコル
        がこのドメインを使うときに、予備ホストをリストするのは(もし多分
        次善策ですが)合理的です。あるプログラムが、例えばgethostbyname()
        から得られたリストの最初のアドレスだけを使い、この行動がどれぐら
        い広範囲にわたるか知らないことを注意してください。

      - Where one service is provided by several hosts, one can either
        provide address records for all the hosts (in which case the
        round-robin mechanism, where available, will share the load
        equally) or just for one (presumably the fastest).
      - 1つのサービスをいくつかのホストが供給する時、すべてのホストのア
        ドレスレコードを提供する(この場合ラウンドロビンメカニズムが利用
        可能なら、等しく負荷分散をするでしょうか)か、1つ(多分最も速い
        ホスト)を供給します。

      - If a host is intended to provide a service only when the main
        server(s) is/are down, it probably shouldn't be listed in
        address records.
      - もしホストがメインサーバがダウンした時だけサー日するように意図さ
        れるなら、恐らくアドレスレコードでリストアップされるべきではあり
        ません。

      - Hosts that are referenced by backup address records must use the
        port number specified in Assigned Numbers for the service.
      - バックアップアドレスレコードによって参照されるホストはサービスの
        ために番号割当てで指定したポートを使わなくてはなりません。

      - Designers of future protocols for which "secondary servers" is
        not useful (or meaningful) may choose to not use SRV's support
        for secondary servers.  Clients for such protocols may use or
        ignore SRV RRs with Priority higher than the RR with the lowest
        Priority for a domain.
      - 「セカンダリサーバ」が有用でない(か意味がない)将来のプロトコル
        のデザイナーがセカンダリサーバのSRVのサポートを使わないことに
        決めてもよいです。このようなプロトコルのクライアントがドメインの
        最低の優先度の資源レコードより高い優先度のサービス資源レコードを
        使うか、あるいは無視するかもしれません。

   Currently there's a practical limit of 512 bytes for DNS replies.
   Until all resolvers can handle larger responses, domain
   administrators are strongly advised to keep their SRV replies below
   512 bytes.
   現在DNS回答は512バイトの利用限界があります。すべてのリゾルバが
   より大きい回答を処理することができるまで、ドメイン管理者がSRV回答
   を512バイト以下に保持するように強く助言します。

   All round numbers, wrote Dr. Johnson, are false, and these numbers
   are very round: A reply packet has a 30-byte overhead plus the name
   of the service ("_ldap._tcp.example.com" for instance); each SRV RR
   adds 20 bytes plus the name of the target host; each NS RR in the NS
   section is 15 bytes plus the name of the name server host; and
   finally each A RR in the additional data section is 20 bytes or so,
   and there are A's for each SRV and NS RR mentioned in the answer.
   This size estimate is extremely crude, but shouldn't underestimate
   the actual answer size by much.  If an answer may be close to the
   limit, using a DNS query tool (e.g. "dig") to look at the actual
   answer is a good idea.
   すべての概数は虚であるとジョンソン博士が書きますが、この数は概数です:
   答えパケットが30バイトのオーバーヘッド足すサービス名(例えば
   "_ldap._tcp.example.com")の長さです;各サービス資源レコード毎に20
   バイトと目標ホストの名の長さを加えます;各NS部のネームサーバ資源レ
   コードが15バイト足すネームサーバホスト名の長さです;そして最後の追
   加データ部の各A資源レコードが20バイトほどで、答えで参照したサービ
   スとネームサーバ資源レコードに対してアドレスがあります。この大きさ見
   積もりは非常に大まかです、しかし多くによって実際の回答大きさを過小評
   価するべきではありません。もし答えが限界に近いかもしれないなら、実際
   の答えを見るためにDNS問合せツール(例えば"dig")を使うのは良い考え
   です。

The "Weight" field
「ウェイト」フィールド

   Weight, the server selection field, is not quite satisfactory, but
   the actual load on typical servers changes much too quickly to be
   kept around in DNS caches.  It seems to the authors that offering
   administrators a way to say "this machine is three times as fast as
   that one" is the best that can practically be done.
   ウェイト、サーバ選択フィールド、は非常に満足できませんが、しかし典型
   的なサーバの実際の負荷は、DNSキャッシュで保持するにはあまりにも速
   く変化します。著者は管理者に「この機械があれと比べて3倍速いです」と
   言う方法を提供することが実際にできる最善策であると思います。

   The only way the authors can see of getting a "better" load figure is
   asking a separate server when the client selects a server and
   contacts it.  For short-lived services an extra step in the
   connection establishment seems too expensive, and for long-lived
   services, the load figure may well be thrown off a minute after the
   connection is established when someone else starts or finishes a
   heavy job.
   著者が「もっと良く」負荷状態を得る唯一の方法と見ているのは、クライア
   ントがサーバを選んで連絡する際に、他のサーバーにも尋ねる事です。短命
   サービスのために接続設定での余分な手順は高価と思われ、長命のサービス
   で負荷状態は接続を始めた少し後に他の誰かが重い仕事をはじめるか終える
   かすると変るでしょう。

   Note: There are currently various experiments at providing relative
   network proximity estimation, available bandwidth estimation, and
   similar services.  Use of the SRV record with such facilities, and in
   particular the interpretation of the Weight field when these
   facilities are used, is for further study.  Weight is only intended
   for static, not dynamic, server selection.  Using SRV weight for
   dynamic server selection would require assigning unreasonably short
   TTLs to the SRV RRs, which would limit the usefulness of the DNS
   caching mechanism, thus increasing overall network load and
   decreasing overall reliability.  Server selection via SRV is only
   intended to express static information such as "this server has a
   faster CPU than that one" or "this server has a much better network
   connection than that one".
   ノート:相対的なネットワークでの近さの見積もりや、利用可能なバンド幅
   の見積もりや、類似のサービスを用意するために、現在種々な実験がありま
   す。このような機能と共にサービス資源レコードを使う、特にこれらの機能
   が使われるときのウェイトフィールドの解釈は、研究中です。ウェイトはた
   だ、動的ではなく、静的にサーバー選択を意図するだけです。ダイナミック
   なサーバー選択のためにSRVウェイトを使うことはサービス資源レコード
   にとても短いTTLの割り当てが必要で、DNSキャッシュメカニズムの有
   用性を制限するであろうし、全体的なネットワーク負荷を増やし、全体的な
   信頼性を減少させるでしょう。SRVによるサーバ選択は「このサーバーが
   あれより速いCPUを持っている」あるいは「このサーバーがあれよりずっ
   と良いネットワーク接続を持っている」のような静的な情報を表現すること
   だけを意図します。

The Port number
ポート番号

   Currently, the translation from service name to port number happens
   at the client, often using a file such as /etc/services.
   現在、サービス名からポート番号への翻訳は、クライアントでしばしば
   /etc/servicesのようなファイルを使って行われています。

   Moving this information to the DNS makes it less necessary to update
   these files on every single computer of the net every time a new
   service is added, and makes it possible to move standard services out
   of the "root-only" port range on unix.
   この情報をDNSに動かすことで、新しいサービスを加える時に、ネット上
   のすべてのコンピュータ残らずにこれらのファイルを更新す必要性を減らし、
   UNIX上での標準サービスを「ルートのみ」ポートの範囲から動かすこと
   を可能にします。

Usage rules
使用法規則

   A SRV-cognizant client SHOULD use this procedure to locate a list of
   servers and connect to the preferred one:
   SRVの認識があるクライアントが、サーバリストの場所を突き止めて、望
   ましいサーバに接続するために、この手順を使うべきです(SHOULD):

        Do a lookup for QNAME=_service._protocol.target, QCLASS=IN,
        QTYPE=SRV.
        QNAME=_service._protocol.target, QCLASS=IN, QTYPE=SRVの検索をし
        てください。

        If the reply is NOERROR, ANCOUNT>0 and there is at least one
        SRV RR which specifies the requested Service and Protocol in
        the reply:
        もし答えがエラーなしで、答えの数が0より大きいく、答えに少なく
        とも1つの求められたサービスとプロトコルを指定するサービス資源
        レコードがあるなら:

            If there is precisely one SRV RR, and its Target is "."
            (the root domain), abort.
            もしサービス資源レコードが正確に1つでその標的が"."(ルー
            トドメイン)なら、中断してください。

            Else, for all such RR's, build a list of (Priority, Weight,
            Target) tuples
            そうでなければ、全ての資源レコードについて、(優先度、ウェ
            イト、標的)3項組みのリストを作ってください。

            Sort the list by priority (lowest number first)
            優先度でリストを並べ変えて分ください(低い番号が先)。

            Create a new empty list
            新しい空のリストを作ってください。

            For each distinct priority level
            各優先度毎に
                While there are still elements left at this priority
                level
                この優先度の要素が残っている限り

                    Select an element as specified above, in the
                    description of Weight in "The format of the SRV
                    RR" Section, and move it to the tail of the new
                    list
                    上記「サービス資源レコードフォーマット」章のウェイト
                    の記述で指定されるように要素を選択し、新しいリストの
                    後部にそれを動かしてください。

            For each element in the new list
            新しいリストの各要素毎に

                query the DNS for address records for the Target or
                use any such records found in the Additional Data
                section of the earlier SRV response.
                標的のアドレスレコードをDNS参照するか、以前のSRV回
                答の追加データ部にあるこのようなレコードを使ってください。

                for each address record found, try to connect to the
               (protocol, address, service).
               各見つかったアドレスレコードで、(プロトコル、アドレス、
               サービス)に接続しようとしてください。

        else
        そうでなければ

            Do a lookup for QNAME=target, QCLASS=IN, QTYPE=A
            QNAME=target, QCLASS=IN, QTYPE=Aを検索します。

            for each address record found, try to connect to the
           (protocol, address, service)
            各見つかったアドレスレコードで、(プロトコル、アドレス、
            サービス)に接続しようとしてください。

Notes:
ノート:

   - Port numbers SHOULD NOT be used in place of the symbolic service
     or protocol names (for the same reason why variant names cannot
     be allowed: Applications would have to do two or more lookups).
   - シンボリックサービスやプロトコル名の代わりにポート番号を使うべきで
     ありません(SHOULD NOT)(同じ理由でいくつもの名前が許されません:ア
     プリケーションが2回以上の検索を必要になるため)。

   - If a truncated response comes back from an SRV query, the rules
     described in [RFC 2181] shall apply.
   - もしSRVの質問に切り詰め回答返ってきたら、[RFC 2181]で記述された
     規則が適用されるべきです。

   - A client MUST parse all of the RR's in the reply.
   - クライアントが答えの全資源レコードを解析しなくてはなりません(MUST)。

   - If the Additional Data section doesn't contain address records
     for all the SRV RR's and the client may want to connect to the
     target host(s) involved, the client MUST look up the address
     record(s).  (This happens quite often when the address record
     has shorter TTL than the SRV or NS RR's.)
   - もし追加データ部に全サービス資源レコードのアドレスレコードがなく、
     クライアントが標的ホストに接続を望むなら、クライアントはアドレスレ
     コードを検索しなければなりません(MUST)(これは、アドレスレコードが
     サービスやネームサーバ資源レコードより短いTTLの時に、非常にしば
     しば起きます。)。

   - Future protocols could be designed to use SRV RR lookups as the
     means by which clients locate their servers.
   - 将来のプロトコルがサービス資源レコード検索をクライアントがサーバー
     の場所を突き止める手段として用いるよう意図できます。

Fictional example
架空の例

   This example uses fictional service "foobar" as an aid in
   understanding SRV records. If ever service "foobar" is implemented,
   it is not intended that it will necessarily use SRV records.  This is
   (part of) the zone file for example.com, a still-unused domain:
   この例はサービス資源レコードを理解する手助けとして架空のサービス
   "foobar"を使います。サービス"foobar"が実装される時、必ずサービス資源
   レコードを使うとは意図されません。これは、使われていないexample.com
   ドメインのゾーンファイル(の一部)です:

      $ORIGIN example.com.
      @               SOA server.example.com. root.example.com. (
                          1995032001 3600 3600 604800 86400 )
                      NS  server.example.com.
                      NS  ns1.ip-provider.net.
                      NS  ns2.ip-provider.net.
      ; foobar - use old-slow-box or new-fast-box if either is
      ; available, make three quarters of the logins go to
      ; new-fast-box.
      ; foobar - old-slow-boxかnew-fast-boxのどちらか利用可能な
      ; 方を使い、4分の3がnew-fast-boxでログインします。

      _foobar._tcp    SRV 0 1 9 old-slow-box.example.com.
                       SRV 0 3 9 new-fast-box.example.com.
      ; if neither old-slow-box or new-fast-box is up, switch to
      ; using the sysdmin's box and the server
      ; old-slow-boxもnew-fast-boxも使えないなら、sysdmin's box
      ; とserverに切り替えます。
                       SRV 1 0 9 sysadmins-box.example.com.
                       SRV 1 0 9 server.example.com.
      server           A   172.30.79.10
      old-slow-box     A   172.30.79.11
      sysadmins-box    A   172.30.79.12
      new-fast-box     A   172.30.79.13
      ; NO other services are supported
      ; 他のサービスはサポートしない
      *._tcp          SRV  0 0 0 .
      *._udp          SRV  0 0 0 .

   In this example, a client of the "foobar" service in the
   "example.com." domain needs an SRV lookup of
   "_foobar._tcp.example.com." and possibly A lookups of "new-fast-
   box.example.com." and/or the other hosts named.  The size of the SRV
   reply is approximately 365 bytes:
   この例で、"example.com."ドメインの"foobar"サービスクライアントが
   "_foobar._tcp.example.com."のSRV検索が必要で、多分
   "new-fast- box.example.com."や他のホストのA検索も必要です。SRV回
   答の大きさはおよそ365バイトです:

      30 bytes general overhead
      一般的オーバーヘッドに30バイト
      20 bytes for the query string, "_foobar._tcp.example.com."
      質問文字列"_foobar._tcp.example.com."に20バイト
      130 bytes for 4 SRV RR's, 20 bytes each plus the lengths of "new-
        fast-box", "old-slow-box", "server" and "sysadmins-box" -
        "example.com" in the query section is quoted here and doesn't
        need to be counted again.
      4つのSRV資源レコードに130バイト、各20バイト足す
        "new-fast-box"と"old-slow-box"と"server"と"sysadmins-box"の長さ、
        質問部の"example.com"を引用するので、これは再度数える必要があり
        ません。
      75 bytes for 3 NS RRs, 15 bytes each plus the lengths of "server",
        "ns1.ip-provider.net." and "ns2" - again, "ip-provider.net." is
        quoted and only needs to be counted once.
      3つのNS資源レコードに75バイト、各15バイト足す"server"と
        "ns1.ip-provider.net."と"ns2"の長さ、"ip-provider.net."は引用さ
        れるので再度数える必要がありません。
      120 bytes for the 6 address records (assuming IPv4 only) mentioned
        by the SRV and NS RR's.
      SRVとNS資源レコードの参照した6つのアドレスレコードに120バ
        イト(IPv4だけと仮定)

IANA Considerations
IANAの考慮

   The IANA has assigned RR type value 33 to the SRV RR.  No other IANA
   services are required by this document.
   IANAは資源レコードタイプ値33をサービス資源レコードに割り当てま
   した。他のどのようなIANAサービスもこの文書に必要とされません。

Changes from RFC 2052
RFC2052からの変更

   This document obsoletes RFC 2052.   The major change from that
   previous, experimental, version of this specification is that now the
   protocol and service labels are prepended with an underscore, to
   lower the probability of an accidental clash with a similar name used
   for unrelated purposes.  Aside from that, changes are only intended
   to increase the clarity and completeness of the document. This
   document especially clarifies the use of the Weight field of the SRV
   records.
   この文書はRFC2052を時代遅れにします。この仕様書の前の、実験的な、バー
   ジョンからの主な変更は、無関係な目的で使われた類似の名前の偶然の衝突
   の可能性を下げるために、プロトコルとサービスのラベルの前に下線を付け
   たことです。これ以外の変更はただ文書の明快さと完全性を増やすことだけ
   を意図します。この文書は特にサービス資源レコードのウェイトフィールド
   の使い方を明確にします。

Security Considerations
セキュリティの考慮

   The authors believe this RR to not cause any new security problems.
   Some problems become more visible, though.
   著者はこの資源レコードが新しいセキュリティ問題を起こさないと信じます。
   しかし、ある問題が明らかです。

   - The ability to specify ports on a fine-grained basis obviously
     changes how a router can filter packets.  It becomes impossible
     to block internal clients from accessing specific external
     services, slightly harder to block internal users from running
     unauthorized services, and more important for the router
     operations and DNS operations personnel to cooperate.
   - きめが細かくポートを指定する能力は明らかにルーターがパケットをフィ
     ルターする方法を変えます。内部のクライアントが特定の外部のサービス
     にアクセスするのを妨げることは不可能になり、内部ユーザが無許可のサー
     ビスを運営するのをとめるのがわずかに難しく、そしてルータ保守者とD
     NS保守者が協力するのがいっそう重要です。

   - There is no way a site can keep its hosts from being referenced
     as servers.  This could lead to denial of service.
   - サイトが内部ホストをサーバーとして参照されることを阻止する方法があ
     りません。これはサービス否定攻撃を導けます。

   - With SRV, DNS spoofers can supply false port numbers, as well as
     host names and addresses.   Because this vulnerability exists
     already, with names and addresses, this is not a new
     vulnerability, merely a slightly extended one, with little
     practical effect.
   - SRVを使うとDNSペテン師が、ホスト名とアドレスと同様に、偽のポー
     ト番号を供給できます。名前とアドレスでこの弱点がすでに存在するから、
     これは実用的な効果ほとんどなく、わずかに拡張されただけで、新しい弱
     点ではありません。

References
参考文献

   STD 2:    Reynolds, J., and J. Postel, "Assigned Numbers", STD 2, RFC
             1700, October 1994.

   RFC 1034: Mockapetris, P., "Domain names - concepts and facilities",
             STD 13, RFC 1034, November 1987.

   RFC 1035: Mockapetris, P., "Domain names - Implementation and
             Specification", STD 13, RFC 1035, November 1987.

   RFC 974:  Partridge, C., "Mail routing and the domain system", STD
             14, RFC 974, January 1986.

   BCP 14:   Bradner, S., "Key words for use in RFCs to Indicate
             Requirement Levels", BCP 14, RFC 2119, March 1997.

   RFC 2181: Elz, R. and R. Bush, "Clarifications to the DNS
             Specification", RFC 2181, July 1997.

   RFC 2219: Hamilton, M. and R. Wright, "Use of DNS Aliases for Network
             Services", BCP 17, RFC 2219, October 1997.

   BCP 14:   Bradner, S., "Key words for use in RFCs to Indicate
             Requirement Levels", BCP 14, RFC 2119, March 1997.

   ARM:      Armijo, M., Esibov, L. and P. Leach, "Discovering LDAP
             Services with DNS", Work in Progress.

   KDC-DNS:  Hornstein, K. and J. Altman, "Distributing Kerberos KDC and
             Realm Information with DNS", Work in Progress.

Acknowledgements
謝辞

   The algorithm used to select from the weighted SRV RRs of equal
   priority is adapted from one supplied by Dan Bernstein.
   同じ優先度の重み付きサービス資源レコード選択に使われたアルゴリズムは
   Dan Bernsteinによって供給されたものの改造です。

Authors' Addresses
著者のアドレス

   Arnt Gulbrandsen
   Troll Tech
   Waldemar Thranes gate 98B
   N-0175 Oslo, Norway

   Fax:   +47 22806380
   Phone: +47 22806390
   EMail: arnt@troll.no


   Paul Vixie
   Internet Software Consortium
   950 Charter Street
   Redwood City, CA 94063

   Phone: +1 650 779 7001


   Levon Esibov
   Microsoft Corporation
   One Microsoft Way
   Redmond, WA 98052

   EMail: levone@microsoft.com


Full Copyright Statement
著作権表示全文

   Copyright (C) The Internet Society (2000).  All Rights Reserved.
   著作権(C)インターネット学会(2000)。すべての権利は保留される。

   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.
   上記著作権表示とこの段落が全ての複写や派生的な仕事につけられていれば、
   この文書と翻訳は複写や他者への提供ができ、そしてコメントや説明や実装
   を支援する派生的な仕事のためにこの文書の全部か一部を制約なく複写や出
   版や配布できます。しかし、この文書自身は、英語以外の言葉への翻訳やイ
   ンターネット標準を開発する目的で必要な場合以外は、インターネット学会
   や他のインターネット組織は著作権表示や参照を削除されるような変更がで
   きません、インターネット標準を開発する場合はインターネット標準化プロ
   セスで定義された著作権の手順に従われます。

   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エディタ機能のための資金供給が現在インターネット学会によって
   供給されます。

Japanese translation by Ishida So