At this point, we understand how we can communicate between two-fabric edge
nodes and between
the hosts that are attached to them.
But in most of our networks, we're not doing as much East and West traffic,
even though
that could be very important at the access layer, especially if we're
communicating to
maybe wireless printers or file servers or even just peer-to-peer
communications in
certain environments.
However, what about if we have North-South traffic, meaning that I'm trying to WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
However, what about if we have North-South traffic, meaning that I'm trying to
connect
up to the internet, which is possible, or I'm simply trying to connect to the
rest of
my corporate network.
Usually I have a lot of corporate network resources that are out there, so
trying to
communicate maybe to the data center or communicate to other locations.
So maybe I'm trying to connect through the WAN.
Or for that matter, maybe I'm just trying to connect to other distribution
sites and
communicate out to those locations. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
communicate out to those locations.
And so the question is now, how do I handle traffic coming in that's destined
for one
of these types of locations?
We're talking about subnets that do not exist inside of the SDA fabric.
So these are non-SDA subnets.
Either we're talking about the internet or we're talking about our own networks
that
just don't exist at this site.
When we may recall that this is the responsibility of the border nodes, we're WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
When we may recall that this is the responsibility of the border nodes, we're
going to deploy
border nodes into our environment to connect us out to these different types of
networks.
And there are actually three different types of border nodes.
We have internal border nodes, external border nodes, as well as, well we've
got a couple
of different words for this in our ways of describing it.
We could call it an anywhere border node.
This term has become popular. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
This term has become popular.
Or we could just call it an internal plus external.
And occasionally you might hear referred to as a hybrid, but either way we see
we have
three different types of border nodes.
So what are these different types?
Well let's start with internal border nodes.
The idea of an internal border node would be to connect us to networks such as
those
on the left.
So we have this border node here that is part of the fabric. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So we have this border node here that is part of the fabric.
So we're building our VX land tunnels among all of our different edge devices.
But the internal border node, just like any other border node, is going to be
part of
that fabric topology.
And so we're communicating with the control plane node and all of these
different situations,
except now we're no longer trying to register endpoints.
I don't have endpoints connecting off of this so much as I have networks. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
I don't have endpoints connecting off of this so much as I have networks.
And that's what's key.
I am not only connecting us to other networks that live within the corporate
world, so not
out on the internet, but because of this, I'm actually going to register these
subnets
with the fabric.
Well how do we do that?
Well we are going to do the onboarding concept, except rather than onboarding
one of these
endpoints as /32 routes, I'm going to onboard by sending my register message WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
endpoints as /32 routes, I'm going to onboard by sending my register message
for the actual
subnets that I'm learning.
Why are we doing this?
Well the reason for this is because if I get a packet that is destined for an
internal
subnet, let's just say it's something in the data center.
We're trying to communicate with an application that it lives in one of our
data centers.
Well at that point, I need to know where to send it.
So I'm going to do my check-in with the control plane node, and the control WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So I'm going to do my check-in with the control plane node, and the control
plane node needs
to check its EID to our locked mappings.
Well in this case, it's going to find that the longest prefix match, when we're
looking
at our endpoint identifiers, we're going to find, maybe this is a /24 subnet up
here,
so we're going to find that the /24 subnet maps to that internal border node.
Because it's mapping to the internal border node, I know that I can send it out WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
Because it's mapping to the internal border node, I know that I can send it out
the appropriate
VXLAN tunnel to get it to where it needs to go.
Now the border node, as the name implies, sort of draws this dividing line here
.
I have the fabric communications internally here, and then I have the rest of
the traditional
networking world north of here.
So we have a dividing line, and yet the internal border node needs to handle
both.
We need to be registering subnets internally, we need to be encapsulating and
de-capsulating WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
de-capsulating
VXLAN, but we also need to be advertising our fabric routes to the rest of the
network,
because these routers, these devices up here, they need to know how to get to
these hosts.
We need to know how to send the return traffic back to the fabric, and so that
has to land
with our internal border node.
So the internal border node is importantly going to be performing the
advertisement of
routes and the registration of subnets, handling both environments. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
routes and the registration of subnets, handling both environments.
Now we need to talk about the external border node.
The external border node is also going to connect into the fabric, and we're
going to
have our VXLAN tunnels all established, but the external border node is going
to connect
to unknown subnets.
Basically, it's intended to connect to the internet.
Because we're connecting to the internet, we aren't going to be trying to
advertise WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
advertise
any kind of subnets here.
We're not registering anything whatsoever.
That's a pretty fascinating part about this, because if I think about things
from a traditional
perspective, and I have a device that sits at my network edge that communicates
to the
internet, how do I get out to the internet?
Well, I'm not asking that device to advertise internet routes and the full
internet routing
table into the network.
Instead, it's going to advertise a default route. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
Instead, it's going to advertise a default route.
So if I have a specific network internally I need to go to, then I get
forwarded to those
internal networks.
But if I am going out to the internet, well, the routers, the layer three
devices, they
have to check their routing tables, say, okay, do I know where that route is?
And if I don't, well, that's when it's going to use the default route and get
forwarded
out to the internet.
So that's the same concept here that we're going to use.
The difference is it doesn't actually involve registering or advertising any
kind of default WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
kind of default
route.
So if I have a packet that's destined for the internet, well, how do I know
what to do
with this?
If the control plane node doesn't know any routes that are attached to the
external border
node, well, here's what happens.
We perform our map request and we get that negative map reply, which is a type
of reply
that says, I don't have an entry. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
that says, I don't have an entry.
As soon as I get this official response back that says there is no entry for
your request,
if well, that that implies that I need to follow the default route, so to speak
, which
is to go to the external border node.
So this fabric edge node number one is going to take this packet in and it's
going to forward
it to its nearest external border node and allow the external border node to
forward that
packet on. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
packet on.
So very importantly, the external border node is doing no registration of
routes into the
fabric, whereas the internal border node is doing so.
Now what about this last type?
We're talking about this anywhere node.
What is that about?
Well, for smaller networks, we might find that the internet and all the
external connections
are all coming in through maybe one single node.
And it might also not just be a matter of size.
We might just find that there is no internal internet circuit with this WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
We might just find that there is no internal internet circuit with this
particular location.
Instead, the internet is just another one of those connections that hangs off
of the
network core.
Well, in this situation, this is no longer an internal border node.
This would be an internal plus external or otherwise an anywhere border node.
The anywhere border node simply performs both roles at the exact same time.
And so it is going to register subnets that it learns internally.
But also if we have a packet coming into a fabric edge node and we get this WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
But also if we have a packet coming into a fabric edge node and we get this
negative map
reply saying the fabric isn't aware of where that subnet is, well, at that
point, we would
send it to the anywhere border node because it's our closest external border
node function.
It just happens to be on a border node that's also doing internal border node
functionality
as well.
And so if our connection to the internet is and ultimately the default route is WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
And so if our connection to the internet is and ultimately the default route is
pointing
in the same direction as the rest of the subnets that we're aware of, then we
are going to
refer to this as an anywhere node.
However, if the internet is coming into a dedicated connection, then we will
have distinct
external and internal border nodes.