Studying towards the SPEDGE (great word Cisco!) tonight and couldn't quite define exactly Route Descriptors and Route Targets. So lets try
First off it might be important (and obvious) to note both RT and RDs will only ever be configured and used on PE nodes! P and CE nodes dont need to care about any of this. RD and RT are two independent funtions although lots of (Cisco?) documentation shows the two numbers being the same this is not required. Its also important to remember that although a prefix can only have one single RD attached to it, it can may have multiple RTs assigned to it for import/export.
Route Descriptor (RD):
To try and sum the RDs job up in a single sentence it would be:
Added to prefixes to make them unique
Maybe simplified a little too much above but basically its a 64bit number prepended to the 32bit prefix to make a unique 96 bit prefix, ensuring prefixes never overlap! So even if two different customer CE nodes advertise the same prefix they will both be prepended with two different 64bit numbers to make each unique. Once a prefix has been prepended with the RD to make a 96bit address it becomes a vpn4 address that MP-BGP can use. The 64bit RD is made up of two 32bit vaules. Configuration of RDs can be done in various ways:
m00n(config-vrf)#rd ? ASN:nn or IP-address:nn VPN Route Distinguisher m00n(config-vrf)#rd 192.168.1.1:123456 ? % Unrecognized command m00n(config-vrf)#rd 192.168.1.1:12345? ASN:nn or IP-address:nn m00n(config-vrf)#rd 192.168.1.1:12345 m00n(config-vrf)# m00n(config-vrf)#rd 65001:12345 % Do "no rd 192.168.1.1:12345" in ip-vrf-mode for vrf weeee first before redefining the RD
These are just different ways to represent the 64bit value.
A (better?) description on wikipedia [link].
Route Target (RT):
Again to simply try and sum up the RTs job in a simple sentence it would be:
Used to identify a prefixes VPN membership
When you export a prefix with a RT an extended BGP community is attached when it is announced to peers. This community is used on the receiving end to match the VRF to drop the prefix into.So import puts prefixes from BGP into a VRF and export announces prefixes into BGP with the extended community attached.
For a L3VPN to function one sites PE import RT value must match another PEs export RT value. Import/Exports can become quite complicated when you want to leak routes between VFRs so its always best to plan ahead!