“BGP Free Core” is a typical topology in MPLS Service Provider Networks where you run IGP+Label. This allows traffic to transit over devices which don’t know traffic final destination, instead they look only for labels, bring more performance at the end. MPLS allow applications such as L2VPN, L3VPN and much more.
Normal Forwarding
In normal forwarding traffic towards to destination will go hop-by-hop (lookup next-hop) until reach destination
R4#show ip route
Codes: L – local, C – connected, S – static, R – RIP, M – mobile, B – BGP
D – EIGRP, EX – EIGRP external, O – OSPF, IA – OSPF inter area
N1 – OSPF NSSA external type 1, N2 – OSPF NSSA external type 2
E1 – OSPF external type 1, E2 – OSPF external type 2
i – IS-IS, su – IS-IS summary, L1 – IS-IS level-1, L2 – IS-IS level-2
ia – IS-IS inter area, * – candidate default, U – per-user static route
o – ODR, P – periodic downloaded static route, H – NHRP, l – LISP
a – application route
+ – replicated route, % – next hop override
Gateway of last resort is not set
10.0.0.0/8 is variably subnetted, 20 subnets, 2 masks
i L2 10.1.1.1/32 [115/30] via 10.4.12.12, 00:13:18, GigabitEthernet1.412
[115/30] via 10.2.4.2, 00:13:18, GigabitEthernet1.24
i L2 10.1.2.0/24 [115/20] via 10.2.4.2, 00:13:18, GigabitEthernet1.24
i L2 10.1.11.0/24 [115/30] via 10.4.12.12, 00:13:18, GigabitEthernet1.412
[115/30] via 10.2.4.2, 00:13:18, GigabitEthernet1.24
i L2 10.1.12.0/24 [115/20] via 10.4.12.12, 00:15:50, GigabitEthernet1.412
i L2 10.2.2.2/32 [115/20] via 10.2.4.2, 00:13:18, GigabitEthernet1.24
C 10.2.4.0/24 is directly connected, GigabitEthernet1.24
L 10.2.4.4/32 is directly connected, GigabitEthernet1.24
i L2 10.2.11.0/24 [115/20] via 10.2.4.2, 00:13:18, GigabitEthernet1.24
i L2 10.2.12.0/24 [115/20] via 10.4.12.12, 00:13:18, GigabitEthernet1.412
[115/20] via 10.2.4.2, 00:13:18, GigabitEthernet1.24
i L2 10.2.13.0/24 [115/20] via 10.4.13.13, 00:13:18, GigabitEthernet1.413
[115/20] via 10.2.4.2, 00:13:18, GigabitEthernet1.24
C 10.4.4.4/32 is directly connected, Loopback0
C 10.4.12.0/24 is directly connected, GigabitEthernet1.412
L 10.4.12.4/32 is directly connected, GigabitEthernet1.412
C 10.4.13.0/24 is directly connected, GigabitEthernet1.413
L 10.4.13.4/32 is directly connected, GigabitEthernet1.413
i L2 10.11.11.11/32
[115/30] via 10.4.12.12, 00:13:18, GigabitEthernet1.412
[115/30] via 10.2.4.2, 00:13:18, GigabitEthernet1.24
i L2 10.11.12.0/24 [115/20] via 10.4.12.12, 00:15:50, GigabitEthernet1.412
i L2 10.12.12.12/32
[115/20] via 10.4.12.12, 00:15:50, GigabitEthernet1.412
i L2 10.12.13.0/24 [115/20] via 10.4.13.13, 00:15:50, GigabitEthernet1.413
[115/20] via 10.4.12.12, 00:15:50, GigabitEthernet1.412
i L2 10.13.13.13/32
[115/20] via 10.4.13.13, 00:15:50, GigabitEthernet1.413
R4#show ip cef
Prefix Next Hop Interface
0.0.0.0/0 no route
0.0.0.0/8 drop
0.0.0.0/32 receive
10.1.1.1/32 10.2.4.2 GigabitEthernet1.24
10.4.12.12 GigabitEthernet1.412
10.1.2.0/24 10.2.4.2 GigabitEthernet1.24
10.1.11.0/24 10.2.4.2 GigabitEthernet1.24
10.4.12.12 GigabitEthernet1.412
10.1.12.0/24 10.4.12.12 GigabitEthernet1.412
10.2.2.2/32 10.2.4.2 GigabitEthernet1.24
10.2.4.0/24 attached GigabitEthernet1.24
10.2.4.0/32 receive GigabitEthernet1.24
10.2.4.2/32 attached GigabitEthernet1.24
10.2.4.4/32 receive GigabitEthernet1.24
10.2.4.255/32 receive GigabitEthernet1.24
10.2.11.0/24 10.2.4.2 GigabitEthernet1.24
What is the exact path(or multiple)?
R4#trace 10.1.1.1
Type escape sequence to abort.
Tracing the route to 10.1.1.1
VRF info: (vrf in name/id, vrf out name/id)
1 10.2.4.2 3 msec
10.4.12.12 4 msec
10.2.4.2 3 msec
2 10.1.12.1 3 msec
10.1.2.1 3 msec
10.1.12.1 2 msec
CSR-4#show mpls forwarding-table
no MPLS apps enabled or MPLS not enabled on any interfaces
MPLS Forwarding
On MPLS we have LIB and LFIB. LIB essentially holds all the labels and associated information, while LFIB do the forwarding based on incoming labeled packets. CEF is a pre-requirement to run MPLS.
For MPLS the routing table (RIB) still the same as we see on Normal Forwarding.
This is the LFIB table….
Local Outgoing Prefix Bytes Label Outgoing Next Hop
Label Label or Tunnel Id Switched interface
16 Pop Label 10.12.12.12/32 0 Gi1.412 10.4.12.12
17 Pop Label 10.13.13.13/32 0 Gi1.413 10.4.13.13
18 Pop Label 10.1.12.0/24 0 Gi1.412 10.4.12.12
19 Pop Label 10.2.12.0/24 0 Gi1.24 10.2.4.2
Pop Label 10.2.12.0/24 0 Gi1.412 10.4.12.12
20 Pop Label 10.11.12.0/24 0 Gi1.412 10.4.12.12
21 Pop Label 10.12.13.0/24 0 Gi1.412 10.4.12.12
Pop Label 10.12.13.0/24 0 Gi1.413 10.4.13.13
22 Pop Label 10.2.13.0/24 0 Gi1.24 10.2.4.2
Pop Label 10.2.13.0/24 0 Gi1.413 10.4.13.13
23 22 10.11.11.11/32 0 Gi1.24 10.2.4.2
24001 10.11.11.11/32 0 Gi1.412 10.4.12.12
24 16 10.1.1.1/32 0 Gi1.24 10.2.4.2
24003 10.1.1.1/32 0 Gi1.412 10.4.12.12
25 17 10.1.11.0/24 0 Gi1.24 10.2.4.2
24004 10.1.11.0/24 0 Gi1.412 10.4.12.12
26 Pop Label 10.2.11.0/24 0 Gi1.24 10.2.4.2
27 Pop Label 10.1.2.0/24 0 Gi1.24 10.2.4.2
28 Pop Label 10.2.2.2/32 0 Gi1.24 10.2.4.2
Doing a trace to R1 we get a labeled path
Type escape sequence to abort.
Tracing the route to 10.1.1.1
VRF info: (vrf in name/id, vrf out name/id)
1 10.2.4.2 [MPLS: Label 16 Exp 0] 3 msec
10.4.12.12 [MPLS: Label 24003 Exp 0] 10 msec
10.2.4.2 [MPLS: Label 16 Exp 0] 3 msec
2 10.1.12.1 3 msec
10.1.2.1 3 msec *