Introduction to VRF(Virtual Routing forwarding)

Today I am going to talk about one of the most important concept on which MPLS works. I understand many of you already knew about the MPLS but some of you guys are still want me to explain the concept of MPLS and the MPLS starts from the concept of VRF. 
What is VRF- Virtual Routing forwarding ?
As you already knew that VRF stands for Virtual Routing Forwarding and is a separate routing table within a router. VRFs are to a router what VLANs are to a switch. Using VRFs, it is possible to virtualize a single router into several instances, each of them being (relatively) independent of each other, allowing for overlapping subnets, separate instances of routing protocols, separate set of interfaces assigned to each VRF. 
In other words you can say that VRF stands for virtual routing and forwarding. When you create a vrf, you tell it what routes to import/export. Then you assign that vrf to an interface. Once the vrf is attached to an interface, the switch/router creates a separate routing table to hold those routes. 
What about the security in the VRF ?
VRF also increases network security and can eliminate the need for encryption and authentication. Internet service providers (ISPs) often take advantage of VRF to create separate virtual private networks (VPNs) for customers; thus the technology is also referred to as VPN routing and forwarding.

VRF based network design uses 802.1q trunks protocol, GRE tunnels, or MPLS tags to extend and tie the VRFs together.

Below if the basic topology showing the VRF defining in the MPLS network only for the reference. The IP address and the topology showing here is just for the demo purposes and has no relevance with any of the enterprise network

Fig 1.1- VRF Basics

Here in the above topology, we have define VRF-A, VRF-B and VRF-C which can be created on one router or different router depends upon the customer connectivity with the PE routers.

VRF Basic Configuration Example
Below is the example of creating VRF instances and aligned with the interfaces on the router
!
ip vrf NDNA-mgmt
rd 100:100
rt export 100:100
rt import 100:100
!
ip vrf NDNA-sales
rd 200:200
rd both 200:200 (export and import)
!

Under the interface:
!
int ge0/1
ip vrf forwarding NDNA-sales
ip address 192.168.2.1 255.255.255.0
!
int ge0/2
ip vrf forwarding NDNA-mgmt
ip address 192.168.1.1 255.255.255.0

!