Node and link protection is a mechanism for protecting LSPs from (you guessed it) the failure of nodes and links. It differs from fast re-route in that you have to specify node and link protection on the interfaces of all the downstream routers as well as on the LSP at its source.
My network looks like this at the moment, with an LSP running from R5 to R1 using the shortest path determined by the IGP:
So on R5, I configure node-link-protection on the LSP:
root@R5> show configuration protocols mpls no-propagate-ttl; label-switched-path R5-to-R1 { to 10.0.6.1; node-link-protection; } interface ge-0/0/0.0; interface ge-0/0/1.0;
This has the effect of signalling to the downstream routers that link and node protection is desired, as you can see here:
root@R5> show mpls lsp name R5-to-R1 detail
Ingress LSP: 6 sessions
10.0.6.1
From: 10.0.3.5, State: Up, ActiveRoute: 0, LSPname: R5-to-R1
ActivePath: (primary)
Node/Link protection desired <===== Node Link Protection
LSPtype: Static Configured, Penultimate hop popping
LoadBalance: Random
Encoding type: Packet, Switching type: Packet, GPID: IPv4
*Primary State: Up
Priorities: 7 0
SmartOptimizeTimer: 180
Computed ERO (S [L] denotes strict [loose] hops): (CSPF metric: 2)
10.0.2.2 S 10.0.4.14 S
Received RRO (ProtectionFlag 1=Available 2=InUse 4=B/W 8=Node 10=SoftPreempt 20=Node-ID):
10.0.3.3(flag=0x20) 10.0.2.2(Label=299808) 10.0.6.1(flag=0x20) 10.0.4.14(Label=3)
Total 1 displayed, Up 1, Down 0
So that’s fine. When we move on to look at the LSP as it transits R3, however, we see that the desired protection is down. Nicely, Junos is telling us why (if you use the extensive option):
root@R3> show mpls lsp name R5-to-R1 extensive Ingress LSP: 6 sessions Total 0 displayed, Up 0, Down 0 Egress LSP: 6 sessions Total 0 displayed, Up 0, Down 0 Transit LSP: 8 sessions 10.0.6.1 From: 10.0.3.5, LSPstate: Up, ActiveRoute: 0 LSPname: R5-to-R1, LSPpath: Primary Suggested label received: -, Suggested label sent: - Recovery label received: -, Recovery label sent: 3 Resv style: 1 SE, Label in: 299808, Label out: 3 Time left: 143, Since: Thu Nov 6 04:37:39 2014 Tspec: rate 0bps size 0bps peak Infbps m 20 M 1500 Port number: sender 1 receiver 3217 protocol 0 Node/Link protection desired Type: Protection down <<=== Protection down - see the explanation on the next line 1 Nov 6 06:30:12 Link protection disabled on outbound interface[153 times] PATH rcvfrom: 10.0.2.1 (ge-0/0/3.0) 185 pkts Adspec: received MTU 1500 sent MTU 1500 PATH sentto: 10.0.4.14 (ge-0/0/2.0) 185 pkts RESV rcvfrom: 10.0.4.14 (ge-0/0/2.0) 182 pkts, Entropy label: No Explct route: 10.0.4.14 Record route: 10.0.2.1 <self> 10.0.6.1 (node-id) 10.0.4.14 Total 1 displayed, Up 1, Down 0
Jolly good. So let’s enable node-link protection on the MPLS interfaces on the transit router R3:
root@R3> edit Entering configuration mode [edit] root@R3# set protocols rsvp interface ge-0/0/2 link-protection [edit] root@R3# set protocols rsvp interface ge-0/0/1 link-protection [edit] root@R3# set protocols rsvp interface ge-0/0/0 link-protection [edit] root@R3# commit and-quit commit complete Exiting configuration mode root@R3>
Now look at the LSP again and we can see protection is active and a bypass LSP exists:
root@R3> show mpls lsp name R5-to-R1 extensive Ingress LSP: 6 sessions Total 0 displayed, Up 0, Down 0 Egress LSP: 6 sessions Total 0 displayed, Up 0, Down 0 Transit LSP: 8 sessions 10.0.6.1 From: 10.0.3.5, LSPstate: Up, ActiveRoute: 0 LSPname: R5-to-R1, LSPpath: Primary Suggested label received: -, Suggested label sent: - Recovery label received: -, Recovery label sent: 3 Resv style: 1 SE, Label in: 299808, Label out: 3 Time left: 148, Since: Thu Nov 6 04:37:39 2014 Tspec: rate 0bps size 0bps peak Infbps m 20 M 1500 Port number: sender 1 receiver 3217 protocol 0 Node/Link protection desired Type: Link protected LSP, using Bypass->10.0.4.14 <<=== LSP is now protected 2 Nov 6 06:57:06 Link protection up, using Bypass->10.0.4.14 1 Nov 6 06:30:12 Link protection disabled on outbound interface[153 times] PATH rcvfrom: 10.0.2.1 (ge-0/0/3.0) 196 pkts Adspec: received MTU 1500 sent MTU 1500 PATH sentto: 10.0.4.14 (ge-0/0/2.0) 195 pkts RESV rcvfrom: 10.0.4.14 (ge-0/0/2.0) 191 pkts, Entropy label: No Explct route: 10.0.4.14 Record route: 10.0.2.1 <self> 10.0.6.1 (node-id) 10.0.4.14 Total 1 displayed, Up 1, Down 0
To check this is working we can deactivate a link and watch R3 create a bypass:
root@R3> edit Entering configuration mode [edit] root@R3# deactivate interfaces ge-0/0/2 <== The currently-used interface for this LSP to R1 [edit] root@R3# commit and-quit commit complete Exiting configuration mode root@R3> show mpls lsp name R5-to-R1 extensive Ingress LSP: 6 sessions Total 0 displayed, Up 0, Down 0 Egress LSP: 6 sessions Total 0 displayed, Up 0, Down 0 Transit LSP: 9 sessions 10.0.6.1 From: 10.0.3.5, LSPstate: Dn, ActiveRoute: 0 LSPname: R5-to-R1, LSPpath: Primary Suggested label received: -, Suggested label sent: - Recovery label received: -, Recovery label sent: - Resv style: 0 -, Label in: 299808, Label out: - Time left: 156, Since: Thu Nov 6 04:37:39 2014 Tspec: rate 0bps size 0bps peak Infbps m 20 M 1500 Port number: sender 1 receiver 3217 protocol 0 Node/Link protection desired Type: Link protected LSP, using Bypass->10.0.4.14 5 Nov 6 07:03:18 Backup LSP: Up 10.0.4.5 4 Nov 6 07:03:18 Backup LSP: Record Route: 10.0.4.5 3 Nov 6 07:03:17 Creating backup LSP, link down 2 Nov 6 06:57:06 Link protection up, using Bypass->10.0.4.14 1 Nov 6 06:30:12 Link protection disabled on outbound interface[153 times] PATH rcvfrom: 10.0.2.1 (ge-0/0/3.0) 202 pkts Adspec: received MTU 1500 sent MTU 1500 PATH sentto: [no route] Explct route: 10.0.4.14 Record route: 10.0.2.1 <self> ...incomplete Total 1 displayed, Up 0, Down 1 root@R3>
In fact it’s easier to see in summary mode – you can see the bypass has been created for a number of LSPs that are all affected by the same ‘failure’:
Transit LSP: 8 sessions To From State Rt Style Labelin Labelout LSPname 10.0.3.4 10.0.6.2 Up 0 1 SE 299936 3 Bypass->10.0.4.9 10.0.3.5 10.0.6.2 Up 0 1 SE 299840 3 R2-to-R5 10.0.3.5 10.0.6.2 Up 0 1 SE 299904 3 Bypass->10.0.4.9->10.0.2.9 10.0.3.5 10.0.6.1 Up 0 1 SE 299968 3 R1-to-R5 10.0.6.1 10.0.6.2 Up 0 1 SE 299984 3 Bypass->10.0.4.5 10.0.6.1 10.0.9.6 Up 0 1 SE 299952 299840 R6-to-R1 10.0.6.2 10.0.3.5 Up 0 1 SE 299824 3 R5-to-R2 10.0.6.2 10.0.9.6 Up 0 1 SE 299872 3 R6-to-R2
Leave a comment