WEBVTT

1
00:00.000 --> 00:05.100
At this point, we understand how we can communicate between two-fabric edge

2
00:05.100 --> 00:06.340
nodes and between

3
00:06.340 --> 00:09.540
the hosts that are attached to them.

4
00:09.540 --> 00:13.360
But in most of our networks, we're not doing as much East and West traffic,

5
00:13.360 --> 00:14.100
even though

6
00:14.100 --> 00:16.860
that could be very important at the access layer, especially if we're

7
00:16.860 --> 00:18.380
communicating to

8
00:18.380 --> 00:22.330
maybe wireless printers or file servers or even just peer-to-peer

9
00:22.330 --> 00:23.540
communications in

10
00:23.540 --> 00:24.940
certain environments.

11
00:24.940 --> 00:30.130
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

11
00:24.940 --> 00:30.130
However, what about if we have North-South traffic, meaning that I'm trying to

12
00:30.130 --> 00:30.760
connect

13
00:30.760 --> 00:36.610
up to the internet, which is possible, or I'm simply trying to connect to the

14
00:36.610 --> 00:37.160
rest of

15
00:37.160 --> 00:40.060
my corporate network.

16
00:40.060 --> 00:43.980
Usually I have a lot of corporate network resources that are out there, so

17
00:43.980 --> 00:44.540
trying to

18
00:44.540 --> 00:48.600
communicate maybe to the data center or communicate to other locations.

19
00:48.600 --> 00:51.460
So maybe I'm trying to connect through the WAN.

20
00:51.460 --> 00:58.220
Or for that matter, maybe I'm just trying to connect to other distribution

21
00:58.220 --> 00:58.880
sites and

22
00:58.880 --> 01:01.940
communicate out to those locations.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

22
00:58.880 --> 01:01.940
communicate out to those locations.

23
01:01.940 --> 01:07.750
And so the question is now, how do I handle traffic coming in that's destined

24
01:07.750 --> 01:08.380
for one

25
01:08.380 --> 01:10.380
of these types of locations?

26
01:10.380 --> 01:16.080
We're talking about subnets that do not exist inside of the SDA fabric.

27
01:16.080 --> 01:21.260
So these are non-SDA subnets.

28
01:21.260 --> 01:24.640
Either we're talking about the internet or we're talking about our own networks

29
01:24.640 --> 01:24.820
that

30
01:24.820 --> 01:27.940
just don't exist at this site.

31
01:27.940 --> 01:33.050
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

31
01:27.940 --> 01:33.050
When we may recall that this is the responsibility of the border nodes, we're

32
01:33.050 --> 01:34.060
going to deploy

33
01:34.060 --> 01:39.860
border nodes into our environment to connect us out to these different types of

34
01:39.860 --> 01:40.980
networks.

35
01:40.980 --> 01:44.060
And there are actually three different types of border nodes.

36
01:44.060 --> 01:50.930
We have internal border nodes, external border nodes, as well as, well we've

37
01:50.930 --> 01:52.100
got a couple

38
01:52.100 --> 01:54.760
of different words for this in our ways of describing it.

39
01:54.760 --> 01:58.980
We could call it an anywhere border node.

40
01:58.980 --> 02:01.300
This term has become popular.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

40
01:58.980 --> 02:01.300
This term has become popular.

41
02:01.300 --> 02:06.500
Or we could just call it an internal plus external.

42
02:06.500 --> 02:10.150
And occasionally you might hear referred to as a hybrid, but either way we see

43
02:10.150 --> 02:10.580
we have

44
02:10.580 --> 02:14.180
three different types of border nodes.

45
02:14.180 --> 02:16.420
So what are these different types?

46
02:16.420 --> 02:19.060
Well let's start with internal border nodes.

47
02:19.060 --> 02:23.940
The idea of an internal border node would be to connect us to networks such as

48
02:23.940 --> 02:24.460
those

49
02:24.460 --> 02:25.900
on the left.

50
02:25.900 --> 02:30.180
So we have this border node here that is part of the fabric.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

