MPLS without VRF

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.

MPLS without VRF

 

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

Respond to this post