Cisco Labs – Redundant and Resilient networks (14) – MPLS – AToM – Ethernet over MPLS – Q in Q


Introduction

During my university studies I was doing a diploma thesis in field of Redundant and reliable networking. The purpose of itwas to create LAB examples for students, so they can test First Hop Redundancy Protocols (FHRP) , Any Transport over MPLS (AToM) and Border Gateway Protocol (BGP) on Cisco platform. These tasks are created to Virtlab (Virtual lab with physical Cisco routers) however configuration is valid and tested on physical Cisco routers as well.

Each task in the series will have its separate post with brief description of the task and schema. Complete task can be downloaded on My Skydrive

ZIP file contains:

  • *.HTML file – complete step by step guide how to perform the task
  • *.PNG – pictures with topology and others
  • *_preconf.txt – file with basic configuration of topology to be able to focus on task goal (IP addresses, interfaces and so on)
  • *_end.txt – file with complete configuration. Once put to the routers, you will get working task
  • *.dia – Topology in free DIA editor
  • *.XML – topology in XML format

To complete the task:

  • Connect your environment accorrding the topology
  • open the file *_preconf.txt from ZIP file with complete task and configure your environment with basic settings so you can start with the task.



MPLS – AToM – EoMPLS – Q in Q

Title: MPLS – AToM – EoMPLS – Q in Q (for 7600 platform, not working on 7200)

Goal:

  • Configure MPLS-based core IP network.
  • Configure Any Transport over MPLS technology to forward QinQ traffic over MPLS core. VLANs 11-14,18 encapsulated to VLAN 10.

Required time: 120 minutes

Theoretical background:

Links related to this task:

Topology:

MPLS-AToM-QinQ

Configuration:

 

1) Check pre-configured settings

Before starting configuration of MPLS you should check pre-configured settings. First use ping command to test connectivity between PE1 and PE3 routers. Also

check OSPF if networs are propagated correctly.

 

2) MPLS core configuration

In this part of configuration you will configure basic MPLS functionality.

Router PE1

      PE1(config)#ip cef; enable CEF, prerequisite for MPLS
      PE1(config)#interface #PE1:PE1-P#
      PE1(config-if)#mpls ip; enable MPLS on the interface #PE1:PE1-P#  
      PE1(config)#interface loopback 2; create loopback interface
      PE1(config-if)#ip address 20.0.0.1 255.255.255.255; set IP address on loopback interface
      PE1(config-if)#no shutdown
      PE1(config)#mpls label protocol ldp; MPLS will use LDP as label distribution protocol
      PE1(config)#mpls ldp router-id loopback 2 force; force loopback IP address to be router ID
      PE1(config)#router ospf 1
      PE1(config-router)#network 20.0.0.1 0.0.0.0 area 0; set OSPF to propagate loopback address

Router P

Set P and PE3 routers similarly.

      P(config)#ip cef
      P(config)#interface #P:P-PE3#
      P(config-if)#mpls ip
      P(config)#interface #P:PE1-P#
      P(config-if)#mpls ip
      P(config)#interface loopback 2
      P(config-if)#ip address 30.0.0.1 255.255.255.255
      P(config-if)#no shutdown
      P(config)#mpls label protocol ldp
      P(config)#mpls ldp router-id loopback 2 force
      P(config)#router ospf 1
      P(config-router)#network 30.0.0.1 0.0.0.0 area 0

Router PE3

      PE3(config)#ip cef
      PE3(config)#interface #PE3:P-PE3#
      PE3(config-if)#mpls ip
      PE3(config)#interface loopback 2
      PE3(config-if)#ip address 40.0.0.1 255.255.255.255
      PE3(config-if)#no shutdown
      PE3(config)#mpls label protocol ldp
      PE3(config)#mpls ldp router-id loopback 2 force
      PE3(config)#router ospf 1
      PE3(config-router)#network 40.0.0.1 0.0.0.0 area 0

3) MPLS core function test

Use following commands on core routers PE1, P, PE3 and check results

      Pxx#show mpls ldp binding; display LDP bindings on the router
      Pxx#show mpls ldp discovery; show discovered MPLS enabled peering routers
      Pxx#show mpls ldp neighbor; show peering neighbors
      Pxx#show mpls forwarding-table; display forwarding table with local and remote labels. 

4) AToM configuration – provider side

Router PE1

      PE1(config-if)#interface #PE1:CE1-PE1#.1
      PE1(config-subif)#encapsulation dot1q 10 second-dot1q 11-14,18; VLANs 11,12,13,14,18 will be encapsulated to VLAN 10 and transported through MPLS AToM 

technology
      NEW IOS:
      PE1(config-subif)#mpls l2transport route 40.0.0.1 100; define VC 100 which will be used to transport VLAN 10 frames over MPLS
      OLDER IOS:
      PE1(config-subif)#xconnect 40.0.0.1 100 encapsulation mpls; define VC 100 which will be used to transport VLAN 10 frames over MPLS 

VC on MPLS is unidirectional. To configure l2 transport tunnel we need to configure VC 100 on both provider edge routers (PE1, PE3).

Router P

Router P needs to have only basic MPLS configured.

Router PE3

      PE3(config-if)#interface #PE3:PE3-CE2#.1
      PE3(config-subif)#encapsulation dot1q 10 second-dot1q 11-14,18; VLANs 11,12,13,14,18 will be encapsulated to VLAN 10 and transported through MPLS AToM 

