[要約] RFC 2992は、等価コストマルチパスアルゴリズムの分析に関するものであり、その目的はアルゴリズムの性能と挙動を評価することです。

Network Working Group                                            C. Hopps
Request for Comments: 2992                           NextHop Technologies
Category: Informational                                     November 2000
        

Analysis of an Equal-Cost Multi-Path Algorithm

等しいコストのマルチパスアルゴリズムの分析

Status of this Memo

本文書の位置付け

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

このメモは、インターネットコミュニティに情報を提供します。いかなる種類のインターネット標準を指定しません。このメモの配布は無制限です。

Copyright Notice

著作権表示

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

Copyright(c)The Internet Society(2000)。無断転載を禁じます。

Abstract

概要

Equal-cost multi-path (ECMP) is a routing technique for routing packets along multiple paths of equal cost. The forwarding engine identifies paths by next-hop. When forwarding a packet the router must decide which next-hop (path) to use. This document gives an analysis of one method for making that decision. The analysis includes the performance of the algorithm and the disruption caused by changes to the set of next-hops.

Equ-Cost Multi-Path(ECMP)は、等しいコストの複数のパスに沿ってパケットをルーティングするためのルーティング手法です。転送エンジンは、Next-Hopによるパスを識別します。パケットを転送するとき、ルーターは使用する次のホップ(パス)を決定する必要があります。このドキュメントは、その決定を下すための1つの方法の分析を提供します。分析には、アルゴリズムのパフォーマンスと、次のホップのセットの変更によって引き起こされる混乱が含まれます。

1. Hash-Threshold
1. ハッシュスレッジ

One method for determining which next-hop to use when routing with ECMP can be called hash-threshold. The router first selects a key by performing a hash (e.g., CRC16) over the packet header fields that identify a flow. The N next-hops have been assigned unique regions in the key space. The router uses the key to determine which region and thus which next-hop to use.

ECMPでルーティングするときに使用する次のホップを決定するための1つの方法をハッシュスレッジホールドと呼ぶことができます。ルーターは、最初に、フローを識別するパケットヘッダーフィールド上でハッシュ(例:CRC16)を実行することにより、キーを選択します。N Next-Hopsには、キースペースに一意の領域が割り当てられています。ルーターは、キーを使用して、どの領域、したがってどの次のホップを使用するかを決定します。

As an example of hash-threshold, upon receiving a packet the router performs a CRC16 on the packet's header fields that define the flow (e.g., the source and destination fields of the packet), this is the key. Say for this destination there are 4 next-hops to choose from. Each next-hop is assigned a region in 16 bit space (the key space). For equal usage the router may have chosen to divide it up evenly so each region is 65536/4 or 16k large. The next-hop is chosen by determining which region contains the key (i.e., the CRC result).

ハッシュスレッジホールドの例として、パケットを受信すると、ルーターはパケットのヘッダーフィールドでCRC16を実行してフロー(パケットのソースフィールドと宛先フィールドなど)を定義する、これがキーです。この目的地には、選択できる次の4つのホップがあります。各ネクストホップには、16ビットスペース(キースペース)の地域が割り当てられます。同等の使用のために、ルーターが均等に分割することを選択したため、各領域が65536/4または16kの大きいものになります。次のホップは、キー(つまり、CRCの結果)を含む領域を決定することにより選択されます。

2. Analysis
2. 分析

There are a few concerns when choosing an algorithm for deciding which next-hop to use. One is performance, the computational requirements to run the algorithm. Another is disruption (i.e., the changing of which path a flow uses). Balancing is a third concern; however, since the algorithm's balancing characteristics are directly related to the chosen hash function this analysis does not treat this concern in depth.

使用する次のホップを決定するためのアルゴリズムを選択する際には、いくつかの懸念があります。1つはパフォーマンス、アルゴリズムを実行するための計算要件です。もう1つは混乱(つまり、フローが使用するパスの変化)です。バランスは3番目の懸念事項です。ただし、アルゴリズムのバランス特性は選択されたハッシュ関数に直接関連しているため、この分析はこの懸念を深く扱いません。

