Well, an important part of going through this course is going to be to log in
and perform
some labs.
And so we are going to be doing that here in this skill later on, where we're
taking a
look at the lab that we have access to.
We're going to be given access to quite a few routers, but in the end, we're
really
only going to use one of them.
And so we're going to spend our time here on router one looking at our MQC
configuration.
So we're here to talk about class maps to start with.
And so what we can do is do a config T and use this class dash map command. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
And so what we can do is do a config T and use this class dash map command.
Now when we do a question mark here, we're going to see that we can specify
again that
match all or that match any.
And depending on the platform we're looking at, there might be different types
of class
maps.
This is especially true on the more modern platforms and Nexus switches.
But traditionally on iOS, we don't have to specify a type here when we're just
talking
about quality of service.
The reality is that Cisco uses MQC for a lot of different functions now in
their modern
OS's. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
OS's.
And again, that's especially true when we look at Nexus switches and the like,
but rest assured
when we are configuring class maps on classic iOS XE, I say classic iOS XE, but
not Nexus
and not some of these other platforms, then the only thing we really need to
worry about
is whether to add match all or match any.
And technically even that is not required because it'll take our match all as a
default, which
is not necessarily what we want by the way.
So let's go and configure a class map.
We'll call this class map DSCP E F so I can just specify the class map name WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
We'll call this class map DSCP E F so I can just specify the class map name
here and
hit enter.
Now remember, I'm not defining an entire policy.
I'm just defining a single queue.
So it goes into this queue.
Well, I'm going to use the match command to do this.
So I can use match and then clarify specify a COS value.
I could specify DSCP.
I could specify an again, an access control list in here using the access group
command.
Cisco actually gives us a lot of options here. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
Cisco actually gives us a lot of options here.
We can even do things like input interfaces.
And yes, we can even put a class map inside of a class map.
We're not going to get into any of those kinds of situations.
For the most part, we're just going to be focusing in on QOS tags.
So we want to say match DSCP.
Do my question mark and we'll see all of those per hot behaviors we talked
about.
The 12 different assured forwarding values from one one all the way up to four
three.
Our class selectors that we talked about as well CS, we can use default to
specify when WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
specify when
we're not using a tag.
It's all zeros at that point and E F, which is kind of a big one.
Now if we really wanted to, we could just specify the decimal value of any one
of those
per hot behaviors or for that matter, any of the 64 values that we could use
there.
But for the most part, we're going to stick with our per hot behaviors.
So let's go ahead and specify E F. We called this class map DSCP underscore E F
. So we're
just going to say match DSCP.
E F. Now there's nothing that I can do here to apply policy like bandwidth WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
E F. Now there's nothing that I can do here to apply policy like bandwidth
reservations,
priority.
Again, all of that's going to come later for now.
I'm just defining what traffic goes into this queue.
I could do some other options here.
If I do a question mark, well, on this platform, we don't actually have any
other options.
We don't need to worry about that here.
So we're just going to say exit and I've created my class.
So what else?
Well, I can do class map and create the other queue.
So now let's say I do DSCP something like A F for X. So I want to put all of WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So now let's say I do DSCP something like A F for X. So I want to put all of
the assured
forwarding class fours into the same queue.
All right.
Well, that's great.
I can say match DSCP and do my question mark and see what my options are here.
If I want to match all of my AFs, then they're going to be our F4s rather than
they're going
to be right there.
So I can say A F 41, but check this out.
If I do a question mark, I can just keep adding more tags.
So I could say A F 42 and A F 43 all in the same line, or I could specify them
on different
lines. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
lines.
Anyway, when I now exit out of this and say do show class map, we'll notice
something
interesting.
So first of all, we have the class map match all DSCP F. So tells us our match
parameters,
including the decimal value by the way of our DSCP that we specified.
So that's kind of cool.
But notice a problem here.
First of all, we did specify our A F 4 X and we've got the different A F 4 WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
First of all, we did specify our A F 4 X and we've got the different A F 4
values in here
and that's great.
But notice that it defaults to match all.
I did not specify a match all or match any.
And I mentioned earlier, the default is match all.
Well, as we joked earlier, can we match three different tags all at the same
time in the
answers?
No, we cannot match three different tags.
We must match only one tag at a time because that's the only number of tags a
packet can
have.
So we're never going to match any traffic if we leave it like that.
So we're going to have to do now is override that behavior. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So we're going to have to do now is override that behavior.
And fortunately, Cisco allows us to do this with the class map command again,
this time
specifying match any and then DSCP F 4 X.
It's the exact same name.
And now if I do my show class map, which is a great command, by the way, to
validate
our configurations, we see that just by entering in the match any statement
right here and
going into our class map config that it has changed it to a match any.
So that's absolutely something we're going to need to pay attention to when it WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So that's absolutely something we're going to need to pay attention to when it
comes
to our MQC configuration.
Now the other thing in this show class map command that's worth noting is I
only created
two class maps.
I created DSCP AF 4 X.
I created DSCP EF.
I did not create class default.
Well as we mentioned, class default is a system configured class map.
And so if I try to configure that here with class map, class default, it's
going to suggest
that I try something else. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
that I try something else.
And so what's happening here is when we configure a policy maps, again, there's
always there
has to be at least one queue in a policy map.
And that queue has to be able to catch everything else that comes that isn't
matched by other
queues.
So that is going to be our class default.
Basically that's where we're going to place our untagged or DSCP 0 types of
packets.
But technically it's a catch all.
It's going to catch anything that isn't matched by any of the other queues,
which is why it's
a requirement. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
a requirement.
If packets aren't matched by the three or four queues that we configure, well
it's
got to go somewhere and that is the queue where it's going to go.
So I can't configure that with a class map command, but we will see that we
apply policy
to it coming up here with policy maps.
So in the mirror we could just configure more class maps.
I could say class map and again match any and we could make one for AF3Xs.
So match any again.
So that was important.
And then we'll do match DSCP AF31, AF32, AF33. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
And then we'll do match DSCP AF31, AF32, AF33.
We could do this for AF2X, AF1X traffic.
But really outside of that there's not a whole lot to creating the queues.
It's just mainly understanding what we're accomplishing here.
We are creating queues.
We are creating the match statements, understanding the different options that
we have available
can really help with real world configurations.
But within the context of what we're learning here, we're really going to be
focusing in
on matching specific DSCP and COS tags. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
on matching specific DSCP and COS tags.