IMPLEMENTING MPLS
We will use the network topology below to implement MPLS.
Requirement:
GNS3
C7200-ADVIPSERVICESK9-M
Loopback:
PE-LocationA - 11.11.11.11/32
PE-LocationB - 22.22.22.22/32
PE-LocationC - 33.33.33.33/32
MPLS-R1 - 1.1.1.1/32
MPLS-R2 - 2.2.2.2/32
MPLS-R3 - 3.3.3.3/32
MPLS-R4 - 4.4.4.4/32
MPLS-R5 - 5.5.5.5/32
Note:The connection to the CE routers hasn't been configured yet. We'll do that during the progression of this topic.
PE router interface address is shown below:
Below are the interface address for the Provider router.
Since our interface address all are in place, we can now configure dynamic routing via OSPF to advertise the private address of the LSR.
OSPF configuration on the PE Router:
OSPF configuration on the P Router:
After this point we should see the formation of OSPF neighbor relationship on each of the routers.
To further verify, we can trace the path coming from PE-LocationA going to PE-LocationB and PE-LocationC.
At this stage, OSPF is now running on our network we can then add the components to run the MPLS.
Enabling MPLS is quite straight-forward, just issue mpls ip on the global configuration. After this, MPLS should also be enabled on the interface assigned for the Label Switched Path (LSP). For informational purpose, we will assign the router to generate a range for the label that it will create.
On the global cofiguration mode, issue mpls label range <start range> <End range> to assign range on the label that will be created by the LSR.
PE label range:
PE-LocationA: 1000 - 1999 PE-LocationB: 2000 - 2999
PE-LocationC: 3000 - 3999
P label range:
MPLS-R1: 100 - 199
MPLS-R2: 200 - 299
MPLS-R3: 300 - 399
MPLS-R4: 400 - 499
MPLS-R5: 500 - 599
Let's do verification on each of the LSR regarding the local labels being created for the route to the PE-LocationC using the command show mpls ldp bindings 33.33.33.33 32.
Let's also use this trace as a map.
Note: VRF info for PE-LocationA will not be visible because we are currently in it.
LDP bindings will output the local and the remote label assigned by MPLS to route to the 33.33.33.33. PE-LocationC will assign an implicit null (imp-null) on the local binding since it is directly connected.
Let's check the forwarding table to know what is the associated remote label imposed on the local label using show mpls forwarding-table 33.33.33.33.
We can see here the swapping information on the local and outgoing label. It will immediately swap the label when it goes out the outgoing interface. On MPLS-R5, MPLS will perform Penultimate Hop Popping (PHP) which pops the label after it reaches the destination.
Now your MPLS is running on your routers.