Network Working Group B. Volz Request for Comments: 3074 Ericsson Category: Standards Track S. Gonczi Network Engines, Inc. T. Lemon Internet Engines, Inc. R. Stevens Join Systems, Inc. February 2001
DHC Load Balancing Algorithm
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 (2001). All Rights Reserved.
著作権(C)インターネット協会(2001)。全著作権所有。
Abstract
抽象
This document proposes a method of algorithmic load balancing. It enables multiple, cooperating servers to decide which one should service a client, without exchanging any information beyond initial configuration.
この文書では、アルゴリズムの負荷分散の方法を提案しています。これは、1つは、初期設定を越えた情報交換をせずに、クライアントにサービスを提供すべきかを決定するためのサーバを連携し、複数のことができます。
The server selection is based on the servers hashing client Media Access Control (MAC) addresses when multiple Dynamic Host Configuration Protocol (DHCP) servers are available to service DHCP clients. The proposed technique provides for efficient server selection when multiple DHCP servers offer services on a network without requiring any changes to existing DHCP clients. The same method is proposed to select the target server of a forwarding agent such as a Bootstrap Protocol (BOOTP) relay.
複数の動的ホスト構成プロトコル(DHCP)サーバがサービスDHCPクライアントに用意されていたときに、サーバーの選択は、クライアントのメディアアクセス制御(MAC)アドレスをハッシュのサーバーに基づいています。複数のDHCPサーバーは、既存のDHCPクライアントへの変更を必要とせずに、ネットワーク上のサービスを提供する場合、提案手法は、効率的なサーバ選択のために用意されています。同様の方法は、ブートストラッププロトコル(BOOTP)リレーとして転送エージェントのターゲット・サーバーを選択することが提案されています。
This protocol was originally devised to support a specific load balancing optimization of the DHCP Failover Protocol [FAILOVR]. The authors later realized that it could be used to optimize the behavior of cooperating DHCP servers and the BOOTP relay agents that forward packets to them. The proposal makes it possible to set up each participating server to accept a preconfigured (approximate) percentage of the client load. This is done using a deterministic hashing algorithm, that could easily be applied to other protocols having similar characteristics.
このプロトコルは、もともとDHCPフェールオーバーのプロトコル[FAILOVR]の具体的な負荷分散の最適化をサポートするために考案されました。著者は、後で協力DHCPサーバーとそれらにパケットを転送BOOTPリレーエージェントの動作を最適化するために使用することができることを実現しました。提案は、クライアントの負荷の事前設定された(おおよその)パーセンテージを受け入れるために、各参加サーバを設定することが可能となります。これは簡単に同様の特性を有する他のプロトコルに適用することができる決定論的ハッシュアルゴリズムを使用して行われます。
This section discusses both the generic requirements terminology common to many IETF protocol specifications, and also terminology introduced by this document.
このセクションでは、多くのIETFプロトコル仕様に共通する一般的な要件の用語の両方を説明し、また、本文書によって導入された用語。
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 [RFC 2119].
この文書のキーワード "MUST"、 "MUST NOT"、 "REQUIRED"、、、、 "べきではない" "べきである" "ないもの" "ものとし"、 "推奨"、 "MAY"、および "OPTIONAL" はありますRFC 2119 [RFC 2119]に記載されているように解釈されます。
This document introduces the following terms:
このドキュメントでは、次の用語が導入されています。
Service Delay, SD A load balancing parameter, allowing delayed service of a client by a server participating in the load-balancing scheme, instead of ignoring the client.
サービスの遅延、SD代わりにクライアントを無視しての、ロードバランシングスキームに参加するサーバがクライアントの遅延サービスを許可する負荷分散パラメータ、。
Hash Bucket Assignments, HBA A configuration directive that assigns a set of hash bucket values to a server participating in the load-balancing scheme.
ハッシュバケットの割り当ては、ロードバランシングスキームに参加するサーバーにハッシュバケット値のセットを割り当て、設定ディレクティブをHBA。
Server ID, SID An identifier that can be used to designate one of the participating Servers. In the context of DHCP, the SID is the IP address or DNS name of the server.
サーバーのID、SIDの参加サーバーのいずれかを指定するために使用可能な識別子。 DHCPの文脈では、SIDはサーバーのIPアドレスまたはDNS名です。
Service Transaction, ST A set of client-server exchanges that lead to a server providing or denying some service to a client. Example: the DISCOVER/OFFER/ REQUEST/ACK message exchange between a DHCP server and client is a service transaction.
サービストランザクション、ST Aがクライアントにいくつかのサービスを提供するか、拒否サーバにつながるクライアントサーバ交換のセット。例:DHCPサーバーとクライアント間のDISCOVER / OFFER / REQUEST / ACKメッセージ交換は、サービス取引です。
Service Transaction ID, STID An attribute of the individual client requests used for load-balancing.
サービストランザクションID、STID負荷分散のために使用される個々のクライアント要求の属性。
Because DHCP clients use UDP broadcasts to contact DHCP servers, a client DHCPDISCOVER message may be received by more than one server. All servers receiving such a broadcast may respond to the client, letting the client choose which server it will use.
DHCPクライアントがDHCPサーバに接続するためにUDPブロードキャストを使用しているため、クライアントのDHCPDISCOVERメッセージは、複数のサーバーによって受信することができます。そのような放送を受信するすべてのサーバーは、クライアントが使用するサーバを選択させる、クライアントに応答することができます。
When a BOOTP relay agent is used, it typically forwards or rebroadcasts client broadcasts to all configured servers, so a similar inefficiency is present.
BOOTPリレーエージェントを使用する場合、一般的に転送または再ブロードキャストクライアントはとても似て非効率性が存在し、すべての構成済みのサーバにブロードキャストします。
The optimization described allows a server to be chosen for each such transaction by performing a "serve" / "do not serve" computation. A forwarding agent can perform the same computation to choose a forwarding destination.
説明最適化は、サーバは、「サーブ」/「役に立たない」の演算を実行することにより、そのような各トランザクションのために選択されることを可能にします。転送エージェントは、転送先を選択するために、同じ計算を実行することができます。
In either case, the choice of server can be computed, without the participants having to negotiate who is to respond.
いずれの場合も、サーバーの選択は、参加者が応答するが誰であるかを交渉することなく、計算することができます。
The approach is probabilistic in nature, because it is nearly impossible to foresee which client will request service next. For short periods of time, the actual percentage of clients served by a given server will likely deviate from the desired percentage. As the number of requests grows, the actual percentage of the load being handled by each server will approximate the configured percentage.
次のサービスを要求するどのクライアント予見することはほぼ不可能であるためのアプローチは、本質的に確率的です。時間の短い期間のために、特定のサーバーがサービスを提供するクライアントの実際の割合は、おそらく希望の割合から外れます。要求の数が増えるように、各サーバによって処理される負荷の実際の割合は、構成割合に近似します。
DHCP servers MUST use the Client Identifier option as the STID if it is present. If no Client Identifier option is present, the hlen field of the DHCP packet MUST be used as the length of the data to be hashed, and the contents of the chaddr MUST be the data to be hashed. At most the first sixteen bytes of the Client Identifier or chaddr are used.
それが存在する場合、DHCPサーバは、STIDとしてクライアント識別子オプションを使用しなければなりません。いかなるクライアント識別子オプションが存在しない場合、DHCPパケットのHLENフィールドをハッシュするデータの長さとして使用する必要があり、かつとchaddrの内容をハッシュするデータでなければなりません。せいぜいクライアント識別子またはとchaddrの最初の16のバイトが使用されています。
The proposal maps the STID into a hash value using the function in section 6. The resulting hash value can then be used to decide who should respond to the request, or who the forwarding target should be.
提案は、結果のハッシュ値6.セクションの機能を使用してハッシュ値にSTIDをマッピングし、要求に応答しなければならない人、または転送先がどうあるべきかを決めるために使用することができます。
The provided hash function generates hash values 0 to 255, and yields a fairly even hash bucket distribution for random STID-s, and also for STID sequences that have some pattern. Resource allocation is accomplished by assigning a set of specific hash values to each participating server.
提供されるハッシュ関数は、255にハッシュ値0を生成し、ランダムSTID-Sの、またいくつかのパターンを有するSTID配列についてかなりもハッシュバケット分布が得られます。リソース割り当ては、各参加サーバーに特定のハッシュ値のセットを割り当てることによって達成されます。
A server will only service a request if the STID hash of the request matches one of its assigned hash values.
要求のSTIDハッシュがその割り当てられたハッシュ値のいずれかに一致する場合、サーバは要求を処理します。
Any hash buckets not assigned to servers will result in some client ST-s being entirely ignored. (In some scenarios, this may be a desirable outcome.) STID-s need not be unique, but should have sufficient variety to distribute load to each server.
サーバに割り当てられていない任意のハッシュバケットは、一部のクライアントST-sは完全に無視されているになります。 (いくつかのシナリオでは、これは望ましい結果であってもよい。)STID-sが一意である必要はないが、各サーバに負荷を分散するのに十分な多様性を有していなければなりません。
HBA-s MAY be transmitted as messages, encapsulated in messages of some other protocol, e.g., e-mail, or DHCP Failover Protocol option.
HBA-Sは、いくつかの他のプロトコル、例えば、電子メール、またはDHCPフェールオーバーのプロトコルオプションのメッセージにカプセル化、メッセージとして送信してもよいです。
DHCP server implementations may optionally be configurable to handle a case where load balancing is being done but the server that is supposed to respond is not available, or is out of suitable addresses.
DHCPサーバの実装は、必要に応じて、ロード・バランシングが行われているが、対応することになっているサーバーが利用できない、または適切なアドレスの外にある場合を処理するために構成可能です。
DHCP server implementations that provide this capability SHOULD set the DS (Delayed Service) configuration parameter to the number of seconds to wait after the client's first request has been sent before responding to a client, where the hash would not normally permit the client to be served.
DS(遅延サービス)ハッシュは、通常のクライアントを認めていないクライアントに応答する前に、クライアントの最初の要求が送信された後に待機する秒数に設定パラメータを設定すべきで、この機能を提供するDHCPサーバの実装を提供します。
A DHCP server providing this capability SHOULD use the value in the secs field of the client request if its value is not zero. Because some clients may not correctly implement the secs field, a DHCP server MAY keep track of the first instance of a client transaction to which it would not normally respond. If the server receives a request from a client that has the same transaction ID as a previously recorded request, and if the secs field in the second packet is zero, the DHCP server MAY use the elapsed time (seconds) between the first and subsequent client request, instead of the secs field.
その値がゼロでない場合は、この機能を提供するDHCPサーバは、クライアント要求の秒フィールドに値を使用する必要があります。一部のクライアントが正しく秒のフィールドを実装していない可能性があるため、DHCPサーバは、それが正常に応答しないことになるにクライアントトランザクションの最初のインスタンスを追跡するかもしれません。サーバは、以前に記録された要求と同じトランザクションIDを持つクライアントからの要求を受けて、第2のパケットで秒フィールドがゼロの場合、DHCPサーバは、最初と後続のクライアントの間の経過時間(秒)を使用する可能性がある場合代わり秒フィールドの要求、。
The configuration step consists of assigning hash values to available servers. This is accomplished by providing one or more Hash Bucket Assignments (HBA-s). These may come from a configuration file, the Windows NT registry, EEPROM, etc. Alternatively, the hash bucket values could be assigned using some agreed upon algorithm. E.g., "Every odd value is serviced by server A and every even value is serviced by server B".
設定ステップは、利用可能なサーバにハッシュ値を割り当てることから成ります。これは、1つのまたは複数のハッシュバケット割り当て(HBA-S)を提供することによって達成されます。これらはまた、ハッシュバケット値は、いくつかのアルゴリズムに合意使用して割り当てることができますなど、EEPROM、Windows NTレジストリ、構成ファイルから来るかもしれません。例えば、「すべての奇数値は、サーバAによってサービスされ、すべての偶数値は、サーバーBによってサービスされます」。
When configuring one specific server, an HBA in the form of a simple bit map of 32 octet values SHOULD be used.
一つの特定のサーバを構成する場合、32のオクテット値の単純なビットマップの形のHBAを使用すべきです。
The first octet in the HBA bitmap represents HBA values 0-7, the next byte values 8-15, and so on, with the thirty-second octet representing values 248-255. In each octet, the least significant bit in that octet represents the smallest HBA value in that octet.
HBAビットマップの最初のオクテットは、次のバイトは、値248-255を示す第32オクテットと、そうで8-15値と、HBAは0-7値を表します。各オクテットでは、そのオクテットの最下位ビットはそのオクテットの最小HBA値を表します。
Each bit of the HBA is associated with one possible hash value. If a bit is set in the map, it means the recipient server MUST service each client request, where the STID yields the corresponding hash value.
HBAの各ビットは、一つの可能なハッシュ値と関連しています。ビットがマップに設定されている場合は、受信者のサーバーがSTIDが対応するハッシュ値を生成する各クライアントの要求を、サービスを提供しなければならないことを意味します。
For example, if a server is configured with an HBA of the following 32 octets:
例えば、サーバは、以下の32オクテットのHBAで構成されている場合:
FF FF FF FF FF FF 00 00 ( 0 - 63 ) FF FF FF FF FF FF FF FF ( 64 - 127 ) 00 00 00 00 00 00 00 00 (128 - 191 ) 00 00 00 00 00 00 00 00 (192 - 255 )
then it MUST service any client requests where the STID hashes into the bucket values of 0 through 47 and 64 through 127.
それはSTIDは47と127 64〜0〜のバケット値にハッシュ任意のクライアント要求にサービスを提供しなければなりません。
The Delayed Service parameter is optional.
遅延サービスパラメータはオプションです。
If the parameter is not configured, the HBA sets up a strict Serve/Do not serve policy.
パラメータが設定されていない場合、HBAは、厳格なサービスしない/サーブポリシーを設定します。
If the parameter is configured, the server that is not supposed to serve a specific request (based on the HBA and the STID hash), is allowed to respond, after S seconds have elapsed since the client first attempted to get service. A server MAY use the secs field in the BOOTP header for determining the time since the client has been trying to get service, or it MAY track repeated requests some other way.
パラメータが設定されている場合は、クライアントが最初のサービスを取得しようとしましたので、S秒が経過した後に、(HBAおよびSTIDハッシュに基づいて)特定の要求にサービスを提供することになっていないサーバは、応答することが許可されています。サーバーは、クライアントがサービスを取得しようとしてきた、またはそれは再三の要求にいくつかの他の方法を追跡することができるので、時間を決定するためのBOOTPヘッダー内の秒フィールドを使用するかもしれません。
When configuring a forwarding agent, (e.g., BOOTP relay) HBA-s consisting of pairs of Server-ID / Hash Bucket values MAY be used.
転送エージェントを構成する場合、(例えば、BOOTPリレー)サーバID /ハッシュバケット値のペアからなるHBA-Sを使用してもよいです。
Here, the Server ID (SID) designates the server responsible for the specified Hash Bucket. The forwarding agent forwards each client request, where the STID yields the specified hash value, to the server designated by the SID.
ここでは、サーバーのID(SID)が指定されたハッシュバケットを担当するサーバーを指定します。転送エージェントは、STIDは、SIDで指定されたサーバに、指定されたハッシュ値を生成する各クライアント要求を、転送します。
The Server ID may be any unique server attribute, (e.g., IP address, DNS name, etc.) that is meaningful in the context of the relay agent operation.
サーバIDは、リレーエージェントの動作の文脈で意味がある任意の一意のサーバ属性、(例えば、IPアドレス、DNS名、等)であってもよいです。
A forwarder may be configured to forward a given packet to more than one server. For example, a BOOTP relay could be set up to split the load between 2 primary-backup server pairs, each pair running the DHCP Failover Protocol [FAILOVR]. In this case, a packet that is intended for a server pair Will have to be forwarded to both the primary, and the secondary server of the pair.
フォワーダは、複数のサーバに与えられたパケットを転送するように構成することができます。例えば、BOOTPリレーは2プライマリバックアップサーバのペア、DHCPフェールオーバープロトコル[FAILOVR]を実行している各ペア間の負荷を分割するように設定することができます。この場合、サーバのペアのために意図されたパケットは、プライマリ、およびペアのセカンダリサーバの両方に転送する必要があります。
A possible configuration file for a forwarding agent (e.g., BOOTP relay) may look like this:
転送エージェント(例えば、BOOTPリレー)の可能なコンフィギュレーションファイルは、次のようになります。
192.33.43.11 192.33.43.12: 0..24; 192.33.43.13: 25..55; 192.33.43.15: 56..128; 192.33.43.16: 129 130 131 200..202;
The above configuration consists of 4 HBA-s. The first HBA example reads: "Any Client request, where the STID yields a hash value 0 to 24, will be forwarded to both server 192.33.43.11 and 192.33.43.12".
上記構成では、4 HBA-Sから成ります。第HBA例読み取り:「STID 24にハッシュ値0を生じる任意のクライアント要求を、サーバ192.33.43.11と192.33.43.12の両方に転送されます」。
The 4th HBA example states: "Any Client request, where the STID yields a hash value 129,139,131,200,201 or 202, will be forwarded to server 192.33.43.16.
第4回HBAの例は述べて:「STIDハッシュ値129,139,131,200,201または202を生成する任意のクライアント要求は、サーバー192.33.43.16に転送されます。
The following hash function is a C language implementation of the algorithm known as "Pearson's hash". The Pearson's hash algorithm was originally published in [PEARSON].
次のハッシュ関数は、「ピアソンのハッシュ」として知られているアルゴリズムのC言語の実装です。ピアソンのハッシュアルゴリズムは、もともと[PEARSON]に掲載されました。
The hash function is computationally inexpensive, requires an array lookup and xor operation for each key byte. To make this proposal work, all interoperable implementations MUST use this hash function, with the set of mixing table values given below:
ハッシュ関数は、計算的に安価である各キーのバイトの配列検索とXOR演算を必要とします。この提案を動作させるために、すべての相互運用可能な実装は、下記のテーブル値を混合するセットで、このハッシュ関数を使用する必要があります。
/* A "mixing table" of 256 distinct values, in pseudo-random order. */
unsigned char loadb_mx_tbl[256] ={ 251, 175, 119, 215, 81, 14, 79, 191, 103, 49, 181, 143, 186, 157, 0, 232, 31, 32, 55, 60, 152, 58, 17, 237, 174, 70, 160, 144, 220, 90, 57, 223, 59, 3, 18, 140, 111, 166, 203, 196, 134, 243, 124, 95, 222, 179, 197, 65, 180, 48, 36, 15, 107, 46, 233, 130, 165, 30, 123, 161, 209, 23, 97, 16, 40, 91, 219, 61, 100, 10, 210, 109, 250, 127, 22, 138, 29, 108, 244, 67, 207, 9, 178, 204, 74, 98, 126, 249, 167, 116, 34, 77, 193, 200, 121, 5, 20, 113, 71, 35, 128, 13, 182, 94, 25, 226, 227, 199, 75,
unsigned char型のloadb_mx_tbl [256] = {251、175、119、215、81、14、79、191、103、49、181、143、186、157、0、232、31、32、55、60、152、 58、17、237、174、70、160、144、220、90、57、223、59、3、18、140、111、166、203、196、134、243、124、95、222、179、 197、65、180、48、36、15、107、46、233、130、165、30、123、161、209、23、97、16、40、91、219、61、100、10、210、 109、250、127、22、138、29、108、244、67、207、9、178、204、74、98、126、249、167、116、34、77、193、200、121、5、 20、113、71、35、128、13、182、94、25、226、227、199、75、
27, 41, 245, 230, 224, 43, 225, 177, 26, 155, 150, 212, 142, 218, 115, 241, 73, 88, 105, 39, 114, 62, 255, 192, 201, 145, 214, 168, 158, 221, 148, 154, 122, 12, 84, 82, 163, 44, 139, 228, 236, 205, 242, 217, 11, 187, 146, 159, 64, 86, 239, 195, 42, 106, 198, 118, 112, 184, 172, 87, 2, 173, 117, 176, 229, 247, 253, 137, 185, 99, 164, 102, 147, 45, 66, 231, 52, 141, 211, 194, 206, 246, 238, 56, 110, 78, 248, 63, 240, 189, 93, 92, 51, 53, 183, 19, 171, 72, 50, 33, 104, 101, 69, 8, 252, 83, 120, 76, 135, 85, 54, 202, 125, 188, 213, 96, 235, 136, 208, 162, 129, 190, 132, 156, 38, 47, 1, 7, 254, 24, 4, 216, 131, 89, 21, 28, 133, 37, 153, 149, 80, 170, 68, 6, 169, 234, 151 };
27, 41, 245, 230, 224, 43, 225, 177, 26, 155, 150, 212, 142, 218, 115, 241, 73, 88, 105, 39, 114, 62, 255, 192, 201, 145, 214, 168, 158, 221, 148, 154, 122, 12, 84, 82, 163, 44, 139, 228, 236, 205, 242, 217, 11, 187, 146, 159, 64, 86, 239, 195, 42, 106, 198, 118, 112, 184, 172, 87, 2, 173, 117, 176, 229, 247, 253, 137, 185, 99, 164, 102, 147, 45, 66, 231, 52, 141, 211, 194, 206, 246, 238, 56, 110, 78, 248, 63, 240, 189, 93, 92, 51, 53, 183, 19, 171, 72, 50, 33, 104, 101, 69, 8, 252, 83, 120, 76, 135, 85, 54, 202, 125, 188, 213, 96, 235, 136, 208, 162, 129, 190, 132, 156, 38, 47, 1, 7, 254, 24, 4, 216, 131, 89, 21, 28, 133, 37, 153, 149, 80, 170, 68, 6, 169, 234, 151 };
unsigned char loadb_p_hash( const unsigned char *key, /* The key to be hashed */ const int len ) /* Key length in bytes */ { unsigned char hash = len; int i;
for (i=len ; i > 0 ; ) hash = loadb_mx_tbl [ hash ^ key[ --i ] ];
return( hash ); }
(ハッシュ)を返します。 }
int accept_service_request( const unsigned char HBA[32], /* The hash bucket bitmap */ const unsigned char *key, /* The service transaction id */ const int len ) /* length of the above */ { unsigned char hash = loadb_p_hash(key,len); int index = (hash >> 3) & 31; int bitmask = 1 << (hash & 7);
/* return 1 if we should service this transaction */ return((HBA[index] & bitmask) != 0); }
This proposal in and by itself provides no security, nor does it impact existing security. Servers using this algorithm are responsible for ensuring that if the contents of the HBA are transmitted over the network as part of the process of configuring any server, that message be secured against tampering, since tampering with the HBA could result in denial of service for some or all clients.
それ自体によって、この提案には、セキュリティを提供しない、またそれは、既存のセキュリティに影響を与えません。このアルゴリズムを使用したサーバは、いくつかのためにサービス拒否が発生する可能性がHBAの改ざんので、HBAの内容は、任意のサーバーを構成するプロセスの一環として、ネットワークを介して送信されている場合、そのメッセージは、改ざんから保護することを保証する責任がありますまたはすべてのクライアント。
[FAILOVR] Kinnear, K,, Droms, R., Rabil, G., Dooley, M., Kapur, A., Gonczi, S. and B. Volz, "DHCP Failover Protocol", Work in Progress.
【FAILOVR]キニア、K ,, Droms、R.、Rabil、G.、ドゥーリー、M.、カプール、A.、Gonczi、S.およびB.フォルツ、 "DHCPフェールオーバープロトコル"、ProgressのWork。
[PEARSON] The Communications of the ACM Vol.33, No. 6 (June 1990), pp. 677-680.
【PEARSON] ACM Vol.33、第6号(1990年6月)、頁677から680までの通信。
[RFC2131] Droms, R., "Dynamic Host Configuration Protocol", RFC 2131, March 1997.
[RFC2131] Droms、R.、 "動的ホスト構成プロトコル"、RFC 2131、1997年3月。
[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月。
Special thanks to Peter K. Pearson, the author of Pearson's hash who has kindly granted his permission to use his algorithm, free of any encumbrances.
ピーター・K.ピアソン、親切に任意の係累のない、彼のアルゴリズムを使用するために彼の許可を与えたピアソンのハッシュの作者に感謝します。
This proposal stems from the original idea of hashing MAC addresses to a single bit by Ted Lemon, during a Failover Protocol discussion held at CISCO Systems in February, 1999. Rob Stevens suggested the potential use of this algorithm for purposes beyond those of the Failover Protocol.
この提案は、2月にシスコシステムズで開催されたフェイルオーバープロトコルの議論の間に、1999年ロブ・スティーブンスは、フェールオーバープロトコルのもの以外の目的のために、このアルゴリズムの使用の可能性を示唆し、テッド・レモンによって単一ビットにMACアドレスをハッシュのオリジナルのアイデアから茎。
Many thanks to Ralph Droms, Kim Kinnear, Mark Stapp, Glenn Waters, Greg Rabil and Jack Wong for their comments during the ongoing discussions.
現在進行中の議論の中で彼らのコメントのためのラルフDroms、キム・キニア、マーク・スタップ、グレン・ウォーターズ、グレッグRabilとジャック・ウォンに感謝します。
Bernie Volz Ericsson 959 Concord Street Framingham, MA 01701
バーニーフォルツエリクソン959コンコードストリートフラミンガム、MA 01701
Phone: +1-617-513-9060 EMail: bernie.volz@ericsson.com
電話:+ 1-617-513-9060 Eメール:bernie.volz@ericsson.com
Steve Gonczi Network Engines, Inc. 25 Dan Road Canton, MA 02021-2817
スティーブGoncziネットワークエンジン、株式会社25ダンロードカントン、マサチューセッツ州02021から2817
Phone: 781-332-1165 EMail: steve.gonczi@networkengines.com
電話:781-332-1165 Eメール:steve.gonczi@networkengines.com
Ted Lemon 950 Charter Street Redwood City, CA 94043
テッド・レモン950憲章ストリートレッドウッドシティ、CA 94043
EMail: ted.lemon@nominum.com
メールアドレス:ted.lemon@nominum.com
Rob Stevens Join Systems, Inc. 1032 Elwell Ct Ste 243 Palo Alto CA 94203
ロブ・スティーブンスは、Systems、Inc.の1032エルウェルのCtのSte 243パロアルトCA 94203に参加します
Phone: (650)-968-4470 EMail: robs@join.com
電話:(650)-968-4470 Eメール:robs@join.com
Copyright (C) The Internet Society (2001). All Rights Reserved.
著作権(C)インターネット協会(2001)。全著作権所有。
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 Editor機能のための基金は現在、インターネット協会によって提供されます。