For this analysis we will assume regions of equal size. If the output of the hash function is uniformly distributed the distribution of flows amongst paths will also be uniform, and so the algorithm will properly implement ECMP. One can implement non-equal-cost multi-path routing by using regions of unequal size; however, non-equal-cost multi-path routing is outside the scope of this document.

この分析では、等しいサイズの領域を想定します。ハッシュ関数の出力が均一に分布している場合、パス間のフローの分布も均一であるため、アルゴリズムはECMPを適切に実装します。不平等なサイズの領域を使用して、非等しいコストのマルチパスルーティングを実装できます。ただし、非等しいコストのマルチパスルーティングは、このドキュメントの範囲外です。

2.1. Performance
2.1. パフォーマンス

The performance of the hash-threshold algorithm can be broken down into three parts: selection of regions for the next-hops, obtaining the key and comparing the key to the regions to decide which next-hop to use.

ハッシュスレッジホールドアルゴリズムのパフォーマンスは、次のホップ用の領域の選択、キーを取得し、キーを領域と比較して使用する次のホップを決定するという3つの部分に分割できます。

The algorithm doesn't specify the hash function used to obtain the key. Its performance in this area will be exactly the performance of the hash function. It is presumed that if this calculation proves to be a concern it can be done in hardware parallel to other operations that need to complete before deciding which next-hop to use.

アルゴリズムは、キーを取得するために使用されるハッシュ関数を指定しません。この領域でのパフォーマンスは、まさにハッシュ関数のパフォーマンスです。この計算が懸念であることが証明された場合、使用する次のホップを決定する前に完了する必要がある他の操作と並行してハードウェアで行うことができると推定されます。

Since regions are restricted to be of equal size the calculation of region boundaries is trivial. Each boundary is exactly regionsize away from the previous boundary starting from 0 for the first region. As we will show, for equal sized regions, we don't need to store the boundary values.

領域は同じサイズに制限されているため、領域の境界の計算は些細なことです。各境界は、最初の領域の0から始まる前の境界から正確に領域化されます。示すように、等しいサイズの領域については、境界値を保存する必要はありません。

To choose the next-hop we must determine which region contains the key. Because the regions are of equal size determining which region contains the key is a simple division operation.

次のホップを選択するには、どの領域にキーが含まれているかを決定する必要があります。領域は同じサイズで、どの領域にキーが含まれるかを決定するため、単純な分割操作です。

                regionsize = keyspace.size / #{nexthops}
                region = key / regionsize;
        

Thus the time required to find the next-hop is dependent on the way the next-hops are organized in memory. The obvious use of an array indexed by region yields O(1).

したがって、次のホップを見つけるのに必要な時間は、次のホップがメモリで編成される方法に依存します。領域によってインデックス付けされたアレイの明らかな使用は、O(1)を生成します。

2.2. Disruption
2.2. 混乱

Protocols such as TCP perform better if the path they flow along does not change while the stream is connected. Disruption is the measurement of how many flows have their paths changed due to some change in the router. We measure disruption as the fraction of total flows whose path changes in response to some change in the router. This can become important if one or more of the paths is flapping. For a description of disruption and how it affects protocols such as

TCPなどのプロトコルは、ストリームが接続されている間に流れるパスが変わらない場合、パフォーマンスを向上させます。破壊とは、ルーターの何らかの変化のためにパスが変化するフローの数を測定することです。ルーターの何らかの変化に応じて経路が変化する総流量の割合として、混乱を測定します。これは、1つ以上のパスが羽ばたきされている場合に重要になる可能性があります。混乱の説明と、それが次のようなプロトコルにどのように影響するかについて

TCP see [1].

TCP [1]を参照してください。

Some algorithms such as round-robin (i.e., upon receiving a packet the least recently used next-hop is chosen) are disruptive regardless of any change in the router. Clearly this is not the case with hash-threshold. As long as the region boundaries remain unchanged the same next-hop will be chosen for a given flow.

ラウンドロビンなどの一部のアルゴリズム(つまり、最近使用されていない次のホップが選択されたパケットを受信すると)は、ルーターの変更に関係なく破壊的です。明らかに、これはハッシュスレッジホールドの場合はそうではありません。領域の境界が変更されていない限り、同じ次のホップが特定のフローに対して選択されます。

Because we have required regions to be equal in size the only reason for a change in region boundaries is the addition or removal of a next-hop. In this case the regions must all grow or shrink to fill the key space. The analysis begins with some examples of this.

