In this post we are going to review MPLS networks without VRF. Of course using VRF brings scalability and customer flexibility in address assignment but purpose of this post is something else: Excluding different additional technologies to learn MPLS networks easier with simplicity. The network below is selected for our example, there’s IS-IS + LDP backbone for label distribution and there’s BGP communication between PE and CE devices.
ISIS is chosen for our ATM/Frame-relay backbone. You can review my previous post regarding ISIS on ATM and FR to understand ISIS configuration over ATM and FR data link layers. Here we have eliminated the use of Level-1 areas in ISIS and our presented backbone is pure Level-2 between R1-R2-R4 & R7. The LDP is chosen for label distribution among R1, R2, R4 and R7. BGP is configured between R1 and R7 in AS666. AS3 and AS6 are customer’s networks that are communicating with each other through AS666 (the provider network).

30.0.0.0/24 and 60.0.0.0/24 are customer networks at AS3 and AS6 behind R3 and R6 customer edge routers.
R1 and R7 are iBGP peers within AS666 as PE devices which are peered using their loopback interface so on R1 the next-hop for network 60.0.0.0 is loopback of R7 (7.7.7.7) which goes inside MPLS network and P devices do not use their routing table for the transit traffic but their LFIB. Ok, now lets review the configuration:
- P devices (R2 & R4): basic LDP and IS-IS configuration.
- PE devices (R1 & R7): basic LDP and IS-IS with P neighbors and BGP with each other + BGP with CE customer devices (R3 & R6)
- CE devices (R3 & R6): BGP with their connected PE routers (R1 & R7).
- P routers have no idea customer’s networks and BGP (BGP-free core)
- There’s no redistribution between IS-IS and BGP.
- Customer’s packets are labeled with MPLS to traverse through the core between PE routers. (MPLS single label tunnel between iBGP routers)
P devices configuration:
R2:
!
interface Loopback0
ip address 2.2.2.2 255.255.255.255
ip router isis
!
interface FastEthernet0/0
ip address 150.1.24.2 255.255.255.0
ip router isis
mpls ip
!
interface ATM1/0
ip address 150.1.12.2 255.255.255.0
ip router isis
mpls ip
pvc 201/0
protocol clns 00 broadcast
protocol ip 150.1.12.1 broadcast
!
router isis
net 49.0024.0000.0000.0002.00
is-type level-2-only
!
R4:
!
interface Loopback0
ip address 4.4.4.4 255.255.255.255
ip router isis
!
interface FastEthernet0/0
ip address 150.1.24.4 255.255.255.0
ip router isis
mpls ip
!
interface Serial1/0
ip address 150.1.47.4 255.255.255.0
ip router isis
encapsulation frame-relay
mpls ip
frame-relay map ip 150.1.47.7 407 broadcast
frame-relay map clns 407 broadcast
!
router isis
net 49.0024.0000.0000.0004.00
is-type level-2-only
!
PE devices configuration:
R1:
!
interface Loopback0
ip address 1.1.1.1 255.255.255.255
ip router isis
!
interface FastEthernet0/0
ip address 150.1.13.1 255.255.255.0
!
interface ATM1/0
ip address 150.1.12.1 255.255.255.0
ip router isis
mpls ip
isis circuit-type level-2-only
pvc 102/0
protocol clns 00 broadcast
protocol ip 150.1.12.2 broadcast
!
router isis
net 49.0013.0000.0000.0001.00
is-type level-2-only
!
router bgp 666
no synchronization
neighbor 7.7.7.7 remote-as 666
neighbor 7.7.7.7 update-source Loopback0
neighbor 7.7.7.7 next-hop-self
neighbor 150.1.13.3 remote-as 3
neighbor 150.1.13.3 update-source FastEthernet0/0
no auto-summary
!
R7:
!
interface Loopback0
ip address 7.7.7.7 255.255.255.255
ip router isis
!
interface Serial0/0
ip address 150.1.47.7 255.255.255.0
ip router isis
encapsulation frame-relay
mpls ip
serial restart-delay 0
isis circuit-type level-2-only
frame-relay map clns 704 broadcast
frame-relay map ip 150.1.47.4 704 broadcast
!
interface Serial0/1
ip address 150.1.67.7 255.255.255.0
clock rate 128000
!
router isis
net 49.0067.0000.0000.0007.00
is-type level-2-only
!
router bgp 666
no synchronization
neighbor 1.1.1.1 remote-as 666
neighbor 1.1.1.1 update-source Loopback0
neighbor 1.1.1.1 next-hop-self
neighbor 150.1.67.6 remote-as 6
neighbor 150.1.67.6 update-source Serial0/1
no auto-summary
!
CE devices configuration:
R3:
!
interface Loopback0
ip address 3.3.3.3 255.255.255.255
ip router isis
!
interface Loopback1
ip address 30.0.0.1 255.255.255.0
!
interface FastEthernet0/0
ip address 150.1.13.3 255.255.255.0
mpls ip
!
router bgp 3
no synchronization
network 30.0.0.0 mask 255.255.255.0
neighbor 150.1.13.1 remote-as 666
neighbor 150.1.13.1 update-source FastEthernet0/0
no auto-summary
!
R6:
!
interface Loopback0
ip address 6.6.6.6 255.255.255.255
!
interface Loopback1
ip address 60.0.0.1 255.255.255.0
!
interface Serial0/0
ip address 150.1.67.6 255.255.255.0
serial restart-delay 0
!
router bgp 6
no synchronization
network 60.0.0.0 mask 255.255.255.0
neighbor 150.1.67.7 remote-as 666
neighbor 150.1.67.7 update-source Serial0/0
no auto-summary
!
Routing table on customer’s router
R3:
R3#sh ip route
3.0.0.0/32 is subnetted, 1 subnets
C 3.3.3.3 is directly connected, Loopback0
150.1.0.0/24 is subnetted, 1 subnets
C 150.1.13.0 is directly connected, FastEthernet0/0
60.0.0.0/24 is subnetted, 1 subnets
B 60.0.0.0 [20/0] via 150.1.13.1, 00:06:23
30.0.0.0/24 is subnetted, 1 subnets
C 30.0.0.0 is directly connected, Loopback1
R3#sh ip bgp
BGP table version is 23, local router ID is 30.0.0.1
Network Next Hop Metric LocPrf Weight Path
*> 30.0.0.0/24 0.0.0.0 0 32768 i
*> 60.0.0.0/24 150.1.13.1 0 666 6 i
BGP and LFIB on PE
R1:
R1#show ip bgp
BGP table version is 29, local router ID is 1.1.1.1
Network Next Hop Metric LocPrf Weight Path
*> 30.0.0.0/24 150.1.13.3 0 0 3 i
*>i60.0.0.0/24 7.7.7.7 0 100 0 6 i
R1#show mpls forwarding-table
Local Outgoing Prefix Bytes Label Outgoing Next Hop
Label Label or VC or Tunnel Id Switched interface
16 Pop Label 2.2.2.2/32 0 AT1/0 150.1.12.2
17 Pop Label 150.1.24.0/24 0 AT1/0 150.1.12.2
19 19 4.4.4.4/32 0 AT1/0 150.1.12.2
20 20 7.7.7.7/32 0 AT1/0 150.1.12.2
21 21 150.1.47.0/24 0 AT1/0 150.1.12.2
LFIB table on core (PHP – penultimate hop popping)
R4:
R4# show mpls forwarding-table
Local Outgoing Prefix Bytes tag Outgoing Next Hop
tag tag or VC or Tunnel Id switched interface
16 Pop tag 2.2.2.2/32 0 Fa0/0 150.1.24.2
17 Pop tag 7.7.7.7/32 11006 Se1/0 150.1.47.7
18 16 1.1.1.1/32 14193 Fa0/0 150.1.24.2
21 Pop tag 150.1.12.0/24 24697 Fa0/0 150.1.24.2
GNS3 configuration:
autostart = False
[localhost:7200]
workingdir = C:\Users\szandi\AppData\Local\Temp
udp = 10000
[[7200]]
image = C:\Users\szandi\GNS3\images\C7200-K9.BIN
ram = 128
ghostios = True
idlepc = 0x60788c00
[[3640]]
image = C:\Users\szandi\GNS3\images\C3640-JK.BIN
ram = 96
ghostios = True
idlepc = 0x6050465c
chassis = 3640
[[ROUTER R4]]
model = 3640
console = 2005
cnfg = C:\Users\szandi\GNS3\projects\MPLSoATM&FR_configs\R4.cfg
slot0 = NM-1FE-TX
f0/0 = R2 f0/0
slot1 = NM-4T
s1/0 = FR0 1
x = 20.0
y = 176.811183182
[[ROUTER R1]]
console = 2002
cnfg = C:\Users\szandi\GNS3\projects\MPLSoATM&FR_configs\R1.cfg
f0/0 = R3 f0/0
slot1 = PA-A1
a1/0 = ATM0 1
x = -189.585786438
y = -119.669047558
[[ROUTER R2]]
console = 2003
cnfg = C:\Users\szandi\GNS3\projects\MPLSoATM&FR_configs\R2.cfg
f0/0 = R4 f0/0
slot1 = PA-A1
a1/0 = ATM0 2
x = -193.0
y = 176.811183182
[[ROUTER R3]]
model = 3640
console = 2004
cnfg = C:\Users\szandi\GNS3\projects\MPLSoATM&FR_configs\R3.cfg
slot0 = NM-1FE-TX
f0/0 = R1 f0/0
x = -359.468037432
y = -226.509667992
[[ATMSW ATM0]]
1:102:0 = 2:201:0
2:201:0 = 1:102:0
x = -118.203535444
y = 23.2573593129
[[FRSW FR0]]
1:407 = 2:704
2:704 = 1:407
x = -44.8675323681
y = 22.6715728753
[localhost:7201]
workingdir = C:\Users\szandi\AppData\Local\Temp
udp = 10100
[[3640]]
image = C:\Users\szandi\GNS3\images\C3640-JK.BIN
ram = 96
ghostios = True
idlepc = 0x6050465c
chassis = 3640
[[ROUTER R6]]
model = 3640
console = 2007
cnfg = C:\Users\szandi\GNS3\projects\MPLSoATM&FR_configs\R6.cfg
slot0 = NM-4T
s0/0 = R7 s0/1
x = 200.710678119
y = -220.681240867
[[ROUTER R7]]
model = 3640
console = 2008
cnfg = C:\Users\szandi\GNS3\projects\MPLSoATM&FR_configs\R7.cfg
slot0 = NM-4T
s0/0 = FR0 2
s0/1 = R6 s0/0
x = 22.4142135624
y = -112.426406871
[GNS3-DATA]
configs = MPLSoATM&FR_configs
m11 = 0.707106781187
m22 = 0.707106781187
[[NOTE 1]]
text = 150.1.12.0
x = -202.232539419
y = 29.9264068712
rotate = 0
[[NOTE 2]]
text = 150.1.13.0
x = -243.244732728
y = -182.205627485
rotate = 0
[[NOTE 3]]
text = 150.1.24.0
x = -76.3675323681
y = 172.761976671
rotate = 0
[[NOTE 4]]
text = " MPLS"
x = -83.43860018
y = -83.2106781185
font = ””"MS Shell Dlg 2,11,-1,5,75,0,0,0,0,0”’
rotate = 0
[[SHAPE 1]]
type = ellipse
x = -35.3553390593
y = -296.984848098
width = 315.965512115
height = 200.818325857
rotate = 0
border_style = 2
[[NOTE 5]]
text = 150.1.47.0
x = 29.6984848098
y = 34.1690475583
rotate = 0
[[NOTE 6]]
text = 150.1.67.0
x = 98.9949493661
y = -194.933549546
rotate = 0
[[SHAPE 2]]
type = ellipse
x = -394.565583902
y = -296.984848098
width = 305.470129472
height = 200.0
rotate = 0
border_style = 2
[[NOTE 7]]
text = 49.0024
x = -73.5391052436
y = 206.703102168
rotate = 0
[[SHAPE 3]]
type = ellipse
x = -349.310749906
y = -113.13708499
width = 585.484414822
height = 367.695526217
rotate = 0
border_style = 2
[[SHAPE 4]]
type = rectangle
x = -395.979797464
y = -296.984848098
width = 678.822509939
height = 154.149278299
rotate = 0
[[NOTE 8]]
text = AS3
x = -207.889393669
y = -285.443217538
rotate = 0
[[NOTE 9]]
text = AS6
x = 72.124891681
y = -289.685858225
rotate = 0
[[NOTE 10]]
text = AS666
x = -83.43860018
y = -104.423881554
rotate = 0
[[NOTE 11]]
text = IS-IS + \nLDP
x = 152.735064736
y = 78.0096679918
rotate = 0
[[NOTE 12]]
text = Customer Network
x = -127.279220613
y = -298.171139599
rotate = 0

