目次
概要
MPLSのラベルを配送してLSPを確立するLDPについて設定ミスの切り分けと修正を行います。
ネットワーク構成
下記のネットワーク構成でMPLSによるラベルスイッチングができるようにします。
設定概要
R1~R3でMPLSに関連する設定の抜粋は次の通りです。これらの設定には一部設定ミスがあります。
R1
interface Loopback0 ip address 192.168.0.1 255.255.255.255 ! interface Serial1/0 ip address 192.168.12.1 255.255.255.0 encapsulation ppp mpls ip no peer neighbor-route ! router ospf 1 router-id 192.168.0.1 log-adjacency-changes network 192.168.0.1 0.0.0.0 area 0 network 192.168.12.1 0.0.0.0 area 0
R2
interface Loopback0 ip address 192.168.0.2 255.255.255.255 ! interface Loopback200 ip address 200.200.200.200 255.255.255.255 ! interface Serial1/0 ip address 192.168.12.2 255.255.255.0 encapsulation ppp mpls ip no peer neighbor-route ! interface Serial1/1 ip address 192.168.23.2 255.255.255.0 encapsulation ppp mpls ip no peer neighbor-route ! router ospf 1 router-id 192.168.0.2 log-adjacency-changes network 192.168.0.2 0.0.0.0 area 0 network 192.168.12.2 0.0.0.0 area 0 network 192.168.23.2 0.0.0.0 area 0
R3
interface Loopback0 ip address 192.168.0.3 255.255.255.255 ! interface Serial1/0 ip address 192.168.23.3 255.255.255.0 encapsulation ppp mpls ip no peer neighbor-route ! router ospf 1 router-id 192.168.0.3 log-adjacency-changes network 192.168.0.3 0.0.0.0 area 0 network 192.168.23.3 0.0.0.0 area 0
トラブルの症状
次のように各ルータのインタフェースでMPLSを有効化しています。
R1 show mpls interface
R1#show mpls interfaces Interface IP Tunnel Operational Serial1/0 Yes (ldp) No Yes
R2 show mpls interface
R2#show mpls interfaces Interface IP Tunnel Operational Serial1/0 Yes (ldp) No Yes Serial1/1 Yes (ldp) No Yes
R3 show mpls interface
R3#show mpls interfaces Interface IP Tunnel Operational Serial1/0 Yes (ldp) No Yes
ところが、R2との間でLDPネイバーを確立することができていません。R2でshow mpls ldp neighborを見ると、次のようになります。
R2 show mpls ldp neighbor
R2#show mpls ldp neighbor
R2との間でLDPネイバーを確立できないので、ラベル配布ができていません。通信はできるもののラベルスイッチングではなく、通常のIPルーティングになってしまっています。
問題
- R2との間でLDPネイバーを確立できない原因は何ですか?
- R2との間でLDPネイバーを確立するためにどのように設定を行えばよいですか?
解答
R2との間でLDPネイバーを確立できない原因は何ですか?
R2の200.200.200.200/32との接続性がないため
R2との間でLDPネイバーを確立するためにどのように設定を行えばよいですか
R2
router ospf 1 network 200.200.200.200 0.0.0.0 area 0
または
R2
mpls ldp router-id loopback0 force
ワンポイント
- LDPルータIDに対するIP接続性が必要
解説
MPLSで利用するラベルを配布するための代表的なプロトコルがLDP(Label Distribution Protocol)です。LDPによって、ルータ間でラベルを配布してラベルスイッチングできるようにします。LDPでは、以下のポート番号を利用します。
- TCPポート646
- UDPポート646
UDPによって、LDPネイバーを発見します。そしてLDPネイバーとの間でTCPコネクションを確立してラベルの配布を行います。ラベルを配布する対象をFEC(Forwarding Equivalent Class)と呼びます。FECとは、簡単に言えば、同じように転送するパケットの集まりです。同じように転送するパケットには、同じラベルを割り当ててラベルスイッチングを行います。このFECの代表的な例は、ルーティングテーブルのルート情報です。
そして、LDPでもOSPFのようにルータIDを決定します。ルータIDの決定方法は、次のようになります。
- Loopbackインタフェースの最大IPアドレス
- アクティブなインタフェースの最大IPアドレス
LDPのルータIDは、単純にルータの識別だけに使うのではなく、TCPコネクションを確立する際のアドレスとして使います。そのため、LDPネイバーを正常に確立するためには、ルータIDのIPアドレスに対しての接続性がなければいけません。今回の構成において、各ルータのLDPルータIDは次のようになっています。
- R1:192.168.0.1(Loopback0)
- R2:200.200.200.200(Loopback200)
- R3:192.168.0.3(Loopback0)
R2のOSPFの設定では、Loopback200をアドバタイズしていません。そのため、R1とR3からは200.200.200.200に対する接続性がありません。これがR2との間で、LDPネイバーを確立できない理由です。
R1のルーティングテーブルは次のようになっています。
R1 show ip route
R1#show ip route Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2 i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, * - candidate default, U - per-user static route o - ODR, P - periodic downloaded static route Gateway of last resort is not set C 192.168.12.0/24 is directly connected, Serial1/0 O 192.168.23.0/24 [110/128] via 192.168.12.2, 00:14:38, Serial1/0 192.168.0.0/32 is subnetted, 3 subnets C 192.168.0.1 is directly connected, Loopback0 O 192.168.0.2 [110/65] via 192.168.12.2, 00:14:38, Serial1/0 O 192.168.0.3 [110/129] via 192.168.12.2, 00:14:38, Serial1/0
また、R1でLDPの情報を確認するためにshow mpls ldp discoveryを見ると、次のようになっています。
show mpls ldp discovery
R1#sh mpls ldp discovery Local LDP Identifier: 192.168.0.1:0 Discovery Sources: Interfaces: Serial1/0 (ldp): xmit/recv LDP Id: 200.200.200.200:0; no route
R1ではSerial1/0上にルータID 200.200.200.200を認識しているのですが、「no route」なのでLDPネイバーを正常に確立することができません。
トラブルの原因が分かったところで、解決方法を考えましょう。R2との間でLDPネイバーを正常に確立するためには、
- Loopback200をOSPFでアドバタイズする
- LDPルータIDをLoopback0のIPアドレスに変更する
のどちらかで解決できます。
Loopback200をOSPFでアドバタイズする設定は次の通りです。
R2 Loopback200をOSPFでアドバタイズ
router ospf 1 network 200.200.200.200 0.0.0.0 area 0
R2 LoopbackをOSPFでアドバタイズした場合、R2でshow mpls ldp neighborは次のような表示になります。
R2 show mpls ldp neighbor
R2#sh mpls ldp neighbor Peer LDP Ident: 192.168.0.1:0; Local LDP Ident 200.200.200.200:0 TCP connection: 192.168.0.1.646 - 200.200.200.200.24393 State: Oper; Msgs sent/rcvd: 9/9; Downstream Up time: 00:00:11 LDP discovery sources: Serial1/0, Src IP addr: 192.168.12.1 Addresses bound to peer LDP Ident: 192.168.12.1 192.168.0.1 Peer LDP Ident: 192.168.0.3:0; Local LDP Ident 200.200.200.200:0 TCP connection: 192.168.0.3.646 - 200.200.200.200.32858 State: Oper; Msgs sent/rcvd: 9/9; Downstream Up time: 00:00:11 LDP discovery sources: Serial1/1, Src IP addr: 192.168.23.3 Addresses bound to peer LDP Ident: 192.168.23.3 192.168.0.3
また、LDPルータIDをLoopback0のIPアドレスに変更するには次のように設定します。
R2 LDPルータIDをLoopback0に変更
mpls ldp router-id loopback0 force
R2でルータIDを変更した場合のshow mpls ldp neighborは次のようになります。
R2 show mpls ldp neighbor
R2#show mpls ldp neighbor Peer LDP Ident: 192.168.0.3:0; Local LDP Ident 192.168.0.2:0 TCP connection: 192.168.0.3.27096 - 192.168.0.2.646 State: Oper; Msgs sent/rcvd: 9/9; Downstream Up time: 00:00:11 LDP discovery sources: Serial1/1, Src IP addr: 192.168.23.3 Addresses bound to peer LDP Ident: 192.168.23.3 192.168.0.3 Peer LDP Ident: 192.168.0.1:0; Local LDP Ident 192.168.0.2:0 TCP connection: 192.168.0.1.646 - 192.168.0.2.12446 State: Oper; Msgs sent/rcvd: 9/9; Downstream Up time: 00:00:11 LDP discovery sources: Serial1/0, Src IP addr: 192.168.12.1 Addresses bound to peer LDP Ident: 192.168.12.1 192.168.0.1
なお、詳細は割愛しますが、R2で次のように設定してもLDPネイバーを確立することができます。TCPコネクションを確立するIPアドレスとして、インタフェースのIPアドレスを利用するという設定です。
R2
interface serial 1/0 mpls ldp discovery transport-address interface ! interface serial 1/1 mpls ldp discovery transport-address interface
MPLS/MPLS-VPN
- MPLSラベルスイッチングの設定と確認コマンド[Cisco]
- MPLSによるラベルスイッチングの設定例 [Cisco]
- MPLSによるトランジットASの構成
- MPLS 設定ミスの切り分けと修正 Part1
- MPLS 設定ミスの切り分けと修正 Part2
- MPLS-VPNの設定例 フルメッシュ(Any-to-Any)
- MPLS-VPNの設定例 エクストラネットVPN
- MPLS-VPNの設定例 セントラルサービスVPN
- MPLS-VPNの設定例 ハブ&スポークVPN
- OSPF Sham-linkの概要
- OSPF Sham-linkの設定
- MPLS-VPN 設定ミスの切り分けと修正 Part1
- MPLS-VPN 設定ミスの切り分けと修正 Part2
- MPLS-VPN 設定ミスの切り分けと修正 Part3
- MPLS-VPN 設定ミスの切り分けと修正 Part4
- MPLS-VPN 設定ミスの切り分けと修正 Part5
- MPLS-VPN 設定ミスの切り分けと修正 Part6