How to Deploy CSFP on Juniper
You most likely have heard of OSPF before. OSPF stands for Open Shortest Path First. It's an algorithm used by the Interior Gateway Protocol in routers to move network traffic from one point to another as quickly as possible.
CSPF takes the OSPF protocol a step further, though. With CSPF, network admins can define constraints for a network connection, like the minimum amount of network bandwidth that a connection needs. Then, CSPF looks at those constraints and removes any network paths that do not meet that criterion. So, today we are going to walk through how to deploy CSPF on Juniper devices.
What is CSPF?
CSPF stands for Constrained Shortest Past First. To fully understand what that means, you need to know what Shortest Path First is. Shortest Path First is an algorithm built into network routers. It is used to decide how to route traffic through a network using Link State Routing. Technically, it's part of the IGP or Interior Gateway Protocol. Shortest Path First simply finds the path with the fewest hops from point A to point B for a packet.
CSPF adds additional criteria to the Shortest Path First protocol. With CSPF, a constraint is defined in the MPLS configuration. These constraints are typically things like the minimum amount of required bandwidth needed for a connection. For example, you may need a minimum of 300Mb of bandwidth available. CSPF will first look at those constraints and then eliminate any path through the network that does not meet its minimum criteria.
How to Deploy CSPF on Juniper Routers
Enabling CSPF on your Juniper devices is straightforward. First, you will need to edit the configuration for your networking devices through the command-line interface. Let's walk through the process.
We should note that simply editing your network configuration will not enable CSPF by itself. Your routers will not use CSPF unless a constraint is defined, such as a minimum required bandwidth. So, make sure that you specify a minimum necessary bandwidth first.
Go ahead and launch your favorite SSH tool like Putty. Then log into your Juniper router. For the sake of demonstration, enter the command 'show configuration protocols'.
That command will print the current configuration for your device in the terminal window. In that configuration, look for a line called 'no-cspf.' It may be under the MPLS configuration block.
This specific line is the line that disabled CSPF in your router. Our goal is to remove that line from the MPLS configuration block. So, go ahead and enter edit mode in your router by entering the command 'edit.'
Next, enter the command 'delete protocols mpls no-cspf.' That will delete the 'no-cspf' configuration line from the MPLS configuration block. We aren't entirely done yet, though.
We need to save that configuration and clear the current RSVP session. So, enter the command 'commit and-quit.' Then enter 'clear rsvp session all.' That will save your configuration changes as well as clear the current connection state from your router.
Your router will take a little time to flush the RSVP state and bring up its state again. You can verify this by using the command 'show rsvp session'. Once the RSVP state is back up, you are good to go.
Simply clearing that 'no-CSPF ' configuration parameter will tell your Juniper routers to use the CSPF protocol. It happens automatically if your router configuration defines a bandwidth constraint. If a constraint is not specified, CSPF is not used.
An Overview of How to Deploy CSPF on Juniper [Video]
In this video, Knox Hutchinson covers the algorithm that Juniper devices use to build shortest path first (or SPF) routes. Before you watch, it’s assumed you know something already about CFSP and how it interacts with the IGP and the TED to build its own shortest path first tree. In this video, you’ll learn about the limitations that define how that algorithm builds the SPF tree.
Deploying CSPF to Juniper devices is not difficult. CSPF depends on MPLS, so we need to edit the MPLS configuration block in your Juniper devices. You are going to be looking for a line called 'no-CSPF' in that configuration.
To remove that line from the MPLS configuration block, use the command-line environment in Edit mode while connected to your Juniper router and enter the command 'delete protocols mpls no-cspf.' After deleting that configuration line, save the editing MPLS configuration with 'commit and-quit.' Then enter 'clear rsvp session all' to reset the RSVP link state.
Keep in mind that CSPF stands for Constrained Shortest Path First. It depends on MPLS labels to route traffic properly. Before Juniper routers use CSPF, you need to define a constraint first, such as a required minimum amount of bandwidth. CSPF works by identifying those constraints and removing any network paths that do not meet that criterion. Then the Shortest Path protocol uses any remaining network paths to route traffic.
Would you like to learn more about network administration with Juniper devices? If so, you might be interested in our training that takes a deep dive into MPLS for Juniper.