WEBVTT

1
00:00.000 --> 00:04.720
So when it comes down to a device that is acting as a layer 3 IP router,

2
00:04.720 --> 00:10.200
it really boils down to three basic ways that a router can learn how to make a

3
00:10.200 --> 00:11.160
forwarding decision.

4
00:11.160 --> 00:14.200
Number one, it can have a directly connected network.

5
00:14.200 --> 00:17.400
Another example could be our Gateway Zero, our services router here,

6
00:17.400 --> 00:19.480
that is also directly connected to that segment,

7
00:19.480 --> 00:23.280
and also our Tier Zero Gateway is also directly connected to this segment and

8
00:23.280 --> 00:24.000
that segment,

9
00:24.000 --> 00:27.280
and each of those segments is associated with an IP subnet,

10
00:27.280 --> 00:29.720
and as a result, those directly connected IP networks

11
00:29.720 --> 00:31.440
would become part of the routing table.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

11
00:29.720 --> 00:31.440
would become part of the routing table.

12
00:31.440 --> 00:34.000
So that's one of our options for populating a routing table.

13
00:34.000 --> 00:37.680
Another option is to go ahead and have a static route configured.

14
00:37.680 --> 00:40.760
And think of a static route like specific instructions that you and I have to

15
00:40.760 --> 00:42.120
manually configure

16
00:42.120 --> 00:44.880
on a router to tell it how to make a forwarding decision.

17
00:44.880 --> 00:48.400
So for example, if we came in manually and we created a default route here,

18
00:48.400 --> 00:52.640
the next top is over here at the IP address of this external router,

19
00:52.640 --> 00:54.320
that would be an example of a static route,

20
00:54.320 --> 00:58.720
or if we manually went in and specified how to reach the 1010 or 1020 subnets,

21
00:58.720 --> 01:01.000
again, those would be examples of static routes.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

21
00:58.720 --> 01:01.000
again, those would be examples of static routes.

22
01:01.000 --> 01:04.560
However, in the world of NSX, we have a much more elegant solution that is at

23
01:04.560 --> 01:05.760
our Tier 1 gateways.

24
01:05.760 --> 01:09.420
We simply check the box, it says, "Please advertise those directly connected

25
01:09.420 --> 01:09.840
networks,

26
01:09.840 --> 01:13.340
and as a result, our Tier Zero Gateway knows about those without having to put

27
01:13.340 --> 01:14.440
in static routes."

28
01:14.440 --> 01:17.290
And then the third option regarding training a router on how to make a

29
01:17.290 --> 01:18.240
forwarding decision

30
01:18.240 --> 01:20.400
is to use a dynamic routing protocol.

31
01:20.400 --> 01:23.720
And although there are several different dynamic routing protocols out there,

32
01:23.720 --> 01:26.680
the ones that are supported by NSX include OSPF,

33
01:26.680 --> 01:30.920
which we covered in a previous skill, and also border gateway protocol,
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

33
01:26.680 --> 01:30.920
which we covered in a previous skill, and also border gateway protocol,

34
01:30.920 --> 01:32.920
which goes by the acronym of BGP.

35
01:32.920 --> 01:37.260
So in this skill, we're going to focus on setting up BGP between our Tier Zero

36
01:37.260 --> 01:37.880
Gateway

37
01:37.880 --> 01:41.400
and an external router who's also running border gateway protocol.

38
01:41.400 --> 01:44.540
So let me clean that up a little bit, and let's talk about some use cases for B

39
01:44.540 --> 01:45.800
GP in general.

40
01:45.800 --> 01:49.560
One of the major use cases for BGP is on the Internet.

41
01:49.560 --> 01:52.200
So let's imagine we have several service providers out there,

42
01:52.200 --> 01:56.120
which we do on the public Internet today, and I'll just draw three of them.

43
01:56.120 --> 01:58.120
So let's say this is a service provider A,

44
01:58.120 --> 02:02.120
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

44
01:58.120 --> 02:02.120
and this one is service provider B, and over here, this is going to be service

45
02:02.120 --> 02:02.760
provider C.

46
02:02.760 --> 02:06.350
And let's go ahead and add a whole bunch of routers to each of those service

47
02:06.350 --> 02:07.000
providers.

48
02:07.000 --> 02:09.240
So those little green circles represent routers,

49
02:09.240 --> 02:11.880
and then it's very likely we're going to have a bunch of connections between

