Juniper Lab I part 2

In the previous post we configured the interfaces, ospf and bgp. In this post we will configure rsvp, mpls, mbgp. In the next post we will configure routing-instances.

Below is the lab topology used for this lab :

Juniper-Lab-LSP

Since I prefer rsvp-signaled lsp’s over ldp based mpls we will set it up like this. First thing to do is to activate the signalling protocol, rsvp in this case, on all relevant interfaces. See below :

RSVP:


Router 1 :
set protocols rsvp interface fxp3.120
set protocols rsvp interface fxp2.130

Router 2 :
set protocols rsvp interface fxp4.120
set protocols rsvp interface fxp2.240

Router 3 :
set protocols rsvp interface fxp1.130
set protocols rsvp interface fxp4.340

Router 4 :
set protocols rsvp interface fxp2.340
set protocols rsvp interface fxp1.240
    

Also we should enable MPLS on the relevant interfaces, see below :

MPLS:


Router 1 :
set interfaces fxp2 unit 130 family mpls <-- this is to support the mpls address family
set interfaces fxp3 unit 120 family mpls
set protocols mpls interface all  <-- this is to enable the mpls protocol on all the interfaces

Router 2 :
set interfaces fxp2 unit 240 family mpls
set interfaces fxp4 unit 120 family mpls
set protocols mpls interface all

Router 3 :
set interfaces fxp1 unit 130 family mpls
set interfaces fxp4 unit 340 family mpls
set protocols mpls interface all

Router 4 :
set interfaces fxp1 unit 240 family mpls
set interfaces fxp2 unit 340 family mpls
set protocols mpls interface all
    

OSPF traffic engineering support

When traffic engineering is enabled on the routing device, you can enable OSPF traffic engineering support, which allows OSPF to generate LSAs that carry traffic engineering parameters. These parameters are used to create the traffic engineering database, which is used by Constrained Shortest Path First (CSPF) to compute MPLS LSPs. WIth ISIS it is turned on by default, with OSPF it is not.
But since we are going to explicitly tell MPLS what path to take there is no need to turn it on.

To make sure BGP can carry Multiprotocol BGP information the following commend is issued on Router 1 and Router 4 :
MpBGP:


set protocols bgp group internal family inet-vpn unicast
    

Router 2 and 3 are just stupid transit routers so they don’t need to take part in BGP.

The next thing to do is to define the MPLS LSP’s.

Path’s:


On Router 1 :
set protocols mpls label-switched-path R1-to-R4 to 4.4.4.4
set protocols mpls label-switched-path R1-to-R4 no-cspf
set protocols mpls label-switched-path R1-to-R4 primary PRIMARY-TO-R4
set protocols mpls label-switched-path R1-to-R4 secondary SECONDARY-TO-R4 standby
set protocols mpls path PRIMARY-TO-R4 10.0.12.2 strict
set protocols mpls path SECONDARY-TO-R4 10.0.13.3 strict
set protocols mpls path SECONDARY-TO-R4 10.0.34.4 strict

On Router 4 :
set protocols mpls label-switched-path R4-to-R1 to 1.1.1.1
set protocols mpls label-switched-path R4-to-R1 no-cspf
set protocols mpls label-switched-path R4-to-R1 primary PRIMARY-TO-R1
set protocols mpls label-switched-path R4-to-R1 secondary SECONDARY-TO-R1 standby
set protocols mpls path PRIMARY-TO-R1 10.0.24.2 strict
set protocols mpls path SECONDARY-TO-R1 10.0.34.3 strict
set protocols mpls path SECONDARY-TO-R1 10.0.13.1 strict
    

Now we can check on the routers if the MPLS LSPs are visible :

Show mpls path’s:


Router 1 :
chris@IPLOGIC-1# run show mpls lsp brief
Ingress LSP: 1 sessions
To              From            State Rt ActivePath       P     LSPname
4.4.4.4         1.1.1.1         Up     0 PRIMARY-TO-R4    *     R1-to-R4
Total 1 displayed, Up 1, Down 0

Egress LSP: 2 sessions
To              From            State   Rt Style Labelin Labelout LSPname
1.1.1.1         4.4.4.4         Up       0  1 FF       3        - R4-to-R1
1.1.1.1         4.4.4.4         Up       0  1 FF       3        - R4-to-R1
Total 2 displayed, Up 2, Down 0

Transit LSP: 0 sessions
Total 0 displayed, Up 0, Down 0
    

Router 2 :
chris@IPLOGIC-2# run show mpls lsp transit
Transit LSP: 2 sessions
To              From            State   Rt Style Labelin Labelout LSPname
1.1.1.1         4.4.4.4         Up       1  1 FF  100192        3 R4-to-R1
4.4.4.4         1.1.1.1         Up       1  1 FF  100176        3 R1-to-R4
Total 2 displayed, Up 2, Down 0
    

Router 3 :
chris@IPLOGIC-3# run show mpls lsp transit
Transit LSP: 2 sessions
To              From            State   Rt Style Labelin Labelout LSPname
1.1.1.1         4.4.4.4         Up       1  1 FF  100160        3 R4-to-R1
4.4.4.4         1.1.1.1         Up       1  1 FF  100144        3 R1-to-R4
Total 2 displayed, Up 2, Down 0
    

Router 4 :
chris@IPLOGIC-4# run show mpls lsp brief
Ingress LSP: 1 sessions
To              From            State Rt ActivePath       P     LSPname
1.1.1.1         4.4.4.4         Up     0 PRIMARY-TO-R1    *     R4-to-R1
Total 1 displayed, Up 1, Down 0

Egress LSP: 2 sessions
To              From            State   Rt Style Labelin Labelout LSPname
4.4.4.4         1.1.1.1         Up       0  1 FF       3        - R1-to-R4
4.4.4.4         1.1.1.1         Up       0  1 FF       3        - R1-to-R4
Total 2 displayed, Up 2, Down 0

Transit LSP: 0 sessions
Total 0 displayed, Up 0, Down 0    

If we take a closer look at the LSP like below we can see the two specified path’s :

Juniper-Lab-LSP


Router 1 :
chris@IPLOGIC-1# run show mpls lsp name R1-to-R4 detail
Ingress LSP: 1 sessions

4.4.4.4
  From: 1.1.1.1, State: Up, ActiveRoute: 0, LSPname: R1-to-R4
  ActivePath: PRIMARY-TO-R4 (primary)
  LoadBalance: Random
  Encoding type: Packet, Switching type: Packet, GPID: IPv4
 *Primary   PRIMARY-TO-R4    State: Up
    SmartOptimizeTimer: 180
    Received RRO (ProtectionFlag 1=Available 2=InUse 4=B/W 8=Node 10=SoftPreempt):
          10.0.12.2 10.0.24.4
  Standby   SECONDARY-TO-R4  State: Up
    SmartOptimizeTimer: 180
    Received RRO (ProtectionFlag 1=Available 2=InUse 4=B/W 8=Node 10=SoftPreempt):
          10.0.13.3 10.0.34.4
Total 1 displayed, Up 1, Down 0

Egress LSP: 2 sessions
Total 0 displayed, Up 0, Down 0

Transit LSP: 0 sessions
Total 0 displayed, Up 0, Down 0    

In the next post I will show how to configure vrf’s (routing-instances).