MPLS-TE (RSVP-TE) その2
前回はXRでのRSVP-TEを先延ばしにしたけど、原因が分かったのでIOSとXR混在の構成で今後進める。
構成は以下。
xrv7のconfigは以下。
hostname xrv7 explicit-path name explicit index 1 next-address strict ipv4 unicast 6.6.6.6 index 2 next-address strict ipv4 unicast 5.5.5.5 index 3 next-address strict ipv4 unicast 2.2.2.2 ! vrf a address-family ipv4 unicast import route-target 1:1 ! export route-target 1:1 ! ! ! interface Loopback0 ipv4 address 7.7.7.7 255.255.255.255 ! interface tunnel-te0 ipv4 unnumbered Loopback0 autoroute announce ! destination 2.2.2.2 path-option 5 explicit name explicit ! interface MgmtEth0/0/CPU0/0 shutdown ! interface GigabitEthernet0/0/0/0 vrf a ipv4 address 192.168.78.7 255.255.255.0 ! interface GigabitEthernet0/0/0/1 ipv4 address 192.168.67.7 255.255.255.0 ! interface GigabitEthernet0/0/0/2 shutdown ! interface GigabitEthernet0/0/0/3 ipv4 address 192.168.47.7 255.255.255.0 ! route-policy pass pass end-policy ! router ospf 1 router-id 7.7.7.7 address-family ipv4 unicast area 0 mpls traffic-eng interface Loopback0 ! interface GigabitEthernet0/0/0/1 ! interface GigabitEthernet0/0/0/3 ! ! mpls traffic-eng router-id Loopback0 ! router bgp 2 bgp router-id 7.7.7.7 address-family ipv4 unicast ! address-family vpnv4 unicast ! neighbor 2.2.2.2 remote-as 2 update-source Loopback0 address-family vpnv4 unicast ! ! vrf a rd 1:1 address-family ipv4 unicast ! neighbor 192.168.78.8 remote-as 3 address-family ipv4 unicast route-policy pass in route-policy pass out ! ! ! ! rsvp interface GigabitEthernet0/0/0/1 ! interface GigabitEthernet0/0/0/3 ! ! mpls traffic-eng interface GigabitEthernet0/0/0/1 ! interface GigabitEthernet0/0/0/3 ! ! mpls ldp ! end
XRで前回までうまくいかなかった理由は赤文字の「mpls ldp」設定がなかったことが原因。
IOSだと「mpls ip」の設定がなくてもいけたので、XRも同様の設定はなくてもいけると思ってたけどどうやら必須みたい。
「mpls ldp」の設定がないと、LFIB上でunresolvedとなるらしい。
RP/0/0/CPU0:xrv7#show cef vrf a 1.1.1.1 detail Sun Jun 18 07:25:42.169 UTC VRF: **nVSatellite _____________ 0.0.0.0/0, version 0, proxy default, default route handler, drop adjacency, internal 0x1001011 0x0 (ptr 0xa13b02f4) [1], 0x0 (0xa13961dc), 0x0 (0x0) Updated Jun 18 06:06:03.146 Prefix Len 0, traffic index 0, precedence n/a, priority 15 gateway array (0xa1292430) reference count 1, flags 0x200, source default (12), 0 backups [2 type 3 flags 0x8481 (0xa131417c) ext 0x0 (0x0)] LW-LDI[type=3, refc=1, ptr=0xa13961dc, sh-ldi=0xa131417c] via point2point, 8 dependencies, weight 0, class 0 [flags 0x0] path-idx 0 NHID 0x0 [0xa0eb6134 0x0] next hop point2point drop adjacency Load distribution: 0 (refcount 2) Hash OK Interface Address 0 Y Unknown drop VRF: a _____________ 1.1.1.1/32, version 4, internal 0x5000001 0x0 (ptr 0xa13b17f4) [1], 0x0 (0x0), 0x208 (0xa152c0f0) Updated Jun 18 06:06:48.533 Prefix Len 32, traffic index 0, precedence n/a, priority 3 gateway array (0xa1293334) reference count 2, flags 0x403a, source rib (7), 0 backups [1 type 1 flags 0x140089 (0xa1546230) ext 0x0 (0x0)] LW-LDI[type=0, refc=0, ptr=0x0, sh-ldi=0x0] via 2.2.2.2, 0 dependencies, recursive [flags 0x6000] path-idx 0 NHID 0x0 [0xa0f1e244 0x0] recursion-via-/32 next hop VRF - 'default', table - 0xe0000000 unresolved labels imposed {16}
そして「mpls ldp」を設定するとresolvedになるらしい。
RP/0/0/CPU0:xrv7#show cef vrf a 1.1.1.1 detail Sun Jun 18 07:24:21.285 UTC VRF: **nVSatellite _____________ 0.0.0.0/0, version 0, proxy default, default route handler, drop adjacency, internal 0x1001011 0x0 (ptr 0xa13b02f4) [1], 0x0 (0xa13961dc), 0x0 (0x0) Updated Jun 18 06:06:03.146 Prefix Len 0, traffic index 0, precedence n/a, priority 15 gateway array (0xa1292430) reference count 1, flags 0x200, source default (12), 0 backups [2 type 3 flags 0x8481 (0xa131417c) ext 0x0 (0x0)] LW-LDI[type=3, refc=1, ptr=0xa13961dc, sh-ldi=0xa131417c] via point2point, 7 dependencies, weight 0, class 0 [flags 0x0] path-idx 0 NHID 0x0 [0xa0eb6134 0x0] next hop point2point drop adjacency Load distribution: 0 (refcount 2) Hash OK Interface Address 0 Y Unknown drop VRF: a _____________ 1.1.1.1/32, version 4, internal 0x5000001 0x0 (ptr 0xa13b17f4) [1], 0x0 (0x0), 0x208 (0xa152c0f0) Updated Jun 18 06:06:48.533 Prefix Len 32, traffic index 0, precedence n/a, priority 3 gateway array (0xa1293334) reference count 2, flags 0x4038, source rib (7), 0 backups [1 type 1 flags 0x40089 (0xa1546230) ext 0x0 (0x0)] LW-LDI[type=0, refc=0, ptr=0x0, sh-ldi=0x0] via 2.2.2.2, 3 dependencies, recursive [flags 0x6000] path-idx 0 NHID 0x0 [0xa1594bf4 0x0] recursion-via-/32 next hop VRF - 'default', table - 0xe0000000 next hop 2.2.2.2 via 24000/0/21 next hop 2.2.2.2/32 tt0 labels imposed {ImplNull 16} Load distribution: 0 (refcount 1) Hash OK Interface Address 0 Y Unknown 24000/0 VRF: default
これでMPLSラベル情報を送ることが出来るのでエンドエンドでの疎通が可能となる。
r1#traceroute 8.8.8.8 so 1.1.1.1 Type escape sequence to abort. Tracing the route to 8.8.8.8 VRF info: (vrf in name/id, vrf out name/id) 1 192.168.12.2 2 msec 2 msec 1 msec 2 192.168.25.5 [MPLS: Labels 16/24014 Exp 0] 15 msec 5 msec 4 msec 3 192.168.56.6 [MPLS: Labels 16/24014 Exp 0] 5 msec 18 msec 7 msec 4 192.168.67.7 [MPLS: Label 24014 Exp 0] 10 msec 7 msec 6 msec 5 192.168.78.8 5 msec 5 msec *
やはりMPLSをまだちゃんと理解していない中で構築しているので、
自分の中でまだ挙動が落とし込めていない。
とりあえずIOS、XR混在環境が作れたので、先に進める。
進めた先で、あーそういうことねとなることを期待する。
てか以下のドキュメントにはこういうこと書かれていなかった気がする。なので嵌った。
Implementing MPLS Traffic Engineering on Cisco IOS XR Software - Cisco
XR同士だったらドキュメント通りの設定でいけるのかと思い、r2をxrv2に変えて設定してみたけど、
同様に「mpls ldp」がないとエンドエンドの疎通ができなかった。対向がIOSとかXRとか関係なく、「mpls ldp」は必要みたい。
次回はBandwidth Reservationあたりを予定。