この記事を読んで始める前に、Bellman-Fordアルゴリズムに従ってパスの計算に関する素材に慣れることをお勧めします。
拡散更新アルゴリズム(拡散更新アルゴリズム - DUAL)は、本明細書で論じられた2つのアルゴリズムのうちの1つである。アルゴリズムの最後のオートマトンに含まれる実績やトポロジに関する情報も削除するという点でユニークです。ここで説明した他のアルゴリズムは、プロトコルの実装の判断で情報の削除を残し、アルゴリズム自体内のアルゴリズムの作業のこの側面を考慮しないでください。
1993年までに、Bellman-FordとDijkstraはいくつかのルーティングプロトコルの分散アルゴリズムとして実装されました。これらの早期実装および展開の結果として得られた経験は、ネットワークスイッチングネットワークにおけるルーティングの問題に対する研究および反映の「第2の波」にもたらされ、それは経路ベクトルおよび二重の外観をもたらした。
デュアルは分散アルゴリズムとして設計されているので、ネットワーク上の彼の作業を説明するのが最善です。この目的のために、図8および9が使用される。デュアルを説明するために、この例は3つの宛先のストリームでトレースされ、その後、同じ宛先項目の可用性状態で変更が処理されます。第1の例では、代替パスがあるときにケースが考慮されるであろうが、下流の隣人はないので、代替パスと下流側の隣接がある場合は、2番目の隣接があると考えられます。
図8では、視点Aからの研究D:
- AはDの2つの方法を学びます:
- Bはその後継者を使用するので、AはBを介して経路を認識しません。
- A使用可能パスを比較し、ループなしで最短パスを選択します。
- Aは、それらのダウンストリーム隣接者があるかどうかを判断するための残りのパスをチェックします。
Aは、そのローカルメトリックが3に等しい状態でDへのルートを発表しているため、これを知っています。
AトポロジテーブルにローカルメトリックCを維持します。
その結果、Aの局所値とAの局所値を知っている。
- 3(C in C)= 3(aのコスト)、この経路はループである可能性があるため、Cは実現可能性の条件を満たしていません。 Cは下流側の隣接としてラベル付けされていません。
デュアルの下流側の隣人は、可能な後継者と呼ばれます。チャンネル[A、H]が機能しないとします。デュアルは定期的な更新に頼らないので、信頼できる情報を使って別の更新を待つことはできません。むしろ、Aは積極的に代替パスに従わなければなりません。したがって、これは代替経路の拡散検出プロセスである。チャンネル[A、H]が機能しない場合は、Dのみを考慮しています。
- aは、可能な後続のテーブルをチェックします(下流側の隣人)。
- 後継者はありませんので、Dにループなしの代替パスを見つける必要があります(存在する場合)。
- Aは各隣接に要求を送信して、Dへのループなしの代替パスがあるかどうかを判断します。
- Cで:
- bでは:
- aこれらの回答を取得します。
図9では、宛先(D)項目をHに移動させた。これは2番目の例では使用されます。
この例では、可能な連続器(下流側の隣接)がある。
視点Aからの研究D:
- AはDの2つの方法を学びます:
- AはBを通って認識されません。
- A使用可能パスを比較し、ループなしで最短パスを選択します。
- Aは、それらのダウンストリーム隣接者があるかどうかを判断するための残りのパスをチェックします。
チャンネル[a、c]が機能しない場合は、次のものを考慮しています。
- Aは、可能な後継者のためにローカルトポロジの表をチェックします。
- 可能な後継者がHを通して存在する。
- aはそのローカルテーブルを最良の方法としてスイッチします。
- Aは、その都合の費用Dが3から4に変更されたことを目にして、その隣人に更新を送信します。
ご覧のとおり、連続可能な場合は、それほど速くて簡単な場合は処理できます。ルーティングプロトコルがデュアル(特にEIGRP)を使用して展開されたネットワークでは、主要な設計目的の1つは、可能な後継者がない場合に生成された要求のボリュームを制限します。要求領域は、二重アルゴリズムが迅速に完了する方法、したがってネットワークがどのくらい早く収束するかという主な決定要因です。
図10は基本完成デュアルマシンを示しています。
ルートに含まれるものが悪くなる(経路の劣化)は次のとおりです。
- 接続されているチャネルまたは隣接の失敗
- より高いメトリックを持つルートの更新を入手する
- 現在の後継者からクエリを取得します
- 近隣から新しいルートを取得する
- 新しい隣人が見つかりました、そしてそれが得ることができるルート
- ルートが悪いときに隣人に送信されたすべての要求を取得する