[要約] RFC 3074は、DHCプロトコルの負荷分散アルゴリズムに関する規格であり、要約すると以下のようになります。1. DHCサーバーの負荷を均等に分散するためのアルゴリズムを定義しています。 2. クライアントのリクエストを複数のサーバーに分散させることで、ネットワークの負荷を軽減します。 3. 目的は、高可用性とパフォーマンスの向上を実現することです。

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

DHCロードバランシングアルゴリズム

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.

Copyright(c)The Internet Society(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.

このドキュメントでは、アルゴリズム負荷分散の方法を提案しています。これにより、複数の協力的なサーバーが、初期構成を超えて情報を交換せずに、クライアントにどのようなサービスが必要かを決定できます。

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)リレーなどの転送エージェントのターゲットサーバーを選択します。

1. Introduction
1. はじめに

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リレーエージェントの動作を最適化するために使用できることに気付きました。この提案により、各参加サーバーを設定して、クライアントの負荷の事前に構成された(おおよその)割合を受け入れることができます。これは、決定論的ハッシュアルゴリズムを使用して行われ、同様の特性を持つ他のプロトコルに簡単に適用できます。

2. Terminology
2. 用語

This section discusses both the generic requirements terminology common to many IETF protocol specifications, and also terminology introduced by this document.

このセクションでは、多くのIETFプロトコル仕様に共通する一般的な要件用語と、このドキュメントによって導入された用語の両方について説明します。

2.1. Requirements Terminology
2.1. 要件用語

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].

「必須」、「そうしない」、「必須」、「必要」、「「しない」、「そうでない」、「そうではない」、「そうでない」、「推奨」、「5月」、および「オプション」は、RFC 2119 [RFC 2119]に記載されているように解釈される。

2.2. Load Balancing Terminology
2.2. バランスの用語を積み込みます

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参加サーバーの1つを指定するために使用できる識別子。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 STは、クライアントにサービスを提供または拒否するサーバーにつながるクライアントサーバー交換のセットです。例:DHCPサーバーとクライアントの間の発見/オファー/リクエスト/ACKメッセージ交換は、サービストランザクションです。

Service Transaction ID, STID An attribute of the individual client requests used for load-balancing.

サービストランザクションID、STIDロードバランスに使用される個々のクライアント要求の属性。

3. Background and External Requirements
3. 背景と外部要件

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クライアントはUDPブロードキャストを使用してDHCPサーバーに連絡するため、クライアント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.

このアプローチは本質的に確率的です。なぜなら、どのクライアントが次にサービスをリクエストするかを予測することはほぼ不可能だからです。短期間、特定のサーバーが提供するクライアントの実際の割合は、望ましい割合から逸脱する可能性があります。リクエストの数が増えると、各サーバーで処理される負荷の実際の割合は、構成された割合に近似します。

4. Overview
4. 概要

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.

提供されたハッシュ関数は、ハッシュ値0〜255を生成し、ランダム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ハッシュが割り当てられたハッシュ値の1つと一致する場合にのみリクエストをサービスします。

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.

この機能を提供するDHCPサーバーの実装では、クライアントの最初のリクエストが送信される前にクライアントの最初のリクエストが送信された後、DS(遅延サービス)構成パラメーターを秒数に設定する必要があります。。

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サーバーは、その値がゼロでない場合、クライアント要求のSECSフィールドで値を使用する必要があります。一部のクライアントはSECSフィールドを正しく実装できない可能性があるため、DHCPサーバーは、通常応答しないクライアントトランザクションの最初のインスタンスを追跡する場合があります。サーバーが、以前に記録された要求と同じトランザクションIDを持つクライアントからリクエストを受信し、2番目のパケットのSECフィールドがゼロの場合、DHCPサーバーは最初のクライアントと後続のクライアントの間でElapsed Time(秒)を使用する場合がありますSECSフィールドの代わりにリクエスト。

5. Operation
5. 手術
5.1 Configuration
5.1 構成

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)を提供することによって達成されます。これらは、構成ファイル、Windows NTレジストリ、EEPROMなどからのものです。あるいは、ハッシュバケット値は、合意されたアルゴリズムを使用して割り当てることができます。たとえば、「すべての奇数値はサーバーAによってサービスされ、すべての偶数値はサーバーBによってサービスされます」。

5.2 HBA Intended for a Server
5.2 サーバー向けのHBA

When configuring one specific server, an HBA in the form of a simple bit map of 32 octet values SHOULD be used.

1つの特定のサーバーを構成する場合は、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ビットマップの最初のオクテットは、HBA値0-7、次のバイト値8-15などを表し、32秒のオクテットは値248-255を表します。各オクテットでは、そのオクテットの最も重要なビットは、そのオクテットの最小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の各ビットは、1つの可能なハッシュ値に関連付けられています。マップに少し設定されている場合、受信者サーバーは各クライアント要求をサービスする必要があり、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 )

