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

Quote of the week

"People ask me what I do in the winter when there's no baseball. I'll tell you what I do. I stare out the window and wait for spring."

~ Rogers Hornsby