I was reading all my RSS feeds and I am subscribed to http://mellowd.co.uk/ccie/ . I have noticed this post for you : http://mellowd.co.uk/ccie/?p=2923 It talks about RD, RT and label about MPLS. I found this post really clear about this terms and concepts.
To sum-up :
- RD = marks routes with an ‘id’. This ‘id’ is composed by two terms (IP_ASN:number)
- IP_ASN : IP address or ASN
- Number : which identify the VPN
I recommand to use IP in IP_ASN. I understand it is really easy to read : 3215:100 and not 81.252.160.88:100. The last one is less easy, but when you deploy a large MPLS cloud and you must supply some load-balancing or fail-over on different PE, the RR(Route Reflector) will choice the best route in the two : 3215:100:192.168.1.0 which is received). With IP1:100:192.168.1.0 and IP2:100:192.168.1.0 the two routes will be used, so you will be able to load balance trafic over two links.
- RT = has for job to tell to PE in which VPN the route belongs to.
A route in a VPN is named a VPNv4 route. This route contains :
- RD (see above)
- RT : RT is a special extended community which flag the route such as ASN:300
- Label = 2 labels (outer=per hop label ; inner label : identify the VPN)
In MPLS transit, IP packets are routed by label. No existence for P router of RD, RT. So the VPN existence is carried by inner tag. inner tag <=> 1 VPN.
A simple MPLS lab :
- MP-iBGP between R3 and R5
- OSPF Area 0 includes : R3, R4, R5
- MPLS enabled on R3, R4 and R5
I think I don’t have to give the topology for a so easy topology.
To go further, you can see the pcap trace here : http://www.cloudshark.org/captures/44b14366b515
So : you exchange vpnv4 routes by means of MP-iBGP and access to nexthop by the corresponding tag and route to mpls nexthop MPLS friend (here R4).
Also, to access 10.0.0.0/8 from 2 : R5 must push tag 20 (vpnv4 route to this subnet) and push label 16 (to 3.3.3.3 loopback of R3).