This is another series of my learning journey on MPLS…Main focus is to provide an alternative ways on how to enable MPLS using the LDP protocols through OSPF…This is an another method to enable LDP aside from configuring using “mpls ip” with all the participating interfaces in the Service Provider…Label Distribution Protocol is the industry standard protocol to run MPLS…Cisco’s proprietary protocol is known as TDP or Tag Distribution Protocol.
So here’s my topology for this laboratory…
So here’s my OSPF configurations:
R1#sh run | sec ospf
router ospf 1
network 1.1.1.1 0.0.0.0 area 0
network 172.16.12.0 0.0.0.255 area 0
R2#sh run | sec ospf
router ospf 1
network 2.2.2.2 0.0.0.0 area 0
network 172.16.12.0 0.0.0.255 area 0
network 172.16.23.0 0.0.0.255 area 0
R3#sh run | sec ospf
router ospf 1
network 3.3.3.3 0.0.0.0 area 0
network 172.16.23.0 0.0.0.255 area 0
Let’s check the OSPF neighbors from R2:
R2#show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
3.3.3.3 0 FULL/ – 00:00:34 172.16.23.3 Serial2/1
172.16.12.1 0 FULL/ – 00:00:30 172.16.12.1 Serial2/0
R2#
Now, let me enable LDP under OSPF process using the command “mpls ldp autoconfig”:
R1(config)#router ospf 1
R1(config-router)#mpls ldp ?
autoconfig Configure LDP automatic configuration
sync Configure LDP-IGP Synchronization
R1(config-router)#mpls ldp autoconfig
R2(config-if)#router ospf 1
R2(config-router)#mpls ldp autoconfig
R3(config)#router ospf 1
R3(config-router)#mpls ldp autoconfig
Now, I can see that the LDP neighbors were UP..
R1(config-router)#
*Oct 18 17:13:39.647: %LDP-5-NBRCHG: LDP Neighbor 2.2.2.2:0 (1) is UP
R1(config-router)#^Z
R2(config-router)#
*Oct 18 17:13:51.991: %LDP-5-NBRCHG: LDP Neighbor 3.3.3.3:0 (2) is UP
R3(config-router)#
*Oct 18 17:13:50.931: %LDP-5-NBRCHG: LDP Neighbor 2.2.2.2:0 (1) is UP
R3(config-router)#^Z
One way to check whether the LDP is enabled on the interface is using the command “show mpls interface”..
R1#show mpls interfaces
Interface IP Tunnel BGP Static Operational
Serial2/0 Yes (ldp) No No No Yes
R1#
R2#show mpls interfaces
Interface IP Tunnel BGP Static Operational
Serial2/0 Yes (ldp) No No No Yes
Serial2/1 Yes (ldp) No No No Yes
R2#
R3#show mpls interfaces
Interface IP Tunnel BGP Static Operational
Serial2/1 Yes (ldp) No No No Yes
R3#
Let me LDP neighbor status from R2 using the command “show mpls ldp neighbor”
R2#show mpls ldp neighbor
Peer LDP Ident: 1.1.1.1:0; Local LDP Ident 2.2.2.2:0
TCP connection: 1.1.1.1.646 – 2.2.2.2.26066
State: Oper; Msgs sent/rcvd: 17/17; Downstream
Up time: 00:08:00
LDP discovery sources:
Serial2/0, Src IP addr: 172.16.12.1
Addresses bound to peer LDP Ident:
172.16.12.1 1.1.1.1
Peer LDP Ident: 3.3.3.3:0; Local LDP Ident 2.2.2.2:0
TCP connection: 3.3.3.3.28075 – 2.2.2.2.646
State: Oper; Msgs sent/rcvd: 17/16; Downstream
Up time: 00:07:48
LDP discovery sources:
Serial2/1, Src IP addr: 172.16.23.3
Addresses bound to peer LDP Ident:
172.16.23.3 3.3.3.3
The results shows that R2 has LDP peers to both 1.1.1.1 and 3.3.3.3 with the Peer LDP Identifier…
‘Now, let’s check the FIB Table ( Data Plane) and RIB Table (Control Plane) first”on R1…
FIB table —> This can be check with the “show ip cef”command:
R1#show ip cef 2.2.2.2
2.2.2.2/32
nexthop 172.16.12.2 Serial2/0
R1#show ip cef 3.3.3.3
3.3.3.3/32
nexthop 172.16.12.2 Serial2/0 label 17
RIB Table —> This can be checked with the command “show ip route
R1#show ip route 2.2.2.2
Routing entry for 2.2.2.2/32
Known via “ospf 1”, distance 110, metric 65, type intra area
Last update from 172.16.12.2 on Serial2/0, 00:14:20 ago
Routing Descriptor Blocks:
* 172.16.12.2, from 172.16.23.2, 00:14:20 ago, via Serial2/0
Route metric is 65, traffic share count is 1
R1#show ip route 3.3.3.3
Routing entry for 3.3.3.3/32
Known via “ospf 1”, distance 110, metric 129, type intra area
Last update from 172.16.12.2 on Serial2/0, 00:13:45 ago
Routing Descriptor Blocks:
* 172.16.12.2, from 3.3.3.3, 00:13:45 ago, via Serial2/0
Route metric is 129, traffic share count is 1
Now, since LDP was enable, we can check the LIB and LFIB table….
Let’s check this on R1…..
LIB Table –> we can check this with the command “show mpls ldp bindings
R1#show mpls ldp bindings
lib entry: 1.1.1.0/24, rev 2
local binding: label: imp-null
lib entry: 1.1.1.1/32, rev 11
remote binding: lsr: 2.2.2.2:0, label: 16
lib entry: 2.2.2.0/24, rev 12
remote binding: lsr: 2.2.2.2:0, label: imp-null
lib entry: 2.2.2.2/32, rev 4
local binding: label: 16
lib entry: 3.3.3.3/32, rev 6
local binding: label: 17
remote binding: lsr: 2.2.2.2:0, label: 17
lib entry: 172.16.12.0/24, rev 8
local binding: label: imp-null
remote binding: lsr: 2.2.2.2:0, label: imp-null
lib entry: 172.16.23.0/24, rev 10
local binding: label: 18
remote binding: lsr: 2.2.2.2:0, label: imp-null
Note: We can see that the Label starts at 16 and increments by 1…There were few Label that have value of IMP-NULL or Implicit Null..Another value for this is EXP-Null…
Let me check the LFIB ( Label Forwarding Information Based):
R1#show mpls forwarding-table
Local Outgoing Prefix Bytes Label Outgoing Next Hop
Label Label or Tunnel Id Switched interface
16 No Label 2.2.2.2/32 0 Se2/0 point2point
17 17 3.3.3.3/32 0 Se2/0 point2point
18 Pop Label 172.16.23.0/24 0 Se2/0 point2point
R1#
Now, let me try to change the Label numbers on the three routers…
R1:
mpls label range 100 200
R2:
mpls label range 200 300
R3:
mpls label range 300 400
I have to restart the router to have the new Label Take effect:
R1#show mpls forwarding-table
Local Outgoing Prefix Bytes Label Outgoing Next Hop
Label Label or Tunnel Id Switched interface
100 200 3.3.3.3/32 0 Se2/0 point2point
101 No Label 2.2.2.2/32 0 Se2/0 point2point
102 Pop Label 172.16.23.0/24 0 Se2/0 point2point
Let’s see what’s the Label of 3.3.3.3/32 in R2..`the local Label is 200 as this is the starting value of label range which I set up in R2…There’s no outgoing label in this case…
R2#show mpls forwarding-table
Local Outgoing Prefix Bytes Label Outgoing Next Hop
Label Label or Tunnel Id Switched interface
200 No Label 3.3.3.3/32 0 Se2/1 point2point
201 No Label 1.1.1.1/32 0 Se2/0 point2point
Summary:
1. Aside from configuring “mpls ip”under the participating interface to enable LDP, we can enable LDP using the commands “mpls ldp autoconfig”.
2. We can change the Labels value on each LSR with the command “mpls label range”.
*****************END OF LAB*****************************************

Leave a comment