MPLS-TE Path Protectionの設定
Eve-NGを使ってMPLS-TEの環境を作り、Path Protectionを試してみる。
Path Protectionについて
Path ProtectionはGlobal Repairと呼ばれる方式の1つであり、プライマリパスのどこかで障害が発生した際、あらかじめ準備しておいたセカンダリパスに切り替えることで復旧を行う。Local Repair方式でリンクやノードに対してProtectionを設定するFast Reroute(Link Protection/Node Protection)とは異なる。
参考:
- https://www.janog.gr.jp/meeting/janog14/src/JANOG14-mpls.pdf
- https://www.nic.ad.jp/ja/materials/iw/2003/proceedings/T19-5.pdf
環境
- Eve-NG Community Edition Version 2.0.3-112
- IOL Version 15.5(2)T
検証構成
R1~R4で、Loopback I/Fも含めてOSPFを設定しておく。
設定
共通設定(R1~R4)
- MPLS-TEの有効化
mpls traffic-eng tunnels
- 各I/FでMPLS-TE有効化+RSVPで帯域確保
interface Ethernet0/0 mpls traffic-eng tunnels ip rsvp bandwidth 300 !
- OSPF-TEの有効化
router ospf 1 mpls traffic-eng router-id Loopback0 mpls traffic-eng area 0 !
確認
R1#show ip rsvp interface interface rsvp allocated i/f max flow max sub max VRF Et0/0 ena 0 300K 300K 0 Et0/1 ena 0 300K 300K 0
RSVPでI/Fごとに帯域が割り当てられているのがわかる。 (まだパスは作っていないのでallocatedは0)
OSPF-TEを有効にする時(もしくは割当帯域を変える時)にパケットキャプチャすると、LS Updateで帯域使用率等の情報が広報されるのが見える。
プライマリパスの作成(R1)
プライマリパスはR1->R2->R3とする。 Head-EndとなるR1で、Tunnelインターフェースとして設定
interface Tunnel123 description R1->R2->R3 ip unnumbered Loopback0 tunnel mode mpls traffic-eng tunnel destination 10.10.10.3 tunnel mpls traffic-eng autoroute announce tunnel mpls traffic-eng bandwidth 150 tunnel mpls traffic-eng path-option 10 explicit name PRIMARY tunnel mpls traffic-eng record-route ! ip explicit-path name PRIMARY enable next-address 10.10.10.2 next-address 10.10.10.3 !
確認
R1#show mpls traffic-eng tunnels Name: R1->R2->R3 (Tunnel123) Destination: 10.10.10.3 Status: Admin: up Oper: up Path: valid Signalling: connected path option 10, type explicit PRIMARY (Basis for Setup, path weight 20) Config Parameters: Bandwidth: 150 kbps (Global) Priority: 7 7 Affinity: 0x0/0xFFFF Metric Type: TE (default) AutoRoute: enabled LockDown: disabled Loadshare: 150 bw-based auto-bw: disabled Active Path Option Parameters: State: explicit path option 10 is active BandwidthOverride: disabled LockDown: disabled Verbatim: disabled InLabel : - OutLabel : Ethernet0/0, 17 RSVP Signalling Info: Src 10.10.10.1, Dst 10.10.10.3, Tun_Id 123, Tun_Instance 5 RSVP Path Info: My Address: 192.168.1.1 Explicit Route: 192.168.1.2 192.168.2.1 192.168.2.2 10.10.10.3 Record Route: Tspec: ave rate=150 kbits, burst=1000 bytes, peak rate=150 kbits RSVP Resv Info: Record Route: 192.168.2.1 192.168.2.2 Fspec: ave rate=150 kbits, burst=1000 bytes, peak rate=150 kbits History: Tunnel: Time since created: 4 minutes, 25 seconds Time since path change: 1 minutes, 9 seconds Number of LSP IDs (Tun_Instances) used: 5 Current LSP: Uptime: 1 minutes, 9 seconds Selection: reoptimization Prior LSP: ID: path option 10 [4] Removal Trigger: configuration changed
Statusがupになり、Explicit Routeが登録されている。
R1#show ip rsvp interface interface rsvp allocated i/f max flow max sub max VRF Et0/0 ena 150K 300K 300K 0 Et0/1 ena 0 300K 300K 0
Et0/0がAllocatedになった。
R1#show ip rsvp reservation To From Pro DPort Sport Next Hop I/F Fi Serv BPS 10.10.10.3 10.10.10.1 0 123 5 192.168.1.2 Et0/0 SE LOAD 150K
reservationが登録されている。
R2#show mpls forwarding-table Local Outgoing Prefix Bytes Label Outgoing Next Hop Label Label or Tunnel Id Switched interface 17 Pop Label 10.10.10.1 123 [5] \ 0 Et0/1 192.168.2.2
R2でmpls forwarding-tableを見てみると、エントリが追加されている。
R1->R3へtraceroute
R1#traceroute 10.10.10.3 Type escape sequence to abort. Tracing the route to 10.10.10.3 VRF info: (vrf in name/id, vrf out name/id) 1 192.168.1.2 [MPLS: Label 17 Exp 0] 1 msec 1 msec 1 msec 2 192.168.2.2 1 msec 1 msec *
登録されたLSPを使ったMPLSでR2->R3と経由していることがわかる。
セカンダリパスの設定(R1)
セカンダリパスはR1->R4->R3とする。 プライマリ同様にHead-End(R1)で設定。
interface Tunnel123 tunnel mpls traffic-eng path-option protect 10 explicit name SECONDARY ! ip explicit-path name SECONDARY enable next-address 10.10.10.4 next-address 10.10.10.3
確認
R1#show mpls traffic-eng tunnels Name: R1->R2->R3 (Tunnel123) Destination: 10.10.10.3 Status: Admin: up Oper: up Path: valid Signalling: connected path option 10, type explicit PRIMARY (Basis for Setup, path weight 20) Path Protection: 0 Common Link(s), 0 Common Node(s) path protect option 10, type explicit SECONDARY (Basis for Protect, path weight 20) Config Parameters: Bandwidth: 150 kbps (Global) Priority: 7 7 Affinity: 0x0/0xFFFF Metric Type: TE (default) AutoRoute: enabled LockDown: disabled Loadshare: 150 bw-based auto-bw: disabled Active Path Option Parameters: State: explicit path option 10 is active BandwidthOverride: disabled LockDown: disabled Verbatim: disabled InLabel : - OutLabel : Ethernet0/0, 17 RSVP Signalling Info: Src 10.10.10.1, Dst 10.10.10.3, Tun_Id 123, Tun_Instance 5 RSVP Path Info: My Address: 192.168.1.1 Explicit Route: 192.168.1.2 192.168.2.1 192.168.2.2 10.10.10.3 Record Route: Tspec: ave rate=150 kbits, burst=1000 bytes, peak rate=150 kbits RSVP Resv Info: Record Route: 192.168.2.1 192.168.2.2 Fspec: ave rate=150 kbits, burst=1000 bytes, peak rate=150 kbits History: Tunnel: Time since created: 27 minutes, 35 seconds Time since path change: 24 minutes, 20 seconds Number of LSP IDs (Tun_Instances) used: 5 Current LSP: Uptime: 24 minutes, 20 seconds Selection: reoptimization Prior LSP: ID: path option 10 [4] Removal Trigger: configuration changed
path protect option 10, type explicit SECONDARY
が追加された。
Path Protection:
の行はプライマリパスと共有しているリンクとノードの数(Head-end, Tail-endは除く)なので、この構成の場合0となる。
R1#show mpls traffic-eng tunnels tunnel 123 protection R1->R2->R3 LSP Head, Tunnel123, Admin: up, Oper: up Src 10.10.10.1, Dest 10.10.10.3, Instance 5 Fast Reroute Protection: None Path Protection: 0 Common Link(s), 0 Common Node(s) Primary lsp path:192.168.1.1 192.168.1.2 192.168.2.1 192.168.2.2 10.10.10.3 Protect lsp path:192.168.3.1 192.168.3.2 192.168.4.2 192.168.4.1 10.10.10.3 Path Protect Parameters: Bandwidth: 150 kbps (Global) Priority: 7 7 Affinity: 0x0/0xFFFF Metric Type: TE (default) InLabel : - OutLabel : Ethernet0/1, 16 RSVP Signalling Info: Src 10.10.10.1, Dst 10.10.10.3, Tun_Id 123, Tun_Instance 9 RSVP Path Info: My Address: 192.168.3.1 Explicit Route: 192.168.3.2 192.168.4.2 192.168.4.1 10.10.10.3 Record Route: Tspec: ave rate=150 kbits, burst=1000 bytes, peak rate=150 kbits RSVP Resv Info: Record Route: 192.168.4.2 192.168.4.1 Fspec: ave rate=150 kbits, burst=1000 bytes, peak rate=150 kbits
Primary lspとProtect lspの経路情報が登録されている。
R1#show ip rsvp interface interface rsvp allocated i/f max flow max sub max VRF Et0/0 ena 150K 300K 300K 0 Et0/1 ena 150K 300K 300K 0 R1#show ip rsvp reservation To From Pro DPort Sport Next Hop I/F Fi Serv BPS 10.10.10.3 10.10.10.1 0 123 5 192.168.1.2 Et0/0 SE LOAD 150K 10.10.10.3 10.10.10.1 0 123 9 192.168.3.2 Et0/1 SE LOAD 150K
Et0/1側も帯域がallocatedになった。セカンダリの分のreservationも登録されている。
R4#show mpls forwarding-table Local Outgoing Prefix Bytes Label Outgoing Next Hop Label Label or Tunnel Id Switched interface 16 Pop Label 10.10.10.1 123 [9] \ 0 Et0/1 192.168.4.1
R4のmpls forwarding-tableを確認。確かに登録されている。
動作確認
R2のEthernet0/1をshut
してみる。
R2(config)#int e 0/1 R2(config-if)#shut R2(config-if)# *Jan 30 06:11:18.905: %OSPF-5-ADJCHG: Process 1, Nbr 192.168.4.1 on Ethernet0/ 1 from FULL to DOWN, Neighbor Down: Interface down or detached R2(config-if)# *Jan 30 06:11:20.899: %LINK-5-CHANGED: Interface Ethernet0/1, changed state to administratively down *Jan 30 06:11:21.908: %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet 0/1, changed state to down
tunnel 123のプロテクション状態を確認
R1#show mpls traffic-eng tunnels tunnel 123 protection R1->R2->R3 LSP Head, Tunnel123, Admin: up, Oper: up Src 10.10.10.1, Dest 10.10.10.3, Instance 9 Fast Reroute Protection: None Path Protection: Backup lsp in use.
Path Protection: Backup lsp in use.
となり、セカンダリが使われていることがわかる。
R1#traceroute 10.10.10.3 Type escape sequence to abort. Tracing the route to 10.10.10.3 VRF info: (vrf in name/id, vrf out name/id) 1 192.168.3.2 [MPLS: Label 16 Exp 0] 0 msec 2 msec 1 msec 2 192.168.4.1 1 msec 1 msec *
セカンダリパスを使って通信が行われている。
R1#show mpls traffic-eng tunnels (中略) InLabel : - OutLabel : Ethernet0/1, 16 RSVP Signalling Info: Src 10.10.10.1, Dst 10.10.10.3, Tun_Id 123, Tun_Instance 9 RSVP Path Info: My Address: 192.168.3.1 Explicit Route: 192.168.3.2 192.168.4.2 192.168.4.1 10.10.10.3 Record Route: Tspec: ave rate=150 kbits, burst=1000 bytes, peak rate=150 kbits RSVP Resv Info: Record Route: 192.168.4.2 192.168.4.1 Fspec: ave rate=150 kbits, burst=1000 bytes, peak rate=150 kbits History: Tunnel: Time since created: 54 minutes, 58 seconds Time since path change: 5 minutes, 29 seconds Number of LSP IDs (Tun_Instances) used: 9 Current LSP: Uptime: 27 minutes, 42 seconds Selection: Prior LSP: ID: path option 10 [5] Removal Trigger: path error Last Error: PCALC:: No addresses to connect 10.10.10.2 to 10.10.10.3
Explicit Routeがセカンダリのものになっている。また、History欄に10.10.10.2-10.10.10.3間で疎通が取れなくなったことが記録されている。
R1#show ip rsvp int interface rsvp allocated i/f max flow max sub max VRF Et0/0 ena 0 300K 300K 0 Et0/1 ena 150K 300K 300K 0
帯域割り当てもプライマリ側は解除されている。
参考
- https://www.janog.gr.jp/meeting/janog14/src/JANOG14-mpls.pdf
- https://www.nic.ad.jp/ja/materials/iw/2003/proceedings/T19-5.pdf
- https://www.janog.gr.jp/meeting/janog33/doc/janog33-mpls-tsuchiya-1.pdf
- Cisco Content Hub - MPLS Traffic Engineering (TE) Path Protection
- Without haste, but without rest.
- MPLS-TEの設定 その1 | ♪メモのページ♪