50
02:11.880 --> 02:12.760
those routers

51
02:12.760 --> 02:15.160
inside of a service provider network.

52
02:15.160 --> 02:16.840
We'll put some fault tolerance there.

53
02:16.840 --> 02:20.250
We'll put some connections here as well, maybe a little fault tolerance there

54
02:20.250 --> 02:20.680
as well.

55
02:20.680 --> 02:24.540
And also here for service provider C, we'll put some connections between the

56
02:24.540 --> 02:24.920
routers,

57
02:24.920 --> 02:26.760
and maybe one like that, one like that.

58
02:26.760 --> 02:32.040
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

58
02:26.760 --> 02:32.040
So let's imagine the service provider A has 10,000 routes that it's responsible

59
02:32.040 --> 02:32.680
for,

60
02:32.680 --> 02:38.650
and service provider B has 20,000 routes, and service provider C has 30,000

61
02:38.650 --> 02:39.320
routes.

62
02:39.320 --> 02:41.160
Now, when we're dealing with that many routes,

63
02:41.160 --> 02:44.680
and if we multiply that by many more service providers and many more routes,

64
02:44.680 --> 02:49.080
we literally have hundreds of thousands of routes out there on the Internet.

65
02:49.080 --> 02:51.080
And when we start looking at large number of routes,

66
02:51.080 --> 02:54.920
and so on the Internet today regarding just IP version four, we have hundreds

67
02:54.920 --> 02:56.280
of thousands of routes.

68
02:56.280 --> 02:59.720
And then for IPV six, we have hundreds of thousands more routes.

69
02:59.720 --> 03:03.000
So when dealing with large quantities of routes, we need a dynamic routing
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

69
02:59.720 --> 03:03.000
So when dealing with large quantities of routes, we need a dynamic routing

70
03:03.000 --> 03:03.560
protocol

71
03:03.560 --> 03:05.560
that can handle that quantity.

72
03:05.560 --> 03:08.760
So on the Internet, that's what they use when they interact with each other.

73
03:08.760 --> 03:11.240
They're using border gateway protocol.

74
03:11.240 --> 03:14.280
And in the world of BGP, each of these service providers is going to be

75
03:14.280 --> 03:16.280
assigned one or more

76
03:16.280 --> 03:19.880
numbers. And these are referred to as autonomous system numbers.

77
03:19.880 --> 03:22.200
Or for short, we just put AS.

78
03:22.200 --> 03:23.640
So let's say, for example,

79
03:23.640 --> 03:27.980
service provider A has been given the autonomous system number of one, one, one

80
03:27.980 --> 03:28.200
.

81
03:28.200 --> 03:32.080
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

81
03:28.200 --> 03:32.080
And let's imagine that service provider B here has been given the autonomous

82
03:32.080 --> 03:33.000
system number of

83
03:33.000 --> 03:37.400
two, two, two, and service provider C. We're going to follow that same pattern

84
03:37.400 --> 03:40.760
and have it be assigned the autonomous system number of three, three, three.

85
03:40.760 --> 03:43.000
So in service provider A has a whole bunch of routers,

86
03:43.000 --> 03:46.440
and they're all running BGP to share and update routes with each other.

87
03:46.440 --> 03:50.440
Because in this example, all these routers are in the autonomous system, one,

88
03:50.440 --> 03:51.240
one, one,

89
03:51.240 --> 03:55.080
all these BGP neighborhoods are being formed between the routers here up at

90
03:55.080 --> 03:58.440
service provider A because they're all inside of this autonomous system, one,

91
03:58.440 --> 03:59.000
one, one.

92
03:59.000 --> 04:03.640
Those are referred to as internal BGP neighborhoods.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

92
03:59.000 --> 04:03.640
Those are referred to as internal BGP neighborhoods.

93
04:03.640 --> 04:06.040
So we'll call it I BGP for short.

94
04:06.040 --> 04:08.680
And the same thing would happen down here for all the routers at service

95
04:08.680 --> 04:09.320
provider B,

96
04:09.320 --> 04:13.160
where all the routers are participating as part of AS222.

97
04:13.160 --> 04:17.960
So that would be internal BGP neighborhoods between all these routers here at

98
04:17.960 --> 04:19.000
service provider B.

99
04:19.000 --> 04:22.120
And the same thing over here for service provider C with the autonomous system

