内容

概要

6PE がデータ プレーンで 2 つの MPLS ラベルを使用するのは、なぜですか。

関連情報

概要

このドキュメントでは、Cisco IOS(C) IPv6 プロバイダー エッジ ルータ（6PE）がデータ プレーンで 2 つのマルチプロトコル ラベル スイッチング（MPLS）ラベルを使用する理由を説明しています。

ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。

Q. 6PEがデータプレーンで2つのMPLSラベルを使用するのはなぜですか。

A.6PE は、2 つのラベルを使用します。

- トップ ラベルは転送ラベルで、ラベル配布プロトコル（LDP）または MPLS トラフィック エンジニアリング（TE）によってホップバイホップで割り当てられます。

- ボトム ラベルは、ボーダー ゲートウェイ プロトコル（BGP）によって割り当てられ、プロバイダー エッジ（PE）ルータ間で内部 BGP（iBGP）によってアドバタイズされるラベルです。

6PE がリリースされたときの主要な要件では、IPv6 対応の MPLS コア ルータ（P ルータ）は不要でした。この要件により、データ プレーンに 2 種類のラベルが必要になりました。6PE に両方のラベルが必要である理由は、2 つあります。

PHP 機能性

転送ラベルだけを使用し、Penultimate Hop Popping（PHP）を使用している場合は、Penultimate Hop ルータ（P ルータ）が IPv6 を理解する必要があります。

PHP を使用する場合、この Penultimate Hop ルータは、MPLS ラベルを削除し、このパケットを IPv6 パケットとして転送する必要があります。この P ルータは、パケットが IPv6 であることを認識している必要があります。なぜなら、P ルータは、IPv6 に適切なレイヤ 2 カプセル化タイプを使用する必要があるためです。（カプセル化タイプは、IPv6 と IPv4 で異なります。たとえば、イーサネットの場合のカプセル化タイプは、IPv6 では 0x86DD ですが、IPv4 では 0x0800 です。） Penultimate Hop ルータが IPv6 対応ではない場合、IPv6 パケットに対して、IPv4 のレイヤ 2 カプセル化タイプが使用されると思われます。その後、出力 PE ルータは、パケットが IPv4 であると認識します。

IPv4 ヘッダーと IPv6 ヘッダーの両方には、存続可能時間（TTL）処理があります。IPv6 では、このフィールドは「ホップ制限」と呼ばれます。IPv4 フィールドと IPv6 フィールドは、ヘッダー内の異なる場所にあります。また、IPv4 ヘッダーのヘッダー チェックサムも変更する必要があります。ipv6にはヘッダーチェックサムフィールドがありません。Penultimate HopルータがIPv6対応でない場合、ルータはヘッダー内のTTLフィールドとヘッダーチェックサムフィールドを検出することを想定しているため、IPv6パケットが不正な形式になる可能性があります。

このような相違点があるため、Penultimate Hop ルータが、IPv6 パケットであることを認識する必要があります。このルータは、IPv6 転送等価クラス（FEC）にラベルを割り当てておらず、MPLS ヘッダーにカプセル化フィールドがないため、パケットが IPv6 パケットであることを認識できません。ラベルスタックの後の最初のニブルをスキャンし、値が6の場合はパケットがIPv6であると判断できます。ただし、これは、最終ホップルータがIPv6対応である必要があることを意味します。

このシナリオは、明示的ヌル ラベルを使用する（したがって、PHP がない）場合は、機能する可能性があります。 ただし、PHP が必要であると決定されました。

ロード バランシング

P ルータでの一般的なロード バランシングは、次のプロセスに従います。P ルータは、ラベル スタックの最後に移動し、ラベル スタックの後の最初のニブルを調べて IPv4 パケットかどうかを判断します。

- ニブルの値が 4 の場合は、MPLS ペイロードが IPv4 パケットであり、P ルータが、送信元と宛先の IPv4 アドレスをハッシュしてロード バランシングを実行します。

- P ルータが IPv6 対応であり、ニブルの値が 6 の場合は、P ルータが、送信元と宛先の IPv6 アドレスをハッシュしてロード バランシングを実行します。

- P ルータが IPv6 対応でなく、ニブルの値が 4 でない（パケットが IPv6 パケットの場合は 6 である可能性があります）場合、P ルータは、IPv4 パケットではないと判断し、ボトム ラベルに基づいてロード バランシングを実行するかどうかを決定します。

6PE のシナリオで、入力 PE ルータに、BGP の 1 つの IPv6 プレフィックスをアドバタイズしている 2 台の出力 PE のルータがあると想像してください。この IPv6 プレフィックスは、BGP の 2 種類のラベルでアドバタイズされます。したがって、データ プレーンでは、ボトム ラベルは 2 つのラベルのいずれかです。これにより、P ルータは、ボトム ラベルでフローごとにロード バランシングを実行できます。

6PE が転送ラベルだけを使用して MPLS コア経由で 6PE パケットを転送する場合、P ルータは、IPv6 対応でない限り、これらのパケットをフローごとにロード バランシングできません。P ルータが IPv6 対応の場合は、送信元と宛先の IPv6 アドレスを使用してロード バランシングを実行するかどうかを決定できます。

関連情報

- テクニカル サポートとドキュメント – Cisco Systems