50
02:25.900 --> 02:30.180
So we have this border node here that is part of the fabric.

51
02:30.180 --> 02:36.820
So we're building our VX land tunnels among all of our different edge devices.

52
02:36.820 --> 02:41.300
But the internal border node, just like any other border node, is going to be

53
02:41.300 --> 02:41.740
part of

54
02:41.740 --> 02:43.780
that fabric topology.

55
02:43.780 --> 02:48.050
And so we're communicating with the control plane node and all of these

56
02:48.050 --> 02:50.020
different situations,

57
02:50.020 --> 02:53.740
except now we're no longer trying to register endpoints.

58
02:53.740 --> 03:01.100
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

58
02:53.740 --> 03:01.100
I don't have endpoints connecting off of this so much as I have networks.

59
03:01.100 --> 03:02.100
And that's what's key.

60
03:02.100 --> 03:08.570
I am not only connecting us to other networks that live within the corporate

61
03:08.570 --> 03:09.660
world, so not

62
03:09.660 --> 03:16.170
out on the internet, but because of this, I'm actually going to register these

63
03:16.170 --> 03:16.620
subnets

64
03:16.620 --> 03:18.140
with the fabric.

65
03:18.140 --> 03:19.740
Well how do we do that?

66
03:19.740 --> 03:24.530
Well we are going to do the onboarding concept, except rather than onboarding

67
03:24.530 --> 03:25.340
one of these

68
03:25.340 --> 03:32.060
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

68
03:25.340 --> 03:32.060
endpoints as /32 routes, I'm going to onboard by sending my register message

69
03:32.060 --> 03:33.340
for the actual

70
03:33.340 --> 03:36.820
subnets that I'm learning.

71
03:36.820 --> 03:38.060
Why are we doing this?

72
03:38.060 --> 03:42.870
Well the reason for this is because if I get a packet that is destined for an

73
03:42.870 --> 03:43.580
internal

74
03:43.580 --> 03:49.220
subnet, let's just say it's something in the data center.

75
03:49.220 --> 03:53.410
We're trying to communicate with an application that it lives in one of our

76
03:53.410 --> 03:54.460
data centers.

77
03:54.460 --> 03:57.460
Well at that point, I need to know where to send it.

78
03:57.460 --> 04:01.560
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

78
03:57.460 --> 04:01.560
So I'm going to do my check-in with the control plane node, and the control

79
04:01.560 --> 04:02.620
plane node needs

80
04:02.620 --> 04:05.940
to check its EID to our locked mappings.

81
04:05.940 --> 04:10.440
Well in this case, it's going to find that the longest prefix match, when we're

82
04:10.440 --> 04:11.100
looking

83
04:11.100 --> 04:16.150
at our endpoint identifiers, we're going to find, maybe this is a /24 subnet up

84
04:16.150 --> 04:18.220
here,

85
04:18.220 --> 04:26.980
so we're going to find that the /24 subnet maps to that internal border node.

86
04:26.980 --> 04:30.410
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

86
04:26.980 --> 04:30.410
Because it's mapping to the internal border node, I know that I can send it out

87
04:30.410 --> 04:31.300
the appropriate

88
04:31.300 --> 04:35.580
VXLAN tunnel to get it to where it needs to go.

89
04:35.580 --> 04:40.380
Now the border node, as the name implies, sort of draws this dividing line here

90
04:40.380 --> 04:40.660
.

91
04:40.660 --> 04:47.160
I have the fabric communications internally here, and then I have the rest of

92
04:47.160 --> 04:48.620
the traditional

93
04:48.620 --> 04:51.380
networking world north of here.

94
04:51.380 --> 04:55.340
So we have a dividing line, and yet the internal border node needs to handle

95
04:55.340 --> 04:55.900
both.

96
04:55.900 --> 04:59.630
We need to be registering subnets internally, we need to be encapsulating and

97
04:59.630 --> 05:00.500
de-capsulating
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