100
04:22.120 --> 04:23.000
three, three, three,

101
04:23.000 --> 04:26.440
all these relationships here inside the service provider network, it'll be

102
04:26.440 --> 04:28.200
internal BGP neighborhoods

103
04:28.200 --> 04:29.960
because they're all within the same autonomous system.

104
04:29.960 --> 04:33.720
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

104
04:29.960 --> 04:33.720
So if we took a user and we'll put that user's computer right there who's

105
04:33.720 --> 04:34.600
connected and getting

106
04:34.600 --> 04:38.800
internet access through service provider C, it's very possible this user, and

107
04:38.800 --> 04:39.560
we'll call this user

108
04:39.560 --> 04:43.780
user one. It's very possible they may be going to a resource that's reachable

109
04:43.780 --> 04:44.440
off of a network

110
04:44.440 --> 04:47.830
that's under the control of service provider A. So we'll go ahead and put the

111
04:47.830 --> 04:48.600
server up here.

112
04:48.600 --> 04:52.040
So if we want the internet to work and be able to route traffic everywhere,

113
04:52.040 --> 04:54.840
we're going to need some cooperation between the service providers because we

114
04:54.840 --> 04:55.400
also may have a

115
04:55.400 --> 04:58.760
server over here, for example, again, that this user may need access to.

116
04:58.760 --> 05:02.760
So to facilitate the sharing of routing information between service providers
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

116
04:58.760 --> 05:02.760
So to facilitate the sharing of routing information between service providers

117
05:02.760 --> 05:03.800
with BGP,

118
05:03.800 --> 05:07.800
we're going to go ahead and set up some connections, some neighborhoods between

119
05:07.800 --> 05:11.720
some routers in service provider A and some routers in service provider B and

120
05:11.720 --> 05:12.120
any other

121
05:12.120 --> 05:15.320
service providers that we need to directly share routing information with.

122
05:15.320 --> 05:19.800
So I'm going to use an orange color for the logical neighborhoods between a

123
05:19.800 --> 05:20.520
router here in

124
05:20.520 --> 05:24.520
service provider A and autonomous system 1111 and a router over here in service

125
05:24.520 --> 05:25.400
provider C

126
05:25.400 --> 05:28.920
in autonomous system three, three, three, and I'm also going to go ahead and do

127
05:28.920 --> 05:30.200
that here and here
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

127
05:28.920 --> 05:30.200
that here and here

128
05:30.200 --> 05:34.380
as well. And I'll do it here and here as well. And for fault tolerance, it's

129
05:34.380 --> 05:35.160
very likely we'd

130
05:35.160 --> 05:38.840
have more than just one single router from service provider A to service where

131
05:38.840 --> 05:39.400
B but for

132
05:39.400 --> 05:44.100
this diagram that'll work. Now these orange logical neighborhoods between these

133
05:44.100 --> 05:44.520
routers

134
05:44.520 --> 05:47.080
and different service providers, because they're setting up their neighborhoods

135
05:47.080 --> 05:47.880
between two routers

136
05:47.880 --> 05:51.880
in two different autonomous systems, for example, this router here, which I'll

137
05:51.880 --> 05:53.160
call router one,

138
05:53.160 --> 05:56.340
and then we call this one router two, and I'll call this one router three. So

139
05:56.340 --> 05:57.160
in the case of router

140
05:57.160 --> 06:00.590
one forming a neighborhood here with router three and a different autonomous
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

140
05:57.160 --> 06:00.590
one forming a neighborhood here with router three and a different autonomous

141
06:00.590 --> 06:00.920
system,

142
06:00.920 --> 06:05.400
because that relationship is between two BGP routers in two different

143
06:05.400 --> 06:06.440
autonomous systems,

144
06:06.440 --> 06:11.400
that relationship is referred to as an external BGP neighborhood. So all these

145
06:11.400 --> 06:12.360
connections here in

146
06:12.360 --> 06:16.470
orange are going to represent external BGP neighborhoods. Now there's a lot of

147
06:16.470 --> 06:17.640
rules of the road

148
06:17.640 --> 06:21.570
and options regarding tweaking border gateway protocol. And so our intent in

149
06:21.570 --> 06:22.120
this scale is

150
06:22.120 --> 06:26.030
just give you a high level overview of some of the basic concepts, and then put

151
06:26.030 --> 06:27.160
a game plan together