ff ff ff ff ff ff 00 00 00(0-63)ff 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が0〜47および64〜127のバケット値にhasehsheshをハッシュするクライアント要求をサービスする必要があります。

5.3 Delayed Service Parameter
5.3 遅延サービスパラメーター

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.

パラメーターが構成されている場合、特定の要求を(HBAとSTIDハッシュに基づいて)提供することになっていないサーバーは、クライアントが最初にサービスを受けることを試みてからS秒が経過した後、応答が許可されます。サーバーは、クライアントがサービスを取得しようとしていたので、BOOTPヘッダーのSECSフィールドを使用して時間を決定するか、繰り返しのリクエストを他の方法で追跡する場合があります。

5.4 HBA Intended for a Forwarder
5.4 フォワーダーを対象としたHBA

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)は、指定されたハッシュバケットの責任者を担当するサーバーを指定します。転送エージェントは、SIDによって指定されたサーバーに、指定されたハッシュ値をSTIDが生成する各クライアント要求を転送します。

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がハッシュ値0〜24を生成する場合、サーバー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に転送されます。

6. Hash Function for Load Balancing
6. 負荷分散のハッシュ関数

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言語実装です。ピアソンのハッシュアルゴリズムは、もともと[ピアソン]で公開されていました。

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,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_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、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、82、82、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、28、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 ); }

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);
}
        
7. Security Considerations
7. セキュリティに関する考慮事項

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の内容がネットワーク上に送信された場合、そのメッセージは改ざんに対して保護されていることを確認する責任があります。またはすべてのクライアント。

8. References
8. 参考文献

[FAILOVR] Kinnear, K,, Droms, R., Rabil, G., Dooley, M., Kapur, A., Gonczi, S. and B. Volz, "DHCP Failover Protocol", Work in Progress.

[Failovr] Kinnear、K ,, Droms、R.、Rabil、G.、Dooley、M.、Kapur、A.、Gonczi、S.、およびB. Volz、「DHCP Failover Protocol」、作業進行中。

[PEARSON] The Communications of the ACM Vol.33, No. 6 (June 1990), pp. 677-680.

[ピアソン] ACM Vol.33、No。6(1990年6月)の通信、pp。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] Bradner、S。、「要件レベルを示すためにRFCで使用するキーワード」、BCP 14、RFC 2119、1997年3月。

9. Acknowledgements
9. 謝辞

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・ピアソン、ピアソン・ハッシュの著者であるピーター・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.

この提案は、1999年2月にCisco Systemsで開催されたフェイルオーバープロトコルの議論の中で、Ted LemonによるMACアドレスを1ビットにハッシュするという当初のアイデアに由来しています。ロブスティーブンスは、フェイルオーバープロトコルの目的を超える目的のためにこのアルゴリズムの潜在的な使用を示唆しました。。

Many thanks to Ralph Droms, Kim Kinnear, Mark Stapp, Glenn Waters, Greg Rabil and Jack Wong for their comments during the ongoing discussions.

Ralph Droms、Kim Kinnear、Mark Stapp、Glenn Waters、Greg Rabil、Jack Wongに、進行中の議論の際にコメントしてくれたことに感謝します。

10. Authors' Addresses
10. 著者のアドレス

Bernie Volz Ericsson 959 Concord Street Framingham, MA 01701

Bernie Volz Ericsson 959 Concord Street Framingham、MA 01701

   Phone: +1-617-513-9060
   EMail: bernie.volz@ericsson.com
        

Steve Gonczi Network Engines, Inc. 25 Dan Road Canton, MA 02021-2817

Steve Gonczi Network Engines、Inc。25 Dan Road Canton、MA 02021-2817

Phone: 781-332-1165 EMail: steve.gonczi@networkengines.com

電話:781-332-1165メール:steve.gonczi@networkengines.com

Ted Lemon 950 Charter Street Redwood City, CA 94043

テッドレモン950チャーターストリートレッドウッドシティ、カリフォルニア94043

   EMail: ted.lemon@nominum.com
        

Rob Stevens Join Systems, Inc. 1032 Elwell Ct Ste 243 Palo Alto CA 94203

Rob Stevens Join Systems、Inc。1032 Elwell CT STE243 Palo Alto CA 94203

Phone: (650)-968-4470 EMail: robs@join.com

電話:(650)-968-4470メール:robs@join.com

11. 完全な著作権声明

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

Copyright(c)The Internet Society(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エディター機能の資金は現在、インターネット協会によって提供されています。