RIP ネットワークのトラフィック制御
RIP ネットワークのメトリックを使用したトラフィック制御の理解
RIP ネットワークを調整し、ネットワークを流れるトラフィックを制御するには、ネットワークを通過するパスのコストを増減します。RIP には、パス コストを変更する 2 つの方法があります。これは受信メトリックと発信メトリックで、それぞれデフォルトで 1 に設定されています。これらのメトリックは、ホストを介してアドバタイズされるルートのコストを手動で指定する属性です。ネットワーク全体のリンクのメトリック、つまりコストを増減することで、ネットワーク全体のパケット送信を制御できます。
セグメント全体のルートをルーティング テーブルにインポートすると、受信メトリックによって個々のセグメントのコストが変更されます。たとえば、セグメントの受信メトリックを 3 に設定すると、リンクに沿った個々のセグメント コストが 1 から 3 に変更されます。コストの増加は、そのリンクを介したすべてのルート計算に影響します。高ホップ数のために以前に除外された他のルートが、ルーターの転送テーブルに選択される可能性があります。
発信メトリックは、特定のインターフェイスでアドバタイズされたすべてのルートのパス コストを変更します。受信メトリックとは異なり、発信メトリックは他のルーターが学習しているルートを変更して、トラフィックの送信方法を制御します。
エクスポートされたルートが同じ RIP グループのメンバーから学習された場合、そのルートに関連付けられたメトリックは通常の RIP メトリックになります。例えば、受信メトリックが2で設定されたネイバーから学習したメトリックが5のRIPルートは、同じグループ内のネイバーにアドバタイズされた場合、合計メトリック7でアドバタイズされます。ただし、このルートが別のグループの RIP ネイバーまたは異なるプロトコルから学習された場合、そのルートは、そのグループの発信メトリックに設定されたメトリック値でアドバタイズされます。
ルートのメトリックを増やして、特定のルートが選択され、ルーティングテーブルにインストールされる可能性を減らしたい場合があります。このプロセスは、 ルートポイズニングと呼ばれることもあります。ルートに毒を入れたい理由には、ルートが使用するコストが比較的高い、または比較的帯域幅が低いことです。
他のルートよりも高いメトリックを持つルートは、メトリックの低いルートが利用できなくなった場合にのみアクティブなルートになります。このようにして、より高いメトリックのルートがバックアップパスとして機能します。
インポートされたルートのメトリックを増やす方法の1つは、インポートポリシーを設定することです。もう1つの方法は、RIPネイバー設定に metric-in
ステートメントを含める方法です。エクスポートルートのメトリックを増やす方法の1つは、エクスポートポリシーを設定することです。もう1つの方法は、RIPネイバー設定に metric-out
ステートメントを含める方法です。
例:受信メトリックで RIP ネットワーク内のトラフィックを制御する
この例では、受信メトリックでトラフィックを制御する方法を示しています。
要件
開始する前に、RIP グループを定義し、インターフェイスをグループに追加します。次に、RIPルーティング交換を通じて学習した直接接続されたルートとルートをエクスポートするルーティングポリシーを設定します。例 : 基本的な RIP ネットワークの構成を参照してください。
概要
この例では、ルーターDへのルートは、 図1に示すように、RIP対応インターフェイスの両方でルーターAによって受信されます。ルーターBを通るルートとルーターCを介したルートは同じホップ数を持っているため、両方のルートが転送テーブルにインポートされます。ただし、ルーターBからルーターDへのT3リンクは、ルーターCからルーターDへのT1リンクよりも高い帯域幅を持っているため、トラフィックはルーターAからルーターBからルーターDに流れる必要があります。
トポロジ
このフローを強制するには、ルーターAのルーティングテーブルにインポートされるルートメトリックを変更できます。インターフェイス上の受信メトリックをルーターAからルーターCに設定することで、そのインターフェイスを介して受信したすべてのルートのメトリックを変更します。ルーターAで受信ルートメトリックを設定すると、ルーターAのルーティングテーブル内のルートのみが変更され、ルーターAがトラフィックをルーターDに送信する方法にのみ影響します。ルーターDのルート選択は独自のルーティングテーブルに基づいています。デフォルトでは、調整済みのメトリック値は含まれており、
この例では、ルーターCはルーターDからルートアドバタイズメントを受信し、ルーターAにルートをアドバタイズします。ルーターAがルートを受信すると、インターフェイス上の受信メトリックを適用します。ルーターAは、メトリックを1(デフォルト)増加させる代わりに、3ずつインクリメントします(設定された着信メトリック)。ルーターAからルーターDまでのルートに、ルーターCを通る総パスメトリック4を与えます。ルーターBを通過するルートのメトリックは2であるため、ルーターAからルーターDまでのすべてのトラフィックの優先ルートとなります。
この例では、インターフェイスg3–0/0/0でアルファ1と呼ばれるRIPグループを使用しています。
構成
手順
手順
受信メトリックでトラフィックを制御するには、
インターフェイスで RIP を有効にします。
[edit protocols rip] user@host# set group alpha1 neighbor ge-0/0/0
受信するメトリックを設定します。
[edit protocols rip] user@host# set metric-in 3
デバイスの設定が完了したら、設定をコミットします。
[edit] user@host# commit
検証
設定が正しく機能していることを確認するには、 コマンドを show route protocols rip
入力します。
例:出力メトリックを使用した RIP ネットワーク内のトラフィックの制御
この例では、送信メトリックでトラフィックを制御する方法を示しています。
要件
開始する前に、以下を行います。
RIP グループを定義し、インターフェイスをグループに追加します。次に、RIPルーティング交換を通じて学習した直接接続されたルートとルートをエクスポートするルーティングポリシーを設定します。例 : 基本的な RIP ネットワークの構成を参照してください。
受信メトリックでトラフィックを制御します。 例: 受信メトリックを使用した RIP ネットワーク内のトラフィックの制御を参照してください。
概要
この例では、 図2に示すように、ルーターAからルーターDへの各ルートには2つのホップがあります。ただし、RIP グループのルーター A からルーター B へのリンクは、RIP グループ Alpha 1 のルーター A からルーター C へのリンクよりも高い帯域幅を持っているため、ルーター D からルーター A へのトラフィックがルーター B を通過するようにする必要があります。ルーターDがルーターAにトラフィックを送信する方法を制御するには、Alpha 1 RIPグループ内のルーターAのインターフェイスで発信メトリックを設定することで、ルーターDが受信するルートを変更できます。
トポロジ
Alpha 1 RIPグループ(A-to-Cリンク)の発信メトリックを3に変更した場合、ルーターDはルーターAからルーターCまでの総パスメトリックを4として計算します。対照的に、変更されていないデフォルトのRIPグループ内のルーターBを介したルーターAへの総パスメトリックは2です。ルーターAのインターフェイスは2つの異なるRIPグループに属しているため、グループレベルでパスメトリックを設定するため、インターフェイスに2つの異なる発信メトリックを設定できます。
発信メトリックを設定することで、ルーターAがルーターDにトラフィックを送信する方法を制御します。同じルーターで発信メトリックを設定することで、ルーターDがルーターAにトラフィックを送信する方法を制御します。
この例では、発信メトリック 3 を使用 します。
構成
手順
手順
送信メトリックでトラフィックを制御するには::
送信メトリックを設定します。
[edit protocols rip group alpha1] user@host# set metric-out 3
デバイスの設定が完了したら、設定をコミットします。
[edit] user@host# commit
検証
設定が正しく機能していることを確認するには、 コマンドを show protocols rip
入力します。
例:インポートされた RIP ルートに追加されるメトリック値の設定
この例では、受信ルートに追加するデフォルトのメトリックを変更して、ルート選択プロセスを制御する方法を示します。
要件
この例を設定する前に、デバイス初期化以外の特別な設定は必要ありません。
概要
通常、複数のルートが利用可能な場合、RIP はホップ数が最も小さいルートを選択します。デフォルトのメトリックを変更することで、より高いホップ数のルートが、より低いホップ数のルートよりも優先されるように、ルート選択プロセスを制御することができます。
図 3 は、この例で使用したトポロジーを示しています。
デバイスR1には、172.16.2.2/32に到達するための2つの潜在的なパスがあります。デフォルトの動作は、デバイスR2に面した0.1/30インターフェイスにトラフィックを送信することです。しかし、デバイスR3を通るパスのコストが低く、またはより高い帯域幅のリンクがあるとします。この例では、 ステートメントを metric-in
使用して、デバイスR1がデバイスR3を通るパスを使用して172.16.2.2/32に到達することを確認する方法を示しています。 CLI クイック構成 では、すべてのデバイスの設定を 図 3 に示します。セクション #d23e58__d23e201 では、デバイス 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 inet address 10.0.0.1/30 set interfaces ge-1/2/1 unit 10 description to-R3 set interfaces ge-1/2/1 unit 10 family inet address 10.0.0.10/30 set interfaces lo0 unit 1 family inet address 172.16.0.1/32 set interfaces lo0 unit 1 family inet address 192.168.1.1/32 set protocols rip group primary export advertise-routes-through-rip set protocols rip group primary neighbor ge-1/2/1.10 set protocols rip group secondary export advertise-routes-through-rip set protocols rip group secondary neighbor fe-1/2/0.1 metric-in 4 set policy-options policy-statement advertise-routes-through-rip term 1 from protocol direct set policy-options policy-statement advertise-routes-through-rip term 1 from protocol rip set policy-options policy-statement advertise-routes-through-rip term 1 then accept
デバイスR2
set interfaces fe-1/2/0 unit 2 family inet address 10.0.0.2/30 set interfaces ge-1/2/1 unit 5 family inet address 10.0.0.5/30 set interfaces lo0 unit 2 family inet address 192.168.2.2/32 set interfaces lo0 unit 2 family inet address 172.16.2.2/32 set protocols rip group rip-group export advertise-routes-through-rip set protocols rip group rip-group neighbor fe-1/2/0.2 set protocols rip group rip-group neighbor ge-1/2/1.5 set policy-options policy-statement advertise-routes-through-rip term 1 from protocol direct set policy-options policy-statement advertise-routes-through-rip term 1 from protocol rip set policy-options policy-statement advertise-routes-through-rip term 1 then accept
デバイスR3
set interfaces fe-1/2/0 unit 6 family inet address 10.0.0.6/30 set interfaces ge-1/2/1 unit 9 family inet address 10.0.0.9/30 set interfaces lo0 unit 3 family inet address 192.168.3.3/32 set interfaces lo0 unit 3 family inet address 172.16.3.3/32 set protocols rip group rip-group export advertise-routes-through-rip set protocols rip group rip-group neighbor fe-1/2/0.6 set protocols rip group rip-group neighbor ge-1/2/1.9 set policy-options policy-statement advertise-routes-through-rip term 1 from protocol direct set policy-options policy-statement advertise-routes-through-rip term 1 from protocol rip set policy-options policy-statement advertise-routes-through-rip term 1 then accept
手順
次の例では、設定階層内のさまざまなレベルに移動する必要があります。CLIのナビゲーションについては、 CLIユーザーガイドの設定モードでのCLIエディターの使用を参照してください。
RIP メトリックを設定するには::
ネットワーク インターフェイスを設定します。
[edit interfaces] user@R1# set fe-1/2/0 unit 1 description to-R2 user@R1# set fe-1/2/0 unit 1 family inet address 10.0.0.1/30 user@R1# set ge-1/2/1 unit 10 description to-R3 user@R1# set ge-1/2/1 unit 10 family inet address 10.0.0.10/30 user@R1# set lo0 unit 1 family inet address 172.16.0.1/32 user@R1# set lo0 unit 1 family inet address 192.168.1.1/32
RIP グループを作成し、インターフェイスを追加します。
Junos OS で RIP を設定するには、RIP が有効になっているインターフェイスを含む 1 つ以上のグループを設定する必要があります。ループバック インターフェイスで RIP を有効にする必要はありません。
デバイスR2に面するインターフェイスでは、 メトリックイン4の 設定により、このルートがアクティブなルートとして選択される可能性が低くなります。
[edit protocols rip] 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
直接ルートと RIP 学習ルートの両方をアドバタイズするルーティング ポリシーを作成します。
[edit policy-options policy-statement advertise-routes-through-rip term 1] user@R1# set from protocol direct user@R1# set from protocol rip user@R1# set then accept
ルーティング ポリシーを適用します。
Junos OS では、RIP エクスポート ポリシーはグループ レベルでのみ適用できます。
[edit protocols rip] user@R1# set group primary export advertise-routes-through-rip user@R1# set group secondary export advertise-routes-through-rip
結果
設定モードから、 、 、 show protocols
コマンドを入力して設定をshow interfaces
show policy-options
確認します。出力に意図した設定が表示されない場合は、この例の設定手順を繰り返して修正します。
user@R1# show interfaces
fe-1/2/0 {
unit 1 {
description to-R2;
family inet {
address 10.0.0.1/30;
}
}
}
ge-1/2/1 {
unit 10 {
description to-R3;
family inet {
address 10.0.0.10/30;
}
}
}
lo0 {
unit 1 {
family inet {
address 172.16.0.1/32;
address 192.168.1.1/32;
}
}
}
user@R1# show protocols
rip {
group primary {
export advertise-routes-through-rip;
neighbor ge-1/2/1.10;
}
group secondary {
export advertise-routes-through-rip;
neighbor fe-1/2/0.1 {
metric-in 4;
}
}
}
user@R1# show policy-options
policy-statement advertise-routes-through-rip {
term 1 {
from protocol [ direct rip ];
then accept;
}
}
デバイスの設定が完了したら、設定モードから コミット を入力します。
検証
設定が正しく機能していることを確認します。
期待されるルートがアクティブであることを確認する
目的
172.16.2.2/32 に達するように、デバイス R1 はデバイス R3 を通るパスを使用することを確認します。
アクション
動作モードから、 コマンドを show route 172.16.2.2
入力します。
user@R1> show route 172.16.2.2 inet.0: 12 destinations, 12 routes (12 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 172.16.2.2/32 *[RIP/100] 00:15:46, metric 3, tag 0 > to 10.0.0.9 via ge-1/2/1.10
意味
ge-1/2/1.10 出力を介して 10.0.0.9 に達すると、デバイス R1 はデバイス R3 を通るパスを使用して 172.16.2.2/32 に達することを示しています。このルートのメトリックは3です。
メトリックインステートメントの削除
目的
ステートメントを metric-in
削除または無効化して、172.16.2.2/32ルートに対する動作を確認します。
アクション
設定モードから、 ステートメントを
metric-in
無効にします。[edit protocols rip group secondary neighbor fe-1/2/0.1] user@R1# deactivate metric-in user@R1# commit
動作モードから、 コマンドを
show route 172.16.2.2
入力します。user@R1> show route 172.16.2.2 inet.0: 12 destinations, 12 routes (12 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 172.16.2.2/32 *[RIP/100] 00:00:06, metric 2, tag 0 > to 10.0.0.2 via fe-1/2/0.1
意味
fe-1/2/0.1 出力を介して 10.0.0.2 に達すると、デバイス R1 はデバイス R2 を通るパスを使用して 172.16.2.2/32 に達することを示しています。このルートのメトリックは2です。