152
06:27.160 --> 06:31.230
and then walk through the configuration and verification between our tier zero
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

152
06:27.160 --> 06:31.230
and then walk through the configuration and verification between our tier zero

153
06:31.230 --> 06:31.720
gateway

154
06:31.720 --> 06:35.480
and an external BGP router. And in preparation for that, I'd also like to chat

155
06:35.480 --> 06:36.200
with you once again

156
06:36.200 --> 06:40.820
about administrative distance. So if you have a router that has learned the

157
06:40.820 --> 06:42.040
same exact route from

158
06:42.040 --> 06:45.550
two different sources, so let's pick this router right here. So if this router

159
06:45.550 --> 06:46.600
right here has learned

160
06:46.600 --> 06:52.740
about the network 66, 66, 66, zero with a 24-bit mask, and it learned about

161
06:52.740 --> 06:54.520
that via OSPF,

162
06:54.520 --> 06:57.960
and it learned about that same exact route from another source, but it learned

163
06:57.960 --> 06:58.200
it via

164
06:58.200 --> 07:02.670
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

164
06:58.200 --> 07:02.670
internal BGP. And it also learned it from another source, but it was a external

165
07:02.670 --> 07:03.480
BGP neighbor.

166
07:03.480 --> 07:07.230
That's an example of learning the same exact prefix fancy way for saying

167
07:07.230 --> 07:08.040
network reachability

168
07:08.040 --> 07:12.410
or a route, the same exact route three different ways. So in the event you have

169
07:12.410 --> 07:13.160
a router that's

170
07:13.160 --> 07:16.650
learning the same exact route from three different sources, who is it to

171
07:16.650 --> 07:18.360
believe? And the answer is,

172
07:18.360 --> 07:23.490
it's like golf and administrative distance. So each of these routing protocols

173
07:23.490 --> 07:24.200
has a default

174
07:24.200 --> 07:28.760
administrative distance. So SPF, that is 110 that we saw in the previous skill

175
07:28.760 --> 07:30.200
when we configured OSPF
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

175
07:28.760 --> 07:30.200
when we configured OSPF

176
07:30.200 --> 07:35.730
and adjacencies here between tier zero and the external routers. Internal BGP

177
07:35.730 --> 07:36.520
has a really,

178
07:36.520 --> 07:41.980
really terrible, meaning high default administrative distance, which is 200.

179
07:41.980 --> 07:44.120
And external BGP has a

180
07:44.120 --> 07:47.790
default administrative distance of 20. So what that means is that if we learn

181
07:47.790 --> 07:48.920
the same exact route

182
07:48.920 --> 07:52.600
from these three sources, the one that would make it into the routing table is

183
07:52.600 --> 07:53.800
the external BGP

184
07:53.800 --> 07:58.110
learned route with a better and lower like golf administrative distance. So let

185
07:58.110 --> 07:58.680
's clean this up

186
07:58.680 --> 08:03.100
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

186
07:58.680 --> 08:03.100
a little bit and also talk about another use case for using BGP as a dynamic

187
08:03.100 --> 08:04.520
routing protocol.

188
08:04.520 --> 08:08.460
Another use case is if we have a spine leaf architecture. So I'm going to go

189
08:08.460 --> 08:09.880
ahead and just put a couple

190
08:09.880 --> 08:13.410
of spine layer switches here. And then below that, I'm going to go ahead and

191
08:13.410 --> 08:14.440
put some top of racks

192
08:14.440 --> 08:18.780
which is here for this rack and a couple of top of racks, which is here for

193
08:18.780 --> 08:19.880
this rack and some top

194
08:19.880 --> 08:24.570
of racks, which is here for this rack. So this layer right here, which I'll go

195
08:24.570 --> 08:25.400
ahead and put a

196
08:25.400 --> 08:29.420
rectangle around this represents the leaf layer. And this layer right here

197
08:29.420 --> 08:30.760
represents the spine.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

197
08:29.420 --> 08:30.760
represents the spine.

198
08:30.760 --> 08:34.410
So our connections would look something like this. And this would be our spine

199
08:34.410 --> 08:35.320
layer. So a lot of

200
08:35.320 --> 08:38.840
times when we have a spine leaf architecture, we're going to be doing routing

201
08:38.840 --> 08:39.640
logical layer three

202
08:39.640 --> 08:43.830
routing between these racks, which also implies we have layer three routing set

203
08:43.830 --> 08:44.520
up between the

