内容

概要

前提条件

要件

使用するコンポーネント

背景

アーキテクチャ

設定

確認

トラブルシュート

関連情報

概要

このドキュメントでは、ユニファイド マルチプロトコル ラベル スイッチング（MPLS）の目的を説明し、設定例を示します。

前提条件

要件

このドキュメントに特有の要件はありません。

使用するコンポーネント

このドキュメントの内容は、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期（デフォルト）設定の状態から起動しています。対象のネットワークが実稼働中である場合には、どのようなコマンドについても、その潜在的な影響について確実に理解しておく必要があります。

背景

ユニファイド MPLS の目的は拡張性です。異なるタイプのプラットフォームやサービスが含まれている MPLS ネットワークを拡張するには、ネットワークを複数のエリアに分割することが適切な方法です。一般的な設計では、中央にコアがあり、両側にアグリゲーションが配置される階層が導入されます。拡張のために、コアとアグリゲーションで異なる内部ゲートウェイ プロトコル（IGP）を使用することがあります。拡張のために、IGP プレフィックスを IGP 間で配布することはできません。IGP プレフィックスを IGP 間で配布しない場合は、エンドツーエンドのラベルスイッチド パス（LSP）は実現できません。

エンドツーエンドで MPLS サービスを提供するには、LSP がエンドツーエンドである必要があります。これは、MPLS サービス（MPLS VPN、MPLS L2VPN）をそのままの状態で維持し、かつ拡張性を向上することを目的としています。このためには、一部の IGP プレフィックスを Border Gateway Protocol（BGP）に移動します（プロバイダー エッジ（PE）ルータのループバック プレフィックス）。次にこれらのプレフィックスがエンドツーエンドで配布されます。

アーキテクチャ

図 1 は、3 つの異なるエリアで構成される 1 つのネットワークを示します。1 つのコア エリアと両側の 2 つのアグリゲーション エリア。各エリアは専用の IGP を実行し、エリア境界ルータ（ABR）ではこれらのエリア間で再配布が行われません。 エンドツーエンド MPLS LSP を提供するには、BGP を使用する必要があります。BGP は、ラベルが付いた PE ルータのループバックをドメイン全体にアドバタイズし、エンドツーエンド LSP を実現します。BGP は RFC 3107 により PE と ABR の間に導入されました。つまり、BGP は IPv4 プレフィックス + ラベル（AFI/SAFI 1/4）を送信します。

ネットワークのコア部分とアグリゲーション部分が統合されておりエンドツーエンド LSP が提供されているため、ユニファイド MPLS ソリューションは「シームレス MPLS」とも呼ばれます。

ここでは新しいテクノロジーまたはプロトコルは使用せず、MPLS、ラベル配布プロトコル（LDP）、IGP、BGP だけを使用します。ネットワーク内の部分間で PE ルータのループバック プレフィックスを配布しないため、プレフィックスを BGP で伝送する必要があります。内部ボーダー ゲートウェイ プロトコル（IBGP）が 1 つのネットワークで使用されているため、プレフィックスのネクスト ホップ アドレスは PE ルータのループバック プレフィクスですが、これはネットワークの他の部分の IGP には認識されません。つまり、IGP プレフィクスへの再帰にネクスト ホップ アドレスを使用できません。この場合の対策は、ABR ルータをルート リフレクタ（RR）にし、反映済みの iBGP プレフィックスでも、ネクスト ホップをそのホップ自体に設定することです。このためには、新しいノブが必要です。

RR だけが、このアーキテクチャをサポートするために新しいソフトウェアを必要とします。RR は、ネクスト ホップがそのホップ自体に設定された状態で BGP プレフィックスをアドバタイズするため、ローカル MPLS ラベルを BGP プレフィックスに割り当てます。つまり、データ プレーンでは、これらのエンドツーエンド LSP で転送されるパケットの場合、ラベル スタックに追加の MPLS ラベルがあります。RR は転送パス上にあります。