領域がサイズを等しくする必要があるため、地域の境界の変化の唯一の理由は、次のホップの追加または除去です。この場合、地域はすべて成長または縮小してキースペースを埋める必要があります。分析は、これのいくつかの例から始まります。

              0123456701234567012345670123456701234567
             +-------+-------+-------+-------+-------+
             |   1   |   2   |   3   |   4   |   5   |
             +-------+-+-----+---+---+-----+-+-------+
             |    1    |    2    |    4    |    5    |
             +---------+---------+---------+---------+
              0123456789012345678901234567890123456789
        

Figure 1. Before and after deletion of region 3

図1.領域3の削除の前後

In figure 1. region 3 has been deleted. The remaining regions grow equally and shift to compensate. In this case 1/4 of region 2 is now in region 1, 1/2 (2/4) of region 3 is in region 2, 1/2 of region 3 is in region 4 and 1/4 of region 4 is in region 5. Since each of the original regions represent 1/5 of the flows, the total disruption is 1/5*(1/4 + 1/2 + 1/2 + 1/4) or 3/10.

図1.領域3が削除されました。残りの領域は均等に成長し、補償するためにシフトします。この場合、リージョン2の1/4はリージョン1にあり、リージョン3の1/2(2/4)はリージョン2に、リージョン3の1/2はリージョン4にあり、リージョン4の1/4はあります。領域5。元の領域のそれぞれが流れの1/5を表しているため、総混乱は1/5*(1/4 1/2 1/2 1/4)または3/10です。

Note that the disruption to flows when adding a region is equivalent to that of removing a region. That is, we are considering the fraction of total flows that changes regions when moving from N to N-1 regions, and that same fraction of flows will change when moving from N-1 to N regions.

地域を追加する際の流れへの混乱は、地域を除去する地域と同等であることに注意してください。つまり、NからN-1領域に移動するときに領域を変化させる総流量の割合を検討しており、N-1領域に移動すると同じ流れが変化します。

              0123456701234567012345670123456701234567
             +-------+-------+-------+-------+-------+
             |   1   |   2   |   3   |   4   |   5   |
             +-------+-+-----+---+---+-----+-+-------+
             |    1    |    2    |    3    |    5    |
             +---------+---------+---------+---------+
              0123456789012345678901234567890123456789
        

Figure 2. Before and after deletion of region 4

図2.領域4の削除の前後

In figure 2. region 4 has been deleted. Again the remaining regions grow equally and shift to compensate. 1/4 of region 2 is now in region 1, 1/2 of region 3 is in region 2, 3/4 of region 4 is in region 3 and 1/4 of region 4 is in region 5. Since each of the original regions represent 1/5 of the flows the, total disruption is 7/20.

図2.領域4が削除されました。繰り返しますが、残りの領域は平等に成長し、補償するためにシフトします。地域2の1/4は現在、リージョン1にあり、リージョン3の1/2はリージョン2に、リージョン4の3/4はリージョン3に、地域4の1/4は地域5にあります。地域は流れの1/5を表し、総混乱は7/20です。

To generalize, upon removing a region K the remaining N-1 regions grow to fill the 1/N space. This growth is evenly divided between the N-1 regions and so the change in size for each region is 1/N/(N-1) or 1/(N(N-1)). This change in size causes non-end regions to move. The first region grows and so the second region is shifted towards K by the change in size of the first region. 1/(N(N-1)) of the flows from region 2 are subsumed by the change in region 1's size. 2/(N(N-1)) of the flows in region 3 are subsumed by region 2. This is because region 2 has shifted by 1/(N(N-1)) and grown by 1/(N(N-1)). This continues from both ends until you reach the regions that bordered K. The calculation for the number of flows subsumed from the Kth region into the bordering regions accounts for the removal of the Kth region. Thus we have the following equation.

