Why would we ever train a router to make forwarding decisions
on IP packets, but not use the IP header information, instead
using labels?
That's what we're going to talk about here with MPLS
label switching in this video.
And let's use this topology as we discuss this.
In fact, just for a moment, let's just
take these customers that are hanging off
the edge of the service provider network.
Let's just focus on the service provider network for a moment,
just itself.
Now, inside the service provider network, WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
Now, inside the service provider network,
they know how to reach networks inside their provider network.
How?
Well, it's very likely we're using
OSPF or ISIS to advertise and communicate
routing information.
So if each of these routers has a loopback interface,
and R1 is 1.1.1.1 and R4 is 4.4.4.4
and R2 and R3 have loopback addresses as well, based
on the routing protocol being used,
every router is going to know how
to reach every other router's loopback and also
the adjoining networks because we're using WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
the adjoining networks because we're using
a dynamic routing protocol.
And that works great.
So if R1 needs to forward a packet to R4,
it can just look at its routing table,
look at the next hop-- it's all cached in CEF these days.
Making a forwarding decision, it forwards
that packet along its way, every router doing a route
look up for the packet based on the IP header.
Now, when we implement MPLS, what we're doing
is we're training the network to, hey, you know what?
Don't bother.
Don't bother doing those IP lookups
at every hop along the way. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
at every hop along the way.
Instead, make your forwarding decisions based on labels.
Now, how in the world do labels get in here?
And how do we make those forwarding decisions?
Because we already have OSPF or a routed network for IP,
let me give you the high-level overview
of how we would train these routers to make forwarding
decisions based on labels and where they come from.
Those are all good questions.
So let's start off with enabling MPLS on all these devices.
In fact, let's start on R1.
So what we would do is we'd go to global configuration WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So what we would do is we'd go to global configuration
mode and type in MPLS IP.
Ta-da.
We've just enabled MPLS on this router.
And then furthermore, we'd also enable it on the interfaces
where it's going to have a neighborship or a communication
path with another MPLS speaker.
So we'd go to interface config on each of these interfaces
here in red and we'd use the interface command MPLS space
IP.
It's not very often, very rare, in fact,
where we have the same command in global config
as we do in interface config. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
as we do in interface config.
But this is one of those happy days where
it's the same literal command, once in global config
and once an interface config.
So once we've done that, here's what happens.
These routers will look at all the routes.
Let's imagine R1 has 10 routes.
We're talking about IP routes to networks.
It will look at all 10 routes.
And what R1 is going to do, it's going to create local labels.
And there's a range of labels that it can use.
We can also constrain that list.
But it's going to just grab, from the air-- hey, WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
But it's going to just grab, from the air-- hey,
label 200 isn't used or label 500 isn't used.
It will grab a label and it will associate individual labels
with each of those 10 routes.
So if we have 10 routes, it will have 10 labels, local labels,
one for each of those networks.
And each of these routers is going to do that.
So R1 is going to have its list of local labels associated
with routes.
R2 is going to do the same thing.
It's going to generate its local labels associated
with its routes, and R3 and R4.
So now every router has the routing table from IP
and it also has locally assigned labels for each one of them. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
and it also has locally assigned labels for each one of them.
Then what happens, once they all have labels for all the routes,
they then are going to share those routes
with their directly connected neighbors.
And that's done through a protocol called LDP.
That's the Label Distribution Protocol.
It basically goes like this--
R1 simply shares with R2.
They form a neighborship.
They have hello messages and they form a formal adjacency.
And then they share information with each other.
So R1 is going to say, hey, dear Mr. R2, here's all my labels, WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So R1 is going to say, hey, dear Mr. R2, here's all my labels,
all my local labels associated with the routes
that I know about.
And R2 says, thank you.
And R2 says, oh, by the way.
Here's a list of all my routes that I have
and all my local labels associated with those routes.
And those are shared with each other.
So LDP is run between the neighbors.
So R1 and R2 are going to know about each other's labels
for their respective routes.
R2 and R3 are going to know about each other's labels
for all the routes that they have.
And R3 and R4 are going to know about all the labels.
And for this discussion, let's imagine
that R4, which has the loopback of 4.4.4.4, WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
that R4, which has the loopback of 4.4.4.4,
let's just focus on that route.
And all the other routers know about that route.
Let's imagine that R3 has a locally assigned
label for that network, 4.4.4.4--
and I'll use a different color for this.
I'll use black.
So everything black here will represent the labels
for 4.4.4.4.
So R3, maybe it chose label 325 to represent 4.4.4.4.
And maybe R2 created label 209 for that network 4.4.4.4.
And maybe R1 created the label 167 associated with the network WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
And maybe R1 created the label 167 associated with the network
4.4.4.4.
So the game is this--
if R1 needs to forward a packet to 4.4.4.4,
it's going to look inside of its cache and it's going to say,
you know what?
I just see that R2 advertised its local label of 209
regarding that network.
So what R1 is going to do, instead of just forwarding it
as an IP packet, it's going to inject, I call it, layer 2.5.
And as we continue on in these videos,
I'll show you some protocol analyzers
where we can actually see, literally, the label. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
where we can actually see, literally, the label.
It will take that IP packet and it will inject between layer 2
and layer 3 before the IP header,
it will inject the MPLS label of 209.
So that label of 209 is inserted.
It's forwarded over to R2.
And then R2 says, oh, I just got this packet.
And it has an MPLS label of 209.
And R2 is ready to go.
It says oh, if I get a label of 209,
I know I need to take that one off and replace it
with label 325.
This is all been learned and cached well beforehand, WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
This is all been learned and cached well beforehand,
before the packet ever showed up.
So now R2 imposes or pushes on this label of 325.
It shows up at R3.
And then R3 knows what it needs to do
with it as it continues forwarding it
towards the destination address.
So what we did was, just what these two commands,
the routers are all going to generate local labels.
They are going to share those local labels
with their directly connected neighbors.
And then they're going to figure out
what's called the label forwarding information base.
And they're going to create on each one of them WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
And they're going to create on each one of them
the label forwarding information base that
has all this information ready to go.
So R2, I get a label of 209, I'm going
to swap it out and put the label of 325 there.
And then forward it on over here to R3.
So effectively, this path that we're
creating across the network here,
we're forwarding based on label information.
And we're not forwarding, at this point,
we are not forwarding based on the IP header, which
is going to give us some really cool flexibility when
we talk about layer 3 VPNs in the next skill.
But for now, we're just forwarding based on labels. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
But for now, we're just forwarding based on labels.
And this path, once it's established,
is referred to as an LSP, a label switching path.
And each of these routers that are participating
in label switching, they're referred to as an LSR,
a label switching router.
So those are some acronyms and terms
that we are going to see as we start getting a closer
look and some hands-on practice in configuring and working
with MPLS, Multiprotocol Label Switching.
And here are the key takeaways from this introductory video
on MPLS. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
on MPLS.
With MPLS, we are enabling the MPLS feature.
Routers are going to take all their routes
and create a local label of their own choice associated
with each of those routes.
They're going to share those labels for those routes
with their peers.
And then all that information is cached
on the respective devices.
So when a packet comes in, if labels
are imposed on that packet, the next device
in the path who sees that label knows
exactly how to swap it and forward the packet.
And it never has to look at or touch the layer 3 information
because it's doing forwarding based on the label information. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
because it's doing forwarding based on the label information.
And it doesn't have to look at the IP header information.
So that's the basic concept of MPLS, Multiprotocol Label
Switching.
And in the next video, I'd like to walk you
through step by step on implementing it,
which is two commands-- global config
and interface config MPLS IP and poof, it's enabled.
But I'd also like to go ahead and use
the opportunity in the next video and lab
to walk you through step by step the labels that
are being created so you can see it firsthand, and also walk you
through the decision process as they WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
through the decision process as they
build the LSPs, the label switching paths,
through the network.
So again, this is a warm-up exercise
for what we're about to see.
And I'll see you in that next video in just a moment.
Meanwhile, I hope this has been informative for you.
And I'd like to thank you for viewing.