204
08:44.520 --> 08:48.380
leaf layer and the spine layer. So to share routing information there, we could

205
08:48.380 --> 08:49.640
also use OSPF

206
08:49.800 --> 08:54.100
if we wanted to, or we could use BGP to share that routing information. Either

207
08:54.100 --> 08:55.000
one would work

208
08:55.000 --> 08:58.490
as long as we're correctly sharing the reachability information so that the

209
08:58.490 --> 08:59.720
leaf and spine layers can

210
08:59.720 --> 09:02.810
make their forwarding decisions respectively. So let me clean that up a little
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

210
08:59.720 --> 09:02.810
make their forwarding decisions respectively. So let me clean that up a little

211
09:02.810 --> 09:03.720
bit. And let's talk

212
09:03.720 --> 09:07.830
about one last little aspect regarding BGP in general. And then we'll go to the

213
09:07.830 --> 09:08.840
next video where

214
09:08.840 --> 09:12.770
we'll put a game plan together. Let's imagine that we're running BGP and we

215
09:12.770 --> 09:14.280
have a router. And it has

216
09:14.280 --> 09:20.030
learned about the same exact network, let's go and put network 67 67 dot zero

217
09:20.030 --> 09:21.560
with a 24 bit mask.

218
09:21.560 --> 09:26.990
And it's learned that from two different E BGP neighbors. So there's our router

219
09:26.990 --> 09:27.400
. And over here,

220
09:27.400 --> 09:31.940
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

220
09:27.400 --> 09:31.940
we'll have a BGP neighbor. That's an external neighbor. And over here, we have

221
09:31.940 --> 09:32.680
a BGP neighbor

222
09:32.680 --> 09:36.600
that's an external neighbor. And they're both advertising this network. So at

223
09:36.600 --> 09:37.000
that point,

224
09:37.000 --> 09:41.460
this router might say, well, they're both being advertised via external BGP. So

225
09:41.460 --> 09:42.120
the admission of

226
09:42.120 --> 09:46.990
distance is 20 for both of them. So now what do I do? So when it comes to the

227
09:46.990 --> 09:47.640
decision about,

228
09:47.640 --> 09:51.700
okay, which route which 67 67 is that a route? Am I going to put in a routing

229
09:51.700 --> 09:52.600
table and consider

230
09:52.600 --> 09:56.010
my best route? There are several decision points. But one of those is the

231
09:56.010 --> 09:57.560
length of the path and

232
09:57.560 --> 10:01.880
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

232
09:57.560 --> 10:01.880
the world of BGP that boils down to the number of autonomous system numbers. So

233
10:01.880 --> 10:02.840
for example,

234
10:02.840 --> 10:06.520
when this route was advertised over here, perhaps as it was advertised, it said

235
10:06.520 --> 10:06.760
, Hey,

236
10:06.760 --> 10:11.730
regardless of this route, it went through as 67 and it went through as 95 and

237
10:11.730 --> 10:12.680
it went through as

238
10:12.680 --> 10:19.520
777. And over here, this route went through as 67 and as 213. And as a result,

239
10:19.520 --> 10:20.920
this one right here,

240
10:20.920 --> 10:25.230
because it went through less autonomous systems, effectively a shorter length

241
10:25.230 --> 10:26.200
of its path. It's

242
10:26.200 --> 10:29.920
this one that would be chosen to be used and put into the routing table as the

243
10:29.920 --> 10:30.680
route is going to
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

243
10:29.920 --> 10:30.680
route is going to

244
10:30.680 --> 10:34.210
use. So this router would still be aware of this additional route, but it

245
10:34.210 --> 10:35.320
simply wouldn't choose

246
10:35.320 --> 10:39.300
it as a preferred route because this one has a shorter autonomous system path

247
10:39.300 --> 10:39.960
associated

248
10:39.960 --> 10:43.380
with that route. All right, so now that we've taken a look at some of the use

249
10:43.380 --> 10:44.360
cases and some

250
10:44.360 --> 10:48.420
general characteristics regarding border gateway protocol in the next video,

251
10:48.420 --> 10:49.240
let's put a specific

252
10:49.240 --> 10:53.620
game plan together to use border gateway protocol between an external router

253
10:53.620 --> 10:55.080
here and our tier

254
10:55.080 --> 10:58.520
zero gateway. So I'll see you in the next video in just a minute.
