BGP Route Distinguisher Vs Route Target
BGP Route Distinguisher Vs Route Target
Target
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 confusion comes from the fact that in
most Cisco Press books they always show the route distinguisher value and route target value
as the same.
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 even if two customers are running the 10.0.0.0/8 address space their
addresses remain unique within the MPLS network.
The Route Target is a 64 bit BGP community used to tag prefixes. It tells the Remote PE
routers which prefix 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 byte field prefixed to the customer IPv4 address, the
resulting 12 byte field makes a unique VPNv4 address.
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 conclude, the route distinguisher and route target values perform two completely separate
functions, and although in a lot of cisco books 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 and the route target
defines which prefixes get imported and exported on the PE routers.