このドキュメントでは、Cisco IOS(C) IPv6 プロバイダー エッジ ルータ(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 アドレスを使用してロード バランシングを実行するかどうかを決定できます。