97
04:59.630 --> 05:00.500
de-capsulating

98
05:00.500 --> 05:07.550
VXLAN, but we also need to be advertising our fabric routes to the rest of the

99
05:07.550 --> 05:08.820
network,

100
05:08.820 --> 05:13.560
because these routers, these devices up here, they need to know how to get to

101
05:13.560 --> 05:14.620
these hosts.

102
05:14.620 --> 05:18.820
We need to know how to send the return traffic back to the fabric, and so that

103
05:18.820 --> 05:19.500
has to land

104
05:19.500 --> 05:22.820
with our internal border node.

105
05:22.820 --> 05:26.740
So the internal border node is importantly going to be performing the

106
05:26.740 --> 05:27.660
advertisement of

107
05:27.660 --> 05:32.820
routes and the registration of subnets, handling both environments.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

107
05:27.660 --> 05:32.820
routes and the registration of subnets, handling both environments.

108
05:32.820 --> 05:38.500
Now we need to talk about the external border node.

109
05:38.500 --> 05:42.190
The external border node is also going to connect into the fabric, and we're

110
05:42.190 --> 05:42.620
going to

111
05:42.620 --> 05:49.050
have our VXLAN tunnels all established, but the external border node is going

112
05:49.050 --> 05:49.980
to connect

113
05:49.980 --> 05:52.020
to unknown subnets.

114
05:52.020 --> 05:55.580
Basically, it's intended to connect to the internet.

115
05:55.580 --> 05:59.950
Because we're connecting to the internet, we aren't going to be trying to

116
05:59.950 --> 06:00.660
advertise
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

116
05:59.950 --> 06:00.660
advertise

117
06:00.660 --> 06:02.300
any kind of subnets here.

118
06:02.300 --> 06:06.500
We're not registering anything whatsoever.

119
06:06.500 --> 06:10.770
That's a pretty fascinating part about this, because if I think about things

120
06:10.770 --> 06:11.940
from a traditional

121
06:11.940 --> 06:17.020
perspective, and I have a device that sits at my network edge that communicates

122
06:17.020 --> 06:17.500
to the

123
06:17.500 --> 06:19.820
internet, how do I get out to the internet?

124
06:19.820 --> 06:23.810
Well, I'm not asking that device to advertise internet routes and the full

125
06:23.810 --> 06:24.540
internet routing

126
06:24.540 --> 06:27.300
table into the network.

127
06:27.300 --> 06:30.460
Instead, it's going to advertise a default route.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

127
06:27.300 --> 06:30.460
Instead, it's going to advertise a default route.

128
06:30.460 --> 06:35.300
So if I have a specific network internally I need to go to, then I get

129
06:35.300 --> 06:36.580
forwarded to those

130
06:36.580 --> 06:38.060
internal networks.

131
06:38.060 --> 06:41.610
But if I am going out to the internet, well, the routers, the layer three

132
06:41.610 --> 06:42.540
devices, they

133
06:42.540 --> 06:45.700
have to check their routing tables, say, okay, do I know where that route is?

134
06:45.700 --> 06:49.770
And if I don't, well, that's when it's going to use the default route and get

135
06:49.770 --> 06:50.340
forwarded

136
06:50.340 --> 06:52.300
out to the internet.

137
06:52.300 --> 06:55.980
So that's the same concept here that we're going to use.

138
06:55.980 --> 06:59.970
The difference is it doesn't actually involve registering or advertising any

139
06:59.970 --> 07:00.820
kind of default
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

139
06:59.970 --> 07:00.820
kind of default

140
07:00.820 --> 07:01.980
route.

141
07:01.980 --> 07:07.960
So if I have a packet that's destined for the internet, well, how do I know

142
07:07.960 --> 07:08.780
what to do

143
07:08.780 --> 07:09.780
with this?

144
07:09.780 --> 07:14.690
If the control plane node doesn't know any routes that are attached to the

145
07:14.690 --> 07:16.260
external border

146
07:16.260 --> 07:19.020
node, well, here's what happens.