注：このアーキテクチャを介してすべての MPLS サービスが提供されます。たとえば、MPLS VPN または MPLS L2VPN が PE ルータ間で提供されます。これらのパケットのデータ プレーンの相違点は、ラベル スタックに 3 つのラベルがあることです。一方、ユニファイド MPLS を使用しない場合、ラベル スタックにあるラベルは 2 つです。

次の 2 つのシナリオが考えられます。

- ABR は、ABR によりネットワークのアグリゲーション部分にアドバタイズ（BGP により反映）されたプレフィックスの場合、ネクスト ホップをそのホップ自体に設定しません。このため、ABR は ABR のループバック プレフィックスをコア IGP からアグリゲーション IGP に再配布する必要があります。この作業を行っても、まだ拡張性があります。アグリゲーション部分にアドバタイズする必要があるのは（コアからの）ABR ループバック プレフィックスだけであり、リモート アグリゲーション部分の PE ルータからのループバック プレフィックスはアドバタイズする必要はありません。

- ABR は、ABR によりアグリゲーション部分にアドバタイズ（BGP により反映）されたプレフィックスの場合、ネクスト ホップをそれ自体に設定します。このため、ABR は ABR のループバック プレフィックスをコア IGP からアグリゲーション IGP に再配布する必要はありません。

両方のシナリオで、ABR は、ABR によりネットワークのアグリゲーション部分からコア部分にアドバタイズ（BGP により反映）されたプレフィックスの場合、ネクスト ホップをそれ自体に設定します。このように設定していない場合、ABR は PE のループバック プレフィックスを、アグリゲーション IGP からコア IGP に再配布する必要があります。この作業を行うと、拡張性はなくなります。

反映された iBGP ルートでネクスト ホップをそれ自体に設定するには、neighbor x.x.x.x next-hop-self all コマンドを設定する必要があります。

設定

これは、シナリオ 2 の PE ルータと ABR の設定です。

注：図2にトポロジを示します。サービスの例はxconnect(MPLS L2VPN)です。 PE ルータと ABR 間に IPv4 + ラベルの BGP があります。

PE1

interface Loopback0

ip address 10.100.1.4 255.255.255.255

!

interface Ethernet1/0

no ip address

xconnect 10.100.1.5 100 encapsulation mpls

!

router ospf 2

network 10.2.0.0 0.0.255.255 area 0

network 10.100.1.4 0.0.0.0 area 0

!

router bgp 1

bgp log-neighbor-changes

network 10.100.1.4 mask 255.255.255.255

neighbor 10.100.1.1 remote-as 1

neighbor 10.100.1.1 update-source Loopback0

neighbor 10.100.1.1 send-label

RR1

interface Loopback0

ip address 10.100.1.1 255.255.255.255

router ospf 1

network 10.1.0.0 0.0.255.255 area 0

network 10.100.1.1 0.0.0.0 area 0

!

router ospf 2

redistribute ospf 1 subnets match internal route-map ospf1-into-ospf2

network 10.2.0.0 0.0.255.255 area 0

!

router bgp 1

bgp log-neighbor-changes

neighbor 10.100.1.2 remote-as 1

neighbor 10.100.1.2 update-source Loopback0

neighbor 10.100.1.2 next-hop-self all

neighbor 10.100.1.2  send-label

neighbor 10.100.1.4 remote-as 1

neighbor 10.100.1.4 update-source Loopback0

neighbor 10.100.1.4 route-reflector-client

neighbor 10.100.1.4 next-hop-self all

neighbor 10.100.1.4 send-label

ip prefix-list prefix-list-ospf1-into-ospf2 seq 5 permit 10.100.1.1/32

route-map ospf1-into-ospf2 permit 10

match ip address prefix-list prefix-list-ospf1-into-ospf2

RR2

interface Loopback0

ip address 10.100.1.2 255.255.255.255

router ospf 1

network 10.1.0.0 0.0.255.255 area 0

