Route Distinguisher vs Route Target – MPLS Tutorial Part 1

Route Distinguisher vs Route Target - aren’t they the same thing? No!
In this post I am going to clarify the difference between route distinguisher and route target within the Cisco world of MPLS VPN’s. The main problem comes from the fact that in most Cisco Press books they always show the route distinguisher value and route target value as the same which is just confusing!
They are not the same and are used for completely different things.
In simple terms the route distinguisher is used to create a unique 96 bit address called the VPNv4 address.
This ensures that if two customers are running the 10.0.0.0/8 address space that each companies addresses are unique within the MPLS network.
The Route Target is a 64 bit BGP community used to tag prefixes. It tells the PE routers which prefixes it can import.

Route Distinguisher

The route distinguisher has only one purpose, to make IPv4 prefixes globally unique. It is used by the PE routers to identify which VPN a packet belongs to, e.g to enable a router to distinguish between 10.0.0.1/8 for Customer A and 10.0.0.1/8 for Customer B. The route distinguisher is made up of an 8 octet field prefixed to to the customer IPv4 address, the  resulting 12 octect field make a unique VPNv4 address. For more info on this please refer to RFC 4364

route distinguisher vs route target

 

 

 

Configuring a Route Distinguisher

The RD value used in the network is entirely the choice of the network admin. There are best practices but the number chosen can by any value to make sure the VPNv4 address is unique. Some engineers choose to use the AS number followed by a site ID
e.g 65335:10 Where 65335 is the AS number for the site and 10 is a site ID

To configure the route distinguisher first  you need to define your vrf and then you can define it’s route distinguisher.

R1(config)#ip vrf Customer_A
If we do rd ? you can see the options for configuring the RD as described above
R1(config-vrf)#rd ?
  ASN:nn or IP-address:nn  VPN Route Distinguisher
For the purpose of this description I will configure the RD value as 65355:10
R1(config-vrf)#rd 65355:10
To verify this value enter the command sh ip vrf
R1#sh ip vrf
  Name                             Default RD          Interfaces
  Customer_A                       65355:10

Route Target

The route target on the other had is an 8 byte field which is a BGP extended Communities Attribute defined in RFC 4360  it defines which prefixes are exported and imported on the PE routers. So for example consider the diagram below.  R3 has 2 VRF’s configured on it Customer_A and Customer_B so you would define under each vrf a unique route target value, these take the same format as the route distinguisher, but for the purpose of this explanation we are going to use 1:1 for Customer_A and 2:2 for Customer_B. On R3 we want to export and import the prefixes for Customer A and B, however on R1 we only want to import and export the prefixes for Customer_A and on R2 we only want to import and export the prefixes for Customer_B

route target

 

 Difference between route distinguisher and route target

To conclude, the route distinguisher and route target values perform two completely separate functions, and although in a lot of cisco press publications the values are the same (which they can be) it is confusing to someone learning MPLS for the first time as they assume they do the same thing.
The route distinguisher makes a unique VPNv4 address across the MPLS network
The route target defines which prefixes get imported and exported on the PE routers.

Watch out for Part 2 of this mpls tutorial where I will go into more detail on MPLS L3 VPN’s

 

 

 

 

 

 

 

 

 

 

 

 

 

Comments

  1. Guido says

    Thanks! Not only Cisco but Juniper study guides don’t make a clear distinction between the two either, this certainly helped!

    • Roger Perkin says

      I am glad it has helped. The Route Distinguisher vs Route Target is a very simple concept but easily mis-understood!

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>