147
07:19.020 --> 07:27.120
We perform our map request and we get that negative map reply, which is a type

148
07:27.120 --> 07:28.100
of reply

149
07:28.100 --> 07:31.460
that says, I don't have an entry.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

149
07:28.100 --> 07:31.460
that says, I don't have an entry.

150
07:31.460 --> 07:37.730
As soon as I get this official response back that says there is no entry for

151
07:37.730 --> 07:39.460
your request,

152
07:39.460 --> 07:44.410
if well, that that implies that I need to follow the default route, so to speak

153
07:44.410 --> 07:44.980
, which

154
07:44.980 --> 07:48.780
is to go to the external border node.

155
07:48.780 --> 07:52.740
So this fabric edge node number one is going to take this packet in and it's

156
07:52.740 --> 07:53.860
going to forward

157
07:53.860 --> 07:58.650
it to its nearest external border node and allow the external border node to

158
07:58.650 --> 07:59.460
forward that

159
07:59.460 --> 08:00.900
packet on.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

159
07:59.460 --> 08:00.900
packet on.

160
08:00.900 --> 08:06.060
So very importantly, the external border node is doing no registration of

161
08:06.060 --> 08:07.220
routes into the

162
08:07.220 --> 08:11.220
fabric, whereas the internal border node is doing so.

163
08:11.220 --> 08:13.020
Now what about this last type?

164
08:13.020 --> 08:15.460
We're talking about this anywhere node.

165
08:15.460 --> 08:16.580
What is that about?

166
08:16.580 --> 08:22.100
Well, for smaller networks, we might find that the internet and all the

167
08:22.100 --> 08:23.740
external connections

168
08:23.740 --> 08:27.660
are all coming in through maybe one single node.

169
08:27.660 --> 08:29.980
And it might also not just be a matter of size.

170
08:29.980 --> 08:34.190
We might just find that there is no internal internet circuit with this
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

170
08:29.980 --> 08:34.190
We might just find that there is no internal internet circuit with this

171
08:34.190 --> 08:35.620
particular location.

172
08:35.620 --> 08:39.940
Instead, the internet is just another one of those connections that hangs off

173
08:39.940 --> 08:40.340
of the

174
08:40.340 --> 08:41.500
network core.

175
08:41.500 --> 08:45.860
Well, in this situation, this is no longer an internal border node.

176
08:45.860 --> 08:50.900
This would be an internal plus external or otherwise an anywhere border node.

177
08:50.900 --> 08:55.460
The anywhere border node simply performs both roles at the exact same time.

178
08:55.460 --> 08:59.220
And so it is going to register subnets that it learns internally.

179
08:59.220 --> 09:04.210
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

179
08:59.220 --> 09:04.210
But also if we have a packet coming into a fabric edge node and we get this

180
09:04.210 --> 09:05.320
negative map

181
09:05.320 --> 09:09.580
reply saying the fabric isn't aware of where that subnet is, well, at that

182
09:09.580 --> 09:10.700
point, we would

183
09:10.700 --> 09:17.280
send it to the anywhere border node because it's our closest external border

184
09:17.280 --> 09:18.940
node function.

185
09:18.940 --> 09:22.830
It just happens to be on a border node that's also doing internal border node

186
09:22.830 --> 09:23.700
functionality

187
09:23.700 --> 09:24.900
as well.

188
09:24.900 --> 09:32.070
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

188
09:24.900 --> 09:32.070
And so if our connection to the internet is and ultimately the default route is

189
09:32.070 --> 09:33.020
pointing

190
09:33.020 --> 09:37.970
in the same direction as the rest of the subnets that we're aware of, then we

191
09:37.970 --> 09:39.300
are going to

192
09:39.300 --> 09:41.340
refer to this as an anywhere node.

193
09:41.340 --> 09:46.070
However, if the internet is coming into a dedicated connection, then we will

194
09:46.070 --> 09:47.020
have distinct

195
09:47.020 --> 09:49.300
external and internal border nodes.