network 10.100.1.2 0.0.0.0 area 0

!

router ospf 3

redistribute ospf 1 subnets match internal route-map ospf1-into-ospf3

network 10.3.0.0 0.0.255.255 area 0

!

router bgp 1

bgp log-neighbor-changes

neighbor 10.100.1.1 remote-as 1

neighbor 10.100.1.1 update-source Loopback0

neighbor 10.100.1.1 next-hop-self all

neighbor 10.100.1.1 send-label

neighbor 10.100.1.5 remote-as 1

neighbor 10.100.1.5 update-source Loopback0

neighbor 10.100.1.5 route-reflector-client

neighbor 10.100.1.5 next-hop-self all

neighbor 10.100.1.5 send-label

ip prefix-list prefix-list-ospf1-into-ospf3 seq 5 permit 10.100.1.2/32

route-map ospf1-into-ospf3 permit 10

match ip address prefix-list prefix-list-ospf1-into-ospf3

PE2

interface Loopback0

ip address 10.100.1.5 255.255.255.255

interface Ethernet1/0

no ip address

xconnect 10.100.1.4 100 encapsulation mpls

router ospf 3

network 10.3.0.0 0.0.255.255 area 0

network 10.100.1.5 0.0.0.0 area 0

router bgp 1

bgp log-neighbor-changes

network 10.100.1.5 mask 255.255.255.255

neighbor 10.100.1.2 remote-as 1

neighbor 10.100.1.2 update-source Loopback0

neighbor 10.100.1.2 send-label

注：アグリゲーション IGP（ospf2 または ospf 3）へのコア IGP（ospf 1）の再配布は、ルート マップを使用して実行されます。このルート マップにより、RR のループバック プレフィックスをアグリゲーション IGP に再配布できます。これは、RR のループバック プレフィックスがコア IGP（ospf 1）に直接アドバタイズされるだけであるためです。 ただし、RR のループバック プレフィックスがアグリゲーション IGP で既知である必要もあります。これにより、PE ルータの BGP が RR のループバックとピアリングできます。

確認

図 2 を参照してコントロール プレーンの動作を検証してください。

図 3 を参照して MPLS ラベル アドバタイズを検証してください。

図 4 を参照してパケット転送を検証してください。

これは、パケットがPE1からPE2に転送される方法です。PE2のループバックプレフィックスは10.100.1.5/32です。したがって、このプレフィックスが対象になります。

PE1#show ip route 10.100.1.5

Routing entry for 10.100.1.5/32

Known via "bgp 1", distance 200, metric 0, type internal

Last update from 10.100.1.1 00:11:12 ago

Routing Descriptor Blocks:

* 10.100.1.1, from 10.100.1.1, 00:11:12 ago

Route metric is 0, traffic share count is 1

AS Hops 0

MPLS label: 22

PE1#show ip cef 10.100.1.5

10.100.1.5/32

nexthop 10.2.2.6 Ethernet0/0 label 19 22

PE1#show ip cef 10.100.1.5 detail

10.100.1.5/32, epoch 0, flags rib defined all labels

1 RR source [no flags]

recursive via 10.100.1.1 label 22

nexthop 10.2.2.6 Ethernet0/0 label 19

PE1#show bgp ipv4 unicast labels

Network          Next Hop      In label/Out label

10.100.1.4/32    0.0.0.0         imp-null/nolabel

10.100.1.5/32    10.100.1.1      nolabel/22

P1#show mpls forwarding-table labels 19 detail

Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop

Label      Label      or Tunnel Id     Switched      interface

19         Pop Label  10.100.1.1/32    603468        Et1/0      10.2.1.1

MAC/Encaps=14/14, MRU=1504, Label Stack{}

AABBCC000101AABBCC0006018847

No output feature configured

RR1#show mpls forwarding-table labels 22 detail

Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop

Label      Label      or Tunnel Id     Switched      interface