一般化するために、領域kを除去すると、残りのN-1領域が成長して1/nスペースを埋めます。この成長はN-1領域間で均等に分割されるため、各領域のサイズの変化は1/n/(n-1)または1/(n(n-1))です。このサイズの変化により、非エンド領域が移動します。最初の領域が成長するため、2番目の領域は最初の領域のサイズの変化によりKにシフトされます。リージョン2からのフローの1/(n(n-1))は、リージョン1のサイズの変化によって包まれています。リージョン3の流れの2/(n(n-1))は、領域2に包まれています。これは、領域2が1/(n(n-1))によってシフトし、1/(n(n-)で成長したためです。1))。これは両端からKに接する地域に到達するまで続きます。KTH地域から境界領域に包まれた流れの数の計算は、KTH領域の除去を説明します。したがって、次の方程式があります。

                           K-1              N
                           ---    i        ---  (i-K)
             disruption =  \     ---    +  \     ---
                           /   (N)(N-1)    /   (N)(N-1)
                           ---             ---
                           i=1            i=K+1
        

We can factor 1/((N)(N-1)) out as it is constant.

一定であるため、1/((n)(n-1))を因数分解できます。

                                /  K-1         N        \
                          1     |  ---        ---       |
                     =   ---    |  \    i  +  \   (i-K) |
                       (N)(N-1) |  /          /         |
                                \  ---        ---       /
                                     1        i=K+1
        

We now use the the concrete formulas for the sum of integers. The first summation is (K)(K-1)/2. For the second summation notice that we are summing the integers from 1 to N-K, thus it is (N-K)(N-K+1)/2.

現在、整数の合計にコンクリート式を使用します。最初の合計は(k)(k-1)/2です。2回目の合計では、整数を1からn-Kに合計しているため、(n-k)(n-k 1)/2です。

                             (K-1)(K) + (N-K)(N-K+1)
                           = -----------------------
                                   2(N)(N-1)
        

Considering the summations, one can see that the least disruption is when K is as close to half way between 1 and N as possible. This can be proven by finding the minimum of the concrete formula for K holding N constant. First break apart the quantities and collect.

合計を考慮すると、最小の混乱は、Kが1とNの間の途中にできる限り近い場合であることがわかります。これは、nを一定に保持するkのコンクリート式の最小値を見つけることで証明できます。最初に数量を分解して収集します。

                            2K*K - 2K - 2NK + N*N + N
                          = -------------------------
                                    2(N)(N-1)
        
                             K*K - K - NK      N + 1
                          = --------------  + -------
                               (N)(N-1)        2(N-1)
        

Since we are minimizing for K the right side (N+1)/2(N-1) is constant as is the denominator (N)(N-1) so we can drop them. To minimize we take the derivative. d -- (K*K - (N+1)K) dk

Kのために最小化されているため、右側(n 1)/2(n-1)は分母(n)(n-1)と同様に一定であるため、ドロップできます。最小限に抑えるために、派生物を取ります。d-(k*k-(n 1)k)dk

                             = 2K - (N+1)
        

Which is zero when K is (N+1)/2.

Kが(n 1)/2の場合、これはゼロです。

The last thing to consider is that K must be an integer. When N is odd (N+1)/2 will yield an integer, however when N is even (N+1)/2 yields an integer + 1/2. In the case, because of symmetry, we get the least disruption when K is N/2 or N/2 + 1.

最後に考慮すべきことは、Kは整数でなければならないということです。nが奇数(n 1)/2が整数を生成しますが、nが偶数(n 1)/2が整数1/2を生成する場合。場合、対称性のため、kがn/2またはn/2 1の場合、最小の破壊が得られます。

Now since the formula is quadratic with a global minimum half way between 1 and N the maximum possible disruption must occur when edge regions (1 and N) are removed. If K is 1 or N the formula reduces to 1/2.

現在、式は2次であるため、1からNの間のグローバルな最小半分で、可能な最大破壊は、エッジ領域(1およびN)が除去されたときに発生する必要があります。Kが1またはNの場合、式は1/2に減少します。

The minimum possible disruption is obtained by letting K=(N+1)/2. In this case the formula reduces to 1/4 + 1/(4*N). So the range of possible disruption is (1/4, 1/2].

可能な最小の破壊は、k =(n 1)/2を削除することにより得られます。この場合、式は1/4 1/(4*n)に減少します。したがって、可能な破壊の範囲は(1/4、1/2)です。

To minimize disruption we recommend adding new regions to the center rather than the ends.

混乱を最小限に抑えるために、端ではなく中央に新しい領域を追加することをお勧めします。

3. Comparison to other algorithms
3. 他のアルゴリズムとの比較

Other algorithms exist to decide which next-hop to use. These algorithms all have different performance and disruptive characteristics. Of these algorithms we will only consider ones that are not disruptive by design (i.e., if no change to the set of next-hops occurs the path a flow takes remains the same). This will exclude round-robin and random choice. We will look at modulo-N and highest random weight.

他のアルゴリズムは、使用する次のホップを決定するために存在します。これらのアルゴリズムはすべて、パフォーマンスと破壊的な特性が異なります。これらのアルゴリズムのうち、設計によって破壊的ではないアルゴリズムのみを考慮します(つまり、次のホップのセットに変更がない場合、フローが取るパスは同じままです)。これにより、ラウンドロビンとランダムな選択が除外されます。Modulo-Nと最高のランダムな重量を見ていきます。

Modulo-N is a "simpler" form of hash-threshold. Given N next-hops the packet header fields which describe the flow are run through a hash function. A final modulo-N is applied to the output of the hash. This result then directly maps to one of the next-hops. Modulo-N is the most disruptive of the algorithms; if a next-hop is added or removed the disruption is (N-1)/N. The performance of Modulo-N is equivalent to hash-threshold.

modulo-nは、ハッシュスレッジホルドの「よりシンプルな」形式です。N NEXT-HOPSを考えると、フローを説明するパケットヘッダーフィールドはハッシュ関数を通過します。最終的なmodulo-Nがハッシュの出力に適用されます。この結果は、次のホップの1つに直接マッピングします。modulo-nは、アルゴリズムの中で最も破壊的です。次のホップが追加または削除された場合、破壊は(n-1)/nです。modulo-nのパフォーマンスは、ハッシュスレッジホールドに相当します。

Highest random weight (HRW) is a comparative method similar in some ways to hash-threshold with non-fixed sized regions. For each next-hop, the router seeds a pseudo-random number generator with the packet header fields which describe the flow and the next-hop to obtain a weight. The next-hop which receives the highest weight is selected. The advantage with using HRW is that it has minimal disruption (i.e., disruption due to adding or removing a next-hop is always 1/N.) The disadvantage with HRW is that the next-hop selection is more expensive than hash-threshold. A description of HRW along with comparisons to other methods can be found in [2]. Although not used for next-hop calculation an example usage of HRW can be found in [3].

最高のランダム重量(HRW)は、いくつかの点で、固定されていないサイズの領域を持つハッシュスレッジホールドと同様の比較方法です。次のホップごとに、ルーターは、フローと次のホップを記述するパケットヘッダーフィールドを備えた擬似ランダム数ジェネレーターをシードします。最高の重量を受け取る次のホップが選択されます。HRWを使用することの利点は、最小限の混乱があることです(つまり、次のホップを追加または削除することによる混乱は常に1/nです。)HRWの不利な点は、ネクストホップの選択がHash-Thresholdよりも高価であることです。HRWの説明と他の方法との比較は、[2]に記載されています。ネクストホップの計算には使用されていませんが、HRWの例の使用は[3]に記載されています。

Since each of modulo-N, hash-threshold and HRW require a hash on the packet header fields which define a flow, we can factor the performance of the hash out of the comparison. If the hash can not be done inexpensively (e.g., in hardware) it too must be considered when using any of the above methods.

Modulo-N、ハッシュスレッジホールド、およびHRWのそれぞれが、フローを定義するパケットヘッダーフィールドにハッシュを必要とするため、比較からハッシュのパフォーマンスを考慮することができます。ハッシュを安価に実行できない場合(ハードウェアなど)、上記の方法のいずれかを使用する場合は、考慮する必要があります。

The lookup performance for hash-threshold, like modulo-N is an optimal O(1). HRW's lookup performance is O(N).

modulo-nのようなハッシュスレッジホールドのルックアップパフォーマンスは、最適なO(1)です。HRWのルックアップパフォーマンスはO(n)です。

Disruptive behavior is the opposite of performance. HRW is best with 1/N. Hash-threshold is between 1/4 and 1/2. Finally Modulo-N is (N-1)/N.

