Hey Folks, after long period here i come with a simple lab for the MPLS Configuration over the Cisco IOS, we discussed alot regarding MPLS and it’s impact on network but here we will start from the basic configuration of frame-mode MPLS and basic requirements for setting and establishment of MPLS over the a simple modified ISP network.
In the scenario we have 6 Routers from which 2 is dedicated to the Customer Site and R1 – R4 belongs to ISP, where R1 and R4 act as a Edge LSR, R2 and R3 act as LSR only for label switching.
Below is the Diagram which will be used onward:
We will use OSPF as a Routing Protocol on all the above devices internally, the basic configuration are the IP Address Assignments which are as below:
Below is the initial Configuration on Router 2:
Below is Initial Configuration on Router 3:
And Finally here is R4 Configuration:
We have full reachibility from R1’s Loopback to R4’s Loopback and all the path in middle.
Next we will start the steps to successfully deploy MPLS on our network by following below steps:
- Enable CEF (Cisco Express Forwarding )
CEF is an essential component for label switching and is responsible for imposition and disposition of labels in an MPLS network. Configure CEF globally on routers R1, R2, R3, and R4 by issuing the ip cef [distributed] command. Ensure that CEF is not disabled on the interface. If disabled, enable CEF on the interface by issuing ip route-cache cef in interface mode. Use the distributed keyword in the global configuration mode for Cisco platform capable of distributed CEF switching.
- Define Label Distribution Protocol
Enabling the label distribution protocol is an optional step. TDP is deprecated, and by default, LDP is the label distribution protocol. The command mpls label protocol {ldp | tdp} is configured only if LDP is not the default label distribution protocol or if you are reverting from LDP to TDP protocol or vice versa. The command can be configured in the global as well as in the interface configuration mode. The interface configuration command will, however, override the global configuration.
- Assign LDP Router ID
LDP uses the highest IP address on a loopback interface as the LDP router ID. If there is no loopback address defined, the highest IP address on the router becomes the LDP router ID. To force an interface to be an LDP router ID, mpls ldp router-id interface-type number command can be used. The loopback interface address is recommended because it always remains up. Configure the loopback 0 interface on the routers to be the LDP router ID
- Configure MPLS or Label Forwarding on Interface
I will go through all the above steps as below:
You can verify your configuration with the following commands to ensure you have properly configured and followed above steps:
- Show ip Cef
- Show Cef interface serial 1/0
- Show Cef interface serial 1/1
- Show MPLS interfaces
- Show MPLS Ldp discovery
- Show MPLS Ldp neighbor
Next we will proceed with Control and Data Plane Forwarding in the Basic above configuration by following below steps:
When you issue the command (Show mpls ldp binding) to verify the label switching on R1 you see as below that R1 sends an implicit null or the POP label to R2. A value of 3 represents the implicit-null label. R1 propagates the implicit-null label to its penultimate Router R2, which performs the POP function in the data forwarding from R4 to 10.10.10.101/32. If R1 propagates an explicit-null label, the upstream LSR R2 does not POP the label but assigns a label value of 0 and sends a labeled packet to R2.
Moving to R2 when you verify the forwarding-table of MPLS on Router 2 as below you can see R2 assigning an LSP label 17 to 10.10.10.101/32. This label value is propagated to R3. This label value is imposed by R3 in the data forwarding path (for example, a packet originating from R4 to prefix 10.10.10.101/32 on R1).
On R3 we see that prefix 10.10.10.101/32 has been assigned a local label of 17 and an outgoing label of 17. The outgoing label is received from the Router R2. The local label of 18 has been propagated during label distribution to Router R4. Label 17 is used by R4 in the data forwarding path for data destined to prefix 10.10.10.101/32 located on R1 from R4.
As we see below that R4 imposes label 17 on the data packet originating from R4 destined to 10.10.10.101/32.
Following Steps are performed in the Data Forwarding Path from R4 to the prefix 10.10.10.101/32.
- As shown above R4 imposes label 18 on the data packet originating from R4 destined to 10.10.10.101/32.
- R3 does an LFIB lookup and swaps label 17 for 16 and forwards that data packet to R2.
- R2 receives the data packet from R3, does a penultimate hop pop function, removes label 16, and forwards the data packet to R1.
The Configuration on Customer Site is only applying IP addresses and default route towards their gateways in this case R1 and R4, let’s see the configuration on Customer Site-A:
On R1 i have redistributed Interface ethernet 0/0 with Route-map as below:
The same configuration is vice-versa from Customer Site-B through Site-A as below:
You can verify End to End reachibility by issuance of Ping packet from Site-A toward Site-B.
Cheers,