22         21         10.100.1.5/32    575278        Et0/0      10.1.1.3

MAC/Encaps=14/22, MRU=1496, Label Stack{17 21}

AABBCC000300AABBCC0001008847 0001100000015000

No output feature configured

RR1#show bgp ipv4 unicast labels

Network          Next Hop      In label/Out label

10.100.1.4/32    10.100.1.4      19/imp-null

10.100.1.5/32    10.100.1.2      22/21

P3#show mpls forwarding-table labels 17 detail

Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop

Label      Label      or Tunnel Id     Switched      interface

17         Pop Label  10.100.1.2/32    664306        Et1/0      10.1.2.2

MAC/Encaps=14/14, MRU=1504, Label Stack{}

AABBCC000201AABBCC0003018847

No output feature configured

RR2#show mpls forwarding-table labels 21 detail

Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop

Label      Label      or Tunnel Id     Switched      interface

21         17         10.100.1.5/32    615958        Et0/0      10.3.1.7

MAC/Encaps=14/18, MRU=1500, Label Stack{17}

AABBCC000700AABBCC0002008847 00011000

No output feature configured

RR2#show bgp ipv4 unicast labels

Network          Next Hop      In label/Out label

10.100.1.4/32    10.100.1.1      22/19

10.100.1.5/32    10.100.1.5      21/imp-null

P2#show mpls forwarding-table labels 17 detail

Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop

Label      Label      or Tunnel Id     Switched      interface

17         Pop Label  10.100.1.5/32    639957        Et1/0      10.3.2.5

MAC/Encaps=14/14, MRU=1504, Label Stack{}

AABBCC000500AABBCC0007018847

No output feature configured

PE1#trace

Protocol [ip]:

Target IP address: 10.100.1.5

Source address: 10.100.1.4

DSCP Value [0]:

Numeric display [n]:

Timeout in seconds [3]:

Probe count [3]:

Minimum Time to Live [1]:

Maximum Time to Live [30]:

Port Number [33434]:

Loose, Strict, Record, Timestamp, Verbose[none]:

Type escape sequence to abort.

Tracing the route to 10.100.1.5

VRF info: (vrf in name/id, vrf out name/id)

1 10.2.2.6 [MPLS: Labels 19/22 Exp 0] 3 msec 3 msec 3 msec

2 10.2.1.1 [MPLS: Label 22 Exp 0] 3 msec 3 msec 3 msec

3 10.1.1.3 [MPLS: Labels 17/21 Exp 0] 3 msec 3 msec 2 msec

4 10.1.2.2 [MPLS: Label 21 Exp 0] 2 msec 3 msec 2 msec

5  *  *  *

6 10.3.2.5 4 msec *  4 msec

注：ホップ5は、?5 * * ?これはルータ P2 に traceroute の送信元 IP アドレス 10.100.1.4（PE1）へのルートがないためです。したがって、ルータP2はインターネット制御メッセージプロトコル(ICMP)エラーメッセージをPE1に返送できません。これは正常です。Unified MPLSのポイントは、1つのアグリゲーション部分のすべてのPEルータのループバックプレフィックスを他のアグリゲーション部分のIGPに表示しません。ルータ P2 は、ICMP エラー メッセージに元のラベル スタックを付けずに転送します。これは、元のラベル スタックに含まれているラベルが 1 つだけであるためです。パケットの元のラベル スタックに複数のラベルが含まれている場合、ICMP エラー メッセージは LSP に沿って転送され、traceroute のソースに戻ります。元のラベル スタックにラベルが 1 つだけ含まれている場合、ICMP エラー メッセージの生成元ルータはルート ルックアップを試行し、ルーティング テーブルを使用して（元のラベル スタックは使用せずに）ルーティングしようとします。

P2#show ip route 10.100.1.4

% Subnet not in table

トラブルシュート

現在、この設定に関する特定のトラブルシューティング情報はありません。

関連情報

- シームレス MPLS アーキテクチャ

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