09-04-2021 02:22 AM
Dear Experts,
I am new to mpls and couldnt understand the reason behind RT when we have RD to distinguish each vrf. I know RT defines which routes to import/export but we could have used the RD value to do that.
Can someone help me to understand why RT was necassary for mpls developers, why they just couldnt use RD?
Solved! Go to Solution.
09-04-2021 10:28 AM - edited 09-04-2021 10:29 AM
Hello @Engineer101 ,
most of the confusion is caused by book example that use the same value for RD and RT in basic examples.
The RD is a 64 bit value.
The VPNv4 prefix is built by concatenation of 64 bit RD and 32 IP prefix
the VPNv4 prefix has a 96 bit field and a prefix length that is between 0 and 32.
The RT value is actually an attribute of a VPNv4 prefix of type extended community . RT are 64 bit values too.
To be noted mutltiple RT values can be associated at the same time to a VPNv4 prefix like it happens for standard BGP communities.
So the RD is an integral part of the VPNv4 prefix , RT is an MP BGP attribute of the prefix that is used by all other PE nodes to decide if a VPNv4 prefix should or should not be imported on any of the locally defined VRFs.
if at teast one RT value match an import statement in a local VRF the VPNv4 prefix is imported in the VRF IPv4 routing table by removing the RD field and adding the route as an iBGP route with AD 200 and BGP next-hop = PE loopback of the node that originated the VPNv4 prefix.
So if you see the things at this level of detall you can understand the key importance of RT in MPLS services.
Without RT values we would be limiited to create L3 VPN where all the member PE nodes use the same RD for VRF sites.
By having RT value nor derived from RD we get a lot of advantages:
a) per PE node specific RD values can be used without creating issues in building connectivity (this helps in troubleshooting and for multi homed VRF sites)
b) an MPLS L3 VPN is a collection of VRF sites defined on multiple PE nodes that share the same RT values for importing and exporting
c) by plating with RT values different type of connectivity models can be build like Hub and Spoke Central Services , Extranet and Partial Extranets
The RT concept is so useful that almost all MPLS services using MP BGP for signaling use RT at least for discovery like it happens in VPLS with MP BGP autodiscovery and LDP for pseudowires or VPLS with MP BGP used both for discover and setting up pseudowires,
Also the most modern services like EVPN and NG MVPN use RT
In short we need both RD and RT.
Hope to help
Giuseppe
09-04-2021 02:49 AM - edited 09-04-2021 02:53 AM
RD- Route Distinguishers keep routes unique within the mpls cloud environment, but they don’t signify what local vrfs they can be exported/imported into, that sthe job of Route targets
RT - Route targets are bgp community attributes that allow rtrs to identify what routes can be exported/imported to/from local vrf's over mpbgp L3 vpns
09-04-2021 02:52 AM
09-04-2021 10:28 AM - edited 09-04-2021 10:29 AM
Hello @Engineer101 ,
most of the confusion is caused by book example that use the same value for RD and RT in basic examples.
The RD is a 64 bit value.
The VPNv4 prefix is built by concatenation of 64 bit RD and 32 IP prefix
the VPNv4 prefix has a 96 bit field and a prefix length that is between 0 and 32.
The RT value is actually an attribute of a VPNv4 prefix of type extended community . RT are 64 bit values too.
To be noted mutltiple RT values can be associated at the same time to a VPNv4 prefix like it happens for standard BGP communities.
So the RD is an integral part of the VPNv4 prefix , RT is an MP BGP attribute of the prefix that is used by all other PE nodes to decide if a VPNv4 prefix should or should not be imported on any of the locally defined VRFs.
if at teast one RT value match an import statement in a local VRF the VPNv4 prefix is imported in the VRF IPv4 routing table by removing the RD field and adding the route as an iBGP route with AD 200 and BGP next-hop = PE loopback of the node that originated the VPNv4 prefix.
So if you see the things at this level of detall you can understand the key importance of RT in MPLS services.
Without RT values we would be limiited to create L3 VPN where all the member PE nodes use the same RD for VRF sites.
By having RT value nor derived from RD we get a lot of advantages:
a) per PE node specific RD values can be used without creating issues in building connectivity (this helps in troubleshooting and for multi homed VRF sites)
b) an MPLS L3 VPN is a collection of VRF sites defined on multiple PE nodes that share the same RT values for importing and exporting
c) by plating with RT values different type of connectivity models can be build like Hub and Spoke Central Services , Extranet and Partial Extranets
The RT concept is so useful that almost all MPLS services using MP BGP for signaling use RT at least for discovery like it happens in VPLS with MP BGP autodiscovery and LDP for pseudowires or VPLS with MP BGP used both for discover and setting up pseudowires,
Also the most modern services like EVPN and NG MVPN use RT
In short we need both RD and RT.
Hope to help
Giuseppe
09-06-2021 11:09 AM
Thanks Giuseppe for helping me out !!
09-04-2021 03:15 AM - edited 09-04-2021 03:30 AM
Hi,
RT - This is additional information that is added to the advertised prefix, which tells the receiving router which VRF exactly to import the prefix into
RD - is distinguish between multiple identical prefixes that coming from the same neighbor (for example 2 identical prefixes learned from the same remote PE) the RD allows the remote route (remote PE router) to accept every single one of them
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide