このページの目次
例:PIM ドメインでのマルチキャスト専用高速再ルートの設定
この例では、マルチキャスト専用高速再ルート(MoFRR)を設定し、リンク障害が発生した場合にネットワークのパケットロスを最小限に抑える方法を説明します。これは、マルチキャストルーティングプロトコルであるプロトコル独立マルチキャスト(PIM)を強化することで機能します。
MoFRR は、マルチキャスト ジョイン メッセージをレシーバーからプライマリ パスの送信元に向けて送信し、同時にセカンダリ マルチキャスト ジョイン メッセージをレシーバーからバックアップ パスのソースに向けて送信します。データ パケットは、プライマリ パスとバックアップ パスの両方から受信されます。冗長パケットは、優先度(プライマリ パスとバックアップ パスに割り当てられた重み)に基づいて、トポロジー マージ ポイントで廃棄されます。プライマリ パスで障害が検出された場合、パケットが受け入れられるインターフェイスをセカンダリ インターフェイスに変更することで修復が行われます。修復はローカルで行われるため高速であり、プライマリ パスでリンク障害が発生した場合のコンバージェンス時間が大幅に短縮されます。
必要条件
この例を設定する前に、デバイス初期化以外の特別な設定を行う必要はありません。
この例では、エグレス プロバイダ エッジ(PE)ルーターのみが MoFRR を有効にしており、PIM ドメインの MoFRR はどのルーターでも有効にできます。
MoFRRは、MPCラインカードを搭載したMXシリーズプラットフォームでサポートされています。あらかじめ必要な条件として、ルーターは network-services enhanced-ip モードに設定され、プラットフォームのすべてのラインカードは MPC である必要があります。
この例では、エグレスPEルーターにはJunos OSリリース14.1以降が必要です。
概要
この例では、デバイスR3がエグレスエッジルーターとなっています。MoFRRは、このデバイスのみで有効になっています。
接続にはOSPFまたはIS-ISが使用されますが、IGP(内部ゲートウェイプロトコル)または静的ルートも使用できます。
PIM スパース モード バージョン 2 は、PIM ドメイン内のすべてのデバイスで有効になっています。デバイスR1は、ランデブーポイント(RP)として機能します。
デバイス R3 では、MoFRR に加えて、PIM ジョイン ロード バランシングも有効になっています。
テスト用に、送信元と受信先をシュミレーションするためにルーターが使われています。デバイスR3は、 set protocols igmp interface fe-1/2/15.0 static group 225.1.1.1 コマンドを使用して、必要なグループに静的に結合するように設定されています。それはただ参加しているだけで、聞いているのではありません。fe-1/2/15.0インターフェイスは、レシーバーに面したデバイスR3インターフェイスです。実際のマルチキャスト受信ホストが利用できない場合、この例のように、この静的IGMP設定が使えます。受信側で、マルチキャスト グループ アドレスをリッスンさせるために、この例では set protocols sap listen 225.1.1.1 を使用しています。送信元にマルチキャストトラフィックを送信させるために、送信元ルーターからマルチキャストpingを発行します。ping コマンドが ping 225.1.1.1 bypass-routing interface fe-1/2/10.0 ttl 10 count 1000000000。fe-1/2/10.0インターフェイスは、デバイスR1に面するソースインターフェイスです。
MoFRR 設定には、この例には表示されていない複数のオプションがありますが、これらは別途説明されています。オプションは次のとおりです。
stream-protection { mofrr-asm-starg; mofrr-disjoint-upstream-only; mofrr-no-backup-join; mofrr-primary-path-selection-by-routing; policy policy-name; }
位相幾何学
図 1 に、サンプル ネットワークを示します。
CLIクイック構成 は、 図1のすべてのデバイスの構成を示しています。
「ステップバイステップ設定」セクションでは、デバイスR3の手順を説明します。
CLIクイック構成
CLIクイック構成
この例をすばやく設定するには、次のコマンドをコピーしてテキストファイルに貼り付け、改行を削除して、ネットワーク構成に合わせて必要な詳細を変更し、 [edit] 階層レベルのCLIにコマンドをコピーして貼り付けます。
デバイスR1
set interfaces fe-1/2/10 unit 0 family inet address 10.0.0.2/30 set interfaces fe-1/2/11 unit 0 family inet address 10.0.0.5/30 set interfaces fe-1/2/12 unit 0 family inet address 10.0.0.17/30 set interfaces lo0 unit 0 family inet address 192.168.0.1/32 set protocols ospf area 0.0.0.0 interface fe-1/2/10.0 set protocols ospf area 0.0.0.0 interface fe-1/2/11.0 set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ospf area 0.0.0.0 interface fe-1/2/12.0 set protocols pim rp local family inet address 192.168.0.1 set protocols pim interface all mode sparse set protocols pim interface all version 2
デバイスR2
set interfaces fe-1/2/11 unit 0 family inet address 10.0.0.6/30 set interfaces fe-1/2/13 unit 0 family inet address 10.0.0.9/30 set interfaces lo0 unit 0 family inet address 192.168.0.2/32 set protocols ospf area 0.0.0.0 interface fe-1/2/11.0 set protocols ospf area 0.0.0.0 interface fe-1/2/13.0 set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols pim rp static address 192.168.0.1 set protocols pim interface all mode sparse set protocols pim interface all version 2
デバイス R3
set chassis network-services enhanced-ip set interfaces fe-1/2/13 unit 0 family inet address 10.0.0.10/30 set interfaces fe-1/2/15 unit 0 family inet address 10.0.0.13/30 set interfaces fe-1/2/14 unit 0 family inet address 10.0.0.22/30 set interfaces lo0 unit 0 family inet address 192.168.0.3/32 set protocols igmp interface fe-1/2/15.0 static group 225.1.1.1 set protocols ospf area 0.0.0.0 interface fe-1/2/13.0 set protocols ospf area 0.0.0.0 interface fe-1/2/15.0 set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ospf area 0.0.0.0 interface fe-1/2/14.0 set protocols pim rp static address 192.168.0.1 set protocols pim interface all mode sparse set protocols pim interface all version 2 set protocols pim join-load-balance automatic set policy-options policy-statement load-balancing-policy then load-balance per-packet set routing-options forwarding-table export load-balancing-policy set routing-options multicast stream-protection
デバイス R6
set interfaces fe-1/2/12 unit 0 family inet address 10.0.0.18/30 set interfaces fe-1/2/14 unit 0 family inet address 10.0.0.21/30 set interfaces lo0 unit 0 family inet address 192.168.0.6/32 set protocols ospf area 0.0.0.0 interface fe-1/2/12.0 set protocols ospf area 0.0.0.0 interface fe-1/2/14.0 set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols pim rp static address 192.168.0.1 set protocols pim interface all mode sparse set protocols pim interface all version 2
デバイスソース
set interfaces fe-1/2/10 unit 0 family inet address 10.0.0.1/30 set interfaces lo0 unit 0 family inet address 192.168.0.4/32 set protocols ospf area 0.0.0.0 interface fe-1/2/10.0 set protocols ospf area 0.0.0.0 interface lo0.0 passive
デバイスレシーバー
set interfaces fe-1/2/15 unit 0 family inet address 10.0.0.14/30 set interfaces lo0 unit 0 family inet address 192.168.0.5/32 set protocols sap listen 225.1.1.1 set protocols ospf area 0.0.0.0 interface fe-1/2/15.0 set protocols ospf area 0.0.0.0 interface lo0.0 passive
ステップバイステップの構成
プロシージャ
手順
次の例では、設定階層内のさまざまなレベルに移動する必要があります。CLI のナビゲーションについては、『Junos OS CLIユーザーガイド』の「 コンフィギュレーション・モードで CLI エディタを使用する」を参照してください。
デバイス R3 を設定するには:
拡張IPモードを有効にします。
[edit chassis] user@R3# set network-services enhanced-ip
デバイスインターフェイスを設定します。
[edit interfaces] user@R3# set fe-1/2/13 unit 0 family inet address 10.0.0.10/30 user@R3# set fe-1/2/15 unit 0 family inet address 10.0.0.13/30 user@R3# set fe-1/2/14 unit 0 family inet address 10.0.0.22/30 user@R3# set lo0 unit 0 family inet address 192.168.0.3/32
テスト目的でのみ、デバイスレシーバーに面したインターフェイスで、IGMP参加をシミュレートします。
テスト環境に受信側ホストがある場合、この手順は必要ありません。
[edit protocols igmp interface fe-1/2/15.0] user@R3# set static group 225.1.1.1
IGPまたは静的ルートを設定します。
[edit protocols ospf area 0.0.0.0] user@R3# set interface fe-1/2/13.0 user@R3# set interface fe-1/2/15.0 user@R3# set interface lo0.0 passive user@R3# set interface fe-1/2/14.0
PIMを設定します。
[edit protocols pim] user@R3# set rp static address 192.168.0.1 user@R3# set interface all mode sparse user@R3# set interface all version 2
(オプション)PIM 参加ロード バランシングを設定します。
[edit protocols pim] user@R3# set join-load-balance automatic
(オプション)パケット 単位のロード バランシングを設定する。
[edit policy-options policy-statement load-balancing-policy] user@R3# set then load-balance per-packet [edit routing-options forwarding-table] user@R3# set export load-balancing-policy
MoFRRを有効にします。
[edit routing-options multicast] user@R3# set stream-protection
業績
設定モードから、 show chassis、 show interfaces、 show protocols、 show policy-options、および show routing-options コマンドを入力して、設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の手順を繰り返して設定を修正します。
user@R3# show chassis network-services enhanced-ip;
user@R3# show interfaces
fe-1/2/13 {
unit 0 {
family inet {
address 10.0.0.10/30;
}
}
}
fe-1/2/14 {
unit 0 {
family inet {
address 10.0.0.22/30;
}
}
}
fe-1/2/15 {
unit 0 {
family inet {
address 10.0.0.13/30;
}
}
}
lo0 {
unit 0 {
family inet {
address 192.168.0.3/32;
}
}
}
user@R3# show protocols
igmp {
interface fe-1/2/15.0 {
static {
group 225.1.1.1;
}
}
}
ospf {
area 0.0.0.0 {
interface fe-1/2/13.0;
interface fe-1/2/15.0;
interface lo0.0 {
passive;
}
interface fe-1/2/14.0;
}
}
pim {
rp {
static {
address 192.168.0.1;
}
}
interface all {
mode sparse;
version 2;
}
join-load-balance {
automatic;
}
}
user@R3# show policy-options
policy-statement load-balancing-policy {
then {
load-balance per-packet;
}
}
user@R3# show routing-options
forwarding-table {
export load-balancing-policy;
}
multicast {
stream-protection;
}
デバイスの設定が完了したら、設定モードから commit を入力します。
検証
設定が正常に機能していることを確認します。
PIM ドメインへのマルチキャスト トラフィックの送信
目的
マルチキャスト ping コマンドを使用して、マルチキャストトラフィックをシミュレートします。
アクション
user@Source> ping 225.1.1.1 bypass-routing interface fe-1/2/10.0 ttl 10 count 1000000000 PING 225.1.1.1 (225.1.1.1): 56 data bytes 64 bytes from 10.0.0.14: icmp_seq=1 ttl=61 time=0.845 ms 64 bytes from 10.0.0.14: icmp_seq=2 ttl=61 time=0.661 ms 64 bytes from 10.0.0.14: icmp_seq=3 ttl=61 time=0.615 ms 64 bytes from 10.0.0.14: icmp_seq=4 ttl=61 time=0.640 ms
意味
デバイスR1に面するデバイスソースのインターフェイスはfe-1/2/10.0です。マルチキャストpingのTTLはデフォルトで1であるため、 ttl オプションを使用する必要があることに注意してください。
アップストリーム インターフェイスの検証
目的
エグレスデバイスに、マルチキャストグループが参加できる2つのアップストリームインターフェイスが存在していることを確認します。
アクション
user@R3> show pim join 225.1.1.1 extensive sg
Instance: PIM.master Family: INET
R = Rendezvous Point Tree, S = Sparse, W = Wildcard
Group: 225.1.1.1
Source: 10.0.0.1
Flags: sparse,spt
Active upstream interface: fe-1/2/13.0
Active upstream neighbor: 10.0.0.9
MoFRR Backup upstream interface: fe-1/2/14.0
MoFRR Backup upstream neighbor: 10.0.0.21
Upstream state: Join to Source, No Prune to RP
Keepalive timeout: 354
Uptime: 00:00:06
Downstream neighbors:
Interface: fe-1/2/15.0
10.0.0.13 State: Join Flags: S Timeout: Infinity
Uptime: 00:00:06 Time since last Join: 00:00:06
Number of downstream interfaces: 1
意味
出力には、アクティブなアップストリーム インターフェイスとネイバー、および MoFRR バックアップ アップストリーム インターフェイスとネイバーが表示されます。
マルチキャストルートの確認
目的
IPマルチキャスト転送テーブルを調べて、プライマリおよびバックアップインターフェイスを含むアップストリームRPFインターフェイスリストが存在することを確認します。
アクション
user@R3> show multicast route extensive
Instance: master Family: INET
Group: 225.1.1.1
Source: 10.0.0.1/32
Upstream rpf interface list:
fe-1/2/13.0 (P) fe-1/2/14.0 (B)
Downstream interface list:
fe-1/2/15.0
Session description: Unknown
Forwarding statistics are not available
RPF Next-hop ID: 836
Next-hop ID: 1048585
Upstream protocol: PIM
Route state: Active
Forwarding state: Forwarding
Cache lifetime/timeout: 171 seconds
Wrong incoming interface notifications: 0
Uptime: 00:03:09
意味
出力は、プライマリ インターフェイスとバックアップ インターフェイスを含むアップストリーム RPF インターフェイス リストを示しています。