So when it comes down to a device that is acting as a layer 3 IP router,
it really boils down to three basic ways that a router can learn how to make a
forwarding decision.
Number one, it can have a directly connected network.
Another example could be our Gateway Zero, our services router here,
that is also directly connected to that segment,
and also our Tier Zero Gateway is also directly connected to this segment and
that segment,
and each of those segments is associated with an IP subnet,
and as a result, those directly connected IP networks
would become part of the routing table. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
would become part of the routing table.
So that's one of our options for populating a routing table.
Another option is to go ahead and have a static route configured.
And think of a static route like specific instructions that you and I have to
manually configure
on a router to tell it how to make a forwarding decision.
So for example, if we came in manually and we created a default route here,
the next top is over here at the IP address of this external router,
that would be an example of a static route,
or if we manually went in and specified how to reach the 1010 or 1020 subnets,
again, those would be examples of static routes. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
again, those would be examples of static routes.
However, in the world of NSX, we have a much more elegant solution that is at
our Tier 1 gateways.
We simply check the box, it says, "Please advertise those directly connected
networks,
and as a result, our Tier Zero Gateway knows about those without having to put
in static routes."
And then the third option regarding training a router on how to make a
forwarding decision
is to use a dynamic routing protocol.
And although there are several different dynamic routing protocols out there,
the ones that are supported by NSX include OSPF,
which we covered in a previous skill, and also border gateway protocol, WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
which we covered in a previous skill, and also border gateway protocol,
which goes by the acronym of BGP.
So in this skill, we're going to focus on setting up BGP between our Tier Zero
Gateway
and an external router who's also running border gateway protocol.
So let me clean that up a little bit, and let's talk about some use cases for B
GP in general.
One of the major use cases for BGP is on the Internet.
So let's imagine we have several service providers out there,
which we do on the public Internet today, and I'll just draw three of them.
So let's say this is a service provider A,
and this one is service provider B, and over here, this is going to be service WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
and this one is service provider B, and over here, this is going to be service
provider C.
And let's go ahead and add a whole bunch of routers to each of those service
providers.
So those little green circles represent routers,
and then it's very likely we're going to have a bunch of connections between
those routers
inside of a service provider network.
We'll put some fault tolerance there.
We'll put some connections here as well, maybe a little fault tolerance there
as well.
And also here for service provider C, we'll put some connections between the
routers,
and maybe one like that, one like that.
So let's imagine the service provider A has 10,000 routes that it's responsible WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So let's imagine the service provider A has 10,000 routes that it's responsible
for,
and service provider B has 20,000 routes, and service provider C has 30,000
routes.
Now, when we're dealing with that many routes,
and if we multiply that by many more service providers and many more routes,
we literally have hundreds of thousands of routes out there on the Internet.
And when we start looking at large number of routes,
and so on the Internet today regarding just IP version four, we have hundreds
of thousands of routes.
And then for IPV six, we have hundreds of thousands more routes.
So when dealing with large quantities of routes, we need a dynamic routing WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So when dealing with large quantities of routes, we need a dynamic routing
protocol
that can handle that quantity.
So on the Internet, that's what they use when they interact with each other.
They're using border gateway protocol.
And in the world of BGP, each of these service providers is going to be
assigned one or more
numbers. And these are referred to as autonomous system numbers.
Or for short, we just put AS.
So let's say, for example,
service provider A has been given the autonomous system number of one, one, one
.
And let's imagine that service provider B here has been given the autonomous WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
And let's imagine that service provider B here has been given the autonomous
system number of
two, two, two, and service provider C. We're going to follow that same pattern
and have it be assigned the autonomous system number of three, three, three.
So in service provider A has a whole bunch of routers,
and they're all running BGP to share and update routes with each other.
Because in this example, all these routers are in the autonomous system, one,
one, one,
all these BGP neighborhoods are being formed between the routers here up at
service provider A because they're all inside of this autonomous system, one,
one, one.
Those are referred to as internal BGP neighborhoods. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
Those are referred to as internal BGP neighborhoods.
So we'll call it I BGP for short.
And the same thing would happen down here for all the routers at service
provider B,
where all the routers are participating as part of AS222.
So that would be internal BGP neighborhoods between all these routers here at
service provider B.
And the same thing over here for service provider C with the autonomous system
three, three, three,
all these relationships here inside the service provider network, it'll be
internal BGP neighborhoods
because they're all within the same autonomous system.
So if we took a user and we'll put that user's computer right there who's WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So if we took a user and we'll put that user's computer right there who's
connected and getting
internet access through service provider C, it's very possible this user, and
we'll call this user
user one. It's very possible they may be going to a resource that's reachable
off of a network
that's under the control of service provider A. So we'll go ahead and put the
server up here.
So if we want the internet to work and be able to route traffic everywhere,
we're going to need some cooperation between the service providers because we
also may have a
server over here, for example, again, that this user may need access to.
So to facilitate the sharing of routing information between service providers WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So to facilitate the sharing of routing information between service providers
with BGP,
we're going to go ahead and set up some connections, some neighborhoods between
some routers in service provider A and some routers in service provider B and
any other
service providers that we need to directly share routing information with.
So I'm going to use an orange color for the logical neighborhoods between a
router here in
service provider A and autonomous system 1111 and a router over here in service
provider C
in autonomous system three, three, three, and I'm also going to go ahead and do
that here and here WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
that here and here
as well. And I'll do it here and here as well. And for fault tolerance, it's
very likely we'd
have more than just one single router from service provider A to service where
B but for
this diagram that'll work. Now these orange logical neighborhoods between these
routers
and different service providers, because they're setting up their neighborhoods
between two routers
in two different autonomous systems, for example, this router here, which I'll
call router one,
and then we call this one router two, and I'll call this one router three. So
in the case of router
one forming a neighborhood here with router three and a different autonomous WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
one forming a neighborhood here with router three and a different autonomous
system,
because that relationship is between two BGP routers in two different
autonomous systems,
that relationship is referred to as an external BGP neighborhood. So all these
connections here in
orange are going to represent external BGP neighborhoods. Now there's a lot of
rules of the road
and options regarding tweaking border gateway protocol. And so our intent in
this scale is
just give you a high level overview of some of the basic concepts, and then put
a game plan together
and then walk through the configuration and verification between our tier zero WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
and then walk through the configuration and verification between our tier zero
gateway
and an external BGP router. And in preparation for that, I'd also like to chat
with you once again
about administrative distance. So if you have a router that has learned the
same exact route from
two different sources, so let's pick this router right here. So if this router
right here has learned
about the network 66, 66, 66, zero with a 24-bit mask, and it learned about
that via OSPF,
and it learned about that same exact route from another source, but it learned
it via
internal BGP. And it also learned it from another source, but it was a external WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
internal BGP. And it also learned it from another source, but it was a external
BGP neighbor.
That's an example of learning the same exact prefix fancy way for saying
network reachability
or a route, the same exact route three different ways. So in the event you have
a router that's
learning the same exact route from three different sources, who is it to
believe? And the answer is,
it's like golf and administrative distance. So each of these routing protocols
has a default
administrative distance. So SPF, that is 110 that we saw in the previous skill
when we configured OSPF WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
when we configured OSPF
and adjacencies here between tier zero and the external routers. Internal BGP
has a really,
really terrible, meaning high default administrative distance, which is 200.
And external BGP has a
default administrative distance of 20. So what that means is that if we learn
the same exact route
from these three sources, the one that would make it into the routing table is
the external BGP
learned route with a better and lower like golf administrative distance. So let
's clean this up
a little bit and also talk about another use case for using BGP as a dynamic WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
a little bit and also talk about another use case for using BGP as a dynamic
routing protocol.
Another use case is if we have a spine leaf architecture. So I'm going to go
ahead and just put a couple
of spine layer switches here. And then below that, I'm going to go ahead and
put some top of racks
which is here for this rack and a couple of top of racks, which is here for
this rack and some top
of racks, which is here for this rack. So this layer right here, which I'll go
ahead and put a
rectangle around this represents the leaf layer. And this layer right here
represents the spine. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
represents the spine.
So our connections would look something like this. And this would be our spine
layer. So a lot of
times when we have a spine leaf architecture, we're going to be doing routing
logical layer three
routing between these racks, which also implies we have layer three routing set
up between the
leaf layer and the spine layer. So to share routing information there, we could
also use OSPF
if we wanted to, or we could use BGP to share that routing information. Either
one would work
as long as we're correctly sharing the reachability information so that the
leaf and spine layers can
make their forwarding decisions respectively. So let me clean that up a little WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
make their forwarding decisions respectively. So let me clean that up a little
bit. And let's talk
about one last little aspect regarding BGP in general. And then we'll go to the
next video where
we'll put a game plan together. Let's imagine that we're running BGP and we
have a router. And it has
learned about the same exact network, let's go and put network 67 67 dot zero
with a 24 bit mask.
And it's learned that from two different E BGP neighbors. So there's our router
. And over here,
we'll have a BGP neighbor. That's an external neighbor. And over here, we have WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
we'll have a BGP neighbor. That's an external neighbor. And over here, we have
a BGP neighbor
that's an external neighbor. And they're both advertising this network. So at
that point,
this router might say, well, they're both being advertised via external BGP. So
the admission of
distance is 20 for both of them. So now what do I do? So when it comes to the
decision about,
okay, which route which 67 67 is that a route? Am I going to put in a routing
table and consider
my best route? There are several decision points. But one of those is the
length of the path and
the world of BGP that boils down to the number of autonomous system numbers. So WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
the world of BGP that boils down to the number of autonomous system numbers. So
for example,
when this route was advertised over here, perhaps as it was advertised, it said
, Hey,
regardless of this route, it went through as 67 and it went through as 95 and
it went through as
777. And over here, this route went through as 67 and as 213. And as a result,
this one right here,
because it went through less autonomous systems, effectively a shorter length
of its path. It's
this one that would be chosen to be used and put into the routing table as the
route is going to WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
route is going to
use. So this router would still be aware of this additional route, but it
simply wouldn't choose
it as a preferred route because this one has a shorter autonomous system path
associated
with that route. All right, so now that we've taken a look at some of the use
cases and some
general characteristics regarding border gateway protocol in the next video,
let's put a specific
game plan together to use border gateway protocol between an external router
here and our tier
zero gateway. So I'll see you in the next video in just a minute.