technology
      PE3(config-subif)#mpls l2transport route 20.0.0.1 100; matching configuration to PE1
      PE3(config-subif)#xconnect 20.0.0.1 100 encapsulation mpls; matching configuration to PE1
      PE3(config-subif)#no shutdown

5) AToM configuration – customer side

Customer`s side routers CE1,CE2 must be configured so that interfaces facing MPLS core network is divided into subinterfaces, one subinterface for each VLAN

encapsulated by Q in Q technology.

Router CE1

      CE1(config)#interface #CE1:CE1-PE1#
      CE1(config-if)#no shutdown
      CE1(config-if)#interface #CE1:CE1-PE1#.1
      CE1(config-if)#encapsulation dot1q 11; set VLAN to interface
      CE1(config-if)#ip address 11.0.1.1 255.255.255.0; set IP address
      CE1(config-if)#no shutdown
      CE1(config-if)#interface #CE1:CE1-PE1#.2; repeat for each VLAN
      CE1(config-if)#encapsulation dot1q 12
      CE1(config-if)#ip address 12.0.1.1 255.255.255.0
      CE1(config-if)#no shutdown
      CE1(config-if)#interface #CE1:CE1-PE1#.3
      CE1(config-if)#encapsulation dot1q 13
      CE1(config-if)#ip address 13.0.1.1 255.255.255.0
      CE1(config-if)#no shutdown
      CE1(config-if)#interface #CE1:CE1-PE1#.4
      CE1(config-if)#encapsulation dot1q 14
      CE1(config-if)#ip address 14.0.1.1 255.255.255.0
      CE1(config-if)#no shutdown
      CE1(config-if)#interface #CE1:CE1-PE1#.5
      CE1(config-if)#encapsulation dot1q 18
      CE1(config-if)#ip address 18.0.1.1 255.255.255.0
      CE1(config-if)#no shutdown

Router CE2

      CE2(config)#interface #CE2:PE3-CE2#
      CE2(config-if)#no shutdown
      CE2(config-if)#interface #CE2:PE3-CE2#.1
      CE2(config-if)#encapsulation dot1q 11; set VLAN to interface
      CE2(config-if)#ip address 11.0.1.1 255.255.255.0; set IP address
      CE2(config-if)#no shutdown
      CE2(config-if)#interface #CE2:PE3-CE2#.2; repeat for each VLAN
      CE2(config-if)#encapsulation dot1q 12
      CE2(config-if)#ip address 12.0.1.1 255.255.255.0
      CE2(config-if)#no shutdown
      CE2(config-if)#interface #CE2:PE3-CE2#.3
      CE2(config-if)#encapsulation dot1q 13
      CE2(config-if)#ip address 13.0.1.1 255.255.255.0
      CE2(config-if)#no shutdown
      CE2(config-if)#interface #CE2:PE3-CE2#.4
      CE2(config-if)#encapsulation dot1q 14
      CE2(config-if)#ip address 14.0.1.1 255.255.255.0
      CE2(config-if)#no shutdown
      CE2(config-if)#interface #CE2:PE3-CE2#.5
      CE2(config-if)#encapsulation dot1q 18
      CE2(config-if)#ip address 18.0.1.1 255.255.255.0
      CE2(config-if)#no shutdown

Function test:

1) test MPLS functionality using ping

      PE1# ping mpls ipv4 40.0.0.1; ping command for MPLS

2) Display MPLS related information

Verify the status of virtual circuits on the routers PE1 and PE3. Notice amount of data sent through those circuits. Check VC details.

      Rx# sh mpls l2transport vc

The result will show which VLANs are encapsulated inside VLAN 10:

    Local intf        Local circuit              Dest address    VC ID      Status 
  
    -------------     -------------------------- --------------- ---------- ----------
    #PE3:PE3-CE2#.1   Eth VLAN:10/11-14,18       20.0.0.1         100         UP 

3) Test connectivity

Test connectivity between CE1 and CE2 routers.

      CE1# ping 11.0.1.2
      CE1# traceroute 11.0.1.2; there is no hop between customer's IP addresses. The MPLS core acts as single Ethernet wire.

4) Debug AToM VC events

Enter “debug MPLS l2transport vc event” command on PE3.

      PE3# debug MPLS l2transport vc event; enable debugging of MPLS virtual circuits

Then go to PE1 console and shut interface facing to CE1 router #PE1:CE1-PE1# down. This will cause the VC 100 to break.

    PE3#
    *Nov 17 00:00:17.047: AToM MGR [20.0.0.1, 100]: Remote end down, vc is down
    *Nov 17 00:00:17.055: AToM MGR [20.0.0.1, 100]: Unprovision and deallocate SSM segment

Turn on the interface again.

Then go to P console and shut some interface down. This will cause the VC 100 to break.

    PE3#
    *Nov 17 00:05:39.815: %LDP-5-NBRCHG: LDP Neighbor 20.0.0.1:0 (2) is DOWN (Discovery Hello Hold Timer expired)
    *Nov 17 00:05:39.823: AToM MGR [20.0.0.1, 100]: Remote end down, vc is down

Optional:

Configure more subinterfaces on the routers PE1,PE3,CE1,CE2 to support VLANS from range 2-4096 to be routed through MPLS core. Configure one sub-interface for each

additional VLAN.

Follow steps 4) and 5) from Configuration part to use AToM technology to forward customer’s VLAN traffic.

 

Advertisements

3 thoughts on “Cisco Labs – Redundant and Resilient networks (14) – MPLS – AToM – Ethernet over MPLS – Q in Q

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s