A noobs thoughts on RDs and RTs

From: John Neiberger <jneiberger_at_gmail.com>
Date: Mon, 9 Apr 2012 22:20:41 -0600

This is sort of an addendum to the discussion a week or so ago about
the difference between route targets and route descriptors. Now that
I've had a chance to study them a bit more I thought I would check to
see if my understanding is correct. As I mentioned in the other
thread, I always like to approach learning and teaching from this
standpoint: what problem are we trying to solve? We have two primary
problems to solve, but it's easier to them once you've encountered
them.

I'll assume you have a basic understanding of VRFs. Let's assume you
have two customers assigned to two VRFs and they have overlapping IP
address space, e.g. 10/8. You configure your VRFs and then (let's
pretend) you configure iBGP and somehow start passing routes around
your core network. When a remote iBGP peer receives a 10.0.0.0/8 route
twice, what is it supposed to do with them? You know that they're from
two different customers, but how is the router supposed to know that?
That's where the Route Distinguisher comes in. It is a tag of sorts
that you prepend to the routes from your VRFs so that receiving
routers know that they're to be treated differently. They are, in
fact, different routes.

Okay, the router has received them. Now what is it supposed to do with
them? You may have the same two VRFs configured on this receiving
router, but is the router just supposed to automatically put all
routes with matching route descriptors into the same VRFs? Sure,
that's one way it could work. But what happens if down the road you
need to share some routes between customers? How could you control
which VRFs get which routes? Or what if you have a load-balancing
situation where you have routes from the same customer being
advertised with two different Route Distinguishers?

Well, my friends, that's where the Route Target comes into play, and
even though so many examples of RTs and RDs make them the same, they
have nothing whatsoever to do with each other. The RT is a BGP
community that rides along with your route advertisements that tells
the receiving router which VPN they belong to. That gives you some
serious flexibility.

But wait. Why do we need two different types of "labels" to
differentiate between these routes. Now that we have a Route Target,
why can't we just use that? Well, because the RT is a community
attribute. It is not prepended to the beginning of the route like the
Route Distinguisher. If you take away the RD, you're back to a
situation where the receiving router doesn't know that these routes
came from different customers. It sees the exact same routes with
different route targets. That might confuse it.

So, the RD does NOTHING but distinguish routes. Clever, huh? It makes
them unique within your iBGP network. The RT is what tells the
receiving router which VPN those routes belong to, which gives you
much more flexibility with regard to importing and exporting.

So, you RD/RT experts, is that basically correct?

Thanks,
John

Blogs and organic groups at http://www.ccie.net
Received on Mon Apr 09 2012 - 22:20:41 ART

This archive was generated by hypermail 2.2.0 : Tue May 01 2012 - 08:20:45 ART