この文書はRFC2439の日本語訳(和訳)です。 この文書の翻訳内容の正確さは保障できないため、 正確な知識や情報を求める方は原文を参照してください。 翻訳者はこの文書によって読者が被り得る如何なる損害の責任をも負いません。 この翻訳内容に誤りがある場合、訂正版の公開や、 誤りの指摘は適切です。 この文書の配布は元のRFC同様に無制限です。
Network Working Group C. Villamizar
Request for Comments: 2439 ANS
Category: Standards Track R. Chandra
Cisco
R. Govindan
ISI
November 1998
BGP Route Flap Damping
BGP経路バタつき防止
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 (1998). All Rights Reserved.
Abstract
概要
A usage of the BGP routing protocol is described which is capable of
reducing the routing traffic passed on to routing peers and therefore
the load on these peers without adversely affecting route convergence
time for relatively stable routes. This technique has been
implemented in commercial products supporting BGP. The technique is
also applicable to IDRP.
ルーティングピアに渡すルーティングトラフィックを減少できる、それ故に
比較的安定した経路の経路収束時間に負の影響を与えずにピアの負荷を減少
できる、BGPルーティングプロトコルの使用法が記述されます。この技術
はBGPをサポートする商用製品に実装されました。技術は同じくIDRP
に適用できます。
The overall goals are:
全体的な目的は以下です:
o to provide a mechanism capable of reducing router processing load
caused by instability
o 経路不安定性によって起こるルータ処理負荷を減らす機構を供給するため。
o in doing so prevent sustained routing oscillations
o これで維持する経路の変動を妨げる。
o to do so without sacrificing route convergence time for generally
well behaved routes.
o 一般に振舞いの良い経路の経路収束時間を犠牲にしない。
This must be accomplished keeping other goals of BGP in mind:
これはBGPの他の目的を念頭において達成されるに違いありません:
o pack changes into a small number of updates
o 変更をまとめ、更新を少ないくする。
o preserve consistent routing
o 一貫した経路維持。
o minimal addition space and computational overhead
o 最小の付加空間と計算のオーバーヘッド。
An excessive rate of update to the advertised reachability of a
subset of Internet prefixes has been widespread in the Internet.
This observation was made in the early 1990s by many people involved
in Internet operations and remains the case. These excessive updates
are not necessarily periodic so route oscillation would be a
misleading term. The informal term used to describe this effect is
"route flap". The techniques described here are now widely deployed
and are commonly referred to as "route flap damping".
インターネットプレフィックスの一部の可到達性広告の極端な数の更新がイ
ンターネットで広範囲にあります。これはインターネットオペレーションな
どに関係している多くの人々によって1990年代初期に観察されました。
これらの極端な更新の発生は必ずしも周期的ではなく、それで経路振動は紛
らわしい用語であるでしょう。この効果を記述するために使われた非公式の
用語は「経路バタつき」です。ここで記述された技術はは現在広範囲に動作
し、一般に「経路バタつき防止」と述べられます。
1 Overview
1 概観
To maintain scalability of a routed internet, it is necessary to
reduce the amount of change in routing state propagated by BGP in
order to limit processing requirements. The primary contributors of
processing load resulting from BGP updates are the BGP decision
process and adding and removing forwarding entries.
インターネットルーティングのスケーラビリティを持続するために、CPU
処理の要求条件を制限するため、BGPで配布するルーティング状態の変化
の量を減らすことは必要です。BGP更新の結果として生じる処理負荷の主
要な者はBGP決定プロセスと転送項の追加削除です。
Consider the following example. A widely deployed BGP implementation
may tend to fail due to high routing update volume. For example, it
may be unable to maintain it's BGP or IGP sessions if sufficiently
loaded. The failure of one router can further contribute to the load
on other routers. This additional load may cause failures in other
instances of the same implementation or other implementations with a
similar weakness. In the worst case, a stable oscillation could
result. Such worse cases have already been observed in practice.
次の例を考えてください。広く配置されたBGP実装は高いルーティング更
新量のために失敗する傾向があるかもしれません。例えば、もしBGPかI
GPセッションの負荷が重いなら、セッションを維持できないかもしれませ
ん。1つのルータの障害は他のルータにさらに負荷を増やします。この追加
の負荷は、同様の問題のため、同じ又は異なる実装で障害を起こすかもしれ
ません。最悪の場合、結果的に振動が生じます。このような最悪の場合は実
際は観察されました。
A BGP implementation must be prepared for a large volume of routing
traffic. A BGP implementation cannot rely upon the sender to
sufficiently shield it from route instabilities. The guidelines here
are designed to prevent sustained oscillations, but do not eliminate
the need for robust and efficient implementations. The mechanisms
described here allow routing instability to be contained at an AS
border router bordering the instability.
BGP実装が大量のルーティングトラフィックに対する用意ができているに
違いありません。BGP実装は送信者が十分に経路不安定性を保護してくれ
る事を当てにできません。ここのガイドラインは受けた振動を妨げるよう意
図されますが、強靭で効率的な実装の必要を排除しません。ここで記述され
たメカニズムは不安定に隣接するAS境界ルータで、ルーティング不安定性
を落ち着かせることを可能にします。
Even where BGP implementations are highly robust, the performance of
the routing process is limited. Limiting the propagation of
unnecessary change then becomes an issue of maintaining reasonable
route change convergence time as a routing topology grows.
BGP実装が十分に強靭であっても、ルーティングプロセスの処理能力は限
定されています。不必要な変更の配布を制限することは、ルーティングトポ
ロジが成長するにつれて、合理的な経路変化収束時間を持続する際に問題に
なります。
2 Methods of Limiting Route Advertisement
2 経路広告の制限方法
Two methods of controlling the frequency of route advertisement are
described here. The first involves fixed timers. The fixed timer
technique has no space overhead per route but has the disadvantage of
slowing route convergence for the normal case where a route does not
have a history of instability. The second method overcomes this
limitation at the expense of maintaining some additional space
overhead. The additional overhead includes a small amount of state
per route and a very small processing overhead.
経路広告の頻度を制御する2つの方法がここで記述されます。最初は固定タ
イマを伴います。固定タイマの技術は経路毎の空間的オーバーヘッドを持ち
ませんが、しかし、不安定な経路履歴を持たない標準的な経路の収束を遅く
する欠点を持ちます。2番目の方法はある追加の空間オーバーヘッドを持続
することで、この限界を克服します。追加のオーバーヘッドは経路毎の小さ
な状態と、非常に小さい処理オーバーヘッドを含みます。
It is possible and desirable to combine both techniques. In
practice, fixed timers have been set to very short time intervals and
have proven useful to pack routes into a smaller number of updates
when routes arrive in separate updates. The BGP protocol refers to
this as packing Network Layer Reachability Information (NLRI) [5].
両方の技術を結合することは可能で、そして望ましいです。実際、固定タイ
マは小さな時間間隔に設定され、経路更新が別に到着する時に更新の頻度を
減らす事に有用と分かりました。BGPプロトコルはこれをネットワーク層
可到達性情報(NLRI)[5]として参照します。
Seldom are fixed timers set to the tens of minutes to hours that
would be necessary to actually damp route flap. To do so would
produce the undesirable effect of severely limiting routing
convergence.
固定タイマは実際に経路バタつきを沈静化するのに必要である数十分から数
時間にはめったに設定されません。こうすると経路収束をひどく制限する望
ましくない効果を生むでしょう。
2.1 Existing Fixed Timer Recommendations
2.1 既存の固定タイマ勧告推薦
BGP-3 does not make specific recommendations in this area [1]. The
short section entitled "Frequency of Route Selection" simply
recommends that something be done and makes broad statements
regarding certain properties that are desirable or undesirable.
BGP3がこのエリアで特定の推薦をしません[1]。「経路選択の頻度」と題
を付けられた短い章で、ただ何かすることが勧められ、そして望ましいか望
ましくない特性に関して広範囲の文を作ります。
BGP4 retains the "Frequency of Route Advertisement" section and adds
a "Frequency of Route Origination" section. BGP-4 describes a method
of limiting route advertisement involving a fixed (configurable)
MinRouteAdvertisementInterval timer and fixed
MinASOriginationInterval timer [5]. The recommended timer values of
MinRouteAdvertisementInterval is 30 seconds and
MinASOriginationInterval is 15 seconds.
BGP4が「経路広告の頻度」章を維持し、そして「回路生成の頻度」章を
加えます。BGP−4が(構成可能な)固定最小経路広告間隔タイマと固定
最小AS生成間隔タイマ[5]で制限する経路広告方法を記述します。最小経路
広告間隔の推薦されたタイマ値は30秒で、最小AS生成間隔は15秒です。
2.2 Desirable Properties of Damping Algorithms
2.2 沈静アルゴリズムの望ましい特性
Before describing damping algorithms the objectives need to be
clearly defined. Some key properties are examined to clarify the
design rationale.
沈静アルゴリズムを描写する前に、目的が明確に定義される必要があります。
若干の鍵となる特性が設計原理を明確にするために調べられました。
The overall objective is to reduce the route update load without
limiting convergence time for well behaved routes. To accomplish
this, criteria must be defined for well behaved and poorly behaved
routes. An algorithm must be defined which allows poorly behaved
routes to be identified. Ideally, this measure would be a prediction
of the future stability of a route.
全体的な目的は、行儀が良い経路の収束時間を制限せずに、経路更新負荷を
減らすことです。これを達成するために、行儀が良い経路と悪い経路の基準
が定義されなくてはなりません。悪い経路を識別するため、アルゴリズムが
定義されなくてはなりません。理想的には、この基準は経路の未来の安定性
の予言であるでしょう。
Any delay in propagation of well behaved routes should be minimal.
Some delay is tolerable to support better packing of updates. Delay
of poorly behave routes should, if possible, be proportional to a
measure of the expected future instability of the route. Delay in
propagating an unstable route should cause the unstable route to be
suppressed until there is some degree of confidence that the route
has stabilized.
行儀が良い経路の配布の遅れは最小であるべきです。ある遅れが更新をまと
めるために耐えられます。行儀の悪い経路の遅延は、もし可能であるなら、
経路の予想される未来の不安定性の量に比例するべきです。不安定な経路の
配布の遅延は、経路が安定したというある程度の信頼があるまで、不安定な
経路を抑制するべきです。
If a large number of route changes are received in separate updates
over some very short period of time and these updates have the
potential to be combined into a single update then these should be
packed as efficiently as possible before propagating further. Some
small delay in propagating well behaved routes is tolerable and is
necessary to allow better packing of updates.
もし短い時間内に別々の更新で多数の経路更新を受信し、そしてこれらの更
新がひとつの更新にまとめれる可能性があるなら、これらはさらに配布する
前に可能な限り効率的にまとめられるべきです。ある行儀が良い経路の配布
においての小さい遅れは耐えられて、そして更新のより良いまとめあげを許
すために必要です。
Where routes are unstable, use and announcement of the routes should
be suppressed rather than suppressing their removal. Where one route
to a destination is stable, and another route to the same destination
is somewhat unstable, if possible, the unstable route should be
suppressed more aggressively than if there were no alternate path.
経路が不安定である場合に、経路の使用と広告は撤去を抑圧するのではなく、
抑制されるべきです。宛先への1つの経路が安定し、他の同じ宛先への経路
が幾分不安定である場合、もし可能であるなら、不安定な経路は代替パスが
ない場合より積極的に抑制されるべきです。
Routing consistency within an AS is very important. Only very
minimal delay of internal BGP (IBGP) should be done. Routing
consistency across AS boundaries is also very important. It is
highly undesirable to advertise a route that is different from the
route that is being used, except for a very minimal time. It is more
desirable to suppress the acceptance of a route (and therefore the
use of that route in the IGP) rather than suppress only the
redistribution.
AS内で整合した経路を決めることは非常に重要です。内部BGP(IBG
P)の非常に小さい遅延だけがされるべきです。AS境界線を越えての経路
の整合性も非常に重要です。短い時間を除き、使われている経路と異なる経
路を広告することは大いに望ましくありません。ただ再配布だけを抑制する
より、経路の受け入れ(それ故にIGPでの経路の使用)を抑制することは
より望ましいです。
It is clearly not possible to accurately predict the future stability
of a route. The recent history of stability is generally regarded as
a good basis for estimating the likelihood of future stability. The
criteria that is used to distinguish well behaved from poorly behaved
routes is therefore based on the recent history of stability of the
route. There is no simple quantitative expression of recent
stability so a figure of merit must be defined. Some desirable
characteristics of this figure of merit would be that the farther in
the past that instability occurred, the less it's affect on the
figure of merit and that the instability measure would be cumulative
rather than reflecting only the most recent event.
正確に経路の未来の安定性を予言することは明らかに可能ではありません。
最近の安定性の履歴は、一般に未来の安定性の可能性を見積もることに対し
て良い基礎と見なされます。行儀が良い経路と悪い経路を区別するために使
われる基準は、それゆえ経路安定性の最近の履歴に基づきます。最近の安定
性の単純な量的な表現がありません、それで測定単位の数字が定義されなく
てはなりません。この数字の望ましい特徴は、遠い過去に起きた不安定性の
影響が小さく、不安定基準が最近のイベントの繁栄よりも累積的である事で
しょう。
The algorithms should behave such that for routes which have a
history of stability but make a few transitions, those transitions
should be made quickly. If transitions continue, advertisement of
the route should be suppressed. There should be some memory of prior
instability. The degree to which prior instability is considered
should be gradually reduced as long as the route remains announced
and stable.
アルゴリズムは、安定した履歴を持ち、少しの変化をする経路について、そ
れらの移行が速くされるように振る舞うべきです。もし移行が継続するなら、
経路広告が抑制されるべきです。ある前の不安定性の記憶があるべきです。
前の不安定性が考慮される程度は、経路が広告されて、そして安定していて
存在し続ける限り、次第に減少するべきです。
2.3 Design Choices
2.3 設計選択
After routes have been accepted their readvertisement will be briefly
suppressed to improve packing of updates. There may be a lengthy
suppression of the acceptance of an external route. How long a route
will be suppressed is based on a figure of merit that is expected to
be correlated to the probability of future instability of a route.
Routes with high figure of merit values will be suppressed. An
exponential decay algorithm was chosen as the basis for reducing the
figure of merit over time. These choices should be viewed as
suggestions for implementation.
経路が受け入れられた後、それらの再広告は更新をまとめるのを改善するた
めに簡単に抑制されるでしょう。外部経路の受け入れの長い抑制があるかも
しれません。経路が抑制される気管は、経路の将来の不安定性の可能性に関
する予測の数字に基づいています。高い数値を持つ経路が抑制されるでしょ
う。指数減衰アルゴリズムが時間が経つと数字を減らす方法として選択され
ました。これらの選択は実装への提案だと見なされるべきです。
An exponential decay function has the property that previous
instability can be remembered for a fairly long time. The rate at
which the instability figure of merit decays slows as time goes on.
Exponential decay has the following property.
指数減衰機能は前の不安定性をかなり長期間覚えている特性を持っています。
数値の減衰は時間と共に遅くなります。指数減衰が次の特性を持っています。
f(f(figure-of-merit, t1), t2) = f(figure-of-merit, t1+t2)
This property allows the decay for a long period to be computed in a
single operation regardless of the current value (figure-of-merit).
As a performance optimization, the decay can be applied in fixed time
increments. Given a desired decay half life, the decay for a single
time increment can be computed ahead of time. The decay for multiple
time increments is expressed below.
この特性は現在の値(figure-of-merit)にかかわらずひとつの演算で減衰を計
算できるようにします。性能の最適化として、減衰は固定時間の増加を適用
できます。与えられた望ましい半減期に対し、単位時間の減衰は先に計算す
ることができます。複数時間での減衰は以下に表現されます。
f(figure-of-merit, n*t0) = f(figure-of-merit, t0)**n = K**n
The values of K ** n can be precomputed for a reasonable number of
"n" and stored in an array. The value of "K" is always less than
one. The array size can be bounded since the value quickly
approaches zero. This makes the decay easy to compute using an array
bound check, an array lookup and a single multiply regardless as to
how much time has elapsed.
K**nの値は適当な「n」に対して事前に計算して配列に記憶しておくことが
できます。「K」の値は常に1以下です。配列大きさは、値が急速にゼロに
接近するので、限界があります。これはどのぐらい時間が経過したかに関わ
らず、範囲検査と範囲検索と単一の掛け算で計算する事を容易にします。
3 Limiting Route Advertisements using Fixed Timers
3 固定タイマを使用した経路広告制限
This method of limiting route advertisements involves the use of
fixed timers applied to the process of sending routes. It's primary
purpose is to improve the packing of routes in BGP update messages.
The delay in advertising a stable route should be bounded and
minimal. The delay in advertising an unreachable need not be zero,
but should also be bounded and should probably have a separate bound
set less than or equal to the bound for a reachable advertisement.
この経路広告制限方法は経路を送る処理に用いられた固定タイマの使用を伴
います。この主目的はBGP更新メッセージでの経路をまとめる事を改善す
ることです。安定した経路広告においての遅延は限界があり、そして最小で
あるべきです。到達不能の広告はゼロである必要はありませんが、同じく限
界があるべきで、そして到達可能広告以下であるべきです。
The BGP protocol defines the use of a Routing Information Base (RIB).
Routes that need to be readvertised can be marked in the RIB or an
external set of structures maintained, which references the RIB.
Periodically, a subset of the marked routes can be flushed. This is
fairly straightforward and accomplishes the objectives. Computation
for too simple an implementation may be order N squared. To avoid N
squared performance, some form of data structure is needed to group
routes with common attributes.
BGPプロトコルはルーティング情報ベース(RIB)の使用を定義します。
再広告される必要がある経路はRIBでマークされるか、RIBを参照する
外部構造体が維持されます。周期的に、マークされた経路の一部が処理され
ます。これはかなり簡単であって、そして目的を達成します。計算は実装に
は簡単で、Nの2乗のオーダーです。Nの2乗の処理を避けるために、ある
データ構造体の形式が共通属性で経路をグループ化します。
An implementation should pack updates efficiently, provide a minimum
readvertisement delay, provide a bounds on the maximum
readvertisement delay that would be experienced solely as a result of
the algorithm used to provide a minimum delay, and must be
computationally efficient in the presence of a very large number of
candidates for readvertisement.
実装が効率的に更新をまとめて、多分最小の再広告遅延を供給して、最大広
告遅延の制限を供給し、これは最小遅延を供給するアルゴリズムの結果とし
て経験されるであろうし、そして多数の再広告の候補があっても計算量的に
効率的でなくてはなりません。
4 Stability Sensitive Suppression of Route Advertisement
4 経路広告の安定繊細抑圧
This method of limiting route advertisements uses a measure of route
stability applied on a per route basis. This technique is applied
when receiving updates from external peers only (EBGP). Applying this
technique to IBGP learned routes or to advertisement to IBGP or EBGP
peers after making a route selection can result in routing loops.
この経路広告を制限する方法は、経路毎の経路安定性の尺度を使用します。
この技術は、外部ピアからの受信(RBGP)で更新をする時だけ、適用さ
れます。IBGPで学んだ経路やIBGPで広告する経路やに経路選択後に
この技術を適用すると、ルーティングループをもたらしえます。
A figure of merit based on a measure of instability is maintained on
a per route basis. This figure of merit is used in the decision to
suppress the use of the route. Routes with high figure of merit are
suppressed. Each time a route is withdrawn, the figure of merit is
incremented. While the route is not changing the figure of merit
value is decayed exponentially with separate decay rates depending on
whether the route is stable and reachable or has been stable and
unreachable. The decay rate may be slower when the route is
unreachable, or the stability figure of merit could remain fixed (not
decay at all) while the route remains unreachable. Whether to decay
unreachable routes at the same rate, a slower rate, or not at all is
an implementation choice. Decaying at a slower rate is recommended.
不安定性の測定に基づいたメリットの数字が経路毎に維持されます。このメ
リットの数字は経路の使用を抑制するかの決定で使われます。大きな数のメ
リットを持つ経路は抑制されます。経路が撤去される毎に、メリットの数字
は増加します。経路が変化しない間、メリットの数が指数関数的に減少しま
す、減少率は経路が安定し到達可能か、不安定で到達不可能かに依存します。
減少率は、経路が到達不可能な間はゆっくりか、あるいは経路が到達不可能
なままならばメリットの安定数が固定したままです(減少しません)。到達
不可能な経路の減少率が、同じか、より遅いか、まったくではないかは、実
装の選択です。より遅い減少率が勧められます。
A very efficient implementation is suggested in the following
sections. The implementation only requires computation for the
routes contained in an update, when an update is received or
withdrawn (as opposed to the simplistic approach of periodically
decaying each route). The suggested implementation involves only a
small number of simple operations, and can be implemented using
scaled integers.
非常に効率的な実装が次の章で提案されます。実装は、更新か撤回を受信し
た際に、更新に含まれる経路について計算を要求されるだけです(周期的に
各経路の減少計算をする極端に単純化した方法の反対)。提案された実装は
少ない単純なオペレーションだけで、そして大きさを調整された整数を使っ
て実行できます。
The behavior of unstable routes is fairly predictable. Severely
flapping routes will often be advertised and withdrawn at regular
time intervals corresponding to the timers of a particular protocol
(the IGP or exterior protocol in use where the problem exists).
Marginal circuits or mild congestion can result in a long term
pattern of occasional brief route withdrawal or occasional brief
connectivity.
不安定な経路の動作はかなり予測可能です。バタつく経路がしばしば広告さ
れ、そして特定のプロトコル(問題が存在する所のIGPあるいは外部プロ
トコル)の通常のタイマの時間間隔で撤回されるでしょう。限界の回線や軽
い輻輳が、長期パターンで短時間の経路撤回や短時間の接続を発生すること
があります。
4.1 Single vs. Multiple Configuration Parameter Sets
4.1 単一対複数の設定パラメータセット
The behavior of the algorithm is modified by a number of configurable
parameters. It is possible to configure separate sets of parameters
designed to handle short term severe route flap and chronic milder
route flap (a pattern of occasional drops over a long time period).
The former would require a fast decay and low threshold (allowing a
small number of consecutive flaps to cause a route to be suppressed,
but allowing it to be reused after a relatively short period of
stability). The latter would require a very slow decay and a higher
threshold and might be appropriate for routes for which there was an
alternate path of similar bandwidth.
アルゴリズムの動作は多くの設定可能なパラメータによって修正されます。
短期のひどい経路バタつきと、慢性的なもっと穏やかな経路バタつき(長期
間の時々の撤去)で、処理するパラメータを別にすることは可能です。前者
は速い減少と低い閾値を必要とするでしょう(小数の連続したバタつきで経
路の抑制を許し、しかし比較的短期の安定後に再利用を許す)。後者は非常
に遅い減少とより高い閾値を必要とするでしょう、そして類似のバンド幅の
代わりのパスの経路が適切であるかもしれません。
It may also be desirable to configure different thresholds for routes
with roughly equivalent alternate paths than for routes where the
alternate paths have a lower bandwidth or tend to be congested. This
can be solved by associating a different set of parameters with
different ranges of preference values. Parameter selection could be
based on BGP LOCAL_PREF.
異なったる経路が帯域幅が小さいか、輻輳する傾向があるために、大体等価
な経路で異なる閾値を設定するのは望ましいかもしれません、。これはパラ
メータを異なる優先値範囲と結び付けることによって解決できます。パラメー
タ選択はBGPのローカル優先に基くことができます。
Parameter selection could also be based on whether an alternate route
was known. A route would be considered if, for any applicable
parameter set, an alternate route with the specified preference value
existed and the figure of merit associated with the parameter set did
not indicate a need to suppress the route. A less aggressive
suppression would be applied to the case where no alternate route at
all existed. In the simplest case, a more aggressive suppression
would be applied if any alternate route existed. Only the highest
preference (most preferred) value needs to be specified, since the
ranges may overlap.
パラメータ選択は同じく他の経路が知られていたかどうかに基くことができ
ます。もし、適用可能なパラメータセットに対し、指定された優先値の他の
経路が存在し、そのメリットの数が経路の抑制の必要を示さなければ、その
経路が考慮されるでしょう。他の経路が全く存在しない場合に、攻撃的でな
い抑制が適用されるでしょう。最も単純な場合、もし他の経路が存在したな
ら、より攻撃的な抑制が適用されるでしょう。範囲が部分的に一致するかも
しれないので、最も高い優先値(最優先)だけが指定される必要があります。
It might also be desirable to configure a different set of thresholds
for routes which rely on switched services and may disconnect at
times to reduce connect charges. Such routes might be expected to
change state somewhat more often, but should be suppressed if
continuous state changes indicate instability.
回線交換サービスで接続料金を減らすため切断できる経路は異なる閾値を設
定する事が同じく望ましいかもしれません。このような経路はよりしばしば
状態を変えることを期待されるかもしれませんが、継続的な状態変更が不安
定性を示すなら抑制されるべきです。
While not essential, it might be desirable to be able to configure
multiple sets of configuration parameters per route. It may also be
desirable to be able to configure sets of parameters that only
correspond to a set of routes (identified by AS path, peer router,
specific destinations or other means). Experience may dictate how
much flexibility is needed and how to best to set the parameters.
Whether to allow different damping parameter sets for different
routes, and whether to allow multiple figures of merit per route is
an implementation choice.
不可欠ではないが、経路毎に多数の設定パラメータの設定が可能なことは望
ましいかもしれません。(ASパスやピアルータや特定の宛先や他の手段に
よって識別された)経路の集合に対応するパラメータの設定が可能なことが
同じく望ましいかもしれません。経験によって最も良くパラメータを設定す
るためにどれぐらい柔軟性が必要か、そしてどのようにそうするべきかが指
摘されるかもしれません。異なる経路のために異なる抑制パラメータを許す
べきかどうかと、経路毎に多数のメリットの数値を許すことは実装の選択で
す。
Parameter selection can also be based on prefix length. The
rationale is that longer prefixes tend to reach less end systems and
are less important and these less important prefixes can be damped
more aggressively. This technique is in fairly widespread use.
Small sites or those with dense address allocation who are multihomed
are often reachable by long prefixes which are not easily aggregated.
These sites tend to dispute the choice of prefix length for parameter
selection. Advocates of the technique point out that it encourages
better aggregation.
パラメータ選択は同じくプレフィックス長さに基づき得ます。原理はより長
いプレフィックスがより少ない末端システムに届く傾向があり、そしてより
重要性が小さく、そしてこれらのより重要性が小さいプレフィックスがより
積極的に抑制できるということです。この技術はかなり広範囲に使用できま
す。小さいサイトあるいはマルチホームの密集アドレス割り当ては、容易に
集約できない長いプレフィックスによってしばしば到達可能です。これらの
サイトはパラメータ選択にプレフィックス長を使うのに異議を唱える傾向が
あります。この技術の提唱者がより良い集約を奨励することを指摘します。
4.2 Configuration Parameters
4.2 設定パラメータ
At configuration time, a number of parameters may be specified by the
user. The configuration parameters are expressed in units meaningful
to the user. These differ from the parameters used at run time which
are in unit convenient for computation. The run time parameters are
derived from the configuration parameters. Suggested configuration
parameters are listed below.
設定時において、多くのパラメータがユーザーによって指定されるかもしれ
ません。設定パラメータはユーザに意味のある単位で表現されます。これら
は計算に都合が良い単位である、実行時に使われたパラメータとは違います。
実行時パラメータは設定パラメータから得られます。提案された設定パラメー
タが下にリストアップされます。
cutoff threshold (cut)
切離し閾値(cut)
This value is expressed as a number of route withdrawals. It is
the value above which a route advertisement will be suppressed.
この値は経路撤去の数として表されます。これは経路広告が抑制される
であろう値です。
reuse threshold (reuse)
再利用閾値(reuse)
This value is expressed as a number of route withdrawals. It is
the value below which a suppressed route will now be used again.
この値は経路撤去の数として表されます。これは抑制された経路が再び
使われるであろう価値です。
maximum hold down time (T-hold)
最大抑制時間(T-hold)
This value is the maximum time a route can be suppressed no
matter how unstable it has been prior to this period of
stability.
この値は、安定時期の前にどれぐらい不安定であったかにかかわらず、
経路が抑制される最大時間です。
decay half life while reachable (decay-ok)
到達可能の間の半減期(decay-ok)
This value is the time duration in minutes or seconds during
which the accumulated stability figure of merit will be reduced
by half if the route if considered reachable (whether suppressed
or not).
この値は到達可能な際のメリットの累積数字が半分に減らされるまでの
分又は秒単位の時間です(抑制されてるか否かにかかわらず)。
decay half life while unreachable (decay-ng)
到達不能な間の半減期(dencay-ng)
This value is the time duration in minutes or seconds during
which the accumulated stability figure of merit will be reduced
by half if the route if considered unreachable. If not
specified or set to zero, no decay will occur while a route
remains unreachable.
この値は到達不能な際のメリットの累積数字が半分に減らされるまでの
分又は秒単位の時間です(抑制されてるか否かにかかわらず)。もし指
定されないかゼロが設定されるなら、経路が到達不能な間に、減少は起
こらないでしょう。
decay memory limit (Tmax-ok or Tmax-ng)
減少記憶限界(Tmax-okあるいはTmax-ng)
This is the maximum time that any memory of previous instability
will be retained given that the route's state remains unchanged,
whether reachable or unreachable. This parameter is generally
used to determine array sizes.
これは以前の不安定だった記憶が、経路状態が到達可能か到達不能かに
かかわらず変化していないままの場合の、維持されるであろう最大時間
です。このパラメータは一般に配列の大きさを決定するために使われま
す。
There may be multiple sets of the parameters above as described in
Section 4.1. The configuration parameters listed below would be
applied system wide. These include the time granularity of all
computations, and the parameters used to control reevaluation of
routes that have previously been suppressed.
4.1章に記述されるようにパラメータの多数のセットがあるかもしれません。
下にリストアップされた設定パラメータは広くシステムに適用されるでしょ
う。これらはすべての計算の時間精度と、以前に抑制された経路の再評価を
制御するパラメータを含みます。
time granularity (delta-t)
時間精度(delta-t)
This is the time granularity in seconds used to perform all
decay computations.
これはすべての減少計算を行うための秒単位の時間です。
reuse list time granularity (delta-reuse)
再利用リスト時間精度(delta-reuse)
This is the time interval between evaluations of the reuse
lists. Each reuse lists corresponds to an additional time
increment.
これは再利用リストの評価の時間間隔です。それぞれの再利用リストが
追加の時間増加に対応します。
reuse list memory (reuse-list-max)
再利用リスト記憶(reuse-list-max)
This is the time value corresponding to the last reuse list.
This may be the maximum value of T-hold for all parameter sets
of may be configured.
これは最後の再利用リストに対応する時間値です。これはすべてのパラ
メータの設定されるかもしれないT−holdの最大値です。
number of reuse lists (reuse-list-size)
再利用リストの数(reuse-list-size)
This is the number of reuse lists. It may be determined from
reuse-list-max or set explicitly.
これは再利用リストの数です。それは明示的に再利用リスト最大あるい
はセットから決定されるかもしれません。
A recommended optimization is described in Section 4.8.6 that
involves an array referred to as the "reuse index array". A reuse
index array is needed for each decay rate in use. The reuse index
array is used to estimate which reuse list to place a route when it
is suppressed. Proper placement avoids the need to periodically
evaluate decay to determine if a route can be reused or when storage
can be recovered. Using the reuse index array avoids the need to
compute a logarithm to determine placement. One additional system
wide parameter can be introduced.
推薦された最適化は、「再利用インデックス配列」と言う配列を使い、
4.8.6章で記述されます。再利用インデックス配列がそれぞれの使用中の
減少率に必要とされます。再利用インデックス配列は、経路が鎮圧される時
に、経路にどの再利用リストを使うかを決めるのに使われます。適切な配置
は、周期的に経路を再利用するか記憶場所を開放するかの決定のための減少
評価を避けます。再利用インデックス配列を使うことは配置を決定するため
の対数計算の必要を避けます。1つの追加のシステム広域パラメータが導入
できます。
reuse index array size (reuse-index-array-size)
再利用インデックス配列サイズ(reuse-index-array-size)
This is the size of reuse index arrays. This size determines
the accuracy with which suppressed routes can be placed within
the set of reuse lists when suppressed for a long time.
これは再利用インデックス配列の大きさです。この大きさは精度を決定
し、これで長期の抑制がある場合に経路を再利用リストの集合内のに置
きます。
4.3 Guidelines for Setting Parameters
4.3 設定パラメータのためのガイドライン
The decay half life should be set to a time considerably longer than
the period of the route flap it is intended to address. For example,
if the decay is set to ten minutes and a route is withdrawn and
readvertised exactly every ten minutes, the route would continue to
flap if the cutoff was set to a value of 2 or above.
半減期は扱う事を意図する経路バタつきの期間よりかなり長く設定されるべ
きです。例えば、もし減少が10分に設定され、そして経路の撤回と再広告
が正確に10分毎にされるなら、もし打ち切りが2以上に設定されていれば、
バタつきは続くでしょう。
The stability figure of merit itself is an accumulated time decayed
total. This must be kept in mind in setting the decay time, cutoff
values and reuse values. The figure of merit is increased each time
a route transitions from reachable to unreachable. The figure of
merit is decayed at a rate proportional to its current value.
Increasing the rate of route flap therefore increments the figure of
merit more often and reaches a given threshhold in a shorter amount
of time. When the response to a constant rate route flap is plotted
this looks like a sawtooth with an abrupt rising edge and a decaying
falling edge. Since the absolute decay amount is proportional to the
figure of merit, at a continuous constant flap rate the baseline of
the sawtooth will tend to stop rising and converge if not clipped by
a ceiling value.
メリットの安定数値はそれ自身は減少全体の蓄積時間です。これは減少時間
と打ち切り値と再利用値の設定を考慮しなければなりません。メリットの数
字は経路が「到達可能」から「到達不可能」になった場合に増加する数です。
メリットの数字は現在の値に比例した割合で減少します。経路バタつきの比
率の増加は、メリットの増加をしばしば伴い、短い時間である閾値に達しま
す。継続的な経路バタつきに対する応答をプロットする時、これは突然の上
昇するエッジと減少して落ちるエッジでのこぎりの歯のように見えます。絶
対値の減少量がメリットの数字に比例しているので、継続的な一定のバタつ
きはこぎりの歯のベースラインは上昇をやめ、そして上限値で切られてなけ
れば、一点に集まる傾向があるでしょう。
If clipped by a ceiling value, the sawtooth baseline will simply
reach the ceiling faster at a higher rate of route flap. For
example, if flapping at four times the decay rate the following
progression occurs. When the route becomes unreachable the first
time the value becomes 1. When the next flap occurs, one is added to
the previous value, which has been decreased by the fourth root of 2
(the amount of decay that would occur in 1/4 of the half life time if
decay is exponential). The sequence is 1, 1.84, 2.55, 3.14, 3.64,
4.06, 4.42, 4.71, 4.96, 5.17, ..., converging at about 6.285. If a
route flaps at four times the decay rate, it will reach 3 in 4
cycles, 4 in 6 cycles, 5 in 10 cycles, and will converge at about
6.3. At twice the decay time, it will reach 3 in 7 cycles, and
converge at a value of less than 3.5.
もし上限値で制限されるなら、ぎざぎざのベースラインはより高い率の経路
バタつきで速く上限に届くでしょう。例えば、もし減少率の4倍でバタつく
なら、次の展開が起こります。経路が最初の時到達不可能になる時、値は1
になります。次のバタつきが生じる時、前の値に、2の4乗根を減少し、1
が加算されます(もし減少が指数関数的なら、半減期の1/4の減少がしょ
うじる)。数列は1、1.84、2.55、3.14、3.64、4.06、
4.42、4.71、4.96、5.17、・・・で、およそ6.285に集まり
ます。もし経路の減少率の4倍でバタつくなら、それは4サイクルで3、6
サイクルで4、10サイクルで5、に達し、およそ6.3の一点に集まるでしょ
う。減少時間の2倍において、7サイクルで3に達して、そして3.5以下の
値の一点に集まるでしょう。
Figure 1 shows the stability figure of merit for route flap at a
constant rate. The time axis is labeled in multiples of the decay
half life. The plots represent route flap with a period of 1/2, 1/3,
1/4, and 1/8 times the decay half life. A ceiling of 4.5 was set,
which can be seen to affect three of the plots, effectively limiting
the time it takes to readvertise the route regardless of the prior
history. With cutoff and reuse thresholds of 1.5 and 0.75, routes
would be suppressed after being declared unreachable 2-3 times and be
used again after approximately 2 decay half life periods of
stability.
図1が一定の割合での経路バタつきのメリットの安定性数字を示します。時
間軸は半減期の倍数を示します。プロットは半減期の1/2と1/3と1/4
と1/8の間隔の経路バタつきを表示します。4.5の限界が設定され、プ
ロットに与えるの3つに影響が見られ、効率的に前の履歴にかかわらず再広
告までの時間を制限します。打切りと再利用の閾値が1.5と0.75で、
経路は2−3回到達不可能であると宣言された後で抑制され、半減期のおよ
そ2倍の時間で再利用されるでしょう。
This function can be expressed formally. Reachability of a route can
be represented by a variable "R" with possible values of 0 and 1
representing unreachable and reachable. At a discrete time R can
only have one value. The figure of merit is increased by 1 at each
transition from R=1 to R=0 and clipped to a ceiling value. The decay
in figure of merit can then be expressed over a set of discrete times
as follows.
この機能は式で表現できます。経路の可到達性が0と1の間の変数「R」で
示され、到達不可能と到達可能を示します。到達不可能にRが1の値を持ち
ます。メリットの数字はそれぞれのR=1からR=0までの移行で1増え、
限界値に付きました。メリットの数字の減少は次のように到達不可能で表現
できます。
figure-of-merit(t) = K * figure-of-merit(t - delta-t)
K = K1 for R=0 K=K2 for R=1
The four plots are presented vertically. Due to space limitations,
only a limited set of points along the time axis are shown. The
value of the figure of merit is given. Along side each value is a
very low resolution strip chart made up of ASCII dots. This is just
intended to give a rough feel for the rise and fall of the values.
The strip charts are not displayed on an overlapping set of axes
because the sawtooth waveforms cross each other quite frequently. At
the very low resolution of these plots, the rise and fall of the
baseline is evident, but the sawtooth nature is only observed in the
printed value.
4つのプロットは垂直に提示します。スペースの限界のため、時間軸に沿っ
て一部の点だけを示します。メリットの数字の値は与えられます。それぞれ
の値はASCII点から構成される非常に低い解像度のストリップチャート
です。これはちょうど値の増減の荒っぽい感触を与えるように意図されます。
ストリップチャートは、ぎざぎざの波形がしばしば互いに交差するから、軸
の部分的に重なり合っている所は示されません。これらの非常に低い解像度
のプロットでも、ベースラインの増減は明白です、しかしぎざぎざの性質は
印刷された値で観察するだけです。
From the maximum hold time value (T-hold), a ratio of the reuse value
to a ceiling can be determined. An integer value for the ceiling can
then be chosen such that overflow will not be a problem and all other
values can be scaled accordingly. If both cutoffs are specified or
if multiple parameter sets are used the highest ceiling will be used.
最大保持時間値(T−hold)から、上限の再利用値の比率が決定できま
す。上限の整数値はオーバーフローが問題にならなく、そしてすべての他の
値がスケールできるように、選択できます。もし両方の打切りが指定される
なら、あるいはもし多数のパラメータセットが使われるなら、最も高い上限
が使われるでしょう。
time figure-of-merit as a function of time (in minutes)
時間 時間の関数としてのメリットの数字(分単位)
0.00 0.000 . 0.000 . 0.000 . 0.000 .
0.08 0.000 . 0.000 . 0.000 . 0.000 .
0.16 0.000 . 0.000 . 0.000 . 0.973 .
0.24 0.000 . 0.000 . 0.000 . 0.920 .
0.32 0.000 . 0.000 . 0.946 . 1.817 .
0.40 0.000 . 0.953 . 0.895 . 2.698 .
0.48 0.000 . 0.901 . 0.847 . 2.552 .
0.56 0.953 . 0.853 . 1.754 . 3.367 .
0.64 0.901 . 0.807 . 1.659 . 4.172 .
0.72 0.853 . 1.722 . 1.570 . 3.947 .
0.80 0.807 . 1.629 . 2.444 . 4.317 .
0.88 0.763 . 1.542 . 2.312 . 4.469 .
0.96 0.722 . 1.458 . 2.188 . 4.228 .
1.04 1.649 . 2.346 . 3.036 . 4.347 .
1.12 1.560 . 2.219 . 2.872 . 4.112 .
1.20 1.476 . 2.099 . 2.717 . 4.257 .
1.28 1.396 . 1.986 . 3.543 . 4.377 .
1.36 1.321 . 2.858 . 3.352 . 4.141 .
1.44 1.250 . 2.704 . 3.171 . 4.287 .
1.52 2.162 . 2.558 . 3.979 . 4.407 .
1.60 2.045 . 2.420 . 3.765 . 4.170 .
1.68 1.935 . 3.276 . 3.562 . 4.317 .
1.76 1.830 . 3.099 . 4.356 . 4.438 .
1.84 1.732 . 2.932 . 4.121 . 4.199 .
1.92 1.638 . 2.774 . 3.899 . 3.972 .
2.00 1.550 . 2.624 . 3.688 . 3.758 .
2.08 1.466 . 2.483 . 3.489 . 3.555 .
2.16 1.387 . 2.349 . 3.301 . 3.363 .
2.24 1.312 . 2.222 . 3.123 . 3.182 .
2.32 1.242 . 2.102 . 2.955 . 3.010 .
2.40 1.175 . 1.989 . 2.795 . 2.848 .
2.48 1.111 . 1.882 . 2.644 . 2.694 .
2.56 1.051 . 1.780 . 2.502 . 2.549 .
2.64 0.995 . 1.684 . 2.367 . 2.411 .
2.72 0.941 . 1.593 . 2.239 . 2.281 .
2.80 0.890 . 1.507 . 2.118 . 2.158 .
2.88 0.842 . 1.426 . 2.004 . 2.042 .
2.96 0.797 . 1.349 . 1.896 . 1.932 .
3.04 0.754 . 1.276 . 1.794 . 1.828 .
3.12 0.713 . 1.207 . 1.697 . 1.729 .
3.20 0.675 . 1.142 . 1.605 . 1.636 .
3.28 0.638 . 1.081 . 1.519 . 1.547 .
3.36 0.604 . 1.022 . 1.437 . 1.464 .
3.44 0.571 . 0.967 . 1.359 . 1.385 .
Figure 1: Instability figure of merit for flap at a constant rate
図1:一定のバタつきでのメリットの不安定性数字
time figure-of-merit as a function of time (in minutes)
時間 時間の関数としてのメリットの数字(分単位)
0.00 0.000 . 0.000 . 0.000 .
0.20 0.000 . 0.000 . 0.000 .
0.40 0.000 . 0.000 . 0.000 .
0.60 0.000 . 0.000 . 0.000 .
0.80 0.000 . 0.000 . 0.000 .
1.00 0.999 . 0.999 . 0.999 .
1.20 0.971 . 0.971 . 0.929 .
1.40 0.945 . 0.945 . 0.809 .
1.60 0.919 . 0.865 . 0.704 .
1.80 0.894 . 0.753 . 0.613 .
2.00 1.812 . 1.657 . 1.535 .
2.20 1.762 . 1.612 . 1.428 .
2.40 1.714 . 1.568 . 1.244 .
2.60 1.667 . 1.443 . 1.083 .
2.80 1.622 . 1.256 . 0.942 .
3.00 1.468 . 1.094 . 0.820 .
3.20 2.400 . 2.036 . 1.694 .
3.40 2.335 . 1.981 . 1.475 .
3.60 2.271 . 1.823 . 1.284 .
3.80 2.209 . 1.587 . 1.118 .
4.00 1.999 . 1.381 . 0.973 .
4.20 2.625 . 2.084 . 1.727 .
4.40 2.285 . 1.815 . 1.503 .
4.60 1.990 . 1.580 . 1.309 .
4.80 1.732 . 1.375 . 1.139 .
5.00 1.508 . 1.197 . 0.992 .
5.20 1.313 . 1.042 . 0.864 .
5.40 1.143 . 0.907 . 0.752 .
5.60 0.995 . 0.790 . 0.654 .
5.80 0.866 . 0.688 . 0.570 .
6.00 0.754 . 0.599 . 0.496 .
6.20 0.656 . 0.521 . 0.432 .
6.40 0.571 . 0.454 . 0.376 .
6.60 0.497 . 0.395 . 0.327 .
6.80 0.433 . 0.344 . 0.285 .
7.00 0.377 . 0.299 . 0.248 .
7.20 0.328 . 0.261 . 0.216 .
7.40 0.286 . 0.227 . 0.188 .
7.60 0.249 . 0.197 . 0.164 .
7.80 0.216 . 0.172 . 0.142 .
8.00 0.188 . 0.150 . 0.124 .
Figure 2: Separate decay constants when unreachable
図2:到達不可能である時の、別の減少定数
Figure 2 shows the effect of configuring separate decay rates to be
used when the route is reachable or unreachable. The decay rate is 5
times slower when the route is unreachable. In the three case shown,
the period of the route flap is equal to the decay half life but the
route is reachable 1/8 of the time in one, reachable 1/2 the time in
one, and reachable 7/8 of the time in the other. In the last case
the route is not suppressed until after the third unreachable (when
it is above the top threshold after becoming reachable again).
図2が経路が到達可能であるか否かで別の減少率を設定する効果を示します。
減少率は経路が到達不可能である時は、5倍遅いです。示した3つの場合で、
経路バタつきの期間は半減期と等しいですが、しかし経路は1つは1/8の
時間で到達可能、1つは1/2の時間で到達可能、他は7/8のルートは他
で到達可能です。最後の場合、経路は第3の到達不能まで抑制されません
(それが再び到達可能になった後で閾値の上にあるとき)。
The main point of Figure 2 is to show the effect of changing the duty
cycle of the square wave in the variable "R" for a fixed frequency of
the square wave. If the decay constants are chosen such that decay
is slower when R=0 (the route is unreachable), then the figure of
merit rises more slowly (more accurately, the baseline of the
sawtooth waveform rises more slowly) if the route is reachable a
larger percentage of the time. The effect when the route becomes
persistently reachable again can be fairly negligible if the sawtooth
is clipped by a ceiling value, but is more significant if a slow
route flap rate or short interval of route flapping is such that the
sawtooth does not reach the ceiling value. In Figure 2 the interval
in which the routes are unstable is short enough that the ceiling
value is not reached, therefore, the routes that are reachable for a
greater percentage of the route flap cycle are reused (placed in the
RIB and advertised to peers) sooner than others after the route
becomes stable again ("R" becomes 1, indicating the announced state
goes to reachable and remains there).
図2の主なポイントは固定周波数の方形波に対し、変数「R」の方形波の任
務サイクルを変える効果を示す事です。もし減少定数が、減少がR=0(経
路が到達不可)の時に遅くなるように選択されるなら、大部分の時間、経路
が到達可能な場合に、図のメリットの数字がよりゆっくりと上昇します(正
確には、ぎざぎざの波形のベースラインがよりゆっくりと上昇する)。経路
が再び到達可能になるときの効果は、もしぎざぎざが上限値によって抑えら
れるなら、まったく無視してよいが、もし遅い経路バタつき率あるいはは短
時間の経路バタつきがのこぎりの歯の上限値に届かないならより重要です。
図2で経路が不安定である間隔は上限値に届かないほど短く、それゆえ、経
路バタつきのサイクルの多くの時間が到達可能な経路は、その後安定化した
経路(「R」が1になり、広告状態が到達可能になりそこに留まる事を示す)
に比べてすぐに、再利用されます(RIBに設定され、ピアに広告される。
In both Figure 1 and Figure 2, routes would be suppressed. Routes
flapping at the decay half life or less would be withdrawn two or
three times and then remain withdrawn until they had remained stably
announced and stable for on the order of 1 1/2 to 2 1/2 times the
decay half life (given the ceiling in the example).
図1と図2の両方で、経路が抑制されるでしょう。半減期以下の経路バタつ
きは2ないし3回撤回され、それから安定広告になり半減期の1/2から2
と1/2倍の間(例で与えた上限)安定になるまで撤回されたままとなりま
す。
The purpose of damping BGP route flap is to reduce the processor
burden at the immediate router and the processor burden to downstream
routers (BGP peer routers and peers of peers that will see the route
announcements advertised by the immediate router). Computing a
figure of merit at each discrete time interval using figure-of-
merit(t) = K * figure-of-merit(t - delta-t) would be very inefficient
and defeat the purpose. This problem is addressed by defering
computation as long as possible and doing a single simple computation
to compensate for the decay during the time that has elapsed since
the figure of merit was last updated. The use of decay arrays
provides the single simple calculation. The use of reuse lists
(described later) provide a means to defer calculations. A route
becomes usable if there was not further change for a period of time
and the route is unreachable. The data structure storage is
recovered if the route's state has not changed for a period of time
and it has been unreachable. The reuse arrays provide a means to
estimate how long a computation can be deferred if there is no
further change.
BGP経路バタつきを抑制する目的は、そのルータのプロセッサ負荷の減少
と、下流ルータ(BGPピアルータと中間ルータの経路広告を見るピアのピ
ア)のプロセッサ負荷を減らすことです。それぞれの不連続の時間間隔で、
figure-of-merit(t)=K*figure-of-merit(t-delta-t) でメリットの数字を計
算するのは非常に非能率的で、目的を破るでしょう。この問題は可能な限り
計算を延期し、メリットの数字が更新されてからの経過した時間の減少を埋
め合わせる単純な計算をする事で解決します。減少配列の使用は単純な計算
を供給します。(後に記述された)再利用リストの使用は、計算の延期の手
段を供給します。経路は、もし一定の期間変化がなく経路が到達不可能なら、
利用可能になります。もし経路状態が一定期間変化せず、到達不可能である
なら、データ構造メモリは開放されます。再利用配列は変化がないときにど
れほどの期間計算を延期できるか見積もる手段を供給します。
A larger time granularity will keep table storage down. The time
granularity should be less than a minimal reasonable time between
expected worse case route flaps. It might be reasonable to fix this
parameter at compile time or set a default and strongly recommend
that the user leave it alone. With an exponential decay, array size
can be greatly reduced by setting a period of complete stability
after which the decayed total will be considered zero rather than
retaining a tiny quantity. Alternately, very long decays can be
implemented by multiplying more than once if array bounds are
exceeded.
より大きい時間解像度はテーブルメモリをダウンに保つでしょう。時間解像
度は期待された最悪の場合の経路バタつきの間隔以下の最小の合理的な時間
であるべきです。コンパイル時にパラメータを固定するか、あるいはデフォ
ルトを設定して強くユーザのそのままにすることを勧めることが、合理的で
あるかもしれません。指数の減少で、小さい量を維持するより、減少の合計
がゼロと考えられる完全な安定期間を設定する事で、配列の大きさはとても
小さく出来ます。代わりに、もし配列の限度を越えるなら、非常に長い減少
が何度も掛け算する事で実装できます。
The reuse lists hold suppressed routes grouped according to how long
it will be before the routes are eligible for reuse. Periodically
each list will be advanced by one position and one list removed as
described in Section 4.8.7. All of the suppressed routes in the
removed list will be reevaluated and either used or placed in another
list according to how much additional time must elapse before the
route can be reused. The last list will always contain all the
routes which will not be advertised for more time than is appropriate
for the remaining list heads. When the last list advances to the
front, some of the routes will not be ready to be used and will have
to be requeued. The time interval for reconsidering suppressed
routes and number of list heads should be configurable. Reasonable
defaults might be 30 seconds and 64 list heads. A route suppressed
for a long time would need to be reevaluated every 32 minutes.
再利用リストが抑制した経路を、再利用の資格を得るまでどのくらい時間が
かかるかで分類して、維持します。周期的にそれぞれのリストが1つ繰り上
げられ、1つのリストが4.8.7章で示された方法で削除されるでしょう。
削除リストの全ての抑制経路は、経路が再利用されてからどのくらい追加時
間が経過したかにより、他のリストに入れるかどうか再評価されます。最後
のリストは常に、残りのリストヘッドが適切な間、広告されないの全ての経
路を含んでいるでしょう。最後のリストが前に進む時、経路のいくつかが使
われる準備ができていないでしょう、そして再度キューにいれられるでしょ
う。抑制経路とリストヘッドの数を再考するための時間間隔は設定可能であ
るべきです。合理的なデフォルトは30秒と64のリストヘッドかもしれま
せん。長期間抑制された経路が32分ごとに再評価される必要があるでしょ
う。
4.4 Run Time Data Structures
4.4 実行時データ構造
A fixed small amount of per system storage will be required. Where
sets of multiple configuration parameters are used, storage will be
required per set of parameters. A small amount of per route storage
is required. A set of list heads is needed. These list heads are
used to arrange suppressed routes according to the time remaining
until they can be reused.
システム毎に小さい固定量のメモリが必要でしょう。多数の設定パラメータ
が使われるところで、メモリがパラメータセット毎に必要とされるでしょう。
経路毎に少量のメモリが必要です。リストヘッドの設定が必要です。これら
のリストヘッドは再利用できるまでの時間に関連して抑制経路を並べるため
に使われます。
A separate reuse list can be used to hold unreachable routes for the
purpose of later recovering storage if they remain unreachable too
long. This might be more accurately described as a recycling list.
The advantage this would provide is making free data structures
available as soon as possible. Alternately, the data structures can
simply be placed on a queue and the storage recovered when the route
hits the front of the queue and if storage is needed. The latter is
less optimal but simple.
もしあまりにも長い間到達不可能なままでいる経路のメモリを開放する目的
で、別の再利用リストを使われることができます。これはより正確にリサイ
クルリストと描写されるかもしれません。これが供給する利点はできるだけ
早くデータ構造体を開放し利用可能にする事です。代わりに、データ構造体
を待ち行列上に置くことができ、そしてメモリは経路が待ち行列の前に来た
時に、もしメモリが必要なら開放する事もできます。後者は最適ではありま
せんが単純です。
If multiple sets of configuration parameters are allowed per route,
there is a need for some means of associating more than one figure of
merit and set of parameters with each route. Building a linked list
of these objects seems like one of a number of reasonable
implementations. Similarly, a means of associating a route to a
reuse list is required. A small overhead will be required for the
pointers needed to implement whatever data structure is chosen for
the reuse lists. The suggested implementation uses a double linked
lists and so requires two pointers per figure of merit.
もし設定パラメータの多数のセットが経路毎に許されるなら、1つ以上のメ
リットの数と各経路のパラメータのセットを結び付ける手段が必要です。こ
れらのオブジェクトのつながれたリストを構築することは多くの合理的な実
装の1つのように思われます。同様に、再利用リストに経路を関連づける手
段が必要とされます。データ構造体が再利用リストに選択される際に、ポイ
ンタのための小さいオーバーヘッドが実装に必要でしょう。提案する実装は
双方向リンクリストを使用し、それでメリットの数字毎に2つのポインタが
必要です。
Each set of configuration parameters can reference decay arrays and
reuse arrays. These arrays should be shared among multiple sets of
parameters since their storage requirement is not negligible. There
will be only one set of reuse list heads for the entire router.
それぞれの設定パラメータが減少配列と再利用配列を参照します。これらの
配列は、メモリ条件が少なくないので、パラメータの多数のセットの間で共
有されるべきです。ルータ全体で再利用リストヘッドは1つだけでしょう。
4.4.1 Data Structures for Configuration Parameter Sets
4.4.1 設定パラメータセットのためのデータ構造
Based on the configuration parameters described in the previous
section, the following values can be computed as scaled integers
directly from the corresponding configuration parameters.
前の章で記述した設定パラメータに基づいて、次の値は、対応する設定パラ
メータから直接スケール整数で計算できます。
o decay array scale factor (decay-array-scale-factor)
o 減少配列スケール要因(decay-array-scale-factor)
o cutoff value (cut)
o 打切り値(cut)
o reuse value (reuse)
o 再利用値(reuse)
o figure of merit ceiling (ceiling)
o メリットの数字の上限(ceiling)
Each configuration parameter set will reference one or two decay
arrays and one or two reuse arrays. Only one array will be needed if
the decay rate is the same while a route is unreachable as while it
is reachable, or if the stability figure of merit does not decay
while a route is unreachable.
それぞれの設定パラメータセットが1つあるいは2つの減少配列と1つある
いは2つの再利用配列を参照するでしょう。もし減少率が経路が到達可能で
ある間と到達不可能な間で同じなら、あるいはもしメリットの安定性数が経
路が到達不可能である間に減少しないなら、ただ1つの配列が必要でしょう。
4.4.2 Data Structures per Decay Array and Reuse Index Array
4.4.2 減少配列と再利用インデックス配列毎のデータ構造体
The following are also computed from the configuration parameters
though not as directly. The computation is described in Section 4.5.
下記は直接ではなくけれども設定パラメータから計算されます。計算は4.5
章で記述されます。
o decay rate per tick (decay-delta-t)
o チック毎の減少率(decay-delta-t)
o decay array size (decay-array-size)
o 減少配列サイズ(decay-array-size)
o decay array (decay[])
o 減少配列(decay[])
o reuse index array size (reuse-index-array-size)
o 再利用インデックス配列サイズ(reuse-index-array-size)
o reuse index array (reuse-index-array[])
o 再利用インデックス配列(reuse-index-array[])
For each decay rate specified, an array will be used to store the
value of a computed parameter raised to the power of the index of
each array element. This is to speed computations. The decay rate
per tick is an intermediate value expressed as a real number and used
to compute the values stored in the decay arrays. The array size is
computed from the decay memory limit configuration parameter
expressed as an array size or as a maximum hold time.
それぞれの指定された減少率で、配列が計算されたパラメータ値のそれぞれ
の配列要素のインデックスのべき乗を記憶するために使われるでしょう。こ
れは計算を速めるはずです。チック毎の減少率は実数で表される中間値であっ
て、そして減少配列に記憶する値を計算したものでした。配列サイズか最大
保持時間として表現される減少メモリ限界設定パラメータから配列の大きさ
が計算されます。
The decay array size must be of sufficient size to accommodate the
specified decay memory given the time granularity, or sufficient to
hold the number of array elements until integer rounding produces a
zero result if that value is smaller, or a implementation imposed
reasonable size to prevent configurations which use excessive memory.
Implementations may chose to make the array size shorter and multiply
more than once when decaying a long time interval to reduce storage.
減少配列サイズは大きさは時間精度で与えられた指定された減少メモリに十
分な、あるいはもし値が小さければ整数回の手順でゼロになるまでの配列要
素数に十分なサイズ、あるいは実装が極端にメモリを使う設定を妨げる合理
的なサイズを課さなければなりません。実行が配列サイズをより短くして、
メモリを減らすために長い時間隔で減少させる時に増やすことに決めるかも
しれません。
The reuse index arrays serve a similar purpose to the decay arrays.
In BGP, a route is said to be "used" if it is considered the best
route. In this context, if the route is "used" it is placed in the
RIB and is eligible for advertisement to BGP peers. If a route is
withdrawn (a BGP announcement is made by a peer indicating that it is
no longer reachable), then it is no longer eligible for "use". When
a route becomes reachable it may not be "used" immediately if the
figure of merit indicates that a recent instability has occurred.
After the route remains stable and the figure of merit decays below
the "reuse" threshhold, the route is said to be eligible to be
"reused" (treated as truly reachable, placed in the RIB and
advertised to peers). The amount of time until a route can be reused
can be determined using a array lookup. The array can be built given
the decay rate. The array is indexed using a scaled integer
proportional to the ratio between a current stability figure of merit
value and the value needed for the route to be reused.
再利用インデックス配列は減少配列と類似の目的を満たします。BGPで、
経路が最も良い経路と思われるなら、「使われる」と言われます。この文脈
で、もし経路が「使われる」なら、それはRIBに置かれ、そしてBGPピ
アに広告する資格を有します。もし経路が撤回されるなら(ピアからのBG
P広告が到達可能ではないことを示す)、それはもう「使用」の資格を有し
ません。経路が到達可能になる時、もしメリットの数字が最近の不安定の存
在を示すなら、すぐに「使われない」かもしれません。経路が安定したまま
で、そしてメリットの数字が「再利用」閾値以下に減少した後、経路は「再
利用される」資格があると言われます(本当に到達可能であるとして扱われ、
RIBに置かれ、ピアに広告されます)。経路が再利用できるまでの時間量
は配列検索を使って決定できます。配列は与えられた減少率の条件下で構築
できます。配列は、現在のメリットの安定性の数と経路の再利用に必要な値
の比率に対応したスケール整数を使用して、インデックスされます。
4.4.3 Per Route State
4.4.3 経路毎状態
Information must be maintained per some tuple representing a route.
At the very minimum, the NLRI (BGP prefix and length) must be
contained in the tuple. Different BGP attributes may be included or
excluded depending on the specific situation. The AS path should
also be contained in the tuple by default. The tuple may also
optionally contain other BGP attributes such as
MULTI_EXIT_DISCRIMINATOR (MED).
情報が経路を表すある項組み毎に維持されなくてはなりません。最小限、N
LRI(BGPプレフィックスと長さ)は項組みに含まなければなりません。
異なるBGP属性があるいは特定の状態に依存して、含まれたり除外される
かもしれません。ASパスはデフォルトで項組みに含まれるべきです。項組
みは同じくオプションとして多数出口区別(MED)のような他のBGP属
性を含んでいるかもしれません。
The tuple representing a route for the purpose of route flap damping
is:
経路バタつき防止の目的で経路をを表している項組みは以下です:
tuple entry default options
-------------------------------------------
NLRI
prefix required
length required
AS path included option to exclude
last AS set in path excluded option to include
next hop excluded option to include
MED excluded option to include
in comparisons only
The AS path is generally included in order to identify downstream
instability which is not being damped or not being sufficiently
damped and is alternating between a stable and an unstable path.
Under rare circumstances it may be desirable to exclude AS path for
all or a subset of prefixes. If an AS path ends in an AS set, in
practice the path is always for an aggregate. Changes to the
trailing AS set should be ignored. Ideally the AS path comparison
should insure that at least one AS has remained constant in the old
and new AS set, but completely ignoring the contents of a trailing AS
set is also acceptable.
ASパスは安定化されていないあるいは安定化が不十分な経路を識別するの
に使用され、そして安定パスを不安定パスの入れ替えをします。まれな状況
下で、すべてあるいは一部のプレフィックスでASパスを除去することは望
ましいかもしれません。もしASパスがAS集合で終わるなら、実際はパス
は常に集約です。後続するAS集合に対する変更が無視されるべきです。理
想的にはASパスの比較は、あるASが新旧のAS集合にあることを保証す
るべきですが、しかし後のAS集合の中身を完全に無視することは許容でき
ます。
Including next hop and MED changes can help suppress the use of an AS
which is internally unstable or avoid a next hop which is closer to
an unstable IGP path in the adjacent AS. If a large number of MED
values are used, the increase in the amount of state may become a
problem. For this reason MED is disabled by default and enabled only
as part of the tuple comparison, using a single state entry
regardless of MED value. Including MED will suppress the use of the
adjacent AS even though the change need not be propagated further.
Using MED is only a safe practice if a path is known to exist through
another AS or where there are enough peering sites with the adjacent
AS such that routes heard at only a subset of the peering sites will
be suppressed.
次の転送先とMED変更は、内部的に不安定なASの使用を抑制できるか、
隣接ASの不安定なIGPパスに近い次の転送先を避けることができます。
もし多数のMED値が使われるなら、状態の量の増加は問題になるかもしれ
ません。この理由でMEDはデフォルトで適用されず、MED値にかかわら
ずひとつの状態項目を使った項組み比較の一部としてだけ適用可能です。M
EDを含むことは、変更がさらに伝えられる必要がないけれども、隣接した
ASの使用を抑制するでしょう。MEDを使うことは、もしパスが他のAS
を通って存在すると知っているか、隣接ASにピアサイトが十分あるり経路
がピアサイトの一部で聞かれた経路が抑制されるなら、安全な習慣に過ぎま
せん。
4.4.4 Data Structures per Route
4.4.4 経路毎のデータ構造
The following information must be maintained per route. A route here
is considered to be a tuple usually containing NLRI, next hop, and AS
path as defined in Section 4.4.3.
次の情報は経路毎に維持されなくてはなりません。ここの経路が、4.4.3
章で定義されるように、通常NLRIと次の転送先とASパスを含んでいる
項組みであると考えられます。
stability figure of merit (figure-of-merit)
メリットの安定性数(figure-of-merit)
Each route must have a stability figure of merit per applicable
parameter set.
それぞれの経路が適用可能なパラメータセット毎にメリットの安定性数
を持たなくてはなりません。
last time updated (time-update)
最終更新時刻(time-update)
The exact last time updated must be maintained to allow
exponential decay of the accumulated figure of merit to be
deferred until the route might reasonable be considered eligible
for a change in status (having gone from unreachable to
reachable or advancing within the reuse lists).
正確な最後の更新時刻は、メリットの蓄積された数の指数減少を、経路
が合理的に状態変更に適格と考えられるまで延期する事を許すために維
持されなければなりません(到達不可から到達可能に変更や、再利用リ
ストへ移行)。
config block pointer
設定ブロックポインタ
Any implementation that supports multiple parameter sets must
provide a means of quickly identifying which set of parameters
corresponds to the route currently being considered. For
implementations supporting only parameter sets where all routes
must be treated the same, this pointer is not required.
多数のパラメータセットをサポートする実装は、経路に対する多数のパ
ラメータセットのどれが現在適用されているかをすばやく明らかにする
手段を供給しなくてはなりません。1つのパラメータセットだけで全て
の経路が同じに扱われる実装は、このポインタを必要としません。
reuse list traversal pointers
再利用リスト横断ポインタ
If doubly linked lists are used to implement reuse lists, then
two pointers will be needed, previous and next. Generally there
is a double linked list which is unused when a route is
suppressed from use that can be used for reuse list traversal
eliminating the need for additional pointer storage.
もし再利用リストの実装に二重リンクリストが使用されるなら、前へと
後への2つのポインタが必要とされるでしょう。一般に、経路が抑制さ
れているときに使用されていない二重リンクリストがあり、これは再利
用リスト横断に利用でき、追加のポインタメモリを必要としません。
4.5 Processing Configuration Parameters
4.5 処理設定パラメータ
From the configuration parameters, it is possible to precompute
a number of values that will be used repeatedly and retain these
to speed later computations that will be required frequently.
設定パラメータから、繰り返して使われるであろう多くの値を事前計算
して、しばしば必要な後の計算を速めることは可能です。
Scaling is usually dependent on the highest value that figure-
of-merit can attain, referred to here as the ceiling. The real
number value of the ceiling will typically be determined by the
following equation. The ceiling can also be configured to a
specific value, which in turn dictates T-hold.
スケール調整は、ここで上限と呼んでいる、通常メリットの通知の達成
する最も高い値に依存します。上限の実数値は一般に次の方程式で決定
されるでしょう。上限は同じくT-holdから決まる特定の値で設定されま
す。
ceiling = reuse * (exp(T-hold/decay-half-life) * log(2))
In the above equation, reuse is the reuse threshhold described
in Section 4.2.
上記の方程式で、reuseは4.2章で記述した再利用閾値です。
The methods of scaled integer arithmetic are not described in
detail here. The methods of determining the real values are
given. Translation into scaled integer values and the details
of scaled integer arithmetic are left up to the individual
implementations.
スケール整数演算の方法はここで詳細を記述しません。実数値を決定す
る方法は与えられます。スケール整数値への翻訳とスケール整数演算の
細部は個別の実装に任されます。
The ceiling value can be set to be the largest integer that can fit
in half the bits available for an unsigned integer. This will
allow the scaled integers to be multiplied by the scaled decay
value and then shifted down. Implementations may prefer to use
real numbers or may use any integer scaling deemed appropriate for
their architecture.
上限値は符号なしの整数のために利用可能なビットの半分に一致する最も
大きい整数になります。これはスケール整数にスケール減少値を掛けて、
次に桁落としを許すでしょう。実装が実数を使うことをより好むかもしれ
ないし、あるいはアーキテクチャに適切なスケールの整数を使ってもよい
です。
penalty value and thresholds (as proportional scaled integers)
罰則値と閾値(均衡したスケール整数)
The figure of merit penalty for one route withdrawal and the
cutoff values must be scaled according to the above scaling
factor.
1回の経路撤回のメリットの数値の罰則値と、打ち切り値は上記のスケー
ル因子でスケールしなければなりません。
decay rate per tick (decay[1])
チック毎の減少率(decay[1])
The decay value per increment of time as defined by the time
granularity must be determined (at least initially as a floating
point number). The per tick decay is a number slightly less
than one. It is the Nth root of the one half where N is the
half life divided by the time granularity.
時間解像度と定義される時間増加毎の減少値は決定されなければなりま
せん(少なくとも初めに浮動小数点数として)。チック毎の減少率は1
未満の数です。Nを半減期を時間解像度で割ったものとしたときに、こ
れは2分の1のN乗根です。
decay[1] = exp ((1 / (decay-half-life/delta-t)) * log (1/2))
decay array size (decay-array-size)
減少配列サイズ(decay-array-size)
The decay array size is the decay memory divided by the time
granularity. If integer truncation brings the value of an array
element to zero, the array can be made smaller. An
implementation should also impose a maximum reasonable array
size or allow more than one multiplication.
減少配列サイズは減少メモリを時間解像度で割ったものです。もし整数
切捨てが配列要素の値をゼロにするなら、配列はより小さくすることが
できます。実装が最大の合理的な配列サイズを課すか、あるいは1以上
の乗算を許すべきです。
decay-array-size = (Tmax/delta-t)
decay array (decay[])
減少配列(decay[])
Each i-th element of the decay array is the per tick delay
raised to the i-th power. This might be best done by successive
floating point multiplies followed by scaling and integer
rounding or truncation. The array itself need only be computed
at startup.
減少配列のそれぞれのi番目の要素がチック毎の減少のi乗です。これ
は連続した浮動小数点乗算に続くスケール化と整数化でできるかもしれ
ません。配列自身は起動時に計算が必要なだけです。
decay[i] = decay[1] ** i
4.6 Building the Reuse Index Arrays
4.6 再利用インデックス配列の生成
The reuse lists may be accessed quite frequently if a lot of routes
are flapping sufficiently to be suppressed. A method of speeding the
determination of which reuse list to use for a given route is
suggested. This method is introduced in Section 4.2, its
configuration described in Section 4.4.2 and the algorithms described
in Section 4.8.6 and Section 4.8.7. This section describes building
the reuse list index arrays.
再利用リストは、もし多くの経路が抑制するのに十分なほどバタつくなら、
非常にしばしばアクセスされるかもしれません。ある経路でどの再利用リス
トを使うかについて、決定を速める方法が提案されています。この方法は
4.2章で紹介され、設定は4.4.2章で記述され、アルゴリズムは4.8.6
章と4.8.7章で記述されます。この章は再利用リストインデックス配列の
構築を記述します。
A ratio of the figure of merit of the route under consideration to
the cutoff value is used as the basis for an array lookup. The ratio
is scaled and truncated to an integer and used to index the array.
The array entry is an integer used to determine which reuse list to
use.
打ち切り値を考慮した経理のメリットの数字の比率が、配列検索の基礎とし
て使われます。比率はスケールされ、整数化され、そして配列インデックス
に使われます。配列項目はどの再利用リストを使うべきか決定するために使
われる整数です。
reuse array maximum ratio (max-ratio)
再利用配列最大限比率(max-ratio)
This is the maximum ratio between the current value of the
stability figure of merit and the target reuse value that can be
indexed by the reuse array. It may be limited by the ceiling
imposed by the maximum hold time or by the amount of time that
the reuse lists cover.
これは現在のメリットの安定数字と再利用配列でインデックスを付けら
れた目標再利用値の間の最大比率です。これは最大持続時間か再利用リ
ストがカバーする総時間の上限値で制限されるかもしれません。
max-ratio = min(ceiling/reuse, exp((1 / (half-life/reuse-
array-time)) * log(2)))
reuse array scale factor ( scale-factor )
再利用配列スケール因子(scale-factor)
Since the reuse array is an estimator, the reuse array scale
factor has to be computed such that the full size of the reuse
array is used.
再利用配列が評価者であるので、再利用配列スケール因子は、再利用配
列の最大サイズが使われるように、計算されなければなりません。
scale-factor = reuse-index-array-size / (max-ratio - 1)
reuse index array (reuse-index-array[])
再利用インデックス配列(reuse-index-array[])
Each reuse index array entry should contain an index into the
reuse list array pointing to one of the list heads. This index
should corresponding to the reuse list that will be evaluated
just after a route would be eligible for reuse given the ratio
of current value of the stability figure of merit to target
reuse value corresponding the the reuse array entry.
それぞれの再利用インデックス配列項目がリストヘッドの1つを示す再
利用リスト配列の中のインデックスを含むべきです。もしインデックス
が経路が現在のメリットの数字の値の比率から再利用配列項目の目標再
利用値で適格になった直後に評価される再利用リストに対応するべきで
す。
reuse-index-array[j] = integer((decay-half-life / reuse-
time-granularity) * log(1/(reuse * (1 + (j / scale-factor)))) /
log(1/2))
To determine which reuse queue to place a route which is being
suppressed, the following procedure is used. Divide the current
figure of merit by the cutoff. Subtract one. Multiply by the scale
factor. This is the index into the reuse index array (reuse-index-
array[]). The value fetched from the reuse index array (reuse-
index-array[]) is an index into the array of reuse lists (reuse-
array[]). If this index is off the end of the array use the last
queue otherwise look in the array and pick the number of the queue
from the array at that index. This is quite fast and well worth the
setup and storage required.
抑制経路を置くためにどの再利用待ち行列を使うかの決定は次の手順が使わ
れます。メリットの現在の数字を切り捨てます。1を引きます。スケール因
子を掛けます。これは再利用インデックス配列(reuse-index- array[])の
インデックスです。再利用インデックス配列から得られた値
(reuse-index-array[])は、再利用リストの配列(reuse- array[])への
インデックスです。もしこのインデックスが配列の最後でなければの最後の
キューを使い、そうでなければ配列の中を見てインデックスの場所の配列か
らキューの数を選んでください。これは非常に速くて、設定と記憶に必要な
価値を持っています。
4.7 A Sample Configuration
4.7 サンプル設定
A simple example is presented here in which the space overhead is
estimated for a set of configuration parameters. The design here
assumes:
簡単な例がここに示され、設定パラメータの空間コストが見積もられます。
ここの設計は以下を仮定します:
1. there is a single parameter set used for all routes,
1. 全ての経路でひとつのパラメータセットを使います、
2. decay time for unreachable routes is slower than for reachable
routes
2. 到達不可能な経路の減少時間は到達可能な経路より遅いです
3. the arrays must be full size, rather than allow more than one
multiply per decay operation to reduce the array size.
3. 配列は完全サイズで、配列サイズを減らすために減少オペレーション毎
に複数の掛け算をすることはしません。
This example is used in later sections. The use of multiple
parameter sets complicates the examples somewhat. Where multiple
parameter sets are allowed for a single route, the decay portion of
the algorithm is repeated for each parameter set. If different
routes are allowed to have different parameter sets, the routes must
have pointers to the parameter sets to keep the time to locate to a
minimum, but the algorithms are otherwise unchanged.
この例は後の章で使われます。多数のパラメータセットの使用は幾分例を複
雑にします。多数のパラメータセットがひとつの経路に許され、アルゴリズ
ムの減少部はそれぞれのパラメータセットで繰り返されます。もし異なった
経路が異なったパラメータセットを持つことを許されるなら、経路は位置を
定める時間を最小限にするためパラメータセットへのポインタを持たなけれ
ばなりませんが、アルゴリズムは変化していません。
A sample set of configuration parameters and a sample set of
implementation parameters are provided in in the two following lists.
設定パラメータのサンプルセットと、実装パラメータのサンプルが次の2つ
のリストで供給されます。
1. Configuration Parameters
1. 設定パラメータ
o cut = 1.25
o reuse = 0.5
o T-hold = 15 mins
o decay-ok = 5 min
o decay-ng = 15 min
o Tmax-ok, Tmax-ng = 15, 30 mins
2. Implementation Parameters
2. 実装パラメータ
o delta-t = 1 sec
o delta-reuse = 15 sec
o reuse-list-size = 256
o reuse-index-array-size = 1,024
Using these configuration and implementation parameters and the
equations in Section 4.5, the space overhead can be computed. There
is a fixed space overhead that is independent of the number of
routes. There is a space requirement associated with a stable route.
There is a larger space requirement associated with an unstable
route. The space requirements for the parameters above are provide
in the lists below.
これらの設定と実装パラメータと4.5章の式を使って、スペースオーバーヘッ
ドは計算できます。経路数と独立に固定したスペースオーバーヘッドがあり
ます。安定した経路に関連するスペース条件があります。不安定な経路に関
連するより大きいスペース条件があります。上記パラメータのスペース条件
は下のリストで供給されます。
1. fixed overhead (using parameters from previous example)
1. 固定オーバーヘッド(前の例のパラメータを使用)
o 900 * integer - decay array
o 1,800 * integer - decay array
o 120 * pointer - reuse list-heads
o 2,048 * integer - reuse index arrays
2. overhead per stable route
2. 経路毎のオーバーヘッド
o pointer - containing null entry
3. overhead per unstable route
3. 不安定経路毎のオーバーヘッド
o pointer - to a damping structure containing the following
o integer - figure of merit + bit for state
o integer - last time updated
o 2 * pointer - reuse list pointers (prev, next)
The decay arrays are sized acording to delta-t and Tmax-ok or Tmax-
ng. The number of reuse list-heads is based on delta-reuse and the
greater of Tmax-ok or Tmax-ng. There are two reuse index arrays
whose size is a configured parameter.
減少配列はdelta-tとTmax-okまたはTmax- ngに関連してサイズを定められま
す。再利用リストヘッドの数はdelta-reuseに基づき、そしてTmax-okか
Tmax-ngより大きいです。その大きさが設定パラメータである2つの再利用イ
ンデックス配列があります。
Figure 3 shows the behavior of the algorithm with the parameters
given above. Four cases are given in this example. In all four,
there is a twelve minute period of route oscillations. Two periods
of oscillation are used, 2 minutes and 4 minutes. Two duty cycles
are used, one in which the route is reachable during 20% of the cycle
and the other where the route is reachable during 80% of the cycle.
In all four cases, the route becomes suppressed after it becomes
unreachable the second time. Once suppressed, it remains suppressed
until some period after becoming stable. The routes which oscillate
over a 4 minute period are no longer suppressed within 9-11 minutes
after becoming stable. The routes with a 2 minute period of
oscillation are suppressed for nearly the maximum 15 minute period
after becoming stable.
図3は上で与えられたパラメータでのアルゴリズムの動作を示します。4つ
の場合がこの例で与えられます。すべての場合で、経路振動に12分の周期
があります。2つの振動周期、2分と4分が、使われます。2つの必須サイ
クルが使われ、1つは経路のサイクルのの20%で到達可能で、他方は経路
のサイクルの80%で到達可能です。全ての場合で、経路は2度到達不能に
なると抑制されます。一度抑制されると、安定した後のある程度の期間まで
抑制されます。4分以上の周期の振動経路は安定した後の9−11分後に抑
制が止まります。2分の振動周期を持つ経路は安定した後に最大15分の間
抑制さられます。
time figure-of-merit as a function of time (in minutes)
時間 時間の関数としてのメリットの数字(分単位)
0.00 0.000 . 0.000 . 0.000 . 0.000 .
0.62 0.000 . 0.000 . 0.000 . 0.000 .
1.25 0.000 . 0.000 . 0.000 . 0.000 .
1.88 0.000 . 0.000 . 0.000 . 0.000 .
2.50 0.977 . 0.968 . 0.000 . 0.000 .
3.12 0.949 . 0.888 . 0.000 . 0.000 .
3.75 0.910 . 0.814 . 0.000 . 0.000 .
4.37 1.846 . 1.756 . 0.983 . 0.983 .
5.00 1.794 . 1.614 . 0.955 . 0.935 .
5.63 1.735 . 1.480 . 0.928 . 0.858 .
6.25 2.619 . 2.379 . 0.901 . 0.786 .
6.88 2.544 . 2.207 . 0.876 . 0.721 .
7.50 2.472 . 2.024 . 0.825 . 0.661 .
8.13 3.308 . 2.875 . 1.761 . 1.608 .
8.75 3.213 . 2.698 . 1.711 . 1.562 .
9.38 3.122 . 2.474 . 1.662 . 1.436 .
10.00 3.922 . 3.273 . 1.615 . 1.317 .
10.63 3.810 . 3.107 . 1.569 . 1.207 .
11.25 3.702 . 2.849 . 1.513 . 1.107 .
11.88 3.498 . 2.613 . 1.388 . 1.015 .
12.50 3.904 . 3.451 . 2.312 . 1.953 .
13.13 3.580 . 3.164 . 2.120 . 1.791 .
13.75 3.283 . 2.902 . 1.944 . 1.643 .
14.38 3.010 . 2.661 . 1.783 . 1.506 .
15.00 2.761 . 2.440 . 1.635 . 1.381 .
15.63 2.532 . 2.238 . 1.499 . 1.267 .
16.25 2.321 . 2.052 . 1.375 . 1.161 .
16.88 2.129 . 1.882 . 1.261 . 1.065 .
17.50 1.952 . 1.725 . 1.156 . 0.977 .
18.12 1.790 . 1.582 . 1.060 . 0.896 .
18.75 1.641 . 1.451 . 0.972 . 0.821 .
19.38 1.505 . 1.331 . 0.891 . 0.753 .
20.00 1.380 . 1.220 . 0.817 . 0.691 .
20.62 1.266 . 1.119 . 0.750 . 0.633 .
21.25 1.161 . 1.026 . 0.687 . 0.581 .
21.87 1.064 . 0.941 . 0.630 . 0.533 .
22.50 0.976 . 0.863 . 0.578 . 0.488 .
23.12 0.895 . 0.791 . 0.530 . 0.448 .
23.75 0.821 . 0.725 . 0.486 . 0.411 .
24.37 0.753 . 0.665 . 0.446 . 0.377 .
25.00 0.690 . 0.610 . 0.409 . 0.345 .
Figure 3: Some fairly long route flap cycles, repeated for 12 minutes,
followed by a period of stability.
図3:12分で繰り返されるあるかなり長い経路バタつきサイクルと、
その後の安定期間
4.8 Processing Routing Protocol Activity
4.8 ルーティングプロトコル活動処理
The prior sections concentrate on configuration parameters and their
relationship to the parameters and arrays used at run time and
provide the algorithms for initializing run time storage. This
section provides the steps taken in processing routing events and
timer events when running.
前の章は設定パラメータと実行時に使うパラメータと配列の関係に専念し、
そして実行時メモリを初期化するアルゴリズムを供給します。この章は、実
行時にルーティングイベントとタイマーイベントで行う処理手順を供給しま
す。
The routing events are:
ルーティングイベントは以下です:
1. A BGP peer or new route comes up for the first time (or after
an extended down time) (Section 4.8.1)
1. BGPピアあるいは新しい経路が初めて(あるいは長い故障後に)
出てくる(4.8.1章)
2. A route becomes unreachable (Section 4.8.2)
2. 経路が到達不可能になりる(4.8.2章)
3. A route becomes reachable again (Section 4.8.3)
3. 経路が再び到達可能になる(4.8.3章)
4. A route changes (Section 4.8.4)
4. 経路が変化する(4.8.4章)
5. A peer goes down (Section 4.8.5)
5. ピアが停止する(4.8.5章)
The reuse list is used to provide a means of fast evaluation of route
that had been suppressed, but had been stable long enough to be
reused again or had been suppressed long enough that it can be
treated as a new route. The following two operations are described.
再利用リストは抑制された経路の速い評価の手段を供給するために使われま
すが、再利用されるのに十分長い間安定していたか、あるいは新しい経路と
して扱えるほど十分長い間抑制された経路を持ちません。次の2つのオペレー
ションが記述されます。
1. Inserting into a reuse list (Section 4.8.6)
1. 再利用リストに挿入(4.8.6章)
2. Reuse list processing every delta-t seconds (Section 4.8.7)
2. 各delta-t秒毎の再利用リスト処理(4.8.7章)
4.8.1 Processing a New Peer or New Routes
4.8.1 新しいピアや新しい経路を処理する
When a peer comes up, no action is required if the routes had no
previous history of instability, for example if this is the first
time the peer is coming up and announcing these routes. For each
route, the pointer to the damping structure would be zeroed and route
used. The same action is taken for a new route or a route that has
been down long enough that the figure of merit reached zero and the
damping structure was deleted.
ピアが現れる時、例えばもしピアが最初に現れて経路を広告した場合など、
もし経路に不安定性の前の履歴がなければ何の動作もありません。それぞれ
の経路で、抑制構造体へのポインタはゼロにされ、経路は使用されます。新
しい経路あるいは、メリットの数字がゼロに達するほど長く抑制され抑制構
造体が削除されたほど、十分長く停止していた経路でも、同じ行動が取られ
ます。
4.8.2 Processing Unreachable Messages
4.8.2 到達不可能メッセージ処理
When a route is withdrawn or changed (Section 4.8.4 describes how a
change is handled), the following procedure is used.
経路が撤回されるか、あるいは変化する時(4.8.4章はどのように変更を
処理するかを記述)は、次の手順は使われます。
If there is no previous stability history (the damping structure
pointer is zero), then:
もし、前の安定性履歴がないなら(抑制構造体ポインタがゼロなら):
1. allocate a damping structure
抑制構造体を割り当て
2. set figure-of-merit = 1
3. withdraw the route
経路を撤去
Otherwise, if there is an existing damping structure, then:
さもなければ、もし既存の抑制構造体があるなら:
1. set t-diff = t-now - t-updated
2. if (t-diff puts you off the end of the array) {
t-diffが配列の終りを超える
setfigure-of-merit =1
}else {
setfigure-of-merit =figure-of-merit *decay-array-ok [t-diff ]+ 1
if(figure-of-merit >ceiling) {
setfigure-of-merit =ceiling
}
}
3. remove the route from a reuse list if it is on one
もしあれば再利用リストから経路を除く
4. withdraw the route unless it is already suppressed
すでに抑制されている場合を除き、経路を撤去
In either case then:
どちらの場合でも:
1. set t-updated = t-now
2. insert into a reuse list (see Section 4.8.6)
再利用リスト内に挿入(4.8.6章参照)
If there was a stability history, the previous value of the stability
figure of merit is decayed. This is done using the decay array
(decay-array). The index is determined by subtracting the current
time and the last time updated, then dividing by the time
granularity. If the index is zero, the figure of merit is unchanged
(no decay). If it is greater than the array size, it is zeroed.
Otherwise use the index to fetch a decay array element and multiply
the figure of merit by the array element. If using the suggested
scaled integer method, shift down half an integer. Add the scaled
penalty for one more unreachable (shown above as 1). If the result
is above the ceiling replace it with the ceiling value. Now update
the last time updated field (preferably taking into account how much
time was truncated before doing the decay calculation).
もし安定性履歴があったなら、メリットの安定性数字の前の値は減少してい
ます。これは減少配列(decay-array)を使って計算します。インデックスは
現在時間から最終更新時間を引いて、時間解像度で割って決定します。もし
インデックスがゼロであるなら、メリットの数字は変化していません(減少
なし)。もしそれが配列サイズより大きいなら、ゼロにします。そうでなけ
れば減少配列要素を取るためにインデックスを使い、そして配列要素によっ
てメリットの数字を増やします。もし提案されたスケール調整整数を使うな
ら、整数に半分切り捨ててください。到達不能に対して、スケールされたペ
ナルティを加算します(上記1参照)。もし結果が上限に達するなら、上限
値と取り替えます。最終更新フィールドを更新します(なるべく減少計算を
する前にどれぐらいの時間が切り捨てられたかを考慮します)。
When a route becomes unreachable, alternate paths must be considered.
This process is complicated slightly if different configuration
parameters are used in the presence or absence of viable alternate
paths. If all of these alternate paths have been suppressed because
there had previously been an alternate route and the new route
withdrawal changes that condition, the suppressed alternate paths
must be reevaluated. They should be reevaluated in order of normal
route preference. When one of these alternate routes is encountered
that had been suppressed but is now usable since there is no
alternate route, no further routes need to be reevaluated. This only
applies if routes are given two different reuse thresholds, one for
use when there is an alternate path and a higher threshold to use
when suppressing the route would result in making the destination
completely unreachable.
経路が到達不可能になる時、代替パスが考慮されなくてはなりません。もし
実行可能な代替パスの存在や欠如で異なる設定パラメータが使われるなら、
このプロセスはわずかに複雑です。もし代替経路が前にあり新しい経路撤去
がその状態を変えたためこれらの代替パスのすべてが抑制されるなら、抑制
された代替パスは再評価されなくてはなりません。それらは標準的な経路優
先順序で再評価されるべきです。これらの抑制された代替経路の1つに遭遇
する時、代わりの経路がないく他の経路の再評価が出来ないので、現在有用
です。これは、もし経路に2つの異なる再利用閾値があり、一方は代替パス
と経路の抑制が宛先の到達不能を変化させない時に使用する高い閾値がある
ときに使用される場合に、適用されるだけです。
4.8.3 Processing Route Advertisements
4.8.3 経路広告処理
When a route is readvertised if there is no damping structure, then
the procedure is the same as in Section 4.8.1.
経路が広告されるとき、もし抑制構造体がないなら、手順は4.8.1章と同
じです。
1. don't create a new damping structure
新しい抑制構造体を作りません。
2. use the route
経路を使用します。
If an damping structure exists, the figure of merit is decayed and
the figure of merit and last time updated fields are updated. A
decision is now made as to whether the route can be used immediately
or needs to be suppressed for some period of time.
もし抑制構造体が存在するなら、メリットの数字を減少させ、メリットの数
字と最終更新時間を更新します。経路をすぐに使用するか、一定期間抑制す
る必要があるかどうかについて、決断が今されます。
1. set t-diff = t-now - t-updated
2. if (t-diff puts you off the end of the array) {
t-diffが配列の終りを超える
set figure-of-merit =0
}else {
set figure-of-merit= figure-of-merit* decay-array-ng[t-diff]
}
3. if ( not suppressed and figure-of-merit < cut ) {
抑制されてなくて
use the route
経路を使用
}else if( suppressed and figure-of-merit< reuse) {
抑制されていて
set state to not suppressed
状態を非抑制に設定
remove the route from a reuse list
再利用リストから経路を削除
use the route
経路を使用
}else {
set state to suppressed
状態を抑制に設定
don't use the route
経路を使用しない
insert into a reuse list (see Section 4.8.6)
再利用リストに経路を挿入(4.8.6章参照)
}
4. if ( figure-of-merit > 0 ) {
set t-updated= t-now
}else {
recover memory for damping struct
抑制構造体のメモリを開放
zero pointer to damping struct
抑制構造体へのゼロポインタ
}
If the route is deemed usable, a search for the current best route
must be made. The newly reachable route is then evaluated according
to the BGP protocol rules for route selection.
もし経路が有用であるとみなされるなら、現在の最良経路の捜索がされなく
てはなりません。新たに到達可能な経路は経路選択のためのBGPプロトコ
ル規則に従って評価されます。
If the new route is usable, the previous best route is examined.
Prior to route comparisons, the current best route may have to be
reevaluated if separate parameter sets are used depending on the
presence or absence of an alternate route. If there had been no
alternate the previous best route may be suppressed.
もし新しい経路が有用であるなら、前の最良経路は調べられます。代替経路
の存在や欠如に依存して異なるパラメータセットが使われるなら、経路比較
の前に、現在の最良経路は再評価されなければならないかもしれません。も
し代替がなければ、前の最良経路は抑制されるかもしれません。
If the new route is to be suppressed it is placed on a reuse list
only if it would have been preferred to the current best route had
the new route been accepted as stable. There is no reason to queue a
route on a reuse list if after the route becomes usable it would not
be used anyway due to the existence of a more preferred route. Such
a route would not have to be reevaluated unless the preferred route
became unreachable. As specified here, the less preferred route
would be reevaluated and potentially used or potentially added to a
reuse list when processing the withdrawal of a more preferred best
route.
もし新しい経路が抑制されるなら、もし新しい経路が安定していると認めら
れ、現在の最良経路より好まれた場合に限り、再利用リスト上に置かれます。
もし経路が有用になった後、それがより望ましい経路の存在のために使われ
ないなら経路を再利用リスト上に入れる理由がありません。このような経路
は、望ましい経路が到達不可能にならなかったなら、再評価されなくてもよ
いでしょう。ここで指定されるように、より低度に望ましい経路は再評価さ
れて、そして潜在的に使われるか、あるいは、より望ましい最良経路の撤去
を処理する時、潜在的に再利用リストに加えられるでしょう。
4.8.4 Processing Route Changes
4.8.4 経路変更処理
If a route is replaced by a peer router by supplying a new path, the
route that is being replaced should be treated as if an unreachable
were received (see Section 4.8.2). This will occur when a peer
somewhere back in the AS path is continuously switching between two
AS paths and that peer is not damping route flap (or applying less
damping). There is no way to determine if one AS path is stable and
the other is flapping, or if they are both flapping. If the cycle is
sufficiently short compared to convergence times neither route
through that peer will deliver packets very reliably. Since there is
no way to affect the peer such that it chooses the stable of the two
AS paths, the only viable option is to penalize both routes by
considering each change as an unreachable followed by a route
advertisement.
もし経路がピアが新しい経路を供給して置き換わるなら、置き換えられる経
路は受信時に到達不能と扱われます(4.8.2章参照)。これはASパスの
上流にピアで連続的にASパスを切り替え、ピアがバタつき経路を抑制しな
い(あるいは小さな抑制を適用)したときに発生します。1つのASパスが
安定している、他がバタついているか、あるいは両方がバタついているか決
定する方法がありません。もしサイクルが収束時間と比較して十分に短いな
ら、そのピアを通してのどの経路も非常に信頼できるようなパケットの配達
はしないでしょう。2つのASパスの安定してるのを選択するようにピアに
影響を与える方法がないので、実行可能なのは経路広告による両方の変更を
到達不能と考えて両方の経路にペナルティを与えることです。
4.8.5 Processing A Peer Router Loss
4.8.5 ピアルータ損失処理
When a peer routing session is broken, either all individual routes
advertised by that peer may be marked as unstable, or the peering
session itself may be marked as unstable. Marking the peer will save
considerable memory. Since the individual routes are advertised as
unreachable to routers beyond the immediate problem, per route state
will be incurred beyond the peer immediately adjacent to the BGP
session that went down. If the instability continues, the
immediately adjacent router need only keep track of the peer
stability history. The routers beyond that point will receive no
further advertisements or withdrawal of routes and will dispose of
the damping structure over time.
ピアルーティングセッションが壊れた時、すべてのそのピアによって広告さ
れた個別の経路に不安定というマークを付けられるか、あるいはピアリング
セッション自身に不安定というマークを付けられるかの、どちらかが真です。
ピアをマークすることはかなりのメモリを削減するでしょう。個別の経路は
問題があるとすぐに到達不可能と宣伝されるので、経路毎の状態は停止たB
GPセッションに隣接しているピアを越えて受けとられるでしょう。もし不
安定性が継続するなら、すぐに隣接したルータはただピア安定性履歴を記録
・追跡することが必要であるだけです。その崎のルータはそれ以上広告ある
いは経路の撤去を受け取らないでしょう、そして長期間抑制構造体を配置す
るでしょう。
BGP notification through an optional transitive attribute that
damping will already be applied may be considered in the future to
reduce the number of routers that incur damping structure storage
overhead.
抑制がすでに適用されたという任意の通過の属性を渡すBGP通知は、抑制
構造体メモリを持つルータの数を減らすと、将来考えられるかもしれません。
4.8.6 Inserting into the Reuse Timer List
4.8.6 再利用タイマーリストに挿入
The reuse lists are used to provide a means of fast evaluation of
route that had been suppressed, but had been stable long enough to be
reused again. The data structure consists of a series of list heads.
Each list contains a set of routes that are scheduled for
reevaluation at approximately the same time. The set of reuse list
heads are treated as a circular array. Refer to Figure 4.
再利用リストは抑制されてるが再び再利用されるのに十分長い間安定してい
た経路の速い評価の手段を供給するために使われます。データ構造はリスト
ヘッダからの列で成り立ちます。それぞれのリストがおよそ同じ時刻に再評
価が予定される経路を含んでいます。リストヘッダの集合は円形配列として
扱われます。図4を参照してください。
A simple implementation of the circular array of list heads would be
an array containing the list heads. An offset is used when accessing
the array. The offset would identify the first list. The Nth list
would be at the index corresponding to N plus the offset modulo the
number of list heads. This design will be assumed in the examples
that follow.
リストヘッダの円形配列の単純な実装は、リストヘッダを含む配列です。配
列にアクセスするときオフセットが使われます。オフセットは最初のリスト
を識別するでしょう。N番目のリストはN足すオフセットをリストヘッダの
数で割った余りです。このデザインは次の例で考えられるでしょう。
A key requirement is to be able to insert an entry in the most
appropriate queue with a minimum of computation. The computation is
given only the current value of figure-of-merit. Instead of a
computation which would involve a logarithm, the reuse array (reuse-
array[]) described in Section 4.6 is used. The array, scale, and
bounds are precomputed to map figure-of-merit to the nearest list
head without requiring a logarithm to be computed (see Section 4.5).
鍵となる必要条件は最小限の計算で項目を最も適切な列に挿入することが可
能なことです。計算はメリットの数字の現在の値でだけを与えられます。対
数を巻き込む計算の代わりに、4.6章で記述する再利用配列を使います。
配列とスケールと限界は、対数に計算なしでメリットの数字を最も近いリス
トヘッダに対応付けるため、事前に計算します(4.5章参照)。
+-+ +-+ +-+ non-empty linked list means
| | | | | | <-- that there are routes with
+-+ +-+ +-+ defered action to be taken
^ ^ ^ N * delta-reuse seconds later.
| | | 空でないリンクリストは、
| | | N×delta-reuse秒後に行う動作が
| | | ある経路がある事を意味します。
+------+------+------+------+------+ +------+
| list | list | list | list | list | ... | list |
| head | head | head | head | head | ... | head |
+------+------+------+------+------+ +------+
^ ^ ^ ^ ^ ^
Nth 1st 2nd 3rd 4th N-1
|
offset to first list
(the offset is incremented every delta-reuse seconds)
最初のリストへのオフセット。
(オフセットは毎delta-reuse秒毎に増加します)
Figure 4: Reuse List Data Structures
図4:再利用リストデータ構造体
Note that in the following sections the operator prefix notation
"modulo a b" means "b % a" in C language algebraic operator notation.
For example, "modulo 16 1023" would be 15.
以下の章で、前置演算の表記「modulo a b」はC言語の演算表記で「b % a」
を意味します。例えば、「modulo 16 1023」は15です。
1. scale figure-of-merit for the index array lookup producing
index
メリットの数値をインデックス配列検索生成インデックスに調整
2. check index against the array bound
インデックス配列範囲内か検査
3. if (within the array bound) {
配列範囲内
set index =reuse-array [index ]
}else {
set index =reuse-list-size -1
}
4. insert into the list
リストに挿入
reuse-list[ moduloreuse-list-size (index +offset )]
Choosing the correct reuse list involves only a multiply and shift to
do the scaling, an integer truncation, then an array lookup in the
reuse array (reuse-array[]). The value retrieved from the reuse
array is used to select a reuse list. The reuse list is a circular
list. The most common method of implementing a circular list is to
use an array and apply an offset and modulo operation to pick the
correct array entry. The offset is incremented to rotate the
circular list.
スケール調整に掛算とシフトだけ使用して、整数に切り捨て、正しい再利用
リストを選択し、再利用配列(reuse-array[])の検索をします。再利用配列か
ら取り戻された値は再利用リストを選ぶために使われます。再利用リストは
円形のリストです。円形のリストを実装する最も一般的方法は配列を使い、
そして正しい配列項目を選ぶオフセットと剰余計算を適用する事です。オフ
セット計算は円形リストを回転させるために増加します。
4.8.7 Handling Reuse Timer Events
4.8.7 再利用タイマイベント処理
The granularity of the reuse timer should be more coarse than that of
the decay timer. As a result, when the reuse timer fires, suppressed
routes should be decayed by multiple increments of decay time. Some
computation can be avoided by always inserting into the reuse list
corresponding to one time increment past reuse eligibility. In cases
where the reuse lists have a longer "memory" than the "decay memory"
(described above), all of the routes in the first queue will be
available for immediate reuse if reachable or the history entry could
be disposed of if unreachable.
再利用タイマの解像度は減少タイマより荒くなるべきです。結果として、再
利用タイマがタイムアウトする時、抑制経路が多数の減少時間によって減少
させられるべきです。ある計算で、過去の再利用の時間が経つ毎に常に再利
用リストに入れることを避けることができます。再利用リストが「減少メモ
リ」より長い「メモリ」を持つ場合(上記)、もし到達可能か、もし到達不
能なら歴史的項目が処分できるなら、最初の待ち行列の中の全ての経路が直
接再利用に利用可能です。
When it is time to advance the lists, the first queue on the reuse
list must be processed and the circular queue must be rotated. Using
an array and an offset as a circular array (as described in Section
4.8.6), the algorithm below is repeated every delta-reuse seconds.
リストを進める時間になる時、再利用リストの最初の列が処理されなくては
なりません、そして円形列は回転されなくてはなりません。(4.8.6章で
記述された)円形配列の配列とオフセット計算を使用して、下記のアルゴリ
ズムがdelta-reuse秒毎に繰り返されます。
1. save a pointer to the current zeroth queue head and zero the
list head entry
現在のゼロ番目のキューヘッダのポインタを保存し、リストヘッダ項
目をゼロにします。
2. set offset = modulo reuse-list-size ( offset + 1 ), thereby
rotating the circular queue of list-heads
これによりリストヘッダの円形配列を回転させます。
3. if ( the saved list head pointer is non-empty )
保存されたリストヘッダポインタが空でなければ
for each entry {
sett-diff =t-now -t-updated
set figure-of-merit =figure-of-merit *decay-array-ok [t-diff ]
sett-updated =t-now
if( figure-of-merit< reuse)
reuse the route
経路を再利用
else
re-insert into another list (see Section 4.8.6)
他のリストへ再挿入(4.8.6章参照)
}
The value of the zeroth list head would be saved and the array entry
itself zeroed. The list heads would then be advanced by incrementing
the offset. Starting with the saved head of the old zeroth list,
each route would be reevaluated and used, disposed of entirely or
requeued if it were not ready for reuse. If a route is used, it must
be treated as if it were a new route advertisement as described in
Section 4.8.3.
ゼロ番目のリストヘッドの値は保存されされるでしょう、そして配列項目自
身はゼロにされます。リストヘッドはオフセットを増加する事で進むでしょ
う。古いゼロ番目のリストの先頭から始めて、それぞれの経路が再評価され
そして使われて、再利用に適していなければ処分されるか再度待ち行列に入
れられるでしょう。もし経路が使われるなら、4.8.3章で記述されるよう
に、新しい経路広告であるかのように、扱われなくてはなりません。
5 Implementation Experience
5 実装経験
The first implementations of "route flap damping" were the route
server daemon (rsd) coding by Ramesh Govindan (ISI) and the Cisco IOS
implementation by Ravi Chandra. Both implementations first became
available in 1995 and have been used extensively. The rsd
implementation has been in use in route servers at the NSF funded
Network Access Points (NAPs) and at other major Internet
interconnects. The Cisco IOS version has been in use by Internet
Service Providers worldwide. The rsd implementation has been
integrated in releases of gated (see http://www.gated.org) and is
available in commercial routers using gated.
「経路バタつき防止」の最初の実装はRamesh Govindan(ISI)による経路サー
バデーモン(rsd)コーディングとRavi ChandraによるCisco IOS実装でした。
両方の実装が1995年に最初に利用可能になり、そして広範囲に使われま
した。rsd実装はNSFが資金を供給したネットワークアクセスポイント(N
AP)と他の主要なインターネット相互接続の経路サーバで使用中です。
Cisco IOSバージョンは世界的にインターネット・サービスプロバイダで使用
中です。rsd実装はgated(http://www.gated.org参照)のリリースで統合化さ
れ、そしてgatedを使っている商用ルータで利用可能です。
There are now more than 2 years of BGP route damping deployment
experience. Some problems have occurred in deployment. So far these
are solvable by careful implementation of the algorithm and by
careful deployment. In some topologies coordinated deployment can be
helpful and in all cases disclosure of the use of route damping and
the parameters used is highly beneficial in debugging connectivity
problems.
2年以上のBGP経路抑制の利用経験があります。ある問題が起こりました。
これまでのところこれらはアルゴリズムの注意深い実装と注意深い利用によっ
て解決可能です。あるトポロジーで調和した配置は助けになり得ます、そし
て例外なく経路抑制の使用と使われたパラメータの公表は接続性問題を解決
する際に大いに有益です。
Some of the problems have occurred due to subtle implementation
errors. Route damping should never be applied on IBGP learned
routes. To do so can open the possibility for persistent route
loops. When IBGP routes within an AS are inconsistent, route loops
can easily form. Suppressing IBGP learned routes causes such
inconsistencies. Implementations should disallow configuration of
route damping on IBGP peers.
ある問題が微妙な実装誤りで起こりました。経路抑制は決してIBGPで学
んだ経路上に適用されないべきです。適用すると経路ループの可能性を生じ
ます。AS内のIBGP経路が整合しないとき、経路ループが容易にできる
ます。IBGPで学んだ経路を抑制することはこのような矛盾を起こします。
実装がIBGPピアの経路の抑制の設定を拒絶するべきです。
Penalties for instability should only be applied when a route is
removed or replaced and not when a route is added. If damping
parameters are applied consistently, this implementation constraint
will result in a stable secondary path being preferred over an
unstable primary path due to damping of the primary path near the
source.
不安定性のためのペナルティは、経路が削除されるか置き換わる時に適用す
るべきで、経路を追加する時に適用すべきではありません。もし抑制パラメー
タが整合して適用されれば、この実装制約は情報源の近くで第1パスを抑制
する事で、安定した第2のパスが不安定な第1パスより好まれるという結果
になるでしょう。
In topologies where multiple AS paths to a given destination exist
flapping of the primary path can result in suppression of the
secondary path. This can occur if no damping is being done near the
cause of the route flap or if damping is being applied more
aggressively by a distant AS. This problem can be solved in one of
two ways. Damping can be done near the source of the route flap and
the damping parameters can be made consistent. Alternately, a
distant AS which insists on more aggressive damping parameters can
disable penalizing routes on AS path change, penalizing routes only
if they are withdrawn completely. In order to do so, the
implementation must support this option (as described in Section
4.4.3).
ある宛先への多数のASパスがが存在するトポロジーで、第1パスのバタつ
きは第2パスの抑圧をもたらすことができます。これは、もし抑制が経路バ
タつきの原因の近くでされるか、あるいはもし抑制が遠いASでより積極的
に適用されているなら、起こることができます。この問題は2つの方法の1
つで解くことができます。抑制を経路バタつきの原因の近くで行い、そして
抑制パラメータを整合する事です。代わりに、より攻撃的な抑制を要求する
遠いASが、ASパス変更の経路ペナルティを止める、経路が完全に撤去さ
れるときだけペナルティを与える事ができます。そうするためには実装がこ
の選択をサポートしなくてはなりません(4.4.3章で記述されるように)。
Route flap should be damped near the source. Single homed
destinations can be covered by static routes. Aggregation provides
another means of damping. Providers should damp their own internal
problems, however damping on IGP link state origination is not yet
implemented by router vendors. Providers which use multiple AS
within their own topology should damp between their own AS. Providers
should damp adjacent providers AS.
経路バタつきが発生源の近くで抑制されるべきです。シングルホームの宛先
は静的経路で対応できます。集約はもう1つの抑制手段を供給します。IG
Pリンク状態発生の抑制はまだルータベンダが実装していないが、プロバイ
ダが自分自身の問題を抑制しすべきです。トポロジで多数のASを使用する
プロバイダは、自AS間で抑制をすべきです。プロバイダが隣接したプロバ
イダASを抑制すべき。
Damping provides a means to limit propagation excessive route change
when connectivity is highly intermittent. Once a problem is
corrected, damping state corresponding to the prefixes known to be
damped due to the problem just fixed can be manually cleared. In
order to determine where damping may have occurred after connectivity
problems, providers should publish their damping parameters.
Providers should be willing to manually clear damping on specific
prefixes or AS paths at the request of other providers when the
request is accompanied by credible assurance that the problem has
truly been addressed.
抑制は、接続性が断続的である時に、極端な経路変化の送信を制限する力を
用意します。問題が修正されるると、修正された問題により抑制されたプレ
フィックスに対応する抑制状態は手作業で許可できます。接続問題の発生時
にどこで抑制が生じたかを決定するため、プロバイダが抑制パラメータを公
開するべきです。他のプロバイダの問題が解決したとの保障を伴う要請によっ
て、プロバイダは手作業で特定のプレフィックスあるいはASパスの抑制を
解除したいと思うかもしれません。
By damping their own routing information, providers can reduce their
own need to make requests of other providers to clear damping state
after correcting a problem. Providers should be pro-active and
monitor what prefixes and paths are suppressed in addition to
monitoring link states and BGP session state.
彼ら自身の経路情報を抑制する事で、問題修正後に抑制状態を消す事で、プ
ロバイダが他のプロバイダからの要請を減らす事が出来ます。プロバイダは
リンク状態とBGPセッション状態のモニタの他に、どのプレフィックスや
パスが抑制されているかの事前モニタをするべきです。
Acknowledgements
謝辞
This work and this document may not have been completed without the
advise, comments and encouragement of Yakov Rekhter (Cisco). Dennis
Ferguson (MCI) provided a description of the algorithms in the gated
BGP implementation and many valuable comments and insights. David
Bolen (ANS) and Jordan Becker (ANS) provided valuable comments,
particularly regarding early simulations. Over four years elapsed
between the initial draft presented to the BGP WG (October 1993) and
this iteration. At the time of this writing there is significant
experience with two implementations, each having been deployed since
1995. One was led by Ramesh Govindan (ISI) for the NSF Routing
Arbiter project. The second was led by Ravi Chandra (Cisco). Sean
Doran (Sprintlink) and Serpil Bayraktar (ANS) were among the early
independent testers of the Cisco pre-beta implementation. Valuable
comments and implementation feedback were shared by many individuals
on the IETF IDR WG and the RIPE Routing Work Group and in NANOG and
IEPG.
文書はYakov Rekhter (Cisco)の助言とコメントと奨励がなければ完成しなかっ
たかもしれません。Dennis Ferguson (MCI)はgatedBGP実装のアルゴリズ
ムと多くの貴重なコメントと洞察の記述を供給しました。David Bolen (ANS)
とJordan Becker (ANS) は、特に初期シミュレーションで貴重なコメントを
供給しました。BGP作業グループへの最初のドラフト提出(1993年
10月)からこの繰り返しまで4年以上が経過しました。この著作時に2つ
の実装に重要な経験かあります、それぞれが1995年から配置されました。
1つ目はNSFルーティング決定者プロジェクトのRamesh Govindan (ISI)に
よって導かれました。2つ目はRavi Chandra (Cisco)によって指揮されまし
た。Sean Doran (Sprintlink)とSerpil Bayraktar (ANS)はCiscoのベータ前
実装の初期独立テスタでした。貴重なコメントと実装フィードバックが、
IETF IDR WGとRIPE Routing Work GroupとIEPGのNANOGの多くの個人によって
共有されました。
Thanks also to Rob Coltun (Fore Systems), Sanjay Wadhwa (Fore), John
Scudder (IENG), Eric Bennet (IENG) and Jayesh Bhatt (Bay Networks)
for pointing out errors in the math uncovered during coding of more
recent implementations. These errors appeared in the details of the
implementation suggestion sections written after the first two
implementations were completed. Thanks also to Vern Paxson for a
very thorough review resulting in numerous clarifications to the
document.
最新の実装でも対応していない数学誤りの指摘に対してRob Coltun (Fore
Systems)とSanjay Wadhwa (Fore)とJohn Scudder (IENG)とEric Bennet
(IENG)とJayesh Bhatt (Bay Networks)に感謝します。これらの誤りは、最初
の2つの実装の完了後に書かれた実装の示唆の章の詳細に存在しました。文
書の多数の明確化をもたらした非常に徹底的な批評に対しVern Paxsonに感謝
します。
References
参考文献
[1] Gross, P., and Y. Rekhter, "Application of the border gateway
protocol in the internet", RFC 1268, October 1991.
[2] ISO/IEC. Iso/iec 10747 - information technology - telecommuni-
cations and information exchange between systems - protocol for
exchange of inter-domain routeing information among intermediate
systems to support forwarding of iso 8473 pdus. Technical
report, International Organization for Standardization, August
1994. ftp://merit.edu/pub/iso/idrp.ps.gz.
[3] Lougheed, K., and Y. Rekhter, "A border gateway protocol 3 (BGP-
3)", RFC 1267, October 1991.
[4] Rekhter, Y., and P. Gross, "Application of the border gateway
protocol in the internet", RFC 1772, March 1995.
[5] Rekhter, Y., and T. Li, "A border gateway protocol 4 (BGP-4)",
RFC 1771, March 1995.
[6] Rekhter, Y., and C. Topolcic,"Exchanging routing information
across provider boundaries in the CIDR environment", RFC 1520,
September 1993.
[7] Traina, P., "BGP-4 protocol analysis", RFC 1774, March 1995.
[8] Traina, P., "Experience with the BGP-4 protocol", RFC 1773, March
1995.
Security Considerations
セキュリティの考察
The practices outlined in this document do not further weaken the
security of the routing protocols. Denial of service is possible in
an already insecure routing environment but these practices only
contribute to the persistence of such attacks and do not impact the
methods of prevention and the methods of determining the source.
この文書で概説された習慣はルーティングプロトコルのセキュリティをさら
には弱めません。サービス妨害はすでに不安定なルーティング環境で可能で
すが、これらの習慣はただこのような攻撃の忍耐力に貢献するだけで、そし
て妨害の方法と発生源を決定する方法に影響を与えません。
Authors' Addresses
著者のアドレス
Curtis Villamizar
ANS
EMail: curtis@ans.net
Ravi Chandra
Cisco Systems
EMail: rchandra@cisco.com
Ramesh Govindan
ISI
EMail: govindan@isi.edu
Full Copyright Statement
著作権表示全文
Copyright (C) The Internet Society (1998). 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.
この文書とここに含む情報は無保証で供給され、そしてインターネット学会
とインターネット技術標準化タスクフォースは、特別にも暗黙にも、この情
報の利用が権利を侵害しないことや商業利用や特別の目的への利用に適当で
ある事の保障を含め、すべての保証を拒否します。