概要
このドキュメントでは、IOS-XEルータのマルチキャストリーフリサイクル排除(mLRE)機能について説明します。
問題
ホストが複数のインターフェイスに接続され、ルータでマルチキャストトラフィックを要求する場合。ルータはマルチキャストトラフィックのコピーを作成し、そのマルチキャストグループのマルチキャストトラフィックを要求するすべてのインターフェイスに送信する必要があります。パケットがシリアル処理される場合(つまり、パケットが順番に処理される場合)、ルータのパフォーマンス向上に役立ちます。ただし、異なるノードでは、その性質により不当な遅延が発生します。マルチキャストトラフィックのこのシリアル処理は、マルチキャストルータではLREと呼ばれ、IOSのバージョンとモデルに依存するルータではデフォルトで有効になっています。
パケットをシリアル処理すると、隣接処理されたパケットとの間に4 ~ 12マイクロ秒の差が生じますが、
マルチキャストトラフィックを要求するリーフノードが多数ある場合、トレーディング会社のようなタイムクリティカルな環境では大幅な遅延が発生する可能性があります。
次の図は、この点を理解するためのトポロジを示しています。
4台のホストがLHRに接続されており、マルチキャストグループ239.1.1.1のトラフィックを要求していることがわかります。
パケットトレーサがLHRで実行されている場合、送信元から受信したパケットがLHRによってサイレントに消費され、次に4つの類似パケットが作成され、ホストに接続されている各インターフェイスに転送されます。
LHR#show platform packet-trace summary
Pkt Input Output State Reason
0 Gi2 <none> CONS Packet Consumed Silently <<< recieved packet from sender
1 Gi2 Gi6 FWD <<< first replicated packet sent to int gig6
2 Gi2 Gi5 FWD <<< first replicated packet sent to int gig5
3 Gi2 Gi4 FWD <<< first replicated packet sent to int gig4
4 Gi2 Gi3 FWD <<< first replicated packet sent to int gig3
キャプチャされたパケットの詳細を開くと、各パケットの開始時間と終了時間を確認できます。
LHR#show platform packet-trace packet 0
Packet: 0 CBUG ID: 85
Summary
Input : GigabitEthernet2
Output : <none>
State : CONS Packet Consumed Silently
Timestamp
Start : 37067929596524 ns (05/27/2020 02:43:56.203649 UTC)
Stop : 37067929669545 ns (05/27/2020 02:43:56.203722 UTC)
LHR#show platform packet-trace packet 1
Packet: 1 CBUG ID: 85
Summary
Input : GigabitEthernet2
Output : GigabitEthernet6
State : FWD
Timestamp
Start : 37067929722925 ns (05/27/2020 02:43:56.203776 UTC)
Stop : 37067929750941 ns (05/27/2020 02:43:56.203804 UTC)
LHR#show platform packet-trace packet 2
Packet: 2 CBUG ID: 85
Summary
Input : GigabitEthernet2
Output : GigabitEthernet5
State : FWD
Timestamp
Start : 37067929752437 ns (05/27/2020 02:43:56.203805 UTC)
Stop : 37067929759667 ns (05/27/2020 02:43:56.203812 UTC)
LHR#show platform packet-trace packet 3
Packet: 3 CBUG ID: 85
Summary
Input : GigabitEthernet2
Output : GigabitEthernet4
State : FWD
Timestamp
Start : 37067929760929 ns (05/27/2020 02:43:56.203814 UTC)
Stop : 37067929766997 ns (05/27/2020 02:43:56.203820 UTC)
LHR#show platform packet-trace packet 4
Packet: 4 CBUG ID: 85
Summary
Input : GigabitEthernet2
Output : GigabitEthernet3
State : FWD
Timestamp
Start : 37067929768236 ns (05/27/2020 02:43:56.203821 UTC)
Stop : 37067929774283 ns (05/27/2020 02:43:56.203827 UTC)
前述した出力の開始時間と終了時間を比較すると、パケット処理がシリアルで行われていることが分かります。
Start : 37067929722925 ns (05/27/2020 02:43:56.203776 UTC) << packet1
Stop : 37067929750941 ns (05/27/2020 02:43:56.203804 UTC)
Start : 37067929752437 ns (05/27/2020 02:43:56.203805 UTC) << packet 2
Stop : 37067929759667 ns (05/27/2020 02:43:56.203812 UTC)
Start : 37067929760929 ns (05/27/2020 02:43:56.203814 UTC) << packet 3
Stop : 37067929766997 ns (05/27/2020 02:43:56.203820 UTC)
Start : 37067929768236 ns (05/27/2020 02:43:56.203821 UTC) << packet 4
Stop : 37067929774283 ns (05/27/2020 02:43:56.203827 UTC)
パケット1(02:43:56.203804)とパケット4(02:43:56.203821)の停止時間を比較すると、17マイクロ秒の時間差があることがわかります。
時間の重要な組織では、この遅延が許容できない場合があるため、時間を短縮する必要があります。
解決方法
この時間遅延を回避するには、ルータのLRE機能を無効にします。
LRE機能が無効になっている場合、マルチキャストトラフィックの複製に対する異なるインターフェイスに対するパケット処理は互いに独立しており、並行して処理されます。
mLRE機能を無効にするには、outer(config)# platform multicast lre offコマンドを使用します