So as we've seen we have a list of criteria and this criteria is supposed
to lead us to understand what routes are best. In fact this list of criteria is
supposed to differentiate our routes and allow us to create an ordered list which
is going to be very important if there are ties because I might not be able to
send all of my routes. For example I might have six paths and the default is
four paths and therefore I can only send four of these. So what am I going to do
here? Well again as long as I have an ordered list I can send the top four
routes but if all of the routes are tied then how do I break those ties? So that's
going to lead us to the tiebreakers. Now a very important note here when we're
talking about the concept of a best path these tiebreakers don't have anything to
do with determining which path is best. Meaning that at this point if we're
using tiebreakers really truly these routes are still considered tied after
the fact. Because what we could do is look at let's say our six paths here and
because we use the tiebreakers we decide that the top one is the best route and I
only send one route. Well that's not what's going to happen here. Instead the
tiebreakers are going to give us once again this ordered list and then I can
grab these top four and send them. But the fact that we're using the tiebreakers
at all means that these are all equal cost paths. So what I'm trying to say is
that the nature of using these tiebreakers in no way makes it so that
these routes are no longer equal cost. If we get to this point in the process
these routes are equal cost and that means that they've got the same
preference, the same origin metric, the same origin well origin type I suppose
then origin metric. But the fact is that all of them are equal where it matters.
And now we're going to come to these tiebreakers which I mentioned are
arbitrary because they really are. It's not going to be based on anything that
would actually tell us inform us that one of these paths is better than the
others. So what are the tiebreakers? Well there's three of them. The first of
which is known as path source. It's a little bit of an interesting phrase. What
do we mean by path source? Well what it means is we're going to prefer a route
learned by an edge over one that's learned via a controller. So what is it
learned by? Now this is interesting because what scenario are we trying to
paint here? Well here it is. Remember we have edges and we keep saying that they
advertise to a controller. Well what if we have multiple controllers? We always
need to consider the fact that we're advertising to all of the controllers
and the controllers are informing each other of paths that they received. So
what this is saying is that I as let's say the controller on the left will
prefer the path that I learned via let's say subnet a hanging off of it here. I
will prefer this path compared to the path that I just heard from my neighbor
controller. So this is a controller only tiebreaker. I'm going to start by putting
all of my controller learned paths at the bottom of my list. That's what this
is saying. Anything I learned from an edge takes priority which makes sense
because as the phrase goes in the United States at least we heard it straight
from the horse's mouth. Basically saying that the edge that is advertising it I
heard from it and yeah I'm also hearing it from other controllers but those
shouldn't matter as much. So that's tiebreaker number one. Tiebreaker number
two gets even more arbitrary. We are now going to evaluate the system IP address
and specifically take the lower system IPs. Well now if we have multiple routers
all advertising the same subnet here so now this edge down here is also
advertising subnet a to the controllers well now we have a way to differentiate
between these two. One of these is going to have a system IP lower than the other
because system IPs must be unique in the environment. Now remember system IPs are
not routable so we might have something like 1.1.1.1 like in our lab
environment although we use that for one of the control components either way
1.1.1.1 maybe is a loopback that serves as a system IP 2.2.2.2
down here and at this point we're going to place the top edges route above the
bottom edges route in the list. Again are they equal paths? Absolutely they're
equal paths but this is about creating this ordered list and so now we can put
the lower system IP here and the next lower system IP second. So again very
arbitrary but it does allow us to break the tie. Now we still do have a problem
and the problem is this let me draw it over here to be a little clearer so
we've got a controller here I've got an edge I'm advertising subnet a and I'm
advertising it on multiple T locks. So I'm now saying that I have three
different paths to subnet a or at least the controller has learned of three
different paths to subnet a via the three T locks and so it evaluates these
and it's a tie and so then it gets to the tie breakers. Well path source
doesn't help I'm learning it from an edge. System IP doesn't help because I'm
learning it from the same edge. The same edge is telling me that it's got
connections on three different T locks. So this is where we need a third tie
breaker and the third tie breaker is going to be the IP address of these T
locks. Now keep in mind a T lock has both a private address associated with
it and a public address associated with it. So we have both of these on a T lock.
So if we're going to evaluate an IP address we have to choose which one
which is again fairly arbitrary but I'm going to choose the private one and not
me personally but Cisco and Viptela decided that this would be the private
IP address of the T lock. So now we should have differentiation because
these should all be unique as well because they're all part of the same VPN
VPN 0 which is a VRF which means that they must be unique. So at this point we
have gotten to a tie breaker that is sure to separate the different paths. No
matter what parameters there are if we're tied and we get to a point where
we have to break the tie then we've got ways of doing this. So understand these
three different tie breakers and also understand that we're talking about
lower IP addresses here. So what I want to wrap this conversation up with is the
higher or lower conversation I alluded to in the previous video. When do we use
one over the other? What we're going to find is that only preference uses higher
values. So this is the best way to remember that if I have a higher
preference I'm always going to prefer that over a lower preference. Everything
else falls into the lower category. So everything from the metric to the even
the type because remember we listed out the origin type and we had like
connected and static and all of these. Well the lower the value which again
largely parallels lower administrative distance values the lower the value of
the type the better it is. So it's the lower origin it's the lower type it's
the lower origin metric and now we see that it's the lower IP addresses inside
of the tie breakers. So hopefully that helps us to keep track of those we're
definitely going to want to keep that in mind. So if we're given a bunch of paths
that we'd be able to order those and also understand which if I'm looking at
a production network I can't figure out why a route is going a particular way
now I can look at it and figure out why certain routes are getting installed and
other routes are not.