RIPngネットワークにおけるトラフィック制御
パス コストを最適化するためのメトリックによる RIPng トラフィック制御の理解
RIPng ネットワークを調整し、ネットワークを通過するトラフィック フローを制御するには、ネットワークを通過するパスのコストを増減します。RIPng には、パス コストを変更する方法として、受信メトリックと送信メトリックの 2 つが用意されており、それぞれ既定で 1 に設定されています。つまり、デフォルトでは、RIPngがネイバーからインポートするルート、またはネイバーにエクスポートするルートのメトリックは1増加します 。これらのルートには、RIPng から学習したルートと、他のプロトコルから学習したルートが含まれます。メトリックは、ホストを通じてアドバタイズされるルートのコストを指定するアトリビュートです。ネットワーク全体のリンクのメトリック(ひいてはコスト)を増減することで、ネットワーク全体のパケット伝送を制御できます。
受信メトリックは、セグメントを横断するルートがルーティングテーブルにインポートされるときに、個々のセグメントのコストを変更します。たとえば、セグメントの受信メトリックを 3 に設定すると、リンクに沿った個々のセグメントのコストが 1 から 3 に変更されます。コストの増加は、そのリンクを経由するすべてのルート計算に影響します。これまでホップ数が多いために除外されていた他のルートが、ルーターの転送テーブルに選択される場合があります。
発信メトリックは、特定のインターフェイスからアドバタイズされるすべてのルートのパス コストを変更します。受信メトリックとは異なり、発信メトリックは他のルーターが学習しているルートを変更することで、トラフィックの送信方法を制御します。
エクスポートされたルートが同じRIPngグループのメンバーから学習された場合、そのルートに関連付けられたメトリックは通常のRIPngメトリックになります。例えば、受信メトリック 2 で設定されたネイバーから学習したメトリック 5 の RIPng ルートは、同じグループ内のネイバーにアドバタイズされると、結合メトリック 7 でアドバタイズされます。ただし、このルートが異なるグループの RIPng ネイバーまたは異なるプロトコルから学習された場合、ルートはそのグループの発信メトリックで設定されたメトリック値でアドバタイズされます。
ルートのメトリックを大きくすることで、特定のルートが選択され、ルーティング テーブルにインストールされている可能性を減らすことができます。このプロセスは、 ルート ポイズニングとも呼ばれます。ルートをポイズニングする理由には、ルートの使用コストが比較的高いことや、帯域幅が比較的低いことなどがあります。
他のルートよりもメトリックが高いルートは、メトリックの低いルートが利用できなくなった場合にのみアクティブなルートになります。このようにして、メトリックの高いルートがバックアップ パスとして機能します。
インポートされたルートのメトリックを上げる 1 つの方法は、インポート ポリシーを設定することです。別の方法は、RIPngネイバー設定にこのステートメントを含める metric-in ことです。エクスポート ルートのメトリックを上げる 1 つの方法は、エクスポート ポリシーを設定することです。別の方法は、RIPngネイバー設定にこのステートメントを含める metric-out ことです。
例:ルート選択プロセスを制御するために、インポートされた RIPng ルートに追加されるメトリック値の設定
この例では、ルート選択プロセスを制御するために、受信ルートに追加するデフォルトのメトリックを変更する方法を示しています。
要件
この例を設定する前に、デバイス初期化以外の特別な設定を行う必要はありません。
概要
通常、複数のルートが使用可能な場合、RIPng はホップ数が最も少ないルートを選択します。デフォルトのメトリックを変更することで、ホップ数の多いルートをホップ数が少ないルートよりも優先できるように、ルート選択プロセスを制御することができます。
図 1 に、この例で使用するトポロジを示します。
デバイス R1 には、2001:db8::2/128 に到達する 2 つの潜在的なパスがあります。デフォルトの動作では、デバイスR2向けの2001:db8:0:1::/64インターフェイスからトラフィックを送信します。ただし、デバイス R3 を経由するパスの方がコストが安い場合や、リンクの帯域幅が大きいとします。この例では、ステートメントを使用して metric-in 、デバイス R1 がデバイス R3 を経由するパスを使用して 2001:db8::2/128 に到達するようにする方法を示しています。 CLIクイック構成 は、 図1のすべてのデバイスの構成を示しています。セクション #d17e58__d17e200 では、デバイス R1 の手順について説明します。
トポロジ
構成
手順
CLIクイック構成
この例をすばやく設定するには、次のコマンドをコピーしてテキストファイルに貼り付け、改行を削除して、ネットワーク構成に合わせて必要な詳細を変更し、 階層レベルのCLI [edit] にコマンドをコピーして貼り付けます。
デバイスR1
set interfaces fe-1/2/0 unit 1 description to-R2 set interfaces fe-1/2/0 unit 1 family inet6 address 2001:db8:0:1::/64 eui-64 set interfaces ge-1/2/1 unit 10 description to-R3 set interfaces ge-1/2/1 unit 10 family inet6 address 2001:db8:0:5::/64 eui-64 set interfaces lo0 unit 1 family inet6 address 2001:db8::1/128 set protocols ripng group primary export advertise-routes-through-ripng set protocols ripng group primary neighbor ge-1/2/1.10 set protocols ripng group secondary export advertise-routes-through-ripng set protocols ripng group secondary neighbor fe-1/2/0.1 metric-in 4 set policy-options policy-statement advertise-routes-through-ripng term 1 from protocol direct set policy-options policy-statement advertise-routes-through-ripng term 1 from protocol ripng set policy-options policy-statement advertise-routes-through-ripng term 1 then accept
デバイスR2
set interfaces fe-1/2/0 unit 2 family inet6 address 2001:db8:0:2::/64 eui-64 set interfaces fe-1/2/1 unit 5 description to-R3 set interfaces fe-1/2/1 unit 5 family inet6 address 2001:db8:0:3::/64 eui-64 set interfaces lo0 unit 2 family inet6 address 2001:db8::2/128 set protocols ripng group ripng-group export advertise-routes-through-ripng set protocols ripng group ripng-group neighbor fe-1/2/0.2 set protocols ripng group ripng-group neighbor fe-1/2/1.5 set policy-options policy-statement advertise-routes-through-ripng term 1 from protocol direct set policy-options policy-statement advertise-routes-through-ripng term 1 from protocol ripng set policy-options policy-statement advertise-routes-through-ripng term 1 then accept
デバイス R3
set interfaces fe-1/2/0 unit 6 family inet6 address 2001:db8:0:4::/64 eui-64 set interfaces ge-1/2/1 unit 9 description to-R1 set interfaces ge-1/2/1 unit 9 family inet address 10.0.0.9/30 set interfaces ge-1/2/1 unit 9 family inet6 address 2001:db8:0:6::/64 eui-64 set interfaces lo0 unit 3 family inet6 address 2001:db8::3/128 set protocols ripng group ripng-group export advertise-routes-through-ripng set protocols ripng group ripng-group neighbor fe-1/2/0.6 set protocols ripng group ripng-group neighbor ge-1/2/1.9 set policy-options policy-statement advertise-routes-through-ripng term 1 from protocol direct set policy-options policy-statement advertise-routes-through-ripng term 1 from protocol ripng set policy-options policy-statement advertise-routes-through-ripng term 1 then accept
手順
次の例では、設定階層のいくつかのレベルに移動する必要があります。CLI のナビゲーションについては、 CLIユーザー・ガイド の コンフィギュレーション・モードでのCLIエディタの使用を参照してください。
RIPngメトリックを設定するには:
ネットワークインターフェイスを設定します。
[edit interfaces] user@R1# set fe-1/2/0 unit 1 description to-R2 user@R1# set fe-1/2/0 unit 1 family inet6 address 2001:db8:0:1::/64 eui-64 user@R1# set ge-1/2/1 unit 10 description to-R3 user@R1# set ge-1/2/1 unit 10 family inet6 address 2001:db8:0:5::/64 eui-64 user@R1# set lo0 unit 1 family inet6 address 2001:db8::1/128
RIPng グループを作成し、インターフェイスを追加します。
Junos OSでRIPngを設定するには、RIPngが有効になっているインターフェイスを含む1つ以上のグループを設定する必要があります。ループバックインターフェイスでRIPngを有効にする必要はありません。
デバイスR2に面しているインターフェースでは、 メトリックイン4 の設定により、このルートがアクティブルートとして選択される可能性が低くなります。
[edit protocols ripng] user@R1# set group primary neighbor ge-1/2/1.10 user@R1# set group secondary neighbor fe-1/2/0.1 metric-in 4
直接ルートとRIPngで学習したルートの両方をアドバタイズするルーティングポリシーを作成します。
[edit policy-options policy-statement advertise-routes-through-ripng term 1] user@R1# set from protocol direct user@R1# set from protocol ripng user@R1# set then accept
ルーティングポリシーを適用します。
Junos OSでは、グループレベルでのみRIPngエクスポートポリシーを適用できます。
[edit protocols ripng] user@R1# set group primary export advertise-routes-through-ripng user@R1# set group secondary export advertise-routes-through-ripng
結果
コンフィギュレーションモードから、、show protocolsshow policy-options、およびの各show interfacesコマ ンドを入力し 、コンフィギュレーションを確認します。出力結果に意図した設定内容が表示されない場合は、この例の設定手順を繰り返して設定を修正します。
user@R1# show interfaces
fe-1/2/0 {
unit 1 {
description to-R2;
family inet6 {
address 2001:db8:0:1::/64 {
eui-64;
}
}
}
}
ge-1/2/1 {
unit 10 {
description to-R3;
family inet6 {
address 2001:db8:0:5::/64 {
eui-64;
}
}
}
}
lo0 {
unit 1 {
family inet6 {
address 2001:db8::1/128;
}
}
}
user@R1# show protocols
ripng {
group primary {
export advertise-routes-through-ripng;
neighbor ge-1/2/0.10;
}
group secondary {
export advertise-routes-through-ripng;
neighbor fe-1/2/0.1 {
metric-in 4;
}
}
}
user@R1# show policy-options
policy-statement advertise-routes-through-ripng {
term 1 {
from protocol [ direct ripng ];
then accept;
}
}
デバイスの設定が完了したら、設定モードから コミット を入力します。
検証
設定が正常に機能していることを確認します。
予期したルートがアクティブであることの確認
目的
デバイスR1がデバイスR3を通るパスを使用して、2001:db8:0:2:2a0:a514:0:24c/128に到達することを確認します。
アクション
動作モードから コマンド show route 2001:db8:0:2:2a0:a514:0:24c を入力します。
user@R1> show route 2001:db8:0:2:2a0:a514:0:24c
inet6.0: 16 destinations, 17 routes (16 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
2001:db8:0:2::/64 *[RIPng/100] 01:54:35, metric 3, tag 0
> to fe80::2a0:a514:0:94c via ge-1/2/1.10
意味
ge-1/2/1.10 経由の fe80::2a0:a514:0:94c への出力は、デバイス R1 がデバイス R3 を経由するパスを使用して 2001:db8:0:2:2a0:a514:0:24c/128 に到達していることを示しています。このルートのメトリックは 3 です。
メトリックインステートメントの削除
目的
metric-in ステートメントを削除または非アクティブ化して、2001:db8:0:2:2a0:a0:a514:0:24c/128 ルートに何が起こるかを確認します。
アクション
設定モードから、 ステートメントを無効に
metric-inします。[edit protocols ripng group secondary neighbor fe-1/2/0.1] user@R1# deactivate metric-in user@R1# commit
動作モードから コマンド
show route 2001:db8:0:2:2a0:a514:0:24cを入力します。user@R1> show route 2001:db8:0:2:2a0:a514:0:24c inet6.0: 16 destinations, 17 routes (16 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 2001:db8:0:2::/64 *[RIPng/100] 00:00:02, metric 2, tag 0 > to fe80::2a0:a514:0:24c via fe-1/2/0.1
意味
fe-1/2/0.1 経由の fe80::2a0:a514:0:24c への出力は、デバイス R1 がデバイス R2 を経由するパスを使用して 2001:db8:0:2:2a0:a0:a514:0:24c/128 に到達していることを示しています。このルートのメトリックは 2 です。