破壊的な行動は、パフォーマンスの反対です。HRWは1/nで最適です。ハッシュスレッジホールドは1/4から1/2の間です。最後に、modulo-nは(n-1)/nです。

If the complexity of HRW's next-hop selection process is acceptable we think it should be considered as an alternative to hash-threshold. This could be the case when, for example, per-flow state is kept and thus the next-hop choice is made infrequently.

HRWのネクストホップ選択プロセスの複雑さが受け入れられる場合、ハッシュスレッジの代替と見なされるべきだと思います。これは、たとえば、流量あたりの状態が保持されているため、次のホップの選択が頻繁に行われる場合に当てはまる可能性があります。

However, when HRW's next-hop selection is seen as too expensive the obvious choice is hash-threshold as it performs as well as modulo-N and is less disruptive.

ただし、HRWのネクストホップ選択が高価すぎると見なされる場合、Modulo-nと同様に実行されるため、明らかな選択肢はハッシュしかありません。

4. Security Considerations
4. セキュリティに関する考慮事項

This document is an analysis of an algorithm used to implement an ECMP routing decision. This analysis does not directly affect the security of the Internet Infrastructure.

このドキュメントは、ECMPルーティング決定を実装するために使用されるアルゴリズムの分析です。この分析は、インターネットインフラストラクチャのセキュリティに直接影響しません。

5. References
5. 参考文献

[1] Thaler, D. and C. Hopps, "Multipath Issues in Unicast and Multicast", RFC 2991, November 2000.

[1] Thaler、D。およびC. Hopps、「Unicast and Multicastのマルチパス問題」、RFC 2991、2000年11月。

[2] Thaler, D. and C.V. Ravishankar, "Using Name-Based Mappings to Increase Hit Rates", IEEE/ACM Transactions on Networking, February 1998.

[2] Thaler、D。およびC.V.Ravishankar、「名前ベースのマッピングを使用してヒット率を上げる」、1998年2月、ネットワーキングでのIEEE/ACMトランザクション。

[3] Estrin, D., Farinacci, D., Helmy, A., Thaler, D., Deering, S., Handley, M., Jacobson, V., Liu, C., Sharma, P. and L. Wei, "Protocol Independent Multicast-Sparse Mode (PIM-SM): Protocol Specification", RFC 2362, June 1998.

[3] Estrin、D.、Farinacci、D.、Helmy、A.、Thaler、D.、Deering、S.、Handley、M.、Jacobson、V.、Liu、C.、Sharma、P。and L. wei、 "Protocol Independent Multicast-Sparseモード(PIM-SM):プロトコル仕様」、RFC 2362、1998年6月。

6. Author's Address
6. 著者の連絡先

Christian E. Hopps NextHop Technologies, Inc. 517 W. William Street Ann Arbor, MI 48103-4943 U.S.A

Christian E. Hopps Nexthop Technologies、Inc。517 W. William Street Ann Arbor、MI 48103-4943 U.S.A

   Phone: +1 734 936 0291
   EMail: chopps@nexthop.com
        
7. 完全な著作権声明

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

Copyright(c)The Internet Society(2000)。無断転載を禁じます。

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

このドキュメントと翻訳は他の人にコピーされて提供される場合があります。また、それについてコメントまたは説明する派生作品、またはその実装を支援することは、いかなる種類の制限なしに、準備、コピー、公開、および部分的に配布される場合があります。、上記の著作権通知とこの段落がそのようなすべてのコピーとデリバティブ作品に含まれている場合。ただし、このドキュメント自体は、インターネット協会や他のインターネット組織への著作権通知や参照を削除するなど、いかなる方法でも変更できない場合があります。インターネット標準プロセスに従うか、英語以外の言語に翻訳するために必要な場合に従う必要があります。

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

上記の限られた許可は永続的であり、インターネット社会またはその後継者または譲受人によって取り消されることはありません。

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

このドキュメントと本書に含まれる情報は、「現状」に基づいて提供されており、インターネット社会とインターネットエンジニアリングタスクフォースは、ここにある情報の使用が行われないという保証を含むがこれらに限定されないすべての保証を否認します。特定の目的に対する商品性または適合性の権利または黙示的な保証を侵害します。

Acknowledgement

謝辞

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

RFCエディター機能の資金は現在、インターネット協会によって提供されています。