MPLS-TE (RSVP-TE) その1
今回からMPLS-TEに挑戦。
まずはRSVPの理解から。
構成は以下。
MPLS-TEは基本的にこの構成で構築を進めていく予定。
トラフィックの流れを分かりやすくしようと思って、pc1とpc2をr1、r8配下にiperf3を使える形で準備した。
今回は出番ないので停止状態。
後、r2配下にwinがあるけど、これはトラフィック状況を分かりやすくしようと思ってmrtgとか使って確認しようかなと思って準備した。
こちらは、mrtgの構築に躓いて放置。いづれ準備する予定。
ネットワーク系は楽しくトラブルシューティング出来るけど、サーバ系は本当にトラブルシューティングのやる気が全くでない。
ここら辺は何とかしたい。本件と全く関係ないけど。
実は構成も当初r7をxrvで構築して、同時にIOSとXRのMPLS-TEを理解しようと思ってたけど、XRでのMPLS-TEがどうしてもうまくいかなかったので後回し。interface te-0はup/upだが、エンドエンドでの疎通が取れない状態。
ここらへんはIOSで仕組みを理解してから取り組もう。
今回はまず、configの中身を特に理解せず書かれている通りにやって構築できることを確かめる。
なので設定が意味するところの理解は次回。
r2(PE)のconfig
hostname r2 ! vrf definition a rd 1:1 ! address-family ipv4 route-target export 1:1 route-target import 1:1 exit-address-family ! ip cef no ipv6 cef ! mpls traffic-eng tunnels ※1 ! ! interface Loopback0 ip address 2.2.2.2 255.255.255.255 ip ospf 1 area 0 ! interface Tunnel0 ※4 ip unnumbered Loopback0 tunnel mode mpls traffic-eng tunnel destination 7.7.7.7 tunnel mpls traffic-eng autoroute announce tunnel mpls traffic-eng priority 3 3 tunnel mpls traffic-eng bandwidth 3000 tunnel mpls traffic-eng path-option 1 explicit name explicit no routing dynamic ! interface Ethernet0/0 vrf forwarding a ip address 192.168.12.2 255.255.255.0 ! interface Ethernet0/1 ip address 192.168.23.2 255.255.255.0 ip ospf 1 area 0 mpls traffic-eng tunnels ※1 ip rsvp bandwidth ※2 ! interface Ethernet0/3 ip address 192.168.25.2 255.255.255.0 ip ospf 1 area 0 ip ospf cost 100 mpls traffic-eng tunnels ip rsvp bandwidth ! router ospf 1 mpls traffic-eng router-id Loopback0 ※3 mpls traffic-eng area 0 ※3 ! router bgp 2 bgp log-neighbor-changes no bgp default ipv4-unicast neighbor 7.7.7.7 remote-as 2 neighbor 7.7.7.7 update-source Loopback0 ! address-family ipv4 exit-address-family ! address-family vpnv4 neighbor 7.7.7.7 activate neighbor 7.7.7.7 send-community extended exit-address-family ! address-family ipv4 vrf a neighbor 192.168.12.1 remote-as 1 neighbor 192.168.12.1 activate exit-address-family ! ip explicit-path name explicit enable ※4 next-address 5.5.5.5 next-address 6.6.6.6 next-address 7.7.7.7
MPLS-TE特有のconfigは赤文字。
MPLS網のIGPはOSPFで構築。
対向のr7でも同様の設定を行う。
※1 config
mpls-teを有効するためのconfig。
「mpls traffic-eng tunnels」はグローバルとインターフェスに設定する。
というか、グローバルに設定がないとインターフェースに設定ができない。
※2 config
rsvpで帯域を予約するインターフェスに「ip rsvp」を設定。
※3 config
MPLE-TE情報をIGPで伝達させるための設定。OSPFはType10のLSAを使用して伝達。
※4 config
tunnelインターフェスの設定。
「tunnel mpls traffic-eng autoroute announce」を設定するとIGP routing table上で、
tunnel dstの7.7.7.7宛のnexthopがtunnelインターフェースに変わる。
何故この設定が必要なのかはまだ理解できていない。今度。
pathの設定はdynamicとexplicitの二パターンある。今回はexplicitで設定。
r3(P)のconfig
hostname r3 ! ip cef no ipv6 cef ! mpls traffic-eng tunnels ! ! interface Loopback0 ip address 3.3.3.3 255.255.255.255 ip ospf 1 area 0 ! interface Ethernet0/0 ip address 192.168.34.3 255.255.255.0 ip ospf 1 area 0 mpls traffic-eng tunnels ip rsvp bandwidth ! interface Ethernet0/1 ip address 192.168.23.3 255.255.255.0 ip ospf 1 area 0 mpls traffic-eng tunnels ip rsvp bandwidth ! interface Ethernet0/2 ip address 192.168.35.3 255.255.255.0 ip ospf 1 area 0 mpls traffic-eng tunnels ip rsvp bandwidth ! interface Ethernet0/3 ip address 192.168.36.3 255.255.255.0 ip ospf 1 area 0 mpls traffic-eng tunnels ip rsvp bandwidth ! router ospf 1 mpls traffic-eng router-id Loopback0 mpls traffic-eng area 0
r2のe0/3(r5向け)にcost設定をしているのでMPLS自体は、
r2→r3→r4→r7の上ルートを通る設定。
r2#sh ip route 2.0.0.0/32 is subnetted, 1 subnets C 2.2.2.2 is directly connected, Loopback0 3.0.0.0/32 is subnetted, 1 subnets O 3.3.3.3 [110/11] via 192.168.23.3, 00:13:54, Ethernet0/1 4.0.0.0/32 is subnetted, 1 subnets O 4.4.4.4 [110/21] via 192.168.23.3, 00:13:54, Ethernet0/1 5.0.0.0/32 is subnetted, 1 subnets O 5.5.5.5 [110/21] via 192.168.23.3, 00:13:54, Ethernet0/1 6.0.0.0/32 is subnetted, 1 subnets O 6.6.6.6 [110/21] via 192.168.23.3, 00:13:54, Ethernet0/1 7.0.0.0/32 is subnetted, 1 subnets O 7.7.7.7 [110/31] via 7.7.7.7, 00:04:40, Tunnel0
だが、MPLS-TEでは、explicitでr2→r5→r6→r7と設定したので、
以下の通り下のルートで通信が行われる
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 3 msec 2 msec 0 msec 2 192.168.25.5 [MPLS: Labels 16/18 Exp 0] 4 msec 4 msec 4 msec 3 192.168.56.6 [MPLS: Labels 16/18 Exp 0] 4 msec 6 msec 6 msec 4 192.168.78.7 [MPLS: Label 18 Exp 0] 5 msec 4 msec 9 msec 5 192.168.78.8 5 msec 6 msec *
ということで書かれている通りに設定すれば最小限の構築は可能だった。あたりまえだけど。
XRは書かれた通りにやったのにうまくいかなかったけど
showコマンドらへんの確認も次回実施予定。