Internet Engineering Task Force (IETF) S. Venaas Request for Comments: 6450 Cisco Systems Category: Standards Track December 2011 ISSN: 2070-1721
Multicast Ping Protocol
Abstract
抽象
The Multicast Ping Protocol specified in this document allows for checking whether an endpoint can receive multicast -- both Source-Specific Multicast (SSM) and Any-Source Multicast (ASM). It can also be used to obtain additional multicast-related information, such as multicast tree setup time. This protocol is based on an implementation of tools called "ssmping" and "asmping".
両方のソース固有マルチキャスト(SSM)とどれ-ソースマルチキャスト(ASM)を - この文書で指定されたマルチキャストpingのプロトコルは、エンドポイントがマルチキャストを受信できるかどうかをチェックすることができます。また、そのようなマルチキャストツリーのセットアップ時間などの追加マルチキャスト関連の情報を、取得するために使用することができます。このプロトコルは、「ssmping」と「asmping」と呼ばれるツールの実装に基づいています。
Status of This Memo
このメモのステータス
This is an Internet Standards Track document.
これは、インターネット標準化過程文書です。
This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 5741.
このドキュメントはインターネットエンジニアリングタスクフォース(IETF)の製品です。これは、IETFコミュニティの総意を表しています。これは、公開レビューを受けており、インターネットエンジニアリング運営グループ(IESG)によって公表のために承認されています。インターネット標準の詳細については、RFC 5741のセクション2で利用可能です。
Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc6450.
このドキュメントの現在の状態、任意の正誤表、そしてどのようにフィードバックを提供するための情報がhttp://www.rfc-editor.org/info/rfc6450で取得することができます。
Copyright Notice
著作権表示
Copyright (c) 2011 IETF Trust and the persons identified as the document authors. All rights reserved.
著作権(C)2011 IETF信託とドキュメントの作成者として特定の人物。全著作権所有。
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
この文書では、BCP 78と、この文書の発行日に有効なIETFドキュメント(http://trustee.ietf.org/license-info)に関連IETFトラストの法律の規定に従うものとします。彼らは、この文書に関してあなたの権利と制限を説明するように、慎重にこれらの文書を確認してください。コードコンポーネントは、トラスト法規定のセクションで説明4.eおよび簡体BSDライセンスで説明したように、保証なしで提供されているよう簡体BSDライセンスのテキストを含める必要があり、この文書から抽出されました。
Table of Contents
目次
1. Introduction ....................................................2 1.1. Requirements Language ......................................2 2. Architecture ....................................................3 3. Protocol Specification ..........................................6 3.1. Option Format ..............................................7 3.2. Defined Options ............................................7 3.3. Packet Format .............................................13 3.4. Message Types and Options .................................13 3.5. Rate Limiting .............................................15 3.5.1. Message Rate Variables .............................16 4. Client Behaviour ...............................................16 5. Server Behaviour ...............................................18 6. Recommendations for Implementers ...............................19 7. IANA Considerations ............................................20 8. Security Considerations ........................................21 9. Acknowledgments ................................................22 10. References ....................................................23 10.1. Normative References .....................................23 10.2. Informative References ...................................23
The Multicast Ping Protocol specified in this document allows for checking multicast connectivity. In addition to checking reception of multicast (SSM or ASM), the protocol can provide related information, such as multicast tree setup time, the number of hops the packets have traveled, and packet delay and loss. This functionality resembles, in part, the ICMP Echo Request/Reply mechanism [RFC0792], but uses UDP [RFC0768] and requires that both a client and a server implement this protocol. Intermediate routers are not required to support this protocol. They forward protocol messages and data traffic as usual.
この文書で指定されたマルチキャストpingのプロトコルは、マルチキャストの接続性をチェックすることができます。そのようなマルチキャストツリーセットアップ時間として、マルチキャスト(SSMまたはASM)の受信を確認することに加えて、プロトコルは、関連情報を提供することができる、ホップ数は、パケットが移動し、パケット遅延及び損失しています。この機能は、似ている部分では、ICMPエコー要求は、/ [RFC0792]メカニズムを返信するが、UDP [RFC0768]を使用して、クライアントとサーバーの両方が、このプロトコルを実装する必要があります。中間ルータは、このプロトコルをサポートする必要はありません。彼らはいつものようにプロトコルメッセージおよびデータトラフィックを転送します。
This protocol is based on the current implementation of the ssmping and asmping tools [IMPL], which are widely used by the Internet community to conduct multicast connectivity tests.
このプロトコルは広く、マルチキャスト接続テストを行うためにインターネットコミュニティによって使用されているssmpingとasmpingツール[IMPL]の現在の実装に基づいています。
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119].
この文書のキーワード "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", および "OPTIONAL" はRFC 2119 [RFC2119]に記載されているように解釈されます。
Before describing the protocol in detail, we provide a brief overview of how the protocol may be used and what information it may provide.
詳細にプロトコルを説明する前に、我々はそれが提供する簡単なプロトコルを使用することができる方法の概要と、どのような情報を提供します。
The protocol is used between clients and servers to check multicast connectivity. Servers are multicast sources, and clients are multicast receivers. A server may be configured with a set of ranges of multicast addresses that can be used for testing, or it may use some implementation defaults. Depending on the server configuration or the implementation, it may control which clients (which unicast addresses) are allowed to use different group ranges, and also whether clients can select a group address, or if the group address is selected by the server. Whether several clients are allowed to simultaneously use the same multicast address also depends on configuration and/or implementation.
プロトコルは、マルチキャストの接続性を確認するために、クライアントとサーバー間で使用されています。サーバーは、マルチキャスト送信元であり、クライアントがマルチキャストレシーバーです。サーバは、テストのために使用することができるマルチキャストアドレスの範囲のセットで構成することができる、またはそれは、いくつかの実装のデフォルトを使用することができます。サーバ構成または実装に応じて、異なるグループの範囲を使用することを許可され、また、クライアントは、グループアドレスを選択できるかどうか、又はグループアドレスがサーバによって選択された場合どのクライアント(これはユニキャストアドレス)を制御してもよいです。複数のクライアントが同時に同じマルチキャストアドレスを使用することを許可されているかどうかを、構成および/または実装に依存します。
In addition to the above state, a server normally has runtime soft state. The server must generally perform rate limiting to restrict the number of client requests it handles. This rate limiting is per-client IP address. This state need usually only be maintained for a few seconds, depending on the limit used. If the server provides unique multicast addresses to clients, it must also have soft state for tracking which multicast addresses are used by which client IP address. This state should expire if the server has not received requests within a few minutes. The exact timeout should ideally be configurable to cope with different environments. If a client is expected to perform multicast ping checks continuously for a long period of time, and to cope with requests not reaching the client for several minutes, then this timeout needs to be extended. In order to verify the client IP address, the server should perform a return routability check by giving the client a non-predictable session ID. This would then also be part of the server soft state for that client.
上記の状態に加えて、サーバは通常、ランタイムソフトの状態を持っています。サーバは、一般的に、それが処理するクライアント要求の数を制限するレート制限を実行する必要があります。このレート制限は、クライアントごとのIPアドレスです。この状態は、通常は使用制限に応じて、数秒間維持される必要があります。サーバはクライアントに固有のマルチキャストアドレスを提供する場合、それはまた、マルチキャストアドレスがどのクライアントのIPアドレスで使用されている追跡のためのソフトの状態を持っている必要があります。サーバは数分でリクエストを受信していない場合、この状態が期限切れになるはずです。正確なタイムアウトは、理想的に異なる環境にも対応するように設定する必要があります。クライアントが長時間連続マルチキャストのpingチェックを実行するために、数分間、クライアントに到達していない要求に対処することが期待されている場合は、このタイムアウトを延長する必要があります。クライアントのIPアドレスを確認するために、サーバーはクライアントに非予測可能なセッションIDを与えることによって、リターン・ルータビリティチェックを実行する必要があります。そして、これはまた、そのクライアントのためのサーバーソフトの状態の一部となります。
Before it can perform a multicast ping test, a client must know the unicast address of a server. In addition, it may be configured with a multicast address or range to use. In that case, the client will tell the server which group or range it wishes to use. If not, the server is left to decide the group. Normally, a client sends Default-Client-Request-Rate requests per second. It may, however, be configured to use another rate. See the definition of Default-Client-Request-Rate in Section 3.5.1. Note that the value can be less than 1.
それはマルチキャストpingテストを実行する前に、クライアントは、サーバのユニキャストアドレスを知っている必要があります。また、使用するマルチキャスト・アドレスまたは範囲で設定することができます。その場合、クライアントはそれを使用したいグループまたはレンジサーバーを教えてくれます。そうでない場合、サーバは、グループを決定するために残されています。通常、クライアントは毎秒デフォルトのクライアント・リクエスト・レート要求を送信します。しかし、別のレートを使用するように構成することができます。セクション3.5.1でデフォルトのクライアント・リクエスト・レートの定義を参照してください。値が1未満とすることができることに留意されたいです。
At runtime, a client generates a client ID that is unique for the ping test. This ID is included in all messages sent by the client. Further, if not supplied with a specific group address, the client will receive from the server a group address that is used for the ping requests. It may also receive a Session ID from the server. The client ID, group address, and Session ID (if received) will then be fixed for all ping requests in this session. When a client receives replies from a server, it will verify the client ID in the reply, and ignore it if not matching what it used in the requests. For each reply, it may print or record information like round trip time, number of hops, etc. The client may, once a ping session is ended, calculate and print or record statistics based on the entire ping session.
実行時に、クライアントは、pingテストのためのユニークなクライアントIDを生成します。このIDは、クライアントによって送信されたすべてのメッセージに含まれています。特定のグループアドレスが供給されていない場合はさらに、クライアントは、サーバからping要求のために使用されているグループアドレスを受信します。また、サーバーからセッションIDを受信することもできます。クライアントID、グループアドレス、およびセッションID(受信場合)は、このセッションのすべてのping要求のために固定されます。クライアントがサーバからの応答を受信すると、応答で、クライアントのIDを検証し、それが要求で使用したもの一致しない場合は、それを無視します。各応答のために、それは印刷したりなど、ラウンドトリップ時間などの情報、ホップ数、クライアントは、一度pingセッションが終了したことを記録し、計算し、全体のpingセッションに基づいて、印刷または記録の統計があります。
The typical protocol usage is as follows:
次のように一般的なプロトコルの使用です。
A server runs continuously to serve requests from clients. A client has somehow learned the unicast address of the server and tests the multicast reception from the server.
サーバは、クライアントからの要求にサービスを提供するために継続的に実行されます。クライアントは、何らかの形で、サーバのユニキャストアドレスを学んだし、サーバからマルチキャスト受信をテストしました。
The client application will then send a unicast message to the server, asking for a group to use. Optionally, a user may request a specific group or scope, in which case the client will ask for a group matching the user's request. The server will respond with a group to use, or an error if no group is available.
クライアントアプリケーションは、使用するグループを求めて、サーバにユニキャストメッセージを送信します。必要に応じて、利用者は、クライアントがユーザの要求に合致するグループを尋ねてきます。その場合には、特定のグループまたは範囲を、要求することができます。何のグループが利用できない場合、サーバーは、使用するグループ、またはエラーで応答します。
Next, for ASM, the client joins an ASM group G, while for SSM it joins a channel (S,G), where G is the multicast group address specified by the server, and S is the unicast address used to reach the server.
SSMのために、それはGがサーバによって指定されたマルチキャストグループアドレスであるチャネル(S、G)は、参加、及びSは、サーバに到達するために使用されるユニキャストアドレスである次、ASMのために、クライアントは、ASMグループGに加入します。
After joining the group/channel, the client unicasts multicast ping requests to the server. The requests are sent using UDP with the destination port set to the standardised multicast ping port (9903). The requests are sent periodically to the server. The rate is by default Default-Client-Request-Rate (Section 3.5.1) requests per second, but the client may be configured to use another rate. These requests contain a sequence number and, typically, a timestamp. The requests are echoed by the server, which may add a few options.
グループ/チャンネルに参加した後、クライアントがサーバーへのマルチキャストping要求をユニキャストします。要求は、標準化されたマルチキャストピング・ポート(9903)に設定された宛先ポートにUDPを使用して送信されます。要求がサーバーに定期的に送信されます。レートはデフォルトのデフォルトのクライアント・リクエスト・レート(3.5.1項)秒あたりの要求であるが、クライアントは、別のレートを使用するように構成することができます。これらの要求は、通常、タイムスタンプをシーケンス番号が含まれています。要求は、いくつかのオプションを追加することができ、サーバによってエコーされます。
For each request, the server sends two replies. One reply is unicast to the source IP address and source UDP port of the requesting client. The other reply is multicast to the requested multicast group G and the source UDP port of the requesting client.
各要求に対して、サーバーは、2つの応答を送信します。一つの回答は要求しているクライアントの送信元IPアドレスと送信元UDPポートへのユニキャストです。他の回答には、要求されたマルチキャストグループGと要求しているクライアントの送信元UDPポートにマルチキャストです。
Both replies are sent from the same port on which the request was received. The server should specify the TTL (IPv4 time-to-live or IPv6 hop-count) used for both the unicast and multicast messages (TTL of at least 64 is recommended) by including a TTL option. This allows the client to compute the number of hops. The client should leave the group/channel when it has finished its measurements.
両方の応答は要求を受信したポートと同じポートから送信されます。サーバは、TTLのオプションを含めることによってTTLを(IPv4のタイム・ツー・ライブまたはIPv6ホップ数)ユニキャストおよびマルチキャストメッセージの両方のために使用される(少なくとも64のTTLが推奨される)を指定しなければなりません。これは、クライアントがホップ数を計算することができます。それはその測定を終了したとき、クライアントは、グループ/チャンネルを残す必要があります。
By use of this protocol, a client (or a user of the client) can obtain information about several multicast delivery characteristics. First, by receiving unicast replies, the client can verify that the server is receiving the unicast requests, and is operational and responding. Hence, provided that the client receives unicast replies, a failure to receive multicast indicates either a multicast problem or a multicast administrative restriction. If it does receive multicast, it knows not only that it can receive multicast traffic but that it may also estimate the amount of time it took to establish the multicast tree (at least if it is in the range of seconds), whether there are packet drops, and the length and variation of round trip times (RTTs).
このプロトコルを使用することによって、クライアント(またはクライアントのユーザ)は、いくつかのマルチキャスト配信特性に関する情報を得ることができます。まず、ユニキャスト応答を受信することにより、クライアントは、サーバがユニキャスト要求を受信し、動作していると応答していることを確認することができます。したがって、クライアントは、ユニキャスト応答を受信し、マルチキャストを受信する障害がマルチキャスト問題またはマルチキャスト管理制限のいずれかを示すことを条件とします。それはマルチキャストを受信した場合、それは、マルチキャストトラフィックを受信できることが、それはまた、パケットがあるかどうか、(それは秒の範囲内にある少なくともあれば)、それはマルチキャストツリーを確立するのにかかった時間の量を推定してもよいということだけではなく、知っています低下、およびラウンドトリップ時間(RTTの)の長さとバリエーション。
For unicast, the RTT is the time from when the unicast request is sent to the time when the reply is received. The measured multicast RTT also references the client's unicast request. By specifying the TTL of the replies when they are originated, the client can also determine the number of router hops it is from the source. Since similar information is obtained in the unicast replies, the host may compare its multicast and unicast results and is able to check for differences, such as the number of hops, and RTT.
ユニキャストのために、RTTは、ユニキャスト要求が応答を受信した時刻に送信されてからの時間です。測定されたマルチキャストRTTは、クライアントのユニキャスト要求を参照します。彼らが発信された応答のTTLを指定することで、クライアントはまた、元からあるホップルータの数を決定することができます。同様の情報は、ユニキャスト応答で得られるので、ホストは、マルチキャストおよびユニキャストの結果を比較し、そのようなホップの数、及びRTTなどの差を確認することが可能であることができます。
The number of multicast hops and changes in the number of hops over time may reveal details about the multicast tree and multicast tree changes. Provided that the server sends the unicast and multicast replies nearly simultaneously, the client may also be able to measure the difference in one-way delay for unicast and multicast on the path from server to client.
マルチキャストホップと時間をかけてホップ数の変化の数は、マルチキャストツリーとマルチキャストツリーの変更に関する詳細を明らかにすることができます。サーバは、ユニキャスト送信およびマルチキャストがほぼ同時に応答することを条件とする、クライアントは、サーバからクライアントへのパス上のユニキャストおよびマルチキャストのための一方向遅延の差を測定することができるかもしれません。
Servers may optionally specify a timestamp. This may be useful, since the unicast and multicast replies cannot be sent simultaneously (the delay is dependent on the host's operating system and load).
サーバは、必要に応じてタイムスタンプを指定することもできます。ユニキャストおよびマルチキャスト応答を(遅延は、ホストのオペレーティングシステムと負荷に依存して)同時に送信することができないので、これは有用であり得ます。
There are four different message types:
4つの異なるメッセージタイプがあります。
o Echo Request and Echo Reply messages, which are used for the actual measurements.
Oエコー要求と実際の測定に使用されるエコー応答メッセージ、。
o An Init message, which SHOULD be used to initialise a ping session and negotiate which group to use.
pingセッションを初期化し、使用するグループネゴシエートするために使用されるべき初期化メッセージ、O。
o A Server Response message, which is mainly used in response to the Init message.
主に初期化メッセージに応答して使用されるサーバ応答メッセージ、O。
The messages MUST always be in network byte order. UDP checksums MUST always be used.
メッセージは常にネットワークバイトオーダーでなければなりません。 UDPチェックサムを常に使用しなければなりません。
The messages share a common format: one octet specifying the message type, followed by a number of options in TLV (Type, Length, and Value) format. This makes the protocol easily extendible.
TLV(タイプ、長さ、値)フォーマットでの多数のオプションが続くメッセージタイプを指定する1つのオクテット:メッセージは、共通のフォーマットを共有します。これは、プロトコルが簡単に拡張できます。
Message types in the range 0-253 are reserved and available for allocation in an IANA registry. Message types 254 and 255 are freely available for experimental use. See Section 7.
範囲0から253のメッセージタイプは、IANAレジストリに予約され、割当てのために利用可能です。メッセージタイプ254と255は、実験的な使用のために自由に利用できます。セクション7を参照してください。
The Init message generally contains some prefix options asking the server for a group from one of the specified prefixes. The server responds with a Server Response message that contains the group address to use, or possibly prefix options describing what multicast groups the server may be able to provide.
開始メッセージは、一般に特定のプレフィックスのいずれかからのグループのためにサーバーを求めていくつかの接頭辞オプションが含まれています。サーバは、マルチキャストグループが、サーバーが提供することができるかもしれないものを記述したグループの使用するアドレス、または可能性接頭辞のオプションが含まれているサーバーの応答メッセージで応答します。
For an Echo Request, the client includes a number of options, and a server MAY simply echo the contents (only changing the message type) without inspecting the options if it does not support any options. This might be true for a simple Multicast Ping Protocol server, but it severely limits what information a client can obtain and hence makes the protocol less useful. However, the server SHOULD add a TTL option (allowing the client to determine the number of router hops a reply has traversed), and there are other options that a server implementation MAY support; e.g., the client may ask for certain information or a specific behaviour from the server. The Echo Reply messages (one unicast and one multicast) MUST first contain the exact options from the request (in the same order), and then, immediately following, any options appended by the server. A server MUST NOT process unknown options, but they MUST still be included in the Echo Reply. A client MUST ignore any unknown options.
エコー要求の場合、クライアントは多くのオプションが含まれており、それがどのオプションをサポートしていない場合、サーバーは、単純にオプションを検査せずに(のみメッセージタイプを変更)の内容をエコーするかもしれません。これは、単純なマルチキャストのPingプロトコル・サーバー用の真のかもしれませんが、それ故に厳しくクライアントを入手することができますどのような情報の制限とは、プロトコルがあまり便利になります。ただし、サーバは(応答が横断したホップルータの数を決定するために、クライアントを許可する)TTLオプションを追加する必要があり、サーバの実装がサポートするかもしれない他のオプションがあります。例えば、クライアントは、特定の情報や、サーバから特定の行動を求めることができます。エコー応答メッセージ(一方のユニキャストとマルチキャスト1)は、第一(同じ順序で)リクエストからの正確なオプションを含まなければなりません、そして、直後、任意のオプションは、サーバーによって付加します。サーバーは、未知のオプションを処理してはならない、彼らはまだエコー応答に含まれなければなりません。クライアントは、任意の未知のオプションを無視しなければなりません。
The size of the protocol messages is generally smaller than the Path MTU, and fragmentation is not a concern. There may, however, be cases where the Path MTU is really small, or where a client sends large requests in order to verify that it can receive fragmented multicast datagrams. This document does not specify whether Path MTU Discovery should be performed, etc. A possible extension could be an option where a client requests Path MTU Discovery and receives the current Path MTU from the server.
プロトコルメッセージのサイズがパスMTUよりも一般的に小さく、断片化は問題ではありません。しかし、パスはMTUが本当に小さい、またはクライアントが、それは断片化されたマルチキャストデータグラムを受信できるかどうかを確認するために、大規模な要求を送信場所の場合があるかもしれません。この文書では、可能な拡張機能は、クライアントがパスMTUディスカバリを要求し、サーバから現在のパスMTUを受け取るオプションかもしれないなど、パスMTUディスカバリを実行するかどうかを指定しません。
This document defines a number of different options. Some options do not require processing by servers and are simply returned unmodified in the reply. There are, however, other client options that the server may care about, as well as server options that may be requested by a client. Unless otherwise specified, an option MUST NOT be used multiple times in the same message.
この文書では、さまざまなオプションの数を定義します。一部のオプションは、サーバでの処理を必要とせず、単に応答でそのまま返されます。他のサーバは気にもクライアントオプションだけでなく、クライアントによって要求されるサーバ・オプションは、しかし、があります。特に指定しない限り、オプションが同じメッセージで複数回使用してはいけません。
All options are TLVs formatted as below.
すべてのオプションは以下のようにフォーマットのTLVです。
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Value | | . | | . | | . | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type (2 octets) specifies the option.
タイプ(2つのオクテット)オプションを指定します。
Length (2 octets) specifies the length of the value field. Depending on the option type, it can be from 0 to 65535.
長さ(2オクテット)は、値フィールドの長さを指定します。オプションの種類によっては、0から65535にすることができます。
Value must always be of the specified length. See the respective option definitions for possible values. If the length is 0, the value field is not included.
値は常に指定された長さでなければなりません。可能な値については、各オプションの定義を参照してください。長さが0の場合、値フィールドが含まれていません。
This document defines the following options: Version (0), Client ID (1), Sequence Number (2), Client Timestamp (3), Multicast Group (4), Option Request (5), Server Information (6), TTL (9), Multicast Prefix (10), Session ID (11), and Server Timestamp (12). Option values 7 and 8 are deprecated and must not be allocated by any future document. The options are defined below.
この文書は、以下のオプションを定義:バージョン(0)、クライアントID(1)、シーケンス番号(2)、クライアントのタイムスタンプ(3)、マルチキャストグループ(4)、オプション要求(5)、サーバ情報(6)、TTL( 9)、マルチキャストプレフィックス(10)、セッションID(11)、およびサーバタイムスタンプ(12)。オプション値7,8は廃止され、将来の文書によって割り当てられてはなりません。オプションは以下のように定義されます。
Option types in the range 0-65531 are reserved and available for allocation in an IANA registry. Option types in the range 65532-65535 are not registered and are freely available for experimental use. See Section 7.
範囲0から65531のオプションタイプは、IANAレジストリに予約され、割当てのために利用可能です。 65532から65535の範囲内のオプションタイプが登録されていないと実験的使用のために自由に利用可能です。セクション7を参照してください。
Version, type 0
バージョン、タイプ0
Length MUST be 1. This option MUST always be included in all messages, and for the current specified protocol this value MUST be set to 2 (in decimal). Note that there are implementations of older revisions of this protocol that only partly follow this specification. They can be regarded as version 1 and do not use this option. If a server receives a message with a version other than 2 (or missing), the server SHOULD (unless it supports the particular version) send a Server Response message back with version set to 2. This tells the client that the server expects version 2 messages. Client ID and Sequence Number options MUST be echoed if present, so that a client can be certain it is a response to one of its messages, and to exactly which message. The server SHOULD NOT include any other options. A client receiving a response with a version other than 2 MUST stop sending requests to the server (unless it supports the particular version).
長さは、このオプションは、常にすべてのメッセージに含まれなければならない、そして現在の指定されたプロトコルのために、この値は(10進数)2に設定しなければならない1でなければなりません。部分的にしか、この仕様に従って、このプロトコルの古いリビジョンの実装があることに注意してください。彼らは、バージョン1とみなすことができると、このオプションを使用しないでください。サーバが2(または欠落)以外のバージョンとのメッセージを受信した場合、サーバは(それが特定のバージョンをサポートしていない限り)これは、サーバーがバージョン2を期待していることをクライアントに伝えます。2.にバージョンセットバックサーバの応答メッセージを送信する必要がありますメッセージ。存在する場合、クライアントは、そのメッセージのいずれか、および正確メッセージへの応答である特定のことができるように、クライアントIDとシーケンス番号のオプションは、エコーされなければなりません。サーバーは、他のオプションを含めるべきではありません。 (それは特定のバージョンをサポートしていない限り)2以外のバージョンとの応答を受信したクライアントは、サーバーへのリクエストの送信を停止しなければなりません。
Client ID, type 1
クライアントID、タイプ1
Length MUST be non-zero. A client SHOULD always include this option in all messages (both Init and Echo Request). The client may use any value it likes to detect whether a reply is a reply to its Init/Echo Request or not. A server should treat this as opaque data, and MUST echo this option back in the reply if present (both Server Response and Echo Reply). The value might be a pseudo-random byte string that is likely to be unique, possibly combined with the client IP address. Predictability is not a big concern here. This is used by the client to ensure that server messages are in response to its requests. In some cases, a client may receive multicast responses to queries from other clients. It is left to the client implementer how to use this option.
長さがゼロ以外でなければなりません。クライアントは常に、すべてのメッセージ(INITおよびエコー要求の両方)でこのオプションを含むべきです。クライアントは応答がその初期化/エコー要求かへの返信であるかどうかを検出するのが好き任意の値を使用することができます。サーバーは、このように不透明なデータを扱うべきである、と戻って返信に存在する場合(サーバー応答とエコー応答の両方)このオプションをエコーしなければなりません。値は、ユニークな可能性がクライアントのIPアドレスと組み合わせである可能性が高い擬似ランダムバイトの文字列であるかもしれません。予測可能性は、ここでは大きな問題ではありません。これは、サーバーメッセージはその要求に応えていることを確認するために、クライアントによって使用されます。いくつかのケースでは、クライアントは他のクライアントからのクエリにマルチキャストの応答を受け取ることができます。このオプションを使用する方法をクライアントの実装者に任されています。
Sequence Number, type 2
シーケンス番号、タイプ2
Length MUST be 4. A client MUST always include this in Echo Request messages and MUST NOT include it in Init messages. A server replying to an Echo Request message MUST copy it into the Echo Reply (or Server Response message on error). The sequence number is a 32-bit integer. Values typically start at 1 and increase by one for each Echo Request in a sequence.
長さは4クライアント常にエコー要求メッセージでこれを含まなければならなければならないと初期化メッセージでそれを含んではいけません。 Echo Requestメッセージに返信するサーバーは、(エラーやサーバー応答メッセージ)エコー応答にそれをコピーする必要があります。シーケンス番号は32ビットの整数です。値は、通常、1から始まり、シーケンス内の各エコー要求のために1ずつ増加します。
Client Timestamp, type 3
クライアントのタイムスタンプ、タイプ3
Length MUST be 8. A client SHOULD include this in Echo Request messages and MUST NOT include it in Init messages. A server replying to an Echo Request message MUST copy it into the Echo Reply. The timestamp specifies the time when the Echo Request message is sent. The first 4 bytes specify the number of seconds since the Epoch (0000 UTC Jan 1, 1970). The next 4 bytes specify the number of microseconds since the second specified in the first 4 bytes. This option would typically be used by a client to compute round trip times.
長さは、クライアントがエコー要求メッセージでこれを含めるべきである8でなければならないと初期化メッセージでそれを含んではいけません。 Echo Requestメッセージに返信するサーバーは、エコー応答にそれをコピーする必要があります。タイムスタンプはエコー要求メッセージが送信される時間を指定します。最初の4つのバイトは、エポック(0000 UTC 1970年1月1日)からの秒数を指定します。次の4つのバイトは、最初の4バイト単位で指定される第2以降のマイクロ秒数を指定します。このオプションは、通常、往復時間を計算するために、クライアントによって使用されます。
Note that while this protocol uses the above 32-bit format, it would have been better to use another format, such as the one defined in NTPv4 [RFC5905]. This should be considered for future extensions of the protocol.
このプロトコルは、上記の32ビットフォーマットを使用しているが、そのようなNTPv4 [RFC5905]で定義されるものとして、別のフォーマットを使用することをお勧めしていたであろうことに留意されたいです。これは、プロトコルの将来の拡張のために考慮されるべきです。
Multicast Group, type 4
マルチキャストグループ、タイプ4
Length MUST be greater than 2. It MAY be used in Server Response messages to tell the client what group to use in subsequent Echo Request messages. It MUST be used in Echo Request messages to tell the server what group address to respond to (this group would typically be previously obtained in a Server Response message). It MUST be used in Echo Reply messages (copied from the Echo Request message). It MUST NOT be used in Init messages. The format of the option value is as below.
長さは、その後のエコー要求メッセージで使用するためにどのようなグループのクライアントに伝えるためにサーバーの応答メッセージに使用されるかもしれ2.より大きくなければなりません。 (このグループは、通常、事前にサーバーの応答メッセージに得られるであろう)に対応するためにどのようなグループアドレスをサーバに伝えるためにエコー要求メッセージに使用しなければなりません。これは、(エコー要求メッセージからコピーされた)エコー応答メッセージで使用されなければなりません。これは、初期のメッセージで使用してはいけません。オプション値のフォーマットは以下の通りです。
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Address Family | Multicast group address... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ .... |
The address family is a value 0-65535 as assigned by IANA for Internet address families [ADDRFAMILY]. This is followed by the group address. Length of the option value will be 6 for IPv4, and 18 for IPv6.
インターネットアドレスファミリのためにIANAによって割り当てられたアドレスファミリは、[ADDRFAMILY]値0〜65535です。これは、グループアドレスが続いています。オプションの値の長さは、IPv4のための6、およびIPv6の18になります。
Option Request, type 5
オプション要求、タイプ5
Length MUST be greater than 1. This option MAY be used in client messages (Init and Echo Request messages). A server MUST NOT send this option, except that if it is present in an Echo Request message, the server MUST echo it in replies (Echo Reply message) to the Echo Request. This option contains a list of option types for options that the client is requesting from the server. Support for this option is OPTIONAL for both clients and servers. The length of this option will be a non-zero even number, since it contains one or more option types that are two octets each. The format of the option value is as below.
長さは、このオプションは、クライアントメッセージ(initとエコー要求メッセージ)で使用されるかもしれない1よりも大きくなければなりません。サーバーは、それがエコー要求メッセージ内に存在する場合、サーバはエコー要求への応答(エコー応答メッセージ)でそれをエコーしなければならないことを除いて、このオプションを送ってはいけません。このオプションは、クライアントがサーバーから要求されたオプションのオプションタイプのリストが含まれています。このオプションのサポートは、クライアントとサーバの両方のためのオプションです。それは2つのオクテット、それぞれが1つまたは複数のオプションの種類が含まれているため、このオプションの長さは、偶数ゼロ以外になります。オプション値のフォーマットは以下の通りです。
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Option Type | Option Type | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ..... |
This option might be used by the client to ask the server to include options like Server Timestamp or Server Information. A client MAY request Server Information in Init messages; it MUST NOT request it in other messages. A client MAY request a Server Timestamp in Echo Request messages; it MUST NOT request it in other messages. Subject to enforcing the above restrictions, a server supporting this option SHOULD include the requested options in responses (Echo Reply messages) to the Echo Request containing the Option Request option. The server may, according to implementation or local configuration, not necessarily include all the requested options, or possibly none. Any options included are appended to the echoed options, similar to other options included by the server.
このオプションは、サーバーのタイムスタンプやサーバーの情報のようなオプションを含めるようにサーバーを依頼するクライアントによって使用される可能性があります。クライアントは、初期化メッセージでサーバーの情報を要求することができます。それは、他のメッセージでそれを要求してはなりません。クライアントは、エコー要求メッセージにサーバーのタイムスタンプを要求することができます。それは、他のメッセージでそれを要求してはなりません。上記の制限を強制する件名、このオプションをサポートするサーバは、オプション要求オプションを含むエコー要求へ(エコー応答メッセージ)応答で要求されたオプションが含まれるべきです。サーバは、実装またはローカル構成によれば、必ずしもすべての要求されたオプション、または可能性なしを含まなくてもよいです。含まれる任意のオプションは、サーバが含まれる他のオプションと同様エコーオプションに添付されています。
Server Information, type 6
サーバ情報、タイプ6
Length MUST be non-zero. It MAY be used in Server Response messages and MUST NOT be used in other messages. Support for this option is OPTIONAL. A server supporting this option SHOULD add it in Server Response messages if and only if requested by the client. The value is a UTF-8 [RFC3629] string that might contain vendor and version information for the server implementation. It may also contain information on which options the server supports. An interactive client MAY support this option, and SHOULD then allow a user to request this string and display it. Although support for this is OPTIONAL, we say that a server SHOULD return it if requested, since this may be helpful to a user running the client. It is, however, purely informational; it is not needed for the protocol to function.
長さがゼロ以外でなければなりません。これは、サーバーの応答メッセージに使用してもよく、他のメッセージに使用してはいけません。このオプションのサポートはオプションです。クライアントによって要求された場合にだけ、このオプションをサポートするサーバは、サーバの応答メッセージでそれを追加する必要があります。値は、サーバの実装のためのベンダーとバージョン情報が含まれている可能性があるUTF-8 [RFC3629]の文字列です。また、サーバーがサポートするオプションの情報が含まれていてもよいです。対話型のクライアントは、このオプションをサポートすることができ、その後、ユーザーはこの文字列を要求し、それを表示できるようにする必要があります。このためのサポートはオプションですが、私たちは要求された場合、これは、クライアントを実行しているユーザーに役立つかもしれないので、サーバは、それを返すべきであると言います。しかし、純粋に情報提供です。それが機能するためのプロトコルには必要ありません。
Deprecated, type 7
推奨されていません、タイプ7
This option code value was used by implementations of version 1 of this protocol, and is not used in this version. Servers MUST treat it as an unknown option (not process it if received, but if received in an Echo Request message, it MUST be echoed in the Echo Reply message).
このオプションのコード値は、このプロトコルのバージョン1の実装によって使用された、このバージョンでは使用されません。サーバは(受け取った場合、それを処理していないが、Echo Requestメッセージで受信した場合、それはエコー応答メッセージにエコーされなければならない)未知のオプションとしてそれを扱わなければなりません。
Deprecated, type 8
推奨されていません、タイプ8
This option code value was used by implementations of version 1 of this protocol, and is not used in this version. Servers MUST treat it as an unknown option (not process it if received, but if received in an Echo Request message, it MUST be echoed in the Echo Reply message).
このオプションのコード値は、このプロトコルのバージョン1の実装によって使用された、このバージョンでは使用されません。サーバは(受け取った場合、それを処理していないが、Echo Requestメッセージで受信した場合、それはエコー応答メッセージにエコーされなければならない)未知のオプションとしてそれを扱わなければなりません。
TTL, type 9
TTL、タイプ9
Length MUST be 1. This option contains a single octet specifying the TTL of an Echo Reply message. Every time a server sends a unicast or multicast Echo Reply message, it SHOULD include this option specifying the TTL. This is used by clients to determine the number of hops the messages have traversed. It MUST NOT be used in other messages. A server SHOULD specify this option if it knows what the TTL of the Echo Reply will be. In general, the server can specify a specific TTL to the host stack. Note that the TTL is not necessarily the same for unicast and multicast. Also note that this option SHOULD be included even when not requested by the client. The protocol will work even if this option is not included, but it limits what information a client can obtain.
長さは1このオプションは、エコー応答メッセージのTTLを指定する単一のオクテットを含んでいなければなりません。サーバは、ユニキャストまたはマルチキャストエコー応答メッセージを送信するたびに、それはTTLを指定するには、このオプションを含むべきです。これは、メッセージが横断したホップの数を決定するためにクライアントによって使用されます。これは、他のメッセージに使用してはいけません。それはエコー応答のTTLがどうなるか知っている場合、サーバーは、このオプションを指定する必要があります。一般的には、サーバがホストスタックに固有のTTLを指定することができます。 TTLは、必ずしも、ユニキャストおよびマルチキャストのために同じではないことに留意されたいです。また、クライアントから要求されていない場合でも、このオプションは含まれるべきであることに注意してください。プロトコルは、このオプションが含まれていますが、それは、クライアントが取得できるどのような情報に制限されていない場合でも動作します。
If the server did not include this TTL option, there is no reliable way for the client to know the initial TTL of the Echo Reply, and therefore the client SHOULD NOT attempt to calculate the number of hops the message has traversed.
サーバは、このTTLオプションが含まれていなかった場合は、エコー応答の初期TTLを知っているので、クライアントがメッセージを横断したホップの数を計算するために試みるべきではありませんクライアントのための信頼できる方法はありません。
Multicast Prefix, type 10
マルチキャストプレフィックス、タイプ10
Length MUST be greater than 2. It MAY be used in Init messages to request a group within the prefix(es), and it MAY be used in Server Response messages to tell the client from what prefix(es) it may try to obtain a group. It MUST NOT be used in Echo Request/Reply messages. Note that this option MAY be included multiple times to specify multiple prefixes.
長さは、接頭語(ES)内のグループを要求するために、初期のメッセージで使用することができ、取得しようとするかもしれないもの接頭語(ES)からクライアントに伝えるためにサーバの応答メッセージで使用されるかもしれない2以上でなければなりませんグループ。これは、エコー要求/応答メッセージに使用してはいけません。このオプションは、複数のプレフィックスを指定するために複数回含めることができることに注意してください。
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Address Family | Prefix Length |Partial address| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ .... |
The address family is a value 0-65535 as assigned by IANA for Internet address families [ADDRFAMILY]. This is followed by a prefix length (4-32 for IPv4, 8-128 for IPv6, or 0 for the special "wildcard" use discussed below), and finally a group address. For any family, prefix length 0 means that any multicast address from that family is acceptable. This is what we call "wildcard". The group address need only contain enough octets to cover the prefix length bits (i.e., the group address would have to be 3 octets long if the prefix length is 17-24, and there need be no group address for the wildcard with prefix length 0). Any bits past the prefix length MUST be ignored. For IPv4, the option value length will be 4-7, while for IPv6, it will be 4-19, and for the wildcard, it will be 3.
インターネットアドレスファミリのためにIANAによって割り当てられたアドレスファミリは、[ADDRFAMILY]値0〜65535です。これは、プレフィックス長(IPv4の4-32、以下に説明する特別な「ワイルドカード」の使用のためにIPv6の8から128、または0)、そして最後にグループアドレスが続きます。すべての家族のために、プレフィックス長0はその家族からの任意のマルチキャストアドレスが受け入れ可能であることを意味しています。これは、私たちが「ワイルドカード」と呼んでいます。グループアドレスのみをプレフィックス長のビットをカバーするのに十分なオクテットが含まれている必要があります(つまり、グループアドレスは、プレフィックス長が17-24の場合は3つのオクテットの長でなければならないであろう、とプレフィックス長が0のワイルドカードのためのグループアドレスが存在しない必要が)。プレフィックス長、過去の任意のビットを無視しなければなりません。 IPv6のため、それは4-19になり、そしてワイルドカードのために、それは3になりつつIPv4の場合、オプションの値の長さは、4-7であろう。
Session ID, type 11
セッションID、タイプ11
Length MUST be 4 or larger. A server SHOULD include this in Server Response messages. If a client receives this option in a message, the client MUST echo the Session ID option in subsequent Echo Request messages, with the exact same value. The Session ID may help the server in keeping track of clients and possibly manage per-client state. The value of a new Session ID SHOULD be a pseudo-random byte string that is hard to predict; see [RFC4086]. The string MUST be at least 4 bytes long. The Session ID can be used to mitigate spoofing of the source address of Echo Request messages. We say that this option SHOULD be used, because it is important for security reasons. There may, however, be environments where this is not required. See Section 8, "Security Considerations", for details.
長さが4以上でなければなりません。サーバーは、サーバーの応答メッセージでこれを含むべきです。クライアントは、メッセージにこのオプションを受信した場合、クライアントはまったく同じ値で、その後のエコー要求メッセージにセッションIDオプションをエコーしなければなりません。セッションIDは、クライアントを追跡するには、サーバーを助け、おそらくクライアントごとの状態を管理することができます。新しいセッションIDの値を予測することは困難である擬似ランダムバイトの文字列でなければなりません。 [RFC4086]を参照してください。文字列は、少なくとも4バイトの長さでなければなりません。セッションIDは、エコー要求メッセージの送信元アドレスのスプーフィングを軽減するために使用することができます。私たちは、それがセキュリティ上の理由のために重要であるため、このオプションは、使用されるべきであると言います。しかし、これは必須ではない環境があるかもしれません。詳細については、第8章、「セキュリティに関する考慮事項」を参照してください。
Server Timestamp, type 12
サーバータイムスタンプ、タイプ12
Length MUST be 8 bytes. A server supporting this option SHOULD include it in Echo Reply messages, if requested by the client. The timestamp specifies the time when the Echo Reply message is sent. The first 4 bytes specify the number of seconds since the Epoch (0000 UTC Jan 1, 1970). The next 4 bytes specify the number of microseconds since the second specified in the first 4 bytes. If this option is not included, the protocol will still work, but it makes it impossible for a client to compute one-way delay.
長さは8バイトでなければなりません。このオプションをサポートするサーバは、クライアントによって要求された場合、メッセージの返信エコーに含めるべきです。タイムスタンプはエコー応答メッセージが送信される時間を指定します。最初の4つのバイトは、エポック(0000 UTC 1970年1月1日)からの秒数を指定します。次の4つのバイトは、最初の4バイト単位で指定される第2以降のマイクロ秒数を指定します。このオプションが含まれていない場合は、プロトコルがまだ動作しますが、それはそれは不可能クライアントが一方向遅延を計算できるようになります。
Note that while this protocol uses the above 32-bit format, it would have been better to use another format, such as the one defined in NTPv4 [RFC5905]. This should be considered for future extensions of the protocol.
このプロトコルは、上記の32ビットフォーマットを使用しているが、そのようなNTPv4 [RFC5905]で定義されるものとして、別のフォーマットを使用することをお勧めしていたであろうことに留意されたいです。これは、プロトコルの将来の拡張のために考慮されるべきです。
The format of all messages is a one-octet message type, followed by a variable number of options.
すべてのメッセージのフォーマットは、オプションの可変数、続いて、1オクテットのメッセージ・タイプです。
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Options ... | +-+-+-+-+-+-+-+-+ . | | . | | . | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- .....
There are four message types defined. Type 81 (the character Q in ASCII) specifies an Echo Request (Query). Type 65 (the character A in ASCII) specifies an Echo Reply (Answer). Type 73 (the character I in ASCII) is an Init message. Type 83 (the character S in ASCII) is a Server Response message.
定義された4つのメッセージタイプがあります。タイプ81(ASCIIの文字Qは)エコー要求(クエリ)を指定します。タイプ65(ASCIIの文字A)は、エコー応答(回答)を指定します。タイプ73(ASCIIの文字I)は、開始メッセージです。タイプ83(ASCIIの文字S)は、サーバーの応答メッセージです。
The options immediately follow the type octet and are not aligned in any way (no spacing or padding); i.e., options might start at any octet boundary. The option format is specified above.
オプションは直ちにタイプオクテットに従う、任意の方法(NO間隔またはパディング)に整列していません。すなわち、オプションは任意のオクテット境界で開始される可能性があります。オプションのフォーマットは、上記の指定されています。
We will now describe each of the four message types and which options they may contain.
私たちは今、彼らは含まれていてもよい4つのメッセージの種類とそのオプションのそれぞれについて説明します。
Init, type 73
INIT、タイプ73
This message is sent by a client to request information from a server. It is mainly used for requesting a group address, but it may also be used to check which group prefixes the server may provide groups from, or other server information. It MUST include a Version option, and SHOULD include a Client ID. It MAY include Option Request and Multicast Prefix options. This message is a request for a group address if and only if it contains Multicast Prefix options. If multiple Prefix options are included, they should be in prioritised order. That is, the server will consider the prefixes in the order they are specified, and if it finds a group for a prefix, it will only return that one group, not considering the remaining prefixes.
このメッセージは、サーバから情報を要求するために、クライアントによって送信されます。これは、主にグループアドレスを要求するために使用されるが、またより基、または他のサーバ情報を提供することができるサーバをプレフィックスどのグループチェックするために使用することができます。これは、バージョンオプションを含まなければならない、とクライアントIDを含むべきです。これは、オプション要求およびマルチキャストプレフィックスオプションを含むかもしれません。このメッセージは、マルチキャストプレフィックスオプションが含まれています場合に限り、グループアドレスの要求です。複数のプレフィックスオプションが含まれている場合は、優先順位順にする必要があります。つまり、サーバーは、指定された順にプレフィックスを検討する、それが接頭語のためのグループを見つけた場合、それだけで、残りの接頭辞を考慮していない、1つのグループを返します。
Server Response, type 83
サーバーの応答、タイプ83
This message is sent by a server, either as a response to an Init, or in response to an Echo Request. When responding to an Init, it may provide the client with a multicast group (if requested by the client), or it may provide other server information. In response to an Echo Request, the message tells the client to stop sending Echo Request messages. The Version option MUST always be included. Client ID and Sequence Number options are echoed if present in the client message. When providing a group to the client, it includes a Multicast Group option. It SHOULD include Server Information and Prefix options if requested. It SHOULD also include the Session ID option.
このメッセージは、初期化に対する応答として、またはエコー要求に応答してのいずれかで、サーバによって送信されます。初期化に応答するときに、(クライアントによって要求された場合)には、マルチキャストグループをクライアントに提供することができ、またはそれは他のサーバの情報を提供してもよいです。エコー要求に応答して、メッセージは、エコー要求メッセージの送信を停止するようにクライアントに指示します。バージョンオプションが必ず含まれなければなりません。クライアントIDとシーケンス番号のオプションは、クライアントのメッセージに存在する場合にはエコーされます。クライアントにグループを提供する際には、マルチキャストグループのオプションが含まれています。要求された場合、それはサーバの情報とプレフィックスオプションを含めるべきです。また、セッションIDオプションを含めるべきです。
Echo Request, type 81
エコー要求、タイプ81
This message is sent by a client, asking the server to send unicast and multicast Echo Reply messages. It MUST include Version, Sequence Number, and Multicast Group options. If a Session ID was received in a Server Response message, then the Session ID MUST be included. It SHOULD include Client ID and Client Timestamp options. It MAY include an Option Request option.
このメッセージは、ユニキャストとマルチキャストエコー応答メッセージを送信するためにサーバーを求めて、クライアントから送信されています。これは、バージョン、シーケンス番号、およびマルチキャストグループのオプションを含まなければなりません。セッションIDは、サーバーの応答メッセージで受信された場合、セッションIDが含まれなければなりません。これは、クライアントIDとクライアントのタイムスタンプオプションを含めるべきです。これは、オプション要求オプションを含むかもしれません。
Echo Reply, type 65
エコー応答、タイプ65
This message is sent by a server in response to an Echo Request message. This message is always sent in pairs, one as unicast and one as multicast. The contents of the messages are mostly the same. The server always echoes all of the options (but never the Session ID) from the Echo Request. Any options in the Echo Request that are unsupported by the server are also to be echoed. The two Echo Reply messages SHOULD both always contain a TTL option (not necessarily equal). When requested, both Echo Reply messages SHOULD also contain Server Timestamps (not necessarily equal).
このメッセージは、エコー要求メッセージに応答してサーバによって送信されます。このメッセージは常にペア、ユニキャストとして1およびマルチキャストなどのいずれかに送信されます。メッセージの内容はほとんど同じです。サーバーは常にエコー要求からオプション(決してセッションID)の全てをエコーします。サーバーによってサポートされていないエコー要求のいずれかのオプションがエコーされることもあります。 2つのエコーの両方常にTTLオプション(必ずしも等しくない)を含むべきであるメッセージを返信。要求された場合には、両方のエコー返信メッセージは、サーバーのタイムスタンプ(必ずしも等しい)を含むべきです。
The matrix below summarises what options can go in what messages.
行列は、以下のオプションがどのようなメッセージで行くことができるものをまとめたものです。
\ Message Type | Init | Server | Echo | Echo | Option \ | | Response | Request | Reply | ---------------------- -+--------+----------+---------+--------+ Version (0) | MUST | MUST | MUST | ECHO | Client ID (1) | SHOULD | ECHO | SHOULD | ECHO | Sequence Number (2) | NOT | ECHO | MUST | ECHO | Client Timestamp (3) | NOT | NOT | SHOULD | ECHO | Multicast Group (4) | NOT | MAY | MUST | ECHO | Option Request (5) | MAY | NOT | MAY | ECHO | Server Information (6) | NOT | RQ | NOT | NOT | Deprecated (7) | NOT | NOT | NOT | ECHO | Deprecated (8) | NOT | NOT | NOT | ECHO | TTL (9) | NOT | NOT | NOT | SHOULD | Multicast Prefix (10) | MAY | MAY | NOT | NOT | Session ID (11) | NOT | SHOULD | ECHO | NOT | Server Timestamp (12) | NOT | NOT | NOT | RQ | ---------------------- -+--------+----------+---------+--------+
"NOT" means that the option MUST NOT be included. "ECHO" for a server means that if the option is specified by the client, then the server MUST echo the option in the response, with the exact same option value. ECHO for a client only applies to the Session ID option. If it is present in the Server Response, then it MUST be present with the exact same option value in the following Echo Request messages. "RQ" means that the server SHOULD include the option in the response, when requested by the client using the Option Request option.
「NOT」オプションが含まれてはならないことを意味します。サーバーの「ECHOは」オプションは、クライアントによって指定されている場合、サーバーはまったく同じオプションの値と、対応してオプションをエコーしなければならないことを意味します。クライアントのECHOは、セッションIDオプションに適用されます。それはサーバーの応答に存在する場合、それは、次のエコー要求メッセージの正確な同じオプション値を持つ存在しなければなりません。 「RQは」オプション要求オプションを使用して、クライアントによって要求されたとき、サーバは、応答オプションを含めるべきであることを意味します。
Clients MUST by default send at most Default-Client-Request-Rate (Section 3.5.1) Echo Request messages per second. Note that the value can be less than 1. Servers MUST by default perform rate limiting, to guard against this protocol being used for denial-of-service (DoS) attacks. A server MUST by default limit the number of clients that can be served at the same time, and for a given client, a server MUST also by default respond to, on average, at most Default-Server-Rate-Limit (see Section 3.5.1) Echo Request messages per second. Note that the value can be less than 1. Server implementations should provide configuration options allowing certain clients to perform more rapid rates of Echo Request messages. If higher rates are allowed for specific client IP addresses, then Init messages and the Session ID option MUST be used to help mitigate spoofing.
クライアントは、デフォルトでは(3.5.1項)、ほとんどデフォルトのクライアント・リクエスト・レートで毎秒エコー要求メッセージを送らなければなりません。サービス拒否(DoS)攻撃に使用されて、このプロトコルを防ぐために、値が1未満のサーバは、デフォルトでレート制限を実行しなければならないことができることに留意されたいです。デフォルトの制限によってサーバーMUST同時に提供することができるクライアントの数、および特定のクライアントのために、サーバーは、ほとんどのデフォルト・サーバー・レート制限では、平均して(3.5節を参照するには、デフォルトの応答によってもしなければなりません0.1)秒当たりのエコー要求メッセージ。値が1未満サーバの実装は、特定のクライアントがエコー要求メッセージのより迅速な速度を実行できるようにする設定オプションを提供しなければならないことができることに注意してください。より高いレートは、特定のクライアントのIPアドレスに対して許可されている場合は、初期化メッセージとセッションIDのオプションは、なりすましを軽減するために使用しなければなりません。
Implementers of applications/tools using this protocol SHOULD consider the UDP guidelines [RFC5405], in particular if clients are to send, or servers are to accept, Echo Request messages at rates exceeding the defaults given in this document. See Section 8, "Security Considerations", for additional discussion.
クライアントが送信している場合は、このプロトコルを使用したアプリケーション/ツールの実装者は、特に、UDPガイドライン[RFC5405]を検討すべきである、またはサーバーは、この文書で指定したデフォルト値を超えるレートで、エコー要求メッセージを受け付けるようにしています。追加の議論については、セクション8、「セキュリティに関する考慮事項」を参照してください。
There are two variables that control message rates. They are defined as follows.
メッセージレートを制御する2つの変数があります。次のように彼らは、定義されています。
Default-Client-Request-Rate
デフォルトのクライアント・リクエスト・レート
This variable defines the default client echo request rate, specifying the number of requests per second. Note that the value may be less than one. For example, a value of 0.1 means one packet per 10 seconds. The value 1 is RECOMMENDED, but the value might be too small or large, depending on the type of network in which the client is deployed. The value 1 is chosen because it should be safe in most deployments, and it is similar to what is typically used for the common tool "ping" for ICMP Echo Request messages.
この変数は、1秒あたりの要求数を指定して、デフォルトのクライアントエコー要求レートを定義します。値が1未満とすることができることに留意されたいです。例えば、0.1の値は、10秒ごとにパケットを意味します。値1が推奨されますが、値は、クライアントが配備されているネットワークの種類に応じて、小さすぎたり、大きな可能性があります。それはほとんどの展開で安全でなければならないため、値1が選択され、それは通常、ICMPエコー要求メッセージのための一般的なツール「ピング」のために使用されているものと同様です。
Default-Server-Rate-Limit
デフォルト・サーバー・レート制限
This variable defines the default per-client rate limit that a server uses for responding to Echo Request messages. The average rate of replies MUST NOT exceed Default-Server-Rate-Limit per second. Note that the value may be less than one. For example, a value of 0.1 means an average of one packet per 10 seconds. The value 1 is RECOMMENDED, but the value might be too small or large, depending on the type of network in which the client is deployed. The value 1 is chosen because it should be safe in most deployments. This value SHOULD be high enough to accept the value chosen for the Default-Client-Request-Rate.
この変数は、サーバが要求メッセージをエコーするために応答するために使用するデフォルトクライアントごとのレート制限を定義します。回答の平均レートは毎秒デフォルト・サーバー・レート制限を超えてはなりません。値が1未満とすることができることに留意されたいです。例えば、0.1の値は、10秒ごとに1つのパケットの平均を意味します。値1が推奨されますが、値は、クライアントが配備されているネットワークの種類に応じて、小さすぎたり、大きな可能性があります。それはほとんどの展開で安全でなければならないため、値1が選択されています。この値は、デフォルトのクライアント・リクエスト・レートのために選択した値を受け入れるのに十分高くなければなりません。
We will consider how a typical interactive client using the above protocol would behave.
私たちは、上記のプロトコルを使用する典型的な対話型のクライアントが振る舞う方法を検討します。
A client only requires a user to specify the unicast address of the server. It can then send an Init message with a prefix option containing the desired address family and zero prefix length (wildcard entry). The server can then decide which group, from the specified family, it should return. A client may also allow the user to specify group address(es) or prefix(es) (for IPv6, the user may only be required to specify a scope or a Rendezvous Point (RP) address, from which the client can construct the desired prefix, possibly embedded-RP). From this, the client can specify one or more prefix options in an Init message to tell the server which address it would prefer. If the user specifies a group address, that can be encoded as a prefix of maximal length (e.g., 32 for IPv4). The prefix options are in prioritised order; i.e., the client should put the most preferred prefix first.
クライアントは、サーバのユニキャストアドレスを指定することが必要です。これは、所望のアドレスファミリーとゼロプレフィックス長(ワイルドカードエントリ)を含むプレフィクスオプションでINITメッセージを送信することができます。次に、サーバは、指定された家族から、それは返す必要がありますどのグループ、決めることができます。クライアントは、ユーザが(IPv6のため、ユーザは、クライアントのみが所望の構成可能な範囲またはランデブーポイント(RP)アドレスを指定するために必要とされ得るグループアドレス(ES)またはプレフィックス(複数可)を指定することを可能にし得ます接頭辞、おそらく組み込み-RP)。このことから、クライアントはそれを好む対処するサーバーに伝えるために開始メッセージ内の1つまたは複数の接頭辞オプションを指定することができます。ユーザがグループ・アドレスを指定する場合、それは、最大長さ(IPv4の例えば、32)の接頭語として符号化することができます。接頭辞オプションは優先順位順です。すなわち、クライアントは最初に、最も好ましいの接頭辞をつけなければなりません。
If the client receives a Server Response message containing a group address, it can start sending Echo Request messages; see the next paragraph. If there is no group address option, the client would typically exit with an error message. The server may have included some prefix options in the Server Response. The client may use this to provide the user some feedback on what prefixes or scopes are available.
クライアントは、グループアドレスを含むサーバの応答メッセージを受信した場合、それは、エコー要求メッセージの送信を開始することができます。次の段落を参照してください。何のグループアドレスオプションが存在しない場合、クライアントは通常、エラーメッセージを表示して終了します。サーバーは、サーバーの応答の一部の接頭辞のオプションが含まれている可能性があります。クライアントは、ユーザーに利用可能な接頭辞やスコープ上でいくつかのフィードバックを提供するためにこれを使用することができます。
Assuming the client got a group address in a Server Response, it can start the multicast pings, after letting the user know which group is being used. Normally, a client should send at most Default-Client-Request-Rate (Section 3.5.1) Echo Request messages per second.
クライアントは、サーバーの応答におけるグループアドレスを得たと仮定すると、ユーザが使用されているグループを知らせた後、マルチキャストpingを開始することができます。通常、クライアントは、ほとんどのデフォルトのクライアント・リクエスト・レート(3.5.1項)秒当たりのエコー要求メッセージで送信する必要があります。
When sending the Echo Request messages, the client must always include the group option. If the Server Response contained a Session ID option, then it must also include a Session ID option, with the exact same value, in the Echo Request messages. If a client receives a Server Response message in response to an Echo Request (that is, a Server Response message containing a sequence number), this means there is an error, and it should stop sending Echo Request messages. This could happen after server restart.
エコー要求メッセージを送信する場合、クライアントは常にグループのオプションを含める必要があります。サーバーの応答は、セッションIDのオプションが含まれている場合、それはまた、エコー要求メッセージには、まったく同じ値で、セッションIDオプションを含める必要があります。クライアントは、エコー要求に応じて、サーバーの応答メッセージを受信した場合(つまり、シーケンス番号を含むサーバーの応答メッセージ)が、これは誤りがあることを意味し、それはエコー要求メッセージの送信を停止する必要があります。これは、サーバの再起動後に発生する可能性があります。
The client may allow the user to request server information. If the user requests server information, the client can send an Init message with no prefix options, but with an Option Request option, requesting that the server return a Server Information option. The server will return server information, if supported, and it may also return a list of prefixes it supports. It will not, however, return a group address. The client may also try to obtain only a list of prefixes by sending an Init message with no prefixes and not requesting any specific options.
クライアントは、ユーザーがサーバーの情報を要求することを可能にします。ユーザーがサーバーの情報を要求した場合、クライアントは、サーバがサーバの情報オプションを返すことを要求しますが、オプション要求オプションを使用して、接頭辞なしのオプションを使用して初期化メッセージを送信することができます。サポートされている場合、サーバーは、サーバーの情報を返します、そしてそれはまた、それがサポートするプレフィックスのリストを返すことがあります。それは、しかし、グループアドレスを返しません。また、クライアントは、プレフィックスなしで初期化メッセージを送信し、任意の特定のオプションを要求していないことにより、プレフィックスのリストのみを取得しようとするかもしれません。
Although this technique is not recommended, a client may pick a multicast group and send Echo Request messages without first going through the Init - Server Response negotiation. If this is supported by the server and the server is okay with the group used, the server can then send Echo Reply messages as usual. If the server is not okay with the group used, it will send a Server Response telling the client to stop.
この技術は推奨されませんが、クライアントがマルチキャストグループを選択し、最初の初期化を経由することなく、エコー要求メッセージを送信すること - サーバ応答のネゴシエーション。これは、サーバーでサポートされていると、サーバーが使用されるグループと大丈夫であれば、サーバはその後、いつものようにエコー応答メッセージを送信することができます。サーバが使用するグループと大丈夫ではない場合は、停止するようにクライアントを伝えるサーバの応答を送信します。
We will consider how a typical server using the above protocol would behave, first looking at how to respond to Init messages.
私たちは、上記のプロトコルを使用して、一般的なサーバが最初に初期化メッセージに応答する方法を見て、挙動する方法を検討します。
If the Init message contains prefix options, the server should look at them in order and see if it can assign a multicast address from the given prefix. The server would be configured with a (possibly default) set of groups it can offer. It may have a large pool and pick a group at random, or possibly choose a group based on hashing of the client's IP address or identifier, or simply use a fixed group. A server could possibly decide whether to include site-scoped group ranges based on the client's IP address. It is left to the server to decide whether it should allow the same address to be used simultaneously by multiple clients.
開始メッセージは、接頭辞のオプションが含まれている場合、サーバーは順番にそれらを見なければならないし、それが与えられたプレフィックスからマルチキャストアドレスを割り当てることができます参照してください。サーバが提供できるグループの(おそらくデフォルト)のセットで構成されます。それは大きなプールがあり、ランダムにグループを選択するか、おそらくクライアントのIPアドレスまたは識別子のハッシュに基づいてグループを選択するか、単に固定群を使用することができます。サーバーはおそらく、クライアントのIPアドレスに基づいてサイトスコープのグループ範囲を含めるかどうかを決めることができました。それは同じアドレスが複数のクライアントが同時に使用できるようにする必要があるかどうかを決定するためにサーバーに残っています。
If the server finds a suitable group address, it returns this address in a group option in a Server Response message. The server should additionally include a Session ID. This may help the server if it is to keep some state -- for instance, to make sure the client uses the group assigned to it. A good Session ID would be a pseudo-random byte string that is hard to predict; see [RFC4086]. If the server cannot find a suitable group address, or if there were no prefixes in the Init message, it may send a Server Response message containing prefix options listing what prefixes may be available to the client. Finally, if the Init message requests the Server Information option, the server should include that option.
サーバは、適切なグループアドレスを見つけた場合、それはサーバーの応答メッセージにグループオプションでこのアドレスを返します。サーバーはさらにセッションIDを含める必要があります。例えば、クライアントがそれに割り当てられたグループを使用して確認すること - それは、いくつかの状態を維持することである場合、これは、サーバーを助けるかもしれません。良いセッションIDを予測することは困難である擬似ランダムバイトの文字列になります。 [RFC4086]を参照してください。サーバは、適切なグループアドレスを見つけることができない場合は開始メッセージには接頭辞がなかった場合、または、それは、クライアントが利用可能であるかもしれないものプレフィックスリストのプレフィックスオプションを含むサーバーの応答メッセージを送信することができます。開始メッセージは、サーバー情報オプションを要求した場合最後に、サーバは、そのオプションを含める必要があります。
When the server receives an Echo Request message, it must first check that the group address and Session ID (if provided) are valid. If the server is satisfied, it will send a unicast Echo Reply message back to the client, and also a multicast Echo Reply message to the group address. The Echo Reply messages contain the exact options (but no Session ID), and in the same order as in the Echo Request; after that, the server adds a TTL option and additional options if needed. For example, it may add a timestamp if requested by the client. If the server is not happy with the Echo Request (such as bad group address or Session ID, or request is too large), it may send a Server Response message asking the client to stop. This Server Response must echo the sequence number from the Echo Request.
サーバーは、Echo Requestメッセージを受信すると、最初のグループアドレスと(提供された場合)、セッションIDが有効であることを確認する必要があります。サーバーを満たしている場合にはグループアドレスにもマルチキャストエコー応答メッセージをクライアントに戻しユニキャストエコー応答メッセージを送信し、します。エコーは、正確なオプション(ただし、セッションID)を含有し、そして同じ順序でエコー要求のようにメッセージを返信します。必要に応じてその後、サーバはTTLオプションと追加のオプションが追加されます。クライアントによって要求された場合例えば、それは、タイムスタンプを追加することができます。サーバーは、エコー要求に満足していない(ような悪いグループアドレスやセッションIDなど、または要求が大きすぎる)場合には、それが停止するようにクライアントを求めてサーバーの応答メッセージを送信することができます。このサーバーの応答エコー要求からシーケンス番号をエコーしなければなりません。
This Server Response may contain group prefixes from which a client can try to request a group address. The unicast and multicast Echo Reply messages have identical UDP payload, apart from possibly TTL and timestamp option values.
このサーバーの応答は、クライアントがグループアドレスを要求しようとすることができ、そこからグループプレフィクスが含まれていてもよいです。ユニキャストおよびマルチキャストエコーは、おそらくTTLおよびタイムスタンプオプション値から離れて、メッセージが同一UDPペイロードを有する返信。
Note that the server may receive Echo Request messages with no prior Init message. This may happen when the server restarts or if a client sends an Echo Request with no prior Init message. The server may go ahead and respond if it is okay with the group and Session ID (if included) used. If it is not okay with this information, the server sends back a Server Response.
サーバーはありません前に開始メッセージをエコー要求メッセージを受け取ることがあります。クライアントは、事前開始メッセージとエコー要求を送信した場合、サーバーが再起動したりするときに発生することがあります。サーバーは、先に行くとそれが使用するグループとセッションID(含まれている場合)で大丈夫であれば応答することができます。それはこの情報と大丈夫ではない場合、サーバーは、サーバーの応答を返します。
The protocol, as specified, is fairly flexible and leaves a lot of freedom for implementers. In this section, we present some recommendations.
プロトコルは、指定されたとおり、かなり柔軟性があり、実装のための自由の多くを残します。このセクションでは、我々はいくつかの提言を提示します。
Server administrators should be able to configure one group prefix or multiple group prefixes in a server implementation. When deploying servers on the Internet and in other environments, the server administrator should be able to restrict the server to respond to only a few multicast groups that should not be currently used by multicast applications. A server implementation should also provide flexibility for an administrator to apply various policies to provide one group prefix or multiple group prefixes to specific clients, e.g., site-scoped addresses for clients that are inside the site.
サーバー管理者は、サーバの実装で1つのグループプレフィックスまたは複数のグループプレフィクスを設定することができるはずです。インターネット上や他の環境でのサーバーを展開する場合、サーバー管理者は、現在のマルチキャストアプリケーションで使用すべきではありませんほんの数マルチキャストグループに対応するためにサーバーを制限することができるはずです。サーバの実装はまた、例えば、特定のクライアントに、サイト内にあるクライアントのためのサイトスコープのアドレスを1つのグループプレフィックスまたは複数のグループプレフィクスを提供するために、さまざまなポリシーを適用するには、管理者のための柔軟性を提供する必要があります。
As specified in Section 3.5, for a given client, a server must by default respond to at most an average rate of Default-Server-Rate-Limit Echo Request messages per second. A leaky bucket algorithm is suggested, where the rate can be higher for a few seconds, but the average rate should by default be limited to Default-Server-Rate-Limit messages per client per second. Server implementations should provide administrative control of which client IP addresses to serve, and may also allow certain clients to perform more rapid rates of Echo Request messages.
特定のクライアントのために、3.5節で指定されているように、サーバーなければならないデフォルトの応答によって毎秒デフォルト・サーバー・レート制限エコー要求メッセージの最大で平均レートへ。リーキーバケットアルゴリズムは、レートが数秒間高くすることができる場所、提案されていますが、平均レートはデフォルトで毎秒クライアントあたりのメッセージ・サーバー・レート制限のデフォルトに限定されるべきです。サーバ実装は、クライアントIPを提供するためにどのアドレスの管理制御を提供する必要があり、また、特定のクライアントは、エコー要求メッセージのより迅速な速度を実行することを可能にします。
If a server uses different policies for different IP addresses, it should require clients to send Init messages and return an unpredictable Session ID to help mitigate spoofing. This is an absolute requirement if exceeding the default rate limit. See the specification in Section 3.5.
サーバが異なるIPアドレスごとに異なるポリシーを使用している場合、それは初期化メッセージを送信し、なりすましを軽減するために、予測不可能なセッションIDを返すようにクライアントに要求すべきです。これはデフォルトのレート制限を超えた場合は絶対条件です。 3.5節で仕様を参照してください。
IANA has assigned UDP user port 9903 (multicast-ping) for use by this protocol. IANA also provides registries for message and option types.
IANAは、このプロトコルで使用するためにUDPユーザポート9903(マルチキャストのping)を割り当てました。 IANAは、メッセージとオプションの種類のレジストリを提供します。
IANA has created a message types registry. Message types are in the range 0-255. Message types 0-253 are registered following the procedures for Specification Required from RFC 5226 [RFC5226], while types 254 and 255 are for experimental use. The registry includes the messages defined in Section 3.4. A message specification MUST describe the behaviour with known option types as well as the default behaviour with unknown option types.
IANAは、メッセージタイプのレジストリを作成しました。メッセージタイプは0〜255の範囲です。タイプ254及び255は実験的使用のためにいる間メッセージタイプ0から253は、RFC 5226の仕様が必要のための手順[RFC5226]以下に登録されています。レジストリは、3.4節で定義されたメッセージを含んでいます。メッセージ仕様は、既知のオプションの種類だけでなく、未知のオプションタイプとデフォルトの動作と動作を説明しなければなりません。
IANA has created an option type registry. Option types 0-65531 are registered following the procedures for Specification Required from RFC 5226 [RFC5226], while types 65532-65535 are for experimental use. The registry should include the options defined in Section 3.2. An option specification must describe how the option may be used with the known message types. This includes which message types the option may be used with.
IANAは、オプションタイプのレジストリを作成しました。タイプは65532から65535は、実験使用のためであるがオプションタイプ0から65531は、[RFC5226] RFC 5226の仕様が必要のための手順に従って登録されています。レジストリは、3.2節で定義されたオプションを含める必要があります。オプションの指定はオプションでは、既知のメッセージ・タイプで使用することができる方法を説明しなければなりません。このオプションを一緒に使用することができるメッセージのタイプが含まれます。
The initial registry definitions are as follows:
次のように初期レジストリの定義は以下のとおりです。
Multicast Ping Protocol Parameters:
マルチキャストのPingプロトコルパラメータ:
Registry Name: Multicast Ping Protocol Message Types Reference: RFC 6450 Registration Procedures: Specification Required
レジストリ名:マルチキャストのPingプロトコルメッセージタイプを基準:RFC 6450登録手順:仕様が必要
Registry: Type Name Reference ----------- ------------------------------------ ---------- 65 Echo Reply RFC 6450 73 Init RFC 6450 81 Echo Request RFC 6450 83 Server Response RFC 6450 254-255 Experimental
Registry Name: Multicast Ping Protocol Option Types Reference: RFC 6450 Registration Procedures: Specification Required
レジストリ名:マルチキャストのPingプロトコルオプションの種類を参照:RFC 6450の登録手順:仕様が必要
Registry: Type Name Reference ----------- ------------------------------------ ---------- 0 Version RFC 6450 1 Client ID RFC 6450 2 Sequence Number RFC 6450 3 Client Timestamp RFC 6450 4 Multicast Group RFC 6450 5 Option Request RFC 6450 6 Server Information RFC 6450 7 Deprecated RFC 6450 8 Deprecated RFC 6450 9 TTL RFC 6450 10 Multicast Prefix RFC 6450 11 Session ID RFC 6450 12 Server Timestamp RFC 6450 65532-65535 Experimental
There are some security issues to consider. One is that a host may send an Echo Request with an IP source address of another host, and make an arbitrary multicast ping server on the Internet send packets to this other host. This behaviour is fairly harmless. The worst case is if the host receiving the unicast Echo Reply messages also happens to be joined to the multicast group used. This is less of a problem for SSM, where also the source address of the server must match the address joined. In this case, there would be an amplification effect, where the host receives twice as many replies as there are requests sent. See below for how spoofing can be mitigated.
考慮すべきいくつかのセキュリティ問題があります。一つは、ホストが別のホストのIP送信元アドレスを持つエコー要求を送信し、インターネット上の任意のマルチキャストのpingサーバーは、この他のホストにパケットを送信させることです。この動作はかなり無害です。ユニキャストのエコー応答メッセージを受信したホストも使用マルチキャストグループに参加することが発生した場合、最悪のケースです。これは、サーバーの送信元アドレスが参加したアドレスと一致している必要があり、またSSM、問題のための小さいです。この場合、送信された要求があると、ホストが2倍の数の回答を受けて増幅効果、が存在することになります。なりすましを緩和することができるかについては、以下を参照してください。
For ASM (Any-Source Multicast), a host could also make a multicast ping server send multicast packets to a group that is used for something else, possibly disturbing other uses of that group. However, server implementations should allow administrators to restrict which groups a server responds to. The administrator should then try to configure a set of groups that are not used for other purposes. Another concern is bandwidth. To limit the bandwidth used, a server MUST by default limit the number of clients that can be served at the same time, and a server MUST also by default perform per-client rate limiting.
ASM(エニーソースマルチキャスト)の場合、ホストは、マルチキャストのpingサーバーはおそらく、そのグループの他の用途を乱す、他の何かのために使用されているグループにマルチキャストパケットを送信作ることができます。ただし、サーバーの実装により、管理者は、サーバが応答するグループを制限できるようにする必要があります。管理者は、他の目的で使用されていないグループのセットを設定してみてください。もう一つの懸念は、帯域幅です。使用する帯域幅を制限するには、サーバはデフォルトで同時に提供することができるクライアントの数を制限しなければなりませんし、また、サーバは、デフォルトではクライアントごとのレート制限を実行しなければなりません。
In order to help mitigate spoofing, a server SHOULD require that the client send an Init message, and return an unpredictable Session ID in the response. The ID should be associated with the IP address and have a limited lifetime. The server SHOULD then only respond to Echo Request messages that have a valid Session ID associated with the source IP address of the Echo Request. Note, however, that a server is replying with a Server Response message if the Session ID is invalid. This is used to tell the client that something is wrong and that it should stop sending requests, and start over if necessary. This means, however, that someone may spoof a client request, and have the server send a message back to the client address. One solution here would be for the server to have a very low rate limit for the Server Response messages.
なりすましを軽減するために、サーバーは、クライアントが初期化メッセージを送信することを要求し、それに応答して予測不可能なセッションIDを返すべきです。 IDは、IPアドレスに関連付けられており、限られた寿命を持つべきです。その後、サーバは、唯一のエコー要求の送信元IPアドレスに関連付けられた有効なセッションIDを持つ要求メッセージをエコーするために応答する必要があります。セッションIDが無効な場合、サーバーは、サーバーの応答メッセージで応答していること、しかし、注意してください。これは、リクエストの送信を停止し、必要に応じて、最初からやり直す必要があることを何かが間違っていることをクライアントに伝えるために使用されます。これは、誰かがクライアントの要求を偽造し、サーバがクライアントのアドレスに戻ってメッセージを送信する必要がありうることが、意味します。サーバーは、サーバーの応答メッセージのための非常に低いレート制限を持っているため、ここで一つの解決策は次のようになります。
Note that the use of a Session ID only to some degree helps mitigate spoofing. An attacker that is on the path between a client and a server may eavesdrop the traffic, learn a valid Session ID, and generate Echo Request messages using this ID. The server will respond as long as the Session ID remains valid.
唯一ある程度セッションIDの使用はスプーフィングを軽減しますので注意してください。クライアントとのトラフィックを盗聴することがあり、サーバー間のパス上にある攻撃者は、有効なセッションIDを学習し、このIDを使用してエコー要求メッセージを生成します。サーバーは、セッションIDが有効であり続ける限り、対応させていただきます。
This protocol may be used to establish a covert channel between a multicast ping client and other hosts listening to a multicast group. A client can, for instance, send an Echo Request containing an undefined option with arbitrary data. The server would echo this back in an Echo Reply that may reach other hosts listening to that group. One solution that should be considered for future protocol versions is to reply with a hash of the data, rather than simply a copy of the same data.
このプロトコルは、マルチキャストグループを聞くマルチキャストピングクライアントと他のホストとの間の隠れチャネルを確立するために使用されてもよいです。クライアントは、例えば、任意のデータと、未定義のオプションを含むエコー要求を送信することができます。サーバーは、そのグループに聞いて他のホストに到達することがエコー応答では、このバックをエコーでしょう。将来のプロトコルバージョンのために考慮すべき一つの解決策ではなく、単によりも、データのハッシュと同じデータのコピーを返信することです。
The ssmping concept was proposed by Pavan Namburi, Kamil Sarac, and Kevin C. Almeroth in the paper "SSM-Ping: A Ping Utility for Source Specific Multicast" (2004) and also "MPing: A Ping Utility for IP Multicast" (Sarac and Almeroth, 2004). Mickael Hoerdt contributed several ideas. Alexander Gall, Nicholas Humfrey, Nick Lamb, and Dave Thaler have contributed in different ways to the implementation of the ssmping tools [IMPL]. Many people in communities like the Trans-European Research and Education Networking Association (TERENA), Internet2, and the M6Bone (IPv6 multicast network) have used early implementations of ssmping and provided feedback that influenced the current protocol. Thanks to Kevin Almeroth, Tony Ballardie, Bill Cerveny, Toerless Eckert, Marshall Eubanks, Gorry Fairhurst, Alfred Hoenes, Liu Hui, Bharat Joshi, Olav Kvittem, Hugo Santos, Kamil Sarac, Pekka Savola, Trond Skjesol, and Cao Wei for reviewing and providing feedback on this document. In particular, Hugo, Gorry, and Bharat provided lots of input on several revisions of the document.
ssmpingの概念は、紙「SSM-のPing:ソース固有マルチキャストのためのPingユーティリティ」でPavan Namburi、カミルSarac、そしてケビン・C. Almerothによって提案された(2004)も「MPING:IPマルチキャストのためのPingユーティリティ」(SaracそしてAlmeroth、2004)。ミカエル・Hoerdtはいくつかのアイデアを貢献しました。アレクサンダー・ガル、ニコラスHumfrey、ニック・ラム、とDaveターラーはssmpingツール[IMPL]の実装にさまざまな方法で貢献してきました。欧州横断研究教育ネットワーク協会(TERENA)、インターネット2、およびM6Bone(IPv6マルチキャストネットワーク)などのコミュニティで多くの人々がssmpingの初期の実装を使用して現在のプロトコルに影響を与えたフィードバックを提供しています。ケビンAlmeroth、トニーBallardie、ビルCerveny、Toerlessエッカート、マーシャルユーバンクス、Gorry Fairhurst、アルフレッドHoenes、劉輝、バーラト・ジョシ、オラフKvittem、ヒューゴ・サントス、カミルSarac、ペッカSavola、トロンSkjesol、と魏のおかげでレビューするとこのドキュメントに関するフィードバックを提供します。特に、ヒューゴ、Gorry、およびバーラトは、ドキュメントのいくつかの改正に入力の多くを提供します。
[ADDRFAMILY] IANA, "Address Family Numbers", <http://www.iana.org/assignments/address-family-numbers>.
[ADDRFAMILY] IANA、 "アドレスファミリ番号"、<http://www.iana.org/assignments/address-family-numbers>。
[RFC0768] Postel, J., "User Datagram Protocol", STD 6, RFC 768, August 1980.
[RFC0768]ポステル、J.、 "ユーザ・データグラム・プロトコル"、STD 6、RFC 768、1980年8月。
[RFC0792] Postel, J., "Internet Control Message Protocol", STD 5, RFC 792, September 1981.
[RFC0792]ポステル、J.、 "インターネット制御メッセージプロトコル"、STD 5、RFC 792、1981年9月。
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2119]ブラドナーの、S.、 "要件レベルを示すためにRFCsにおける使用のためのキーワード"、BCP 14、RFC 2119、1997年3月。
[RFC3629] Yergeau, F., "UTF-8, a transformation format of ISO 10646", STD 63, RFC 3629, November 2003.
[RFC3629] Yergeau、F.、 "UTF-8、ISO 10646の変換フォーマット"、STD 63、RFC 3629、2003年11月。
[RFC4086] Eastlake 3rd, D., Schiller, J., and S. Crocker, "Randomness Requirements for Security", BCP 106, RFC 4086, June 2005.
[RFC4086]イーストレーク3、D.、シラー、J.、およびS.クロッカー、 "セキュリティのためのランダム要件"、BCP 106、RFC 4086、2005年6月。
[RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 5226, May 2008.
[RFC5226] Narten氏、T.とH. Alvestrand、 "RFCsにIANA問題部に書くためのガイドライン"、BCP 26、RFC 5226、2008年5月。
[IMPL] Venaas, S., "ssmping implementation", <http://software.uninett.no/ssmping/>.
【IMPL] Venaas、S.、 "ssmping実装"、<http://software.uninett.no/ssmping/>。
[RFC5405] Eggert, L. and G. Fairhurst, "Unicast UDP Usage Guidelines for Application Designers", BCP 145, RFC 5405, November 2008.
[RFC5405]エッゲルト、L.とG. Fairhurst、 "アプリケーションデザイナーのためのユニキャストUDPの使用上の注意事項"、BCP 145、RFC 5405、2008年11月。
[RFC5905] Mills, D., Martin, J., Ed., Burbank, J., and W. Kasch, "Network Time Protocol Version 4: Protocol and Algorithms Specification", RFC 5905, June 2010.
[RFC5905]ミルズ、D.、マーティン、J.、エド、バーバンク、J.、およびW. Kasch、 "ネットワークタイムプロトコルバージョン4:プロトコルとアルゴリズムの仕様"、RFC 5905、2010年6月。
Author's Address
著者のアドレス
Stig Venaas Cisco Systems Tasman Drive San Jose, CA 95134 USA
スティグVenaasシスコシステムズタスマン・ドライブサンノゼ、CA 95134 USA
EMail: stig@cisco.com
メールアドレス:stig@cisco.com